ORG 0000H AJMP MAIN ORG 001BH AJMP INT_0 ORG 0030H MAIN: MOV 70H,#00H MOV 71H,#00H MOV 72H,#00H MOV 73H,#00H MOV 75H,#00H MOV DPTR,#0FF82H MOV A,#0D1H MOVX @DPTR,A WAIT: MOVX A,@DPTR JB ACC.7,WAIT MOV A,#00H MOVX @DPTR,A MOV A,#2AH MOVX @DPTR,A LCALL DISP LP1: MOV DPTR,#0FF82H MOVX A,@DPTR ANL A,#3FH JZ LP1 LCALL KEY JBC F0,START AJMP LP1 START: MOV P1,#01H MOV 75H,#0BH MOV A,#4B0H LCALL HBCD LCALL TRANS LCALL DISP RET LP2: MOV DPTR,#0FF82H MOVX A,@DPTR ANL A,#3FH JZ LP2 LCALL GETKEY CJNE A,#0BH,YY AJMP MAIN YY: CJNE A,#0CH,RETURN2 AJMP START1 RETURN2: RETI START1: MOV P1,#02H MOV 75H,#0CH MOV A,#4B0H LCALL HBCD LCALL TRANS LCALL DISP RET KEY: LCALL GETKEY CJNE A,#0AH,RETURN1 SETB F0 AJMP RETURN1 RETURN1:RET GETKEY: MOV A,#40H MOV DPTR,#0FF82H MOVX @DPTR,A MOV DPTR,#0FF80H MOVX A,@DPTR ANL A,#3FH MOV R4,A RET TRANS: MOV R0,#42H MOV R1,#70H MOV R7,#03H LAST:MOV A,@R0 ANL A,#0FH MOV @R1,A MOV A,@R0 ANL A,#0F0H SWAP A INC R1 MOV @R1,A INC R1 DEC R0 DJNZ R7,LAST RET HBCD: CLR A MOV 40H,A MOV 41H,A MOV 42H,A MOV R2,#10H HB3: MOV A,R5 RLC A MOV R5,A MOV A,R4 RLC A MOV R4,A MOV A,42H ADDC A,42H DA A MOV 42H,A MOV A,41H ADDC A,41H DA A MOV 41H,A MOV A,40H ADDC A,40H MOV 40H,A DJNZ R2,HB3 RET DISP: MOV DPTR,#0FF82H MOV A,#90H MOVX @DPTR,A MOV R1,#70H MOV R7,#04H MOV DPTR,#0FF80H LOOP:MOV A,@R1 ADD A,#05H MOVC A,@A+PC MOVX @DPTR,A INC R1 DJNZ R7,LOOP RET DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH ,0AH,0BH END