经典汇编语言教程:8.2 中断

8.2 中断

在计算机系统中,引入中断的最初目的是为了提高系统的输入输出性能。随着计算机应用的发展,中断技术也应用到计算机系统的许多领域,如:多道程序、分时系统、实时处理、程序监视和跟踪等领域。

8.2.1 中断的基本概念

下面只简单介绍与汇编语言程序设计有关的中断知识,使本章的知识具有一定完整性。有关中断的详细介绍可参阅《计算机组成原理》课程中的相关章节。

1、中断和中断源

所谓中断就是CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。在此,称引起紧急事务的事件为中断源,称处理紧急事务的程序为中断服务程序或中断处理程序。计算机系统还根据紧急事务的紧急程度,把中断分为不同的优先级,并规定:高优先级的中断能暂停低优先级的中断服务程序的执行。

计算机系统有上百种可以发出中断请求的中断源,但最常见的中断源是:外设的输入输出请求,如:键盘输入引起的中断,通信端口接受信息引起的中断等;还有一些计算机内部的异常事件,如:0作除数、奇偶校验错等。

CPU在执行程序时,是否响应中断要取决于以下三个条件能否同时满足:

(1)、有中断请求;
(2)、允许CPU接受中断请求;
(3)、一条指令执行完,下一条指令还没有开始执行。

条件(1)是响应中断的主体。除用指令INT所引起的软件中断之外,其它中断请求信号是随机产生的,程序员是无法预见的。

程序员可用程序部分地控制条件(2)是否满足,即可用指令STI和CLI来允许或不允许CPU响应可屏蔽的外部中断。而对于不可屏蔽中断和内部中断,CPU一定会响应它们的,程序员是无控制权的。CPU一定会执行这些中断的中断服务程序。

2、断向量表和中断服务程序

中断向量表是一个特殊的线性表,它保存着系统所有中断服务程序的入口地址(偏移量和段地址)。在微机系统中,该向量表有256个元素(0~0FFH),每个元素占4个字节,总共1K字节,其在内存中的存储形式及其存储内容如图8.2所示。

图8.2中的“中断偏移量”和“中断段地址”是指该中断服务程序入口单元的“偏移量”和“段地址”。由此不难看出:假如中断号为n,那么,在中断向量表中存储该中断处理程序的入口地址的单元地址为:4n。

表8.2说明了前16个中断向量表中列举了部分常用的中断号。

图8.2 中断向量表

表8.2 部分常用的中断号及其含义

中断号含义中断号含义
0除法出错8定时器
1单步9键盘
2非屏蔽中断A未用
3断点BCOM2
4溢出CCOM1
5打印屏幕D硬盘(并行口)
6未用E软盘
7未用F打印机

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

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

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