欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

中断技术之中断的定义,中断服务程序的设计方法,中断处理的过程以及中断向量表的建立

程序员文章站 2024-02-14 22:55:28
...

一,中断的定义
在CPU执行程序的过程中,出现了某种紧急或异常的事件(中断请求),CPU需要暂时停止正在执行的程序,转去处理该事件(执行终端服务程序),并在处理完毕后,返回断点继续执行被暂停的程序,这一过程,称为中断。
二 ,中断处理的过程主要有五步
1.中断请求
2.中断响应
3.保护断点
4.中断处理
5.中断返回
三,8086/8088CPU可以处理256种不同类型的终端
四,中断服务程序的设计
1.用户在设计中断服务程序时要预先确定一个中断类型号,不论是硬件中断还是软件中断,都只能在系统预留给用户的类型号中选择,
2.确定中断类型号之后还要把中断服务程序入口地址置入中断向量表,以确保在中断响应时CPU能自动转入该类型号相对应的中断服务程序。
3.中断向量表的建立
设用户定义的中断类型号为60H
1)DOS系统功能调用法
功能号:(AH)=25H
入口参数:
(AL)=中断类型号
(DS)=中断服务程序的入口地址的段地址
(DX)=中断服务程序的入口地址的段地址
下面程序段完成中断类型号为 60H的中断服务程序的入口地址的置入

PUSH	DS          //保护DS
MOV	DX,	OFFSET INT _60     //取中断服务程序INT_60的偏移地址
MOV	AX,	SEG INT _60        //取中断服务程序INT_60的段地址
MOV	DS,	AX
MOV	AH,	25H     //送功能号
MOV	AL,	60H      //送中断类型号
INT	21H              //DOS功能调用
POP	DS               //恢复DS

2)直接装入法
用传送指令直接将中断服务程序入口地址置入中断向量表。
设中断类型号为60H,此类型号对应的中断服务程序入口地址应存放在中断向量表00180H开始的四个连续存储单元中。
采用直接装入的程序段如下:

XOR	AX,	AX	//清零
MOV	DS,	AX
MOV	AX,	OFFSET INT_60
MOV	DS:	[0180H],	AX      // 置中断服务程序INT_60的偏移地址
MOV	AX,	SEG INT_60
MOV	DS:	[0180H+2],	AX        //置中断服务程序INT_60的段地址

接下来会对可编程中断控制器8259 A进行理解,请大家拭目以待!
学习是对体系结构的一种建立,今天不会的不要慌,当体系结构达到一个水准之后,或许明天就会了呢?
目之所及,皆是回忆!
心之所想,皆是过往!
眼之所看,皆是遗憾!