- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 中 断 7.1 中断系统 7.1.1 中断的概念及其作用 1、中断的概念 中断-----指计算机在执行正常程序的过程中出现内部或外部某 些事件的请求时,CPU暂时停止当前程序的正常执行, 转去执行请求事件的处理操作,CPU在事件处理结束 后再回到被暂时中断了的程序继续往下执行。 2、中断系统的作用 (1)能实现并行处理 (2)能实现实时处理 (3)能实现故障处理 7.1.2 中断处理系统 一个完整的中断处理系统必须实现以下功能: 中断源识别、中断优先级判断、中断嵌套管理以及CPU的中断响应、中断服务和中断返回。 1、中断源识别 中断源----引起程序中断的事件。 2、中断优先级判断 中断优先级判断的具体方法可分为:软件查询、硬件排队和专用 中断控制器。 (1)软件查询方式 (2)硬件排队方式 (3)专用中断控制器 3、中断嵌套管理 4、中断处理过程 7.2 8086CPU中断系统 7.2.1 8086CPU的中断源 256种中断可分为两大类:外部中断和内部中断。 1、中断源的类型 1)外部中断(硬件中断) 分为非屏蔽中断和可屏蔽中断两种。 (1)非屏蔽中断 (2)可屏蔽中断 2)内部中断(软件中断) (1)单步中断-----------中断类型号是1 (2)除法出错中断-------中断类型号是0 (3)断点中断-----------中断类型号是3 (4)溢出中断-----------中断类型号是4 (5)指令中断-----------中断类型号是n 内部中断的特点: ① 内部中断的类型号都是固定的,或是在中断指令中给定的。 不需要进入INTA总线周期获取类型号; ② 不受中断允许标志位IF的影响; ③ 用一条指令或由某个标志位启动进入中断处理程序,这样 的中断没有随机性。 2、中断源的优先级 7.2.2 8086CPU 的中断响应过程 1、内部中断和非屏蔽中断的响应及处理过程 1) 中断请求与检测 2) 确定中断向量地址 3)保护各标志位状态和屏蔽INTR中断和单步中断 4)保存断点 5)执行中断服务程序 6)中断返回 2、可屏蔽中断 1) 中断请求与检测 2) 判断是否响应 3)确定中断向量地址 7.2.3 中断向量表 中断向量----是中断服务程序入口地址。 中断向量表-----是中断服务程序入口地址表。 中断向量地址-----是中断向量在中断向量表中的位置。 中断向量地址与中断类型号之间的关系可表示为: 中断向量地址=中断类型号*4 例7-1 某中断源的类型号为34,且已知部分中断向量表如图7-11所示,试求中断服务程序入口的物理地址。 解: 34*4=136 即中断向量地址为: 88H 查中断向量表得中断向量为: A123H:B678H 中断服务程序入口的物理地址为: AC8A8H 图7.11 部分中断向量表 例2 某中断源的类型号为54H,中断服务程序入口的符号地址为INTADD,试编一段程序设置该中断类型号的中断向量。 解: MOV AX,0 MOV DS,AX MOV BX,54H*4 MOV AX,OFFSET INTADD MOV [BX],AX MOV AX,SEG INTADD MOV [BX+2],AX 7.2.4 中断程序设计 中断程序设计分为主程序设计和中断服务子程序设计两部分。 主程序---用来完成相关的初始化工作,为实现中断做好准备; 中断服务子程序---用来完成相关的中断处理工作。 1、主程序设计 初始化工作分三部分: ① CPU本身工作的初始化 ② 中断控制器8259A的初始化 ③ 通用接口的初始化 2、中断服务子程序设计 中断服务子程序含有以下七个部分: (1)保护中断时的现场。 (2)若允许中断嵌套,则设置开中断。 (3)执行中断处理程序。 (4)设置关中断, (5)给中断命令寄存器送中断结束命令EOI。 (6)恢复中断时的现场。 (7)用中断返回指令IRET返回主程序。 3、中断程序设计举例 编写一个中断处理程序,要求主程序运行时,每20秒响铃一次,同时屏幕上显示信息“It’s time to ring!” 程序分主程序和中断服务程序两个部分: (1)主程序 (2)中断服务程序 DATA SEGMENT COUNT DW 364 MESS DB‘It’s time
文档评论(0)