Assembler для начинающих


Прерывания - часть 2


    команды, но следующую уже проигнорирует.  Вместо ее выполнения про-
    цессор действует так, как будто следующая команда была вызовом про-
    цедуры.  Он сохраняет адрес очередной команды в стеке и переходит в
    специальную процедуру, которую называют программой обработки
    прерываний.  Эта процедура содержит команды для работы с вызвавшим
    прерывание устройством.  В случае с клавиатурой программа обработки
    прерывания считывает символ и сохраняет его для дальнейшего
    использования.  После того как она закончит работу с устройством,
    происходит возврат в точку прерывания.  Процессор извлекает из
    стека адрес возврата и продолжает выполнение программы как будто
    ничего не случилось.
 
      Поскольку прерывание вызывается внешним устройством, оно может
    произойти в любой момент выполнения программы.  Программа не может
    предпринять каких-либо действий чтобы подготовиться к прерыванию,
    так как не может предвидеть, когда пользователь нажмет на клавишу
    клавиатуры.  Отсюда следует, что прерывание не должно изменять
    данные в прерываемой программе.  Если прерывание иозменит
    какое-либо значение в программе, то она не сможет нормально
    работать когда к ней вернется управление.
 
      В ходе прерывания 8088 автоматически сохраняет некоторые уста-
    новленные программой значения в стек.  В свою очередь, программа
    обработки прерываний отвечает за сохранение любых других данных,
    которые она может изменить во время своего выполнения.  Эти данные
    обычно сохраняются в стеке.  Затем, перед возвращением управления в
    прерванную программу, программа обработки прерывания должна вернуть
    измененным данным те значения, которые они имели в момент
    прерывания.  Факт возникновения прерывания должен остаться
    "невидимым" для выполняемой программы.
 
      Поскольку сигнал прерывания могут посылать процессору многие
    устройстваэ, 8088 имеет механизм ориентации прерываний.  Это озна-
    чет, что 8088 определяет, какое устройство вызвало прерывание и пе-



- Начало -  - Назад -  - Вперед -



Книжный магазин