中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的 ?中断向量的内

如题所述

中断向量的内容是由操作系统程序确定的。向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。中断向量表和中断程序是放在哪里的? 中断向量表 中断向量(矢量)表也称中断指示表。中断向量表放在存储单元地址的最低部位0000H到003FFH,占有1K字节的存储空间。中断向量表分成256组(类型码),每组由两个字(即4个字节)组成一个双字长的指针。每个双字指针指示一种中断类型,最多能识别256种不同类型的中断。通过这张中断向量表产生出各个中断服务程序的入口地址。 在双字长指针的高地址中存放的字是中断服务程序入口地址所在的代码段的基址(CS),低地址字是中断服务程序入口地址相对于段基址的补偿值(IP)。CPU通过CS和IP的值得到一个20位的地址,它就是中断服务程序的实际入口地址,过程见图8-中断向量是中断处理子程序的入口地址,它放在中断向量表中,由1ch*4=70h知中断向量 存放在0000:0070处。由于中断处理入口地址为5110:2030所以0070H,0071H,0072H,0073H这四个单元的值分别为30H,20H,10H,51H。楼上说的很专业。 如果一个程序需要一个特殊的,而且256个中没有的中断的话。 那么自己写一个,然后在中断向量表中JMP到你写的中断。然后查表。是你的中断就运行了。 然后再JMP会中断向量表就好了。 这就是为什么不设置那么多中断的原因了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-06
这是由 Intel 公司决定的。
Intel 公司研发的一系列 80x86 CPU,都有这个特点。
这事,与软件、操作系统,毫无关系。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网