8.2.2 引起中断的指令

中断处理程序基本上是系统程序员编写好的,是为操作系统或用户程序服务的。为了在应用程序中使用中断服务程序,程序员必须能够在程序中有目的地安排中断的发生。为此,指令系统提供了各种引起中断的指令。

1、中断指令INT

中断指令INT的一般格式如下:

INT Imm

其中:立即数Imm是一个0~0FFH范围内的整数。

指令执行的步骤:

◆、把标志寄存器压栈,清除标志位IF和TF;
◆、把代码段寄存器CS的内容压栈,并把中断服务程序入口地址的高字部分送CS;

◆、32位段,压32位IP。

在该指令执行完后,CPU将转去执行中断服务程序。由于有了指令INT,程序员就能为满足某种特殊的需要,在程序中有目的地安排中断的发生,也就是说,该中断不是随机产生的,而是完全受程序控制的。

一般情况下,一个中断可有很多不同的功能,每个功能都有一个唯一的功能号,所以,在安排中断之前, 程序员还要决定需要该中断的哪个功能,中断的功能号都是由AH来确定的。有些中断还需要其它参数,常用中断的功能和参数如附录3所列。

2、溢出指令INTO

当标志位OF为1时,引起中断。该指令的格式如下:

INTO

该指令影响标志位:IFTF