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

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

Отправлено albor 15 декабря 2004 г. 14:31

Я тут решил соптимизировать прерывание и поместил пару переменных при помощи __regvar в R6 и R7. но легче не стало, теперь строчка
setka<<=1
компилится в
MOV R16,R7
ADD R16,R16
MOV R7,R16
что не сильно короче чем было :-(
Ладно, делаю ассемблерную вставку:
asm ("ADD R7,R7 \n");
Теперь все как-бы хорошо (не считая того, что я не могу использовать имя переменной в ассемблере) но теперь эта зараза стала при входе в прерывание класть на стек ВСЕ регистры так, на всякий случай, в результате прога стала еще длинее чем была.
Вопрос: это как-то лечится гуманными способами без переписывания всего проекта на асм?

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

Ответы



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

E-mail: info@telesys.ru