中断向量表

中断向量:是指中断服务程序入口地址的偏移量与段基值,一个中断向量占据4字节空间。中断向量表是8088系统内存中最低端1K字节空间,它的作用就是按照中断类型号从小到大的顺序存储对应的中断向量,总共存储256个中断向量。在中断响应过程中,CPU通过从接口电路获取的中断类型号(中断向量号)计算对应中断向量在表中的位置,并从中断向量表中获取中断向量,将程序流程转向中断服务程序的入口地址。

80x86系统是把所有的中断向量集中起来,按中断类型号从小到大的顺序存放到存储器的某一区域内,这个存放中断向量的存储区叫做中断向量表,即中断服务程序入口地址表。
由于中断向量表可以在操作系统层面灵活修改,因此,不同的系统的中断向量表可能是不同的。此外,intel在CPU的保护模式下,占用了0x00 ~ 0x1F共32个中断号,在Linux下,是从0x20开始用于系统自身的中断的,包括8259芯片的中断重置。
BIOS(实模式)的中断向量表如下:

80x86中断向量

I/O ADDR
INT TYPE(16进制)
FUNCTION
00 ~ 03
0
除法溢出中断
04 ~ 07
1
单步(用于DEBUG)
08 ~ 0B
2
非屏蔽中断(NMI)
0C ~ 0F
3
断点中断(用于DEBUG)
10 ~ 13
4
溢出中断
14 ~ 17
5
打印屏幕
18 ~ 1F
6/7
保留

8259主片中断向量

I/O ADDR
INT TYPE(16进制)
FUNCTION
20 ~ 23
8
定时器(IRQ0)
24 ~ 27
9
键盘(IRQ1)
28 ~ 2B
A
彩色/图形(IRQ2)
2C ~ 2F
B
串行通信COM2(IRQ3)
30 ~ 33
C
串行通信COM1(IRQ4)
34 ~ 37
D
LPT2控制器中断(IRQ5)
38 ~ 3B
E
磁盘控制器中断(IRQ6)
3C ~ 3F
F
LPT1控制器中断(IRQ7)

BIOS中断向量

I/O ADDR
INT TYPE(16进制)
FUNCTION
40 ~43
10
视频显示 I/O
44 ~ 47
11
设备检验
48 ~ 4B
12
测定存储器容量
4C ~ 4F
13
磁盘 I/O
50 ~ 53
14
RS-232 串行口 I/O
54 ~ 57
15
系统描述表指针
58 ~ 5B
16
键盘 I/O
5C ~ 5F
17
打印机 I/O
60 ~ 63
18
ROM BASIC 入口代码
64 ~ 67
19
引导装入程序
68 ~ 6B
1A
日时钟

提供给用户的中断

I/O ADDR
INT TYPE(16进制)
FUNCTION
6C ~ 6F
1B
Ctrl - Break 控制的软中断
70 ~ 73
1C
定时器控制的软中断
74 ~ 77
1D
视频参数块
78 ~ 7B
1E
软盘参数块
7C ~ 7F
1F
图形字符扩展码
在DOS系统(实模式)下,从0x20开始,用于操作系统本身。

DOS中断向量

I/O ADDR
INT TYPE(16进制)
FUNCTION
80 ~ 83
20
DOS 中断返回
84 ~ 87
21
DOS 系统功能调用
88 ~ 8B
22
程序中止时 DOS 返回地址(用户不能直接调用)
8C ~ 8F
23
Ctrl - Break 处理地址(用户不能直接调用)
90 ~ 93
24
严重错误处理(用户不能直接调用)
94 ~ 97
25
绝对磁盘读功能
98 ~ 9B
26
绝对磁盘写功能
9C ~ 9F
27
终止并驻留程序
A0 ~ A3
28
DOS安全使用
A4 ~ A7
29
快速写字符
A8 ~ AB
2A
Microsoft 网络接口
B8 ~ BB
2E
基本 SHELL 程序装入
BC ~ BF
2F
多路服务中断
CC ~ CF
33
鼠标中断
104 ~ 107
41
硬盘参数块
118 ~ 11B
46
第二硬盘参数块
11C ~ 3FF
47 ~ FF
BASIC 中断
posted @ 2015-02-12 16:38  AnswerCard  阅读(4549)  评论(0编辑  收藏  举报