中断的意思是指, CPU不再接着(刚执行完的指令) 向下执行, 而是转去处理这个特殊信息。
内中断的产生
8086CPU,当CPU内部有下面的情况发生的时候, 将产生相应的中断信息:
(1)除法错误, 比如, 执行div指令产生的除法溢出;
(2)单步执行;
(3)执行into指令;
(4)执行int指令。
CPU首先要知道, 所接收到的中断信息的来源。所以中断信息中必须包含识别来源的编码。8086CPU用中断类型码的数据来标识中断信息的来源。中断类型码为一个字节型数据,可以表示256种中断信息的来源。以后,我们将产生中断信息的事件, 即中断信息的来源, 简称为中断源,
上述的4种中断源, 在8086CPU中的中断类型码如下:
(1)除法错误:0
(2)单步执行:1
(3) 执行into指令:4
(4)执行int指令, 该指令的格式为int n, 指令中的n为字节型立即数, 是提供给CPU的中断类型码。
中断向量表
CPU用8位的中断类型码通过中断向量表找到相应的中断处理程序的入口地址。那么什么是中断向量表呢?中断向量表就是中断向量的列表。那么什么是中断向量呢?所谓中断向量,就是中断处理程序的入口地址。展开来讲,中断向量表,就是中断处理程序入口地址的列表。
中断向量表在内存中保存,其中存放着256个中断源所对应的中断处理程序的入口,如图12.1所示。