8.2-8259A原理.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.2-8259A原理

操作命令字 OCW1 OCW1也称中断屏蔽字,直接对中断屏蔽寄存器IMR的各位进行置1或清0。当Mi位置1,相应IRi的中断请求将被屏蔽,清0则允许中断。 屏蔽某个IRi中断,并不影响其它脚上的中断请求。 允许随时读出IMR的内容,供CPU分析。 操作命令字 例8.7 某系统只允许键盘(IR1)中断,其余位均屏蔽,8259A口地址20H/21H,试写入中断屏蔽字。如系统中要新增键盘中断,其余屏蔽位不变,如何设置屏蔽字。 只允许键盘中断的程序段为: MOV AL ;D1=0,IR1没被屏蔽, ; 其余均被屏蔽 OUT 21H, AL 新增键盘中断的程序段为: IN AL, 21H ;用IN指令读屏蔽字 AND AL, ;仅D1清0,其余位不变 OUT 21H, AL ;写入修改后的屏蔽字 由于可对屏蔽寄存器进行读/写,因此可用程序测试屏蔽寄存器是否有问题。 下面介绍PC机的ROM BIOS中的一段程序。 操作命令字 例8.8 对8259A中断屏蔽寄存器IMR写入全0,然后读出看是否全0,若是则正确,否则转出错处理。再写入全1,作类似检查。程序如下: CLI MOV AL,0 ;OCW1,IMR各位清0 OUT 21H,AL IN AL, 21H ;AL←IMR,不影响FLAGS OR AL, AL ;IMR=0? JNZ D6 ;非0,转出错处理程序 MOV AL,0FFH ;是0,再将全1写入IMR寄存器 OUT 21H,AL ;写入OCW1 IN AL,21H ;读IMR ADD AL,1 ;IMR各位置1?全1+1应为00H JNZ D6 ;非,转出错处理程序 ┆ D6: ;出错处理程序 操作命令字 OCW2 OCW2 设置优先级循环方式和中断结束方式的命令字 操作命令字 OCW2各位有单独的含义: D4D3=00,是OCW2的标志位。 R(Rotate) R=1,优先级按循环方式设置,否则为非循环方式。 SL(Specific Level) SL=1,OCW2中的L2~L0有效,否则无效。 EOI(End of Interrupt) 结束中断命令。EOI=1,当前ISR寄存器相应位清0。当ICW4中的AEOI=0,即非自动结束中断时,可用它来结束中断。 L2~L0 在SL=1时,配合R、SL、EOI设置来确定一个中断优先级的编码,L2~L0的编码000~111,分别与IR0~IR7相对应。 操作命令字 R、SL、EOI组合设置,具有不同的意义: (1) R SL EOI=001,发EOI命令 在中断服务程序结束时,IRET指令前,发EOI命令结束中断,将服务寄存器中刚服务过的ISn位清0,结束中断。设置命令的方法是=20H输出到8259A的偶地址口中。EOI命令是最常用的中断结束命令。 例8.9 在PC机的中断服务程序中设置中断结束命令,使相应的IS n清0。程序段如下: MOV AL,20H ;OCW2的EOI命令 OUT 20H,AL ;发EOI命令 操作命令字 (2) R SL EOI=011,发SEOI命令 在中断服务程序结束时,发特殊结束中断命令SEOI,到底结束哪一级中断由L2~L0指定,将相应的ISn清0。 例8.10 发特殊结束中断SEOI命令,结束5级中断。 MOV AL ;OCW2的SEOI命令, ;L2~L0=101 OUT 20H,AL ;将IS5清0,结束5级中断 (3) R SL EOI=101,发EOI循环命令 采用EOI方式结束中断,将刚服务过的优先级最高的ISn清0,同时将刚结束的中断请求IRi的优先级设为最低级,使IRi+1置为最高级,将优先级置为自动循环方式。 操作命令字 (4) R SL EOI=100,设置AEOI循环命令 使8259A采用自动结束中断方式结束

文档评论(0)

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

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

1亿VIP精品文档

相关文档