nukeKeyboard/rom/keyboard_rom.asm

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