第6章-输入输出与中断.pptVIP

  1. 1、本文档共48页,可阅读全部内容。
  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文档。上传文档
查看更多
第6章-输入输出与中断

(四)外部中断 外部的某个事件引起的中断称为外部中断。如输入输出设备和协处理器等引起的中断就是外部中断。外部中断以完全随机的方式中断现行程序。8086/8088有两条外部中断请求线:INTR接受可屏蔽中断请求,NMI 接受非屏蔽中断请求。 1、可屏蔽中断 在IBM PC系列及其兼容机中,键盘和硬盘等外设的中断请求都通过中断控制器8259A(芯片)传给可屏蔽中断请求线INTR,中断控制器8259A共能接收8个独立的中断请求信号IRQ0至IRQ7。中断控制器8259A在控制外设中断方面起着重要的作用。如果接收到一个中断请求信号,并且满足一定的条件,那么它就把中断请求信号传到CPU的可屏蔽中断请求线INTR,使CPU感知到有外部中断请求;同时也把相 应的中断类型号送给CPU,使CPU在响应这些中断时可根据中断类型号取得中断向量,转相应的中断处理程序。 从普通汇编语言程序设计者的角度看,中断控制器8259A包含两个寄存器:中断屏蔽寄存器和中断命令寄存器,它们决定了传出一个中断请求信号的条件。中断屏蔽寄存器的I/O端口地址是21H,它的8位对应控制8个外部设备,通过设置这个寄存器的某位为0或为1来允许或禁止相应外部设备中断。当第I位为0时,表示允许传出来自IRQi 的中断请求信号,当第I 位为1时,表示禁止传出来自IRQi 的中断请求信号。中断屏蔽寄存器的内容称为中断屏蔽字。 例如:为了使中断控制器8259A只传出来自键盘的中断请求信号,可设置中断屏蔽,程序片段如下: 7 6 5 4 3 2 1 0 打印机 定时器 软盘 键盘 硬盘 保留 串行口2 串行口1 图 中断屏蔽寄存器 MOV AL OUT 21H,AL 例如:下面的程序片段使中断屏蔽寄存器的位3为0,从而允许传出来自串行通信口1的中断请求信号: IN AL,21H AND AL OUT 21H,AL 如果IF为0,则CPU仍不响应由INTR传如的中断请求;只有在IF为1时,CPU才响应由INTR传入的中断请求。所以,由INTR传入的外部中断请求称为可屏蔽的外部中断请求,由此引起的中断称为可屏蔽中断。当IF为1时,才响应外设中断请求。CPU响应外设中断请求称为开中断(IF=1),反之撤为关中断(IF=0)。CPU在响应中断时会自动关中断,从而避免在中断过程中再响应其他外设中断。 * * 第六章 输入输出与中断 本章主要掌握的要点 1、掌握I/O的概念及指令 2、掌握中断的传送方式 一、输入和输出的基本概念 每种输入输出设备都要通过一个硬件接口或控制器和CPU相连。程序利用I/O指令,存取接口上的寄存器,获得外部设备的状态信息,控制外部设备的动作,从而实现输入输出。 (一) I/O端口地址和I/O指令 1、I/O端口地址 为了存取接口上的寄存器,系统给这些寄存器分配专门的存取地址,这样的地址称为I/O端口地址。在以Intel的80X86家族处理器为CPU的系统中,I/O端口地址和存储单元的地址是各自独立的,分占两个不同的地址空间。 8086/8088提供的I/O端口地址空间达64K,因而可接64K个8位端口,或可接32K个16位端口。 2、I/O指令 由于某种原因8086/8088的I/O端口地址和内存单元地址是独立的。所以要用专门的I/O指令来存取端口上的寄存器,也就是说要用专门的I/O指令进行输入输出。 (1) 输入指令 输入指令的一般格式如下: IN 累加器,端口地址 端口地址可采用直接方式表示,也可采用间接方式表示。当采用直接方式表示端口地址时,端口地址仅为8位,即0~255;输入指令格式: IN AL,PORT ;AL〈==(PORT) IN AX,PORT ;A

文档评论(0)

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

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

1亿VIP精品文档

相关文档