📄 51.asm
字号:
MOV 0xCB,A ;C:0x0157 F5CB MOV 0xCB,A
MOV 0xCD,A ;C:0x0159 F5CD MOV 0xCD,A
;
; initialize timer2 for 8052
;
MOV T2CON,#0x34 ;C:0x015B 75C834 MOV T2CON,#0x34
;
; initialize serial port, and wait for sync code: 0x11
;
MOV SCON,#0x5A ;C:0x015E 75985A MOV SCON,#0x5A
L_0161:
CLR RI ;C:0x0161 C298 CLR RI
JNB RI,$ ;C:0x0163 3098FD JNB RI,C:0163
MOV A,SBUF ;C:0x0166 E599 MOV A,SBUF
CJNE A,#0x11,L_0161 ;C:0x0168 B411F6 CJNE A,#0x11,C:0161
LJMP L_0546 ;C:0x016B 020546 LJMP C:0546
;
; wait for INT1 released
; timeout: 0x40*0x60*1us
;
L_016E:
MOV R6,#0x60 ;C:0x016E 7E60 MOV R6,#0x60
L_0170:
MOV R5,#0x40 ;C:0x0170 7D40 MOV R5,#0x40
DJNZ R5,$ ;C:0x0172 DDFE DJNZ R5,C:0172
DJNZ R6,L_0170 ;C:0x0174 DEFA DJNZ R6,C:0170
JNB INT1,L_016E ;C:0x0176 30B3F5 JNB INT1,C:016E
MOV R6,#0x60 ;C:0x0179 7E60 MOV R6,#0x60
L_017B:
MOV R5,#0x40 ;C:0x017B 7D40 MOV R5,#0x40
DJNZ R5,$ ;C:0x017D DDFE DJNZ R5,C:017D
DJNZ R6,L_017B ;C:0x017F DEFA DJNZ R6,C:017B
JNB INT1,L_016E ;C:0x0181 30B3EA JNB INT1,C:016E
;
; push 0x8000 to stack, and reset DPL
;
L_0184:
MOV DPL,#0x00 ;C:0x0184 758200 MOV DPL,#0x00
PUSH DPL ;C:0x0187 C082 PUSH DPL
MOV DPL,#0x80 ;C:0x0189 758280 MOV DPL,#P0(0x80)
PUSH DPL ;C:0x018C C082 PUSH DPL
MOV DPL,#0x00 ;C:0x018E 758200 MOV DPL,#0x00
RET ;C:0x0191 22 RET
;
; get RI to C
;
L_0192:
MOV C,RI ;C:0x0192 A298 MOV C,RI
RET ;C:0x0194 22 RET
;
; get TI to C
;
L_0195:
MOV C,TI ;C:0x0195 A299 MOV C,TI
RET ;C:0x0197 22 RET
;
; txd
;
L_0198:
MOV A,SBUF ;C:0x0198 E599 MOV A,SBUF
RET ;C:0x019A 22 RET
;
; rxd
;
L_019B:
MOV SBUF,A ;C:0x019B F599 MOV SBUF,A
RET ;C:0x019D 22 RET
L_019E:
CLR TI ;C:0x019E C299 CLR TI
RET ;C:0x01A0 22 RET
L_01A1:
SETB TI ;C:0x01A1 D299 SETB TI
RET ;C:0x01A3 22 RET
L_01A4:
CLR RI ;C:0x01A4 C298 CLR RI
RET ;C:0x01A6 22 RET
;
; disable ES
;
CLR ES ;C:0x01A7 C2AC CLR ES
RET ;C:0x01A9 22 RET
;
; enable ES
;
SETB ES ;C:0x01AA D2AC SETB ES
RET ;C:0x01AC 22 RET
RET ;C:0x01AD 22 RET
RET ;C:0x01AE 22 RET
MOVX @DPTR,A ;C:0x01AF F0 MOVX @DPTR,A
RET ;C:0x01B0 22 RET
DB 0x60 DUP (0)
AT 0x300
DB 0x100 DUP (0)
AT 0x300
;
; save status to: 0xFF08
;
PUSH DPL ;C:0x0300 C082 PUSH DPL
PUSH DPH ;C:0x0302 C083 PUSH DPH
MOV DPTR,#0xFF08 ;C:0x0304 90FF08 MOV DPTR,#0xFF08
MOVX @DPTR,A ;C:0x0307 F0 MOVX @DPTR,A
MOV A,PSW ;C:0x0308 E5D0 MOV A,PSW
INC DPTR ;C:0x030A A3 INC DPTR
MOVX @DPTR,A ;C:0x030B F0 MOVX @DPTR,A
CLR A ;C:0x030C E4 CLR A
MOV PSW,A ;C:0x030D F5D0 MOV PSW,A
XCH A,IE ;C:0x030F C5A8 XCH A,IE
INC DPTR ;C:0x0311 A3 INC DPTR
MOVX @DPTR,A ;C:0x0312 F0 MOVX @DPTR,A
POP ACC ;C:0x0313 D0E0 POP ACC
INC DPTR ;C:0x0315 A3 INC DPTR
MOVX @DPTR,A ;C:0x0316 F0 MOVX @DPTR,A
POP ACC ;C:0x0317 D0E0 POP ACC
INC DPTR ;C:0x0319 A3 INC DPTR
MOVX @DPTR,A ;C:0x031A F0 MOVX @DPTR,A
POP ACC ;C:0x031B D0E0 POP ACC
INC DPTR ;C:0x031D A3 INC DPTR
MOVX @DPTR,A ;C:0x031E F0 MOVX @DPTR,A
POP ACC ;C:0x031F D0E0 POP ACC
INC DPTR ;C:0x0321 A3 INC DPTR
MOVX @DPTR,A ;C:0x0322 F0 MOVX @DPTR,A
INC DPTR ;C:0x0323 A3 INC DPTR
CLR A ;C:0x0324 E4 CLR A
MOVC A,@A+DPTR ;C:0x0325 93 MOVC A,@A+DPTR
XCH A,SP ;C:0x0326 C581 XCH A,SP
MOVX @DPTR,A ;C:0x0328 F0 MOVX @DPTR,A
MOV A,B ;C:0x0329 E5F0 MOV A,B
INC DPTR ;C:0x032B A3 INC DPTR
MOVX @DPTR,A ;C:0x032C F0 MOVX @DPTR,A
MOV A,R0 ;C:0x032D E8 MOV A,R0
INC DPTR ;C:0x032E A3 INC DPTR
MOVX @DPTR,A ;C:0x032F F0 MOVX @DPTR,A
MOV R0,#0x00 ;C:0x0330 7800 MOV R0,#0x00
L_0332:
INC R0 ;C:0x0332 08 INC R0
INC DPTR ;C:0x0333 A3 INC DPTR
CLR A ;C:0x0334 E4 CLR A
MOVC A,@A+DPTR ;C:0x0335 93 MOVC A,@A+DPTR
XCH A,@R0 ;C:0x0336 C6 XCH A,@R0
MOVX @DPTR,A ;C:0x0337 F0 MOVX @DPTR,A
MOV A,R0 ;C:0x0338 E8 MOV A,R0
CJNE A,#0x6F,L_0332 ;C:0x0339 B46FF6 CJNE A,#0x6F,C:0332
LCALL L_01AE ;C:0x033C 1201AE LCALL L_01AE
LCALL L_03A0 ;C:0x033F 1203A0 LCALL L_03A0
LCALL L_0CDC ;C:0x0342 120CDC LCALL L_0CDC
LCALL L_0BDB ;C:0x0345 120BDB LCALL L_0BDB
LCALL L_0AF3 ;C:0x0348 120AF3 LCALL L_0AF3
LCALL L_0AF3 ;C:0x034B 120AF3 LCALL L_0AF3
LCALL L_0AF3 ;C:0x034E 120AF3 LCALL L_0AF3
LCALL L_0BDB ;C:0x0351 120BDB LCALL L_0BDB
MOV DPTR,#0xFF0D ;C:0x0354 90FF0D MOV DPTR,#0xFF0D
MOV A,R0 ;C:0x0357 E8 MOV A,R0
MOVX @DPTR,A ;C:0x0358 F0 MOVX @DPTR,A
INC DPTR ;C:0x0359 A3 INC DPTR
MOV A,R1 ;C:0x035A E9 MOV A,R1
MOVX @DPTR,A ;C:0x035B F0 MOVX @DPTR,A
LCALL L_01A1 ;C:0x035C 1201A1 LCALL L_01A1
RET ;C:0x035F 22 RET
MOV R2,#0x01 ;C:0x0360 7A01 MOV R2,#0x01
LCALL L_0CDC ;C:0x0362 120CDC LCALL L_0CDC
MOV R6,0x01 ;C:0x0365 AE01 MOV R6,0x01
MOV R5,0x00 ;C:0x0367 AD00 MOV R5,0x00
L_0369:
LCALL L_0C13 ;C:0x0369 120C13 LCALL L_0C13
CJNE A,#0x01,L_039B ;C:0x036C B4012C CJNE A,#0x01,C:039B
PUSH DPH ;C:0x036F C083 PUSH DPH
PUSH DPL ;C:0x0371 C082 PUSH DPL
LCALL L_0BD1 ;C:0x0373 120BD1 LCALL L_0BD1
CLR C ;C:0x0376 C3 CLR C
MOV A,R6 ;C:0x0377 EE MOV A,R6
SUBB A,R1 ;C:0x0378 99 SUBB A,R1
MOV R4,A ;C:0x0379 FC MOV R4,A
MOV A,R5 ;C:0x037A ED MOV A,R5
SUBB A,R0 ;C:0x037B 98 SUBB A,R0
JNZ L_038A ;C:0x037C 700C JNZ C:038A
CJNE R4,#0x02,L_0381 ;C:0x037E BC0200 CJNE R4,#0x02,C:0381
L_0381:
JNC L_038A ;C:0x0381 5007 JNC C:038A
MOV 0x28,#0x08 ;C:0x0383 752808 MOV 0x28,#0x08
MOV A,#0x01 ;C:0x0386 7401 MOV A,#0x01
SJMP C:0396 ;C:0x0388 800C SJMP C:0396
L_038A:
MOV A,#0x12 ;C:0x038A 7412 MOV A,#0x12
LCALL L_0BE6 ;C:0x038C 120BE6 LCALL L_0BE6
MOV A,#0x02 ;C:0x038F 7402 MOV A,#0x02
LCALL L_0BE6 ;C:0x0391 120BE6 LCALL L_0BE6
MOV A,#0x03 ;C:0x0394 7403 MOV A,#0x03
POP DPL ;C:0x0396 D082 POP DPL
POP DPH ;C:0x0398 D083 POP DPH
MOVX @DPTR,A ;C:0x039A F0 MOVX @DPTR,A
INC R2 ;C:0x039B 0A INC R2
CJNE R2,#0x0C,L_0369 ;C:0x039C BA0CCA CJNE R2,#0x0C,C:0369
RET ;C:0x039F 22 RET
;
;
;
L_03A0:
MOV R2,#0x0B ;C:0x03A0 7A0B MOV R2,#0x0B
LCALL L_0C13 ;C:0x03A2 120C13 LCALL L_0C13
CJNE A,#0x03,L_03B4 ;C:0x03A5 B4030C CJNE A,#0x03,C:03B4
MOV A,#0x01 ;C:0x03A8 7401 MOV A,#0x01
MOVX @DPTR,A ;C:0x03AA F0 MOVX @DPTR,A
LCALL L_0BD1 ;C:0x03AB 120BD1 LCALL L_0BD1
LCALL L_0BE4 ;C:0x03AE 120BE4 LCALL L_0BE4
LCALL L_0BE4 ;C:0x03B1 120BE4 LCALL L_0BE4
DJNZ R2,L_03A2 ;C:0x03B4 DAEC DJNZ R2,C:03A2
MOV A,#0x81 ;C:0x03B6 7481 MOV A,#SP
SETB 0x22.0 ;C:0x03B8 D210 SETB 0x22.0
MOV R0,A ;C:0x03BA F8 MOV R0,A
SJMP L_03C1 ;C:0x03BB 8004 SJMP C:03C1
MOV R0,#0x81 ;C:0x03BD 7881 MOV R0,#SP
CLR 0x22.0 ;C:0x03BF C210 CLR 0x22.0
MOV DPTR,#0xFF08 ;C:0x03C1 90FF08 MOV DPTR,#0xFF08
CJNE R0,#0x8E,L_03C9 ;C:0x03C4 B8E002 CJNE R0,#0xE0,C:03C9
SJMP L_03ED ;C:0x03C7 8024 SJMP C:03ED
INC DPTR ;C:0x03C9 A3 INC DPTR
CJNE R0,#0xD0,L_03CF ;C:0x03CA B8D002 CJNE R0,#PSW,C:03CF
SJMP L_03ED ;C:0x03CD 801E SJMP C:03ED
INC DPTR ;C:0x03CF A3 INC DPTR
CJNE R0,#0xA8,L_03D5 ;C:0x03D0 B8A802 CJNE R0,#IE,C:03D5
SJMP L_03ED ;C:0x03D3 8018 SJMP C:03ED
INC DPTR ;C:0x03D5 A3 INC DPTR
CJNE R0,#0x83,L_03DB ;C:0x03D6 B88302 CJNE R0,#DPH,C:03DB
SJMP L_03ED ;C:0x03D9 8012 SJMP C:03ED
INC DPTR ;C:0x03DB A3 INC DPTR
CJNE R0,#0x82,L_03E1 ;C:0x03DC B88202 CJNE R0,#DPL,C:03E1
SJMP L_03ED ;C:0x03DF 800C SJMP C:03ED
MOV DPTR,#0xFF0F ;C:0x03E1 90FF0F MOV DPTR,#0xFF0F
CJNE R0,#0x81,L_03E9 ;C:0x03E4 B88102 CJNE R0,#SP,C:03E9
SJMP C:03ED ;C:0x03E7 8004 SJMP C:03ED
L_03E9:
INC DPTR ;C:0x03E9 A3 INC DPTR
CJNE R0,#0xF0,L_03F5 ;C:0x03EA B8F008 CJNE R0,#B,C:03F5
L_03ED:
JB 0x22.0,L_03F2 ;C:0x03ED 201002 JB 0x22.0,C:03F2
MOVX @DPTR,A ;C:0x03F0 F0 MOVX @DPTR,A
RET ;C:0x03F1 22 RET
L_03F2:
CLR A ;C:0x03F2 E4 CLR A
MOVC A,@A+DPTR ;C:0x03F3 93 MOVC A,@A+DPTR
RET ;C:0x03F4 22 RET
L_03F5:
MOV R1,#0xE5 ;C:0x03F5 79E5 MOV R1,#0xE5
JB 0x22.0,L_03FC ;C:0x03F7 201002 JB 0x22.0,C:03FC
MOV R1,#0x88 ;C:0x03FA 7988 MOV R1,#TCON(0x88)
PUSH ACC ;C:0x03FC C0E0 PUSH ACC
MOV DPTR,#0xFFC3 ;C:0x03FE 90FFC3 MOV DPTR,#0xFFC3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -