微机原理和接口技术 第七章2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理和接口技术 第七章2

第四节 中断程序设计;一、中断向量的保存、设置和恢复;方法一: 用堆栈保存中断向量 MOV AL, 09H ;取中断向量 MOV AH, 35H INT 21H PUSH ES ;用堆栈保存 PUSH BX 、 、、;方法二: 用变量保存中断向量 save_09cs DW ? ;定义变量 save_09ip DW ? 、、、 MOV AX, SEG save_09cs MOV DS, AX MOV AL, 09H ;取中断向量 MOV AH, 35H INT 21H MOV save_09cs , ES ;用变量保存 MOV save_09ip , BX; 入口参数 AL = 要设置向量的中断类型号N DS:DX = 中断子程的入口地址(中断向量) 功能号 AH = 25H 类型号 21H 出口参数 无 实现功能 将类型N的中断向量设置在向量表中, 即 ( 0: N ×4) =类型N中断子程入口地址的偏移值 ( 0: N ×4+2) =类型N中断子程入口地址的段值;例1 设置中断子程Sound 的中断向量,类型号为60H;二、软中断程序设计;对比 软中断程序与子程序的编写其不同点在于: 1. 应在主程中将中断子程的入口地址(中断向量) 放入中断向量表中。(可用25H系统功能完成) 2. 主程中用INT指令调用中断子程 3. 中断子程应用IRET返回.;例:用子程编写和用一个60H类型的中断子程编写, 功能是将BX寄存器的内容以16 进制形式显示出来。;code SEGMENT ASSUME CS:code start: MOV AX, SEG list ;用25H功能 MOV DS , AX ;将中断子程list LEA DX , list ;的入口地址 MOV AL , 60H ;设置到 MOV AH , 25H ;中断向量表中 INT 21H INT 60H ;调用中断子程 MOV AH , 4CH INT 21H ;返回DOS ;三、可屏蔽硬中断程序设计;1 . 了解IBM PC/XT系统可屏蔽硬中断的响应过程, 据连线确定外设中断申请对应的中断类型号。;在主程序中应做的工作: ① CPU关中断 ( 用CLI置 IF=0 ) ② 保存原中断向量 ( 用35H系统功能 ) ③ 设置中断向量 ( 用25H系统功能 ) ④ 设置8259A的中断屏蔽字, 使21H端口对应位为0, 允许中断申请进入优先级裁决器 ⑤ CPU开中断 (用STI置IF=1 );8088 ;① 处理中断源申请任务部分的编写与普通子程类似 ② 在中断子程结束前, 发中断结束命令清除 8259A 中ISR的记录; 否则,响应一次中断后, 同级中断和低级中断将被优先级裁决器屏蔽 ③ 用IRET中断返回指令返回主程被中断处;返回DOS;例2 利用连接在8259A IR0上的时钟信号, 编写具有定时功能程序, 要求每隔5秒在屏蔽上显示一个字符 ’A’。;时钟信号连接在IR0上,申请的中断类型号为08H。 时钟信号是一个频率为18.2HZ的方波信号, 即每秒向8259A发出18.2次的中断申请。 如果CPU响应该中断申请, 则以每秒18.2次的频率执行08H类型的中断子程。;中断申请的任务是每5秒显示一个字符’A’ 1秒执行18.2次,则5秒执行18.2×5=91次, 只在执行到第91次时显示’A’,其它不显示。 在中断子程中用一个量来计数中断子程被执行的次数, 即CPU响应IR0中断申请的次数。 当达到91次

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档