当前位置:课程学习>>第七章>>知识讲解>>视频课堂>>知识点四


知识点四: 中断程序设计




1.设置中断向量表

有多种方法:

利用传送指令直接访问中断向量表的相应存储单元。

利用DOS系统功能INT 21H的25H和35H子功能修改中断向量。

利用串操作指令设置。

2.设置中断控制器8259A

若在PC机上实现中断控制,可用PC机内8259A。

此时,主要是对已初始化的8259A的IMR进行设置,允许相应位开放中断。

下面的程序段实现了对IMR的修改和恢复功能。

INTIMR DB ?

IN AL,21H ;读出IMR

MOV INTIMR,AL ;保存原IMR内容

AND AL,0F7H ;允许IRQ3,其它不变

OUT 21H,AL ;设置新IMR内容

下面的代码可以恢复IMR原先的内容

MOV AL,INTIMR ;取出保留的IMR原内容

OUT 21H,AL ;重写OCW1

3.设置CPU的中断允许标志IF

初始化时先利用CLI指令,关中断;

初始化结束后,根据需要在程序中适当的地方利用STI指令,开中断。

4.设计中断服务程序

中断服务程序分为以下几个部分:

定义为过程

保护现场

开中断

中断服务

8259A结束中断

恢复现场

中断返回

进入下一个知识点的学习