什么是中断?
当 CPU 收到某种特殊信息后,不再继续执行向下,而是转去处理这种特殊信息,这就是 中断(Interrupt)。
这种特殊信息称之为中断信息。
CPU 如何检测到中断?
基本上,当 CPU 执行完一条指令之后,如果检测到标志寄存器的 IF 位为 1,则将产生单步中断。
中断类型
中断可以分为 内中断 与 外终端 两种。
内中断(来自 CPU 内部)
当 CPU 内部发生以下情况时,将产生内中断:
1)除法出错,比如溢出
2)单步执行
3)执行 INTO 指令
4)执行 INT 指令
外中断(来自 CPU 外部)
中断向量表(Interrupt Vector Table)
中断向量表:所有中断程序的入口地址的列表。
CPU 通过 8-bit 的中断类型码,到中断向量表中找到中断程序的入口地址。
对于 8086PC 机器:
1)中断向量表保存在内存中,从内存地址 零 处开始;
2)0000:0000-0000:03FF,总共有 1024 个单元;
3)单个表项占两个字,共计 4 字节,高位为 段地址,低位为 偏移地址;
参考文献
《汇编语言(第三版)王爽 著》