第7章中断技术讲述.ppt

  1. 1、本文档共70页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 3、操作命令字(4) OCW3:特殊屏蔽方式和中断查询方式操作命令字,写入8259A的偶地址端口。 A0=0 OCW3 0 SMM 0 P RR RIS 0 在下一个读周期读IRR 1 1 在下一个读周期读ISR 0 X 无动作 1 0 清除特殊屏蔽 1 设置特殊屏蔽 0 X 无效 1:查询8259状态 0:不查询 1 ESMM 标志位 四、应用举例 例:在 IBM PC/XT的 62芯总线的 IRQ2端输入一中断请求信号,该信号由用户自己定义的中断源产生。要求每中断一次,CPU响应后在CRT上显示一串字符‘8259A INTERUPT! ’ ,并且中断 10次后返回 DOS。IBM PC/XT中以8259A为核心的中断逻辑如图所示。 IRQ 1 IRQ 2 IRQ 3 IRQ 4 IRQ 5 IRQ 6 IRQ 7 8086 CPU 8259 A 中断控制器 P C 插 卡 槽 同步通信中断 异步通信中断 硬盘驱动器中断 软盘驱动器中断 打印机中断 INTR 时钟 0 1 2 3 4 5 6 7 IRQ 0 键盘 保留 已知:IBM PC/XT内8259A的端口地址是20H和21H,并且已初始化成边沿触发、普通屏蔽(初始化屏蔽字为FFH)、非特殊全嵌套、正常中断结束、固定优先级、非缓冲方式,8259A所接的8个中断源类型号为08H~0FH。试编写汇编语言程序实现题目的要求。 解:由已知条件可知IBM PC/XT系统内部8259A的初始化命令字应为: ICW1=13H); ICW2=08H); ICW4=01H); IRQ2的中断类型号就是0AH。 * 程序流图: 将中断服务子程序与主程序编在同一代码段 中断服务子程序 用DOS调用9H功能显示字符串 计数器减1 中断返回 向8259A发中断结束命令字OCW2 在数据段将字符串放入数据表 开始 调用DOS35H和25H功能取出原中断向量,装入新中断向量 关中断 置中断次数并开中断 等待中断 主程序 结束 设置中断屏蔽字,开放IR2 中断次数到? 恢复 返回DOS N DATA SEGMENT MESS DB ‘8259A INTERRUPT!’,0DH,0AH,‘$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:CLI ;关中断 MOV AX,350AH INT 21H ;取中断向量到ES:BX PUSH ES PUSH BX ;压原中断向量到堆栈 MOV AX, SEG INT_PROC MOV DS, AX MOV DX,OFFSET INT_PROC MOV AX,250AH INT 21H ;将新 0AH号中断向量装入向量表 程序代码 程序代码 IN AL,21H ;读IMR内容(OCW1) AND AL,0FBH OUT 21H, AL ;允许 IRQ2中断 MOV BX,10 ;设置中断次数为10 STI ;开中断 LL: CMP BX,0 JNZ LL ;循环等待中断 CLI ;关中断 IN AL,21H ;读出屏蔽字 OR AL,4 ;禁止 IRQ2中断 OUT 21H,AL POP DX POP DS MOV AX,250AH INT 21H ;将原中断向量重新装入向量表 STI ;开中断 MOV AH,4CH INT 21H ;返回DOS INT_PROC PROC ;中断服务程序 MOV AX,DATA MOV DS,AX ;将 DS指向数据段 MOV DX,OFFSET MESS ;显示发生中断的信号

文档评论(0)

6952225 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档