经典汇编语言教程:8.3 中断功能的分类

8.3 中断功能的分类

计算机系统有上百种中断,若按中断的性质来划分,则系统中的中断可分为:可屏蔽中断和不可屏蔽中断。对不可屏蔽中断,程序员不能控制它,系统肯定会立即响应的,而对于可屏蔽中断,汇编语言程序员可以通过指令CLI和STI来控制对它们的响应。

若按中断源来划分,则系统中的中断又可分为:硬件中断和软件中断。对于硬件中断,程序员不能控制它,它们基本上是随机产生的,而对于软件中断,汇编语言程序员可通过指令INT和INTO来有目的安排它们的。

下面主要介绍汇编语言程序员能控制的软件中断的功能及其使用方法,常用的这类中断有:DOS功能调用(INT21H)、BIOS中断、硬件和外设的中断等。

图8.4给出了程序员可使用的各类中断之间的层次关系。

图8.4 各类系统中断之间的层次关系

在用户程序中,若直接通过端口来操作硬件或外设,那么,其处理过程没有额外的多余工作,处理速度显然是最快的,但这样做,无疑使用户程序具有了很大的局限性。硬件环境的改变将直接影响程序的正常运行。

若用户程序通过调用DOS功能来实现其所需功能,那么,应用程序与低层硬件相距较远,操作最终的对象需要经过中间环节,处理速度肯定受到一定的损失,但这种应用程序适应性强,应用范围广,对硬件的依赖性最??/p>

由于BIOS介于DOS和具体硬件之间,所以,调用BIOS的功能是一个很好的折中方案。程序员可在以下三种情况下考虑使用BIOS的功能:

1)、BIOS提供的功能,而DOS没有提供该功能的情况;
2)、不能利用DOS功能调用的情况(可能因为某些具体应用的限制);
3)、基于处理速度的考虑,需要绕过DOS层的情况。

综上所述,可以归纳出如下结论:使用中断的层次越高,它与硬件设备相关程度就越低,处理速度也就越低,但用户程序的适用范围较广。反之也然。

有了上面的结论,程序员可根据应用程序的要求、对硬件环境的熟悉程度等因素来选用不同层次的中断。

上页:上一课 下页:下一课

经典汇编语言教程·相关目录

第1章 汇编语言的由来,数据类型第2章 CPU资源和存储器
第3章 操作数的寻址方式第4章 标识符和表达式
第5章 微机CPU的指令系统第6章 程序的基本结构
第7章 子程序和库第8章 输入输出和中断
第9章 宏第10章 应用程序设计
第11章 数值运算协处理器第12章 汇编语言和C语言
汇编语言重要附录Windows API函数大全
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号