9-中断控制器-1课件.pptVIP

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
作业 P262 9.1, 9.3 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 该片8259A的初始化设置的程序段如下: MOV AL,13H ;ICW1 OUT 20H,AL ; ICW1写入A0=0端口 MOV AL,08H ;ICW2 OUT 21H,AL ; ICW2写入A0=1端口 MOV AL,0DH ;ICW4 OUT 21H,AL ;ICW4写入A0=1端口 * 【例】在IBM PC/AT机中使用2片8259A构成主从式中断控制器。从片的INT与主片的IRQ2相连。 主片的中断类型号为08H~0FH,端口地址为20H、21H; 从片的中断类型号为70H~77H,端口地址为A0H、A1H。 主从片的中断请求信号均采用边沿触发,采用缓冲、非自动中断结束方式。试按照上述要求对8259A设置初始化命令字: 8259 从片 INT 8259 主片 IR2 ICW3(主)04H ICW3(从)02H * 主片初始化段如下: MOV AL ;ICW1:边沿触发、级联、设 置ICW4 OUT 20H,AL MOV AL ;ICW2:中断类型号为08H~0FH OUT 21H,AL MOV AL ;ICW3:主片IRQ2接有从片 OUT 21H,AL MOV AL ;ICW4:特殊全嵌套、缓冲/主片、EOI方式 OUT 21H,AL * 从片初始化段如下: MOV AL ;ICW1:边沿触发、级联、设置ICW4 OUT 0A0H,AL MOV AL ;ICW2:中断类型号为70H~77H OUT 0A1H,AL MOV AL ;ICW3:从片标识码,即接主片的IRQ2 OUT 0A1H,AL MOV AL ;ICW4:普通全嵌套、缓冲/从片、EOI方式 OUT 0A1H,AL * 对8259A用初始化命令字初始化后,就进入工作状态,可以接收IRi输入的中断请求,并按系统默认方式来管理中断。在系统运行时,可以根据程序需要,随时写入操作命令字,对中断管理方式进行动态地设置和修改。 操作命令字OCW * OCW1是中断屏蔽操作命令字,直接对IMR的相应位进行设置。其格式如图所示。 A0=1:表示要把OCW1写入8259A的奇地址端口。 M7~M0:将Mi置1,就是屏蔽了IRi 的中断请求信号。 将Mi置0,就是允许IRi 的中断请求信号。 OCW1 * 中断屏蔽寄存器IMR中的内容还可以读出。 方法是直接用IN指令访问8259的A0=1端口 【例】 试编程实现下列要求:屏蔽IR5、IR4和IR1引脚上的中断请求,而不改变其余的中断屏蔽情况。 8259A的端口地址为20H、21H。 程序段如下: IN AL,21H ;读取IMR的当前值 OR AL ;OCW1:D5、D4、D1位置1 OUT 21H,AL * 例8: 操作系统的BIOS中有一段检查IMR的程序,如下 MOV AL,0 OUT 21H,AL ;置IMR=00H IN AL,21H ;读IMR OR AL,AL JNZ D6 ;非零则转D6 MOV AL, 0FFH OUT 21H,AL; 置IMR=FFH IN AL,21H ADD AL,1 ; FFH+1是否为零 JNZ D6 ;非零则转D6 : D6: 处理出错程序 写00H →IMR 检查IMR是否=0 如果出错转D6 写FFH →IMR 检查IMR是否=FFH 如果出错转D6 * 功能:设置/改变中断优先级模

文档评论(0)

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

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

1亿VIP精品文档

相关文档