设8255A的A口和B口工作在方式0,A口作为输入端口,接有8个开关;B口为输出端口,接有8个发光二极管。系统硬件电路如图所示,不断扫描开关Ki,当开关K0闭合时,点亮LED0、LED2、LED4、LED6,其它LED暗;当开关K1闭合时,点亮LED1、LED3、LED5、LED7,其它LED暗;当开关K0和K1同时闭合时退出。设8255A端口A、端口B、端口C及控制端口的地址分别为200H~ 203H。试编写程序。
CODE SEGMENT
ASSUME CS:CODE
START:MOV DX,203H
MOV AL,90H
OUT DX,AL ;8255初始化
AGAIN:MOV DX,200H
IN AL,DX
TEST AL,01H ;检测:K0
JZ DISP0
TEST AL,02H ;检测:K1
JZ DISP1
TEST AL,03H ;检测:K0、K1
JZ NEXT
JMP AGAIN
DISP0:MOV DX,201H
MOV AL,0AAH ;偶位上LED亮,奇位上LED暗
OUT DX,AL
JMP AGAIN
DISP1:MOV DX,201H
MOV AL,55H ;奇位上LED亮,偶位上LED暗
OUT DX,AL
JMP AGAIN
EXIT:MOV AH,4CH
INT 21H
CODE ENDS
END START