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