第6.2章:中断控制方法(lyz)(v1.0).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文档。上传文档
查看更多
第6章:中断控制方式 主讲老师:廉迎战 副教授 本章学习目标 掌握有关中断的基本概念、中断优先级、中断嵌套、中断屏蔽、中断向量等基本概念。 掌握可编程中断控制器8259A的功能、内部结构、工作方式及初始化命令和操作命令定义、使用方法,服务程序的基本编写方法。 了解8086/8088中断系统中的中断源分类、IBM-PC机中断系统结构。 处理一个中断的过程,就是妥善处理以下一些基本问题的过程: 1)如何识别中断源。 2)何时检查中断输入信号及其处理办法。 3)如何开放和关闭中断。 4)如何识别优先级较高的中断。 5)如何保护和恢复中断的现场。 6)如何把控制转给中断服务程序。 6.2.2 中断处理过程和中断返回 中断响应的条件 1)设置中断请求允许触发器,发出中断请求信号 2)设置中断屏蔽触发器,当此触发器为“1”时,允许外设的中断请求才能被送出至CPU。 3)CPU处于开中断状态。 4)CPU在一条现行指令结束之后响应中断。 中断过程包括:中断请求、中断排队、中断响应、中断服务和中断返回。 1、中断请求:中断源(指令\引脚)向CPU发送的中断信号。 2、中断排队:CPU内部据优先级,进行中断排队,确定响应次序。 3、中断响应:CPU内部响应中断自动完成 关中断 保护断点(CS:IP →(SP)) 保护断点(IF →(SP)) 形成中断源的中断服务程序人口地址[(中断码*4→CS:IP)采用向量表法] 4、中断服务(中断服务程序) 中断入口: 保护现场 (PUSH XX寄存器) 开中断(IF=1) 中断处理(功能实现) 关中断(IF=0) 恢复现场( POP XX寄存器) 中断返回(IRET) 5、中断返回 中断返回 恢复断点(CS:IP ←(SP)) 恢复断点(IF ←(SP)) 开中断 注:中断服务程序的入口地址——中断矢量 中断响应的过程 1)发出中断响应信号。 2)同时自动关中断,即置中断允许触发器IF为“0”。 3)保存断点。 4)保护现场。 5)输入到中断服务程序逻辑的入口地址。 7、中断屏蔽寄存器 中断屏蔽触发器:8位。 当此触发器在程序控制下,使触发器相应位置“1”时,允许中断(EI);若触发器相应位置 “0”时,则关闭中断(DI)。 8、开中断和关中断 标志寄存器:中断控制位IF(Interrupt Enable Flag)。 当IF=“1”时,CPU开中断(可屏蔽中断) 当IF=“0”时,CPU关中断(可屏蔽中断) 9、中断源管理方式 中断源管理方式分两种: 固定入口地址法 中断向量表法 8086/8088CPU采用中断向量表法 6.2.3 中断优先权管理 1.中断优先级:当CPU正在处理中断时,能响应更高级别的中断请求,而屏蔽掉同级或较低级别的中断请求。 2.中断屏蔽触发器:当此触发器在程序控制下,使触发器相应位置“1”时,允许中断(EI);若触发器输出端置“0”时,则关闭中断(DI)。 4.中断优先排队与中断源的识别 (1)程序查询识别(软件查询法) (2)硬件串行顺序链识别(硬件查询法) (3)中断向量法识别 (4)单级中断处理和多级中断处理 4 、8086/8088对中断源的采样 有几条指令是在紧跟其后的一条指令也被执行完才去采样: 1)对段寄存器的装入指令 2)STI和IRET指令 3)WAIT指令 4)HLT指令 例:利用中断方式读取60H端口内容,并且在61H端口输出。中断类型号为0FH。 解: 中断类型号:0FH 程序过程: 主程序: 1、CLI 2、设置中断向量 3、STI 4、主程序内容 5、中断服务程序: 解: 程序: VECTAB SEGMENT AT 0000 ORG 00F0H ADDRP DW 2 DUP(?) VECTAB ENDS STACK SEGMENT DW 64 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK START: CLI ;1、关中断 解: PUSH DS ;2、设置中断矢量 MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ7SUB MOV SI, ADDRP MOV [SI],AX MOV AX,SEG IRQ7SUB MOV SI,ADDRP+2 MOV [SI],AX POP DS STI

文档评论(0)

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

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

1亿VIP精品文档

相关文档