stock_fw.a51
BMecke_hantekosc/hantekosc/py_ht6022/Firmware/stock/stock_fw.a51
;---------------------------------
;   Mod 6022BE Firmware
;   for FX2LP chip (Enhanced 8051)
;
;   Disassembled with Dis51
;
;---------------------------------


CSEG AT 0000h
	LJMP L0D52

L0003:
	MOV DPTR, #0E682h
	MOVX A, @DPTR
	ORL A, #0C0h
	MOVX @DPTR, A
	MOV DPTR, #0E681h
	MOVX @DPTR, A
	ORL PCON, #1h
	NOP
	NOP
	NOP
	NOP
	NOP
	RET

L0017:
	MOV A, #0h
	MOV 86h, A
	MOV DPTR, #0FDA5h
	MOV R4, #5h
L0020:
	INC DPTR
	MOV A, DPL
	ORL A, DPH
	JNZ L0020
	RET

L0028:
	SETB C
	RET

L002A:
	RETI

	LJMP L1196

L002E:
	ANL 0D8h, #0EFh
	RETI

L0032:
	RETI

	LJMP L002E

	DB 00h
	DB 01h
	DB 02h
	DB 02h
	DB 03h
	DB 03h
	DB 04h
	DB 04h
	DB 05h
	DB 05h
L0040:
	SETB C
	RET

L0042:
	RETI

	LJMP L0C00

L0046:
	SETB C
	RET

L0048:
	SETB C
	RET

L004A:
	RETI

	LJMP L0A73

L004E:
	SETB C
	RET

L0050:
	SETB C
	RET

L0052:
	RETI

	LJMP L0C00

L0056:
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	ANL A, #10h
	MOV R7, A
	SWAP A
	ANL A, #0Fh
	ORL A, #50h
	MOV 19h, A
	RRC A
	CLR A
	RLC A
	MOV 1Ch, A
	SETB 2h
	MOV DPTR, #0E6B9h
	MOVX A, @DPTR
	ADD A, #5Eh
	JZ L00C3
	ADD A, #0F0h
	JZ L00A7
	ADD A, #0D2h
	CJNE A, #8h, L007C
L007C:
	JC L0081
	LJMP L04D5

L0081:
	MOV DPTR, #008Fh
	MOV B, #3h
	MUL AB
	XCH A, DPH
	ADD A, B
	XCH A, DPH
	JMP @A+DPTR

	LJMP L024B

	LJMP L0296

	LJMP L02DC

	LJMP L0446

	LJMP L04D5

	LJMP L04D5

	LJMP L04D5

	LJMP L0465

L00A7:
	MOV C, 5h
	CLR A
	RLC A
	MOV DPTR, #0E740h
	MOVX @DPTR, A
	CLR A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	INC A
	MOVX @DPTR, A
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	ORL A, #80h
	MOVX @DPTR, A
	LJMP L04D7

L00C3:
	MOV DPTR, #0E6BAh
	MOVX A, @DPTR
	MOV 2Dh, #0h
	MOV 2Eh, A
	INC DPTR
	MOVX A, @DPTR
	MOV R6, A
	CLR A
	MOV A, R6
	ORL 2Dh, A
	MOV DPTR, #0E6BEh
	MOVX A, @DPTR
	MOV 2Fh, #0h
	MOV 30h, A
	INC DPTR
	MOVX A, @DPTR
	MOV R6, A
	CLR A
	MOV A, R6
	ORL 2Fh, A
	MOV DPTR, #0E6B8h
	MOVX A, @DPTR
	XRL A, #0C0h
	JZ L00EE
	LJMP L01B3

L00EE:
	MOV A, 30h
	ORL A, 2Fh
	JNZ L00F7
	LJMP L04D7

L00F7:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	JB ACC.1, L00F7
	CLR C
	MOV A, 30h
	SUBB A, #40h
	MOV A, 2Fh
	SUBB A, #0h
	JNC L0111
	MOV 31h, 2Fh
	MOV 32h, 30h
	SJMP L0117

L0111:
	MOV 31h, #0h
	MOV 32h, #40h
L0117:
	MOV DPTR, #0E6B9h
	MOVX A, @DPTR
	CJNE A, #0A3h, L0153
	CLR A
	MOV 33h, A
	MOV 34h, A
L0123:
	CLR C
	MOV A, 34h
	SUBB A, 32h
	MOV A, 33h
	SUBB A, 31h
	JNC L018E
	MOV A, 2Eh
	ADD A, 34h
	MOV DPL, A
	MOV A, 2Dh
	ADDC A, 33h
	MOV DPH, A
	MOVX A, @DPTR
	MOV R7, A
	MOV A, #40h
	ADD A, 34h
	MOV DPL, A
	CLR A
	ADDC A, #0E7h
	MOV DPH, A
	MOV A, R7
	MOVX @DPTR, A
	INC 34h
	MOV A, 34h
	JNZ L0151
	INC 33h
L0151:
	SJMP L0123

L0153:
	CLR A
	MOV 33h, A
	MOV 34h, A
L0158:
	CLR C
	MOV A, 34h
	SUBB A, 32h
	MOV A, 33h
	SUBB A, 31h
	JNC L017B
	MOV A, #40h
	ADD A, 34h
	MOV DPL, A
	CLR A
	ADDC A, #0E7h
	MOV DPH, A
	MOV A, #0CDh
	MOVX @DPTR, A
	INC 34h
	MOV A, 34h
	JNZ L0179
	INC 33h
L0179:
	SJMP L0158

L017B:
	MOV R5, 32h
	MOV R2, #0E7h
	MOV R1, #40h
	MOV R6, #0E7h
	MOV R7, #40h
	MOV R3, 7h
	MOV R7, 2Eh
	MOV R6, 2Dh
	LCALL L0FBD
L018E:
	CLR A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	MOV A, 32h
	MOVX @DPTR, A
	ADD A, 2Eh
	MOV 2Eh, A
	MOV A, 31h
	ADDC A, 2Dh
	MOV 2Dh, A
	CLR C
	MOV A, 30h
	SUBB A, 32h
	MOV 30h, A
	MOV A, 2Fh
	SUBB A, 31h
	MOV 2Fh, A
	LJMP L00EE

L01B3:
	MOV DPTR, #0E6B8h
	MOVX A, @DPTR
	XRL A, #40h
	JZ L01BE
	LJMP L04D7

L01BE:
	MOV A, 30h
	ORL A, 2Fh
	JNZ L01C7
	LJMP L04D7

L01C7:
	CLR A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	MOVX @DPTR, A
L01D0:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	JB ACC.1, L01D0
	MOV DPTR, #0E68Bh
	MOVX A, @DPTR
	MOV 31h, #0h
	MOV 32h, A
	MOV DPTR, #0E6B9h
	MOVX A, @DPTR
	CJNE A, #0A3h, L021C
	CLR A
	MOV 33h, A
	MOV 34h, A
L01EC:
	CLR C
	MOV A, 34h
	SUBB A, 32h
	MOV A, 33h
	SUBB A, 31h
	JNC L022F
	MOV A, #40h
	ADD A, 34h
	MOV DPL, A
	CLR A
	ADDC A, #0E7h
	MOV DPH, A
	MOVX A, @DPTR
	MOV R7, A
	MOV A, 2Eh
	ADD A, 34h
	MOV DPL, A
	MOV A, 2Dh
	ADDC A, 33h
	MOV DPH, A
	MOV A, R7
	MOVX @DPTR, A
	INC 34h
	MOV A, 34h
	JNZ L021A
	INC 33h
L021A:
	SJMP L01EC

L021C:
	MOV R5, 32h
	MOV R2, #0E7h
	MOV R1, #40h
	MOV R6, #0E7h
	MOV R7, #40h
	MOV R3, 7h
	MOV R7, 2Eh
	MOV R6, 2Dh
	LCALL L112D
L022F:
	MOV A, 32h
	ADD A, 2Eh
	MOV 2Eh, A
	MOV A, 31h
	ADDC A, 2Dh
	MOV 2Dh, A
	CLR C
	MOV A, 30h
	SUBB A, 32h
	MOV 30h, A
	MOV A, 2Fh
	SUBB A, 31h
	MOV 2Fh, A
	LJMP L01BE

L024B:
	CLR A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	MOVX @DPTR, A
L0254:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	JB ACC.1, L0254
	MOV DPTR, #0E740h
	MOVX A, @DPTR
	MOV 35h, A
	DEC A
	JZ L028D
	DEC A
	JZ L0284
	ADD A, #0FDh
	JZ L027B
	ADD A, #0FBh
	JZ L0272
	LJMP L04D7

L0272:
	CLR P2.4
	SETB P2.3
	SETB P2.2
	LJMP L04D7

