问问题描述
答精选答案

中断向量是程序员自己定义的,中断信号的产生是由中断控制器控制的,若有外部中断源或软件中断指令,或产生异常的指令时,中断源会产生一个信号(电平,或者触发沿)送给控制器。
控制器根据程序的设置或者机器的默认设置来决定如何处理中断。
而控制器会识别一些中断类型,比如除0中断 键盘中断等等,程序员编程设置某一类中断的处理方式,用一个指针的方式指向中断处理程序,这个指针就是中断向量。中断向量的组成形式,在8086下是双字型,高16位为段地址,低16位为段偏移量。
在80386下,中断向量表则需要编程用专门的寄存器来存放,不能再使用实模式下的方式来处理中断。
中断嵌套的实现:在中断处理程序中使用指定的中断处理程序,如int 3。在中断处理程序结束时,必须用iret指令返回。
中断嵌套若层数无法控制,容易导致堆栈溢出,所以通常情况下需要关闭Elfags寄存器的IF位来防止中断嵌套的产生。
本文来自作者[开朗大方乡村小宋]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/264419.html
评论列表(4条)
我是公众科技网的签约作者“开朗大方乡村小宋”!
希望本篇文章《中断向量如何产生》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:中断向量是程序员自己定义的,中断信号的产生是由中断控制器控制的,若有外部中断源或软件中断指令,或产生异常的指令时,中断源会产生一个信号(电平,或者触发沿)送给控制器。控制器根据程序的设置或者机器的默认设置来决定如何处理中断。而控制器会识别一些中断类型,比如除0中断 键盘中断等等,程序员编程设置某一类中断的处理方式,用一个指针的方式指向中断处理程序,这个指针就是中断向量。中断向量的组成形式,在8086下是双字型,高16位为段地址,低16位为段偏移量。在80386下,中断向量表则需要编程用专门的寄存器来存放,