Скачиваний:
25
Добавлен:
15.09.2014
Размер:
2.81 Кб
Скачать
Рассмотрим команды операций. Существуют три типа команд операций:
* Маскирование запросов прерывания.
* Команды обработки конца прерывания.
* Опрос регистров и специальное маскирование.
Байты команды маскирования запросов прерывания выводятся соответственно в порты 21h и A1h для первого и второго контроллера 8259 компьютера AT. Команды операций второго и третьего типа используют порты с адресами 20h и A0h.
Команды обработки конца прерывания приведем в виде таблицы:
Биты байта команды Описание
D7 D6 D5 D4 D3 D2 D1 D0
0 0 1 0 0 0 0 0 Обычный конец прерывания.
0 1 1 0 0 B2 B1 B0 Специальный конец прерывания,
B0...B2 - двоично-десятичный код
сбрасываемого разряда в регистре
обслуживания прерывания ISR.
1 0 1 0 0 X X X Циклический сдвиг уровней приоритета с
обычным концом прерывания.
Дно приоритетного кольца
устанавливается по обслуженному запросу.
1 1 1 0 0 B2 B1 B0 Циклический сдвиг уровней приоритета
со специальным концом прерывания,
B0...B2 - двоично-десятичный код дна
приоритетного кольца.
1 0 0 0 0 X X X Разрешение вращения уровней приоритета.
0 0 0 0 0 X X X Сброс разрешения вращения уровней
приоритета.
1 1 0 0 0 B2 B1 B0 Циклический сдвиг уровней приоритета
без завершения прерывания,
B0...B2 - двоично-десятичный код дна
приоритетного кольца

После выполнения команд разрешения чтения регистров ISR или IRR при выполнении команды ввода из порта 20h и A0h считывается соответственно содержимое регистров ISR и IRR. Для получения содержимого регистра IMR необходимо выполнить чтение портов с адресами соответственно 21h и A1h.

Команда разрешения триггера специального маскирования блокирует действие тех разрядов ISR, которые замаскированы командой типа 1 (маскирования индивидуальных приоритетных уровней запроса прерывания). Специальное маскирование используется для обслуживания такого запроса, который блокируется старшим или равным по уровню приоритета обслуженным запросом, хранящимся в ISR, не сбрасывая последний.

Чтение регистров ISR и IRR может использоваться резидентными программами при проверке возможности своей активизации - можно проверить, не выполняется ли в настоящий момент обработка какого-нибудь прерывания, которая может конфликтовать с действиями резидентной программы.
Соседние файлы в папке Shpora