L027B:
	CLR P2.4
	CLR P2.3
	CLR P2.2
	LJMP L04D7

L0284:
	CLR P2.4
	CLR P2.3
	SETB P2.2
	LJMP L04D7

L028D:
	CLR P2.4
	SETB P2.3
	CLR P2.2
	LJMP L04D7

L0296:
	CLR A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	MOVX @DPTR, A
L029F:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	JB ACC.1, L029F
	MOV DPTR, #0E740h
	MOVX A, @DPTR
	MOV 35h, A
	ADD A, #0FEh
L02AE:
	JZ L02CA
	ADD A, #0FDh
	JZ L02C1
	ADD A, #0FBh
	JNZ L02D3
	CLR P2.7
	SETB P2.6
	SETB P2.5
	LJMP L04D7

L02C1:
	CLR P2.7
	CLR P2.6
	CLR P2.5
	LJMP L04D7

L02CA:
	CLR P2.7
	CLR P2.6
	SETB P2.5
	LJMP L04D7

L02D3:
	CLR P2.7
	SETB P2.6
	CLR P2.5
	LJMP L04D7

L02DC:
	CLR A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	MOVX @DPTR, A
L02E5:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	JB ACC.1, L02E5
	MOV DPTR, #0E740h
	MOVX A, @DPTR
	MOV 35h, A
	LCALL L0EF2
	RR A
	MOV 1h, R0
	RR A
	MOV A, #4h
	RR A
	JZ L0306
	RR A
	CLR 0Ah
	RR A
	ORL A, R5
	JBC 3h, L02B5
L0306:
	DEC A
	RR A
	ADDC A, R3
	DEC R0
	RR A
	ADD A, R1
	DEC R6
	RR A
	DEC @R1
	JNB 3h, L02AE
	RETI

	DB 00h
	DB 00h
	DB 03h
	DB 0D3h
	DB 090h
	DB 0E6h
	DB 01h
	DB 074h
	DB 0EAh
	DB 0F0h
	MOV DPTR, #0E050h
	MOV A, #0FFh
	MOVX @DPTR, A
	MOV 1Ah, #1h
	LJMP L03D3

	DB 090h
	DB 0E6h
	DB 01h
	DB 074h
	DB 0AAh
	DB 0F0h
	DB 090h
	MOVX A, @DPTR
	JNC L03A7
	MOV R7, A
	MOVX @DPTR, A
	MOV 1Ah, #1h
	LJMP L03D3

	DB 090h
	DB 0E6h
	DB 01h
	DB 074h
	DB 0CAh
	MOVX @DPTR, A
	MOV DPTR, #0E050h
	MOV A, #0FBh
	MOVX @DPTR, A
	MOV 1Ah, #1h
	LJMP L03D3

	DB 090h
	DB 0E6h
	DB 01h
	MOV A, #0CAh
	MOVX @DPTR, A
	MOV DPTR, #0E040h
	MOV A, #1h
	MOVX @DPTR, A
	INC DPTR
	MOVX @DPTR, A
	CLR A
	MOV 1Ah, A
	SJMP L03D3

	MOV DPTR, #0E601h
	MOV A, #0CAh
	MOVX @DPTR, A
	MOV DPTR, #0E040h
	MOV A, #2h
	MOVX @DPTR, A
	INC DPTR
	INC A
	MOVX @DPTR, A
	CLR A
	MOV 1Ah, A
	SJMP L03D3

	DB 090h
	DB 0E6h
	DB 01h
	DB 074h
	DB 0CAh
	DB 0F0h
	DB 090h
	DB 0E0h
	DB 040h
	DB 074h
	DB 05h
	DB 0F0h
	DB 0A3h
	DB 04h
	DB 0F0h
	DB 0E4h
	DB 0F5h
	DB 01Ah
	DB 080h
	DB 04Bh
	DB 090h
	DB 0E6h
	DB 01h
	DB 074h
	XCH A, R2
	MOVX @DPTR, A
	MOV DPTR, #0E040h
	MOV A, #17h
	MOVX @DPTR, A
	INC DPTR
	INC A
	MOVX @DPTR, A
	CLR A
	MOV 1Ah, A
	SJMP L03D3

	DB 090h
	DB 0E6h
	DB 01h
	DB 074h
	DB 0CAh
	DB 0F0h
	DB 090h
	DB 0E0h
	DB 040h
	DB 074h
	DB 030h
L03A7:
	MOVX @DPTR, A
	INC DPTR
	MOVX @DPTR, A
	CLR A
	MOV 1Ah, A
	SJMP L03D3

	MOV DPTR, #0E601h
	MOV A, #0CAh
	MOVX @DPTR, A
	MOV DPTR, #0E040h
	MOV A, #78h
	MOVX @DPTR, A
	INC DPTR
	MOVX @DPTR, A
	CLR A
	MOV 1Ah, A
	SJMP L03D3

	MOV DPTR, #0E601h
	MOV A, #0CAh
	MOVX @DPTR, A
	MOV DPTR, #0E040h
	MOV A, #0F0h
	MOVX @DPTR, A
	INC DPTR
	MOVX @DPTR, A
	CLR A
	MOV 1Ah, A
L03D3:
	MOV DPTR, #0E6F5h
	MOV A, #0FFh
	MOVX @DPTR, A
	MOV DPTR, #0E080h
	MOVX A, @DPTR
	MOV DPTR, #0E6F3h
	MOVX @DPTR, A
	MOV DPTR, #0E081h
	MOVX A, @DPTR
	MOV DPTR, #0E6C3h
	MOVX @DPTR, A
	MOV DPTR, #0E082h
	MOVX A, @DPTR
	MOV DPTR, #0E6C1h
	MOVX @DPTR, A
	MOV DPTR, #0E083h
	MOVX A, @DPTR
	MOV DPTR, #0E6C2h
	MOVX @DPTR, A
	MOV DPTR, #0E085h
	MOVX A, @DPTR
	MOV DPTR, #0E6C0h
	MOVX @DPTR, A
	MOV DPTR, #0E086h
	MOVX A, @DPTR
	MOV DPTR, #0E6F4h
	MOVX @DPTR, A
	MOV 0AFh, #7h
	MOV A, 1Ah
	CJNE A, #1h, L041B
	MOV A, #0E0h
	MOV 9Ah, A
	MOV A, #87h
	MOV 9Bh, A
	SJMP L0423

L041B:
	MOV A, #0E0h
	MOV 9Ah, A
	MOV A, #0h
	MOV 9Bh, A
L0423:
	MOV 9Dh, #0E4h
	CLR A
	MOV 9Eh, A
	MOV 33h, A
	MOV 34h, A
L042D:
	MOV DPTR, #0E67Bh
	MOVX A, @DPTR
	MOV DPTR, #0E67Ch
	MOVX @DPTR, A
	INC 34h
	MOV A, 34h
	JNZ L043D
	INC 33h
L043D:
	XRL A, #80h
	ORL A, 33h
	JNZ L042D
	LJMP L04D7

L0446:
	CLR A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	MOVX @DPTR, A
L044F:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	JB ACC.1, L044F
	MOV DPTR, #0E740h
	MOVX A, @DPTR
	MOV 35h, A
	XRL A, #1h
	JNZ L04D7
	MOV 1Dh, #1h
	SJMP L04D7

L0465:
	MOV DPTR, #0E6BAh
	MOVX A, @DPTR
	MOV 2Dh, #0h
	MOV 2Eh, A
	INC DPTR
	MOVX A, @DPTR
	MOV R6, A
	CLR A
	MOV A, R6
	ORL 2Dh, A
	MOV DPTR, #0E6BEh
	MOVX A, @DPTR
	MOV 2Fh, #0h
	MOV 30h, A
	INC DPTR
	MOVX A, @DPTR
	MOV R6, A
	CLR A
	MOV A, R6
	ORL 2Fh, A
L0485:
	MOV A, 30h
	ORL A, 2Fh
	JZ L04D7
L048B:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	JB ACC.1, L048B
	CLR C
	MOV A, 30h
	SUBB A, #40h
	MOV A, 2Fh
	SUBB A, #0h
	JNC L04A5
	MOV 31h, 2Fh
	MOV 32h, 30h
	SJMP L04AB

L04A5:
	MOV 31h, #0h
	MOV 32h, #40h
L04AB:
	MOV DPTR, #0E740h
	MOV A, #1h
	MOVX @DPTR, A
	CLR A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	MOV A, 32h
	MOVX @DPTR, A
	ADD A, 2Eh
	MOV 2Eh, A
	MOV A, 31h
	ADDC A, 2Dh
	MOV 2Dh, A
	CLR C
	MOV A, 30h
	SUBB A, 32h
	MOV 30h, A
	MOV A, 2Fh
	SUBB A, 31h
	MOV 2Fh, A
	SJMP L0485

