3136 lines
26 KiB
NASM
3136 lines
26 KiB
NASM
label175 CODE 5804h
|
|
label179 CODE 800h
|
|
label182 CODE 5904h
|
|
label191 CODE 0B40h
|
|
label206 CODE 1011h
|
|
label215 CODE 0B69h
|
|
label216 CODE 2000h
|
|
|
|
ORG 0h
|
|
label180:
|
|
ljmp label0
|
|
ljmp label1
|
|
nop
|
|
nop
|
|
ljmp label2
|
|
ljmp label3
|
|
nop
|
|
nop
|
|
ljmp label2
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
ljmp label2
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
ljmp label2
|
|
ljmp label4
|
|
label5: ljmp label2
|
|
label3: push ACC
|
|
push DPH
|
|
push PSW
|
|
mov PSW, #8h
|
|
cjne R2, #55h, label5
|
|
mov TH0, #0B3h
|
|
dec R4
|
|
mov R2, #0AAh
|
|
jnb 13h, label6
|
|
mov A, R3
|
|
jz label6
|
|
djnz R3, label6
|
|
mov R0, #3Fh
|
|
label8: inc R0
|
|
mov A, R0
|
|
add A, #0B0h
|
|
cpl A
|
|
jb 0E7h, label7
|
|
mov A, @R0
|
|
jz label8
|
|
mov A, 26h
|
|
mov R3, A
|
|
clr C
|
|
mov A, R7
|
|
subb A, R6
|
|
jz label9
|
|
label174:
|
|
jnc label10
|
|
add A, #10h
|
|
clr C
|
|
label10:
|
|
subb A, #2h
|
|
jc label6
|
|
label9: mov A, 28h
|
|
lcall label11
|
|
mov A, R5
|
|
lcall label11
|
|
label6: mov PSW, #18h
|
|
mov R0, #58h
|
|
mov A, R7
|
|
anl A, #7h
|
|
xch A, R7
|
|
anl A, #0F8h
|
|
xch A, R7
|
|
jz label12
|
|
clr C
|
|
rlc A
|
|
jnb 0E3h, label13
|
|
label12:
|
|
mov A, #1h
|
|
label13:
|
|
orl 1Fh, A
|
|
dec A
|
|
add A, R0
|
|
mov R0, A
|
|
mov A, R7
|
|
cpl A
|
|
jnb 1Ch, label14
|
|
anl A, #1Fh
|
|
label14:
|
|
mov DPH, #30h
|
|
movx @DPTR, A
|
|
mov A, @R0
|
|
cpl A
|
|
jnb 1Ch, label15
|
|
clr A
|
|
label15:
|
|
mov DPH, #38h
|
|
movx @DPTR, A
|
|
mov A, SP
|
|
cjne A, #67h, label16
|
|
label16:
|
|
jc label7
|
|
cjne A, #80h, label17
|
|
label17:
|
|
jnc label7
|
|
pop PSW
|
|
pop DPH
|
|
pop ACC
|
|
label33:
|
|
reti
|
|
label7: ljmp label2
|
|
label0: mov A, PCON
|
|
orl A, #4h
|
|
mov PCON, A
|
|
mov IE, #0h
|
|
mov TCON, #0h
|
|
mov A, #0FFh
|
|
mov P1, #0FFh
|
|
mov P2, #0FFh
|
|
mov P3, #0FFh
|
|
clr T0
|
|
clr T1
|
|
mov DPH, #38h
|
|
movx @DPTR, A
|
|
mov DPH, #30h
|
|
movx @DPTR, A
|
|
clr 19h
|
|
mov PSW, #0h
|
|
mov R0, #27h
|
|
mov A, @R0
|
|
xrl A, #55h
|
|
jnz label18
|
|
ljmp label2
|
|
label18:
|
|
mov IE, #0h
|
|
mov TCON, #0h
|
|
mov A, PCON
|
|
jnb 19h, label19
|
|
setb 0E3h
|
|
sjmp label20
|
|
label19:
|
|
clr 0E3h
|
|
label20:
|
|
mov PCON, A
|
|
mov B, #7Fh
|
|
mov DPTR, #000h
|
|
mov SP, #5Bh
|
|
label21:
|
|
mov R0, B
|
|
mov @R0, SP
|
|
mov A, DPL
|
|
add A, @R0
|
|
mov DPL, A
|
|
mov A, DPH
|
|
addc A, #0h
|
|
mov DPH, A
|
|
inc SP
|
|
djnz B, label21
|
|
mov B, #1h
|
|
label23:
|
|
mov R0, B
|
|
mov A, @R0
|
|
cpl A
|
|
mov @R0, A
|
|
mov A, DPL
|
|
add A, @R0
|
|
mov DPL, A
|
|
jnc label22
|
|
inc DPH
|
|
label22:
|
|
inc B
|
|
mov A, B
|
|
jnb 0E7h, label23
|
|
mov A, #80h
|
|
mov R0, #7Fh
|
|
label24:
|
|
mov PSW, #0h
|
|
mov @R0, #0h
|
|
dec R0
|
|
inc A
|
|
jb 0E7h, label24
|
|
mov A, DPH
|
|
cjne A, #7Eh, label25
|
|
mov A, DPL
|
|
cjne A, #81h, label25
|
|
ljmp label26
|
|
label25:
|
|
setb 1Fh
|
|
label26:
|
|
mov R0, #0h
|
|
mov R1, #0h
|
|
mov R2, #0FEh
|
|
mov DPTR, #1000h
|
|
label28:
|
|
mov A, R2
|
|
dec A
|
|
dec DPH
|
|
movc A, @A+DPTR
|
|
inc DPH
|
|
add A, R0
|
|
mov R0, A
|
|
jnc label27
|
|
inc R1
|
|
label27:
|
|
djnz R2, label28
|
|
djnz DPH, label28
|
|
mov DPTR, #0FFEh
|
|
clr A
|
|
movc A, @A+DPTR
|
|
xrl A, R1
|
|
jnz label29
|
|
inc DPTR
|
|
movc A, @A+DPTR
|
|
xrl A, R0
|
|
jz label30
|
|
label29:
|
|
setb 1Eh
|
|
label30:
|
|
mov A, PCON
|
|
jnb 0E3h, label31
|
|
setb 19h
|
|
mov 45h, #20h
|
|
mov 1Dh, #1h
|
|
sjmp label2
|
|
label31:
|
|
clr 19h
|
|
label2: mov A, PCON
|
|
jnb 0E2h, label32
|
|
anl A, #0FBh
|
|
mov PCON, A
|
|
setb 20h
|
|
label32:
|
|
mov IE, #0h
|
|
mov SP, #67h
|
|
acall label33
|
|
mov TCON, #0h
|
|
clr A
|
|
mov PSW, A
|
|
movx @DPTR, A
|
|
mov SP, #67h
|
|
mov R0, #40h
|
|
mov 26h, #32h
|
|
mov A, 58h
|
|
clr 0E5h
|
|
setb 0E6h
|
|
mov 58h, A
|
|
clr EA
|
|
mov DPH, #2h
|
|
mov A, #20h
|
|
movx @DPTR, A
|
|
mov DPH, #7h
|
|
mov A, #10h
|
|
movx @DPTR, A
|
|
mov DPH, #2h
|
|
mov A, #0h
|
|
movx @DPTR, A
|
|
mov DPH, #3h
|
|
mov A, #9Bh
|
|
movx @DPTR, A
|
|
mov DPH, #0h
|
|
mov A, #78h
|
|
movx @DPTR, A
|
|
mov DPH, #1h
|
|
clr A
|
|
movx @DPTR, A
|
|
mov DPH, #3h
|
|
mov A, #1Bh
|
|
movx @DPTR, A
|
|
mov DPH, #2h
|
|
mov A, #40h
|
|
movx @DPTR, A
|
|
mov DPH, #1h
|
|
clr A
|
|
movx @DPTR, A
|
|
mov DPH, #3h
|
|
mov A, #0h
|
|
movx @DPTR, A
|
|
mov DPH, #4h
|
|
mov A, #8h
|
|
movx @DPTR, A
|
|
mov DPH, #0h
|
|
mov A, #0h
|
|
movx @DPTR, A
|
|
mov DPH, #7h
|
|
mov A, #0h
|
|
movx @DPTR, A
|
|
mov DPH, #2h
|
|
mov A, #60h
|
|
movx @DPTR, A
|
|
mov DPH, #0h
|
|
mov A, #50h
|
|
movx @DPTR, A
|
|
mov DPH, #1h
|
|
mov A, #4h
|
|
movx @DPTR, A
|
|
mov DPH, #5h
|
|
mov A, #0h
|
|
movx @DPTR, A
|
|
mov DPH, #2h
|
|
clr A
|
|
movx @DPTR, A
|
|
mov DPH, #1h
|
|
mov A, #0h
|
|
movx @DPTR, A
|
|
mov DPH, #2h
|
|
mov A, #20h
|
|
movx @DPTR, A
|
|
mov DPH, #6h
|
|
mov A, #2h
|
|
movx @DPTR, A
|
|
mov DPH, #5h
|
|
mov A, #40h
|
|
movx @DPTR, A
|
|
mov TMOD, #20h
|
|
mov IP, #0h
|
|
mov TCON, #0h
|
|
mov SCON, #40h
|
|
mov TH0, #0B3h
|
|
mov TH1, #0F8h
|
|
mov PSW, #8h
|
|
mov R6, #30h
|
|
mov R7, #30h
|
|
mov R3, #0h
|
|
mov R2, #55h
|
|
mov R4, #3h
|
|
setb TR0
|
|
setb TR1
|
|
setb ET0
|
|
setb EA
|
|
ljmp label34
|
|
label42:
|
|
mov PSW, #0h
|
|
lcall label35
|
|
lcall label36
|
|
jz label37
|
|
ljmp label38
|
|
label37:
|
|
mov A, 25h
|
|
cpl A
|
|
jz label39
|
|
cpl A
|
|
anl A, #4Fh
|
|
orl A, #40h
|
|
xrl A, R0
|
|
jnz label39
|
|
mov 25h, #0FFh
|
|
label39:
|
|
mov PSW, #0h
|
|
inc R0
|
|
mov A, R0
|
|
cjne A, #50h, label40
|
|
ljmp label34
|
|
label40:
|
|
jnc label41
|
|
sjmp label42
|
|
label41:
|
|
ajmp label2
|
|
label34:
|
|
orl P1, #0FFh
|
|
orl P2, #0FFh
|
|
clr IE0
|
|
clr IE1
|
|
setb EX0
|
|
setb TR0
|
|
setb TR1
|
|
setb ET0
|
|
setb ES
|
|
setb EA
|
|
setb REN
|
|
clr EA
|
|
jbc 18h, label43
|
|
ljmp label44
|
|
label43:
|
|
ljmp label45
|
|
label45:
|
|
mov 1Fh, #0h
|
|
mov 58h, #0h
|
|
mov 59h, #0h
|
|
mov 5Bh, #0h
|
|
clr T0
|
|
clr T1
|
|
mov A, 58h
|
|
clr 0E5h
|
|
setb 0E6h
|
|
mov 58h, A
|
|
ljmp label46
|
|
label44:
|
|
mov A, 24h
|
|
anl A, #0Fh
|
|
jnz label47
|
|
ljmp label46
|
|
label47:
|
|
jbc 20h, label48
|
|
jbc 21h, label49
|
|
label48:
|
|
setb 18h
|
|
ljmp label46
|
|
label49:
|
|
setb 19h
|
|
ajmp label18
|
|
label46:
|
|
setb EA
|
|
mov PSW, #0h
|
|
mov R0, #40h
|
|
setb 13h
|
|
mov PSW, #8h
|
|
mov 27h, #55h
|
|
mov R2, #55h
|
|
mov A, R4
|
|
jnb 0E7h, label50
|
|
ljmp label51
|
|
label50:
|
|
jb 17h, label52
|
|
clr EA
|
|
mov 0Ah, #55h
|
|
mov A, R7
|
|
cjne A, #30h, label53
|
|
label53:
|
|
jc label54
|
|
cjne A, #40h, label55
|
|
label55:
|
|
jnc label54
|
|
mov A, R6
|
|
anl A, #7Fh
|
|
cjne A, #30h, label56
|
|
label56:
|
|
jc label54
|
|
cjne A, #40h, label57
|
|
label57:
|
|
jnc label54
|
|
mov A, R7
|
|
xrl A, R6
|
|
mov PSW, #0h
|
|
jz label52
|
|
lcall label58
|
|
setb EA
|
|
mov PSW, #8h
|
|
sjmp label50
|
|
label54:
|
|
ajmp label2
|
|
label52:
|
|
ajmp label42
|
|
label58:
|
|
push PSW
|
|
mov PSW, #8h
|
|
mov A, R6
|
|
jnb 0E7h, label59
|
|
mov A, R7
|
|
mov R6, A
|
|
label59:
|
|
mov A, R7
|
|
inc A
|
|
cjne A, #40h, label60
|
|
label60:
|
|
jc label61
|
|
mov A, #30h
|
|
label61:
|
|
mov R1, A
|
|
mov R7, A
|
|
mov A, @R1
|
|
mov DPH, #0h
|
|
movx @DPTR, A
|
|
mov DPH, #2h
|
|
clr A
|
|
movx @DPTR, A
|
|
mov DPH, #1h
|
|
mov A, #2h
|
|
movx @DPTR, A
|
|
setb 17h
|
|
pop PSW
|
|
ret
|
|
label51:
|
|
add A, #3h
|
|
mov R4, A
|
|
mov PSW, #18h
|
|
jb 1Ch, label62
|
|
djnz R5, label62
|
|
mov R5, #0Ch
|
|
clr EA
|
|
mov R0, #60h
|
|
mov A, @R0
|
|
jnz label63
|
|
mov A, 23h
|
|
anl A, #0C8h
|
|
jnz label64
|
|
jnb 19h, label65
|
|
mov A, 59h
|
|
orl A, #10h
|
|
mov @R0, #19h
|
|
clr 19h
|
|
ljmp label66
|
|
label64:
|
|
mov @R0, #3h
|
|
mov A, 59h
|
|
xrl A, #10h
|
|
mov 59h, A
|
|
ljmp label67
|
|
label63:
|
|
dec A
|
|
mov @R0, A
|
|
jnz label67
|
|
label65:
|
|
mov A, 59h
|
|
anl A, #0EFh
|
|
label66:
|
|
mov 59h, A
|
|
label67:
|
|
mov R0, #64h
|
|
mov A, @R0
|
|
jz label68
|
|
dec A
|
|
mov @R0, A
|
|
jnz label68
|
|
mov A, R7
|
|
anl A, #0BFh
|
|
mov R7, A
|
|
label68:
|
|
inc R0
|
|
mov A, @R0
|
|
jz label62
|
|
dec A
|
|
mov @R0, A
|
|
jnz label62
|
|
mov A, R7
|
|
anl A, #7Fh
|
|
mov R7, A
|
|
label62:
|
|
setb EA
|
|
mov PSW, #8h
|
|
mov A, R4
|
|
jnb 0E7h, label69
|
|
sjmp label51
|
|
label69:
|
|
mov PSW, #0h
|
|
jbc 10h, label70
|
|
mov A, R1
|
|
inc A
|
|
orl A, #2Ch
|
|
anl A, #2Fh
|
|
mov R1, A
|
|
mov @R1, #0FFh
|
|
label70:
|
|
mov PSW, #8h
|
|
ajmp label50
|
|
label73:
|
|
ajmp label39
|
|
label38:
|
|
mov R3, A
|
|
mov A, R0
|
|
orl A, #40h
|
|
anl A, #5Fh
|
|
mov R0, A
|
|
mov R2, #10h
|
|
mov A, TH0
|
|
djnz R2, $
|
|
cjne A, TH0, label71
|
|
ajmp label2
|
|
label71:
|
|
lcall label35
|
|
mov R2, #3h
|
|
label72:
|
|
lcall label36
|
|
anl A, R3
|
|
mov R3, A
|
|
djnz R2, label72
|
|
jz label73
|
|
mov R3, A
|
|
label91:
|
|
mov PSW, #0h
|
|
mov R2, #1h
|
|
mov A, R0
|
|
clr C
|
|
subb A, #40h
|
|
swap A
|
|
rr A
|
|
mov R7, A
|
|
mov A, R2
|
|
label75:
|
|
mov PSW, #0h
|
|
anl A, R3
|
|
jnz label74
|
|
mov A, R3
|
|
jz label73
|
|
mov A, R2
|
|
jz label73
|
|
rl A
|
|
mov R2, A
|
|
inc R7
|
|
sjmp label75
|
|
label74:
|
|
mov PSW, #8h
|
|
mov A, R6
|
|
jb 0E7h, label76
|
|
clr EA
|
|
clr C
|
|
mov A, R7
|
|
subb A, R6
|
|
setb EA
|
|
jz label77
|
|
jnc label78
|
|
add A, #10h
|
|
clr C
|
|
label78:
|
|
subb A, #6h
|
|
jc label76
|
|
label77:
|
|
mov PSW, #0h
|
|
mov A, R2
|
|
cpl A
|
|
anl A, R3
|
|
mov R3, A
|
|
mov A, R2
|
|
anl A, @R0
|
|
jnz label79
|
|
ljmp label80
|
|
label79:
|
|
ljmp label81
|
|
label76:
|
|
ajmp label34
|
|
label80:
|
|
mov A, R7
|
|
jb 0E7h, label82
|
|
mov A, 25h
|
|
cpl A
|
|
jz label83
|
|
cpl A
|
|
xrl A, R0
|
|
jnz label84
|
|
label83:
|
|
mov R6, #40h
|
|
label86:
|
|
lcall label35
|
|
lcall label36
|
|
anl A, R2
|
|
jz label84
|
|
mov A, R6
|
|
xrl A, #50h
|
|
jz label82
|
|
mov A, R6
|
|
xch A, R0
|
|
mov R6, A
|
|
lcall label35
|
|
lcall label36
|
|
orl A, @R0
|
|
anl A, R2
|
|
jnz label85
|
|
label87:
|
|
mov A, R6
|
|
xch A, R0
|
|
inc A
|
|
mov R6, A
|
|
sjmp label86
|
|
label85:
|
|
mov A, R6
|
|
xrl A, R0
|
|
jz label87
|
|
lcall label36
|
|
orl A, @R0
|
|
xch A, R2
|
|
cpl A
|
|
xch A, R2
|
|
anl A, R2
|
|
jnz label88
|
|
mov A, R2
|
|
cpl A
|
|
mov R2, A
|
|
mov A, R3
|
|
jz label87
|
|
label88:
|
|
mov A, R6
|
|
mov R0, A
|
|
mov 25h, A
|
|
label84:
|
|
ajmp label39
|
|
label82:
|
|
lcall label89
|
|
jz label90
|
|
ajmp label91
|
|
label90:
|
|
lcall label92
|
|
mov PSW, #0h
|
|
mov A, R2
|
|
xrl A, @R0
|
|
mov @R0, A
|
|
mov A, R7
|
|
mov R4, A
|
|
lcall label93
|
|
jz label94
|
|
ljmp label95
|
|
ljmp label96
|
|
label94:
|
|
clr EA
|
|
mov 0Ah, #55h
|
|
mov A, R5
|
|
jb 0E7h, label97
|
|
jb 0E1h, label98
|
|
jb 0E4h, label99
|
|
jb 0E5h, label100
|
|
mov DPTR, #856h
|
|
ljmp label101
|
|
label97:
|
|
jb 0E5h, label102
|
|
mov DPTR, #8E6h
|
|
ljmp label101
|
|
label102:
|
|
mov DPTR, #0AE6h
|
|
ljmp label101
|
|
label98:
|
|
mov DPTR, #966h
|
|
ljmp label101
|
|
label99:
|
|
mov DPTR, #9E6h
|
|
ljmp label101
|
|
label100:
|
|
mov DPTR, #0A66h
|
|
label101:
|
|
mov A, R7
|
|
movc A, @A+DPTR
|
|
jnz label103
|
|
ljmp label104
|
|
label103:
|
|
mov A, R0
|
|
mov DPTR, #896h
|
|
movc A, @A+DPTR
|
|
anl A, R2
|
|
jz label105
|
|
mov A, #0A8h
|
|
ljmp label106
|
|
label105:
|
|
mov A, #0A1h
|
|
label106:
|
|
mov 28h, A
|
|
lcall label11
|
|
mov A, R5
|
|
jb 0E7h, label107
|
|
jb 0E1h, label108
|
|
jb 0E4h, label109
|
|
jb 0E5h, label110
|
|
mov DPTR, #856h
|
|
ljmp label111
|
|
label107:
|
|
jb 0E5h, label112
|
|
mov DPTR, #8E6h
|
|
ljmp label111
|
|
label112:
|
|
mov DPTR, #0AE6h
|
|
ljmp label111
|
|
label108:
|
|
mov DPTR, #966h
|
|
ljmp label111
|
|
label109:
|
|
mov DPTR, #9E6h
|
|
ljmp label111
|
|
label110:
|
|
mov DPTR, #0A66h
|
|
label111:
|
|
mov A, R7
|
|
movc A, @A+DPTR
|
|
mov 0Dh, A
|
|
lcall label11
|
|
mov A, R7
|
|
cjne A, #6h, label113
|
|
mov A, 59h
|
|
cpl 0E6h
|
|
mov 59h, A
|
|
ljmp label114
|
|
label113:
|
|
cjne A, #7h, label115
|
|
mov A, 5Bh
|
|
cpl 0E0h
|
|
mov 5Bh, A
|
|
ljmp label114
|
|
label115:
|
|
cjne A, #21h, label116
|
|
mov A, 59h
|
|
cpl 0E5h
|
|
mov 59h, A
|
|
ljmp label114
|
|
label116:
|
|
cjne A, #28h, label117
|
|
mov A, 59h
|
|
cpl 0E3h
|
|
mov 59h, A
|
|
ljmp label114
|
|
label117:
|
|
cjne A, #29h, label118
|
|
mov A, 59h
|
|
cpl 0E0h
|
|
mov 59h, A
|
|
ljmp label114
|
|
label118:
|
|
cjne A, #2Eh, label119
|
|
mov A, 59h
|
|
cpl 0E1h
|
|
mov 59h, A
|
|
ljmp label114
|
|
label119:
|
|
cjne A, #2Fh, label120
|
|
mov A, 59h
|
|
cpl 0E2h
|
|
mov 59h, A
|
|
ljmp label114
|
|
label120:
|
|
cjne A, #0h, label114
|
|
mov A, 5Bh
|
|
cpl 0E1h
|
|
mov 5Bh, A
|
|
label114:
|
|
setb EA
|
|
jnb 13h, label96
|
|
mov A, R0
|
|
mov DPTR, #0B26h
|
|
movc A, @A+DPTR
|
|
anl A, R2
|
|
mov PSW, #8h
|
|
label104:
|
|
mov R3, A
|
|
jz label96
|
|
mov R3, #7Dh
|
|
label96:
|
|
mov PSW, #0h
|
|
ajmp label91
|
|
label81:
|
|
lcall label89
|
|
jz label121
|
|
ljmp label122
|
|
label121:
|
|
lcall label92
|
|
mov PSW, #0h
|
|
mov A, R2
|
|
xrl A, @R0
|
|
mov @R0, A
|
|
lcall label93
|
|
jz label123
|
|
ljmp label124
|
|
label123:
|
|
mov A, R7
|
|
xrl A, R4
|
|
jnz label122
|
|
mov R4, A
|
|
mov PSW, #8h
|
|
mov R3, A
|
|
mov PSW, #0h
|
|
label122:
|
|
ajmp label91
|
|
label95:
|
|
mov PSW, #8h
|
|
mov R3, #0h
|
|
mov PSW, #0h
|
|
mov A, R7
|
|
cjne A, #51h, label125
|
|
mov A, R5
|
|
orl A, #84h
|
|
ljmp label126
|
|
label125:
|
|
cjne A, #54h, label127
|
|
mov A, R5
|
|
orl A, #88h
|
|
ljmp label126
|
|
label127:
|
|
cjne A, #57h, label128
|
|
mov A, R5
|
|
cpl 0E5h
|
|
ljmp label126
|
|
label128:
|
|
cjne A, #53h, label129
|
|
mov A, R5
|
|
setb 0E1h
|
|
ljmp label126
|
|
label129:
|
|
cjne A, #56h, label130
|
|
mov A, R5
|
|
setb 0E4h
|
|
ljmp label126
|
|
label130:
|
|
cjne A, #2Dh, label131
|
|
setb 21h
|
|
ljmp label132
|
|
label131:
|
|
cjne A, #49h, label133
|
|
mov DPH, #28h
|
|
movx A, @DPTR
|
|
jb 0E0h, label134
|
|
label134:
|
|
ljmp label132
|
|
label133:
|
|
cjne A, #4Fh, label134
|
|
mov DPH, #28h
|
|
movx A, @DPTR
|
|
jb 0E1h, label134
|
|
clr T0
|
|
clr T1
|
|
mov A, 58h
|
|
clr 0E5h
|
|
setb 0E6h
|
|
mov 58h, A
|
|
ljmp label132
|
|
label124:
|
|
mov A, R7
|
|
cjne A, #51h, label135
|
|
mov A, R5
|
|
anl A, #0FBh
|
|
jnb 0E3h, label136
|
|
ljmp label126
|
|
label135:
|
|
cjne A, #54h, label137
|
|
mov A, R5
|
|
anl A, #0F7h
|
|
jb 0E2h, label138
|
|
label136:
|
|
anl A, #7Fh
|
|
label138:
|
|
ljmp label126
|
|
label137:
|
|
cjne A, #53h, label139
|
|
mov A, R5
|
|
clr 0E1h
|
|
ljmp label126
|
|
label139:
|
|
cjne A, #56h, label140
|
|
mov A, R5
|
|
clr 0E4h
|
|
ljmp label126
|
|
label140:
|
|
cjne A, #2Dh, label132
|
|
clr 1Ch
|
|
mov A, R5
|
|
anl A, #0FEh
|
|
label126:
|
|
mov R5, A
|
|
label132:
|
|
ajmp label91
|
|
label93:
|
|
mov A, R0
|
|
clr C
|
|
subb A, #3Eh
|
|
movc A, @A+PC
|
|
anl A, R2
|
|
ret
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
jb 0h, label141
|
|
label141:
|
|
nop
|
|
anl C, CCF2
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
label89:
|
|
mov PSW, #0h
|
|
mov A, #3h
|
|
xch A, R0
|
|
mov R6, A
|
|
label143:
|
|
mov A, R7
|
|
xrl A, @R1
|
|
jnz label142
|
|
mov A, R1
|
|
add A, #3h
|
|
orl A, #2Ch
|
|
anl A, #2Fh
|
|
mov R1, A
|
|
mov A, R6
|
|
mov R0, A
|
|
ret
|
|
label142:
|
|
mov A, R1
|
|
inc A
|
|
orl A, #2Ch
|
|
anl A, #2Fh
|
|
mov R1, A
|
|
djnz R0, label143
|
|
mov A, R6
|
|
mov R0, A
|
|
clr A
|
|
ret
|
|
label92:
|
|
mov PSW, #0h
|
|
mov A, R1
|
|
inc A
|
|
orl A, #2Ch
|
|
anl A, #2Fh
|
|
mov R1, A
|
|
mov A, R7
|
|
mov @R1, A
|
|
setb 10h
|
|
ret
|
|
label35:
|
|
mov 0Ah, #55h
|
|
mov P1, #0FFh
|
|
mov A, R0
|
|
clr EA
|
|
mov DPH, #28h
|
|
movx @DPTR, A
|
|
setb EA
|
|
ret
|
|
label36:
|
|
mov P1, #0FFh
|
|
mov A, P1
|
|
cpl A
|
|
xrl A, @R0
|
|
ret
|
|
label11:
|
|
push ACC
|
|
push PSW
|
|
mov PSW, #8h
|
|
xch A, R6
|
|
clr 11h
|
|
jb 0E7h, label144
|
|
setb 11h
|
|
inc A
|
|
cjne A, #40h, label145
|
|
label145:
|
|
jc label146
|
|
mov A, #30h
|
|
label146:
|
|
mov R1, A
|
|
xch A, R6
|
|
mov @R1, A
|
|
mov A, R7
|
|
xrl A, R6
|
|
jnz label147
|
|
mov A, R6
|
|
orl A, #80h
|
|
label151:
|
|
mov R6, A
|
|
label147:
|
|
pop PSW
|
|
mov A, SP
|
|
cjne A, #67h, label148
|
|
label148:
|
|
jc label149
|
|
cjne A, #80h, label150
|
|
label150:
|
|
jnc label149
|
|
pop ACC
|
|
ret
|
|
label144:
|
|
sjmp label151
|
|
label149:
|
|
ajmp label2
|
|
ret
|
|
label4: push PSW
|
|
push ACC
|
|
jnb TI, label152
|
|
clr TI
|
|
label152:
|
|
jbc RI, label153
|
|
ljmp label154
|
|
label153:
|
|
mov PSW, #10h
|
|
mov A, SBUF
|
|
mov R6, A
|
|
jb 0E7h, label155
|
|
jb 0E6h, label156
|
|
anl A, #3Fh
|
|
mov 29h, A
|
|
jz label157
|
|
setb 15h
|
|
jnb 0E5h, label157
|
|
orl 29h, #0C0h
|
|
label157:
|
|
ljmp label154
|
|
label155:
|
|
jb 0E6h, label158
|
|
anl A, #3Fh
|
|
mov 2Ah, A
|
|
jz label159
|
|
setb 15h
|
|
jnb 0E5h, label159
|
|
orl 2Ah, #0C0h
|
|
label159:
|
|
jbc 15h, label160
|
|
label158:
|
|
ljmp label154
|
|
label160:
|
|
mov A, #0A2h
|
|
acall label11
|
|
mov A, 29h
|
|
acall label11
|
|
mov A, 2Ah
|
|
acall label11
|
|
ljmp label154
|
|
label156:
|
|
xrl A, #7h
|
|
mov R6, A
|
|
xrl A, 2Bh
|
|
mov R5, A
|
|
jnz label161
|
|
ljmp label154
|
|
label161:
|
|
jnb 0E0h, label162
|
|
mov A, R6
|
|
jb 0E0h, label163
|
|
ljmp label162
|
|
label163:
|
|
mov A, #0A4h
|
|
acall label11
|
|
mov A, #40h
|
|
acall label11
|
|
label162:
|
|
mov A, R5
|
|
jnb 0E1h, label164
|
|
mov A, R6
|
|
jb 0E1h, label165
|
|
mov 65h, #3h
|
|
ljmp label164
|
|
label165:
|
|
mov 65h, #0h
|
|
orl 1Fh, #80h
|
|
mov A, #0A4h
|
|
acall label11
|
|
mov A, #41h
|
|
acall label11
|
|
label164:
|
|
mov A, R5
|
|
jnb 0E2h, label166
|
|
mov A, R6
|
|
jb 0E2h, label167
|
|
mov 64h, #3h
|
|
ljmp label166
|
|
label167:
|
|
mov 64h, #0h
|
|
orl 1Fh, #40h
|
|
mov A, #0A4h
|
|
acall label11
|
|
mov A, #42h
|
|
acall label11
|
|
label166:
|
|
mov A, R6
|
|
mov 2Bh, A
|
|
label154:
|
|
mov A, SP
|
|
cjne A, #67h, label168
|
|
label168:
|
|
jc label169
|
|
cjne A, #80h, label170
|
|
label170:
|
|
jnc label169
|
|
pop ACC
|
|
pop PSW
|
|
reti
|
|
label169:
|
|
ajmp label2
|
|
ajmp label2
|
|
label1: push PSW
|
|
push DPH
|
|
push DPL
|
|
mov 14h, A
|
|
mov DPH, #2h
|
|
movx A, @DPTR
|
|
mov PSW, #8h
|
|
mov A, R7
|
|
xrl A, R6
|
|
jz label171
|
|
acall label58
|
|
ljmp label172
|
|
label171:
|
|
clr 17h
|
|
mov DPH, #2h
|
|
clr A
|
|
movx @DPTR, A
|
|
mov DPH, #1h
|
|
mov A, #0h
|
|
movx @DPTR, A
|
|
label172:
|
|
ljmp label173
|
|
label173:
|
|
mov A, 14h
|
|
pop DPL
|
|
pop DPH
|
|
pop PSW
|
|
reti
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
anl A, R0
|
|
ajmp label174
|
|
ljmp label175
|
|
anl A, R0
|
|
inc R0
|
|
anl A, R0
|
|
jbc 58h, label176
|
|
anl A, R0
|
|
jc label177
|
|
sjmp label178
|
|
label178:
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
anl A, R3
|
|
ajmp label179
|
|
nop
|
|
nop
|
|
nop
|
|
anl A, R3
|
|
ljmp label180
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
label176:
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
anl A, R1
|
|
ajmp label181
|
|
ljmp label182
|
|
anl A, R1
|
|
inc R0
|
|
anl A, R1
|
|
jbc 59h, label183
|
|
anl A, R1
|
|
jc label184
|
|
sjmp label185
|
|
inc A
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
anl A, R3
|
|
inc R0
|
|
xrl A, R6
|
|
label177:
|
|
addc A, R1
|
|
xrl A, R7
|
|
label181:
|
|
xrl A, R4
|
|
add A, R6
|
|
xrl A, R7
|
|
xrl A, R4
|
|
xrl A, R5
|
|
addc A, R1
|
|
nop
|
|
label183:
|
|
rlc A
|
|
mov R3, #78h
|
|
mov R2, #36h
|
|
mov R6, #38h
|
|
acall label186
|
|
addc A, @R1
|
|
jnb 7Ch, label187
|
|
addc A, #27h
|
|
addc A, R5
|
|
add A, R5
|
|
anl A, R4
|
|
jz label188
|
|
anl A, R3
|
|
anl A, R5
|
|
addc A, R3
|
|
xrl A, R3
|
|
xrl 64h, #65h
|
|
add A, R7
|
|
label188:
|
|
jnz label189
|
|
xrl A, R1
|
|
xrl A, @R0
|
|
anl A, R3
|
|
anl A, R4
|
|
anl A, R5
|
|
nop
|
|
xrl A, @R1
|
|
xrl A, R0
|
|
nop
|
|
nop
|
|
orl A, R0
|
|
nop
|
|
orl A, R2
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
addc A, R0
|
|
nop
|
|
xrl A, R3
|
|
nop
|
|
add A, R4
|
|
nop
|
|
xrl A, R1
|
|
xrl A, R0
|
|
addc A, @R1
|
|
addc A, @R0
|
|
xrl A, R2
|
|
xrl A, R6
|
|
xrl A, R5
|
|
label184:
|
|
mov R1, #75h
|
|
anl A, R1
|
|
nop
|
|
label185:
|
|
anl A, R2
|
|
anl A, R0
|
|
label187:
|
|
anl A, @R0
|
|
anl A, @R1
|
|
nop
|
|
nop
|
|
inc R5
|
|
nop
|
|
ajmp label190
|
|
nop
|
|
jb 0h, label189
|
|
label189:
|
|
orl A, @R0
|
|
reti
|
|
nop
|
|
jmp @A+DPTR
|
|
nop
|
|
mov R0, #44h
|
|
mov @R1, #61h
|
|
nop
|
|
xrl 60h, A
|
|
anl A, R6
|
|
anl A, R7
|
|
nop
|
|
nop
|
|
xrl A, @R1
|
|
addc A, #35h
|
|
xrl A, @R0
|
|
xrl 76h, A
|
|
mov A, #72h
|
|
nop
|
|
rlc A
|
|
nop
|
|
xrl A, #0h
|
|
xrl 0h, #65h
|
|
ajmp label191
|
|
acall label192
|
|
mov R2, #0h
|
|
acall label193
|
|
dec R6
|
|
nop
|
|
nop
|
|
mov R7, A
|
|
ajmp label194
|
|
nop
|
|
mov R2, 0FFh
|
|
nop
|
|
add A, SPSR
|
|
nop
|
|
mov R7, A
|
|
mov R2, 55h
|
|
nop
|
|
add A, R0
|
|
orl A, R7
|
|
orl A, R4
|
|
addc A, R6
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
ret
|
|
add A, R3
|
|
label192:
|
|
anl A, R7
|
|
mov R4, #7Eh
|
|
nop
|
|
mov R3, #7Dh
|
|
addc A, R2
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
addc A, R7
|
|
jnc label195
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
orl A, R7
|
|
nop
|
|
orl A, R5
|
|
nop
|
|
add A, R2
|
|
nop
|
|
orl A, R3
|
|
nop
|
|
addc A, R4
|
|
nop
|
|
orl A, R1
|
|
label199:
|
|
orl A, R0
|
|
add A, @R0
|
|
anl A, R6
|
|
orl A, R2
|
|
orl A, R6
|
|
orl A, R5
|
|
anl A, R1
|
|
anl A, 0h
|
|
nop
|
|
nop
|
|
nop
|
|
label186:
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
label195:
|
|
nop
|
|
anl C, 0h
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
jc label196
|
|
label196:
|
|
anl 0h, #58h
|
|
nop
|
|
anl A, @R1
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
orl A, @R1
|
|
add A, #25h
|
|
orl A, @R0
|
|
orl 56h, A
|
|
anl A, #52h
|
|
nop
|
|
rl A
|
|
nop
|
|
orl A, #0h
|
|
orl 0h, #45h
|
|
ajmp label197
|
|
ajmp label192
|
|
anl A, R2
|
|
nop
|
|
acall label197
|
|
cjne R6, #0h, label198
|
|
label198:
|
|
nop
|
|
nop
|
|
xch A, R6
|
|
mov TCON, R4
|
|
nop
|
|
nop
|
|
label201:
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
mov KBE, R6
|
|
subb A, R6
|
|
subb A, R7
|
|
nop
|
|
nop
|
|
nop
|
|
cjne R2, #0CCh, label199
|
|
subb A, @R0
|
|
subb A, @R1
|
|
nop
|
|
cjne R4, #0CAh, label200
|
|
label200:
|
|
nop
|
|
cjne A, 0h, label201
|
|
movx @DPTR, A
|
|
nop
|
|
pop 0h
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
movc A, @A+DPTR
|
|
nop
|
|
subb A, #92h
|
|
mov DPTR, #9100h
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
movx A, @R0
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
setb 0h
|
|
subb A, R3
|
|
nop
|
|
subb A, R4
|
|
subb A, R2
|
|
subb A, R0
|
|
subb A, R1
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
ajmp label202
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
cpl 0BFh
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
xch A, R7
|
|
mov TMOD, R5
|
|
nop
|
|
nop
|
|
nop
|
|
label205:
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
label197:
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
mov 1Dh, R7
|
|
dec R6
|
|
dec R7
|
|
nop
|
|
nop
|
|
nop
|
|
cjne R3, #0CDh, label203
|
|
dec @R0
|
|
dec @R1
|
|
nop
|
|
cjne R5, #0CBh, label204
|
|
label204:
|
|
nop
|
|
cjne @R0, #0h, label205
|
|
acall label194
|
|
acall label202
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
label203:
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
rrc A
|
|
nop
|
|
dec A
|
|
lcall label206
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
movx A, @R1
|
|
nop
|
|
label211:
|
|
nop
|
|
nop
|
|
label212:
|
|
nop
|
|
nop
|
|
setb C
|
|
nop
|
|
dec R3
|
|
nop
|
|
dec R4
|
|
dec R2
|
|
dec R0
|
|
dec R1
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
clr 0h
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
cpl C
|
|
xrl A, R6
|
|
addc A, R1
|
|
orl A, R7
|
|
orl A, R4
|
|
add A, R6
|
|
xrl A, R7
|
|
xrl A, R4
|
|
xrl A, R5
|
|
addc A, R1
|
|
nop
|
|
rlc A
|
|
mov R3, #78h
|
|
mov R2, #36h
|
|
mov R6, #38h
|
|
acall label186
|
|
addc A, @R1
|
|
jnb 7Ch, label207
|
|
addc A, #27h
|
|
addc A, R5
|
|
add A, R5
|
|
anl A, R4
|
|
jz label208
|
|
anl A, R3
|
|
anl A, R5
|
|
addc A, R3
|
|
xrl A, R3
|
|
xrl 64h, #65h
|
|
add A, R7
|
|
label208:
|
|
jnc label209
|
|
xrl A, R1
|
|
xrl A, @R0
|
|
anl A, R3
|
|
anl A, R4
|
|
anl A, R5
|
|
nop
|
|
xrl A, @R1
|
|
xrl A, R0
|
|
nop
|
|
nop
|
|
orl A, R0
|
|
nop
|
|
orl A, R2
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
addc A, R0
|
|
nop
|
|
orl A, R3
|
|
nop
|
|
add A, R4
|
|
nop
|
|
orl A, R1
|
|
orl A, R0
|
|
addc A, @R1
|
|
addc A, @R0
|
|
orl A, R2
|
|
orl A, R6
|
|
orl A, R5
|
|
anl A, R1
|
|
anl A, 59h
|
|
nop
|
|
anl A, R2
|
|
anl A, R0
|
|
label207:
|
|
anl A, @R0
|
|
anl A, @R1
|
|
nop
|
|
nop
|
|
inc R5
|
|
nop
|
|
ajmp label190
|
|
nop
|
|
jb 0h, label209
|
|
label209:
|
|
orl A, @R0
|
|
reti
|
|
nop
|
|
anl 0h, #58h
|
|
orl A, #57h
|
|
ajmp label210
|
|
xrl 60h, A
|
|
anl A, R6
|
|
anl A, R7
|
|
nop
|
|
nop
|
|
orl A, @R1
|
|
addc A, #35h
|
|
orl A, @R0
|
|
orl 56h, A
|
|
anl A, #52h
|
|
nop
|
|
rlc A
|
|
nop
|
|
orl A, #0h
|
|
orl 0h, #45h
|
|
ajmp label211
|
|
acall label192
|
|
anl A, R2
|
|
nop
|
|
acall label212
|
|
nop
|
|
add A, R0
|
|
xrl A, R7
|
|
xrl A, R4
|
|
addc A, R6
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
ret
|
|
add A, R3
|
|
label210:
|
|
anl A, R7
|
|
mov R4, #7Eh
|
|
nop
|
|
mov R3, #7Dh
|
|
addc A, R2
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
addc A, R7
|
|
jnz label213
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
orl A, R7
|
|
nop
|
|
orl A, R5
|
|
nop
|
|
add A, R2
|
|
nop
|
|
xrl A, R3
|
|
nop
|
|
addc A, R4
|
|
nop
|
|
xrl A, R1
|
|
xrl A, R0
|
|
add A, @R0
|
|
anl A, R6
|
|
xrl A, R2
|
|
xrl A, R6
|
|
xrl A, R5
|
|
mov R1, #75h
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
label213:
|
|
nop
|
|
anl C, 0h
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
jc label214
|
|
label214:
|
|
jmp @A+DPTR
|
|
label193:
|
|
nop
|
|
mov R0, #0h
|
|
mov @R1, #0h
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
xrl A, @R1
|
|
add A, #25h
|
|
xrl A, @R0
|
|
xrl 76h, A
|
|
mov A, #72h
|
|
nop
|
|
rl A
|
|
nop
|
|
xrl A, #0h
|
|
xrl 0h, #65h
|
|
ajmp label210
|
|
ajmp label192
|
|
mov R2, #0h
|
|
acall label210
|
|
dec R6
|
|
movx @DPTR, A
|
|
jnc label215
|
|
ajmp label194
|
|
nop
|
|
mov R2, 0FFh
|
|
inc 25h
|
|
mov R2, 5h
|
|
mov R7, A
|
|
mov R2, 55h
|
|
nop
|
|
inc A
|
|
ljmp label216
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
ljmp label180
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
label190:
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
label202:
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
label194:
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
dec 0E5h
|
|
|
|
END |