[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено kws 25 сентября 2001 г. 10:13
В ответ на: 80с196кс - неужели Intel так х...во (плохо) сделал контроллер прерываний отправлено vlad_ 25 сентября 2001 г. 09:56

команда PUSHA, идущая в "шапке" обработчика прерываний убирает в стек PSW, WSR и регистры масок прерываний, при этом регистры масок и PSW ОБНУЛЯЮТСЯ. Сами же флаги прерываний (регистры INT_PEND&INT_PEND1) не обнуляются! Если Вы хотите разрешить вложенные прерывания вам необходимо в обработчике помимо глобального разрешения прерываний (команда EI) разрешать и отдельные прерывания через регистры масок INT_MASK&INT_MASK1

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru