早教吧作业答案频道 -->其他-->
只知道中断类型怎么就能求出中断服务入口地址?中断类型乘4不是中断向量的地址吗?又不是中断向量///书上有个题知道类型是8,直接乘以4就得到偏移地址,而例题中类型是17,又是自
题目详情
只知道中断类型 怎么就能求出中断服务入口地址? 中断类型乘4不是中断向量的地址吗?又不是中断向量///
书上有个题 知道类型是8,直接乘以4就得到偏移地址,而例题中类型是17,又是自己给出中断向量的值,不给值怎么能算呢?不理解
书上有个题 知道类型是8,直接乘以4就得到偏移地址,而例题中类型是17,又是自己给出中断向量的值,不给值怎么能算呢?不理解
▼优质解答
答案和解析
8086系统在存储器的最低1KB区域(00000H~003FFH)建立一个中断向量表,存放256个中断类型的中断向量。这1024个单元被分成256组,每组包括4个字节单元,存储一个中断向量的段基址和段内偏移地址,高2个字节用于存放段基址,低两个字节用于存放段内偏移地址。
在执行某一条INT n指令时,CPU首先对断点和现场进行保护,然后将中断指令中的中断类型号n乘以4,得到一个地址,这个地址就是n号中断服务子程序的入口地址在中断向量表中的存放地址。按照这个地址,取出连续4个字节单元的内容,即n号中断服务子程序入口的段基址(2个字节)和偏移地址(2个字节),送入CS和IP,以实现n号中断调用。
例如,中断类型号为8的中断服务子程序的中断向量为0BA9H:00ABH(对应的物理地址为0BB3BH),已存放于中断向量表的00020H地址开始的连续4个字节单元中,具体的,(00020H)字单元存放00ABH,(00022H)字单元存放0BA9H。当CPU响应类型为8的中断请求时,获取其中断服务子程序入口地址的方法是:首先计算8*4=32=20H,然后从20H地址单元读出一个字信息送入IP,从22H地址单元读出一个字信息送入CS,从而使CS:IP指向逻辑地址0BA9H:00ABH,于是CPU便转去执行从物理地址0BB3BH开始的8号中断服务子程序。
在执行某一条INT n指令时,CPU首先对断点和现场进行保护,然后将中断指令中的中断类型号n乘以4,得到一个地址,这个地址就是n号中断服务子程序的入口地址在中断向量表中的存放地址。按照这个地址,取出连续4个字节单元的内容,即n号中断服务子程序入口的段基址(2个字节)和偏移地址(2个字节),送入CS和IP,以实现n号中断调用。
例如,中断类型号为8的中断服务子程序的中断向量为0BA9H:00ABH(对应的物理地址为0BB3BH),已存放于中断向量表的00020H地址开始的连续4个字节单元中,具体的,(00020H)字单元存放00ABH,(00022H)字单元存放0BA9H。当CPU响应类型为8的中断请求时,获取其中断服务子程序入口地址的方法是:首先计算8*4=32=20H,然后从20H地址单元读出一个字信息送入IP,从22H地址单元读出一个字信息送入CS,从而使CS:IP指向逻辑地址0BA9H:00ABH,于是CPU便转去执行从物理地址0BB3BH开始的8号中断服务子程序。
看了 只知道中断类型怎么就能求出中...的网友还看了以下:
直四棱柱的判断!下列4个命题中,成立的请简要说明,不成立的请说明理由或举例!(1):有两条侧棱都垂 2020-04-08 …
杭州(30°N,120°E)和山海关(40°N,120°E)两地的直线距离约1100千米,在地图上 2020-05-16 …
有一块直角三角形的绿地,量得两直角边长分别为6m,8m,现在要将绿地扩充.有一块直角三角形的绿地, 2020-05-17 …
把一块地面直径6厘米、高8厘米的圆柱形橡皮泥捏成一个地面半径4厘米的圆锥形,圆锥形的高是多少厘米? 2020-06-04 …
中美两国在许多方面存在很大差异,美国人与人之间的交往都比较不拘礼,即使双方在年纪上或地位上有很大分 2020-06-09 …
从乘法原理引出排列的一个困惑书上首先说了乘法原理,举例:从甲地到乙地有2条路,从甲乙地到丙地有3条 2020-06-14 …
要想学好地理,首先要学会看地图。地图,与地理景观、地理图片、地理影像的不同,是地图具有三要素:1、方 2020-11-01 …
一道关于地理知识的题,求哥哥姐姐们了,有个人想估算出杭州和上海两地的直线距离,他拿来一张比例尺为1比 2020-11-21 …
仿写句子有的人选择---有的人选择---例有的人选择劲挺的白杨,永远直立着把人生的向往种植在大地上: 2020-11-28 …
地球上有没有真正意义上的直线?及笔直的东西.若有请举例。 2020-12-31 …