"Роберт Джордайн. Справочное пособие программиста - 2 (ассемблер, операционная система MS DOS)" - читать интересную книгу автораветствующим уровням обозначаются сокращениями от IRQ0 до IRQ7 (от
IRQ0 до IRQ15), что означает запрос на прерывание. Максимальный приоритет соответствует уровню 0. Добавочные 8 уровней для AT обрабатываются второй микросхемой 8259; этот второй набор уровней имеет приоритет между IRQ2 и IRQ3. Запросы на прерывание 0-7 соответствуют векторам прерываний от 8H до 0FH; для AT запросы на прерывания 8-15 обслуживаются векторами от 70H до 77H. Ниже при- ведены назначения этих прерываний: Аппаратные прерывания в порядке приоритета. IRQ 0 таймер 1 клавиатура 2 канал ввода/вывода 3 COM1 (COM2 для AT) 4 COM2 (модем для PCjr, COM1 для AT) 5 фиксированный диск (LPT2 для AT) 6 контроллер дискет 7 LPT1 8 часы реального времени (только AT) 9 программно переводятся в IRQ2 (только AT) 10 резерв 11 резерв 12 резерв 13 мат. сопроцессор (только AT) 15 резерв Прерыванию времени суток [2.1.0] дан максимальный приоритет, поскольку если оно будет постоянно теряться, то будут неверными показания системных часов. Прерывание от клавиатуры [3.1.0] вызы- вается при нажатии или отпускании клавиши; оно вызывает цепь событий, которая обычно заканчивается тем, что код клавиши поме- щается в буфер клавиатуры (откуда он затем может быть получен программными прерываниями). Микросхема 8259 имеет три однобайтных регистра, которые управ- ляют восемью линиями аппаратных прерываний. Регистр запроса на прерывание (IRR) устанавливает соответствующий бит, когда линия прерывания сигнализирует о запросе. Затем микросхема автоматичес- ки проверяет не обрабатывается ли другое прерывание. При этом она запрашивает информацию регистра обслуживания (ISR). Дополнитель- ная цепь отвечает за схему приоритетов. Наконец, перед вызовом прерывания, проверяется регистр маски прерываний (IMR), чтобы узнать разрешено ли в данный момент прерывание данного уровня. Как правило программисты обращаются только к регистру маски пре- рываний через порт 21H [1.2.2] и командному регистру прерываний через порт 20H [1.2.3]. .h3 1.2.2 Запрет/разрешение отдельных аппаратных прерываний. |
|
|