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



         

Клавиатура - часть 4


    килобайте памяти. IBM PC отображает восемь уровней прерывания
    контроллера 8259 на вектора прерываний от 8 до 0FH включительно.
    Так, если поступает прерывание от клавиатуры (уровень 1),
    начинается выполнение программы по адресу CS:IP, определенному
    двойным словом в векторе прерываний 9, лежащему по адресам от 24H
    до 27H.
 
      Давайте посмотрим, как все это вместе происходит в IBM PC.
    Сначала процедура самопроверки при включении питания (POST)
    инициализирует контроллер 8259 с соответствующей управляющей и
    упорядочивающей информацией. В это же время процедура POST снимает
    маску прерываний от таймера, клавиатуры, а также прерываний от
    дискет в регистре маски прерываний микросхемы 8259. После
    завершения процедуры POST включается система прерываний по команде
    STI. Теперь система готова к приему прерываний.
 
      Вы нажимаете клавишу на клавиатуре. Клавиатура посылает символ
    в системную плату, где он записывается в регистр и возбуждает
    прерывание уровня 1. Далее начинает работу микросхема 8259. Она
    устанавливает бит 1 в регистре IRR, отмечая запрос на прерывание.
    Если не установлены ни нулевой, ни первый биты регистра ISR,
    показывающие обслуживание прерывания с более высоким приоритетом,
    контроллер возбуждает вход прерывания микропроцессора 8088. Когда
    микропроцессор окажется готов к приему прерывания, он выполнит цикл
    подтверждения прерывания. Микропроцессор 8088 поместит в стек
    текущее содержимое регистра флагов, CS и IP. Контроллер 8259
    отвечает на цикл подтверждения прерывания номером прерывания, в
    данном случае это 9; затем контроллер установит равным единице бит
    1 в регистре ISR, показывая, что прерывание 1 обслуживается. Тем
    временем микропроцессор 8088 загружает пару регистров CS:IP из
    ячеек 24H- 27H и начинает работу с указанного в них адреса.
 
      Затем микропроцессор выполняет программу обработки прерываний
    от клавиатуры. На Фиг. 8.4 показана схема обработчика прерывания от



Содержание  Назад  Вперед