中断的基本过程
中断的基本过程 1 a7 v. |! `' Z7 t$ y
中断过程可分成以下四步:
) N2 r7 }% V' [ (1)中断请求
7 l$ \7 x4 `* S3 L7 n 由中断源向CPU提出中断请求(软中断除外)。 / g4 V: N) X8 G- Y! c
(2)中断响应 4 \, t7 E# u8 {
CPU在收到中断请求并具备响应条件的情况下,进行中断响应,以实现向中断服务程序的过渡。 _( e& f0 L6 u
(3)中断服务 5 f+ T+ S8 {( \- ?# ^9 r% \
CPU在执行中断服务程序期间,要进行具体的中断服务,例如对打印机中断,是将下一个要打印的字符输出给打印机。 5 @& y# M L. r6 m) F
执行中断服务程序是通过CPU来实现的,显然要用到cPu的资源,如Ax、BX等通用寄存器和/或sI、DI等专用寄存器。为了不影响被打断的程序(称为主程序)在中断返回后的继续执行,在刚刚进入中断服务程序时应进行现场保护,即把中断服务程序中要用到的通用寄存器、专用寄存器的内容保存起来(压入堆栈),在中断服务结束、返回的前夕再恢复现场,即把保存的内容取出送到相应的寄存器中(从堆栈弹出)。因此,中断服务又可分为保护现场、具体的中断服务和恢复现场三步。 - |/ M" {7 E/ b3 h2 O9 [0 Y' Y$ Q
(4)中断返回
: J9 M5 k1 G' |5 f5 T 中断服务程序的最后一条指令应是中断返回指令。当执行到该指令时,便返回主程序,从断点处继续往下执行。
点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