[ASM]中断过程

任何一个通用的CPU,都具备一种能力,可以在执行完当前正在执行的指令后,检测到从CPU内部或外部送过来的一种特殊信息,并且可以立即对所接收到的信息进行处理。这种特殊的信息,称为中断信息。中断的意思是,CPU不再接着(刚执行完的指令)向下执行,而是转去处理这个特殊的信息。中断信息是要求CPU马上进行某种处理,并向所要进行的该处理提供了必备的通知信息。中断信息可以来自CPU 内部和外部。

内中断的产生

1.         除法错误

2.         单步执行

3.         执行into指令

4.         执行int 指令

CPU收到中断信息后,从中提取中断类型码,利用中断类型码在中断向量表中找到中断处理程序的入口地址,然后用入口地址设置CS IP,使CPU 执行中断处理程序。用中断类型码找到中断向量,并用它设置CSIP, 这个工作是由CPU的硬件自动完成的,这个过程称为中断过程。中断向量表指定放在内存地址0处,从内存0000:0000000003FF1024个单元中存放,这是规定。

8086CPU中断过程如下

1.         (从中断信息中)取得中断类型码

2.         把标志寄存器入栈(中断过程要改变标志位,为了恢复现场)

3.         设置标志寄存器的第8TF和第9IF的值为0

4.         CS入栈

5.         IP入栈

6.         从内存地址为中断类型码*4和中断类型码*4+2的两个字单元中读取中断处理程序的入口地址设置IPCS;

原文地址:https://www.cnblogs.com/abeen/p/1589263.html