- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口技术 第03章 输入输出系统
3.2.5 硬件中断服务程序设计 硬件中断程序设计 硬件中断与软件中断的比较 保护现场 中断服务程序 恢复现场 中断返回 主程序 中断服务程序 保护现场 STI 中断服务程序 CLI 恢复现场 中断返回 主程序 中断服务程序1 中断服务程序2 中断的过程 主程序 IRET 中断服务程序 断点 中断请求 中断请求可以来自处理器外部的中断源,也可以由处理器执行指令引起: * 硬件中断程序设计 主程序设计 CPU部分 设置堆栈指针(SS和SP) 设置中断向量:保存原先的中断向量;写入新的中断向量 开关中断:对IF标志位控制 中断控制器8259A部分:设置8259A的工作方式 通用外设接口部分:选择接口的工作方式和设置接口的中断开放位等 硬件中断程序设计 硬件中断服务程序设计包括5个步骤 保护现场 清除中断标志(8259A中ISR的内容) 任务处理 执行时间尽量短,应尽量避免使用“ INT 21H ”的1H~0CH号子功能。 恢复现场 中断返回 * 硬件中断程序设计举例 [设计要求]设微机系统ISA总线的B4端子外接一个单脉冲发生器,它受手动按钮控制,按动一次就产生一个正向单脉冲。要求编写中断程序:系统每收到一个单脉冲,随即在屏幕上显示一个“黑桃”(ASCII码为06H),当敲击任意键时,演示结束。 [设计思路]见教材page205,图5.23。 用户中断、主从方式、中断类型码为0AH、中断服务程序完成‘显示黑桃’字符。 [程序框图] 硬件中断服务程序设计 保护现场 屏幕上显示‘黑桃’字符 8向主259A送中断结束命令 恢复现场 中断返回 中断服务程序 关中断 置换OAH型中断向量 8259A编程 开中断 主程序 有键入? 恢复OAH型中断向量 返回DOS N Y * [程序清单]:主程序 ;Filename:Main.asm DATA DEGMENT LD0A DD ? DATA ENDS CODE SEGMENT ASSUME DS:DATA ASSUME CS:CODE BEG: MOV AX,DATA MOV DS, AX CLI ;关中断 CALL RD0A;保存老的向量 CALL WR0A;写中断向量 CALL I8259 STI ;开中断 SCAN:MOV AH, 1 INT 16H;取键盘 JZ SCAN CALL RESET;判断键盘输入 MOV AH, 4CH INT 21H;返回DOS * [中断服务子程序] SERVICE PROC PUSH AX MOV AH, 0EH ;OEH为BIOS功能调用子功能号 MOV AL, 06H INT 10H ;BIOS功能调用显示字符‘黑桃’ MOV AL, 20H OUT 0A0H, AL OUT 20H, AL ;中断结束命令 POP AX IRET SERVICE ENDP 参考:MOV AH,1和INT 16两条指令的功能简介:取键盘缓冲区状态,返回的参数有:ZF=0,AL=字符码,AH=扫描码;如果ZF=1,则缓冲区无按键,等待。 [读出并转移中断向量子程序] RD0A PROC MOV AH, 35H MOV AL, 0AH INT 21H MOV WORD PTR LD0A, BX MOV WORD PTR LD0A+2, ES RET RD0A ENDP [写入新的中断向量子程序] WR0A PROC PUSH DS MOV AX, SEG SERVICE MOV DS, AX MOV DX, OFFSET SERVICE MOV AH, 25H MOV AL, 0AH INT 21H POP DS RET WR0A ENDP * [8259A初始化子程序] I8259 PROC IN AL,21H;读屏蔽字 AND AL, 1111 1011B ;开放8259A中断-B4端 OUT 21H, AL;写回IMR IN AL,0A1H AND AL, 1111 1101B ;开放用户中断 OUT 0A1H, AL RET I8259 ENDP [恢复原现场] RESET PROC MOV DX,WORD PTR LD0A MOV DS,WORD PTR LD0A+2 ;取出原中断向量 MOV AH, 25H MOV AL, 0AH INT 21H ;将中断向量写入中断向量表中 RET RESET ENDP
您可能关注的文档
最近下载
- 实施指南《GB21345 - 2024黄磷单位产品能源消耗限额》实施指南.pptx VIP
- 吉林省德惠市第三中学2024-2025学年七年级上学期9月月考地理试题.docx VIP
- 气流干燥器设计说明书.doc VIP
- 《电子商务基础》中职电子商务专业全套教学课件.pptx
- 桶装水项目质量管理方案.docx VIP
- 地震数据采集设备的收放方法、集运箱和车辆.pdf VIP
- 压力管道壁厚及开孔补强计算.xls VIP
- 四五级拼音版 (20220824修订).pdf VIP
- 幼儿园区域留痕培训.pptx VIP
- 2025年贵州省高职(专科)分类招生中职生文化综合考试试卷(英语试题)676.pdf VIP
文档评论(0)