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