008第8章中断系统.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文档。上传文档
查看更多
8.1  8088中断系统概述 基本概念:CPU正在执行程序的时候,有一个突发事件,请求CPU处理,CPU暂时中止正在执行的程序,转去执行处理突发事件的程序,处理完以后,再回到原来被中止的地方,继续执行原来的程序。这样的过程称为中断。实现这种功能的部件成为中断系统。产生中断的请求源称为中断源。 中断系统的功能: 能实现中断响应、中断服务及中断返回。 能实现中断优先权排队 能实现中断嵌套 8088的中断系统采用向量中断机制,能够处理256个中断,用中断向量号0 ~255区别 可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理 中断的处理过程 中断请求 中断判优 中断响应 保留断点地址 关中断 转入中断处理程序 中断处理 开中断 保护现场 完成中断服务 恢复现场 中断返回 8.2 8088的中断类型 内部中断 除法错中断 指令中断 溢出中断 单步中断 外部中断 非屏蔽中断 可屏蔽中断 1. 内部中断 内部中断是由于8088内部执行程序出现异常引起的程序中断 利用内部中断,微处理器为用户提供了发现、调试并解决程序执行时异常情况的有效途径 例如,ROM-BIOS和DOS系统利用内部中断为程序员提供了各种功能调用 ⑴ 除法错中断 在执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,则产生一个向量号为0的内部中断,称为除法错中断 例如: ⑵ 指令中断 在执行中断调用指令INT n时产生的一个向量号为n(0 ~ 255)的内部中断,称为指令中断 其中向量号为3的指令中断比较特别(生成一个字节的指令代码,常用于程序调试,被称为断点中断 ⑶ 溢出中断 在执行溢出中断指令INTO时,若溢出标志OF为1,则产生一个向量号为4的内部中断,被称为溢出中断 例如: ⑷ 单步中断 若单步中断TF为1,则在每条指令执行结束后产生一个向量号为1的内部中断,称为单步中断 2. 外部中断 外部中断是由于8088外部提出中断请求引起的程序中断 利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部意外或紧急事件 外部中断的原因是处理器外部随机产生的,所以是真正的中断(Interrupt) 内部中断的原因是处理器执行程序出现异常,所以经常被称为异常(Exception) ⑴ 非屏蔽中断 通过非屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断 8088的非屏蔽中断的向量号为2,非屏蔽中断请求信号为NMI 非屏蔽中断主要用于处理系统的意外或故障。例如: 电源调电前的数据保护 存储器读写错误的处理 ⑵ 可屏蔽中断 外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断 8088的可屏蔽中断请求和响应信号分别是INTR和INTA*;由IF标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制器 8088通常需要配合中断控制器8259A共同处理可屏蔽中断 可屏蔽中断主要用于主机与外设交换数据 中断标志IF的状态 IF=0:可屏蔽中断不会被响应 关中断、禁止中断、中断屏蔽 系统复位,使IF=0 任何一个中断被响应,使IF=0 执行指令CLI,使IF=0 IF=1:可屏蔽中断会被响应 开中断、允许中断、中断开放 执行指令STI,使IF=1 执行指令IRET恢复原IF状态 当可屏蔽中断被响应,CPU需执行7个总线周期,才转入中断服务程序。即: (1)在第一个总线周期内通知外部中断系统CPU已响应; (2)在第二个总线周期,从中断源读取中断类型号; (3)执行一个总线写周期,将标志寄存器内容压入堆栈,同时使IF为0,TF为0; (4)执行一个总线写周期,把CS内容压入堆栈; (5)执行一个总线写周期,把当前IP内容压入堆栈;; (6)执行一个总线读周期,从中断向量表中读取中断服务程序的偏移地址并送IP; (7)执行一个总线读周期,从中断向量表中读取中断服务程序的段地址并送CS。 8.2.2 8088的中断向量表 中断向量:中断服务程序的入口地址(首地址) 逻辑地址含有段地址CS和偏移地址IP(32位) 每个中断向量的低字是偏移地址、高字是段地址,需占用4个字节 8088微处理器从物理地址000H开始,依次安排各个中断向量,向量号也从0开始 256个中断占用1KB区域,就形成中断向量表 设置中断向量的方法: 1、将中断服务程序的入口地址直接写入中断向量表中的相应单元: MOV AX , 0000H MOV DS , AX MOV SI , 中断类型号 * 4 MOV AX , 中断服务程序偏移地址 MOV [SI],

文档评论(0)

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

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

1亿VIP精品文档

相关文档