文档详情

第六章 输入输出程序设计.ppt

发布:2017-06-21约字共89页下载文档
文本预览下载声明
第六章 输入输出程序设计 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
显示全部
相似文档