83中断服务程序的编程84保护模式的中断处理.ppt

83中断服务程序的编程84保护模式的中断处理.ppt

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

ICW1A EQU 20H ;主片端口地址 ICW2A EQU ICW1A+1 ICW3A EQU ICW2A ICW4A EQU ICW2A ICW1B EQU 0A0H ;从片端口地址 ICW2B EQU ICW1B+1 ICW3B EQU ICW2B ICW4B EQU ICW2B ;----------- 主片8259A------------ MOV AL,11H ;ICW1,边沿触发,多片,需ICW4 OUT ICW1A,AL NOP ;I/O端口延时 MOV AL,08H ;ICW2,中断类型码 OUT ICW2A,AL NOP MOV AL,04H ;ICW3,IR2接从片 OUT ICW3A,AL NOP MOV AL,01H ;ICW4,非缓冲,全嵌套,非自动结束 OUT ICW4A,AL NOP ;----------- 从片8259A------------ MOV AL,11H ;ICW1,边沿触发,多片,需ICW4 OUT ICW1B,AL NOP MOV AL,70H ;ICW2,中断类型码 OUT ICW2B,AL NOP MOV AL,02H ;ICW3,INT接主片的IR2 OUT ICW3B,AL NOP MOV AL,01H ;ICW4,非缓冲,全嵌套,非自动结束 OUT ICW4B,AL NOP PC/AT机主、从8259的初始化程序 8259A应用举例 8.3 中断服务程序的编程 中断服务程序的编程原则 1)中断是异步发生的,进入响应时并不考虑当前运行状态。因此中断服务程序必须保护现场 2)在进入具体中断处理之前要先初始化中断向量,使其指向相应的中断服务程序,但在此之前要先关中断,以防接管中断过程中发生中断 3)在中断服务程序入口处要立即开中断,以允许较高优先级的中断产生 4)中断服务程序的服务时间要尽量压缩,以免干扰同级或低级中断设备的工作 5)由于PC机中8259采用正常结束中断,因此在中断服务程序执行IRET返回前应向8259发结束中断命令EOI MOV AL, 20H ;使当前ISR中的对应位复位 OUT 20H, AL IRET 6)当编制替代系统原有中断服务程序时,应保存好原中断向量的内容。在应用程序终止前恢复原有的中断向量 7)中断服务程序不要使用DOS系统功能调用(INT 21H),因为DOS不允许重入 中断服务程序的编程原则 * * 8.1 中断的基本概念 8.2 可编程中断控制器8259 8.3 中断服务程序的编程 8.4 保护模式的中断处理 第八章 中断与中断控制 8.1 中断的基本概念 中断最初是作为处理器与外部设备交换信息的一种控制方式提出的。由此,最初的中断全部是对外部设备而言的,称为外部中断或硬件中断。 随着计算机技术的发展,中断的范围也随之扩大,出现了内部软件中断的概念,它是为解决机器内部运行时出现的异常以及为编程方便而提出的。 外部中断或硬件中断通常称为中断,软件中断或异常中断通常称为异常(Exception) 8.1 中断的基本概念 不论哪种中断都遵循同样的中断处理过程 中断源 中断 请求 当 前 程 序 中断 服务 程序 程序断点 中断返回 中断响应 中断:处理器暂停执行当前程序,转而处理随机发生的事件,处理 完毕后再返回到断点处继续执行原来程序的过程 中断的类型 PC系列微机最多可以支持256种中断,它们被分为四种类型: 内部中断和异常 软件中断 外部可屏蔽中断 外部非屏蔽中断 每个中断和异常都指定了一个类型号代表不同的优先级。 类型0表示最高优先级的中断,类型255最低优先级的中断 1. 内部中断和异常 为处理器执行某些操作而引起的中断,包括除法错误异常、单步调试中断、断点中断等 这类中断使用了0H~09H中的若干个中断号 内部中断和异常的例子 P. 218 中断的类型 2.软件中断 执行有定义的INT n指令而引发的中断,称为软件中断 有定义的 并非所有的中断号都有对应的中断服务程序 软件中断使用05H、10H~0FFH中的若干个中断号 软件中断进一步分为BIOS中断和DOS中断 中断的类型 3.外部可屏蔽中断 外部可屏蔽中断是处理器响应各种外部硬件中断的最常用的方法,通过CPU的INTR引脚产生 外部可屏蔽中断受处理器内部的中断允许标志位IF的控制 处理器以电平触发方式接受INTR请求,当每条指令结束时,若INTR为高电平且IF=1,则CPU响应相应I/O接口的中断请求。 处理器只有一个INTR引脚可以接受外部可屏蔽中断请求,为了管理众多的外部中断源,微机系统中采用可编程中断控制器8259。PC系列机通过两片8259级连可以响应15个外部中断源 中断的类

您可能关注的文档

文档评论(0)

天马行空 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档