L04D5:
	SETB C
	RET

L04D7:
	CLR C
	RET

L04D9:
	MOV DPTR, #0E6B9h
	MOVX A, @DPTR
	JNZ L04E2
	LJMP L05B5

L04E2:
	DEC A
	JNZ L04E8
	LJMP L065E

L04E8:
	ADD A, #0FEh
	JNZ L04EF
	LJMP L06F3

L04EF:
	ADD A, #0FBh
	JNZ L04F6
	LJMP L05AF

L04F6:
	DEC A
	JNZ L04FC
	LJMP L05A9

L04FC:
	DEC A
	JNZ L0502
	LJMP L059D

L0502:
	DEC A
	JNZ L0508
	LJMP L05A3

L0508:
	ADD A, #5h
	JZ L050F
	LJMP L075F

L050F:
	LCALL L0046
	JC L0517
	LJMP L076B

L0517:
	MOV DPTR, #0E6BBh
	MOVX A, @DPTR
	ADD A, #0FEh
	JZ L054B
	DEC A
	JZ L0569
	ADD A, #0FDh
	JZ L053C
	DEC A
	JZ L055A
	ADD A, #6h
	JNZ L0593
	MOV A, 0Ch
	MOV DPTR, #0E6B3h
	MOVX @DPTR, A
	MOV A, 0Dh
	MOV DPTR, #0E6B4h
	MOVX @DPTR, A
	LJMP L076B

L053C:
	MOV A, 14h
	MOV DPTR, #0E6B3h
	MOVX @DPTR, A
	MOV A, 15h
	MOV DPTR, #0E6B4h
	MOVX @DPTR, A
	LJMP L076B

L054B:
	MOV A, 0Eh
	MOV DPTR, #0E6B3h
	MOVX @DPTR, A
	MOV A, 0Fh
	MOV DPTR, #0E6B4h
	MOVX @DPTR, A
	LJMP L076B

L055A:
	MOV A, 10h
	MOV DPTR, #0E6B3h
	MOVX @DPTR, A
	MOV A, 11h
	MOV DPTR, #0E6B4h
	MOVX @DPTR, A
	LJMP L076B

L0569:
	MOV DPTR, #0E6BAh
	MOVX A, @DPTR
	MOV R7, A
	LCALL L1255
	MOV R2, 6h
	MOV R1, 7h
	MOV R3, #1h
	MOV A, R2
	ORL A, R1
	ORL A, R3
	JZ L0589
	MOV A, R6
	MOV DPTR, #0E6B3h
	MOVX @DPTR, A
	MOV A, R7
	MOV DPTR, #0E6B4h
	MOVX @DPTR, A
	LJMP L076B

L0589:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	ORL A, #1h
	MOVX @DPTR, A
	LJMP L076B

L0593:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	ORL A, #1h
	MOVX @DPTR, A
	LJMP L076B

L059D:
	LCALL L12EF
	LJMP L076B

L05A3:
	LCALL L1301
	LJMP L076B

L05A9:
	LCALL L104C
	LJMP L076B

L05AF:
	LCALL L12DD
	LJMP L076B

L05B5:
	LCALL L0048
	JC L05BD
	LJMP L076B

L05BD:
	MOV DPTR, #0E6B8h
	MOVX A, @DPTR
	ADD A, #7Fh
	JZ L05F0
	DEC A
	JZ L0604
	ADD A, #2h
	JZ L05CF
	LJMP L0654

L05CF:
	MOV C, 0h
	CLR A
	RLC A
	MOV R7, A
	ADD A, ACC
	MOV R7, A
	MOV C, 3h
	CLR A
	RLC A
	ORL A, R7
	MOV DPTR, #0E740h
	MOVX @DPTR, A
	CLR A
	INC DPTR
	MOVX @DPTR, A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	MOV A, #2h
	MOVX @DPTR, A
	LJMP L076B

L05F0:
	CLR A
	MOV DPTR, #0E740h
	MOVX @DPTR, A
	INC DPTR
	MOVX @DPTR, A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	MOV A, #2h
	MOVX @DPTR, A
	LJMP L076B

L0604:
	MOV DPTR, #0E6BCh
	MOVX A, @DPTR
	ANL A, #7Eh
	MOV R7, A
	MOV R6, #0h
	MOVX A, @DPTR
	SETB C
	SUBB A, #80h
	JC L0619
	MOV R4, #0h
	MOV R5, #1h
	SJMP L061D

L0619:
	MOV R4, #0h
	MOV R5, #0h
L061D:
	MOV A, R4
	ORL A, R6
	MOV R6, A
	MOV A, R5
	ORL A, R7
	ADD A, #36h
	MOV DPL, A
	MOV A, #0h
	ADDC A, R6
	MOV DPH, A
	CLR A
	MOVC A, @A+DPTR
	MOV R7, A
	RLC A
	SUBB A, ACC
	MOV R6, A
	MOV A, R7
	ADD A, #0A1h
	MOV R7, A
	MOV A, R6
	ADDC A, #0E6h
	MOV DPL, R7
	MOV DPH, A
	MOVX A, @DPTR
	ANL A, #1h
	MOV DPTR, #0E740h
	MOVX @DPTR, A
	CLR A
	INC DPTR
	MOVX @DPTR, A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	MOV A, #2h
	MOVX @DPTR, A
	LJMP L076B

L0654:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	ORL A, #1h
	MOVX @DPTR, A
	LJMP L076B

L065E:
	LCALL L004E
	JC L0666
	LJMP L076B

L0666:
	MOV DPTR, #0E6B8h
	MOVX A, @DPTR
	ADD A, #0FEh
	JZ L068B
	ADD A, #2h
	JZ L0675
	LJMP L076B

L0675:
	MOV DPTR, #0E6BAh
	MOVX A, @DPTR
	CJNE A, #1h, L0681
	CLR 0h
	LJMP L076B

L0681:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	ORL A, #1h
	MOVX @DPTR, A
	LJMP L076B

L068B:
	MOV DPTR, #0E6BAh
	MOVX A, @DPTR
	JNZ L06EA
	MOV DPTR, #0E6BCh
	MOVX A, @DPTR
	ANL A, #7Eh
	MOV R7, A
	MOV R6, #0h
	MOVX A, @DPTR
	SETB C
	SUBB A, #80h
	JC L06A6
	MOV R4, #0h
	MOV R5, #1h
	SJMP L06AA

L06A6:
	MOV R4, #0h
	MOV R5, #0h
L06AA:
	MOV A, R4
	ORL A, R6
	MOV R6, A
	MOV A, R5
	ORL A, R7
	ADD A, #36h
	MOV DPL, A
	MOV A, #0h
	ADDC A, R6
	MOV DPH, A
	CLR A
	MOVC A, @A+DPTR
	MOV R7, A
	RLC A
	SUBB A, ACC
	MOV R6, A
	MOV A, R7
	ADD A, #0A1h
	MOV R7, A
	MOV A, R6
	ADDC A, #0E6h
	MOV DPL, R7
	MOV DPH, A
	MOVX A, @DPTR
	ANL A, #0FEh
	MOVX @DPTR, A
	MOV DPTR, #0E6BCh
	MOVX A, @DPTR
	ANL A, #80h
	MOV R7, A
	RRC A
	RRC A
	RRC A
	ANL A, #1Fh
	MOV R7, A
	MOVX A, @DPTR
	ANL A, #0Fh
	ADD A, R7
	MOV DPTR, #0E683h
	MOVX @DPTR, A
	MOVX A, @DPTR
	ORL A, #20h
	MOVX @DPTR, A
	LJMP L076B

L06EA:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	ORL A, #1h
	MOVX @DPTR, A
	SJMP L076B

L06F3:
	LCALL L0050
	JNC L076B
	MOV DPTR, #0E6B8h
	MOVX A, @DPTR
	ADD A, #0FEh
	JZ L0720
	ADD A, #2h
	JNZ L076B
	MOV DPTR, #0E6BAh
	MOVX A, @DPTR
	CJNE A, #1h, L070F
	SETB 0h
	SJMP L076B

L070F:
	MOV DPTR, #0E6BAh
	MOVX A, @DPTR
	XRL A, #2h
	JZ L076B
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	ORL A, #1h
	MOVX @DPTR, A
	SJMP L076B

L0720:
	MOV DPTR, #0E6BCh
	MOVX A, @DPTR
	ANL A, #7Eh
	MOV R7, A
	MOV R6, #0h
	MOVX A, @DPTR
	SETB C
	SUBB A, #80h
	JC L0735
	MOV R4, #0h
	MOV R5, #1h
	SJMP L0739

L0735:
	MOV R4, #0h
	MOV R5, #0h
L0739:
	MOV A, R4
	ORL A, R6
	MOV R6, A
	MOV A, R5
	ORL A, R7
	ADD A, #36h
	MOV DPL, A
	MOV A, #0h
	ADDC A, R6
	MOV DPH, A
	CLR A
	MOVC A, @A+DPTR
	MOV R7, A
	RLC A
	SUBB A, ACC
	MOV R6, A
	MOV A, R7
	ADD A, #0A1h
	MOV R7, A
	MOV A, R6
	ADDC A, #0E6h
	MOV DPL, R7
	MOV DPH, A
	MOVX A, @DPTR
	ORL A, #1h
	MOVX @DPTR, A
	SJMP L076B

L075F:
	LCALL L0056
	JNC L076B
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	ORL A, #1h
	MOVX @DPTR, A
L076B:
	MOV DPTR, #0E6A0h
	MOVX A, @DPTR
	ORL A, #80h
	MOVX @DPTR, A
	RET

L0773:
	CLR 4h
	CLR 0h
	CLR 3h
	CLR 1h
	CLR 2h
	MOV 8h, #8h
	MOV 9h, #7h
	LCALL L0CB8
	CLR 0C9h
	MOV 0CDh, #0F8h
	MOV 0CCh, #40h
	SETB 0CAh
	SETB 0ADh
	CLR P0.7
	CLR P2.0
	SETB P2.1
	MOV R6, #0Eh
	MOV R7, #0h
	MOV 0Ch, R6
	MOV 0Dh, R7
	MOV 14h, #0Eh
	MOV 15h, #12h
	MOV 0Ah, #0Eh
	MOV 0Bh, #1Ch
	MOV 12h, #0Eh
	MOV 13h, #3Ch
	MOV 16h, #0Eh
	MOV 17h, #5Ch
	MOV DPTR, #0E680h
	MOVX A, @DPTR
	JNB ACC.7, L07CD
	MOV 0Eh, 0Ah
	MOV 0Fh, 0Bh
	MOV 10h, 12h
	MOV 11h, 13h
	SJMP L07D9

L07CD:
	MOV 0Eh, 12h
	MOV 0Fh, 13h
	MOV 10h, 0Ah
	MOV 11h, 0Bh
L07D9:
	MOV A, R6
	ANL A, #0E0h
	JNZ L07E1
	LJMP L08F7

L07E1:
	MOV 29h, #0h
	MOV 2Ah, #80h
	MOV R6, #0Eh
	MOV R7, #0h
	MOV 2Bh, R6
	MOV 2Ch, R7
	CLR C
	MOV A, #90h
	SUBB A, R7
	MOV R7, A
	MOV A, #0Eh
	SUBB A, R6
	XCH A, R7
	ADD A, #2h
	XCH A, R7
	ADDC A, #0h
	MOV R6, A
	CLR A
	MOV 28h, R7
L0801:
	MOV 27h, R6
	MOV 26h, A
	MOV 25h, A
	MOV 24h, A
	MOV 23h, A
	MOV 22h, A
	MOV 21h, A
L080F:
	MOV R7, 28h
L0811:
	MOV R6, 27h
	MOV R5, 26h
	MOV R4, 25h
	MOV R3, 24h
	MOV R2, 23h
	MOV R1, 22h
	MOV R0, 21h
	CLR C
	LCALL L0EE1
	JNC L084F
	MOV A, 2Ah
	ADD A, 24h
	MOV DPL, A
	MOV A, 29h
	ADDC A, 23h
	MOV DPH, A
	MOV A, #0CDh
	MOVX @DPTR, A
	CLR A
	MOV R2, A
	MOV R1, A
	MOV R0, A
	MOV A, 24h
	ADD A, #1h
	MOV 24h, A
	MOV A, R2
	ADDC A, 23h
	MOV 23h, A
	MOV A, R1
	ADDC A, 22h
	MOV 22h, A
	MOV A, R0
	ADDC A, 21h
	MOV 21h, A
	SJMP L080F

L084F:
	CLR A
	MOV 24h, A
	MOV 23h, A
	MOV 22h, A
	MOV 21h, A
L0858:
	MOV R7, 28h
	MOV R6, 27h
	MOV R5, 26h
	MOV R4, 25h
	MOV R3, 24h
	MOV R2, 23h
	MOV R1, 22h
	MOV R0, 21h
	CLR C
	LCALL L0EE1
	JNC L08A5
	MOV A, 2Ch
	ADD A, 24h
	MOV DPL, A
	MOV A, 2Bh
	ADDC A, 23h
	MOV DPH, A
	MOVX A, @DPTR
	MOV R7, A
	MOV A, 2Ah
	ADD A, 24h
	MOV DPL, A
	MOV A, 29h
	ADDC A, 23h
	MOV DPH, A
	MOV A, R7
	MOVX @DPTR, A
	CLR A
	MOV R2, A
	MOV R1, A
	MOV R0, A
	MOV A, 24h
	ADD A, #1h
	MOV 24h, A
	MOV A, R2
	ADDC A, 23h
	MOV 23h, A
	MOV A, R1
	ADDC A, 22h
	MOV 22h, A
	MOV A, R0
	ADDC A, 21h
	MOV 21h, A
	SJMP L0858

L08A5:
	MOV 0Ch, 29h
	MOV 0Dh, 2Ah
	MOV A, #0h
	ADD A, #80h
	MOV R7, A
	MOV A, #0Eh
	ADDC A, #0FFh
	MOV R6, A
	CLR C
	MOV A, 15h
	SUBB A, R7
	MOV 15h, A
	MOV A, 14h
	SUBB A, R6
	MOV 14h, A
	CLR C
	MOV A, 0Fh
	SUBB A, R7
	MOV 0Fh, A
	MOV A, 0Eh
	SUBB A, R6
	MOV 0Eh, A
	CLR C
	MOV A, 11h
	SUBB A, R7
	MOV 11h, A
	MOV A, 10h
	SUBB A, R6
	MOV 10h, A
	CLR C
	MOV A, 0Bh
	SUBB A, R7
	MOV 0Bh, A
	MOV A, 0Ah
	SUBB A, R6
	MOV 0Ah, A
	CLR C
L08E2:
	MOV A, 13h
	SUBB A, R7
	MOV 13h, A
	MOV A, 12h
	SUBB A, R6
	MOV 12h, A
	CLR C
	MOV A, 17h
	SUBB A, R7
	MOV 17h, A
	MOV A, 16h
	SUBB A, R6
	MOV 16h, A
L08F7:
	SETB 0E8h
	ORL 0D8h, #20h
	MOV DPTR, #0E668h
	MOVX A, @DPTR
	ORL A, #9h
	MOVX @DPTR, A
	MOV DPTR, #0E65Ch
	MOVX A, @DPTR
	ORL A, #3Dh
	MOVX @DPTR, A
	SETB EA
	MOV DPTR, #0E680h
	MOVX A, @DPTR
	JB ACC.1, L0918
	SETB 6h
	LCALL L11FA
L0918:
	MOV DPTR, #0E680h
	MOVX A, @DPTR
	ANL A, #0F7h
	MOVX @DPTR, A
	ANL 8Eh, #0F8h
	CLR 4h
L0924:
	JNB 1h, L092C
	LCALL L04D9
	CLR 1h
L092C:
	JNB 4h, L0958
	LCALL L0028
	JNC L0958
	CLR 4h
L0936:
	LCALL L0003
	JB 0h, L0952
	MOV DPTR, #0E682h
	MOVX A, @DPTR
	JNB ACC.7, L0947
	MOVX A, @DPTR
	JB ACC.1, L0936
L0947:
	MOV DPTR, #0E682h
	MOVX A, @DPTR
	JNB ACC.6, L0952
	MOVX A, @DPTR
	JB ACC.0, L0936
L0952:
	LCALL L1229
	LCALL L0040
L0958:
	LCALL L0B7B
	SJMP L0924

	RET

	AJMP L0E05

	JZ L08E2
	MOVX A, @DPTR
	NOP
	INC R6
	RR A
	AJMP L0811

	AJMP L0801

	JNB 7h, L096E
	NOP
