Каждое прерывание имеет номер из диапазона 00h – FFh. Адрес процедуры обработки прерывания номер n определяется из таблицы, находящейся в начале памяти. Прерыванию номер n соответствует 4 байта из этой таблицы, находящейся по адресу 4n. Первое слово содержит смещение адреса процедуры обработки прерывания, а второе слово – сегмент. Эти 4 байта называются вектором прерывания.
Наиболее важные прерывания перечислены в следующей таблице:
Таблица 7.2
Вектора прерываний
Номер прерывания |
Адрес вектора прерывания |
Назначение |
Команда |
1 |
2 |
3 |
4 |
00h |
0000h |
Попытка деления на 0 |
DIV, IDIV |
01h |
0004h |
Пошаговое выполнение программы |
Любая |
02h |
0008h |
Немаскируемое прерывание (NMI) |
|
03h |
000Ch |
Останов. Используется для задания точек прерывания в программах |
int 3 |
04h |
0010h |
Переполнение. Генерируется, когда арифметическая операция приводит к переполнению |
INTO после арифметической команды |
|
|
|
|
05h |
0014h |
Контроль границ массива (или печать экрана) |
BOUND |
06h |
0018h |
Неверный код команды |
|
07h |
001Ch |
Сопроцессор отсутствует |
ESC, WAIT |
08h |
0020h |
Вектор прерывания слишком велик (или микросхема таймера) |
INT |
09h |
0024h |
Клавиатура |
|
0Eh |
0038h |
Сигнализирует о завершении какой-либо операции на дискете |
|
0Fh |
003Ch |
Используется для управления печатью |
|
10h |
0040h |
Функции ROM BIOS для видеодисплея |
int 10h |
11h |
0044h |
Функции ROM BIOS по выдаче списка оборудования |
int 11h |
12h |
0048h |
Функции ROM BIOS, определяющие размер памяти |
int 12h |
13h |
004Ch |
Функции ROM BIOS для диска |
int 13h |
14h |
0050h |
Функции ROM BIOS для связи |
int 14h |
15h |
0054h |
Системные функции ROM BIOS |
int 15h |
16h |
0058h |
Функции ROM BIOS для клавиатуры |
int 16h |
17h |
005Ch |
Функции ROM BIOS для печати |
int 17h |
19h |
0064h |
Стартовая программа начальной загрузки |
int 19h |
1Ah |
0068h |
Функции ROM BIOS для определения даты и времени |
int 1Ah |
1Bh |
006Ch |
Прерывание ROM BIOS, вызываемое нажатием клавиш Ctrl/Break |
|
1Ch |
0070h |
Прерывание, генерируемое при каждом тиканьи часов |
|
20h |
0080h |
Завершение работы программы |
int 20h |
21h |
0084h |
Функции DOS |
int 21h |
25h |
0094h |
Функции DOS для чтения данных с диска |
int 25h |
26h |
0098h |
Функции DOS для записи данных на диск |
int 26h |
27h |
009Ch |
Оставляет программу в памяти |
int 27h |