内中断概述
内中断的产生
中断信息可以来自CPU的内部和外部,若中断信息来自CPU的内部,则称为内中断。
在8086CPU处理器中,有下面四种情况发生的时候会产生中断信息
- 除法错误:0
- 单步执行:1
- 执行into指令:4
- 执行int指令:格式为int n,指令中的n就是对应着中断类型码
通常将上述的四种产生中断事件称为中断源,根据中断源的不同所对应的中断类型码也不同,上面的数字就是与之对应的中断类型码。
中断处理函数
中断处理函数是在CPU接收中断信息之后,对中断信息的处理,也就是中断事件到来之后,CPU应该中断当前的指令,而去执行中断处理函数里的指令。
去执行中断处理函数时,首先需要改变程序中的CS: IP,使程序跳转到对应的地方执行。
而CS: IP就应该是中断处理函数(有时候也叫中断服务函数)的入口地址。
CS: IP存储在中断向量表中,中断向量表就是用来存储中断处理函数的入口地址,即对应中断处理函数的CS: IP,
根据不同的中断源,其中断处理函数的入口地址便不同,这时候就需要用中断类型码来找到对应的中断处理函数。