пришлось воспользоваться ломом
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено 3m 08 января 2005 г. 23:47
В ответ на: достаточно (a * 27573L) >> 16 отправлено Сергей Борщ 08 января 2005 г. 21:18

+++(a * 27573L) >> 16
это работает исправно, но оно вызывает ?Mul32, что дает оверхед под 30 байт (нафиг не нужный в данном случае), на код без слез смореть невозможно.

Пришлось воспользоваться ломом. Сделал так:


main.c:
extern int mul_hi(int a, int b);
...
result=mul_hi(a, 27534);
...

===
asmfunc.s43:
...
PUBLIC mul_hi
mul_hi: call #?Mul16
mov r13,r12
ret
===


мля, без асма никуда :(

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru