《汇编语言程序设计》-相伟-电子教案第8章.ppt

《汇编语言程序设计》-相伟-电子教案第8章.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
21世纪高等院校规划教材 第八章 输入输出与中断 本章学习目标 通过本章学习,读者应该掌握以下内容: 输入输出及输入输出控制方式 中断技术 DOS与BIOS中断调用 8.1 输入输出 一般来说,I/O接口的需要解决以下问题: ① 速度匹配 ② 信号电平匹配 ③ 信息格式及类型转换 ④ 时序匹配 8.1.1 输入输出概述 1.CPU与I/O设备之间交换的信息类型 ① 数据信息 ② 状态信息 ③ 控制信息 2.端口的编址方式 ① I/O端口与存储器统一编址 ② I/O端口单独编址 8.1.2 输入输出指令 1. IN指令 用来从指定的端口地址中取数据送入累加器里。 IN AL,PORT IN AX,PORT IN AL,DX IN AX,DX 2.OUT指令 用来把累加器的内容送往指定的外设端口中。 OUT PORT,AL OUT PORT,AX OUT DX,AL OUT DX,AX 例如: IN AL ,40H ;(40H)→AL OUT 80H,AL ;AL→(80H) MOV DX,379H IN AL,DX ;(379H)→AL 1.无条件传送方式 例8-1 假设有一个包含8个开关的输入接口电路,其端口地址为80H,读取开关数据并存入BUF单元。 则程序段为: LEA BX,BUF IN AL,80H MOV [BX] ,AL 例8-2 假设有一个包含8个LED的输出接口电路,其端口地址为82H,编写程序显示TAB缓冲区中的20个数据,每个数据的显示间隔是5s。 则程序段为: LEA SI,TAB MOV CX,20 LP: MOV AL,[SI] INC SI OUT 82H,AL CALL DELAR5s LOOP LP 2.查询传送方式 CPU在与外部设备交换数据时,很难保证输入设备已经准备好了数据,或者是输出设备已经处在可以接收数据的状态。因此,一般要在外部设备准备就绪并且I/O接口已经做好数据传送的情况下,才能进行数据传送,这种传送方式成为查询传送方式。 例8-3 假设有一个输入接口电路,其状态端口地址为SADDR1,状态字的D0位为1表示数据准备好,数据端口地址为DADDR1,现以查询方式输入COUNT1个数据,输入的数据存放在BUF缓冲区。 则实现查询输入数据的程序段为: LEA BX,BUF MOV CX,COUNT1 LP: IN AL,SADDR1 TEST AL,01H JZ LP IN AL,DADDR1 MOV [BX],AL INC BX LOOP LP 例8-4 假设有一个输出接口电路,其状态端口地址为SADDR2,状态字的D1位为1表示外设空闲,数据端口地址为DADDR2,现以查询方式将TAB缓冲区中的COUNT2个数据输出。 则实现查询输出数据的程序段为: LEA BX,TAB MOV CX,COUNT2 LP: IN AL,SADDR2 TEST AL,02H JNZ LP OUT DADDR2,AL INC BX LOOP LP 3.中断传送方式 采用中断方式后, CPU首先执行主程序,等待中断的发生。当输入设备将数据准备好,或者输出设备空闲时,便通过I/O接口向CPU发申请中断。CPU在每执行完一条指令之后都会检查是否有中断请求,只要满足中断响应条件,CPU就暂停执行当前的程序,转向执行中断处理程序,进行数据传送,等传送完成后,CPU返回到被中断的程序,继续进行原来的工作。 4.DMA方式 DMA方式是由DMA控制器来实现对存储器的直接访问,控制存储器和I/O设备之间的数据传送的。DMA方式克服了程序查询方式和中断方式的弊端,用DMA控制器来控制存储器和I/O设备之间的数据传送时,并不经过CPU,传输过程中CPU不占用总线,这样,传输时就不需要保存断点等额外操作了。另外,整个控制数据块传送的过程,包括地址增量和计数器减量的操作,都是由硬件控制完成的,而不像前面提到的方式要依靠软件编程来实现,因而大大缩短了数据传送的控制时间,提高了整个系统的处理效率。 8.2 中断 在微型计算机系统中,广泛地采用了中断技术,如BIOS中断、DOS中断、中断控制器8259A管理的外部中断等。 8.2.1 8086/8088CPU的中断源 中断是由于CPU的内部原因或外部请求而引发的。引发中断请求的来源称为中断源。 8086/8088CPU最多有2

文档评论(0)

经管专家 + 关注
实名认证
内容提供者

各类文档大赢家

版权声明书
用户编号:6055234005000000

1亿VIP精品文档

相关文档