中断程序设计,完成内部中断服务程序和外部中断服务程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三. 中断程序设计,完成内部中断服务程序和外部中断服务程序设计
<1>、实验概述
1、编写内部中断服务程序与编写子程序类同,都是利用过程定义伪指令PROC/ENDP。
所不同的是,进入中断服务程序后,通常要执行STI指令开放可屏蔽中断,最后执行IRET指令返回调用程序。
内部中断服务程序通常采用寄存器传递参数。
2、外部可屏蔽中断用于实现微处理器与外设交换信息,这才是真正意义上的“中断”
<2>、实验注意事项
1、主程序在调用内部中断服务程序前,必须修改中断向量
.中断向量设置
功能号AH=35H
入口参数:AL=中断向量号,DS:DX=中断向量
.获取中断向量
入口参数:AL=中断向量号
出口参数:ES:BX=中断向量
2、编写80H号中断服务程序,使其具有显示仪“0”结尾字符串的功能(利用显示器功能
调用INT 10H)。
字符串缓冲区首地址为入口参数,利用DS:DX传递
3、编写外部中断具有一定特殊性,需注意以下几点:
.发送中断结束命令
.一般只能采用存储单元传递参数
.不要使用DOS系统功能调用
.中断服务程序尽量短小
.控制CPU的中断允许标志
.设置8259A的中断屏蔽寄存器
4、增加的延时功能代码:
inc counter1
cmp counter1,0ah
jb stop
mov counter1,0
inc counter
mov si,offset intmsg
call dpstri。