L096E:
	LJMP L0100

	NOP
	ACALL L0800
	MOV R7, A
	MOV R6, A
	MOV R7, A
	MOV R6, A
	MOV R7, A
	MOV R6, A
	MOV R7, A
	MOV R7, A
	NOP
	INC R1
	LCALL L1200
	ADD A, R5
	LCALL L3F08
	RR A
	AJMP L0801

	DB 01h
	DB 01h
	DB 01h
	DB 07h
	DB 01h
	DB 02h
	DB 04h
	DB 01h
	DB 00h
	DB 00h
	DB 00h
	DB 00h
	DB 0FFh
	DB 0FCh
	DB 0FFh
	DB 0FEh
	DB 0FFh
	DB 0FEh
	DB 0FFh
	DB 0FFh
	DB 09h
	DB 09h
	DB 012h
	DB 012h
	DB 00h
	DB 02Dh
	DB 036h
	DB 03Fh
	DB 017h
	DB 018h
	DB 01h
	DB 01h
	DB 01h
	DB 01h
	DB 01h
	DB 07h
	DB 00h
	DB 02h
	DB 01h
	DB 00h
	DB 00h
	DB 00h
	DB 010h
	DB 00h
	DB 0FFh
	DB 0FBh
	DB 0FFh
	DB 0FBh
	DB 0FBh
	DB 0FBh
	DB 0FBh
	DB 0FBh
	DB 00h
	DB 09h
	DB 012h
	DB 012h
	DB 00h
	DB 02Dh
	DB 012h
	DB 03Fh
	DB 08h
	DB 03h
	DB 01h
	DB 03Fh
	DB 01h
	DB 01h
	DB 01h
	DB 07h
	DB 01h
	DB 02h
	DB 00h
	DB 01h
	DB 00h
	DB 00h
	DB 00h
	DB 00h
	DB 0FFh
	DB 0FDh
	DB 0FFh
	DB 0FFh
	DB 0FFh
	DB 0FFh
	DB 0FFh
	DB 0FFh
	DB 09h
	DB 09h
	DB 012h
	DB 012h
	DB 00h
	DB 02Dh
	DB 036h
	DB 03Fh
	DB 060h
	DB 080h
	DB 0E0h
	DB 087h
	DB 01h
	DB 02h
	DB 01h
	DB 01h
	DB 03Fh
	DB 01h
	DB 01h
	DB 07h
	DB 00h
	DB 00h
	DB 02h
	DB 00h
	DB 01h
	DB 00h
	DB 00h
	DB 00h
	DB 07h
	DB 02h
	DB 02h
	DB 07h
	DB 07h
	DB 07h
	DB 07h
	DB 07h
	DB 00h
	DB 00h
	DB 00h
	DB 00h
	DB 03Fh
	DB 00h
	DB 00h
	DB 03Fh
	DB 03h
	DB 01h
	DB 03Fh
	DB 01h
	DB 01h
	DB 01h
	DB 01h
	DB 07h
	DB 02h
	DB 02h
	DB 05h
	DB 00h
	DB 00h
	DB 00h
	DB 00h
	DB 00h
	DB 05h
	DB 07h
	DB 07h
	DB 07h
	DB 07h
	DB 07h
	DB 07h
	DB 07h
	DB 00h
	DB 00h
	DB 03Fh
	DB 00h
	DB 00h
	DB 00h
	DB 00h
	DB 03Fh
	DB 01h
	DB 01h
	DB 080h
	DB 01h
L0A2C:
	AJMP L0801

	DB 0BFh
	DB 07h
	DB 02h
	DB 02h
	DB 03h
	DB 02h
	DB 02h
	DB 02h
	DB 011h
	DB 00h
	DB 0FFh
	DB 0FFh
	DB 0FFh
	DB 0FFh
	DB 0FFh
	DB 0FFh
	DB 0FFh
	DB 0FFh
	DB 00h
	DB 09h
	DB 012h
	DB 012h
	DB 00h
	DB 02Dh
	DB 012h
	DB 03Fh
	DB 01h
	DB 01h
	DB 01h
	DB 01h
	DB 01h
	DB 01h
	DB 01h
	DB 07h
	DB 00h
	DB 00h
	DB 00h
	DB 00h
	DB 00h
	DB 00h
	DB 00h
	DB 00h
	DB 07h
	DB 07h
	DB 07h
	DB 07h
	DB 07h
	DB 07h
	DB 07h
	DB 07h
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	ADDC A, R7
	ORL A, @R1
	MOVX A, @DPTR
	SJMP L0A2C

	DB 00h
	DB 00h
	DB 0Fh
	DB 0CAh
	DB 01Eh
	DB 00h
	DB 00h
L0A73:
	PUSH ACC
	PUSH DPH
	PUSH DPL
	PUSH 85h
	PUSH 84h
	PUSH 86h
	MOV 86h, #0h
	PUSH PSW
	MOV PSW, #0h
	PUSH 0h
	PUSH 1h
	PUSH 2h
	PUSH 3h
	PUSH 6h
	PUSH 7h
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	JNB ACC.2, L0AA0
	MOV 41h, #6h
	LJMP L0B5D

L0AA0:
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	JB ACC.1, L0AB3
	MOV A, 41h
	XRL A, #2h
	JZ L0AB3
	MOV 41h, #7h
	LJMP L0B5D

L0AB3:
	MOV A, 41h
	ADD A, #0FEh
	JZ L0B18
	DEC A
	JZ L0AF2
	ADD A, #0FEh
	JNZ L0AC3
	LJMP L0B4E

L0AC3:
	ADD A, #0FCh
	JNZ L0ACA
	LJMP L0B5A

L0ACA:
	ADD A, #8h
	JZ L0AD1
	LJMP L0B5D

L0AD1:
	MOV R3, 3Dh
	MOV R2, 3Eh
	MOV R1, 3Fh
	MOV R7, 40h
	INC 40h
	MOV DPL, R7
	MOV DPH, #0h
	LCALL L0E92
	MOV DPTR, #0E679h
	MOVX @DPTR, A
	MOV A, 40h
	XRL A, 3Ch
	JNZ L0B5D
	MOV 41h, #5h
	SJMP L0B5D

L0AF2:
	MOV DPTR, #0E679h
	MOVX A, @DPTR
	MOV R3, 3Dh
	MOV R2, 3Eh
	MOV R1, 3Fh
	MOV R6, 40h
	MOV DPL, R6
	MOV DPH, #0h
	LCALL L0EBF
	MOV 41h, #2h
	MOV A, 3Ch
	XRL A, #1h
	JNZ L0B5D
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	ORL A, #20h
	MOVX @DPTR, A
	SJMP L0B5D

L0B18:
	MOV A, 3Ch
	ADD A, #0FEh
	CJNE A, 40h, L0B26
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	ORL A, #20h
	MOVX @DPTR, A
L0B26:
	MOV A, 3Ch
	DEC A
	CJNE A, 40h, L0B36
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	ORL A, #40h
	MOVX @DPTR, A
	MOV 41h, #0h
L0B36:
	MOV DPTR, #0E679h
	MOVX A, @DPTR
	MOV R3, 3Dh
	MOV R2, 3Eh
	MOV R1, 3Fh
	MOV R6, 40h
	MOV DPL, R6
	MOV DPH, #0h
	LCALL L0EBF
	INC 40h
	SJMP L0B5D

L0B4E:
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	ORL A, #40h
	MOVX @DPTR, A
	MOV 41h, #0h
	SJMP L0B5D

L0B5A:
	MOV 41h, #0h
L0B5D:
	ANL 91h, #0DFh
	POP 7h
	POP 6h
	POP 3h
	POP 2h
	POP 1h
	POP 0h
	POP PSW
	POP 86h
	POP 84h
	POP 85h
	POP DPL
	POP DPH
	POP ACC
	RETI

L0B7B:
	MOV A, 1Dh
	XRL A, #1h
	JNZ L0BB2
	MOV 1Dh, #2h
	MOV DPTR, #0E6F5h
	MOV A, #0FFh
	MOVX @DPTR, A
	MOV DPTR, #0E604h
	MOV A, #80h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV A, #2h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV A, #6h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	CLR A
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV R7, A
	MOV R6, A
L0BA6:
	NOP
	INC R7
	CJNE R7, #0h, L0BAC
	INC R6
L0BAC:
	CJNE R6, #3h, L0BA6
	CJNE R7, #0E8h, L0BA6
L0BB2:
	MOV A, 0BBh
	JNB ACC.7, L0BDC
	MOV DPTR, #0E6F4h
	MOVX A, @DPTR
	JNB ACC.0, L0BDC
	MOV A, 0ACh
	JB ACC.0, L0BDC
L0BC3:
	MOV A, 0BBh
	JNB ACC.7, L0BC3
	MOV DPTR, #0E6D0h
	MOV A, #28h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	CLR A
	MOV DPTR, #0E6D1h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV 0BBh, #6h
L0BDC:
	RET

L0BDD:
	LCALL L1162
L0BE0:
	MOV A, 41h
	ADD A, #0FAh
	JZ L0BF4
	DEC A
	JZ L0BEF
	ADD A, #7h
	JNZ L0BE0
	SETB C
	RET

