《汇编语言》第12章内中断.ppt

12.11 单步中断 那么,接下来的问题是,当TF=1时,CPU在执行完一条指令后将引发单步中断,转去执行中断处理程序。 注意 12.11 单步中断 注意:中断处理程序也是由一条条指令组成的,如果在执行中断处理程序之前,TF=1,则CPU在执行完中断处理程序的第一条指令后,又要产生单步中断,则又要转去执行单步中断的中断处理程序,在执行完中断处理程序的第一条指令后,又要产生单步中断,则又要转去执行单步中断的中断处理程序…… 12.11 单步中断 看来,上面的过程将陷入一个永远不能结束的循环,CPU永远执行单步中断处理程序的第一条指令。 12.11 单步中断 CPU当然不能让这种情况发生,解决的办法就是,在进入中断处理程序之前,设置TF=0。 从而避免CPU在执行中断处理程序的时候发生单步中断。 这就是为什么在中断过程中有 TF=0这个步骤。 12.11 单步中断 我们再来看一下中断过程 (1)取得中断类型码N; (2)标志寄存器入栈,TF=0、IF=0; (3)CS、IP入栈; (4)(IP) = (N*4),(CS) = (N*4+2) 最后,CPU提供单步中断功能的原因就是,为单步跟踪的执行过程,提供了实现机制。 12.12 响应中断的特殊情况 一般情况下,CPU在执行完当前指令后,如果检测到中断信息,就响应中断,引发中断过程。 可是,在有些情况下,CPU 在执行完当前

文档评论(0)

1亿VIP精品文档

相关文档