подскажите, пожалуйста, как можно запретить сохранение регистров при вызове прерываний??
Obam
Jun 22 2015, 07:15
Цитата(_ua @ Jun 21 2015, 20:02)
подскажите, пожалуйста, как можно запретить сохранение регистров при вызове прерываний??
Архитектуру уточните. У cortex-m, к примеру, никак.
Kabdim
Jun 22 2015, 14:32
Для gcc: __attribute__ ((interrupt ("IRQ"))) По логике атрбут выше позволяет компилятору сократить преамбулу и не сохранять второй раз то что уже сохранено. Но сейчас заглянл и не увидел разницы в преамбулах. Регистры в первый раз сохраняются аппаратно, а затем еще часть кодом сделаным компилятором.
_ua
Jun 23 2015, 07:57
Цитата(Obam @ Jun 22 2015, 10:15)
Архитектуру уточните. У cortex-m, к примеру, никак.
AVR
kolobok0
Jun 23 2015, 18:47
Цитата(_ua @ Jun 23 2015, 10:57)
AVR
может быть Вы имеете ввиду адрес возврата? Только он сохраняется на стэке. Всё остальное ручками(азм).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.