码迷,mamicode.com
首页 > 其他好文 > 详细

中断过程

时间:2018-11-12 15:52:15      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:寄存器   中断   向量   cpu   入栈   处理   过程   中断向量表   中断处理程序   

我们可以用中断类型码,在中断向量表中找到中断处理程序的入口。找到这个入口地址的最终目的是用它设置CS和IP,使CPU执行中断处理程序。用中断类型码找到中断向量,并用它来设置CS和IP,这个工作是由CPU的硬件自动完成的。CPU硬件完成这个工作的过程被称为中断过程。

下面是8086CPU在收到中断信息后,所引发的中断过程。

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

2)标志寄存器的值入栈(因为在中断过程中要改变标志寄存器的值,所以先将其保存在栈中)

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

4)CS的内容入栈;

5)IP的内容入栈;

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

 

可以简洁的描述如下:

1)取得中断类型码N

2)pushf

3)TF=0,IF=0

4)push CS

5)push IP

6) (IP) = (N*4), (CS)=(N*4+2)

中断过程

标签:寄存器   中断   向量   cpu   入栈   处理   过程   中断向量表   中断处理程序   

原文地址:https://www.cnblogs.com/gkp307/p/9946608.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!