大榕树 \ Pascal语言 \ 算法与技巧

调用中断

原文链接:http://www.mydrs.org/program/list.asp?id=142

调用中断

·什么是中断

  中断是一种使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中断向量表

作者:陈世熹
来源:陈世熹的Pascal
时间:2001-07-25

上一篇:中断向量表
下一篇:FOR循环练习题

大榕树 版权所有 ©1999-2006