ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
20 мая
27088
Ксения (23.04.2005 00:54, просмотров: 3473)
Зачем сохраняют состояние в обработчике прерывания? Компилирование AVR Compiler любого обработчика прерывания __interrupt void TIMER1_OVF( void ) { ... } приводит в общем случае в следующему коду: TIMER1_OVF: ST -Y,R17 // сохраняет старое значение R17 в стеке IN R17,0x3F // копирует РЕГИСТР СОСТОЯНИЯ в R17 ... OUT 0x3F,R17 // копирует R17 в РЕГИСТР СОСТОЯНИЯ LD R17,Y+ // возвращает R17 старое значение RETI // возврат из прерываняи Вопросы: Для чего нужны эти манипуляции с сохранением РЕГИСТРА СОСТОЯНИЯ? Являются ли они обязательными? Что может случиться плохого, если этого не делать?