5.用查询方式的打印机接口如图:已知 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
第五类、分支结构
1.设变量 x 字单元的值为带符号数,x 和 y 为字单元的变量,编写程序,按以下
要求给 y 赋值。
DATA SEGMENT
x DW 5
y DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AX,x
CMP AX,30
JG MAX
CMP AX,1
JL MIN
MOV y,0
JMP EXIT
MAX:MOV y,2
JMP EXIT
MIN:MOV y,-2
EXIT:MOV AH,4CH
INT 21H
CODE ENDS
END START