[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Очевидно, при прерывании вам уже не нужно возвращаться в то место программы, откуда выдернули в прерывание? Тогда реализация не сильно сложная. Нужно выкинуть из стека всё, что туда положили в прерывании (и адрес возврата в основную прогу тоже), положить туда адрес перехода и выполнить RETI, (или, как у вас - RTI?). Дело в том, что обычный возврат не сбрасывает определённых настроек контроллера прерываний, и можно ли их будет нивелировать сбросом бит "ручками" - не факт.
E-mail: info@telesys.ru