第八的章-中断及异常-4.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八的章-中断及异常-4

中断程序设计 一、中断向量的保存、设置和恢复 二、软中断程序设计 三、可屏蔽硬中断程序设计 四、问题讨论 一、中断向量的保存、设置和恢复 1. 保存中断向量 (35H功能) 入口参数 AL = 要保存向量的中断类型号N 功能号 AH = 35H 类型号 21H 出口参数 BX = ( 0: N×4 ) ES = ( 0: N×4 +2 ) 实现功能 将类型号N 的中断向量保存在ES、BX中 方法一: 用堆栈保存中断向量 MOV AL, 09H ;取中断向量 MOV AH, 35H INT 21H PUSH ES ;用堆栈保存 PUSH BX 入口参数 AL = 要设置向量的中断类型号N DS:DX = 中断子程的入口地址(中断向量) 功能号 AH = 25H 类型号 21H 出口参数 无 实现功能 将类型N的中断向量设置在向量表中, 即 ( 0: N ×4) =类型N中断子程入口地址的偏移值 ( 0: N ×4+2) =类型N中断子程入口地址的段值 二、软中断程序设计 软中断子程与子程序的编写类似, 其不同点在于: 1.子程用CALL指令调用;中断子程用INT指令调用 2.子程用RET指令返回;中断子程用IRET指令返回 3.CALL指令直接用过程名做操作数, 即由过程名提供子程的入口地址 INT指令由类型号N到中断向量表中固定的单元 获得中断子程的入口地址 三、可屏蔽硬中断程序设计 分三大步骤: 1 . 了解IBM PC/XT系统可屏蔽硬中断的响应过程, 据连线确定外设中断申请对应的中断类型号; 2.主程中做好外设发出中断申请,CPU能够响应的准备工作; 3.编写可屏蔽硬中断子程,完成中断源请求的任务. 在主程序中应做的工作: ① CPU关中断 ( 用CLI置 IF=0 ) ② 保存原中断向量 ( 用35H系统功能 ) ③ 设置中断向量 ( 用25H系统功能 ) ④ 设置8259A的中断屏蔽字, 使21H端口对应位为0, 允许中断申请进入优先级裁决器 ⑤ CPU开中断 (用STI置IF=1 ) ① 处理中断源申请任务部分的编写与普通子程类似 ② 在中断子程结束前, 发中断结束命令清除 8259A 中ISR的记录; 否则,响应一次中断后, 同级中断和低级中断将被优先级裁决器屏蔽 ③ 用IRET中断返回指令返回主程被中断处 时钟信号连接在IR0上,申请的中断类型号为08H。 时钟信号是一个频率为18.2HZ的方波信号, 即每秒向8259A发出18.2次的中断申请。 如果CPU响应该中断申请, 则以每秒18.2次的频率执行08H类型的中断子程。 说明: ? 键盘接口通过8259A的IR1发中断申请, 类型号09H ? 键盘接口对按下键和释放键都向8259A发出中断申请, 即若CPU满足响应条件,对键盘上的一个按键操作, CPU将执行两次09H类型的中断子程: 按下键一次,释放键一次 CPU可从60H端口读取操作键的扫描码, 每个键对应有一个扫描码 由扫描码的D6~D0判断操作的是哪一个键, 由扫描码的D7位判断是按下键,还释放键。 D7=1,释放键(断码); D7=0,按下键(通码) ? 键盘中断子程中应发中断结束命令 四、问题讨论 ? 中断嵌套问题 ? 中断向量的保存、恢复问题 CPU正在执行某一中断子程,又被其它中断源中断 使CPU转去执行另一中断子程,这个过程叫中断嵌套 在中断子程中, 用INT指令调用中断子程,引起了中断嵌套, 这种嵌套就是内中断引起的嵌套。 ① CPU在执行中断子程过程中,有可屏蔽硬中断申请发出。 ( 即有可屏蔽硬中断源产生) ② 中断子程开中断,即用 STI 指令使 IF = 1。 因为CPU响应中断过程中,将 IF 标志清0, 然后转去执行中断子程。 故进入中断子程后,IF= 0 (即CPU允许响应可屏蔽中断) 第一种方法:保存并恢

文档评论(0)

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

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

1亿VIP精品文档

相关文档