用查询方式的打印机接口如图:已知8255A的A口作为输出打印的数据口,工作于方式0,PC口高4位工作于输出方式,PC6产生STB信号,PC口低4位工作于输入方式,PC2接收打印机的BUSY信号。设打印字符存放在数据段中有效地址为1000H的内存单元。请设计打印程序。(8255A的端口地址位80H~83H)
CODE SEGMENT
ASSUME CS:CODE
START:MOV AL,81H
OUT 83H,AL ;8255A初始化
MOV AL,0DH
OUT 83H,AL ;设置PC6=1,选通无效
AGAIN:IN AL,82H
TEST AL,04H ;是否繁忙
JNZ AGAIN
MOV AL,[1000H]
OUT 80H,AL ;输出打印
MOV AL,0CH
OUT 83H,AL ;设置PC6=0,选通有效
MOV AL,0DH
OUT 83H,AL ;设置PC6=1,选通无效
MOV AH,4CH
INT 21H
CODE ENDS
END START