|
Во вторых общий бит разрешения прерываний (EA)должен быть установлен
Setb EA
...
Далее в теле программы:
Jnb RI, NEXT
Clr RI ;
Setb ES
Setb RI
...
...
;Где-то здесь сработает система прерываний и будет выполнен переход
; на процедуру обработки
...
NEXT:
...
В процедуре прерывания
Clr RI
Clr ES
...
...
;сама обработка
...
...
RETI
В третьих. При входе в прерывание блокируется система прерывания по текущему приоритету. Так же как выполнение запрета прерываний (сброс EA), но только для того уровня приоритета, которому соответствует данное прерывание. (Прерывания более высокого приоритета будут выполняться.) По окончании обработки прерывания выполняется команда RETI. Эта команда выполняется точно так же, как и RET, но при этом еще и разблокирует систему прерываний по текущему уровню приоритета.
С этого момента могут обрабатываться другие,уже поступившие (до выполнения команды RETI) прерывания согласно их естественного приоритета. Правда прерывания будут восприниматься после того, как вслед за командой RETI выполнится еще одна команда прерванного участка программы.
E-mail: info@telesys.ru