Прерывание по вектору 2. Прерывание может произойти либо при поступлении внешнего сигнала немаскируемого прерывания NMI, либо при выполнении двухбайтовой команды INT 2. Однозначная идентификация возможна только в случае, если аппаратура микропроцессорной системы обеспечивает программно-доступную фиксацию сведений о возникшем немаскируемом прерывании.
Прерывания по векторам 3 и 4. Прерывания могут быть программно однозначно идентифицированы: они происходят либо из-за выполнения однобайтовых инструкций INT 3 и INTO (коды CC и CE соответственно), либо из-за двухбайтовых инструкций INT 3 и INT 4 (коды CD 03 и CD 04 соответственно).
Таким образом, в связи с отсутствием однозначной идентификации при возникновении прерывания его обработчик должен определить конкретную причину возникновения прерывания. В общем случае невозможно точно идентифицировать источник прерывания по векторам 0–2.
11.6. Прерывания BIOS и MS-DOS
Системное программное обеспечение аппаратных компонент ПК находится в ПЗУ, расположенной на системной плате и носит название BIOS (Basic Input-Output System, базовая система ввода-вывода).
Система BIOS выполняет процедуру самопроверки POST, которая активизируется при включении питания или при системном сбросе, проверяет аппаратуру системы и инициализирует для нормальной работы некоторые узлы, а также содержит ряд системных сервисов, например, определения объема памяти, конфигурации внешних устройств, установки даты и времени суток.
Кроме того, BIOS управляет всеми прерываниями. Система BIOS строит таблицу прерываний (инициализирует векторы прерываний), выполняет прерывание INT 11h (получение списка присоединенного оборудования) и INT 12h (запрос размера физической памяти). Подпрограммы обработки прерываний находятся в модуле ПЗУ, в том же, что и процедура POST.
Среди прерываний BIOS для пользователя могут быть полезны функции прерывания 10h (вывод информации на дисплей), 13h (дисковые операции), 14h (обмен данными через последовательный порт), 16h (обмен данными с клавиатурой), 17h (функции вывода на печать), 1Ah (функции времени) и ряд других.
Прерывания в диапазоне от 20h до 27h закреплены за функциями операционной системы MS-DOS (табл. 93). Эти прерывания проще в использовании и менее машинно-зависимы, чем их BIOS аналоги. Например, многие функции прерывания INT 21h не имеют собственной реализации, а только транслируются в один или несколько вызовов функций BIOS. Дополнительную информацию по применению функций можно получить в [2,4,6].
Табл. 93. Прерывания операционной системы MS-DOS.
Do'stlaringiz bilan baham: |