1. 简单百科
  2. 内部中断

内部中断

内部中断是指由软中断指令启动的中断,也可以是在特定条件下由CPU自身启动的中断。

类型

- 由软中断指令启动的中断。

- 在一定条件下由CPU自身启动的中断。

指令

被零除中断(INT 0)

当执行除法指令时,如果出现除数为0或商超出寄存器所能表示的范围的情况,就会触发类型为0的内部中断。这是所有内部中断中优先级最高的一种。

单步中断(INT 1)

当TF=1且IF=1时,每执行一条指令都会引发一次中断,程序控制会转移到单步中断服务程序。这种中断方式对于程序调试非常有用,因为它能够追踪指令流,帮助定位程序错误。

溢出中断(INTO INT 4)

如果指令执行的结果导致溢出标志位OF置1,那么在执行溢出中断指令INTO时,将会触发类型为4的内部中断。需要注意的是,溢出状态并不会自动触发中断,而是需要通过INTO指令来实现。

断点中断(INT 3)

8086/8088指令集包含了一个单字节中断指令INT 3,其作用是让CPU跳转至断点中断服务程序。这个指令允许程序员在程序任意位置设置断点,以便在调试过程中检查程序的运行结果。

指令中断

这是一种由用户定义的双字节中断指令,其中第一个字节是操作码,第二个字节n代表中断类型号。

特点

1. 内部中断可以通过INT n指令产生中断类型码,或者由指令指定,也可能是预设的。

2. 不执行INTA总线周期,CPU也不会发送响应信号INTA。

3. 除了单步中断之外,其他内部中断无法通过软件禁用。

4. 除了单步中断之外,内部中断的优先级高于外部中断。

参考资料

stm32入门学习4-内部中断.CSDN博客.2024-11-05

外部中断和内部中断.博客园.2024-11-05

外部中断和内部中断 硬中断 软中断 中断下半部.CSDN博客.2024-11-05