微机原理课件__中断系统.ppt

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

第五章 中断系统;5.1 中断的基本概念;常见的中断源;中断系统;中断系统应具备的基本功能;能实现中断嵌套,即高级别的中断源能够中断低级别的中断服务程序。 系统响应中断后,能自动转入中断处理中断处理结束,能自动返回。;5.2 8086 中断系统;软件中断;例如 mov bl,0 idiv bl ;除数= 0 ,产生除法错中断 mov ax,200 h mov bl,1 div bl ;商= 200 H ,不能用 AL 表达 ;产生除法错中断;单步中断- 1 类型中断;当溢出标志OF=1时,执行指令INTO则产生溢出中断。;INT N 是中断指令 N 是中断类型号 (0 ~ 0 FFH) DOS系统功能, 基本输入输出系统(BIOS)的功能即是用 INT N 指令中断调用。;硬件中断;它不受中断允许标志的屏蔽,微处理器无法禁止,将在当前指令执行结束予以响应; 8086 的非屏蔽中断的类型号为 2 ; 非屏蔽中断主要用于处理系统的意外或故障例如: 电源调电前的数据保护 存储器读写错误的处理;中断请求信号通过CPU的INTR引脚进入; 中断响应信号从INTA引脚发出; IF=1时, CPU响应中断;IF=0, 中断请求被屏蔽 通常可屏蔽中断源经过中断控制器8259A管理再向CPU发INTR请求。;中断标志IF的状态;中断处理过程; 处理器在执行每条指令的最后一个时钟周期检测中断请求信号若发现中断请求信号有效,在允许中断的条件下,处理器响应中断。;处理器会自动完成 3 项任务;中断处理过程;恢复现场 将压栈保护的内容顺序出栈给相关寄存器 中断返回 中断服务子程序的最后是一条中断返回指令 IRET ,执行后 IRET 后处理器自动从堆栈中弹出 IP、 CS 和FLAGS的内容, 返回主程序继续执行。;形成中断类型号n;Y;中断向量;中断向量表;地址= N × 4 ~( N × 4 + 3 ) N × 4 字单元存放偏移地址 N × 4 + 2 的字单元存放段基址;5 × 4 ~ 5 × 4 + 3=14 H ~ 17 H 的 4 个单元中 14 H、15 H 单元存放中断服务子程序入口的偏移地址 16 H、17 H 单元存放中断服务子程序入口的段基址;21 H 型服务程序被放在地址为: XX: YY 开始的内存区; 中断向量 XX: YY 存放在 4 × 21 H ~ 4 × 21 H + 3 的单元中; 处理器取出 INT 21 H 指令后, CS: IP 等于下一指令 (标号NEXT :) 存放单元的物理地址。;处理器执行 INT 21 H 之后: FAGS、CS、IP的当前值被压栈保护。 CPU从4×21H~4×21H+3的单元中取得中断向量并写入IP, CS之中。 CPU根据CS:IP值转向21H型中断服务程序。;中断程序执行完毕,执行 IRET 指令,退出中断 CPU从栈顶顺序弹出保护的断点给 IP 、 CS、FLAGS; 根据 CS: IP 返回断点 ( NEXT:) ,继续执行主程序。;中断向量表的初始化;设置中断向量的方法;例 5.3 设置中断向量, 其中断服务程序名为INTHSUB MOV AX , 0 MOV ES , AX ; 中断向量基址 MOV BX , N﹡4 ; 中断类型号 MOV AX , OFFSET INTHSUB ;偏移地址 MOV ES: WORD PTR [BX] , AX MOV AX , SEG INTHSUB ; 段地址 MOV ES:WORD PTR [BX+2] , AX INTHSUB: ; 中断服务子程序 ? IRET;用DOS系统功能调用 (INT 21 H) 设置中断向量;35 H 功能:取中断向量 预置: AH =35 H AL= 中断类型号(N ) 执行: INT 21 H 返回: ES: BX= 中断向量;例5.4 使用DOS功能调用存取中断向量。 MOV AL , N ; type N interrupt MOV AH , 35H ; get interrupt vector INT 21H PUSH ES ; save the old base and PUSH BX ; offset of interrupt N MOV AX , SEG INTHAND MOV DS , AX ; base of INTHAND in DS MOV DX , OFFSET INTHAND MOV AL , N ; type N MOV AH , 25H ; set interrupt vector INT 21H;;INT n 指令;255型中断向量;255型中断向

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档