当前位置: 代码迷 >> 综合 >> 8088/8086中断向量表【转】
  详细解决方案

8088/8086中断向量表【转】

热度:62   发布时间:2023-12-13 08:31:40.0

转自 http://www.info.swust.edu.cn/wjyl/answer/wd/wd8.htm

8.1 8088/8086中断向量表的作用是什么?

【答】中断向量是中断服务程序的入口地址。将所有中断向量集中放在一起,形成中断向量表。8086系统有256个类型的中断源。每个类型对应一个中断向量,一个中断向量由四个字节组成:2个高地址字节:存放中断服务程序的代码段的段值;2个低地址字节:存放中断服务程序的偏移地址。中断向量表放在内存的地段地址0单元开始的单元:00000H~03FFFH。

8.2 什么叫中断向量?它放在哪里?对应于1CH的中断向量在哪里?如1CH中断程序从5110H:2030H开始,则中断向量应怎样存放?

【答】中断向量是中断处理子程序的入口地址,它放在中断向量表中,由1ch*4=70h知中断向量存放在0000:0070处。由于中断处理入口地址为5110:2030所以0070H,0071H,0072H,0073H这四个单元的值分别为30H,20H,10H,51H。

8.4 叙述可屏蔽中断的响应过程,一个可屏蔽中断或者非屏蔽中断响应后,堆栈顶部四个单元中是什么内容?

【答】当CPU在INTR引脚上接受一个高电平的中断请求信号并且当前的中断允许标志为1,CPU就会在当前指令执行完后开始响应外部的中断请求,具体如下:

1、 从数据总线上读取外设送来的中断类型码,将其存入内部暂存器中;

2、 将标志寄存器的值推入堆栈;

3、 将标志寄存器中IF和TF清零;

4、 将断点保护到堆栈中;

5、 根据中断类型获取中断向量转入中断处理子程序;

6、 处理完后恢复现场。

响应后堆栈的顶部4个单元是IP,CS。

8.5 从8086/8088的中断向量表中可以看到,如果一个用户想定义某个中断,应该选择在什么范围?

【答】从8086/8088的中断向量表中可以看出,由于系统占用了部分中断类型码,主要包括:

(1)        专用中断:0~4,占中断向量表000~013H。

(2)        系统备用中断:5~31H

(3)        用户使用中断:32H~0FFH

如果一个用户想定义一个中断,可以选择中断类型码32H-FFH,其中断向量在中断向量表的0C8H-01BFH。