Особенности построения процедур обработки прерываний
Процедуры обработки прерывания имеют некоторую специфику по сравнению с обычными процедурами. Поскольку обработка прерывания выполняется в случайные моменты времени по отношению к основной программе, в начале процедуры обработки прерывания следует сохранить в стеке содержимое тех регистров процессора, которые используются в данной процедуре. Эти действия можно выполнить при помощи нескольких команд PUSH <регистр>. В конце процедуры должно быть восстановлено содержимое регистров путем использования команд POP <регистр>.
Как правило, аппаратные схемы процессора блокируют вложенную обработку одного и того же прерывания. Для снятия блокировки обработанного прерывания рекомендуется завершать процедуры обработки специальной командой возврата (RETIили IRET в разных моделях МП). Вопросы, связанные с проектированием системы обработки прерываний и некоторыми особенностями обработки прерываний в специализированных вычислителях, будут подробнее рассмотрены далее.
|