📄 b13-1.asm
字号:
ORG 0000H
LJMP MAIN
ORG 1000H
MAIN: MOV 52H,#00H
MOV 53H,#00H
MOV 51H,#00H
MOV 50H,#00H
MOV R5, #53H
KEYSUB: MOV A,#03H
MOV DPTR,#7F00H
MOVX @DPTR,A
BEGIN: ACALL DIS
ACALL CLEAR
ACALL CCSCAN
JNZ INK1
AJMP BEGIN
INK1: ACALL DIS
ACALL DL1MS
ACALL DL1MS
ACALL CLEAR
ACALL CCSCAN
JNZ INK2
AJMP BEGIN
INK2: MOV R2,#0FEH
MOV R4,#00H
COLUM: MOV DPTR,#7F01H
MOV A,R2
MOVX @DPTR,A
INC DPTR
INC DPTR
MOVX A,@DPTR
JB ACC.0,LONE
MOV A,#00H
AJMP KCODE
LONE: JB ACC.1,NEXT
MOV A,#04H
KCODE: ADD A,R4
ACALL PUTBUF
PUSH ACC
KON: ACALL DIS
ACALL CLEAR
ACALL CCSCAN
JNZ KON
POP ACC
NEXT: INC R4
MOV A,R2
JNB ACC.3,KERR
RL A
MOV R2,A
AJMP COLUM
KERR: AJMP BEGIN
CCSCAN: MOV DPTR,#7F01H
MOV A,#00H
MOVX @DPTR,A
INC DPTR
INC DPTR
MOVX A,@DPTR
CPL A
ANL A,#03H
RET
CLEAR: MOV DPTR, #7F02H
MOV A,#00H
MOVX @DPTR,A
RET
DIS: PUSH ACC
PUSH 00H
PUSH 03H
MOV A,#03H
MOV DPTR,#7F00H
MOVX @DPTR,A
MOV R0,#50H
MOV R3,#0F7H
MOV A,R3
AGAIN: MOV DPTR,#7F01H
MOVX @DPTR,A
MOV A,@R0
MOV DPTR,#DSEG
MOVC A,@A+DPTR
MOV DPTR,#7F02H
MOVX @DPTR,A
ACALL DL1MS
INC R0
MOV A,R3
JNB ACC.0,OUT
RR A
MOV R3,A
AJMP AGAIN
OUT: POP 03H
POP 00H
POP ACC
RET
DSEG: DB 03FH,06H,05BH
DB 04FH,066H,06DH
DB 07DH,07H
DL1MS: MOV R7,#01H
DL0: MOV R6,#0FFH
DL1: DJNZ R6,DL1
DJNZ R7,DL0
RET
PUTBUF: PUSH 00H
PUSH ACC
MOV A,R5
MOV R0,A
POP ACC
MOV @R0,A
DEC R5
CJNE R5,#04FH,GOBACK
MOV R5,#53H
GOBACK: POP 00H
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -