|
Идея простая:
При влете в прерывание сохраняешь регистры как обычно (обзовем этот массив Context1), и ветвишься по флагам в нужный обработчик.
Если попал в обработчик низкоприоритетного прерывания - копируешь сохраненные регистрые (Context1) в другое место (Context2), запрещаешь это прерывание, разрешаешь глобальные. В конце этого обработчика запрещаешь прерывания и восстанавливаешь регистры из Context2, делаешь retfie.
Если попал в обработчик высокоприоритетного прерывания - выполняешь обработчик и восстанавливаешь регистры из Context1.
E-mail: info@telesys.ru