summaryrefslogtreecommitdiffstats
path: root/site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2015-02-17 01:24:25 (EST)
committer Francis Rowe <info@gluglug.org.uk>2015-02-17 01:24:25 (EST)
commit2faa892e7a799dc7d87c5697e185185baa83a282 (patch)
treefab511711f4c700efde9173e10d372f2e9fac5ba /site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt
parent5e544087a28a15cf1a6fc8dc2e46d412771dfd31 (diff)
downloadlibreboot.org-2faa892e7a799dc7d87c5697e185185baa83a282.zip
libreboot.org-2faa892e7a799dc7d87c5697e185185baa83a282.tar.gz
libreboot.org-2faa892e7a799dc7d87c5697e185185baa83a282.tar.bz2
move files to site/
Diffstat (limited to 'site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt')
-rw-r--r--site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt3079
1 files changed, 3079 insertions, 0 deletions
diff --git a/site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt b/site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt
new file mode 100644
index 0000000..55cfc7a
--- /dev/null
+++ b/site/vortex86ex/dmp_kbd_fw_part1.inc.disassembled.dis51.txt
@@ -0,0 +1,3079 @@
+CSEG AT 0000h
+ LJMP L0001
+
+ DB 02h
+ DB 0Ah
+ DB 0FBh
+L0065:
+ MOV A, R7
+ MOV B, #3h
+ MUL AB
+ MOV R7, A
+L0066:
+ MOV R6, 7h
+ DEC R7
+ MOV A, R6
+ JNZ L0066
+ RET
+
+ DB 02h
+ DB 0Ah
+ DB 0D5h
+L0015:
+ LCALL L0016
+ MOV R7, #30h
+ LCALL L0017
+ MOV DPTR, #0E000h
+ MOV A, #16h
+ MOVX @DPTR, A
+ LCALL L0018
+ CLR P1.2
+ CLR P1.3
+ CLR P1.0
+ SETB P1.1
+ SETB PX0
+ SETB PX1
+ SETB IT0
+ SETB EX0
+ SETB IT1
+ SETB EX1
+ MOV R5, #44h
+ CLR A
+ MOV R7, A
+ LCALL L0019
+ MOV R5, #4Dh
+ INC R7
+ LCALL L0019
+ MOV R5, #26h
+ INC R7
+ LCALL L0019
+ MOV R5, #50h
+ INC R7
+ LCALL L0019
+ LCALL L0020
+ SETB EA
+ MOV R7, #0B1h
+ LCALL L0021
+ MOV DPTR, #0FFEh
+ CLR A
+ MOVC A, @A+DPTR
+ MOV R7, A
+ CJNE A, #55h, L0022
+ INC DPTR
+ CLR A
+ MOVC A, @A+DPTR
+ CJNE A, #0AAh, L0022
+ SETB 8h
+ SJMP L0023
+
+L0022:
+ MOV A, R7
+ CJNE A, #12h, L0023
+ MOV DPTR, #0FFFh
+ CLR A
+ MOVC A, @A+DPTR
+ CJNE A, #34h, L0023
+ CLR 8h
+ CLR 12h
+L0023:
+ LCALL L0024
+ LCALL L0025
+ LCALL L0026
+ JNB 1h, L0027
+ JNB 12h, L0028
+ JB 0h, L0028
+ JNB 11h, L0028
+ LCALL L0029
+ LCALL L0030
+ JNB 8h, L0031
+ CLR 1Ah
+ LCALL L0032
+L0031:
+ LCALL L0033
+ SETB 0h
+ LCALL L0034
+ LCALL L0035
+L0028:
+ LCALL L0018
+ CLR 1h
+L0027:
+ LCALL L0024
+ LCALL L0036
+ JNB 12h, L0023
+ JNB 0h, L0023
+ MOV DPTR, #0D000h
+ MOVX A, @DPTR
+ JNB ACC.0, L0023
+ CLR EA
+ LCALL L0037
+ JNC L0038
+ LCALL L0039
+ LCALL L0040
+ SETB 1Ah
+ LCALL L0032
+ LCALL L0034
+L0038:
+ SETB EA
+ SJMP L0023
+
+L0201:
+ MOV R6, 3h
+ MOV R3, 5h
+ ANL 1Ah, #0EFh
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ MOV R5, 7h
+ MOV 33h, R6
+ MOV R7, #20h
+ LCALL L0188
+ ORL 1Ah, #10h
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ RET
+
+ DB 0DAh
+ DB 07Eh
+ DB 010h
+ DB 09h
+ DB 014h
+L0077:
+ LCALL L0025
+L0026:
+ MOV DPTR, #0E000h
+ MOVX A, @DPTR
+ MOV R7, A
+ JB ACC.1, L0078
+ LJMP L0079
+
+L0078:
+ CLR EX0
+ CLR EX1
+ JB 4h, L0080
+ JNB 7h, L0081
+L0080:
+ SETB EX0
+ SETB EX1
+ RET
+
+L0081:
+ MOV A, R7
+ MOV C, ACC.3
+ MOV 1Ch, C
+ MOV DPTR, #0F000h
+ MOVX A, @DPTR
+ MOV 2Ch, A
+ LCALL L0082
+ SETB EX0
+ SETB EX1
+ JNB 1Ch, L0083
+ LJMP L0084
+
+L0083:
+ CLR 1Dh
+ CLR 1Eh
+ JB 17h, L0090
+ LJMP L0091
+
+L0090:
+ MOV A, 18h
+ ADD A, #0E1h
+ JZ L0147
+ ADD A, #54h
+ JNZ L0148
+ LJMP L0149
+
+L0148:
+ ADD A, #0FAh
+ JZ L0151
+ DEC A
+ JZ L0152
+ DEC A
+ JZ L0153
+ DEC A
+ JZ L0154
+ ADD A, #74h
+ JNZ L0155
+ MOV R7, 2Ch
+ LCALL L0017
+ SJMP L0149
+
+L0151:
+ MOV A, 2Ch
+ JNB ACC.1, L0180
+ SETB P1.0
+ SJMP L0149
+
+L0180:
+ CLR P1.0
+ SJMP L0149
+
+L0152:
+ CLR 1Fh
+ SJMP L0179
+
+L0153:
+ SETB 1Fh
+L0179:
+ MOV 2Fh, 2Ch
+ SJMP L0176
+
+L0154:
+ SETB 1Eh
+ SJMP L0149
+
+L0147:
+ MOV A, 2Ch
+ JNZ L0181
+ LCALL L0041
+ LCALL L0042
+ MOV 12h, 38h
+ MOV 13h, 39h
+ MOV 14h, 3Ah
+ MOV 15h, 9h
+ MOV 16h, 0Ah
+ MOV 17h, 0Bh
+ SJMP L0149
+
+L0181:
+ MOV A, 2Ch
+ CLR C
+ SUBB A, #1h
+ JC L0182
+ MOV A, 2Ch
+ SETB C
+ SUBB A, #6h
+ JNC L0182
+ CLR 1Fh
+ MOV A, #11h
+ ADD A, 2Ch
+ MOV R0, A
+ MOV A, @R0
+ MOV 2Fh, A
+ SJMP L0176
+
+L0182:
+ MOV A, 2Ch
+ CJNE A, #7h, L0149
+ CLR 1Fh
+ MOV 2Fh, 3Bh
+L0176:
+ SETB 20h
+ LCALL L0177
+ SJMP L0149
+
+L0155:
+ SETB 1Dh
+L0149:
+ CLR 17h
+ SJMP L0150
+
+L0091:
+ SETB 1Dh
+L0150:
+ JNB 1Dh, L0092
+ MOV R7, 2Ch
+ LCALL L0093
+ SJMP L0094
+
+L0092:
+ JNB 1Eh, L0094
+ MOV R7, 2Ch
+ LCALL L0141
+L0094:
+ LCALL L0095
+ LJMP L0096
+
+L0084:
+ CLR 1Dh
+ MOV A, 2Ch
+ LCALL L0085
+ LJMP L0086
+
+ DB 02h
+ DB 035h
+ DB 020h
+ DB 02h
+ DB 0B7h
+ DB 060h
+ DB 02h
+ DB 056h
+ DB 0A7h
+ DB 02h
+ DB 05Dh
+ DB 0A8h
+ DB 02h
+ DB 064h
+ DB 0A9h
+ DB 02h
+ DB 048h
+ DB 0AAh
+ DB 02h
+ DB 064h
+ DB 0ABh
+ DB 02h
+ DB 06Dh
+ DB 0ADh
+ DB 02h
+ DB 074h
+ DB 0AEh
+ DB 02h
+ DB 041h
+ DB 0C0h
+ DB 02h
+ DB 0B7h
+ DB 0CBh
+ DB 02h
+ DB 07Bh
+ DB 0D0h
+ DB 02h
+ DB 0B7h
+ DB 0D1h
+ DB 02h
+ DB 0B7h
+ DB 0D2h
+ DB 02h
+ DB 0B7h
+ DB 0D3h
+ DB 02h
+ DB 0B7h
+ DB 0D4h
+ DB 02h
+ DB 098h
+ DB 0DDh
+ DB 02h
+ DB 08Dh
+ DB 0DFh
+ DB 02h
+ DB 0A8h
+ DB 0FEh
+ DB 00h
+ DB 00h
+ DB 02h
+ DB 0B5h
+ DB 012h
+ DB 0Ah
+ DB 083h
+ DB 08Fh
+ DB 02Dh
+ DB 0C2h
+ DB 01Fh
+ DB 085h
+ DB 02Dh
+ DB 02Fh
+ DB 080h
+ DB 028h
+ DB 0C2h
+ DB 01Fh
+ DB 075h
+ DB 02Fh
+ DB 0FFh
+ DB 080h
+ DB 021h
+ DB 07Fh
+ DB 030h
+ DB 012h
+ DB 05h
+ DB 0FBh
+ DB 0C2h
+ DB 01Fh
+ DB 075h
+ DB 02Fh
+ DB 055h
+ DB 0C2h
+ DB 020h
+ DB 080h
+ DB 04Bh
+ DB 012h
+ DB 0Eh
+ DB 08Dh
+ DB 0D2h
+ DB 01Dh
+ DB 080h
+ DB 05Ah
+ DB 012h
+ DB 0Eh
+ DB 0E6h
+ DB 0D2h
+ DB 01Dh
+ DB 080h
+ DB 053h
+ DB 0C2h
+ DB 01Fh
+ DB 0E4h
+ DB 0F5h
+ DB 02Fh
+ DB 0D2h
+ DB 020h
+ DB 080h
+ DB 034h
+ DB 012h
+ DB 0Eh
+ DB 094h
+ DB 0D2h
+ DB 01Dh
+ DB 080h
+ DB 043h
+ DB 012h
+ DB 0Eh
+ DB 0F0h
+ DB 0D2h
+ DB 01Dh
+ DB 080h
+ DB 03Ch
+ DB 075h
+ DB 02Eh
+ DB 01h
+ DB 030h
+ DB 090h
+ DB 03h
+ DB 043h
+ DB 02Eh
+ DB 02h
+ DB 0C2h
+ DB 01Fh
+ DB 085h
+ DB 02Eh
+ DB 02Fh
+ DB 0D2h
+ DB 020h
+ DB 080h
+ DB 014h
+ DB 0D2h
+ DB 090h
+ DB 0C2h
+ DB 01Fh
+ DB 085h
+ DB 0Fh
+ DB 02Fh
+ DB 0D2h
+ DB 020h
+ DB 080h
+ DB 09h
+ DB 0C2h
+ DB 090h
+ DB 0C2h
+ DB 01Fh
+ DB 085h
+ DB 0Fh
+ DB 02Fh
+ DB 0D2h
+ DB 020h
+ DB 012h
+ DB 0Dh
+ DB 0B8h
+ DB 0D2h
+ DB 01Dh
+ DB 080h
+ DB 0Fh
+ DB 0C2h
+ DB 091h
+ DB 07Fh
+ DB 05h
+ DB 012h
+ DB 00h
+ DB 06h
+ DB 0D2h
+ DB 091h
+ DB 0D2h
+ DB 01Dh
+ DB 080h
+ DB 02h
+ DB 0D2h
+ DB 01Dh
+ DB 030h
+ DB 01Dh
+ DB 03h
+ DB 012h
+ DB 0Eh
+ DB 085h
+ DB 0D2h
+ DB 017h
+ DB 085h
+ DB 02Ch
+ DB 018h
+L0096:
+ JB 1h, L0079
+ LCALL L0018
+L0079:
+ RET
+
+ DB 044h
+ DB 04Dh
+ DB 026h
+ DB 050h
+ DB 00h
+ DB 0FFh
+ DB 043h
+ DB 041h
+ DB 03Fh
+ DB 03Dh
+ DB 03Bh
+ DB 03Ch
+ DB 058h
+ DB 064h
+ DB 044h
+ DB 042h
+ DB 040h
+ DB 03Eh
+ DB 0Fh
+ DB 029h
+ DB 059h
+ DB 065h
+ DB 038h
+ DB 02Ah
+ DB 070h
+ DB 01Dh
+ DB 010h
+ DB 02h
+ DB 05Ah
+ DB 066h
+ DB 071h
+ DB 02Ch
+ DB 01Fh
+ DB 01Eh
+ DB 011h
+ DB 03h
+ DB 05Bh
+ DB 067h
+ DB 02Eh
+ DB 02Dh
+ DB 020h
+ DB 012h
+ DB 05h
+ DB 04h
+ DB 05Ch
+ DB 068h
+ DB 039h
+ DB 02Fh
+ DB 021h
+ DB 014h
+ DB 013h
+ DB 06h
+ DB 05Dh
+ DB 069h
+ DB 031h
+ DB 030h
+ DB 023h
+ DB 022h
+ DB 015h
+ DB 07h
+ DB 05Eh
+ DB 06Ah
+ DB 072h
+ DB 032h
+ DB 024h
+ DB 016h
+ DB 08h
+ DB 09h
+ DB 05Fh
+ DB 06Bh
+ DB 033h
+ DB 025h
+ DB 017h
+ DB 018h
+ DB 0Bh
+ DB 0Ah
+ DB 060h
+ DB 06Ch
+ DB 034h
+ DB 035h
+ DB 026h
+ DB 027h
+ DB 019h
+ DB 0Ch
+ DB 061h
+ DB 06Dh
+ DB 073h
+ DB 028h
+ DB 074h
+ DB 01Ah
+ DB 0Dh
+ DB 062h
+ DB 06Eh
+ DB 03Ah
+ DB 036h
+ DB 01Ch
+ DB 01Bh
+ DB 075h
+ DB 02Bh
+ DB 063h
+ DB 076h
+ DB 055h
+ DB 056h
+ DB 077h
+ DB 078h
+ DB 079h
+ DB 07Ah
+ DB 0Eh
+ DB 07Bh
+ DB 07Ch
+ DB 04Fh
+ DB 07Dh
+ DB 04Bh
+ DB 047h
+ DB 07Eh
+ DB 07Fh
+ DB 06Fh
+ DB 052h
+ DB 053h
+ DB 050h
+ DB 04Ch
+ DB 04Dh
+ DB 048h
+ DB 01h
+ DB 045h
+ DB 057h
+ DB 04Eh
+ DB 051h
+ DB 04Ah
+ DB 037h
+ DB 049h
+ DB 046h
+ DB 054h
+ DB 00h
+ DB 00h
+ DB 00h
+ DB 041h
+ DB 054h
+ DB 00h
+ DB 01h
+ DB 01h
+ DB 02h
+ DB 01h
+ DB 02h
+ DB 02h
+ DB 03h
+ DB 01h
+ DB 02h
+ DB 02h
+ DB 03h
+ DB 02h
+ DB 03h
+ DB 03h
+ DB 04h
+ DB 014h
+ DB 023h
+ DB 014h
+ DB 03Ah
+ DB 014h
+ DB 04Dh
+ DB 042h
+ DB 032h
+ DB 023h
+L0024:
+ JB 0Ch, L0202
+ LJMP L0203
+
+L0202:
+ CLR 1Ah
+ CLR 1Bh
+ MOV A, 10h
+ JNB ACC.7, L0204
+ MOV A, 11h
+ MOV R6, 10h
+ MOV R0, #6h
+L0205:
+ XCH A, R6
+ CLR C
+ RRC A
+ XCH A, R6
+ RRC A
+ DJNZ R0, L0205
+ MOV 26h, A
+ MOV R7, A
+ LCALL L0106
+ MOV 27h, R7
+ MOV A, 10h
+ SWAP A
+ RRC A
+ RRC A
+ ANL A, #3h
+ MOV R7, A
+ MOV A, 27h
+ ANL A, #1h
+ CJNE A, 7h, L0206
+ CLR A
+ MOV R7, #1h
+ SJMP L0207
+
+L0206:
+ MOV R7, #0h
+L0207:
+ MOV A, R7
+ JNB ACC.0, L0208
+ SETB 1Bh
+ SJMP L0204
+
+L0208:
+ JB 13h, L0211
+ MOV R7, 26h
+ LCALL L0212
+ MOV R7, 26h
+ LCALL L0213
+ MOV 28h, R6
+ MOV 29h, R7
+ MOV A, 29h
+ CPL A
+ JNZ L0214
+ MOV A, 28h
+ CPL A
+L0214:
+ JZ L0204
+ MOV 26h, 29h
+ SETB 1Ah
+ SJMP L0204
+
+L0211:
+ SETB 1Ah
+L0204:
+ JNB 1Ah, L0209
+ CLR 27h
+ MOV R7, #7h
+ LCALL L0112
+ CLR 27h
+ MOV R7, #6h
+ LCALL L0112
+ MOV C, 13h
+ MOV 25h, C
+ MOV 31h, 26h
+ LCALL L0114
+ CLR 0Ch
+ RET
+
+L0209:
+ JNB 1Bh, L0210
+ MOV C, 13h
+ MOV 21h, C
+ MOV 30h, #0FFh
+ SETB 22h
+ CLR 23h
+ SETB 24h
+ LJMP L0178
+
+L0210:
+ CLR 0Ch
+ LCALL L0184
+L0203:
+ RET
+
+L0239:
+ CLR A
+ MOV 26h, A
+ MOV 27h, A
+ MOV 28h, #0Fh
+ MOV 29h, #0FFh
+L0243:
+ MOV A, 27h
+ ADD A, 29h
+ MOV R7, A
+ MOV A, 26h
+ ADDC A, 28h
+ CLR C
+ RRC A
+ MOV 2Ah, A
+ MOV A, R7
+ RRC A
+ MOV 2Bh, A
+ MOV R7, A
+ MOV R6, 2Ah
+ LCALL L0240
+ CJNE R7, #0FFh, L0241
+ MOV A, 2Bh
+ ADD A, #0FFh
+ MOV 29h, A
+ MOV A, 2Ah
+ ADDC A, #0FFh
+ MOV 28h, A
+ SJMP L0242
+
+L0241:
+ MOV A, R7
+ JNZ L0245
+ MOV A, 2Bh
+ ADD A, #1h
+ MOV 27h, A
+ CLR A
+ ADDC A, 2Ah
+ MOV 26h, A
+ SJMP L0242
+
+L0245:
+ MOV 2Ch, #0FFh
+ CLR A
+ MOV 2Dh, A
+L0248:
+ MOV A, 2Ch
+ CLR C
+ RRC A
+ MOV 2Ch, A
+ CJNE A, 7h, L0246
+ MOV A, 2Bh
+ MOV R6, 2Ah
+ MOV R0, #3h
+L0247:
+ CLR C
+ RLC A
+ XCH A, R6
+ RLC A
+ XCH A, R6
+ DJNZ R0, L0247
+ MOV R4, #0h
+ ADD A, 2Dh
+ MOV R7, A
+ MOV A, R4
+ ADDC A, R6
+ XCH A, R7
+ ADD A, #1h
+ XCH A, R7
+ ADDC A, #0h
+ MOV R6, A
+ RET
+
+L0246:
+ INC 2Dh
+ MOV A, 2Dh
+ CJNE A, #7h, L0248
+ MOV R6, #0FFh
+ MOV R7, #0FFh
+ RET
+
+L0242:
+ SETB C
+ MOV A, 27h
+ SUBB A, 29h
+ MOV A, 28h
+ XRL A, #80h
+ MOV R0, A
+ MOV A, 26h
+ XRL A, #80h
+ SUBB A, R0
+ JC L0243
+ MOV A, 27h
+ MOV R6, 26h
+ MOV R0, #3h
+L0244:
+ CLR C
+ RLC A
+ XCH A, R6
+ RLC A
+ XCH A, R6
+ DJNZ R0, L0244
+ MOV R7, A
+ RET
+
+L0001:
+ MOV R0, #7Fh
+ CLR A
+L0002:
+ MOV @R0, A
+ DJNZ R0, L0002
+ MOV SP, #3Bh
+ LJMP L0003
+
+L0004:
+ LJMP L0015
+
+L0006:
+ CLR A
+ MOVC A, @A+DPTR
+ INC DPTR
+ MOV R0, A
+L0014:
+ CLR A
+ MOVC A, @A+DPTR
+ INC DPTR
+ JC L0012
+ MOV @R0, A
+ SJMP L0013
+
+L0012:
+ MOVX @R0, A
+L0013:
+ INC R0
+ DJNZ R7, L0014
+ SJMP L0009
+
+L0007:
+ CLR A
+ MOVC A, @A+DPTR
+ INC DPTR
+ MOV R0, A
+ ANL A, #7h
+ ADD A, #0Ch
+ XCH A, R0
+ CLR C
+ RLC A
+ SWAP A
+ ANL A, #0Fh
+ ORL A, #20h
+ XCH A, R0
+ MOVC A, @A+PC
+ JC L0010
+ CPL A
+ ANL A, @R0
+ SJMP L0011
+
+L0010:
+ ORL A, @R0
+L0011:
+ MOV @R0, A
+ DJNZ R7, L0007
+ SJMP L0009
+
+ DB 01h
+ DB 02h
+ DB 04h
+ DB 08h
+ DB 010h
+ DB 020h
+ DB 040h
+ DB 080h
+L0003:
+ MOV DPTR, #0880h
+L0009:
+ CLR A
+ MOV R6, #1h
+ MOVC A, @A+DPTR
+ JZ L0004
+ INC DPTR
+ MOV R7, A
+ ANL A, #3Fh
+ JNB ACC.5, L0005
+ ANL A, #1Fh
+ MOV R6, A
+ CLR A
+ MOVC A, @A+DPTR
+ INC DPTR
+ JZ L0005
+ INC R6
+L0005:
+ XCH A, R7
+ ANL A, #0C0h
+ ADD A, ACC
+ JZ L0006
+ JC L0007
+ CLR A
+ MOVC A, @A+DPTR
+ INC DPTR
+ MOV R2, A
+ CLR A
+ MOVC A, @A+DPTR
+ INC DPTR
+ MOV R0, A
+L0008:
+ CLR A
+ MOVC A, @A+DPTR
+ INC DPTR
+ XCH A, R0
+ XCH A, DPL
+ XCH A, R0
+ XCH A, R2
+ XCH A, DPH
+ XCH A, R2
+ MOVX @DPTR, A
+ INC DPTR
+ XCH A, R0
+ XCH A, DPL
+ XCH A, R0
+ XCH A, R2
+ XCH A, DPH
+ XCH A, R2
+ DJNZ R7, L0008
+ DJNZ R6, L0008
+ SJMP L0009
+
+L0093:
+ SETB 0Dh
+ CLR P1.6
+ SETB 0Eh
+ SETB 10h
+ CLR P1.4
+ MOV 8h, R7
+ LCALL L0106
+ MOV A, R7
+ RRC A
+ CPL C
+ MOV 14h, C
+ SETB 16h
+ CLR A
+ MOV 0Ch, A
+ MOV R7, #28h
+ LCALL L0065
+ CLR P1.7
+ SETB 3h
+ CLR 0Ah
+ MOV R7, #0E8h
+ MOV R6, #0FDh
+ LCALL L0107
+ CLR 0Dh
+ SETB P1.6
+L0110:
+ JNB 16h, L0108
+ LCALL L0109
+ JNC L0110
+ CLR EA
+ SETB P1.7
+ CLR 21h
+ LCALL L0111
+ CLR 16h
+ CLR A
+ MOV 0Ch, A
+ SETB EA
+ RET
+
+L0108:
+ MOV R7, #0E8h
+ MOV R6, #0FDh
+ LCALL L0107
+L0129:
+ JB 4h, L0128
+ JB 0Ah, L0128
+ LCALL L0109
+ JNC L0129
+ CLR EA
+ CLR 21h
+ LCALL L0111
+ SETB EA
+ RET
+
+L0128:
+ LCALL L0036
+ RET
+
+L0141:
+ SETB 10h
+ CLR P1.4
+ SETB 0Ah
+ SETB 0Dh
+ CLR P1.6
+ MOV 8h, R7
+ LCALL L0106
+ MOV A, R7
+ RRC A
+ CPL C
+ MOV 14h, C
+ SETB 16h
+ CLR A
+ MOV 0Eh, A
+ MOV R7, #28h
+ LCALL L0065
+ CLR P1.5
+ SETB 5h
+ CLR 0Eh
+ MOV R7, #0E8h
+ MOV R6, #0FDh
+ LCALL L0107
+ CLR 10h
+ SETB P1.4
+L0143:
+ JNB 16h, L0142
+ LCALL L0109
+ JNC L0143
+ CLR EA
+ SETB P1.5
+ LCALL L0144
+ CLR 16h
+ CLR A
+ MOV 0Eh, A
+ SETB EA
+ RET
+
+L0142:
+ MOV R7, #0E8h
+ MOV R6, #0FDh
+ LCALL L0107
+L0146:
+ JB 7h, L0145
+ JB 0Eh, L0145
+ LCALL L0109
+ JNC L0146
+ CLR EA
+ LCALL L0144
+ SETB EA
+ RET
+
+L0145:
+ LCALL L0036
+ RET
+
+L0017:
+ MOV R5, 7h
+ MOV A, R5
+ JNB ACC.6, L0156
+ SETB 0Fh
+ SJMP L0157
+
+L0156:
+ CLR 0Fh
+L0157:
+ MOV A, R5
+ JNB ACC.5, L0158
+ LCALL L0159
+ SJMP L0160
+
+L0158:
+ LCALL L0175
+L0160:
+ MOV A, R5
+ JNB ACC.4, L0161
+ LCALL L0162
+ SJMP L0163
+
+L0161:
+ LCALL L0174
+L0163:
+ MOV A, R5
+ JNB ACC.2, L0164
+ SETB 27h
+ SJMP L0165
+
+L0164:
+ CLR 27h
+L0165:
+ MOV R7, #2h
+ LCALL L0112
+ MOV A, R5
+ JNB ACC.1, L0166
+ LCALL L0167
+ SJMP L0168
+
+L0166:
+ LCALL L0173
+L0168:
+ MOV A, R5
+ JNB ACC.0, L0169
+ LCALL L0170
+ JB 11h, L0171
+ SETB 11h
+ SETB 1h
+ RET
+
+L0169:
+ LCALL L0172
+L0171:
+ RET
+
+ DB 07Fh
+ DB 02h
+ DB 012h
+ DB 00h
+ DB 06h
+ DB 020h
+ DB 094h
+ DB 042h
+ DB 0A2h
+ DB 095h
+ DB 092h
+ DB 018h
+ DB 05h
+ DB 0Eh
+ DB 0E5h
+ DB 0Eh
+ DB 0B4h
+ DB 01h
+ DB 012h
+ DB 020h
+ DB 018h
+ DB 0Ah
+ DB 0D2h
+ DB 07h
+ DB 0D2h
+ DB 0Ah
+ DB 0D2h
+ DB 0Dh
+ DB 0C2h
+ DB 096h
+ DB 080h
+ DB 019h
+ DB 0E4h
+ DB 0F5h
+ DB 0Eh
+ DB 080h
+ DB 014h
+ DB 0E5h
+ DB 0Eh
+ DB 0B4h
+ DB 0Bh
+ DB 0Fh
+ DB 0D2h
+ DB 0Eh
+ DB 0D2h
+ DB 010h
+ DB 0C2h
+ DB 094h
+ DB 0D2h
+ DB 013h
+ DB 0D2h
+ DB 0Ch
+ DB 0E4h
+ DB 0F5h
+ DB 0Eh
+ DB 0C2h
+ DB 07h
+ DB 0E5h
+ DB 010h
+ DB 0C3h
+ DB 013h
+ DB 0F5h
+ DB 010h
+ DB 0E5h
+ DB 011h
+ DB 013h
+ DB 0F5h
+ DB 011h
+ DB 030h
+ DB 018h
+ DB 03h
+ DB 043h
+ DB 010h
+ DB 080h
+ DB 022h
+ DB 07Fh
+ DB 02h
+ DB 012h
+ DB 00h
+ DB 06h
+ DB 020h
+ DB 096h
+ DB 042h
+ DB 0A2h
+ DB 097h
+ DB 092h
+ DB 019h
+ DB 05h
+ DB 0Ch
+ DB 0E5h
+ DB 0Ch
+ DB 0B4h
+ DB 01h
+ DB 012h
+ DB 020h
+ DB 019h
+ DB 0Ah
+ DB 0D2h
+ DB 04h
+ DB 0D2h
+ DB 0Eh
+ DB 0D2h
+ DB 010h
+ DB 0C2h
+ DB 094h
+ DB 080h
+ DB 019h
+ DB 0E4h
+ DB 0F5h
+ DB 0Ch
+ DB 080h
+ DB 014h
+ DB 0E5h
+ DB 0Ch
+ DB 0B4h
+ DB 0Bh
+ DB 0Fh
+ DB 0D2h
+ DB 0Ah
+ DB 0D2h
+ DB 0Dh
+ DB 0C2h
+ DB 096h
+ DB 0C2h
+ DB 013h
+ DB 0D2h
+ DB 0Ch
+ DB 0E4h
+ DB 0F5h
+ DB 0Ch
+ DB 0C2h
+ DB 04h
+ DB 0E5h
+ DB 010h
+ DB 0C3h
+ DB 013h
+ DB 0F5h
+ DB 010h
+ DB 0E5h
+ DB 011h
+ DB 013h
+ DB 0F5h
+ DB 011h
+ DB 030h
+ DB 019h
+ DB 03h
+ DB 043h
+ DB 010h
+ DB 080h
+ DB 022h
+L0144:
+ SETB 21h
+L0111:
+ MOV 30h, #0FEh
+L0140:
+ SETB 22h
+ SETB 23h
+ CLR 24h
+L0178:
+ SETB 0Ah
+ SETB 0Dh
+ CLR P1.6
+ SETB 0Eh
+ SETB 10h
+ CLR P1.4
+ MOV C, 23h
+ MOV 27h, C
+ MOV R7, #6h
+ LCALL L0112
+ MOV C, 24h
+ MOV 27h, C
+ MOV R7, #7h
+ LCALL L0112
+ JNB 22h, L0113
+ MOV C, 21h
+ MOV 25h, C
+ MOV 31h, 30h
+ LCALL L0114
+ SJMP L0115
+
+L0113:
+ MOV C, 21h
+ MOV 26h, C
+ MOV 32h, 30h
+ LCALL L0116
+ CLR P1.2
+ CLR P1.3
+ SETB 9h
+L0115:
+ CLR 0Ch
+ RET
+
+L0036:
+ JB 4h, L0130
+ JNB 7h, L0131
+L0130:
+ MOV R7, #0E8h
+ MOV R6, #0FDh
+ LCALL L0107
+L0133:
+ JB 4h, L0132
+ JNB 7h, L0131
+L0132:
+ LCALL L0109
+ JNC L0133
+ CLR EA
+ JB 4h, L0134
+ JNB 7h, L0135
+L0134:
+ JNB 4h, L0136
+ CLR 1Fh
+ SJMP L0137
+
+L0136:
+ SETB 1Fh
+L0137:
+ CLR A
+ MOV 0Ch, A
+ CLR 4h
+ MOV 0Eh, A
+ CLR 7h
+ LCALL L0138
+ LCALL L0139
+ SETB EA
+ MOV C, 1Fh
+ MOV 21h, C
+ MOV 30h, #0FFh
+ LCALL L0140
+ SJMP L0133
+
+L0135:
+ SETB EA
+ SJMP L0133
+
+L0131:
+ RET
+
+L0212:
+ MOV A, 19h
+ JZ L0220
+ CJNE A, #2h, L0221
+L0220:
+ MOV A, 0Dh
+ MOV DPTR, #0363h
+ MOVC A, @A+DPTR
+ XRL A, R7
+ JZ L0222
+L0221:
+ MOV A, 19h
+ XRL A, #1h
+ JNZ L0223
+ MOV A, R7
+ XRL A, #0F0h
+ JNZ L0223
+L0222:
+ INC 19h
+ MOV A, 19h
+ SETB C
+ SUBB A, #2h
+ JC L0224
+ CLR A
+ MOV 19h, A
+ INC 0Dh
+ MOV A, 0Dh
+ SUBB A, #9h
+ JC L0224
+ MOV 2Ah, #5h
+L0226:
+ CLR A
+ MOV R7, A
+ LCALL L0225
+ MOV R7, #7h
+ LCALL L0225
+ DJNZ 2Ah, L0226
+ CLR A
+ MOV 0Dh, A
+ RET
+
+L0223:
+ CLR A
+ MOV 0Dh, A
+ MOV 19h, A
+L0224:
+ RET
+
+L0035:
+ MOV A, 3Bh
+ XRL A, #15h
+ JNZ L0229
+ LCALL L0041
+ MOV A, 3Ah
+ JNB ACC.0, L0230
+ MOV 26h, #80h
+ SJMP L0231
+
+L0230:
+ CLR A
+ MOV 26h, A
+L0231:
+ MOV A, 3Ah
+ CLR C
+ RRC A
+ MOV 3Ah, A
+ MOV A, 39h
+ JNB ACC.0, L0232
+ ORL 3Ah, #80h
+L0232:
+ MOV A, 39h
+ CLR C
+ RRC A
+ MOV 39h, A
+ MOV A, 38h
+ JNB ACC.0, L0233
+ ORL 39h, #80h
+L0233:
+ CLR P3.6
+ MOV DPTR, #0D001h
+ CLR A
+ MOVX @DPTR, A
+ INC DPTR
+ MOV A, 26h
+ MOVX @DPTR, A
+ INC DPTR
+ MOV A, 3Ah
+ MOVX @DPTR, A
+ INC DPTR
+ MOV A, 39h
+ MOVX @DPTR, A
+ SETB P3.6
+L0229:
+ RET
+
+ DB 020h
+ DB 094h
+ DB 037h
+ DB 05h
+ DB 0Eh
+ DB 0E5h
+ DB 0Eh
+ DB 0D3h
+ DB 094h
+ DB 08h
+ DB 050h
+ DB 012h
+ DB 0E5h
+ DB 08h
+ DB 030h
+ DB 0E0h
+ DB 04h
+ DB 0D2h
+ DB 095h
+ DB 080h
+ DB 02h
+ DB 0C2h
+ DB 095h
+ DB 0E5h
+ DB 08h
+ DB 0C3h
+ DB 013h
+ DB 0F5h
+ DB 08h
+ DB 022h
+ DB 0E5h
+ DB 0Eh
+ DB 0B4h
+ DB 09h
+ DB 05h
+ DB 0A2h
+ DB 014h
+ DB 092h
+ DB 095h
+ DB 022h
+ DB 0E5h
+ DB 0Eh
+ DB 0B4h
+ DB 0Ah
+ DB 03h
+ DB 0D2h
+ DB 095h
+ DB 022h
+ DB 0E5h
+ DB 0Eh
+ DB 0B4h
+ DB 0Bh
+ DB 05h
+ DB 0C2h
+ DB 016h
+ DB 0E4h
+ DB 0F5h
+ DB 0Eh
+ DB 022h
+ DB 020h
+ DB 096h
+ DB 037h
+ DB 05h
+ DB 0Ch
+ DB 0E5h
+ DB 0Ch
+ DB 0D3h
+ DB 094h
+ DB 08h
+ DB 050h
+ DB 012h
+ DB 0E5h
+ DB 08h
+ DB 030h
+ DB 0E0h
+ DB 04h
+ DB 0D2h
+ DB 097h
+ DB 080h
+ DB 02h
+ DB 0C2h
+ DB 097h
+ DB 0E5h
+ DB 08h
+ DB 0C3h
+ DB 013h
+ DB 0F5h
+ DB 08h
+ DB 022h
+ DB 0E5h
+ DB 0Ch
+ DB 0B4h
+ DB 09h
+ DB 05h
+ DB 0A2h
+ DB 014h
+ DB 092h
+ DB 097h
+ DB 022h
+ DB 0E5h
+ DB 0Ch
+ DB 0B4h
+ DB 0Ah
+ DB 03h
+ DB 0D2h
+ DB 097h
+ DB 022h
+ DB 0E5h
+ DB 0Ch
+ DB 0B4h
+ DB 0Bh
+ DB 05h
+ DB 0C2h
+ DB 016h
+ DB 0E4h
+ DB 0F5h
+ DB 0Ch
+ DB 022h
+ DB 01h
+ DB 0Ch
+ DB 00h
+ DB 0C1h
+ DB 04h
+ DB 0C1h
+ DB 0Ah
+ DB 0C1h
+ DB 083h
+ DB 0C1h
+ DB 0Ch
+ DB 0C1h
+ DB 09h
+ DB 0C1h
+ DB 02h
+ DB 0C1h
+ DB 016h
+ DB 0C1h
+ DB 08h
+ DB 01h
+ DB 0Eh
+ DB 00h
+ DB 0C1h
+ DB 07h
+ DB 0C1h
+ DB 0Eh
+ DB 0C1h
+ DB 085h
+ DB 0C1h
+ DB 08Bh
+ DB 0C1h
+ DB 086h
+ DB 0C1h
+ DB 08Fh
+ DB 0C1h
+ DB 012h
+ DB 0C1h
+ DB 00h
+ DB 0C1h
+ DB 011h
+ DB 0C1h
+ DB 01h
+ DB 0C1h
+ DB 017h
+ DB 01h
+ DB 0Dh
+ DB 00h
+ DB 01h
+ DB 019h
+ DB 00h
+ DB 01h
+ DB 01Ah
+ DB 00h
+ DB 01h
+ DB 034h
+ DB 03h
+ DB 0C1h
+ DB 029h
+ DB 00h
+L0114:
+ MOV C, 25h
+ MOV 26h, C
+ MOV 32h, 31h
+ LCALL L0116
+ CLR P1.2
+ CLR P1.3
+ JB 25h, L0117
+ JB 6h, L0118
+L0117:
+ JNB 25h, L0119
+ JNB 0Bh, L0119
+L0118:
+ MOV R7, #69h
+ MOV R6, #0h
+ LCALL L0107
+L0120:
+ LCALL L0109
+ JNC L0120
+ LCALL L0121
+ JNC L0119
+ JB 25h, L0122
+ SETB P1.2
+ SJMP L0119
+
+L0122:
+ SETB P1.3
+L0119:
+ SETB 9h
+ RET
+
+L0042:
+ MOV DPTR, #0FFCh
+ CLR A
+ MOVC A, @A+DPTR
+ MOV R6, A
+ MOV A, #1h
+ MOVC A, @A+DPTR
+ MOV R7, A
+ CLR C
+ SUBB A, 3Ah
+ MOV 0Bh, A
+ MOV A, R6
+ SUBB A, 39h
+ MOV 0Ah, A
+ MOV DPTR, #0FFBh
+ CLR A
+ MOVC A, @A+DPTR
+ CLR C
+ SUBB A, 38h
+ MOV 9h, A
+ CLR C
+ MOV A, R7
+ SUBB A, 3Ah
+ MOV A, R6
+ SUBB A, 39h
+ JNC L0046
+ DEC 9h
+L0046:
+ MOV A, 9h
+ JNB ACC.7, L0047
+ CLR A
+ MOV 9h, A
+ MOV 0Ah, A
+ MOV 0Bh, A
+L0047:
+ RET
+
+L0194:
+ INC 35h
+ MOV R7, 35h
+ MOV R6, 7h
+ MOV A, R6
+ DEC A
+ RRC A
+ RRC A
+ RRC A
+ ANL A, #1Fh
+ MOV R5, A
+ MOV A, R6
+ ANL A, #7h
+ MOV R7, A
+ JNZ L0196
+ MOV 26h, A
+ MOV 27h, A
+ SJMP L0197
+
+L0196:
+ MOV A, #0FFh
+ MOV R6, #0h
+ MOV R0, 7h
+ INC R0
+ SJMP L0199
+
+L0200:
+ XCH A, R6
+ MOV C, ACC.7
+ RRC A
+ XCH A, R6
+ RRC A
+L0199:
+ DJNZ R0, L0200
+ MOV 27h, A
+ MOV 26h, R6
+L0197:
+ MOV R7, 5h
+ MOV R5, 27h
+ LJMP L0198
+
+L0016:
+ CLR A
+ MOV R7, A
+ MOV R6, #1h
+L0261:
+ MOV A, R7
+ CLR C
+ SUBB A, #8h
+ JNC L0259
+ MOV A, R7
+ JZ L0260
+ XRL A, #1h
+ JZ L0260
+ MOV A, R7
+ XRL A, #3h
+ JZ L0260
+ MOV A, R6
+ ORL A, #2h
+ ANL A, #0FEh
+ MOV DPTR, #0E000h
+ MOVX @DPTR, A
+ ANL A, #0F4h
+ MOV R5, A
+ MOV A, R6
+ ANL A, #0F4h
+ XRL A, R5
+ JZ L0260
+ SETB C
+ RET
+
+L0260:
+ INC R7
+ MOV A, R6
+ ADD A, ACC
+ MOV R6, A
+ SJMP L0261
+
+L0259:
+ CLR C
+ RET
+
+L0053:
+ MOV R5, 7h
+ MOV R4, 6h
+ MOV A, R5
+ ADD A, #0FFh
+ MOV R7, A
+ MOV A, R4
+ ADDC A, #0FFh
+ MOV R6, A
+ MOV A, R7
+ MOV R0, #3h
+L0054:
+ XCH A, R6
+ CLR C
+ RRC A
+ XCH A, R6
+ RRC A
+ DJNZ R0, L0054
+ MOV R7, A
+ MOV A, R5
+ ANL A, #7h
+ MOV R5, A
+ JNZ L0055
+ MOV 26h, A
+ SJMP L0056
+
+L0055:
+ MOV A, #0FFh
+ MOV R0, 5h
+ INC R0
+ SJMP L0191
+
+L0192:
+ CLR C
+ RRC A
+L0191:
+ DJNZ R0, L0192
+ MOV 26h, A
+L0056:
+ MOV R5, 26h
+ LJMP L0057
+
+L0030:
+ CLR 28h
+ JB 29h, L0234
+ LCALL L0235
+ MOV 3Bh, R7
+ MOV A, 3Bh
+ CJNE A, #15h, L0236
+ MOV 34h, #1Fh
+L0236:
+ SETB 29h
+L0234:
+ LCALL L0237
+ MOV 35h, R7
+ MOV A, 35h
+ JNB ACC.0, L0238
+ LCALL L0195
+ LCALL L0194
+ CLR A
+ MOV 36h, A
+ MOV 37h, A
+ RET
+
+L0238:
+ LCALL L0239
+ MOV 36h, R6
+ MOV 37h, R7
+ RET
+
+L0213:
+ JB 0Fh, L0215
+ MOV R6, #0h
+ RET
+
+L0215:
+ CJNE R7, #0F0h, L0216
+ SETB 15h
+ MOV R6, #0FFh
+ MOV R7, #0FFh
+ RET
+
+L0216:
+ MOV A, R7
+ CLR C
+ SUBB A, #85h
+ JC L0217
+ MOV R6, #0h
+ RET
+
+L0217:
+ MOV A, R7
+ MOV DPTR, #02CEh
+ MOVC A, @A+DPTR
+ MOV R6, A
+ JNZ L0218
+ MOV R6, A
+ RET
+
+L0218:
+ JNB 15h, L0219
+ ORL 6h, #80h
+L0219:
+ CLR 15h
+ MOV R7, 6h
+ MOV R6, #0h
+ RET
+
+L0032:
+ MOV C, 1Ah
+ MOV 28h, C
+ INC 37h
+ MOV A, 37h
+ JNZ L0051
+ INC 36h
+L0051:
+ CLR C
+ MOV A, 36h
+ SUBB A, #80h
+ JNC L0052
+ MOV R7, 37h
+ MOV R6, 36h
+ LJMP L0053
+
+L0052:
+ MOV A, 35h
+ CLR C
+ SUBB A, #10h
+ JNC L0193
+ LCALL L0194
+ LCALL L0195
+ LCALL L0194
+ CLR A
+ MOV 36h, A
+ MOV 37h, A
+L0193:
+ RET
+
+L0237:
+ CLR A
+ MOV R7, A
+ LCALL L0250
+ MOV R6, #0FFh
+ CLR A
+ MOV 26h, A
+L0253:
+ MOV A, 26h
+ CJNE A, #8h, L0251
+ MOV R7, #1h
+ LCALL L0250
+ MOV R6, #0FFh
+L0251:
+ MOV A, R6
+ CJNE A, 7h, L0252
+ MOV R7, 26h
+ RET
+
+L0252:
+ MOV A, R6
+ CLR C
+ RRC A
+ MOV R6, A
+ INC 26h
+ MOV A, 26h
+ SETB C
+ SUBB A, #10h
+ JC L0253
+ MOV R7, #0FFh
+ RET
+
+ DB 0E4h
+ DB 0FFh
+ DB 030h
+ DB 0Fh
+ DB 02h
+ DB 07Fh
+ DB 040h
+ DB 020h
+ DB 05h
+ DB 03h
+ DB 043h
+ DB 07h
+ DB 020h
+ DB 020h
+ DB 03h
+ DB 03h
+ DB 043h
+ DB 07h
+ DB 010h
+ DB 090h
+ DB 0E0h
+ DB 00h
+ DB 0E0h
+ DB 030h
+ DB 0E2h
+ DB 03h
+ DB 043h
+ DB 07h
+ DB 04h
+ DB 030h
+ DB 0Bh
+ DB 03h
+ DB 043h
+ DB 07h
+ DB 02h
+ DB 030h
+ DB 06h
+ DB 03h
+ DB 043h
+ DB 07h
+ DB 01h
+ DB 022h
+L0057:
+ MOV 27h, R6
+ MOV 28h, R7
+ MOV 29h, R5
+ LCALL L0058
+ MOV A, 27h
+ ADD A, #0D0h
+ MOV 2Ah, A
+ MOV A, 28h
+ MOV 2Bh, A
+ LCALL L0059
+ MOV 2Fh, 29h
+ MOV R3, 2Bh
+ MOV R5, 2Ah
+ MOV R7, 34h
+ LCALL L0060
+ LCALL L0061
+ LJMP L0062
+
+ DB 0C0h
+ DB 0E0h
+ DB 0C0h
+ DB 0F0h
+ DB 0C0h
+ DB 0D0h
+ DB 075h
+ DB 0D0h
+ DB 00h
+ DB 0C0h
+ DB 06h
+ DB 0C0h
+ DB 07h
+ DB 020h
+ DB 010h
+ DB 0Bh
+ DB 030h
+ DB 016h
+ DB 05h
+ DB 012h
+ DB 08h
+ DB 0Ah
+ DB 080h
+ DB 03h
+ DB 012h
+ DB 06h
+ DB 04Dh
+ DB 0D0h
+ DB 07h
+ DB 0D0h
+ DB 06h
+ DB 0D0h
+ DB 0D0h
+ DB 0D0h
+ DB 0F0h
+ DB 0D0h
+ DB 0E0h
+ DB 032h
+ DB 0C0h
+ DB 0E0h
+ DB 0C0h
+ DB 0F0h
+ DB 0C0h
+ DB 0D0h
+ DB 075h
+ DB 0D0h
+ DB 00h
+ DB 0C0h
+ DB 06h
+ DB 0C0h
+ DB 07h
+ DB 020h
+ DB 0Dh
+ DB 0Bh
+ DB 030h
+ DB 016h
+ DB 05h
+ DB 012h
+ DB 08h
+ DB 045h
+ DB 080h
+ DB 03h
+ DB 012h
+ DB 06h
+ DB 098h
+ DB 0D0h
+ DB 07h
+ DB 0D0h
+ DB 06h
+ DB 0D0h
+ DB 0D0h
+ DB 0D0h
+ DB 0F0h
+ DB 0D0h
+ DB 0E0h
+ DB 032h
+L0085:
+ POP DPH
+ POP DPL
+ MOV R0, A
+L0089:
+ CLR A
+ MOVC A, @A+DPTR
+ JNZ L0087
+ MOV A, #1h
+ MOVC A, @A+DPTR
+ JNZ L0087
+ INC DPTR
+ INC DPTR
+L0088:
+ MOVC A, @A+DPTR
+ MOV R0, A
+ MOV A, #1h
+ MOVC A, @A+DPTR
+ MOV DPL, A
+ MOV DPH, R0
+ CLR A
+ JMP @A+DPTR
+
+L0087:
+ MOV A, #2h
+ MOVC A, @A+DPTR
+ XRL A, R0
+ JZ L0088
+ INC DPTR
+ INC DPTR
+ INC DPTR
+ SJMP L0089
+
+L0060:
+ MOV R6, 3h
+ MOV R3, 5h
+ ANL 1Ah, #0EFh
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ MOV R5, 7h
+ MOV 33h, R6
+ MOV R7, #2h
+ LCALL L0188
+ MOV R7, 2Fh
+ LCALL L0067
+ ORL 1Ah, #10h
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ RET
+
+L0112:
+ MOV A, #1h
+ MOV R0, 7h
+ INC R0
+ SJMP L0124
+
+L0125:
+ CLR C
+ RLC A
+L0124:
+ DJNZ R0, L0125
+ MOV R7, A
+ MOV DPTR, #0E000h
+ MOVX A, @DPTR
+ ORL A, #2h
+ MOV R6, A
+ MOV A, R7
+ JNB 27h, L0126
+ ORL 6h, A
+ SJMP L0127
+
+L0126:
+ CPL A
+ ANL 6h, A
+L0127:
+ MOV DPTR, #0E000h
+ MOV A, R6
+ MOVX @DPTR, A
+ RET
+
+L0075:
+ LCALL L0037
+ JC L0076
+ LCALL L0077
+ SJMP L0075
+
+L0076:
+ LCALL L0185
+ LCALL L0186
+ CLR 1Fh
+ MOV 2Fh, #0EEh
+ MOV C, 6h
+ MOV 20h, C
+ LCALL L0177
+L0187:
+ MOV DPTR, #0D000h
+ MOVX A, @DPTR
+ JNB ACC.1, L0187
+ RET
+
+L0249:
+ MOV R6, 3h
+ MOV R3, 5h
+ ANL 1Ah, #0EFh
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ MOV R5, 7h
+ MOV 33h, R6
+ MOV R7, #3h
+ LCALL L0188
+ LCALL L0068
+ ORL 1Ah, #10h
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ RET
+
+L0068:
+ MOV A, 1Ah
+ ANL A, #9Fh
+ MOV R5, A
+ ORL A, #20h
+ MOV R6, A
+ MOV R4, #8h
+L0070:
+ MOV A, R7
+ ADD A, ACC
+ MOV R7, A
+ MOV DPTR, #0D000h
+ MOV A, R5
+ MOVX @DPTR, A
+ MOVX A, @DPTR
+ JNB ACC.4, L0069
+ ORL 7h, #1h
+L0069:
+ MOV DPTR, #0D000h
+ MOV A, R6
+ MOVX @DPTR, A
+ DJNZ R4, L0070
+ RET
+
+L0116:
+ MOV DPTR, #0F000h
+ MOV A, 32h
+ MOVX @DPTR, A
+ MOV 0Fh, A
+ MOV C, 26h
+ MOV 27h, C
+ MOV R7, #5h
+ LCALL L0112
+ MOV DPTR, #0E000h
+ MOVX A, @DPTR
+ ORL A, #2h
+ ANL A, #0FEh
+ MOV R6, A
+ MOVX @DPTR, A
+ ORL A, #1h
+ MOVX @DPTR, A
+ MOV A, R6
+ MOVX @DPTR, A
+ RET
+
+L0254:
+ ANL 1Ah, #0EFh
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ MOV R7, #9Fh
+ LCALL L0067
+ LCALL L0068
+ LCALL L0068
+ LCALL L0068
+ ORL 1Ah, #10h
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ RET
+
+L0225:
+ MOV 2Bh, R7
+ MOV R7, #0EDh
+ LCALL L0093
+ MOV R7, 2Bh
+ LCALL L0093
+ MOV 2Ch, #0Ah
+L0228:
+ MOV R7, #0E8h
+ MOV R6, #0FDh
+ LCALL L0107
+L0227:
+ LCALL L0109
+ JNC L0227
+ DJNZ 2Ch, L0228
+ RET
+
+L0198:
+ MOV 28h, R7
+ MOV 29h, R5
+ LCALL L0058
+ LCALL L0059
+ MOV A, 28h
+ ADD A, #0FEh
+ MOV R3, A
+ MOV 2Fh, 29h
+ MOV R5, #0EFh
+ MOV R7, 34h
+ LCALL L0060
+ LCALL L0061
+ LJMP L0062
+
+L0107:
+ MOV R5, 7h
+ MOV R4, 6h
+ CLR TR0
+ MOV A, R5
+ CPL A
+ MOV R7, A
+ MOV A, R4
+ CPL A
+ MOV R6, A
+ MOV A, R7
+ ADD A, #1h
+ MOV R5, A
+ CLR A
+ ADDC A, R6
+ MOV TH0, A
+ MOV R7, 5h
+ MOV TL0, R7
+ CLR TF0
+ SETB TR0
+ RET
+
+ DB 0ADh
+ DB 07h
+ DB 0ACh
+ DB 06h
+ DB 0C2h
+ DB 0CAh
+ DB 0EDh
+ DB 0F4h
+ DB 0FFh
+ DB 0ECh
+ DB 0F4h
+ DB 0FEh
+ DB 0EFh
+ DB 024h
+ DB 01h
+ DB 0FDh
+ DB 0E4h
+ DB 03Eh
+ DB 0F5h
+ DB 0CDh
+ DB 0AFh
+ DB 05h
+ DB 08Fh
+ DB 0CCh
+ DB 0C2h
+ DB 0CFh
+ DB 0D2h
+ DB 0CAh
+ DB 022h
+L0063:
+ ANL 1Ah, #0EFh
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ MOV R7, #5h
+ LCALL L0067
+ LCALL L0068
+ ORL 1Ah, #10h
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ MOV A, R7
+ RRC A
+ RET
+
+L0067:
+ MOV A, 1Ah
+ ANL A, #9Fh
+ MOV R6, A
+ ORL A, #40h
+ MOV R5, A
+ MOV R4, #8h
+ MOV DPTR, #0D000h
+L0073:
+ MOV A, R7
+ RLC A
+ MOV R7, A
+ JNC L0071
+ MOV A, R5
+ SJMP L0072
+
+L0071:
+ MOV A, R6
+L0072:
+ MOVX @DPTR, A
+ ORL A, #20h
+ MOVX @DPTR, A
+ DJNZ R4, L0073
+ RET
+
+L0041:
+ LCALL L0048
+ MOV 39h, R6
+ MOV 3Ah, R7
+ LCALL L0049
+ MOV 38h, R7
+ MOV A, 38h
+ JNB ACC.1, L0050
+ ORL 39h, #80h
+L0050:
+ MOV A, 38h
+ RRC A
+ RRC A
+ ANL A, #3Fh
+ MOV 38h, A
+ RET
+
+ DB 053h
+ DB 01Ah
+ DB 0EFh
+ DB 090h
+ DB 0D0h
+ DB 00h
+ DB 0E5h
+ DB 01Ah
+ DB 0F0h
+ DB 07Fh
+ DB 05h
+ DB 012h
+ DB 0Ch
+ DB 0D0h
+ DB 012h
+ DB 0Bh
+ DB 0D7h
+ DB 043h
+ DB 01Ah
+ DB 010h
+ DB 090h
+ DB 0D0h
+ DB 00h
+ DB 0E5h
+ DB 01Ah
+ DB 0F0h
+ DB 022h
+L0029:
+ LCALL L0185
+ LCALL L0186
+L0256:
+ MOV DPTR, #0D000h
+ MOVX A, @DPTR
+ JB ACC.1, L0255
+ LCALL L0024
+ LCALL L0077
+ SJMP L0256
+
+L0255:
+ RET
+
+L0034:
+ LCALL L0041
+ LCALL L0042
+ MOV A, 9h
+ JNZ L0043
+ MOV A, 0Ah
+ JNZ L0043
+ MOV A, 0Bh
+ JNZ L0043
+ LCALL L0044
+L0043:
+ RET
+
+L0188:
+ MOV 31h, R5
+ MOV 32h, R3
+ LCALL L0067
+ MOV R7, 31h
+ LCALL L0067
+ MOV R7, 32h
+ LCALL L0067
+ MOV R7, 33h
+ LJMP L0067
+
+L0190:
+ ANL 1Ah, #0EFh
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ LCALL L0067
+ ORL 1Ah, #10h
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ RET
+
+L0195:
+ LCALL L0058
+ LCALL L0059
+ CLR A
+ MOV R3, A
+ MOV R5, #0D0h
+ MOV R7, 34h
+ LCALL L0201
+ LCALL L0061
+ LJMP L0062
+
+L0033:
+ ANL 1Ah, #0FBh
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ ANL 1Ah, #0FDh
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ MOV R7, #3Ch
+ LJMP L0065
+
+L0025:
+ JNB 9h, L0183
+ LCALL L0121
+ JC L0183
+ CLR P1.2
+ CLR P1.3
+ CLR 9h
+ LCALL L0184
+L0183:
+ RET
+
+L0177:
+ MOV C, 1Fh
+ MOV 21h, C
+ MOV 30h, 2Fh
+ MOV C, 20h
+ MOV 22h, C
+ CLR 23h
+ CLR 24h
+ LJMP L0178
+
+L0106:
+ MOV A, R7
+ SWAP A
+ ANL A, #0Fh
+ MOV DPTR, #0353h
+ MOVC A, @A+DPTR
+ MOV R6, A
+ MOV A, R7
+ ANL A, #0Fh
+ MOVC A, @A+DPTR
+ ADD A, R6
+ MOV R7, A
+ RET
+
+L0018:
+ MOV DPTR, #0E000h
+ MOVX A, @DPTR
+ ORL A, #2h
+ ANL A, #0FEh
+ MOV R6, A
+ MOVX @DPTR, A
+ ANL A, #0FDh
+ MOVX @DPTR, A
+ MOV A, R6
+ MOVX @DPTR, A
+ RET
+
+L0062:
+ LCALL L0059
+ LCALL L0063
+ MOV 1Bh, C
+ LCALL L0061
+ JB 1Bh, L0062
+ RET
+
+L0099:
+ JNB 5h, L0101
+ JB 0Eh, L0101
+ JB 2h, L0101
+ SETB C
+ SJMP L0102
+
+L0101:
+ CLR C
+L0102:
+ RET
+
+L0037:
+ JNB 3h, L0104
+ JB 0Ah, L0104
+ JB 2h, L0104
+ SETB C
+ SJMP L0105
+
+L0104:
+ CLR C
+L0105:
+ RET
+
+L0240:
+ MOV R2, 6h
+ MOV A, R2
+ ADD A, #0D0h
+ MOV R5, A
+ MOV A, R7
+ MOV R3, A
+ MOV R7, 34h
+ LCALL L0249
+ RET
+
+L0250:
+ MOV A, R7
+ ADD A, #0FEh
+ MOV R3, A
+ MOV R5, #0EFh
+ MOV R7, 34h
+ LCALL L0249
+ RET
+
+L0082:
+ SETB 2h
+ SETB 0Dh
+ CLR P1.6
+ SETB 10h
+ CLR P1.4
+ RET
+
+L0019:
+ MOV A, R7
+ MOV DPTR, #02C9h
+ MOVC A, @A+DPTR
+ XRL A, R5
+ JZ L0257
+L0258:
+ SJMP L0258
+
+L0257:
+ RET
+
+L0098:
+ LCALL L0099
+ JNC L0100
+ CLR 10h
+ SETB P1.4
+L0100:
+ RET
+
+L0097:
+ LCALL L0037
+ JNC L0103
+ CLR 0Dh
+ SETB P1.6
+L0103:
+ RET
+
+L0020:
+ MOV A, TMOD
+ ANL A, #0F0h
+ ORL A, #1h
+ MOV TMOD, A
+ RET
+
+L0109:
+ JNB TF0, L0123
+ CLR TR0
+ SETB C
+ RET
+
+L0123:
+ CLR C
+ RET
+
+ DB 030h
+ DB 0CFh
+ DB 04h
+ DB 0C2h
+ DB 0CAh
+ DB 0D3h
+ DB 022h
+ DB 0C3h
+ DB 022h
+L0058:
+ LCALL L0059
+ LCALL L0189
+ LJMP L0061
+
+L0184:
+ LCALL L0138
+L0139:
+ CLR 0Eh
+ LJMP L0098
+
+L0095:
+ CLR 2h
+ LCALL L0097
+ LJMP L0098
+
+L0159:
+ CLR 5h
+ SETB 10h
+ CLR P1.4
+ RET
+
+L0162:
+ CLR 3h
+ SETB 0Dh
+ CLR P1.6
+ RET
+
+L0045:
+ MOV DPTR, #0D000h
+ MOV A, 1Ah
+ MOVX @DPTR, A
+ RET
+
+L0059:
+ JNB 28h, L0074
+ LCALL L0075
+L0074:
+ RET
+
+L0061:
+ JNB 28h, L0064
+ LCALL L0033
+L0064:
+ RET
+
+L0121:
+ MOV DPTR, #0E000h
+ MOVX A, @DPTR
+ RRC A
+ RET
+
+L0039:
+ ANL 1Ah, #0FEh
+ LJMP L0045
+
+L0040:
+ ORL 1Ah, #1h
+ LJMP L0045
+
+ DB 053h
+ DB 01Ah
+ DB 0FDh
+ DB 02h
+ DB 0Eh
+ DB 09Bh
+L0185:
+ ORL 1Ah, #2h
+ LJMP L0045
+
+ DB 053h
+ DB 01Ah
+ DB 0FBh
+ DB 02h
+ DB 0Eh
+ DB 09Bh
+L0186:
+ ORL 1Ah, #4h
+ LJMP L0045
+
+L0044:
+ ANL 1Ah, #7Fh
+ LJMP L0045
+
+ DB 043h
+ DB 01Ah
+ DB 080h
+ DB 02h
+ DB 0Eh
+ DB 09Bh
+L0175:
+ SETB 5h
+ LJMP L0098
+
+L0138:
+ CLR 0Ah
+ LJMP L0097
+
+L0174:
+ SETB 3h
+ LJMP L0097
+
+L0021:
+ MOV 1Ah, R7
+ LJMP L0045
+
+L0189:
+ MOV R7, #6h
+ LJMP L0190
+
+ DB 07Fh
+ DB 04h
+ DB 02h
+ DB 0Dh
+ DB 067h
+L0048:
+ MOV R6, 36h
+ MOV R7, 37h
+ RET
+
+ DB 0E4h
+ DB 0F5h
+ DB 0C8h
+ DB 022h
+L0235:
+ LCALL L0254
+ RET
+
+L0173:
+ CLR 0Bh
+ RET
+
+L0167:
+ SETB 0Bh
+ RET
+
+L0172:
+ CLR 6h
+ RET
+
+L0170:
+ SETB 6h
+ RET
+
+L0049:
+ MOV R7, 35h
+ RET
+
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+ DB 0FFh
+END