当前位置:鱼C工作室 >汇编语言 > 查看文章

内中断01 – 零基础入门学习汇编语言60

第十二章:内中断01

 

让编程改变世界

Change the world by program


 

引言和简介

 

中断是CPU处理外部突发事件的一个重要技术。

它能使CPU在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行CPU原来的工作。

引起中断的原因或者说发出中断请求的来源叫做中断源。

 

根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断两类。

外部中断一般是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。外部中断是可以屏蔽的中断,也就是说,利用中断控制器可以屏蔽这些外部设备 的中断请求。

内部中断是指因硬件出错(如突然掉电、奇偶校验错等)或运算出错(除数为零、运算 溢出、单步中断等)所引起的中断。内部中断是不可屏蔽的中断。

 

软件中断其实并不是真正的中断,它们只是可被调用执行的一般程序以及DOS的系统功能调用(INT 21H)等都是软件中断。

CPU为了处理并发的中断请求,规定了中断的优先权。

 

中断优先权由高到低的顺序是:

(1)除法错、溢出中断、软件中断

(2)不可屏蔽中断

(3)可屏蔽中断

(4)单步中断。

 

中断处理程序

 

CPU的设计者必须在中断信息和其处理程序的入口地址之间建立某种联系,使得CPU根据中断信息可以找到要执行的处理程序。

我们知道,中断信息中包含有标识中断源的类型码。根据CPU的设计,中断类型码的作用就是用来定位中断处理程序。

比如CPU 根据中断类型码 4,就可以找到4号中断的处理程序。

可随之而来的问题是,若要定位中断处理程序,需要知道它的段地址和偏移地址,而如何根据 8位的中断类型码(8086中断类型码为一个字节)得到中断处理程序的段地址和偏移地址呢?

这就要引入“中断向量表”了。

 

中断向量表

CPU用 8 位的中断类型码通过中断向量表找到相应的中断处理程序的入口地址。

 

那么什么是中断向量表呢?

 

中断向量表就是中断向量的列表。

中断向量表在内存中保存,其中存放着 256个中断源所对应的中断处理程序的入口,如图所示:

中断向量表就是中断向量的列表

 

中断向量表在内存中存放,对于8086PC机,中断向量表指定放在内存地址0处。

从内存0000:0000到0000:03FF的1024个单元中存放着中断向量表。

 

检测点12.1

 

分页阅读: 1 2 下一页
为您推荐

报歉!评论已关闭.