调用中断
·什么是中断
中断是一种使CPU中止正在执行的程序而转去处理特殊事件的操作。 这些引起中断的事件称为中断源,它们可能是来自外设的输入输出请求,也可能是计算机的一些异常事故或其它内部原因。
由外设控制器或协处理器(8087/80287)引起的中断一般称为外中断,由程序中安排的中断指令INT产生的中断,或由CPU的某些错误结果产生的中断称为内中断。
·什么是中断向量表
我们给每种中断安排一个中断类型号。IBM PC中断系统能处理256种类型的中断,类型号为0-0FFH。例如:系统定时器的中断类型为08,键盘为09,内中断中的除法错误的中断类型为0,等等。
每种类型的中断都由相应的中断处理程序来处理,中断向量表就是各中断类型的处理程序的地址表。
存储器的低1.5K字节,地址从0到5FFH为系统占用,其中最低的1K字节,地址从0到3FFH存放中断向量。中断向量表中的256项中断向量对应256种中断类型,每项占用四个字节,其中两个字节存放中断处理程序的段地址,另两个字节存放偏移地址。
·调用中断
调用中断需要使用汇编指令INT n(n为中断类型),此命令可以调用中断向量表中存储的相应的子程序。如:
asm
int 23H
end;
这段代码可以模拟按下Ctrl+Break键,结束程序运行。
又如:
asm
int 19H
end;
这段代码可以重启系统(Windows MS-DOS 方式下可以关闭窗口)。
·DOS中断向量表
点击此处浏览DOS中断向量表。