安徽理工太骨计算机科学与技术系李兆 《汇编语言》第8章 程序直接控制O方式分:无条件传送方式 和条件传送方式 1)无条件传送 无条件:每次进行输入/输出之前,不需要查 询外设的状态 2)有条件传送 又称查询式传送,在每次输入/输出之前,先要 读取外设的状态,满足一定的条件才能进行一 次T/o操作。 2021/22 16
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第8章 2021/2/2 16 程序直接控制I/O方式分:无条件传送方式 和条件传送方式 1)无条件传送 无条件:每次进行输入/输出之前,不需要查 询外设的状态. 2)有条件传送 又称查询式传送,在每次输入/输出之前,先要 读取外设的状态,满足一定的条件才能进行一 次I/O操作
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第8章 【例】向打印机输出字符。 C DB DB P STB 打印机 AB飞 打印机控制器 BUSY CB 图打印机连接示意图 2021/22 17
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第8章 2021/2/2 17 C P U 打 印 机 控 制 器 打 印 机 DB STB BUSY CB DB AB 图 打印机连接示意图 【例】向打印机输出字符
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第8章 打印机初始化4 输出打印字符 读打印机状态← 打印机“”24 发选通信号 输出完毕N Y 2021/22 结束
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第8章 2021/2/2 18
嵌骰理工大骨计算机科学与技术系李豪兆 《汇编语言》第8章 1源程序 MOV BX, OFFSET, BUFFER;置缓冲区偏移量 MOV CX. CHRTL ;置输出字符计数器 BG: MOV ALIBX ;取字符 MOV DX.378H ;输出字符到数据寄存器 OUT DXAL MOV DX.379H ;读打印机状态 WT: IN AL.DX TEST AL. 80H 判“忙’否? JZ WT ;忙,重査询 MOV DX37AH ;形成选通信号 MOV AL.ODH ;令打印机打印字符 OUT DX.AL MOV ALOCH OUT DXAL INC BX ;指向下一输出字符 LOOP BG 2021/22 19
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第8章 2021/2/2 19 : ┆源程序 MOV BX ,OFFSET,BUFFER ;置缓冲区偏移量 MOV CX,CHRTL ;置输出字符计数器 BG: MOV AL,[BX] ;取字符 MOV DX,378H ;输出字符到数据寄存器 OUT DX,AL MOV DX,379H ;读打印机状态 WT: IN AL,DX TEST AL,80H ;判‘忙’否? JZ WT ;忙,重查询 MOV DX,37AH ;形成选通信号 MOV AL,0DH ;令打印机打印字符 OUT DX,AL MOV AL,0CH OUT DX,AL INC BX ;指向下一输出字符 LOOP BG ┆
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第8章 在看一个例子 Cpu要从三个设备轮流输入数据, procl proc2、proc3分别是设备1、设备2、设备3 的数据输入程序,他们的状态寄存器的端口 地址分别为sat1、stat2、stat3表示,这三 个状态寄存器的第五位是输入准备位。 2021/22
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第8章 2021/2/2 20 在看一个例子 Cpu要从三个设备轮流输入数据,proc1、 proc2、 proc3分别是设备1、设备2、设备3 的数据输入程序,他们的状态寄存器的端口 地址分别为stat1、stat2、stat3表示,这三 个状态寄存器的第五位是输入准备位