中断向量表
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中断向量
INT TYPE FUNCTION I/O ADDR
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 中断