L0BEF:
	CLR A
	MOV 41h, A
	SETB C
	RET

L0BF4:
	CLR A
	MOV 41h, A
	SETB C
	RET

L0BF9:
	RETI

L0BFA:
	RETI

L0BFB:
	RETI

L0BFC:
	RETI

L0BFD:
	RETI

L0BFE:
	RETI

L0BFF:
	RETI

L0C00:
	LJMP L1281

	DB 00h
	LJMP L12C7

	DB 00h
	LJMP L12B1

	DB 00h
	LJMP L1299

	DB 00h
	LJMP L1089

	DB 00h
	LJMP L10C0

	DB 00h
	LJMP L002A

	DB 00h
	LJMP L0032

	DB 00h
	LJMP L0042

	DB 00h
	LJMP L004A

	DB 00h
	LJMP L0052

	DB 00h
	LJMP L0BF9

	DB 00h
	LJMP L0BFA

	DB 00h
	LJMP L0BFB

	DB 00h
	LJMP L0BFC

	DB 00h
	LJMP L0BFD

	DB 00h
	LJMP L0BFE

	DB 00h
	LJMP L0032

	DB 00h
	LJMP L0BFF

	DB 00h
	LJMP L0DFA

	DB 00h
	LJMP L0DFB

	DB 00h
	LJMP L0DFC

	DB 00h
	LJMP L0DFD

	DB 00h
	LJMP L0DFE

	DB 00h
	LJMP L0DFF

	DB 00h
	LJMP L0032

	DB 00h
	LJMP L0032

	DB 00h
	LJMP L0032

	DB 00h
	LJMP L1311

	DB 00h
	LJMP L1312

	DB 00h
	LJMP L1313

	DB 00h
	LJMP L1314

	DB 00h
	LJMP L1315

	DB 00h
	LJMP L1316

	DB 00h
	LJMP L1317

	DB 00h
	LJMP L1318

	DB 00h
	LJMP L1319

	DB 00h
	LJMP L131A

	DB 00h
	LJMP L131B

	DB 00h
	LJMP L131C

	DB 00h
	LJMP L131D

	DB 00h
	LJMP L131E

	DB 00h
	LJMP L131F

	DB 00h
	LJMP L1320

	DB 00h
	LJMP L1321

	DB 00h
	LJMP L1322

	DB 00h
L0CB8:
	MOV DPTR, #0E600h
	MOV A, #10h
	MOVX @DPTR, A
	LCALL L0F18
	NOP
	NOP
	NOP
	MOV DPTR, #0E612h
	MOV A, #0A0h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	CLR A
	MOV DPTR, #0E613h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV DPTR, #0E614h
	MOV A, #0E0h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	CLR A
	MOV DPTR, #0E615h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV DPTR, #0E604h
	MOV A, #80h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV A, #2h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV A, #6h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	CLR A
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV DPTR, #0E618h
	INC A
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV A, #11h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV DPTR, #0E61Ah
	MOV A, #9h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV DPTR, #0E6D2h
	MOV A, #2h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV DPTR, #0E6E2h
	DEC A
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	CLR A
	MOV DPTR, #0E671h
	MOVX @DPTR, A
	MOV 0B4h, #0FFh
	MOV DPTR, #0E670h
	MOVX @DPTR, A
	MOV 0B2h, #80h
	CLR P2.4
	CLR P2.3
	CLR P2.2
	CLR P2.7
	CLR P2.6
	CLR P2.5
	MOV 1Dh, A
	MOV 1Ah, A
	LCALL L1309
	MOV DPTR, #0E67Ah
	MOVX A, @DPTR
	ORL A, #1h
	MOVX @DPTR, A
	RET

L0D52:
	MOV R0, #7Fh
	CLR A
L0D55:
	MOV @R0, A
	DJNZ R0, L0D55
	MOV SP, #41h
	LJMP L0D99

L0D5E:
	LJMP L0773

L0D61:
	CLR A
	MOVC A, @A+DPTR
	INC DPTR
	MOV R0, A
L0D65:
	CLR A
	MOVC A, @A+DPTR
	INC DPTR
	JC L0D6D
	MOV @R0, A
	SJMP L0D6E

L0D6D:
	MOVX @R0, A
L0D6E:
	INC R0
	DJNZ R7, L0D65
	SJMP L0D9C

L0D73:
	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 L0D8B
	CPL A
	ANL A, @R0
	SJMP L0D8C

L0D8B:
	ORL A, @R0
L0D8C:
	MOV @R0, A
	DJNZ R7, L0D73
	SJMP L0D9C

	DB 01h
	DB 02h
	DB 04h
	DB 08h
	DB 010h
	DB 020h
	DB 040h
	DB 080h
L0D99:
	MOV DPTR, #095Eh
L0D9C:
	CLR A
	MOV R6, #1h
	MOVC A, @A+DPTR
	JZ L0D5E
	INC DPTR
	MOV R7, A
	ANL A, #3Fh
	JNB ACC.5, L0DB2
	ANL A, #1Fh
	MOV R6, A
	CLR A
	MOVC A, @A+DPTR
	INC DPTR
	JZ L0DB2
	INC R6
L0DB2:
	XCH A, R7
	ANL A, #0C0h
	ADD A, ACC
	JZ L0D61
	JC L0D73
	CLR A
	MOVC A, @A+DPTR
	INC DPTR
L0DBE:
	MOV R2, A
	CLR A
	MOVC A, @A+DPTR
	INC DPTR
	MOV R0, A
L0DC3:
	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, L0DC3
	DJNZ R6, L0DC3
	SJMP L0D9C

L0DDE:
	LCALL L11C8
L0DE1:
	MOV A, 41h
	ADD A, #0FAh
	JZ L0DF5
	DEC A
	JZ L0DF0
	ADD A, #7h
	JNZ L0DE1
	SETB C
	RET

L0DF0:
	CLR A
	MOV 41h, A
	SETB C
	RET

L0DF5:
	CLR A
	MOV 41h, A
	SETB C
	RET

L0DFA:
	RETI

L0DFB:
	RETI

L0DFC:
	RETI

L0DFD:
	RETI

L0DFE:
	RETI

L0DFF:
	RETI

	DB 012h
	DB 01h
	DB 00h
	DB 02h
	DB 00h
L0E05:
	NOP
	NOP
	JC L0DBE
	INC A
	RET

	DB 060h
	DB 00h
	DB 00h
	DB 01h
	DB 02h
	DB 00h
	DB 01h
	DB 0Ah
	DB 06h
	DB 00h
	DB 02h
	DB 00h
	DB 00h
	DB 00h
	DB 040h
	DB 01h
	DB 00h
	DB 09h
	DB 02h
	DB 020h
	DB 00h
	DB 01h
	DB 01h
	DB 00h
	DB 080h
	DB 032h
	DB 09h
	DB 04h
	DB 00h
	DB 00h
	DB 02h
	DB 0FFh
	DB 00h
	DB 00h
	DB 00h
	DB 07h
	DB 05h
	DB 02h
	DB 02h
	DB 00h
	DB 02h
	DB 00h
	DB 07h
	DB 05h
	DB 086h
	DB 02h
	DB 00h
	DB 02h
	DB 00h
	DB 09h
	DB 02h
	DB 020h
	DB 00h
	DB 01h
	DB 01h
	DB 00h
	DB 080h
	DB 032h
	DB 09h
	DB 04h
	DB 00h
	DB 00h
	DB 04h
	DB 0FFh
	DB 00h
	DB 00h
	DB 00h
	DB 07h
	DB 05h
	DB 02h
	DB 02h
	DB 040h
	DB 00h
	DB 00h
	DB 07h
	DB 05h
	DB 086h
	DB 02h
	DB 040h
	DB 00h
	DB 00h
	DB 04h
	DB 03h
	DB 09h
	DB 04h
	DB 0Eh
	DB 03h
	DB 04Fh
	DB 00h
	DB 044h
	DB 00h
	DB 04Dh
	DB 00h
	DB 020h
	DB 00h
	DB 020h
	DB 00h
	DB 020h
	DB 00h
	DB 022h
	DB 03h
	DB 048h
	DB 00h
	DB 061h
	DB 00h
	DB 06Eh
	DB 00h
	DB 074h
	DB 00h
	DB 065h
	DB 00h
	DB 06Bh
	DB 00h
	DB 044h
	DB 00h
	DB 053h
	DB 00h
	DB 04Fh
	DB 00h
	DB 036h
	DB 00h
	DB 030h
	DB 00h
	DB 032h
	DB 00h
	DB 032h
	DB 00h
	DB 042h
	DB 00h
	DB 045h
	DB 00h
	DB 020h
	DB 00h
	DB 00h
	DB 00h
