中断是输入/输出程序中常用的控制方式,是指计算机暂停当前正在执行的程序而转去执行处理某事件的中断服务程序.当中断服务程序执行完毕,再恢复执行被暂时停止的程序
(1)中断指令
格式 : INT n
功能 : 产生一个中断类型号为n的软中断
指令完成的操作
a.标志寄存器入栈
b.断电地址入栈 : cs先入栈,然后ip入栈
c.从中断向量表中获取中断服务程序入口地址,即:
IP <-( 0 : 4n + 1 ,0 : 4n )
CS<-( 0 : 4n + 3 ; 0 : 4n + 2 )
(2)溢出中断指令INTO
格式 : INTO
功能 : 检测OF标志位.当OF = 1时,产生中断类型为4的中断;当OF = 0时, 不起作用
指令完成的操作(当产生中断类型为4的中断时):
a.标志寄存器入栈;
b.断电地址入栈,CS先入栈,然后IP入栈;
c.从中断向量表中获取中断程序入口地址,即:
IP<-( 0000H:0010H )
CS<-(0000H:0012H)
(3)中断返回指令IRET
格式 : IRET
功能 : 从中断服务程序返回断点处,并将标志寄存器的值从堆栈弹出,继续执行原程序.本指令用于中断服务程序中.
指令完成的操作 :
a.断点出栈 : IP先出栈,CS后出栈
b.标志寄存器出栈