Таблица
ЪДДВДДДВДДВДДДДДДДДДДВДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД¬
¦П ¦ ¦В ¦ ¦ ¦ ¦
¦р ¦ ¦е ¦ ¦ ¦ ¦
¦е ¦ ¦р ¦ ¦ ¦ ¦
¦р ¦AH ¦с.¦ Тип ¦ Английская ¦ Перевод ¦
¦ы ¦ ¦D ¦прерывания¦ мнемоника ¦ ¦
¦в.¦ ¦O ¦ ¦ ¦ ¦
¦ ¦ ¦C ¦ ¦ ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦00¦ - ¦- ¦ Aппарат.,¦ Divide error ¦ переполнение при делении ¦
¦ ¦ ¦ ¦ прерыв. ¦ ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Возникает после выполнения команд деления (DIV или IDIV), если
результат операции деления (частное) не умещается в поле результата, в
частности при делении на 0.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦01¦ - ¦- ¦ Aппарат.,¦ Single-step ¦ пошаговое выполнение программы ¦
¦ ¦ ¦ ¦ прерыв. ¦ ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Если установлен флаг трассировки процессора (TF=1), CPU вызывает
это прерывание после каждой команды. Некоторые вирусы используют
пошаговое выполнение программы, используют это прерывание, чтобы
определить адрес прерываний и обойти резидентные средства защиты.
Трассировка отключается (TF=0) при выполнении любой команды INT, так что
само INT 01H выполняется не в пошаговом режиме.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦02¦ - ¦- ¦ Aппарат.,¦ NMI ¦ Non-maskable interrupt ¦
¦ ¦ ¦ ¦ прерыв. ¦ ¦ (немаскируемое прерывание). ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Немаскируемое прерывание (NMI) - это единственное прерывание, не
запрещаемое командой CLI. Поэтому его можно использовать в специальных
случаях, которые требуют немедленного действия. Это прерывание
спроектировано для обработки катастрофических ситуаций, таких как сбой
питания. В системе, обеспечивающей целостность данных, NMI может,
например, выводить образ памяти на диск с целью избежать потери данных.
В стандартной системе PC BIOS, NMI аппаратно вызывается в случае "ошибки
четности" памяти. Когда это происходит, PC зависает.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦03¦ - ¦- ¦ Указатель¦ 1-Byte ¦ Прерывание по заданному ¦
¦ ¦ ¦ ¦ ¦ interrupt ¦ байту ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Вектор прерывания INT 03H используется отладчиками, чтобы
перехватывать управление, когда программа достигает указанного
пользователем адреса. Код операции для INT 03H занимает один байт
(CCh), так что им можно временно замещать начало любой команды, не
боясь затереть следующую команду.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦04¦ - ¦- ¦ Aппарат. ¦ Overflow ¦ Прерывание по переполнению ¦
¦ ¦ ¦ ¦ прерыв. ¦ ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Вектор INT 04H может использоваться как один из способов оптимизации
программ, содержащих большое число арифметических операций. Выданная
после любой арифметической операции, команда INTO осуществляет провер-
ку на арифметическое переполнение, и, если флаг переполнения взведен
(OF=1), вызывает прерывание INT 04H.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦05¦ - ¦- ¦ Пользов. ¦ Print-screen ¦ Печать экрана (нажатие ¦
¦ ¦ ¦ ¦ прерыв. ¦ ¦ клавиши PrtScr) ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Это прерывание вызывается обработчиком прерывания INT 09H при
распознавании клавиши PrtSc. Оно может также вызываться из программы (в
частности, вируса). Пересылает содержимое экрана активного дисплея
на принтер, если принтер свободен и находится в со стоянии "ГОТОВ".
Операция может быть прекращена по Control-Break
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦08¦ ¦ ¦Aппарат. ¦TIMER TICKS ¦ Прерывание от таймера ¦
¦ ¦ ¦ ¦(8259-1, ¦ ¦ ¦
¦ ¦ ¦ ¦IRQ 0), ¦ ¦ ¦
¦ ¦ ¦ ¦прерыв. ¦ ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Прерывание от основного таймера, контролирующие системные часы и
другие системные ресурсы. Возникает каждые каждые 55мс, или около 18.2
раз в секунду. Имеет наивысший среди маскируемых прерываний приоритет.
Данное прерывание является системным и его главная функция - увеличение
значения 32 битового счетчика системных часов. Кроме того это прерывание
выключает мотор флоппи диска, если он не используется в течении 2-х
секунд. Имеется аналогичное пользовательское прерывание 1C (см. ниже).
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦09¦ - ¦- ¦Aппарат. ¦KEYBOARD I/O ¦ Прерывание от клавиатуры ¦
¦ ¦ ¦ ¦(8259-1, ¦ ¦ ¦
¦ ¦ ¦ ¦IRQ 1), ¦ ¦ ¦
¦ ¦ ¦ ¦прерыв. ¦ ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Возникает при нажатии клавиши клавиатуры или их комбинации.
Заносит скан-код клавиши в буфер клавиатуры. При переполнении буфера
выдает на динамик звуковой характерный звуковой сигнал. Некоторые
комбинации нажатий клавиш вызывают специальные действия: Ctrl-Alt_Del -
перезагрузка компьютера путем прехода на по адресу; Print screen -
рассмотрено выше Ctrl-Break - вызывает прерывание1B; Pause - переводит
программу в состояние ожидания до нажатия следующей клавиши
отслеживает состояние клавиш Shift и различных Lock. Резидентные
программы, которые имеют клавишу (или комбинацию клавиш)
для вызова, перехватывают INT 09H и проверяют на определенный ключ.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦ ¦ ¦ ¦ ¦ ¦ ¦
¦0E¦ - ¦- ¦Aппарат. ¦FLOPPY DISK ¦Прерывание от дискеты ¦
¦ ¦ ¦ ¦(8259-1, ¦CONTROLLER ¦ ¦
¦ ¦ ¦ ¦IRQ 6), ¦ ¦ ¦
¦ ¦ ¦ ¦прерыв. ¦ ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Аппаратно генерируемое прерывание (IRQ 6), вызываемое контроллером
флоппи-дисков, используется прерыванием 13H
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦10¦fun¦- ¦ сервис ¦VIDEO DISPLAY ¦ VIDEO ¦
¦ ¦ ¦ ¦ BIOS ¦ SERVICES ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Типичное "пользовательское" прерывание, имеющее подфункции, задаваемые
в регистре AH:
AH Сервис AH Сервис
ЯЯЯ ЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ ЯЯЯ ЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ
00H уст. видео режим 0aH писать символ
01H уст. размер и форму курсора 0bH выбрать палитру/цвет бордюра
02H уст. позицию курсора 0cH писать графическую точку
03H читать позицию курсора 0dH читать графическую точку
04H читать световое перо 0eH писать символ в режиме TTY
05H выбрать активную страницу дисплея 0fH читать видео режим
06H листать окно вверх (или очистить) 10H EGA:уст. палитру
07H листать окно вниз 11H EGA:генератор символов
08H читать символ/атрибут 12H EGA:специальные функции
09H писать символ/атрибут 13H писать строку (только AT + EGA)
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦ ¦ ¦ ¦ ¦ ¦ ¦
¦12¦-- ¦- ¦ сервис ¦ SYSTEM ¦Размер используемой памяти ¦
¦ ¦ ¦ ¦ BIOS ¦ MEMORY SIZE ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Возвращает размер системной памяти в килобайтах в регистре AX
Это значение совпадает с тем, которое которое хранится в ячейке 0:413
(см. карту оперативной памяти а прил.3). Для PC/XT определяется во время
начальной загрузки (POST). Для AT - из CMOS-памяти. Возвращаемое
значение содержит PSP любой программы.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦13¦fun¦- ¦ сервис ¦ DISK ¦ Дисковый ввод-вывод ¦ Reset disk system
¦ ¦ ¦ ¦ BIOS ¦ SERVICES ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Этот сервис предоставляет прямой доступ к адаптерам дискеты и
винчестра. Имеет ряд подфункций ( подфункции > 8 - только для винчестера)
00h сброс контроллера 08h дать парам.диска 10h проверить готовность
01h дать статус 09h иниц табл.парам 11h рекалибрация
02h читать секторы 0Ah длинное чтение 14h диагностика
03h писать секторы 0Bh длинная запись 15h дать тип диска
04h верификация 0Ch искать цилиндр 16h изменить статус
05h форматир дорожку 0Dh альтерн.сброс 17h уст.тип диска
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦14¦fun¦- ¦ сервис ¦ RS-232 SERIAL¦ Ввод-вывод через ¦
¦ ¦ ¦ ¦ BIOS ¦PORTS SERVICES¦ последовательный порт ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Эти функции BIOS предоставляют доступ к двум портам RS-232.
Начиная с 0:0400, хранятся базовые адреса до 4-х последовательных портов,
однако POST проверяет и инициализирует лишь два первых порта.
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦15¦fun¦AT¦ сервис ¦ GENERAL ¦ Расширенный сервис для AT ¦
¦ ¦ ¦ ¦ BIOS ¦ SERVICES ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Прерывание 15h обрабатывает специфические функции AT:
80h Device Open 86h Wait
81h Device Close 87h Move Extended Mem Block
82h Program terminate 88h Get Extended Mem Size
83h Event wait 89h Switch to Virtual Mode
84h Joystick 90h Device Busy Loop
85h SysReq key 91h Finish Interrupt
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё
¦16¦fun¦--¦ сервис ¦ KEYBOARD ¦Сервис клавиатуры ¦
¦ ¦ ¦ ¦ BIOS ¦ SERVICES ¦ ¦
АДДБДДДБДДБДДДДДДДДДДБДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Обеспечивает интерфейс с клавиатурой для прикладной программы.
Нажатия клавиш на самом деле обрабатываются асинхронно на заднем плане.
Когда клавиша получена от клавиатуры, она обрабатывается прерыванием
09h и помещается в циклическую очередь (буфер клавиатуры).
ХННСНННСННСННННННННННСННННННННННННННСННННННННННННННННННННННННННННННННННё