L0E92:
	CJNE R3, #1h, L0EA1
	MOV A, DPL
	ADD A, R1
	MOV DPL, A
	MOV A, DPH
	ADDC A, R2
	MOV DPH, A
	MOVX A, @DPTR
	RET

L0EA1:
	JNC L0EA9
	MOV A, R1
	ADD A, DPL
	MOV R0, A
	MOV A, @R0
	RET

L0EA9:
	CJNE R3, #0FEh, L0EB2
	MOV A, R1
	ADD A, DPL
	MOV R0, A
	MOVX A, @R0
	RET

L0EB2:
	MOV A, DPL
	ADD A, R1
	MOV DPL, A
	MOV A, DPH
	ADDC A, R2
	MOV DPH, A
	CLR A
	MOVC A, @A+DPTR
	RET

L0EBF:
	MOV R0, A
	CJNE R3, #1h, L0ED0
	MOV A, DPL
	ADD A, R1
	MOV DPL, A
	MOV A, DPH
	ADDC A, R2
	MOV DPH, A
	MOV A, R0
	MOVX @DPTR, A
	RET

L0ED0:
	JNC L0ED8
	MOV A, R1
	ADD A, DPL
	XCH A, R0
	MOV @R0, A
	RET

L0ED8:
	CJNE R3, #0FEh, L0EE0
	MOV A, R1
	ADD A, DPL
	XCH A, R0
	MOVX @R0, A
L0EE0:
	RET

L0EE1:
	MOV A, R3
	SUBB A, R7
	MOV B, A
	MOV A, R2
	SUBB A, R6
	ORL B, A
	MOV A, R1
	SUBB A, R5
	ORL B, A
	MOV A, R0
	SUBB A, R4
	ORL A, B
	RET

L0EF2:
	POP DPH
	POP DPL
	MOV R0, A
L0EF7:
	CLR A
	MOVC A, @A+DPTR
	JNZ L0F0D
	MOV A, #1h
	MOVC A, @A+DPTR
	JNZ L0F0D
	INC DPTR
	INC DPTR
L0F02:
	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

L0F0D:
	MOV A, #2h
	MOVC A, @A+DPTR
	XRL A, R0
	JZ L0F02
	INC DPTR
	INC DPTR
	INC DPTR
	SJMP L0EF7

L0F18:
	MOV DPTR, #0E601h
	MOV A, #0CAh
	MOVX @DPTR, A
	MOV DPTR, #0E6F5h
	MOV A, #0FFh
	MOVX @DPTR, A
	MOV DPTR, #0E080h
	MOVX A, @DPTR
	MOV DPTR, #0E6F3h
	MOVX @DPTR, A
	MOV DPTR, #0E081h
	MOVX A, @DPTR
	MOV DPTR, #0E6C3h
	MOVX @DPTR, A
	MOV DPTR, #0E082h
	MOVX A, @DPTR
	MOV DPTR, #0E6C1h
	MOVX @DPTR, A
	MOV DPTR, #0E083h
	MOVX A, @DPTR
	MOV DPTR, #0E6C2h
	MOVX @DPTR, A
	MOV DPTR, #0E085h
	MOVX A, @DPTR
	MOV DPTR, #0E6C0h
	MOVX @DPTR, A
	MOV DPTR, #0E086h
	MOVX A, @DPTR
	MOV DPTR, #0E6F4h
	MOVX @DPTR, A
	MOV 0AFh, #7h
	MOV A, #0E0h
	MOV 9Ah, A
	MOV A, #0h
	MOV 9Bh, A
	MOV 9Dh, #0E4h
	CLR A
	MOV 9Eh, A
	MOV R7, A
L0F66:
	MOV DPTR, #0E67Bh
	MOVX A, @DPTR
	MOV DPTR, #0E67Ch
	MOVX @DPTR, A
	INC R7
	CJNE R7, #80h, L0F66
	RET

L0F73:
	MOV R3, 7h
	MOV R2, 6h
	MOV R4, 5h
	CLR A
	MOV R5, A
	MOV A, 1Ch
	JZ L0F8F
	MOV A, R2
	MOV R6, #0h
	INC R5
	MOV A, R6
	ADD A, #7h
	MOV DPL, A
	CLR A
	ADDC A, #0E1h
	MOV DPH, A
	MOV A, R2
	MOVX @DPTR, A
L0F8F:
	MOV A, R3
	MOV R6, 5h
	INC R5
	MOV A, #7h
	ADD A, R6
	MOV DPL, A
	CLR A
	ADDC A, #0E1h
	MOV DPH, A
	MOV A, R3
	MOVX @DPTR, A
	MOV R7, 5h
	INC R5
	MOV A, #7h
	ADD A, R7
	MOV DPL, A
	CLR A
	ADDC A, #0E1h
	MOV DPH, A
	MOV A, R4
	MOVX @DPTR, A
	MOV R2, #0E1h
	MOV R3, #7h
	MOV R7, 19h
	LCALL L0DDE
	MOV R7, 19h
	LCALL L10F7
	RET

L0FBD:
	MOV 36h, R6
	MOV 37h, R7
	MOV 38h, R5
	MOV 39h, R2
	MOV 3Ah, R3
	CLR A
	MOV R5, A
	MOV A, 1Ch
	JZ L0FDF
	MOV A, 36h
	MOV R7, A
	MOV R6, #0h
	INC R5
	MOV A, R6
	ADD A, #7h
	MOV DPL, A
	CLR A
	ADDC A, #0E1h
	MOV DPH, A
	MOV A, R7
	MOVX @DPTR, A
L0FDF:
	MOV A, 37h
	MOV R6, 5h
	INC R5
	MOV A, #7h
	ADD A, R6
	MOV DPL, A
	CLR A
	ADDC A, #0E1h
	MOV DPH, A
	MOV A, 37h
	MOVX @DPTR, A
	MOV R2, #0E1h
	MOV R3, #7h
	MOV R7, 19h
	LCALL L0DDE
	MOV R3, 3Ah
	MOV R2, 39h
	MOV R5, 38h
	MOV R7, 19h
	LCALL L0BDD
	RET

L1006:
	MOV 2Dh, R6
	MOV 2Eh, R7
	MOV DPTR, #0E600h
	MOVX A, @DPTR
	ANL A, #18h
	JNZ L1024
	MOV A, 2Eh
	ADD A, #1h
	MOV R7, A
	CLR A
	ADDC A, 2Dh
	CLR C
	RRC A
	MOV 2Dh, A
	MOV A, R7
	RRC A
	MOV 2Eh, A
	SJMP L1039

L1024:
	MOV DPTR, #0E600h
	MOVX A, @DPTR
	ANL A, #18h
	MOV R7, A
	CJNE R7, #10h, L1039
	MOV A, 2Eh
	ADD A, ACC
	MOV 2Eh, A
	MOV A, 2Dh
	RLC A
	MOV 2Dh, A
L1039:
	MOV A, 2Eh
	DEC 2Eh
	MOV R6, 2Dh
	JNZ L1043
	DEC 2Dh
L1043:
	ORL A, R6
	JZ L104B
	LCALL L0017
	SJMP L1039

L104B:
	RET

L104C:
	MOV DPTR, #0E680h
	MOVX A, @DPTR
	JNB ACC.7, L106B
	NOP
	NOP
	NOP
	MOV DPTR, #0E624h
	MOV A, #2h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	CLR A
	MOV DPTR, #0E625h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	SETB 5h
	SJMP L1081

L106B:
	NOP
	NOP
	NOP
	CLR A
	MOV DPTR, #0E624h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	MOV DPTR, #0E625h
	MOV A, #40h
	MOVX @DPTR, A
	NOP
	NOP
	NOP
	CLR 5h
L1081:
	MOV DPTR, #0E6BAh
	MOVX A, @DPTR
	MOV 1Bh, A
	SETB C
	RET

L1089:
	PUSH ACC
	PUSH DPH
	PUSH DPL
	MOV DPTR, #0E680h
	MOVX A, @DPTR
	JNB ACC.7, L10A4
	MOV 0Eh, 0Ah
	MOV 0Fh, 0Bh
	MOV 10h, 12h
	MOV 11h, 13h
	SJMP L10B0

L10A4:
	MOV 0Eh, 12h
	MOV 0Fh, 13h
	MOV 10h, 0Ah
	MOV 11h, 0Bh
L10B0:
	ANL 91h, #0EFh
	MOV DPTR, #0E65Dh
	MOV A, #10h
	MOVX @DPTR, A
	POP DPL
	POP DPH
	POP ACC
	RETI

