资源描述
中断向量表
中断向量:向量就是确定确切位置的含义,中断向量的含义就是可以确定中断服务程序位置,也就是中断向量就是中断服务程序的首地址。中断服务程序的首地址,需要4个内存空间存储。
中断类型码:我们把每个中断服务程序进行编号,这个号就代表一个中断服务程序,这个号就是终端类型码。这个中断类型码是计算机用来查找中断向量用的。
中断向量表:存放所有的中断向量的地址空间。也就说中断向量表是一片内存空间,是一片专门用来存放中断向量的内存空间.中断向量表在内存单元的最低处,地址空间为00000H----003FFH(0-1024B),这个正好可以和终端类型码有一种对应的关系,也就是说终端类型码*4就等于这个中断向量的首地址。
下面讲重点:
中断向量表属于内存中的RAM类型,就是说断电就没有内容了,那么再次开机的时候,它是怎么形成的呢?开机的时候,BIOS程序控制的电脑,BIOS程序将基本的中断程序的首地址填写到相应的中断向量表中,当DOS得到系统控制权的时候,它又向中断向量表中填写一些中断向量,同时,还会修改BIOS填写的一些中断向量(驱动程序的升级,这也是为什么我把这篇文章写在这的原因),当然,用户也可以更改和完善系统已有的中断向量。
中断向量表
1、 8088/8086中断向量表的作用是什么?
【答】中断向量是中断服务程序的入口地址.将所有中断向量集中放在一起,形成中断向量表.8086系统有256个类型的中断源。每个类型对应一个中断向量,一个中断向量由四个字节组成:2个高地址字节:存放中断服务程序的代码段的段值;2个低地址字节:存放中断服务程序的偏移地址.中断向量表放在内存的地段地址0单元开始的单元:00000H~03FFFH.
2、 什么叫中断向量?它放在哪里?对应于1CH的中断向量在哪里?如1CH中断程序从5110H:2030H开始,则中断向量应怎样存放?
【答】中断向量是中断处理子程序的入口地址,它放在中断向量表中,由1ch*4=70h知中断向量存放在0000:0070处。由于中断处理入口地址为5110:2030所以0070H,0071H,0072H,0073H这四个单元的值分别为30H,20H,10H,51H。
3、 叙述可屏蔽中断的响应过程,一个可屏蔽中断或者非屏蔽中断响应后,堆栈顶部四个单元中是什么内容?
【答】当CPU在INTR引脚上接受一个高电平的中断请求信号并且当前的中断允许标志为1,CPU就会在当前指令执行完后开始响应外部的中断请求,具体如下:
1、 从数据总线上读取外设送来的中断类型码,将其存入内部暂存器中;
2、 将标志寄存器的值推入堆栈;
3、 将标志寄存器中IF和TF清零;
4、 将断点保护到堆栈中;
5、 根据中断类型获取中断向量转入中断处理子程序;
6、 处理完后恢复现场。
响应后堆栈的顶部4个单元是IP,CS。
4、从8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,应该选择在什么范围?
【答】从8086/8088的中断向量表中可以看出,由于系统占用了部分中断类型码,主要包括:
(1)专用中断:0~4,占中断向量表000~013H。
(2)系统备用中断:5~31H
(3)用户使用中断:32H~0FFH
如果一个用户想定义一个中断,可以选择中断类型码32H-FFH,其中断向量在中断向量表的0C8H—01BFH。
80x86中断向量
I/O ADDR
INT TYPE
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
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
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
FUNCTION
6C ~ 6F
1B
Ctrl - Break 控制的软中断
70 ~ 73
1C
定时器控制的软中断
参数表指针
I/O ADDR
INT TYPE
FUNCTION
74 ~ 77
1D
视频参数块
78 ~ 7B
1E
软盘参数块
7C ~ 7F
1F
图形字符扩展码
DOS中断向量
I/O ADDR
INT TYPE
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 中断
展开阅读全文