设8255A的A口和B口工作在方式0,A口作为输入端口,接有8个开关;B口为输出端口,接有8个发光二极管。

设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。试编写程序。

设8255A的A口和B口工作在方式0,A口作为输入端口,接有8个开关;B口为输出端口,接有8个发光二极管。_第1张图片

CODE SEGMENT
    ASSUME CS:CODE
START:MOV DX,203H
      MOV AL,90H
      OUT DX,AL     ;8255A初始化
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

你可能感兴趣的:(#,汇编语言编程题,汇编语言)