L10C0:
	PUSH ACC
	PUSH DPH
	PUSH DPL
	MOV DPTR, #0E680h
	MOVX A, @DPTR
	JNB ACC.7, L10DB
	MOV 0Eh, 0Ah
	MOV 0Fh, 0Bh
	MOV 10h, 12h
	MOV 11h, 13h
	SJMP L10E7

L10DB:
	MOV 0Eh, 12h
	MOV 0Fh, 13h
	MOV 10h, 0Ah
	MOV 11h, 0Bh
L10E7:
	ANL 91h, #0EFh
	MOV DPTR, #0E65Dh
	MOV A, #20h
	MOVX @DPTR, A
	POP DPL
	POP DPH
	POP ACC
	RETI

L10F7:
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	JB ACC.6, L10F7
	CLR 0E9h
L1100:
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	ORL A, #80h
	MOVX @DPTR, A
	MOV A, R7
	ADD A, ACC
	MOV DPTR, #0E679h
	MOVX @DPTR, A
L110E:
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	JNB ACC.0, L110E
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	ORL A, #40h
	MOVX @DPTR, A
L111C:
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	JB ACC.6, L111C
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	JNB ACC.1, L1100
	SETB 0E9h
	RET

L112D:
	MOV 36h, R6
	MOV 37h, R7
	MOV 38h, R5
	MOV 39h, R2
	MOV 3Ah, R3
	CLR A
	MOV 3Bh, A
L113A:
	MOV A, 3Bh
	CLR C
	SUBB A, 38h
	JNC L1161
	INC 37h
	MOV A, 37h
	MOV R6, 36h
	JNZ L114B
	INC 36h
L114B:
	DEC A
	MOV R7, A
	MOV A, 3Ah
	ADD A, 3Bh
	MOV DPL, A
	CLR A
	ADDC A, 39h
	MOV DPH, A
	MOVX A, @DPTR
	MOV R5, A
	LCALL L0F73
	INC 3Bh
	SJMP L113A

L1161:
	RET

L1162:
	MOV R1, 7h
L1164:
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	JB ACC.6, L1164
	MOV A, 41h
	JNZ L1194
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	ORL A, #80h
	MOVX @DPTR, A
	MOV A, R1
	ADD A, ACC
	ORL A, #1h
	MOV DPTR, #0E679h
	MOVX @DPTR, A
	MOV 3Ch, R5
	MOV R7, 3h
	MOV R1, 7h
	MOV 3Dh, #1h
	MOV 3Eh, R2
	MOV 3Fh, R1
	CLR A
	MOV 40h, A
	MOV 41h, #3h
	SETB C
	RET

L1194:
	CLR C
	RET

L1196:
	PUSH ACC
	CPL P0.7
	MOV A, 9h
	DEC 9h
	JNZ L11A2
	DEC 8h
L11A2:
	MOV A, 9h
	ORL A, 8h
	JNZ L11BD
	MOV 8h, #4h
	MOV 9h, #1Fh
	JNB 2h, L11B7
	CPL P2.1
	SETB P2.0
	SJMP L11BB

L11B7:
	CPL P2.0
	SETB P2.1
L11BB:
	CLR 2h
L11BD:
	MOV 0CDh, #0F8h
	MOV 0CCh, #40h
	CLR 0CFh
	POP ACC
	RETI

L11C8:
	MOV R1, 7h
L11CA:
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	JB ACC.6, L11CA
	MOV A, 41h
	JNZ L11F8
	MOV DPTR, #0E678h
	MOVX A, @DPTR
	ORL A, #80h
	MOVX @DPTR, A
	MOV A, R1
	ADD A, ACC
	MOV DPTR, #0E679h
	MOVX @DPTR, A
	MOV 3Ch, R5
	MOV R7, 3h
	MOV R1, 7h
	MOV 3Dh, #1h
	MOV 3Eh, R2
	MOV 3Fh, R1
	CLR A
	MOV 40h, A
	MOV 41h, #1h
	SETB C
	RET

L11F8:
	CLR C
	RET

L11FA:
	JNB 6h, L1206
	MOV DPTR, #0E680h
L1200:
	MOVX A, @DPTR
	ORL A, #0Ah
	MOVX @DPTR, A
	SJMP L120D

L1206:
	MOV DPTR, #0E680h
	MOVX A, @DPTR
	ORL A, #8h
	MOVX @DPTR, A
L120D:
	MOV R7, #0DCh
	MOV R6, #5h
	LCALL L1006
	MOV DPTR, #0E65Dh
	MOV A, #0FFh
	MOVX @DPTR, A
	MOV DPTR, #0E65Fh
	MOVX @DPTR, A
	ANL 91h, #0EFh
	MOV DPTR, #0E680h
	MOVX A, @DPTR
	ANL A, #0F7h
	MOVX @DPTR, A
	RET

L1229:
	MOV DPTR, #0E682h
	MOVX A, @DPTR
	JNB ACC.0, L1234
	MOVX A, @DPTR
	JB ACC.6, L123F
L1234:
	MOV DPTR, #0E682h
	MOVX A, @DPTR
	JNB ACC.1, L1254
	MOVX A, @DPTR
	JNB ACC.7, L1254
L123F:
	MOV DPTR, #0E680h
	MOVX A, @DPTR
	ORL A, #1h
	MOVX @DPTR, A
	MOV R7, #14h
	MOV R6, #0h
	LCALL L1006
	MOV DPTR, #0E680h
	MOVX A, @DPTR
	ANL A, #0FEh
	MOVX @DPTR, A
L1254:
	RET

L1255:
	MOV R1, 7h
	MOV R6, 16h
	MOV R7, 17h
L125B:
	MOV DPL, R7
	MOV DPH, R6
	INC DPTR
	MOVX A, @DPTR
	XRL A, #3h
	JNZ L127C
	MOV R5, 1h
	DEC R1
	MOV A, R5
	JNZ L126C
	RET

L126C:
	MOV DPL, R7
	MOV DPH, R6
	MOVX A, @DPTR
	MOV R4, #0h
	ADD A, R7
	MOV R5, A
	MOV A, R4
	ADDC A, R6
	MOV R6, A
	MOV R7, 5h
	SJMP L125B

L127C:
	MOV R6, #0h
	MOV R7, #0h
	RET

L1281:
	PUSH ACC
	PUSH DPH
	PUSH DPL
	SETB 1h
	ANL 91h, #0EFh
	MOV DPTR, #0E65Dh
	MOV A, #1h
	MOVX @DPTR, A
	POP DPL
	POP DPH
	POP ACC
	RETI

L1299:
	PUSH ACC
	PUSH DPH
	PUSH DPL
	SETB 4h
	ANL 91h, #0EFh
	MOV DPTR, #0E65Dh
	MOV A, #8h
	MOVX @DPTR, A
	POP DPL
	POP DPH
	POP ACC
	RETI

L12B1:
	PUSH ACC
	PUSH DPH
	PUSH DPL
	ANL 91h, #0EFh
	MOV DPTR, #0E65Dh
	MOV A, #4h
	MOVX @DPTR, A
	POP DPL
	POP DPH
	POP ACC
	RETI

L12C7:
	PUSH ACC
	PUSH DPH
	PUSH DPL
	ANL 91h, #0EFh
	MOV DPTR, #0E65Dh
	MOV A, #2h
	MOVX @DPTR, A
	POP DPL
	POP DPH
	POP ACC
	RETI

L12DD:
	MOV DPTR, #0E740h
	MOV A, 1Bh
	MOVX @DPTR, A
	CLR A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	INC A
	MOVX @DPTR, A
	SETB C
	RET

L12EF:
	MOV DPTR, #0E740h
	MOV A, 18h
	MOVX @DPTR, A
	CLR A
	MOV DPTR, #0E68Ah
	MOVX @DPTR, A
	MOV DPTR, #0E68Bh
	INC A
	MOVX @DPTR, A
	SETB C
	RET

L1301:
	MOV DPTR, #0E6BAh
	MOVX A, @DPTR
	MOV 18h, A
	SETB C
	RET

L1309:
	CLR A
	MOV 41h, A
	SETB 0E9h
	SETB EA
	RET

L1311:
	RETI

L1312:
	RETI

L1313:
	RETI

L1314:
	RETI

L1315:
	RETI

L1316:
	RETI

L1317:
	RETI

L1318:
	RETI

L1319:
	RETI

L131A:
	RETI

L131B:
	RETI

L131C:
	RETI

L131D:
	RETI

L131E:
	RETI

L131F:
	RETI

L1320:
	RETI

L1321:
	RETI

L1322:
	RETI

CSEG AT 7F92h
	DB 01h
CSEG AT E600h
	DB 01h
END
