8086中断向量

通俗易懂,留着复习用

8086共有2^8=256个不同的中断源,每一个中断源都有唯一的一个中断识别号,即中断类型码。

每一个中断类型码对应着一个中断向量,本质上来说中断向量就是中断服务子程序的唯一确定的一个入口地址,这个地址由中断服务子程序的段地址CS和偏移地址IP组成,共占内存4B(CS、IP均为16位,分别占两个字节)。中断向量的入口地址按照中断类型码的顺序存放在一段连续排列的存储区域内,这个存储区域就称为中断向量表。

8086的中断向量表占用了256*4=1KB的地址空间(00000H~003FFH),故8086的中断向量表位的起始地址为00000H,在微机系统初始化的时候,系统将中断源(0~255)的中断服务子程序的入口地址(即中断向量)按顺序填写在中断向量表中。

其中,中断向量类型码为n的中断向量在表中的逻辑地址为0000:4n。这里需要补充一个知识点:

逻辑地址=段地址:偏移地址

物理地址=段地址*10H+偏移地址    (7018H*10H=70180H)

逻辑地址中的4n即该中断向量在表中的存放地址(00000H~003FFH)。

在某度看到了这张表,是我认为最直接最清晰的表了,如下:

 

中断向量的存放方式:低地址的两字节存放中断服务子程序入口地址的偏移地址IP,高地址的两字节存放入口地址的段基址CS。

IP、CS地址具体存放方式:高八位放高地址,低八位放低地址。(地址编号大的为高地址,反之低地址,如0000H~003FFH依次从低地址到高地址)

再补充个知识点:高、低字节 &大小端模式

大端、小端说明的是数据的组织方式。

低字节放在高地址,高字节放在低地址称为大端模式,

高字节放在高地址,低字节放在低地址称为小端模式。

eg.一个十六进制的数FF1A,高字节是FF,低字节是1A。

总结来说就是左边是高字节,右边是低字节

8086系统的数据组织方式属于小端模式。

来看个例题:

8086中,中断类型码为 18H 的中断向量存放在内存中的 4 个字节单元中,其中的字节单元内容从低字节到高字节依次为 1AH、2BH、3CH、4DH, 则 18H 号中断服务程序入口地址是多少? 

4D3C:2B1A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值