
中断向量是程序员自己定义的,中断信号的产生是由中断控制器控制的,若有外部中断源或软件中断指令,或产生异常的指令时,中断源会产生一个信号(电平,或者触发沿)送给控制器。
控制器根据程序的设置或者机器的默认设置来决定如何处理中断。
而控制器会识别一些中断类型,比如除0中断 键盘中断等等,程序员编程设置某一类中断的处理方式,用一个指针的方式指向中断处理程序,这个指针就是中断向量。中断向量的组成形式,在8086下是双字型,高16位为段地址,低16位为段偏移量。
在80386下,中断向量表则需要编程用专门的寄存器来存放,不能再使用实模式下的方式来处理中断。
中断嵌套的实现:在中断处理程序中使用指定的中断处理程序,如int 3。在中断处理程序结束时,必须用iret指令返回。
中断嵌套若层数无法控制,容易导致堆栈溢出,所以通常情况下需要关闭Elfags寄存器的IF位来防止中断嵌套的产生。