- 1、本文档共89页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 输入输出程序设计
第六章 输入输出程序设计 6.1 输入输出基本概念 6.2 输入输出指令及其应用 6.3 数据传送方式 6.4 BIOS中断调用方式 6.5 磁盘文件管理 6.1 输入输出基本概念 输入输出程序是利用一组I/O指令存取外设接口中的寄存器(通过端口地址寻址),从而使主机获得外设的状态信息,控制外设的各种动作,最终实现输入和输出。 6.2 输入输出指令及其应用 输入指令(I/O ? CPU) 指令格式 : IN AL, PORT (字节) IN AX, PORT (字) 执行操作: (AL) ? (PORT) (字节) (AX) ? (PORT+1, PORT)(字) 指令格式 : IN AL, DX (字节) IN AX, DX (字) 执行操作:(AL) ? ( (DX) ) (字节) (AX) ? ( (DX)+1, (DX) )(字) 输出指令(CPU ? I/O) 指令格式: OUT PORT, AL (字节) OUT PORT, AX (字) 执行操作: (PORT) ? (AL) (字节) (PORT+1, PORT) ? (AX)(字) 指令格式: OUT DX, AL (字节) OUT DX, AX (字) 执行操作: ( (DX) ) ? (AL) (字节) ( (DX)+1, (DX) ) ? (AX)(字) 输入输出指令使用时注意: * 不影响标志位 * 前256个端口号00H~FFH可直接在指令中指定 * 如果端口号? 256,端口号 ? DX 6.3 数据传送方式 1、无条件传送方式 2、查询方式 3、中断方式 4、直接存储器传送方式(DMA) 1、无条件传送方式 在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送 适合于简单设备,如LED数码管、按键或按纽等 无条件传送的接口和操作均十分简单 这种传送有前提:外设必须随时就绪 【例6.1】用一个8位输出锁存器控制8个发光二极管,使发光管从上向下依次一个一个地闪亮,每个发光管亮一段规定的时间。设输出锁存器的地址为84H。 START:MOV AL,01H ;控制代码01H→AL NEXT: OUT 84H,AL ;(AL)→84H CALL DELAY ;延时一定时间 ROL AL,1 ;控制代码循环左移1位 JMP NEXT ;无条件转NEXT继续程序循环 DELAY PROC ;定义延时子程序DELAY PUSH AX MOV AX,COUNT TIME: DEC AX JNZ TIME POP AX RET ;返回调用程序 DELAY ENDP ;子程序调用结束 2、查询方式 ⑴ 查询环节 寻址状态口 读取状态寄存器的标志位 若不就绪就继续查询,直至就绪 ⑵ 传送环节 寻址数据口 是输入,通过输入指令从数据端口读入数据 是输出,通过输出指令向数据端口输出数据 【例6.2】假设从某输入设备上输入一组数据送缓冲区,接口电路如图所示: DATA SEGMENT BUFF DB 60 DUP(?) DATA E
文档评论(0)