

;
; +-------------------------------------------------------------------------+
; |   This file	has been generated by The Interactive Disassembler (IDA)    |
; |	   Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com>	    |
; |			 License info: 30-C268-22E5-AF			    |
; |				 Licensed User				    |
; +-------------------------------------------------------------------------+
;
; Input	MD5   :	DE9558B58B60E3C86B2D1B8BE27926BF

; File Name   :	C:\Documents and Settings\XPMUser\╨рсюўшщ ёЄюы\Firmware\j5ls\j5ls_v46b_perm_2108_turbo.bin
; Format      :	Binary file
; Base Address:	0000h Range: 0000h - 10000h Loaded length: 10000h

; Processor:	    C509 [RAM=3200 ROM=0 EPROM=0 EEPROM=0]
; Processor:	    8051
; Target assembler: 8051 Cross-Assembler by MetaLink Corporation

; ===========================================================================

; Segment type:	Pure code
		;.segment code
		CSEG

; =============== S U B	R O U T	I N E =======================================

; RESET
; Attributes: thunk

RESET:
		ljmp	RESET_0
; End of function RESET


; =============== S U B	R O U T	I N E =======================================

; External Interrupt 0
; Attributes: thunk

IE0:
		ljmp	IE0_0
; End of function IE0

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; Timer	0 Overflow

TF0:
		reti
; End of function TF0

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; External Interrupt 1
; Attributes: thunk

IE1:
		ljmp	IE1_0
; End of function IE1

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; Timer	1 Overflow
; Attributes: thunk

TF1:
		ljmp	Timer1Proc_1ms
; End of function TF1

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; Serial Channel 0
; Attributes: thunk

RI0_TI0:
		ljmp	RI0_TI0_0
; End of function RI0_TI0

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; Timer	2 Overflow / Ext. Reload

TF2_EXF2:
		reti
; End of function TF2_EXF2

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db  4Ah	; J
		db  35h	; 5
		db  4Ch	; L
		db  53h	; S
		db  5Fh	; _
		db  56h	; V
		db  34h	; 4
		db  36h	; 6
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; A/D Converter

IADC:
		reti
; End of function IADC

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; External Interrupt 2

IEX2:
		reti
; End of function IEX2

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; External Interrupt 3

IEX3:
		reti
; End of function IEX3

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; External Interrupt 4

IEX4:
		reti
; End of function IEX4

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; External Interrupt 5

IEX5:
		reti
; End of function IEX5

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; External Interrupt 6
; Attributes: thunk

DPKV_Vector_IEX6:
		ljmp	ProcessDPKV
; End of function DPKV_Vector_IEX6

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; Serial Channel 1
; Attributes: thunk

RI1_TI1:
		ljmp	RI1_TI1_0
; End of function RI1_TI1

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; Compare Match	Interupt of Compare Registers assigned to Timer	2 CM0-CM7
; Attributes: thunk

ICMP0_ICMP7:
		ljmp	ICMP0_ICMP7_0
; End of function ICMP0_ICMP7

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; Compare Timer	Overflow

CTF:
		reti
; End of function CTF

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; Compare Match	Interupt of Compare Register COMSET

ICS:
		reti
; End of function ICS

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; Compare Match	Interupt of Compare Register COMCLR

ICR:
		reti
; End of function ICR

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; Compare / Capture Event interrupt

ICC10_ICC17:
		reti
; End of function ICC10_ICC17

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================

; Compare Timer	1 Overflow

CT1F:
		inc	RAM_78
		reti
; End of function CT1F

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  0Dh
		db  0Ah
		db  6Ah	; j
		db  35h	; 5
		db  20h
		db  6Ch	; l
		db  69h	; i
		db  67h	; g
		db  68h	; h
		db  74h	; t
		db  20h
		db  73h	; s
		db  70h	; p
		db  6Fh	; o
		db  72h	; r
		db  74h	; t
		db  20h
		db  76h	; v
		db  34h	; 4
		db  2Eh	; .
		db  36h	; 6
		db  20h
		db  63h	; c
		db  6Fh	; o
		db  70h	; p
		db  79h	; y
		db  72h	; r
		db  69h	; i
		db  67h	; g
		db  68h	; h
		db  74h	; t
		db  20h
		db  28h	; (
		db  63h	; c
		db  29h	; )
		db  20h
		db  32h	; 2
		db  30h	; 0
		db  30h	; 0
		db  37h	; 7
		db  20h
		db  65h	; e
		db  6Dh	; m
		db  6Dh	; m
		db  69h	; i
		db  62h	; b
		db  6Fh	; o
		db  78h	; x
		db  0Dh
		db  0Ah
		db  68h	; h
		db  74h	; t
		db  74h	; t
		db  70h	; p
		db  3Ah	; :
		db  2Fh	; /
		db  2Fh	; /
		db  77h	; w
		db  77h	; w
		db  77h	; w
		db  2Eh	; .
		db  6Fh	; o
		db  6Bh	; k
		db  74h	; t
		db  6Ah	; j
		db  61h	; a
		db  2Eh	; .
		db  72h	; r
		db  75h	; u
		db  2Fh	; /
		db  66h	; f
		db  6Fh	; o
		db  72h	; r
		db  75h	; u
		db  6Dh	; m
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  90h	; Р
		db  66h	; f
		db  13h
		db  90h	; Р
		db  67h	; g
		db  13h
		db  90h	; Р
		db  8Ch	; М
		db  75h	; u
		db  90h	; Р
		db 0E0h	; р
		db    0
		db  90h	; Р
		db  5Fh	; _
		db  16h
		db  90h	; Р
		db  5Fh	; _
		db  17h
		db  90h	; Р
		db  5Fh	; _
		db  18h
		db  90h	; Р
		db  5Fh	; _
		db  19h
		db  90h	; Р
		db  5Fh	; _
		db 0F7h	; ў
		db  90h	; Р
		db  5Fh	; _
		db 0F8h	; °
		db  90h	; Р
		db  5Fh	; _
		db 0F9h	; ∙
		db  90h	; Р
		db  5Fh	; _
		db 0FAh	; ·
		db  90h	; Р
		db  5Fh	; _
		db  58h	; X
		db  90h	; Р
		db  5Fh	; _
		db  59h	; Y
		db  90h	; Р
		db  5Fh	; _
		db  5Ah	; Z
		db  90h	; Р
		db  5Fh	; _
		db  5Bh	; [
		db  90h	; Р
		db  5Fh	; _
		db  5Ch	; \
		db  90h	; Р
		db  5Fh	; _
		db  5Dh	; ]
		db  90h	; Р
		db  5Fh	; _
		db  5Eh	; ^
		db  90h	; Р
		db  5Fh	; _
		db  5Fh	; _
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR ProcessDPKV

code_23C:				; CODE XREF: ProcessDPKVj
		push	PSW		; Program Status Word
		push	ACC		; Accumulator
		push	B		; B-Register
		mov	PSW, #18h	; Program Status Word
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #5	; Data Pointer Select Register
		mov	R2, CCL3	; Compare/Capture Register 3, Low Byte
		mov	R3, CCH3	; Compare/Capture Register 3, High Byte
		cjne	R6, #57, code_261
		mov	A, R2
		add	A, R4
		mov	CCL3, A		; Compare/Capture Register 3, Low Byte
		mov	A, R3
		addc	A, R5
		mov	CCH3, A		; Compare/Capture Register 3, High Byte
		clr	IRCON0.5	; Interrupt Request Control Register 0
		inc	R6
		mov	R7, #28
		ljmp	code_41A
; ---------------------------------------------------------------------------

code_261:				; CODE XREF: ProcessDPKV-26j
		clr	ElectronicsParts.3 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		anl	CCEN, #3Fh	; Compare/Capture Enable Register
		orl	CCEN, #40h	; Compare/Capture Enable Register
		inc	R6
		mov	R7, #1Dh
		ljmp	code_41A
; ---------------------------------------------------------------------------

code_26F:				; CODE XREF: ProcessDPKV+1Aj
		setb	RAM_26.5
		ljmp	code_39D
; END OF FUNCTION CHUNK	FOR ProcessDPKV

; =============== S U B	R O U T	I N E =======================================


ProcessDPKV:				; CODE XREF: DPKV_Vector_IEX6j

; FUNCTION CHUNK AT 023C SIZE 00000038 BYTES

		jb	ElectronicsParts.3, code_23C ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		push	PSW		; Program Status Word
		push	ACC		; Accumulator
		push	B		; B-Register
		mov	PSW, #18h	; Program Status Word
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #5	; Data Pointer Select Register
		mov	A, CCL3		; Compare/Capture Register 3, Low Byte
		clr	C
		subb	A, R2
		mov	R0, A
		mov	A, CCH3		; Compare/Capture Register 3, High Byte
		subb	A, R3
		mov	R1, A
		jnb	RAM_26.1, code_26F
		mov	A, RAM_5
		cjne	A, #4, code_299
		ljmp	code_352
; ---------------------------------------------------------------------------

code_299:				; CODE XREF: ProcessDPKV+1Fj
		clr	C
		subb	A, #2
		jnc	code_2A6
		inc	RAM_5
		ljmp	code_33A
; ---------------------------------------------------------------------------

code_2A3:				; CODE XREF: ProcessDPKV+39j
		ljmp	code_337
; ---------------------------------------------------------------------------

code_2A6:				; CODE XREF: ProcessDPKV+28j
		mov	A, R4
		clr	C
		rlc	A
		mov	RAM_6, A
		mov	A, R5
		rlc	A
		jc	code_2A3
		mov	RAM_7, A
		mov	A, R0
		clr	C
		subb	A, RAM_6
		mov	RAM_6, A
		mov	A, R1
		subb	A, RAM_7
		mov	RAM_7, A
		setb	PSW.5		; Program Status Word
		jnc	code_2D0
		clr	PSW.5		; Program Status Word
		mov	A, RAM_6
		cpl	A
		add	A, #1
		mov	RAM_6, A
		mov	A, RAM_7
		cpl	A
		addc	A, #0
		mov	RAM_7, A

code_2D0:				; CODE XREF: ProcessDPKV+4Aj
		mov	A, RAM_6
		clr	C
		subb	A, R4
		mov	RAM_6, A
		mov	A, RAM_7
		subb	A, R5
		mov	RAM_7, A
		jnc	code_2FE
		mov	A, R5
		jz	code_2F1
		rrc	A
		anl	A, #7Fh
		mov	B, A		; B-Register
		mov	A, R4
		rrc	A
		add	A, RAM_6
		mov	A, B		; B-Register
		addc	A, RAM_7
		jnc	code_337
		sjmp	code_31B
; ---------------------------------------------------------------------------

code_2F1:				; CODE XREF: ProcessDPKV+6Aj
		mov	A, R4
		rrc	A
		anl	A, #7Fh
		add	A, RAM_6
		clr	A
		addc	A, RAM_7
		jnc	code_337
		sjmp	code_31B
; ---------------------------------------------------------------------------

code_2FE:				; CODE XREF: ProcessDPKV+67j
		mov	A, R5
		jz	code_30F
		mov	B, A		; B-Register
		mov	A, R4
		clr	C
		subb	A, RAM_6
		mov	A, B		; B-Register
		subb	A, RAM_7
		jc	code_337
		sjmp	code_31B
; ---------------------------------------------------------------------------

code_30F:				; CODE XREF: ProcessDPKV+8Bj
		mov	A, R4
		rrc	A
		anl	A, #7Fh
		clr	C
		subb	A, RAM_6
		clr	A
		subb	A, RAM_7
		jc	code_337

code_31B:				; CODE XREF: ProcessDPKV+7Bj
					; ProcessDPKV+88j ...
		jb	PSW.5, code_323	; Program Status Word
		mov	RAM_5, #3
		sjmp	code_33A
; ---------------------------------------------------------------------------

code_323:				; CODE XREF: ProcessDPKV:code_31Bj
		mov	A, RAM_5
		cjne	A, #3, code_337
		mov	R2, CCL3	; Compare/Capture Register 3, Low Byte
		mov	R3, CCH3	; Compare/Capture Register 3, High Byte
		inc	RAM_5
		clr	RAM_25_ErrorMask4.2
		clr	ElectronicsParts.2 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		clr	ElectronicsParts.1 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		ljmp	code_3F0
; ---------------------------------------------------------------------------

code_337:				; CODE XREF: ProcessDPKV:code_2A3j
					; ProcessDPKV+79j ...
		mov	RAM_5, #2

code_33A:				; CODE XREF: ProcessDPKV+2Cj
					; ProcessDPKV+ADj
		mov	R4, RAM_18
		mov	R5, RAM_19
		mov	R2, CCL3	; Compare/Capture Register 3, Low Byte
		mov	R3, CCH3	; Compare/Capture Register 3, High Byte
		setb	RAM_26.5
		ljmp	code_67A
; ---------------------------------------------------------------------------

code_347:				; CODE XREF: ProcessDPKV+FBj
					; ProcessDPKV+108j
		jb	ElectronicsParts.2, code_39B ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		jb	ElectronicsParts.1, code_39B ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		setb	ElectronicsParts.2 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		ljmp	code_67A
; ---------------------------------------------------------------------------

code_352:				; CODE XREF: ProcessDPKV+22j
		mov	A, R0
		clr	C
		subb	A, R4
		mov	RAM_6, A
		mov	A, R1
		subb	A, R5
		mov	RAM_7, A
		jnc	code_37E
		mov	A, R5
		jz	code_371
		rrc	A
		anl	A, #7Fh
		mov	B, A		; B-Register
		mov	A, R4
		rrc	A
		add	A, RAM_6
		mov	A, B		; B-Register
		addc	A, RAM_7
		jc	code_3A7
		sjmp	code_347
; ---------------------------------------------------------------------------

code_371:				; CODE XREF: ProcessDPKV+EAj
		mov	A, R4
		rrc	A
		anl	A, #7Fh
		add	A, RAM_6
		clr	A
		addc	A, RAM_7
		jc	code_3A7
		sjmp	code_347
; ---------------------------------------------------------------------------

code_37E:				; CODE XREF: ProcessDPKV+E7j
		mov	A, R5
		jz	code_38F
		mov	B, A		; B-Register
		mov	A, R4
		clr	C
		subb	A, RAM_6
		mov	A, B		; B-Register
		subb	A, RAM_7
		jnc	code_3A7
		sjmp	code_39B
; ---------------------------------------------------------------------------

code_38F:				; CODE XREF: ProcessDPKV+10Bj
		mov	A, R4
		rrc	A
		anl	A, #7Fh
		clr	C
		subb	A, RAM_6
		clr	A
		subb	A, RAM_7
		jnc	code_3A7

code_39B:				; CODE XREF: ProcessDPKV:code_347j
					; ProcessDPKV+D6j ...
		setb	RAM_25_ErrorMask4.2

code_39D:				; CODE XREF: ProcessDPKV-3j
		mov	RAM_5, #0
		clr	RAM_26.2
		clr	RAM_26.3
		ljmp	code_67A
; ---------------------------------------------------------------------------

code_3A7:				; CODE XREF: ProcessDPKV+F9j
					; ProcessDPKV+106j ...
		mov	R2, CCL3	; Compare/Capture Register 3, Low Byte
		mov	R3, CCH3	; Compare/Capture Register 3, High Byte
		mov	C, ElectronicsParts.2 ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		mov	ElectronicsParts.1, C ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		clr	ElectronicsParts.2 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		cjne	R6, #56, code_3D2
		mov	R4, RAM_18
		mov	R5, RAM_19
		setb	ElectronicsParts.3 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		anl	CCEN, #3Fh	; Compare/Capture Enable Register
		orl	CCEN, #80h	; Compare/Capture Enable Register
		setb	P1.3		; Port 1 (PDIR=0)
		mov	A, R2
		add	A, R4
		mov	CCL3, A		; Compare/Capture Register 3, Low Byte
		mov	A, R3
		addc	A, R5
		mov	CCH3, A		; Compare/Capture Register 3, High Byte
		clr	IRCON0.5	; Interrupt Request Control Register 0
		inc	R6
		mov	R7, #27
		ljmp	code_41A
; ---------------------------------------------------------------------------

code_3D2:				; CODE XREF: ProcessDPKV+13Dj
		jnc	code_3ED
		mov	R4, RAM_18
		mov	R5, RAM_19
		inc	R6
		cjne	R6, #30, code_3E5
		mov	R7, #0
		inc	RAM_40
		anl	RAM_40,	#3
		sjmp	code_41A
; ---------------------------------------------------------------------------

code_3E5:				; CODE XREF: ProcessDPKV+165j
		mov	A, R6
		jc	code_3EA
		subb	A, #30

code_3EA:				; CODE XREF: ProcessDPKV+172j
		mov	R7, A
		sjmp	code_41A
; ---------------------------------------------------------------------------

code_3ED:				; CODE XREF: ProcessDPKV:code_3D2j
		cjne	R6, #59, code_39B

code_3F0:				; CODE XREF: ProcessDPKV+C0j
		mov	R6, #0
		mov	R7, #0
		jnb	SensorsParts.5,	code_407 ; Комплектация	датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	A, P1		; Port 1 (PDIR=0)
		mov	C, ACC.2	; Accumulator
		jc	code_402
		jnb	RAM_26.0, code_405
		sjmp	code_40C
; ---------------------------------------------------------------------------

code_402:				; CODE XREF: ProcessDPKV+187j
		jnb	RAM_26.0, code_40C

code_405:				; CODE XREF: ProcessDPKV+189j
		setb	RAM_22.4

code_407:				; CODE XREF: ProcessDPKV+180j
		mov	A, RAM_40
		inc	A
		sjmp	code_412
; ---------------------------------------------------------------------------

code_40C:				; CODE XREF: ProcessDPKV+18Cj
					; ProcessDPKV:code_402j
		clr	RAM_22.4
		cpl	RAM_26.0
		rlc	A
		rl	A

code_412:				; CODE XREF: ProcessDPKV+196j
		anl	A, #2
		mov	RAM_40,	A
		jnz	code_41A
		setb	RAM_26.6

code_41A:				; CODE XREF: ProcessDPKV-16j
					; ProcessDPKV-8j ...
		setb	RAM_26.5
		mov	A, R5
		anl	A, #248
		jz	code_425
		clr	RAM_26.2
		clr	RAM_26.3

code_425:				; CODE XREF: ProcessDPKV+1ABj
		mov	A, R7
		mov	B, #3		; B-Register
		div	AB
		xch	A, B		; B-Register
		jnz	code_4A8	; Накопление времени для расчета ускорения КВ
		clr	C
		mov	A, R2
		subb	A, RAM_56
		mov	R0, A
		mov	A, R3
		subb	A, RAM_7F
		mov	R1, A
		mov	RAM_56,	R2
		mov	RAM_7F,	R3
		inc	RAM_54
		mov	A, R0
		add	A, RAM_50
		mov	RAM_50,	A
		mov	A, R1
		addc	A, RAM_5D
		mov	RAM_5D,	A
		cjne	A, RAM_76, code_44A

code_44A:
		jc	code_4A8
		mov	DPTR, #0F902h	; Передача пакета данных с ускорением КВ
		clr	A
		xch	A, RAM_50
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		clr	A
		xch	A, RAM_5D
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		clr	A
		xch	A, RAM_54
		movx	@DPTR, A
		jnb	RAM_2E.2, code_4A8
		mov	DPTR, #0F97Bh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		xch	A, R0
		mov	DPTR, #0F90Dh
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R0
		movx	@DPTR, A
		mov	DPTR, #0F90Bh
		mov	A, RAM_12
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, RAM_13
		movx	@DPTR, A
		mov	DPTR, #0F910h
		mov	R0, #94h ; 'Ф'

code_483:				; CODE XREF: ProcessDPKV+214j
		mov	A, @R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		inc	R0
		cjne	R0, #98h, code_483 ; 'Ш'
		mov	R0, #92h ; 'Т'
		mov	@R0, #2
		mov	RAM_51,	#14h
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F900h
		clr	RAM_2F.3
		clr	RAM_2F.0
		clr	RAM_2F.4
		mov	RAM_78,	#0
		setb	S0CON.4		; Serial Channel 0 Control Register
		setb	S0CON.1		; Serial Channel 0 Control Register
		mov	DPSEL, #5	; Data Pointer Select Register

code_4A8:				; CODE XREF: ProcessDPKV+1B8j
					; ProcessDPKV:code_44Aj ...
		mov	A, R7
		jbc	RAM_26.4, code_4DF
		cjne	A, RAM_3C, code_4DF
		jnb	RAM_26.3, code_4C7
		mov	RAM_34,	RAM_30
		mov	RAM_35,	RAM_31
		mov	RAM_33,	RAM_32
		mov	RAM_6C,	RAM_6A
		clr	A
		mov	RAM_30,	A
		mov	RAM_31,	A
		mov	RAM_32,	A
		mov	RAM_6A,	A

code_4C7:				; CODE XREF: ProcessDPKV+23Bj
		mov	A, RAM_40
		clr	C
		subb	A, RAM_3D
		anl	A, #3
		mov	CurrentCylinder, A ; Текущая форсунка (цилиндр)
		setb	RAM_28.0	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		setb	TCON.1		; Timer	Control	Register
		mov	RAM_3C,	RAM_3E
		mov	RAM_3D,	RAM_3F
		setb	RAM_26.4
		setb	RAM_26.3
		mov	A, R7

code_4DF:				; CODE XREF: ProcessDPKV+235j
					; ProcessDPKV+238j
		cjne	A, #0, code_50F
		jnb	RAM_26.2, code_4F2
		setb	C
		mov	A, R2
		subb	A, RAM_36
		mov	RAM_38,	A
		mov	A, R3
		subb	A, RAM_37
		mov	RAM_39,	A
		setb	RAM_28.6	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации

code_4F2:				; CODE XREF: ProcessDPKV+26Ej
		mov	RAM_36,	R2
		mov	RAM_37,	R3
		setb	RAM_26.2
		inc	RAM_68
		mov	A, RAM_68
		setb	C
		subb	A, RAM_75
		jc	code_504
		mov	RAM_68,	#0

code_504:				; CODE XREF: ProcessDPKV+28Bj
		mov	A, RAM_75
		clr	C
		subb	A, #5
		jc	code_50E
		mov	RAM_68,	#1

code_50E:				; CODE XREF: ProcessDPKV+295j
		mov	A, R7

code_50F:				; CODE XREF: ProcessDPKV:code_4DFj
		jnb	SoftFlags1.7, code_515 ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		ljmp	code_683
; ---------------------------------------------------------------------------

code_515:				; CODE XREF: ProcessDPKV:code_50Fj
		cjne	A, #8, code_548
		mov	RAM_43,	RAM_40
		setb	RAM_28.2	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		setb	TCON.1		; Timer	Control	Register
		mov	A, RAM_43
		cpl	ACC.1		; Accumulator
		rl	A
		rl	A
		add	A, #80h	; 'А'
		mov	R0, A
		mov	A, RAM_43
		setb	C
		addc	A, #0
		jb	ACC.0, code_53D	; Accumulator
		mov	RAM_10,	@R0
		inc	R0
		mov	RAM_11,	@R0
		inc	R0
		mov	RAM_12,	@R0
		inc	R0
		mov	RAM_13,	@R0
		sjmp	code_548
; ---------------------------------------------------------------------------

code_53D:				; CODE XREF: ProcessDPKV+2B9j
		mov	RAM_14,	@R0
		inc	R0
		mov	RAM_15,	@R0
		inc	R0
		mov	RAM_16,	@R0
		inc	R0
		mov	RAM_17,	@R0

code_548:				; CODE XREF: ProcessDPKV:code_515j
					; ProcessDPKV+2C7j
		mov	A, R7
		jnb	SoftFlags1.3, code_558 ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		cjne	A, RAM_4C, code_551
		setb	P1.5		; Port 1 (PDIR=0)

code_551:				; CODE XREF: ProcessDPKV+2D8j
		cjne	A, RAM_74, code_562
		clr	P1.5		; Port 1 (PDIR=0)
		sjmp	code_562
; ---------------------------------------------------------------------------

code_558:				; CODE XREF: ProcessDPKV+2D5j
		cjne	A, RAM_4C, code_55D
		setb	P1.4		; Port 1 (PDIR=0)

code_55D:				; CODE XREF: ProcessDPKV:code_558j
		cjne	A, RAM_74, code_562
		clr	P1.4		; Port 1 (PDIR=0)

code_562:				; CODE XREF: ProcessDPKV:code_551j
					; ProcessDPKV+2E2j ...
		cjne	A, #6, code_57B
		setb	RAM_28.3	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	ADCON1,	#7	; A/D Converter	Control	Register 1
		mov	ADDATL,	#0	; A/D Converter	Data Register, Low Byte
		nop

code_56E:				; CODE XREF: ProcessDPKV:code_56Ej
		jb	ADCON0.4, code_56E ; A/D Converter Control Register 0
		mov	A, ADDATH	; A/D Converter	Data Register, High Byte
		subb	A, RAM_42
		jnc	code_578
		clr	A

code_578:				; CODE XREF: ProcessDPKV+301j
		mov	RAM_72,	A
		mov	A, R7

code_57B:				; CODE XREF: ProcessDPKV:code_562j
		mov	A, R7
		cjne	A, #0Bh, code_581
		clr	P5.5		; Port 5 (PDIR=0)

code_581:				; CODE XREF: ProcessDPKV+308j
		cjne	A, #1, code_586
		setb	P5.5		; Port 5 (PDIR=0)

code_586:				; CODE XREF: ProcessDPKV:code_581j
		mov	A, R6
		cjne	A, RAM_10, code_5C4
		mov	B, RAM_11	; B-Register
		clr	C
		mov	A, R4
		rlc	A
		mov	R0, A
		mov	A, R5
		rlc	A
		jz	code_5A7
		mul	AB
		xch	A, R0
		mov	R1, B		; B-Register
		mov	B, RAM_11	; B-Register
		mul	AB
		mov	A, R0
		add	A, B		; B-Register
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		sjmp	code_5AD
; ---------------------------------------------------------------------------

code_5A7:				; CODE XREF: ProcessDPKV+31Fj
		mov	A, R0
		mul	AB
		mov	R0, B		; B-Register
		mov	R1, #0

code_5AD:				; CODE XREF: ProcessDPKV+331j
		anl	CLRMSK,	#0F9h	; Compare Clear	Mask Register
		anl	SETMSK,	#0FDh	; Compare Set Mask Register
		mov	A, R2
		add	A, R0
		mov	R0, A
		mov	A, R3
		addc	A, R1
		mov	COMCLRH, A	; Compare Clear	Register, High Byte
		mov	COMCLRL, R0	; Compare Clear	Register, Low Byte
		mov	A, RAM_68
		jz	code_5C3
		orl	CLRMSK,	#2	; Compare Clear	Mask Register

code_5C3:				; CODE XREF: ProcessDPKV+34Aj
		mov	A, R6

code_5C4:				; CODE XREF: ProcessDPKV+313j
		cjne	A, RAM_12, code_601
		setb	RAM_2A.2	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	B, RAM_13	; B-Register
		clr	C
		mov	A, R4
		rlc	A
		mov	R0, A
		mov	A, R5
		rlc	A
		jz	code_5E6
		mul	AB
		xch	A, R0
		mov	R1, B		; B-Register
		mov	B, RAM_13	; B-Register
		mul	AB
		mov	A, R0
		add	A, B		; B-Register
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		sjmp	code_5EC
; ---------------------------------------------------------------------------

code_5E6:				; CODE XREF: ProcessDPKV+35Ej
		mov	A, R0
		mul	AB
		mov	R0, B		; B-Register
		mov	R1, #0

code_5EC:				; CODE XREF: ProcessDPKV+370j
		anl	SETMSK,	#0F9h	; Compare Set Mask Register
		anl	CLRMSK,	#0FDh	; Compare Clear	Mask Register
		mov	A, R2
		add	A, R0
		mov	R0, A
		mov	A, R3
		addc	A, R1
		mov	COMSETH, A	; Compare Set Register,	High Byte
		mov	COMSETL, R0	; Compare Set Register,	Low Byte
		orl	SETMSK,	#2	; Compare Set Mask Register
		clr	ElectronicsParts.5 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		mov	A, R6

code_601:				; CODE XREF: ProcessDPKV:code_5C4j
		cjne	A, RAM_14, code_63E
		mov	B, RAM_15	; B-Register
		clr	C
		mov	A, R4
		rlc	A
		mov	R0, A
		mov	A, R5
		rlc	A
		jz	code_621
		mul	AB
		xch	A, R0
		mov	R1, B		; B-Register
		mov	B, RAM_15	; B-Register
		mul	AB
		mov	A, R0
		add	A, B		; B-Register
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		sjmp	code_627
; ---------------------------------------------------------------------------

code_621:				; CODE XREF: ProcessDPKV+399j
		mov	A, R0
		mul	AB
		mov	R0, B		; B-Register
		mov	R1, #0

code_627:				; CODE XREF: ProcessDPKV+3ABj
		anl	CLRMSK,	#0F9h	; Compare Clear	Mask Register
		anl	SETMSK,	#0FBh	; Compare Set Mask Register
		mov	A, R2
		add	A, R0
		mov	R0, A
		mov	A, R3
		addc	A, R1
		mov	COMCLRH, A	; Compare Clear	Register, High Byte
		mov	COMCLRL, R0	; Compare Clear	Register, Low Byte
		mov	A, RAM_68
		jz	code_63D
		orl	CLRMSK,	#4	; Compare Clear	Mask Register

code_63D:				; CODE XREF: ProcessDPKV+3C4j
		mov	A, R6

code_63E:				; CODE XREF: ProcessDPKV:code_601j
		cjne	A, RAM_16, code_67A
		setb	RAM_2A.2	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	B, RAM_17	; B-Register
		clr	C
		mov	A, R4
		rlc	A
		mov	R0, A
		mov	A, R5
		rlc	A
		jz	code_660
		mul	AB
		xch	A, R0
		mov	R1, B		; B-Register
		mov	B, RAM_17	; B-Register
		mul	AB
		mov	A, R0
		add	A, B		; B-Register
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		sjmp	code_666
; ---------------------------------------------------------------------------

code_660:				; CODE XREF: ProcessDPKV+3D8j
		mov	A, R0
		mul	AB
		mov	R0, B		; B-Register
		mov	R1, #0

code_666:				; CODE XREF: ProcessDPKV+3EAj
		anl	SETMSK,	#0F9h	; Compare Set Mask Register
		anl	CLRMSK,	#0FBh	; Compare Clear	Mask Register
		mov	A, R2
		add	A, R0
		mov	R0, A
		mov	A, R3
		addc	A, R1
		mov	COMSETH, A	; Compare Set Register,	High Byte
		mov	COMSETL, R0	; Compare Set Register,	Low Byte
		orl	SETMSK,	#4	; Compare Set Mask Register
		setb	ElectronicsParts.5 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД

code_67A:				; CODE XREF: ProcessDPKV+D0j
					; ProcessDPKV+DBj ...
		pop	DPSEL		; Data Pointer Select Register
		pop	B		; B-Register
		pop	ACC		; Accumulator
		pop	PSW		; Program Status Word
		reti
; ---------------------------------------------------------------------------

code_683:				; CODE XREF: ProcessDPKV+29Ej
		cjne	A, #13h, code_68A
		mov	R0, #90h ; 'Р'
		mov	@R0, RAM_40

code_68A:				; CODE XREF: ProcessDPKV:code_683j
		cjne	A, #8, code_6C1
		mov	RAM_43,	RAM_40
		mov	C, ElectronicsParts.5 ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		mov	RAM_2A.2, C	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		setb	RAM_28.2	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		setb	TCON.1		; Timer	Control	Register
		mov	A, RAM_43
		cpl	ACC.1		; Accumulator
		rl	A
		rl	A
		add	A, #80h	; 'А'
		mov	R0, A
		mov	A, RAM_43
		setb	C
		addc	A, #0
		jb	ACC.0, code_6B6	; Accumulator
		mov	RAM_10,	@R0
		inc	R0
		mov	RAM_11,	@R0
		inc	R0
		mov	RAM_12,	@R0
		inc	R0
		mov	RAM_13,	@R0
		sjmp	code_6C1
; ---------------------------------------------------------------------------

code_6B6:				; CODE XREF: ProcessDPKV+432j
		mov	RAM_14,	@R0
		inc	R0
		mov	RAM_15,	@R0
		inc	R0
		mov	RAM_16,	@R0
		inc	R0
		mov	RAM_17,	@R0

code_6C1:				; CODE XREF: ProcessDPKV:code_68Aj
					; ProcessDPKV+440j
		mov	A, R7
		cjne	A, RAM_4C, code_6D1
		setb	P1.5		; Port 1 (PDIR=0)
		clr	TCON.4		; Timer	Control	Register
		clr	A
		mov	TL0, A		; Timer	0, Low Byte
		mov	TH0, A		; Timer	0, High	Byte
		setb	TCON.4		; Timer	Control	Register
		mov	A, R7

code_6D1:				; CODE XREF: ProcessDPKV+44Ej
		cjne	A, RAM_74, code_6DF
		clr	P1.5		; Port 1 (PDIR=0)
		clr	TCON.4		; Timer	Control	Register
		mov	RAM_3B,	TL0	; Timer	0, Low Byte
		mov	RAM_4B,	TH0	; Timer	0, High	Byte
		mov	A, R7

code_6DF:				; CODE XREF: ProcessDPKV:code_6D1j
		cjne	A, #0Bh, code_6E4
		clr	P5.0		; Port 5 (PDIR=0)

code_6E4:				; CODE XREF: ProcessDPKV:code_6DFj
		cjne	A, #1, code_6E9
		setb	P5.0		; Port 5 (PDIR=0)

code_6E9:				; CODE XREF: ProcessDPKV:code_6E4j
		mov	A, R6
		cjne	A, RAM_10, code_750
		mov	B, RAM_11	; B-Register
		clr	C
		mov	A, R4
		rlc	A
		mov	R0, A
		mov	A, R5
		rlc	A
		jz	code_70A
		mul	AB
		xch	A, R0
		mov	R1, B		; B-Register
		mov	B, RAM_11	; B-Register
		mul	AB
		mov	A, R0
		add	A, B		; B-Register
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		sjmp	code_710
; ---------------------------------------------------------------------------

code_70A:				; CODE XREF: ProcessDPKV+482j
		mov	A, R0
		mul	AB
		mov	R0, B		; B-Register
		mov	R1, #0

code_710:				; CODE XREF: ProcessDPKV+494j
		mov	A, R2
		add	A, R0
		mov	R0, A
		mov	A, R3
		addc	A, R1
		jb	ElectronicsParts.6, code_722 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		xch	A, B		; B-Register
		mov	R1, #90h ; 'Р'
		mov	A, @R1
		cjne	A, #3, code_733
		xch	A, B		; B-Register

code_722:				; CODE XREF: ProcessDPKV+4A1j
		anl	CMEN, #0EFh	; Compare Enable Register (RMAP=0)
		mov	CMH4, A		; Compare Register 4, High Byte	(RMAP=0)
		mov	CML4, R0	; Compare Register 4, Low Byte (RMAP=0)
		orl	CMEN, #10h	; Compare Enable Register (RMAP=0)
		clr	P4.4		; Port 4 (PDIR=0)
		jb	ElectronicsParts.6, code_73B ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		sjmp	code_747
; ---------------------------------------------------------------------------

code_733:				; CODE XREF: ProcessDPKV+4A9j
		mov	R1, #90h ; 'Р'
		mov	A, @R1
		cjne	A, #1, code_747
		xch	A, B		; B-Register

code_73B:				; CODE XREF: ProcessDPKV+4BAj
		anl	CMEN, #7Fh	; Compare Enable Register (RMAP=0)
		mov	CMH7, A		; Compare Register 7, High Byte	(RMAP=0)
		mov	CML7, R0	; Compare Register 7, Low Byte (RMAP=0)
		orl	CMEN, #80h	; Compare Enable Register (RMAP=0)
		clr	P4.7		; Port 4 (PDIR=0)

code_747:				; CODE XREF: ProcessDPKV+4BDj
					; ProcessDPKV+4C2j
		mov	C, RAM_2A.2	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	A, IEN2		; Interrupt Enable Register 2
		mov	ACC.2, C	; Accumulator
		mov	IEN2, A		; Interrupt Enable Register 2
		mov	A, R6

code_750:				; CODE XREF: ProcessDPKV+476j
		cjne	A, RAM_12, code_797
		jb	RAM_2A.2, code_797 ; bit 0  -  (0) использовать	статическую производительность для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	B, RAM_13	; B-Register
		clr	C
		mov	A, R4
		rlc	A
		mov	R0, A
		mov	A, R5
		rlc	A
		jz	code_773
		mul	AB
		xch	A, R0
		mov	R1, B		; B-Register
		mov	B, RAM_13	; B-Register
		mul	AB
		mov	A, R0
		add	A, B		; B-Register
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		sjmp	code_779
; ---------------------------------------------------------------------------

code_773:				; CODE XREF: ProcessDPKV+4EBj
		mov	A, R0
		mul	AB
		mov	R0, B		; B-Register
		mov	R1, #0

code_779:				; CODE XREF: ProcessDPKV+4FDj
		mov	A, R2
		add	A, R0
		mov	R0, A
		mov	A, R3
		addc	A, R1
		anl	CMEN, #0EFh	; Compare Enable Register (RMAP=0)
		mov	CMH4, A		; Compare Register 4, High Byte	(RMAP=0)
		mov	CML4, R0	; Compare Register 4, Low Byte (RMAP=0)
		orl	CMEN, #10h	; Compare Enable Register (RMAP=0)
		setb	P4.4		; Port 4 (PDIR=0)
		anl	CMEN, #7Fh	; Compare Enable Register (RMAP=0)
		mov	CMH7, A		; Compare Register 7, High Byte	(RMAP=0)
		mov	CML7, R0	; Compare Register 7, Low Byte (RMAP=0)
		orl	CMEN, #80h	; Compare Enable Register (RMAP=0)
		setb	P4.7		; Port 4 (PDIR=0)
		mov	A, R6

code_797:				; CODE XREF: ProcessDPKV:code_750j
					; ProcessDPKV+4DFj
		cjne	A, RAM_14, code_7FD
		mov	B, RAM_15	; B-Register
		clr	C
		mov	A, R4
		rlc	A
		mov	R0, A
		mov	A, R5
		rlc	A
		jz	code_7B7
		mul	AB
		xch	A, R0
		mov	R1, B		; B-Register
		mov	B, RAM_15	; B-Register
		mul	AB
		mov	A, R0
		add	A, B		; B-Register
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		sjmp	code_7BD
; ---------------------------------------------------------------------------

code_7B7:				; CODE XREF: ProcessDPKV+52Fj
		mov	A, R0
		mul	AB
		mov	R0, B		; B-Register
		mov	R1, #0

code_7BD:				; CODE XREF: ProcessDPKV+541j
		mov	A, R2
		add	A, R0
		mov	R0, A
		mov	A, R3
		addc	A, R1
		jb	ElectronicsParts.6, code_7CF ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		xch	A, B		; B-Register
		mov	R1, #90h ; 'Р'
		mov	A, @R1
		cjne	A, #0, code_7E0
		xch	A, B		; B-Register

code_7CF:				; CODE XREF: ProcessDPKV+54Ej
		anl	CMEN, #0BFh	; Compare Enable Register (RMAP=0)
		mov	CMH6, A		; Compare Register 6, High Byte	(RMAP=0)
		mov	CML6, R0	; Compare Register 6, Low Byte (RMAP=0)
		orl	CMEN, #40h	; Compare Enable Register (RMAP=0)
		clr	P4.6		; Port 4 (PDIR=0)
		jb	ElectronicsParts.6, code_7E8 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		sjmp	code_7F4
; ---------------------------------------------------------------------------

code_7E0:				; CODE XREF: ProcessDPKV+556j
		mov	R1, #90h ; 'Р'
		mov	A, @R1
		cjne	A, #2, code_7F4
		xch	A, B		; B-Register

code_7E8:				; CODE XREF: ProcessDPKV+567j
		anl	CMEN, #0DFh	; Compare Enable Register (RMAP=0)
		mov	CMH5, A		; Compare Register 5, High Byte	(RMAP=0)
		mov	CML5, R0	; Compare Register 5, Low Byte (RMAP=0)
		orl	CMEN, #20h	; Compare Enable Register (RMAP=0)
		clr	P4.5		; Port 4 (PDIR=0)

code_7F4:				; CODE XREF: ProcessDPKV+56Aj
					; ProcessDPKV+56Fj
		mov	C, RAM_2A.2	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	A, IEN2		; Interrupt Enable Register 2
		mov	ACC.2, C	; Accumulator
		mov	IEN2, A		; Interrupt Enable Register 2
		mov	A, R6

code_7FD:				; CODE XREF: ProcessDPKV:code_797j
		cjne	A, RAM_16, code_843
		jb	RAM_2A.2, code_843 ; bit 0  -  (0) использовать	статическую производительность для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	B, RAM_17	; B-Register
		clr	C
		mov	A, R4
		rlc	A
		mov	R0, A
		mov	A, R5
		rlc	A
		jz	code_820
		mul	AB
		xch	A, R0
		mov	R1, B		; B-Register
		mov	B, RAM_17	; B-Register
		mul	AB
		mov	A, R0
		add	A, B		; B-Register
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		sjmp	code_826
; ---------------------------------------------------------------------------

code_820:				; CODE XREF: ProcessDPKV+598j
		mov	A, R0
		mul	AB
		mov	R0, B		; B-Register
		mov	R1, #0

code_826:				; CODE XREF: ProcessDPKV+5AAj
		mov	A, R2
		add	A, R0
		mov	R0, A
		mov	A, R3
		addc	A, R1
		anl	CMEN, #0BFh	; Compare Enable Register (RMAP=0)
		mov	CMH6, A		; Compare Register 6, High Byte	(RMAP=0)
		mov	CML6, R0	; Compare Register 6, Low Byte (RMAP=0)
		orl	CMEN, #40h	; Compare Enable Register (RMAP=0)
		setb	P4.6		; Port 4 (PDIR=0)
		anl	CMEN, #0DFh	; Compare Enable Register (RMAP=0)
		mov	CMH5, A		; Compare Register 5, High Byte	(RMAP=0)
		mov	CML5, R0	; Compare Register 5, Low Byte (RMAP=0)
		orl	CMEN, #20h	; Compare Enable Register (RMAP=0)
		setb	P4.5		; Port 4 (PDIR=0)

code_843:				; CODE XREF: ProcessDPKV:code_7FDj
					; ProcessDPKV+58Cj
		pop	B		; B-Register
		pop	ACC		; Accumulator
		pop	PSW		; Program Status Word
		reti
; End of function ProcessDPKV


; =============== S U B	R O U T	I N E =======================================


Timer1Proc_1ms:				; CODE XREF: TF1j
		push	PSW		; Program Status Word
		push	ACC		; Accumulator
		push	B		; B-Register
		push	DPL		; Data Pointer,	Low Byte
		push	DPH		; Data Pointer,	High Byte
		mov	PSW, #0		; Program Status Word
		push	RAM_0
		clr	IEN0.7		; Interrupt Enable Register 0
		clr	TCON.6		; Timer	Control	Register
		mov	A, TH1		; Timer	1, High	Byte
		jz	code_864
		mov	TL1, #0FFh	; Timer	1, Low Byte

code_864:				; CODE XREF: Timer1Proc_1ms+15j
		mov	A, TL1		; Timer	1, Low Byte
		add	A, #0CBh ; '╦'
		mov	TL1, A		; Timer	1, Low Byte
		mov	A, #0FAh ; '·'
		addc	A, #0
		mov	TH1, A		; Timer	1, High	Byte
		setb	TCON.6		; Timer	Control	Register
		setb	IEN0.7		; Interrupt Enable Register 0
		djnz	RAM_46,	code_87C
		mov	RAM_46,	#20
		setb	RAM_29.0	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)

code_87C:				; CODE XREF: Timer1Proc_1ms+2Aj
		setb	IEN0.4		; Interrupt Enable Register 0
		jb	RAM_2E.2, MANUAL_SCANER_SPARK ;	Управление зажиганием со сканера на остановленном двигателе
		jb	RAM_2F.1, code_8A3
		jb	RAM_2F.3, code_89F
		jnb	S0CON.4, MANUAL_SCANER_SPARK ; Управление зажиганием со	сканера	на остановленном двигателе
		mov	A, RAM_78
		clr	C
		subb	A, #28h	; '('
		jc	MANUAL_SCANER_SPARK ; Управление зажиганием со сканера на остановленном	двигателе
		clr	S0CON.4		; Serial Channel 0 Control Register
		anl	IEN3, #0F7h	; Interrupt Enable Register 3
		clr	RAM_2F.2
		setb	RAM_2F.3
		mov	RAM_78,	#0
		sjmp	MANUAL_SCANER_SPARK ; Управление зажиганием со сканера на остановленном	двигателе
; ---------------------------------------------------------------------------

code_89F:				; CODE XREF: Timer1Proc_1ms+3Aj
		inc	RAM_78
		sjmp	MANUAL_SCANER_SPARK ; Управление зажиганием со сканера на остановленном	двигателе
; ---------------------------------------------------------------------------

code_8A3:				; CODE XREF: Timer1Proc_1ms+37j
		inc	RAM_78
		mov	A, RAM_78
		xrl	A, #14h
		jnz	MANUAL_SCANER_SPARK ; Управление зажиганием со сканера на остановленном	двигателе
		mov	RAM_78,	A
		mov	R0, #92h ; 'Т'
		inc	@R0
		mov	A, @R0
		cjne	A, #1, code_8C0
		mov	R0, #0A5h ; 'е'
		mov	S0RELL,	@R0	; Serial Channel 0 Reload Reg.,	Low Byte
		mov	R0, #91h ; 'С'
		mov	@R0, #0
		setb	S0CON.4		; Serial Channel 0 Control Register
		sjmp	MANUAL_SCANER_SPARK ; Управление зажиганием со сканера на остановленном	двигателе
; ---------------------------------------------------------------------------

code_8C0:				; CODE XREF: Timer1Proc_1ms+67j
		clr	C
		subb	A, #0FAh ; '·'
		jc	MANUAL_SCANER_SPARK ; Управление зажиганием со сканера на остановленном	двигателе
		clr	S0CON.4		; Serial Channel 0 Control Register
		clr	RAM_2F.1
		clr	RAM_2F.5
		clr	RAM_2F.6
		clr	A
		mov	RAM_79,	A
		mov	DEV_FLAGS, A	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	RAM_7B,	A
		mov	RAM_7C,	A	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		mov	R0, #91h ; 'С'
		mov	@R0, A
		mov	R0, #0A5h ; 'е'
		mov	@R0, #0D0h ; '╨'
		mov	S0RELL,	@R0	; Serial Channel 0 Reload Reg.,	Low Byte
		lcall	code_564E
		setb	S0CON.4		; Serial Channel 0 Control Register

MANUAL_SCANER_SPARK:			; CODE XREF: Timer1Proc_1ms+34j
					; Timer1Proc_1ms+3Dj ...
		jb	RAM_2A.6, code_93C ; Управление	зажиганием со сканера на остановленном двигателе
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jnb	ACC.4, code_90C	; Accumulator
		mov	DPTR, #0F95Eh
		movx	A, @DPTR
		dec	A
		jz	code_931
		movx	@DPTR, A
		mov	DPTR, #0F95Fh
		movx	A, @DPTR
		dec	A
		movx	@DPTR, A
		jnz	code_93C
		mov	A, #5
		movx	@DPTR, A
		jb	SoftFlags1.7, code_906 ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		cpl	P5.1		; Port 5 (PDIR=0)
		sjmp	code_93C
; ---------------------------------------------------------------------------

code_906:				; CODE XREF: Timer1Proc_1ms+B5j
		clr	P4.4		; Port 4 (PDIR=0)
		clr	P4.7		; Port 4 (PDIR=0)
		sjmp	code_93C
; ---------------------------------------------------------------------------

code_90C:				; CODE XREF: Timer1Proc_1ms+9Fj
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jnb	ACC.5, code_93C	; Accumulator
		mov	DPTR, #0F95Eh
		movx	A, @DPTR
		dec	A
		jz	code_931
		movx	@DPTR, A
		mov	DPTR, #0F95Fh
		movx	A, @DPTR
		dec	A
		movx	@DPTR, A
		jnz	code_93C
		mov	A, #5
		movx	@DPTR, A
		jb	SoftFlags1.7, code_92B ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		cpl	P5.2		; Port 5 (PDIR=0)
		sjmp	code_93C
; ---------------------------------------------------------------------------

code_92B:				; CODE XREF: Timer1Proc_1ms+DAj
		clr	P4.6		; Port 4 (PDIR=0)
		clr	P4.5		; Port 4 (PDIR=0)
		sjmp	code_93C
; ---------------------------------------------------------------------------

code_931:				; CODE XREF: Timer1Proc_1ms+A7j
					; Timer1Proc_1ms+CCj
		jb	SoftFlags1.7, code_939 ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		orl	P5, #6		; Port 5 (PDIR=0)
		sjmp	code_93C
; ---------------------------------------------------------------------------

code_939:				; CODE XREF: Timer1Proc_1ms:code_931j
		orl	P4, #11110000b	; Port 4 (PDIR=0)

code_93C:				; CODE XREF: Timer1Proc_1ms:MANUAL_SCANER_SPARKj
					; Timer1Proc_1ms+B0j ...
		jnb	RAM_28.5, code_942 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		ljmp	READ_DMRV_DAD_ADC ; Чтение АЦП ДМРВ и ДАД
; ---------------------------------------------------------------------------

code_942:				; CODE XREF: Timer1Proc_1ms:code_93Cj
		mov	A, RXX_DriveDinamics ; Динамика	разгона	РХХ
		jz	code_949
		djnz	RXX_DriveDinamics, code_957 ; Динамика разгона РХХ

code_949:				; CODE XREF: Timer1Proc_1ms+FAj
		mov	A, RXX_Position
		clr	C
		subb	A, RAM_65
		jc	code_95A
		jnb	ACC.7, code_95F	; Accumulator
		mov	A, #7Fh	; ''
		sjmp	code_95F
; ---------------------------------------------------------------------------

code_957:				; CODE XREF: Timer1Proc_1ms+FCj
					; Timer1Proc_1ms+119j
		ljmp	READ_DMRV_DAD_ADC ; Чтение АЦП ДМРВ и ДАД
; ---------------------------------------------------------------------------

code_95A:				; CODE XREF: Timer1Proc_1ms+104j
		jb	ACC.7, code_95F	; Accumulator
		mov	A, #80h	; 'А'

code_95F:				; CODE XREF: Timer1Proc_1ms+106j
					; Timer1Proc_1ms+10Bj ...
		jnz	code_974
		mov	A, RAM_66
		jz	code_957
		cjne	A, #0FFh, code_96A
		sjmp	code_96D
; ---------------------------------------------------------------------------

code_96A:				; CODE XREF: Timer1Proc_1ms+11Bj
		cjne	A, #1, code_973

code_96D:				; CODE XREF: Timer1Proc_1ms+11Ej
		mov	RAM_66,	#0
		ljmp	READ_DMRV_DAD_ADC ; Чтение АЦП ДМРВ и ДАД
; ---------------------------------------------------------------------------

code_973:				; CODE XREF: Timer1Proc_1ms:code_96Aj
		clr	A

code_974:				; CODE XREF: Timer1Proc_1ms:code_95Fj
		add	A, #80h	; 'А'
		mov	B, A		; B-Register
		mov	A, RAM_66
		add	A, #80h	; 'А'
		cjne	A, B, code_981	; B-Register
		sjmp	code_9B3
; ---------------------------------------------------------------------------

code_981:				; CODE XREF: Timer1Proc_1ms+132j
		jnc	code_99B
		mov	DPTR, #60CCh	; Количество шагов разгона/остановки РХХ
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, RAM_66
		cjne	A, B, code_991	; B-Register
		sjmp	code_9B3
; ---------------------------------------------------------------------------

code_991:				; CODE XREF: Timer1Proc_1ms+142j
		inc	A
		mov	RAM_66,	A
		jnz	code_9B3
		mov	RAM_66,	#1
		sjmp	code_9B3
; ---------------------------------------------------------------------------

code_99B:				; CODE XREF: Timer1Proc_1ms:code_981j
		mov	DPTR, #60CCh	; Количество шагов разгона/остановки РХХ
		clr	A
		movc	A, @A+DPTR
		cpl	A
		inc	A
		mov	B, A		; B-Register
		mov	A, RAM_66
		cjne	A, B, code_9AB	; B-Register
		sjmp	code_9B3
; ---------------------------------------------------------------------------

code_9AB:				; CODE XREF: Timer1Proc_1ms+15Cj
		dec	A
		mov	RAM_66,	A
		jnz	code_9B3
		mov	RAM_66,	#0FFh

code_9B3:				; CODE XREF: Timer1Proc_1ms+135j
					; Timer1Proc_1ms+145j ...
		mov	A, RAM_66
		jb	ACC.7, code_9C1	; Accumulator
		mov	A, RAM_66
		inc	RAM_65
		mov	B, #0FFh	; B-Register
		sjmp	code_9C8
; ---------------------------------------------------------------------------

code_9C1:				; CODE XREF: Timer1Proc_1ms+16Bj
		cpl	A
		inc	A
		dec	RAM_65
		mov	B, #1		; B-Register

code_9C8:				; CODE XREF: Timer1Proc_1ms+175j
		mov	DPTR, #6137h	; Динамика разгона РХХ
		movc	A, @A+DPTR
		mov	RXX_DriveDinamics, A ; Динамика	разгона	РХХ
		jb	SoftFlags1.7, code_9EC ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	A, P6		; Port 6 (PDIR=0)
		mov	C, ACC.7	; Accumulator
		mov	ACC.0, C	; Accumulator
		mov	C, ACC.6	; Accumulator
		mov	ACC.1, C	; Accumulator
		anl	A, #0Bh
		add	A, B		; B-Register
		jb	ACC.1, code_9E7	; Accumulator
		xrl	P6, #40h	; Port 6 (PDIR=0)
		sjmp	READ_DMRV_DAD_ADC ; Чтение АЦП ДМРВ и ДАД
; ---------------------------------------------------------------------------

code_9E7:				; CODE XREF: Timer1Proc_1ms+195j
		xrl	P6, #80h	; Port 6 (PDIR=0)
		sjmp	READ_DMRV_DAD_ADC ; Чтение АЦП ДМРВ и ДАД
; ---------------------------------------------------------------------------

code_9EC:				; CODE XREF: Timer1Proc_1ms+184j
		mov	A, P6		; Port 6 (PDIR=0)
		mov	C, ACC.2	; Accumulator
		mov	ACC.0, C	; Accumulator
		mov	C, ACC.1	; Accumulator
		mov	ACC.1, C	; Accumulator
		anl	A, #0Bh
		add	A, B		; B-Register
		jb	ACC.1, code_A02	; Accumulator
		xrl	P6, #2		; Port 6 (PDIR=0)
		sjmp	READ_DMRV_DAD_ADC ; Чтение АЦП ДМРВ и ДАД
; ---------------------------------------------------------------------------

code_A02:				; CODE XREF: Timer1Proc_1ms+1B0j
		xrl	P6, #4		; Port 6 (PDIR=0)

READ_DMRV_DAD_ADC:			; CODE XREF: Timer1Proc_1ms+F5j
					; Timer1Proc_1ms:code_957j ...
		mov	A, RAM_32	; Чтение АЦП ДМРВ и ДАД
		inc	A
		jz	code_A7C
		jnb	SoftFlags1.6, READ_DMRV	; Чтение АЦП ДМРВ

code_A0D:				; CODE XREF: Timer1Proc_1ms+1D3j
		clr	RAM_28.3	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	ADCON1,	#1011001b ; A/D	Converter Control Register 1
		mov	ADDATL,	#0	; A/D Converter	Data Register, Low Byte

code_A15:				; CODE XREF: Timer1Proc_1ms:code_A15j
		jb	ADCON0.4, code_A15 ; A/D Converter Control Register 0
		mov	A, ADDATL	; A/D Converter	Data Register, Low Byte
		mov	B, ADDATH	; A/D Converter	Data Register, High Byte
		jbc	RAM_28.3, code_A0D ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		setb	RAM_28.3	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		clr	IEN0.7		; Interrupt Enable Register 0
		add	A, RAM_30
		mov	RAM_30,	A
		mov	A, B		; B-Register
		addc	A, RAM_31
		mov	RAM_31,	A
		mov	A, #0
		addc	A, RAM_6A
		mov	RAM_6A,	A
		inc	RAM_32
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, B		; B-Register
		mov	DPTR, #0F80Ch	; АЦП ДАД/ДМРВ
		movx	@DPTR, A
		sjmp	code_A7C
; ---------------------------------------------------------------------------

READ_DMRV:				; CODE XREF: Timer1Proc_1ms+1C0j
		clr	RAM_28.3	; Чтение АЦП ДМРВ

code_A42:				; CODE XREF: Timer1Proc_1ms+20Cj
		mov	B, #3		; B-Register
		jb	SoftFlags1.7, code_A4B ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #0		; B-Register

code_A4B:				; CODE XREF: Timer1Proc_1ms+1FBj
		mov	ADCON1,	B	; A/D Converter	Control	Register 1
		mov	ADDATL,	#0	; A/D Converter	Data Register, Low Byte

code_A51:				; CODE XREF: Timer1Proc_1ms:code_A51j
		jb	ADCON0.4, code_A51 ; A/D Converter Control Register 0
		mov	A, ADDATH	; A/D Converter	Data Register, High Byte
		jbc	RAM_28.3, code_A42 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		setb	RAM_28.3	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	DPTR, #0F80Ch	; АЦП ДАД/ДМРВ
		movx	@DPTR, A
		mov	B, A		; B-Register
		mov	DPTR, #99E0h
		movc	A, @A+DPTR
		clr	C
		clr	IEN0.7		; Interrupt Enable Register 0
		add	A, RAM_30
		xch	A, B		; B-Register
		inc	DPH		; Data Pointer,	High Byte
		movc	A, @A+DPTR
		addc	A, RAM_31
		jc	code_A7A
		mov	RAM_30,	B	; B-Register
		mov	RAM_31,	A
		inc	RAM_32

code_A7A:				; CODE XREF: Timer1Proc_1ms+227j
		setb	IEN0.7		; Interrupt Enable Register 0

code_A7C:				; CODE XREF: Timer1Proc_1ms+1BEj
					; Timer1Proc_1ms+1F4j
		jb	SoftFlags1.7, code_AE8 ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jb	RAM_2A.2, code_AB9 ; bit 0  -  (0) использовать	статическую производительность для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	A, SparkCount	; Число	дополнительных искр
		jz	code_AE8
		djnz	SparkInterval, code_AE8	; Интервал между искрами
		jb	ElectronicsParts.5, code_A93 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		jnb	P5.1, code_AAB	; Port 5 (PDIR=0)
		clr	P5.1		; Port 5 (PDIR=0)
		sjmp	code_A98
; ---------------------------------------------------------------------------

code_A93:				; CODE XREF: Timer1Proc_1ms+23Fj
		jnb	P5.2, code_AB2	; Port 5 (PDIR=0)
		clr	P5.2		; Port 5 (PDIR=0)

code_A98:				; CODE XREF: Timer1Proc_1ms+247j
		mov	DPTR, #0F978h
		movx	A, @DPTR
		swap	A
		anl	A, #0Fh
		mov	DPTR, #71C8h
		movc	A, @A+DPTR
		swap	A
		anl	A, #0Fh
		inc	A
		mov	SparkInterval, A ; Интервал между искрами
		sjmp	code_AE8
; ---------------------------------------------------------------------------

code_AAB:				; CODE XREF: Timer1Proc_1ms+242j
		setb	P5.1		; Port 5 (PDIR=0)
		djnz	SparkCount, code_ADC ; Число дополнительных искр
		sjmp	code_AE8
; ---------------------------------------------------------------------------

code_AB2:				; CODE XREF: Timer1Proc_1ms:code_A93j
		setb	P5.2		; Port 5 (PDIR=0)
		djnz	SparkCount, code_ADC ; Число дополнительных искр
		sjmp	code_AE8
; ---------------------------------------------------------------------------

code_AB9:				; CODE XREF: Timer1Proc_1ms+235j
		jnb	RAM_2A.1, code_AE6 ; bit 0  -  (0) использовать	статическую производительность для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		jb	ElectronicsParts.5, code_ACA ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		jnb	P5.1, code_AE8	; Port 5 (PDIR=0)
		anl	SETMSK,	#0FDh	; Compare Set Mask Register
		anl	CLRMSK,	#0FDh	; Compare Clear	Mask Register
		sjmp	code_AD3
; ---------------------------------------------------------------------------

code_ACA:				; CODE XREF: Timer1Proc_1ms+272j
		jnb	P5.2, code_AE8	; Port 5 (PDIR=0)
		anl	SETMSK,	#0FBh	; Compare Set Mask Register
		anl	CLRMSK,	#0FBh	; Compare Clear	Mask Register

code_AD3:				; CODE XREF: Timer1Proc_1ms+27Ej
		mov	DPTR, #6056h	; Число	дополнительных искр
		clr	A
		movc	A, @A+DPTR
		mov	SparkCount, A	; Число	дополнительных искр
		jz	code_AE6

code_ADC:				; CODE XREF: Timer1Proc_1ms+263j
					; Timer1Proc_1ms+26Aj
		mov	DPTR, #6055h	; Интервал между искрами
		clr	A
		movc	A, @A+DPTR
		swap	A
		anl	A, #0Fh
		mov	SparkInterval, A ; Интервал между искрами

code_AE6:				; CODE XREF: Timer1Proc_1ms:code_AB9j
					; Timer1Proc_1ms+290j
		clr	RAM_2A.2	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен

code_AE8:				; CODE XREF: Timer1Proc_1ms:code_A7Cj
					; Timer1Proc_1ms+23Aj ...
		inc	RAM_70
		anl	RAM_70,	#3Fh
		jnb	SoftFlags1.7, code_B00 ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jnb	SensorsParts.1,	code_B00 ; Комплектация	датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	DPTR, #0F806h
		movx	A, @DPTR
		clr	C
		rrc	A
		clr	C
		rrc	A
		cjne	A, RAM_70, code_AFE

code_AFE:				; Port 5 (PDIR=0)
		mov	P5.2, C

code_B00:				; CODE XREF: Timer1Proc_1ms+2A3j
					; Timer1Proc_1ms+2A6j
		jnb	P3.5, code_B11	; Port 3 (PDIR=0)
		jbc	ElectronicsParts.4, code_B08 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		sjmp	code_B13
; ---------------------------------------------------------------------------

code_B08:				; CODE XREF: Timer1Proc_1ms+2B9j
		mov	R0, #0ADh ; 'н'
		inc	@R0
		inc	R0
		inc	@R0
		inc	R0
		inc	@R0
		sjmp	code_B13
; ---------------------------------------------------------------------------

code_B11:				; CODE XREF: Timer1Proc_1ms:code_B00j
		setb	ElectronicsParts.4 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД

code_B13:				; CODE XREF: Timer1Proc_1ms+2BCj
					; Timer1Proc_1ms+2C5j
		mov	DPTR, #0F93Dh

code_B16:				; CODE XREF: Timer1Proc_1ms+2D0j
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		inc	DPTR
		jz	code_B16
		pop	RAM_0
		pop	DPH		; Data Pointer,	High Byte
		pop	DPL		; Data Pointer,	Low Byte
		pop	B		; B-Register
		pop	ACC		; Accumulator
		pop	PSW		; Program Status Word
		jnb	TCON.7,	code_B2D ; Timer Control Register
		setb	RAM_22.1

code_B2D:				; CODE XREF: Timer1Proc_1ms+2DEj
		reti
; End of function Timer1Proc_1ms


; =============== S U B	R O U T	I N E =======================================


IE0_0:					; CODE XREF: IE0j
		push	PSW		; Program Status Word
		push	ACC		; Accumulator
		push	B		; B-Register
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #0	; Data Pointer Select Register
		push	DPL		; Data Pointer,	Low Byte
		push	DPH		; Data Pointer,	High Byte
		mov	PSW, #8		; Program Status Word
		jb	RAM_28.2, code_B46 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		ljmp	code_CDF
; ---------------------------------------------------------------------------

code_B46:				; CODE XREF: IE0_0+12j
		clr	RAM_28.2	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		jnb	SoftFlags1.7, code_B51 ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		lcall	code_B77B
		ljmp	code_CDF
; ---------------------------------------------------------------------------

code_B51:				; CODE XREF: IE0_0+1Aj
		mov	A, DPKVCount
		mov	DPTR, #5756h
		movc	A, @A+DPTR
		mov	DPTR, #7BC7h
		movc	A, @A+DPTR
		clr	ACC.6		; Accumulator
		setb	ACC.7		; Accumulator
		lcall	code_5417
		mov	A, RAM_72
		mov	B, A		; B-Register
		mov	R4, A
		mov	A, #94h	; 'Ф'
		add	A, RAM_43
		mov	R0, A
		mov	@R0, B		; B-Register
		mov	DPTR, #0F96Eh
		mov	A, RAM_43
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		cjne	A, #0Ah, code_B7C

code_B7C:
		jc	code_B8D
		mov	A, B		; B-Register
		clr	C
		rrc	A
		mov	R0, A
		mov	A, R3
		cjne	A, RAM_8, code_B87

code_B87:
		jnc	code_B8D
		rl	A
		mov	R0, A
		sjmp	code_B8F
; ---------------------------------------------------------------------------

code_B8D:				; CODE XREF: IE0_0:code_B7Cj
					; IE0_0:code_B87j
		mov	R0, B		; B-Register

code_B8F:				; CODE XREF: IE0_0+5Dj
		mov	DPTR, #0F966h
		mov	A, RAM_43
		rl	A
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R2, A
		mov	A, R0
		lcall	code_3F22
		mov	R3, A
		mov	A, R2
		movx	@DPTR, A
		dec	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #0F96Eh
		mov	A, RAM_43
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, R3
		movx	@DPTR, A
		mov	R1, B		; B-Register
		mov	DPTR, #0F943h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	A, R3
		mul	AB
		mov	R2, A
		mov	A, B		; B-Register
		anl	A, #0F0h
		jnz	code_BCE
		mov	A, R2
		anl	A, #0F0h
		orl	A, B		; B-Register
		swap	A
		sjmp	code_BD0
; ---------------------------------------------------------------------------

code_BCE:				; CODE XREF: IE0_0+96j
		mov	A, #0FFh

code_BD0:				; CODE XREF: IE0_0+9Ej
		mov	B, A		; B-Register
		mov	DPTR, #0FFCEh
		movx	A, @DPTR
		cjne	A, B, code_BD9	; B-Register

code_BD9:
		jc	code_BDD
		mov	B, A		; B-Register

code_BDD:				; CODE XREF: IE0_0:code_BD9j
		mov	DPTR, #0F972h
		mov	A, RAM_43
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, B		; B-Register
		movx	@DPTR, A
		mov	R3, A
		jnb	RAM_26.7, code_C03
		mov	DPTR, #5F6Fh
		clr	A
		movc	A, @A+DPTR
		cjne	A, DTOG_Value, code_BF5	; Текущее значение ДТОЖ	(температура двигателя)

code_BF5:
		jnc	code_C00
		mov	DPTR, #0F965h
		movx	A, @DPTR
		cjne	A, #5, code_BFE

code_BFE:
		jc	code_C06

code_C00:				; CODE XREF: IE0_0:code_BF5j
		ljmp	code_CB3
; ---------------------------------------------------------------------------

code_C03:				; CODE XREF: IE0_0+BCj
		ljmp	code_C93
; ---------------------------------------------------------------------------

code_C06:				; CODE XREF: IE0_0:code_BFEj
		mov	A, R4
		clr	C
		rrc	A
		mov	R0, A
		mov	DPTR, #0F936h
		movx	A, @DPTR
		mov	R3, A
		cjne	A, RAM_8, code_C12

code_C12:
		jnc	code_C16
		rl	A
		mov	R4, A

code_C16:				; CODE XREF: IE0_0:code_C12j
		mov	DPTR, #0F934h
		movx	A, @DPTR
		mov	R1, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R2, A
		mov	DPTR, #5F52h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R4
		lcall	code_3EFE
		mov	DPTR, #0F936h
		movx	@DPTR, A
		mov	DPTR, #0FFCEh
		movx	@DPTR, A
		mov	DPTR, #0F934h
		mov	A, R1
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R2
		movx	@DPTR, A
		lcall	code_3E01
		lcall	code_3E7B
		mov	A, RAM_47
		rr	A
		rr	A
		rr	A
		anl	A, #3
		cjne	A, #1, code_C50
		mov	B, #2		; B-Register
		sjmp	code_C5A
; ---------------------------------------------------------------------------

code_C50:				; CODE XREF: IE0_0+11Aj
		jnc	code_C57
		mov	B, #1		; B-Register
		sjmp	code_C5A
; ---------------------------------------------------------------------------

code_C57:				; CODE XREF: IE0_0:code_C50j
		mov	B, #4		; B-Register

code_C5A:				; CODE XREF: IE0_0+120j IE0_0+127j
		mov	DPTR, #0FFCEh
		movx	A, @DPTR
		mul	AB
		mov	R0, A
		mov	A, B		; B-Register
		jz	code_C66
		mov	R0, #0FFh

code_C66:				; CODE XREF: IE0_0+134j
		mov	A, R0
		mov	DPTR, #0F9AAh
		movx	@DPTR, A
		swap	A
		rl	A
		anl	A, #1Fh
		mov	DPTR, #0F9ABh
		movx	@DPTR, A
		mov	DPTR, #8F2Ah
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0FFCEh
		movx	A, @DPTR
		mul	AB
		mov	R2, A
		mov	A, B		; B-Register
		anl	A, #0F0h
		jnz	code_C8D
		mov	A, R2
		anl	A, #0F0h
		orl	A, B		; B-Register
		swap	A
		sjmp	code_C8F
; ---------------------------------------------------------------------------

code_C8D:				; CODE XREF: IE0_0+155j
		mov	A, #0FFh

code_C8F:				; CODE XREF: IE0_0+15Dj
		mov	RAM_4F,	A
		sjmp	code_CB3
; ---------------------------------------------------------------------------

code_C93:				; CODE XREF: IE0_0:code_C03j
		clr	A
		mov	DPTR, #0F965h
		movx	@DPTR, A
		mov	DPTR, #0F937h
		movx	A, @DPTR
		setb	C
		subb	A, R1
		jc	code_CAB
		mov	A, R3
		subb	A, R1
		jnc	code_CB3
		mov	A, RAM_4F
		clr	C
		rrc	A
		subb	A, R1
		jnc	code_CB3

code_CAB:				; CODE XREF: IE0_0+170j
		mov	A, RAM_43
		mov	DPTR, #3DF1h
		movc	A, @A+DPTR
		orl	RAM_71,	A

code_CB3:				; CODE XREF: IE0_0:code_C00j
					; IE0_0+163j ...
		mov	A, RAM_47
		setb	ACC.7		; Accumulator
		setb	ACC.6		; Accumulator
		clr	ACC.5		; Accumulator
		lcall	code_53F2
		lcall	code_5592
		mov	A, #1
		jb	ElectronicsParts.0, code_CCA ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		mov	DPTR, #0F93Bh
		movx	A, @DPTR

code_CCA:				; CODE XREF: IE0_0+195j
		clr	ACC.7		; Accumulator
		setb	ACC.6		; Accumulator
		lcall	code_5422
		lcall	code_5592
		mov	DPTR, #0F93Bh
		movx	A, @DPTR
		clr	ACC.7		; Accumulator
		clr	ACC.6		; Accumulator
		lcall	code_5422

code_CDF:				; CODE XREF: IE0_0+15j	IE0_0+20j
		jb	RAM_28.0, code_CE5 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		ljmp	code_176B
; ---------------------------------------------------------------------------

code_CE5:				; CODE XREF: IE0_0:code_CDFj
		clr	RAM_28.0	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	A, RAM_61
		mov	DPTR, #0F905h
		movx	@DPTR, A
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	R2, RAM_38
		mov	R3, RAM_39
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, R2
		orl	A, R3
		jz	code_D20
		mov	MD0, #48h ; 'H' ; Multiplication/Division Register 0
		mov	MD1, #0E8h ; 'ш' ; Multiplication/Division Register 1
		mov	MD2, #1		; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, R2		; Multiplication/Division Register 4
		mov	MD5, R3		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R2, MD0		; Multiplication/Division Register 0
		mov	R3, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		mov	A, R3
		jz	code_D20
		mov	R2, #0FFh

code_D20:				; CODE XREF: IE0_0+1C9j IE0_0+1EEj
		mov	A, R2
		mov	DPTR, #0F8ABh
		movx	@DPTR, A
		mov	DPKVCount, A
		mov	DPTR, #613Ch
		mov	A, DPKVCount
		movc	A, @A+DPTR
		mov	RPM, A
		add	A, #4
		swap	A
		rl	A
		anl	A, #1Fh
		mov	RPM_RT,	A
		jb	SoftFlags1.6, code_D3D ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		ljmp	code_F8E	; Работа по ДМРВ
; ---------------------------------------------------------------------------

code_D3D:				; CODE XREF: IE0_0+209j
		mov	B, #1		; B-Register
		jb	SoftFlags1.7, code_D46 ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #3		; B-Register

code_D46:				; CODE XREF: IE0_0+212j
		lcall	Read_AD
		mov	B, A		; B-Register
		setb	RAM_28.3	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	DPTR, #0F827h	; Похоже на напряжение нуля дросселя
		movx	A, @DPTR
		xch	A, B		; B-Register
		clr	C
		subb	A, B		; В А текущее напряжение ДПДЗ
		jc	code_D6B	; Переход если нулевой дроссель
		mov	B, A		; B-Register
		mov	DPTR, #6068h	; Коэффициент тарировки	ДПДЗ
		clr	A
		movc	A, @A+DPTR
		mul	AB		; Текущее положение дросселя, %
		mov	A, B		; B-Register
		cjne	A, #100, code_D65

code_D65:				; Переход если не 100% дросселя
		jc	code_D6C
		mov	A, #100
		sjmp	code_D6C
; ---------------------------------------------------------------------------

code_D6B:				; CODE XREF: IE0_0+228j
		clr	A

code_D6C:				; CODE XREF: IE0_0:code_D65j
					; IE0_0+23Bj
		mov	DPTR, #0F907h
		movx	@DPTR, A
		mov	DPTR, #5F05h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.1, code_D7B	; Accumulator
		ljmp	code_EA8	; БЦН рассчитывать по ДМРВ или ДАД+ДТВ
; ---------------------------------------------------------------------------

code_D7B:				; CODE XREF: IE0_0+247j
		jnb	ACC.0, code_D81	; Accumulator
		lcall	code_B061

code_D81:				; CODE XREF: IE0_0:code_D7Bj
		mov	DPTR, #0F907h
		movx	A, @DPTR
		mov	DPTR, #7208h
		movc	A, @A+DPTR
		mov	R3, A
		mov	R2, RAM_65
		mov	DPTR, #9318h
		lcall	GetTable3DCell
		push	ACC		; Accumulator
		mov	DPTR, #0F907h
		movx	A, @DPTR
		mov	DPTR, #7208h
		movc	A, @A+DPTR
		mov	R3, A
		mov	R2, RPM
		mov	DPTR, #5F13h
		clr	A
		movc	A, @A+DPTR
		jnb	ACC.2, code_DAF	; Accumulator
		mov	DPTR, #726Dh	; БЦН 32х16
		lcall	Get32x16Table3DCell
		sjmp	code_DB5
; ---------------------------------------------------------------------------

code_DAF:				; CODE XREF: IE0_0+276j
		mov	DPTR, #75EFh
		lcall	GetTable3DCell

code_DB5:				; CODE XREF: IE0_0+27Fj
		mov	B, #20h	; ' '   ; B-Register
		mul	AB
		mov	R0, A
		mov	R1, B		; B-Register
		pop	ACC		; Accumulator
		mov	B, #8		; B-Register
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		mov	R1, A
		jnb	SensorsParts.4,	code_DF3 ; Комплектация	датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	DPTR, #0F98Dh
		movx	A, @DPTR
		add	A, #80h	; 'А'
		mov	B, A		; B-Register
		mov	A, #0
		addc	A, #1
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD4, B		; Multiplication/Division Register 4
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD5, A		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	R0, MD1		; Multiplication/Division Register 1
		mov	R1, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		rrc	A
		mov	A, R1
		rrc	A
		mov	R1, A
		mov	A, R0
		rrc	A
		mov	R0, A

code_DF3:				; CODE XREF: IE0_0+29Aj
		mov	DPTR, #5E5Dh	; Мультипликативный коэфф. пересчета АД-ЦН по температуре
		mov	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		lcall	Get2D_DTOG_Argument
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD4, A		; Multiplication/Division Register 4
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	R0, MD1		; Multiplication/Division Register 1
		mov	R1, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	DPTR, #5F05h
		clr	A
		movc	A, @A+DPTR
		jnb	ACC.0, code_E55	; Accumulator
		jb	RAM_23_ErrorMask2.6, code_E55 ;	0 bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		jb	RAM_24_ErrorMask3.6, code_E55 ;	0 bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		mov	MD0, DAD_ADC_LOW ; Multiplication/Division Register 0
		mov	MD4, R0		; Multiplication/Division Register 4
		mov	MD1, DAD_ADC_HI	; Multiplication/Division Register 1
		mov	MD5, R1		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	R2, MD2		; Multiplication/Division Register 2
		mov	R3, MD3		; Multiplication/Division Register 3
		nop
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD2, R2		; Multiplication/Division Register 2
		mov	MD3, R3		; Multiplication/Division Register 3
		mov	MD4, #10h	; Multiplication/Division Register 4
		mov	MD5, #27h ; ''' ; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5

code_E55:				; CODE XREF: IE0_0+2E7j IE0_0+2EAj ...
		mov	DPTR, #0F82Eh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	MD0, #0E8h ; 'ш' ; Multiplication/Division Register 0
		mov	MD4, R0		; Multiplication/Division Register 4
		mov	MD1, #3		; Multiplication/Division Register 1
		mov	MD5, R1		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	R2, MD2		; Multiplication/Division Register 2
		mov	R3, MD3		; Multiplication/Division Register 3
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	A, RAM_38
		mov	B, RAM_39	; B-Register
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD2, R2		; Multiplication/Division Register 2
		mov	MD3, R3		; Multiplication/Division Register 3
		mov	MD4, A		; Multiplication/Division Register 4
		mov	MD5, B		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		ljmp	code_1196
; ---------------------------------------------------------------------------

code_EA8:				; CODE XREF: IE0_0+24Aj
		lcall	code_B061	; БЦН рассчитывать по ДМРВ или ДАД+ДТВ
		mov	DPTR, #0F907h
		movx	A, @DPTR
		mov	DPTR, #7208h
		movc	A, @A+DPTR
		mov	R3, A
		mov	R2, RPM
		mov	DPTR, #5F13h
		clr	A
		movc	A, @A+DPTR
		jnb	ACC.0, code_EC6	; Accumulator
		mov	DPTR, #9518h
		lcall	Get32x16Table3DCell
		sjmp	code_ECC
; ---------------------------------------------------------------------------

code_EC6:				; CODE XREF: IE0_0+38Dj
		mov	DPTR, #9218h
		lcall	GetTable3DCell

code_ECC:				; CODE XREF: IE0_0+396j
		mov	B, A		; B-Register
		jnb	ElectronicsParts.7, code_F0D_calc_CGBC ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		push	B		; B-Register
		mov	DPTR, #0F9A0h	; Текущее значение давления (ДАД)
		movx	A, @DPTR
		mov	R3, A
		mov	DPTR, #8E2Ah	; Поправка циклового наполнения	(ДАД)
		mov	R2, RPM
		lcall	GetTable3DCell
		mov	B, A		; B-Register
		mov	DPTR, #0F99Eh	; Давление в предыдущем	цикле (ДАД)
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	A, B		; B-Register
		add	A, #64
		mov	B, A		; B-Register
		clr	A
		addc	A, #0
		mov	MD0, B		; Multiplication/Division Register 0
		mov	MD4, R0		; Multiplication/Division Register 4
		mov	MD1, A		; Multiplication/Division Register 1
		mov	MD5, R1		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	R0, MD1		; Multiplication/Division Register 1
		mov	R1, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		pop	B		; B-Register
		sjmp	code_F16
; ---------------------------------------------------------------------------

code_F0D_calc_CGBC:			; CODE XREF: IE0_0+3A0j
		mov	DPTR, #0F99Eh	; Давление в предыдущем	цикле (ДАД)
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A

code_F16:				; CODE XREF: IE0_0+3DDj
		mov	A, B		; B-Register
		add	A, #40h	; '@'
		mov	B, A		; B-Register
		clr	A
		addc	A, #0
		mov	MD0, B		; Multiplication/Division Register 0
		mov	MD4, R0		; Multiplication/Division Register 4
		mov	MD1, A		; Multiplication/Division Register 1
		mov	MD5, R1		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	R0, MD1		; Multiplication/Division Register 1
		mov	R1, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		clr	C
		mov	A, R1
		rrc	A
		mov	R1, A
		mov	A, R0
		rrc	A
		mov	R0, A
		mov	DPTR, #0F82Eh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	MD0, #0E8h ; 'ш' ; Multiplication/Division Register 0
		mov	MD4, R0		; Multiplication/Division Register 4
		mov	MD1, #3		; Multiplication/Division Register 1
		mov	MD5, R1		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	R2, MD2		; Multiplication/Division Register 2
		mov	R3, MD3		; Multiplication/Division Register 3
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	A, RAM_38
		mov	B, RAM_39	; B-Register
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD2, R2		; Multiplication/Division Register 2
		mov	MD3, R3		; Multiplication/Division Register 3
		mov	MD4, A		; Multiplication/Division Register 4
		mov	MD5, B		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		ljmp	code_1196
; ---------------------------------------------------------------------------

code_F8E:				; CODE XREF: IE0_0+20Cj
		lcall	code_B067	; Работа по ДМРВ
		mov	A, RAM_33
		jnz	code_F98
		ljmp	code_FFB
; ---------------------------------------------------------------------------

code_F98:				; CODE XREF: IE0_0+465j
		mov	MD0, RAM_34	; Multiplication/Division Register 0
		mov	MD1, RAM_35	; Multiplication/Division Register 1
		mov	MD4, RAM_33	; Multiplication/Division Register 4
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		jb	RAM_29.4, code_FE0 ; 0 bit флаг	запуска	главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		clr	C		; Вычитаем 1000
		mov	A, R0
		subb	A, #0E8h
		mov	R0, A
		mov	A, R1
		subb	A, #3
		jnc	code_FBF
		clr	A
		mov	R0, A

code_FBF:				; CODE XREF: IE0_0+48Dj
		mov	R1, A
		mov	A, R1
		jnz	code_FF0
		jb	RAM_2A.3, code_FF0 ; bit 0  -  (0) использовать	статическую производительность для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #6062h	; Минимальный расход воздуха для диагностики ДМРВ
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R0
		clr	C
		mov	RAM_23_ErrorMask2.6, C ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		subb	A, B		; B-Register
		jnc	code_FF0
		mov	DPTR, #0F80Ch	; АЦП ДАД/ДМРВ
		movx	A, @DPTR
		clr	C
		subb	A, #7
		mov	RAM_23_ErrorMask2.6, C ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.6 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)

code_FE0:				; CODE XREF: IE0_0+482j
		mov	R0, #0
		mov	R1, #0
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		ljmp	code_FFB
; ---------------------------------------------------------------------------

code_FF0:				; CODE XREF: IE0_0+493j IE0_0+495j ...
		clr	RAM_23_ErrorMask2.6 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A

code_FFB:				; CODE XREF: IE0_0+467j IE0_0+4BFj
		jb	RAM_28.5, code_1046 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	C, RAM_23_ErrorMask2.5 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.5 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jc	code_1046
		mov	DPTR, #0F907h
		movx	A, @DPTR
		mov	R2, A
		mov	B, #1		; B-Register
		jb	SoftFlags1.7, code_1012	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #3		; B-Register

code_1012:				; CODE XREF: IE0_0+4DEj
		lcall	Read_AD		; Чтение АЦП ДПДЗ
		mov	B, A		; B-Register
		setb	RAM_28.3	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	DPTR, #0F827h
		movx	A, @DPTR
		xch	A, B		; B-Register
		clr	C
		subb	A, B		; B-Register
		jc	code_1037
		mov	B, A		; B-Register
		mov	DPTR, #6068h
		clr	A
		movc	A, @A+DPTR
		mul	AB
		mov	A, B		; B-Register
		cjne	A, #64h, code_1031 ; 'd'

code_1031:
		jc	code_1038
		mov	A, #64h	; 'd'
		sjmp	code_1038
; ---------------------------------------------------------------------------

code_1037:				; CODE XREF: IE0_0+4F4j
		clr	A

code_1038:				; CODE XREF: IE0_0:code_1031j
					; IE0_0+507j
		mov	DPTR, #0F907h
		movx	@DPTR, A
		clr	C
		subb	A, R2
		lcall	code_47D3
		cjne	A, #2, code_1044

code_1044:
		jc	code_1050

code_1046:				; CODE XREF: IE0_0:code_FFBj
					; IE0_0+4D4j
		clr	A
		mov	DPTR, #0F989h
		movx	@DPTR, A
		mov	DPTR, #5F71h
		sjmp	code_1064
; ---------------------------------------------------------------------------

code_1050:				; CODE XREF: IE0_0:code_1044j
		mov	DPTR, #5F72h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F989h
		movx	A, @DPTR
		inc	A
		cjne	A, B, code_105F	; B-Register

code_105F:
		jc	code_1069
		mov	DPTR, #6074h

code_1064:				; CODE XREF: IE0_0+520j
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F949h

code_1069:				; CODE XREF: IE0_0:code_105Fj
		movx	@DPTR, A
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #6063h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		jz	code_1085
		clr	C
		subb	A, B		; B-Register
		cpl	C
		mov	RAM_24_ErrorMask3.6, C ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		sjmp	code_1087
; ---------------------------------------------------------------------------

code_1085:				; CODE XREF: IE0_0+54Dj
		clr	RAM_24_ErrorMask3.6 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)

code_1087:				; CODE XREF: IE0_0+555j
		mov	C, RAM_23_ErrorMask2.6 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.6 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jnc	code_10D9
		mov	C, RAM_23_ErrorMask2.5 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.5 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jc	code_10B7
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		mov	R3, A
		mov	DPTR, #75EFh
		mov	R2, RPM
		lcall	GetTable3DCell
		mov	R0, A
		mov	DPTR, #5E5Dh	; Мультипликативный коэфф. пересчета АД-ЦН по температуре
		mov	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		lcall	Get2D_DTOG_Argument
		mov	B, R0		; B-Register
		mul	AB
		mov	R0, A
		mov	R1, B		; B-Register
		lcall	DIV_R0R1_8
		ljmp	code_118D
; ---------------------------------------------------------------------------

code_10B7:				; CODE XREF: IE0_0+563j
		mov	DPTR, #5E5Dh	; Мультипликативный коэфф. пересчета АД-ЦН по температуре
		mov	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		lcall	Get2D_DTOG_Argument
		mov	B, A		; B-Register
		mov	DPTR, #60DFh
		clr	A
		movc	A, @A+DPTR
		mul	AB
		mov	R0, A
		mov	R1, B		; B-Register
		lcall	DIV_R0R1_8
		lcall	DIV_R0R1_8
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A

code_10D9:				; CODE XREF: IE0_0+55Dj
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	A, RAM_38
		mov	B, RAM_39	; B-Register
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	MD0, A		; Multiplication/Division Register 0
		mov	MD4, R0		; Multiplication/Division Register 4
		mov	MD1, B		; Multiplication/Division Register 1
		mov	MD5, R1		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	R2, MD2		; Multiplication/Division Register 2
		mov	R3, MD3		; Multiplication/Division Register 3
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD2, R2		; Multiplication/Division Register 2
		mov	MD3, R3		; Multiplication/Division Register 3
		mov	MD4, #0E8h ; 'ш' ; Multiplication/Division Register 4
		mov	MD5, #3		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		jnb	RAM_29.3, code_114E ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F82Ch
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	SUB_R0R1_R2R3
		jb	RAM_2B.1, code_1138 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #0F949h
		movx	A, @DPTR
		sjmp	code_113D
; ---------------------------------------------------------------------------

code_1138:				; CODE XREF: IE0_0+601j
		mov	DPTR, #60E4h
		clr	A
		movc	A, @A+DPTR

code_113D:				; CODE XREF: IE0_0+608j
		mov	B, A		; B-Register
		lcall	MUL_NEG_R0R1_B
		mov	DPTR, #0F82Ch
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	ADD_R0R1_R2R3

code_114E:				; CODE XREF: IE0_0+5F2j
		mov	DPTR, #0F82Ch
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #6072h
		mov	A, #1
		movc	A, @A+DPTR
		mov	R3, A
		clr	A
		movc	A, @A+DPTR
		mov	R2, A
		lcall	code_46FE
		mov	DPTR, #0F8BCh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		mov	R3, A
		mov	DPTR, #7CF7h
		mov	R2, RPM
		lcall	GetTable3DCell
		mov	B, A		; B-Register
		mov	DPTR, #0F8BCh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	MUL_R0R1_B
		lcall	code_4745

code_118D:				; CODE XREF: IE0_0+586j
		mov	DPTR, #0F82Eh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A

code_1196:				; CODE XREF: IE0_0+377j IE0_0+45Dj
		jb	RAM_2A.3, code_119C ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		jnb	RAM_28.5, code_119F ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации

code_119C:				; CODE XREF: IE0_0:code_1196j
		ljmp	code_1284
; ---------------------------------------------------------------------------

code_119F:				; CODE XREF: IE0_0+66Bj
		mov	DPTR, #0F907h
		movx	A, @DPTR
		mov	DPTR, #7208h
		movc	A, @A+DPTR
		mov	R3, A
		mov	DPTR, #75EFh
		mov	R2, RPM
		lcall	GetTable3DCell
		mov	R2, A
		mov	R0, #9Ch ; 'Ь'
		xch	A, @R0
		inc	R0
		xch	A, @R0
		inc	R0
		xch	A, @R0
		inc	R0
		xch	A, @R0
		mov	B, #0		; B-Register

code_11BD:				; CODE XREF: IE0_0+69Cj
		mov	A, R2
		clr	C
		subb	A, @R0
		jc	code_11C9
		cjne	A, B, code_11C5	; B-Register

code_11C5:
		jc	code_11C9
		mov	B, A		; B-Register

code_11C9:				; CODE XREF: IE0_0+692j
					; IE0_0:code_11C5j
		dec	R0
		cjne	R0, #9Ch, code_11BD ; 'Ь'
		mov	R1, B		; B-Register
		mov	DPTR, #0F907h
		movx	A, @DPTR
		mov	R2, A
		mov	R0, #0A0h ; 'а'
		xch	A, @R0
		inc	R0
		xch	A, @R0
		inc	R0
		xch	A, @R0
		inc	R0
		xch	A, @R0
		mov	B, #0		; B-Register

code_11E0:				; CODE XREF: IE0_0+6BFj
		mov	A, R2
		clr	C
		subb	A, @R0
		jc	code_11EC
		cjne	A, B, code_11E8	; B-Register

code_11E8:
		jc	code_11EC
		mov	B, A		; B-Register

code_11EC:				; CODE XREF: IE0_0+6B5j
					; IE0_0:code_11E8j
		dec	R0
		cjne	R0, #0A0h, code_11E0 ; 'а'
		mov	DPTR, #5E84h
		mov	A, RPM_RT
		movc	A, @A+DPTR
		cjne	A, B, code_11F9	; B-Register

code_11F9:
		jnc	code_1252
		mov	B, R1		; B-Register
		mov	DPTR, #8393h	; Экстраполирующий коэффициент пересчета GBC
					; (Ускорительный насос по дросселю)
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mul	AB
		mov	R0, A
		mov	R1, B		; B-Register
		lcall	DIV_R0R1_4
		jnb	SensorsParts.4,	code_123D ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	DPTR, #5F05h
		clr	A
		movc	A, @A+DPTR
		jnb	ACC.7, code_123D ; Accumulator
		mov	DPTR, #0F98Dh
		movx	A, @DPTR
		add	A, #80h	; 'А'
		mov	B, A		; B-Register
		mov	A, #0
		addc	A, #1
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD4, B		; Multiplication/Division Register 4
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD5, A		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	R0, MD1		; Multiplication/Division Register 1
		mov	R1, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		rrc	A
		mov	A, R1
		rrc	A
		mov	R1, A
		mov	A, R0
		rrc	A
		mov	R0, A

code_123D:				; CODE XREF: IE0_0+6DCj IE0_0+6E4j
		mov	DPTR, #0F97Bh
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		clr	C
		mov	A, R0
		subb	A, R2
		mov	A, R1
		subb	A, R3
		jnc	code_1270
		mov	DPTR, #80BEh
		sjmp	code_1259
; ---------------------------------------------------------------------------

code_1252:				; CODE XREF: IE0_0:code_11F9j
		mov	A, CurrentCylinder ; Текущая форсунка (цилиндр)
		jnz	code_1279
		mov	DPTR, #809Eh

code_1259:				; CODE XREF: IE0_0+722j
		jnb	RAM_2E.2, code_125F
		mov	DPTR, #80FEh

code_125F:				; CODE XREF: IE0_0:code_1259j
		mov	A, RPM_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F97Bh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	MUL_R0R1_B

code_1270:				; CODE XREF: IE0_0+71Dj
		mov	DPTR, #0F97Bh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A

code_1279:				; CODE XREF: IE0_0+726j
		jb	RAM_2E.2, code_128C
		jnb	SoftFlags1.6, code_128C	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		lcall	code_B24C
		sjmp	code_1294
; ---------------------------------------------------------------------------

code_1284:				; CODE XREF: IE0_0:code_119Cj
		clr	A
		mov	DPTR, #0F97Bh
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	@DPTR, A

code_128C:				; CODE XREF: IE0_0:code_1279j
					; IE0_0+74Ej
		clr	A
		mov	DPTR, #0F9C9h
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	@DPTR, A

code_1294:				; CODE XREF: IE0_0+754j
		jb	RAM_2A.6, code_129A ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		ljmp	code_174E
; ---------------------------------------------------------------------------

code_129A:				; CODE XREF: IE0_0:code_1294j
		jb	RAM_2A.5, code_12A0 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		ljmp	code_1393
; ---------------------------------------------------------------------------

code_12A0:				; CODE XREF: IE0_0:code_129Aj
		mov	DPTR, #0F89Eh
		movx	A, @DPTR
		inc	A
		jz	code_12A8
		movx	@DPTR, A

code_12A8:				; CODE XREF: IE0_0+777j
		mov	DPTR, #710Bh
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	R0, #0
		mov	R1, A
		mov	DPTR, #8A99h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, #4		; B-Register
		div	AB
		mov	DPTR, #7132h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		add	A, #8
		anl	A, #0F0h
		swap	A
		mov	DPTR, #7A77h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	DPTR, #973Fh
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	DPTR, #0F89Bh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #710Bh
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	R0, #0
		mov	R1, A
		lcall	code_B025
		mov	DPTR, #7132h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		add	A, #8
		anl	A, #0F0h
		swap	A
		mov	DPTR, #7A77h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	DPTR, #0F89Eh
		movx	A, @DPTR
		cjne	A, #3Fh, code_131C ; '?'

code_131C:
		jc	code_1320
		mov	A, #3Fh	; '?'

code_1320:				; CODE XREF: IE0_0:code_131Cj
		mov	DPTR, #9766h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		jnb	RAM_2A.1, code_1385 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #6059h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F829h
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_1341
		clr	A
		mov	DPTR, #0F829h
		movx	@DPTR, A

code_1341:				; CODE XREF: IE0_0+80Cj
		mov	DPTR, #6058h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F829h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		dec	A
		clr	C
		subb	A, B		; B-Register
		jnc	code_1385
		mov	DPTR, #7179h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	R0, #0
		mov	R1, A
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		add	A, #8
		anl	A, #0F0h
		swap	A
		mov	DPTR, #7A77h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	DPTR, #0F89Eh
		movx	A, @DPTR
		cjne	A, #3Fh, code_1378 ; '?'

code_1378:
		jc	code_137C
		mov	A, #3Fh	; '?'

code_137C:				; CODE XREF: IE0_0:code_1378j
		mov	DPTR, #9766h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B

code_1385:				; CODE XREF: IE0_0+7FBj IE0_0+824j
		mov	DPTR, #0F837h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		setb	RAM_2A.0	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		ljmp	code_14A9
; ---------------------------------------------------------------------------

code_1393:				; CODE XREF: IE0_0+76Fj
		mov	DPTR, #0F94Eh	; Текущие обороты блокировки впрыска
		movx	A, @DPTR
		clr	C
		subb	A, DPKVCount
		jnc	code_13A1
		mov	RAM_75,	#0
		sjmp	code_13A6
; ---------------------------------------------------------------------------

code_13A1:				; CODE XREF: IE0_0+86Cj
		mov	RAM_75,	A
		jnb	RAM_2B.3, code_13B3 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода

code_13A6:				; CODE XREF: IE0_0+871j
		clr	A
		mov	R0, A
		mov	R1, A
		mov	DPTR, #0F987h
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	@DPTR, A
		ljmp	code_154F
; ---------------------------------------------------------------------------

code_13B3:				; CODE XREF: IE0_0+875j
		mov	DPTR, #0F82Eh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	A, RAM_61
		add	A, #80h	; 'А'
		mov	B, A		; B-Register
		clr	A
		addc	A, #0
		mov	MD0, #0		; Multiplication/Division Register 0
		mov	MD1, R0		; Multiplication/Division Register 1
		mov	MD2, R1		; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, B		; Multiplication/Division Register 4
		mov	MD5, A		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		mov	DPTR, #0F837h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #0F89Bh
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	SUB_R0R1_R2R3
		jnc	code_1406
		mov	DPTR, #0F837h
		mov	A, R2
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R3
		movx	@DPTR, A

code_1406:				; CODE XREF: IE0_0+8CDj
		mov	DPTR, #0F939h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #0F987h
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	ADD_R0R1_R2R3
		mov	DPTR, #0F939h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		jnb	RAM_2A.0, code_142D ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	R3, #7
		mov	R2, #4Dh ; 'M'
		sjmp	code_1431
; ---------------------------------------------------------------------------

code_142D:				; CODE XREF: IE0_0+8F6j
		mov	R3, #0Fh
		mov	R2, #7Ch ; '|'

code_1431:				; CODE XREF: IE0_0+8FDj
		lcall	SUB_R0R1_R2R3
		jc	code_1482
		mov	DPTR, #0F939h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		jb	SoftFlags1.7, code_1461	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		anl	CMEN, #0DFh	; Compare Enable Register (RMAP=0)
		clr	IEN0.7		; Interrupt Enable Register 0
		setb	P4.5		; Port 4 (PDIR=0)
		mov	CCL1, A		; Compare/Capture Register 1, Low Byte
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, CCL1		; Compare/Capture Register 1, Low Byte
		add	A, #94h	; 'Ф'
		mov	R2, A
		mov	A, CCH1		; Compare/Capture Register 1, High Byte
		addc	A, #0
		mov	CMH5, A		; Compare Register 5, High Byte	(RMAP=0)
		mov	CML5, R2	; Compare Register 5, Low Byte (RMAP=0)
		orl	CMEN, #20h	; Compare Enable Register (RMAP=0)
		clr	P4.5		; Port 4 (PDIR=0)
		sjmp	code_1482
; ---------------------------------------------------------------------------

code_1461:				; CODE XREF: IE0_0+911j
		anl	CLRMSK,	#0FDh	; Compare Clear	Mask Register
		mov	CC4EN, #0Fh	; Compare/Capture 4 Enable Register
		clr	IEN0.7		; Interrupt Enable Register 0
		setb	P5.1		; Port 5 (PDIR=0)
		mov	CCL4, A		; Compare/Capture Register 4, Low Byte
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, CCL4		; Compare/Capture Register 4, Low Byte
		add	A, #94h	; 'Ф'
		mov	R2, A
		mov	A, CCH4		; Compare/Capture Register 4, High Byte
		addc	A, #0
		mov	COMCLRH, A	; Compare Clear	Register, High Byte
		mov	COMCLRL, R2	; Compare Clear	Register, Low Byte
		mov	CC4EN, #98h ; 'Ш' ; Compare/Capture 4 Enable Register
		orl	CLRMSK,	#2	; Compare Clear	Mask Register

code_1482:				; CODE XREF: IE0_0+906j IE0_0+931j
		mov	DPTR, #0F837h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #0F97Bh
		movx	A, @DPTR
		mov	R2, A
		inc	DPTR
		movx	A, @DPTR
		mov	R3, A
		lcall	ADD_R0R1_R2R3
		mov	DPTR, #0F9C9h
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	ADD_R0R1_R2R3
		mov	A, R0
		orl	A, R1
		jnz	code_14A9
		ljmp	code_153C
; ---------------------------------------------------------------------------

code_14A9:				; CODE XREF: IE0_0+862j IE0_0+976j
		jnb	RAM_2A.0, code_14B3 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	C
		mov	A, R1
		rrc	A
		mov	R1, A
		mov	A, R0
		rrc	A
		mov	R0, A

code_14B3:				; CODE XREF: IE0_0:code_14A9j
		mov	RAM_A, RAM_8
		mov	RAM_B, RAM_9
		mov	B, RAM_6F	; B-Register
		cpl	B.7		; B-Register
		lcall	MUL_R0R1_B
		mov	A, RAM_6F
		jnb	ACC.7, code_14CF ; Accumulator
		lcall	ADD_R0R1_R2R3
		jnc	code_14CF
		mov	R0, #0FFh
		mov	R1, #0FFh

code_14CF:				; CODE XREF: IE0_0+995j IE0_0+99Bj
		mov	DPTR, #0F987h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #5F0Ah
		clr	A
		movc	A, @A+DPTR
		jnb	ACC.0, code_150E ; Accumulator
		mov	DPTR, #0F9A0h	; Текущее значение давления (ДАД)
		movx	A, @DPTR
		mov	DPTR, #6DA7h
		lcall	code_4977
		add	A, #128
		mov	B, A		; B-Register
		mov	A, #0
		addc	A, #1
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD4, B		; Multiplication/Division Register 4
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD5, A		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	R0, MD1		; Multiplication/Division Register 1
		mov	R1, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		rrc	A
		mov	A, R1
		rrc	A
		mov	R1, A
		mov	A, R0
		rrc	A
		mov	R0, A

code_150E:				; CODE XREF: IE0_0+9AFj
		jb	RAM_2A.0, code_1518 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #5FF7h	; Статическая производительность отдельно по форсункам
		mov	A, CurrentCylinder ; Текущая форсунка (цилиндр)
		sjmp	code_151C
; ---------------------------------------------------------------------------

code_1518:				; CODE XREF: IE0_0:code_150Ej
		mov	DPTR, #6057h	; Статическая производительность форсунки
		clr	A

code_151C:				; CODE XREF: IE0_0+9E8j
		movc	A, @A+DPTR
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD4, A		; Multiplication/Division Register 4
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	R0, MD1		; Multiplication/Division Register 1
		mov	R1, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	DPTR, #0F8B8h
		movx	A, @DPTR
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A

code_153C:				; CODE XREF: IE0_0+978j
		setb	C
		mov	DPTR, #5FA8h
		clr	A
		movc	A, @A+DPTR
		mov	R2, A
		subb	A, R0
		mov	A, #1
		movc	A, @A+DPTR
		mov	R3, A
		subb	A, R1
		jc	code_154F
		mov	A, R2
		mov	R0, A
		mov	A, R3
		mov	R1, A

code_154F:				; CODE XREF: IE0_0+882j IE0_0+A1Bj
		mov	DPTR, #0F909h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	MD0, #0		; Multiplication/Division Register 0
		mov	MD1, R0		; Multiplication/Division Register 1
		mov	MD2, R1		; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, #0C0h ; '└' ; Multiplication/Division Register 4
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		mov	A, R0
		orl	A, R1
		jnz	code_1591
		ljmp	code_162D
; ---------------------------------------------------------------------------
		db    2
		db    1
		db    4
		db    8
		db    6
		db    9
		db    6
		db    9
		db    2
		db    4
		db    1
		db    8
		db    3
		db  0Ch
		db    3
		db  0Ch
; ---------------------------------------------------------------------------

code_1591:				; CODE XREF: IE0_0+A4Ej
		mov	A, CurrentCylinder ; Текущая форсунка (цилиндр)
		mov	C, RAM_2A.0	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	ACC.2, C	; Accumulator
		mov	C, SoftFlags1.7	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	ACC.3, C	; Accumulator
		mov	DPTR, #1581h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		jnb	B.0, code_15C4	; B-Register
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jb	ACC.0, code_15C4 ; Accumulator
		anl	CMEN, #0FEh	; Compare Enable Register (RMAP=0)
		clr	IEN0.7		; Interrupt Enable Register 0
		clr	P4.0		; Port 4 (PDIR=0)
		mov	CCL1, A		; Compare/Capture Register 1, Low Byte
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, CCL1		; Compare/Capture Register 1, Low Byte
		add	A, R0
		mov	R2, A
		mov	A, CCH1		; Compare/Capture Register 1, High Byte
		addc	A, R1
		mov	CMH0, A		; Compare Register 0, High Byte	(RMAP=0)
		mov	CML0, R2	; Compare Register 0, Low Byte (RMAP=0)
		orl	CMEN, #1	; Compare Enable Register (RMAP=0)
		setb	P4.0		; Port 4 (PDIR=0)

code_15C4:				; CODE XREF: IE0_0+A73j IE0_0+A78j
		jnb	B.1, code_15E7	; B-Register
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jb	ACC.1, code_15E7 ; Accumulator
		anl	CMEN, #0FDh	; Compare Enable Register (RMAP=0)
		clr	IEN0.7		; Interrupt Enable Register 0
		clr	P4.1		; Port 4 (PDIR=0)
		mov	CCL1, A		; Compare/Capture Register 1, Low Byte
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, CCL1		; Compare/Capture Register 1, Low Byte
		add	A, R0
		mov	R2, A
		mov	A, CCH1		; Compare/Capture Register 1, High Byte
		addc	A, R1
		mov	CMH1, A		; Compare Register 1, High Byte	(RMAP=0)
		mov	CML1, R2	; Compare Register 1, Low Byte (RMAP=0)
		orl	CMEN, #2	; Compare Enable Register (RMAP=0)
		setb	P4.1		; Port 4 (PDIR=0)

code_15E7:				; CODE XREF: IE0_0:code_15C4j
					; IE0_0+A9Bj
		jnb	B.2, code_160A	; B-Register
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jb	ACC.2, code_160A ; Accumulator
		anl	CMEN, #0FBh	; Compare Enable Register (RMAP=0)
		clr	IEN0.7		; Interrupt Enable Register 0
		clr	P4.2		; Port 4 (PDIR=0)
		mov	CCL1, A		; Compare/Capture Register 1, Low Byte
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, CCL1		; Compare/Capture Register 1, Low Byte
		add	A, R0
		mov	R2, A
		mov	A, CCH1		; Compare/Capture Register 1, High Byte
		addc	A, R1
		mov	CMH2, A		; Compare Register 2, High Byte	(RMAP=0)
		mov	CML2, R2	; Compare Register 2, Low Byte (RMAP=0)
		orl	CMEN, #4	; Compare Enable Register (RMAP=0)
		setb	P4.2		; Port 4 (PDIR=0)

code_160A:				; CODE XREF: IE0_0:code_15E7j
					; IE0_0+ABEj
		jnb	B.3, code_162D	; B-Register
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jb	ACC.3, code_162D ; Accumulator
		anl	CMEN, #0F7h	; Compare Enable Register (RMAP=0)
		clr	IEN0.7		; Interrupt Enable Register 0
		clr	P4.3		; Port 4 (PDIR=0)
		mov	CCL1, A		; Compare/Capture Register 1, Low Byte
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, CCL1		; Compare/Capture Register 1, Low Byte
		add	A, R0
		mov	R2, A
		mov	A, CCH1		; Compare/Capture Register 1, High Byte
		addc	A, R1
		mov	CMH3, A		; Compare Register 3, High Byte	(RMAP=0)
		mov	CML3, R2	; Compare Register 3, Low Byte (RMAP=0)
		orl	CMEN, #8	; Compare Enable Register (RMAP=0)
		setb	P4.3		; Port 4 (PDIR=0)

code_162D:				; CODE XREF: IE0_0+A50j
					; IE0_0:code_160Aj ...
		jb	RAM_2A.3, code_164C ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #0F82Eh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #0F8F5h
		movx	A, @DPTR
		add	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		addc	A, R1
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		addc	A, #0
		jc	code_164C
		movx	@DPTR, A

code_164C:				; CODE XREF: IE0_0:code_162Dj
					; IE0_0+B1Bj
		jb	RAM_28.5, code_166B ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		jnb	PartFlags1.6, code_166B	; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
		mov	DPTR, #0F97Bh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #0F9C9h
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	ADD_R0R1_R2R3
		mov	A, R0
		orl	A, R1
		jnz	code_166E

code_166B:				; CODE XREF: IE0_0:code_164Cj
					; IE0_0+B21j ...
		ljmp	code_174E
; ---------------------------------------------------------------------------

code_166E:				; CODE XREF: IE0_0+B3Bj
		jnb	RAM_2A.0, code_1678 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	C
		mov	A, R1
		rrc	A
		mov	R1, A
		mov	A, R0
		rrc	A
		mov	R0, A

code_1678:				; CODE XREF: IE0_0:code_166Ej
		mov	DPTR, #6057h
		clr	A
		movc	A, @A+DPTR
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD4, A		; Multiplication/Division Register 4
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	R0, MD1		; Multiplication/Division Register 1
		mov	R1, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	DPTR, #0F8B8h
		movx	A, @DPTR
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		mov	MD0, #0		; Multiplication/Division Register 0
		mov	MD1, R0		; Multiplication/Division Register 1
		mov	MD2, R1		; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, #0C0h ; '└' ; Multiplication/Division Register 4
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		mov	A, R0
		orl	A, R1
		jz	code_166B
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jb	ACC.0, code_16E5 ; Accumulator
		jnb	P4.0, code_16E5	; Port 4 (PDIR=0)
		anl	CMEN, #0FEh	; Compare Enable Register (RMAP=0)
		clr	IEN0.7		; Interrupt Enable Register 0
		clr	P4.0		; Port 4 (PDIR=0)
		mov	CCL1, A		; Compare/Capture Register 1, Low Byte
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, CCL1		; Compare/Capture Register 1, Low Byte
		add	A, R0
		mov	R2, A
		mov	A, CCH1		; Compare/Capture Register 1, High Byte
		addc	A, R1
		mov	CMH0, A		; Compare Register 0, High Byte	(RMAP=0)
		mov	CML0, R2	; Compare Register 0, Low Byte (RMAP=0)
		orl	CMEN, #1	; Compare Enable Register (RMAP=0)
		setb	P4.0		; Port 4 (PDIR=0)

code_16E5:				; CODE XREF: IE0_0+B96j IE0_0+B99j
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jb	ACC.1, code_1708 ; Accumulator
		jnb	P4.1, code_1708	; Port 4 (PDIR=0)
		anl	CMEN, #0FDh	; Compare Enable Register (RMAP=0)
		clr	IEN0.7		; Interrupt Enable Register 0
		clr	P4.1		; Port 4 (PDIR=0)
		mov	CCL1, A		; Compare/Capture Register 1, Low Byte
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, CCL1		; Compare/Capture Register 1, Low Byte
		add	A, R0
		mov	R2, A
		mov	A, CCH1		; Compare/Capture Register 1, High Byte
		addc	A, R1
		mov	CMH1, A		; Compare Register 1, High Byte	(RMAP=0)
		mov	CML1, R2	; Compare Register 1, Low Byte (RMAP=0)
		orl	CMEN, #2	; Compare Enable Register (RMAP=0)
		setb	P4.1		; Port 4 (PDIR=0)

code_1708:				; CODE XREF: IE0_0+BB9j IE0_0+BBCj
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jb	ACC.2, code_172B ; Accumulator
		jnb	P4.2, code_172B	; Port 4 (PDIR=0)
		anl	CMEN, #0FBh	; Compare Enable Register (RMAP=0)
		clr	IEN0.7		; Interrupt Enable Register 0
		clr	P4.2		; Port 4 (PDIR=0)
		mov	CCL1, A		; Compare/Capture Register 1, Low Byte
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, CCL1		; Compare/Capture Register 1, Low Byte
		add	A, R0
		mov	R2, A
		mov	A, CCH1		; Compare/Capture Register 1, High Byte
		addc	A, R1
		mov	CMH2, A		; Compare Register 2, High Byte	(RMAP=0)
		mov	CML2, R2	; Compare Register 2, Low Byte (RMAP=0)
		orl	CMEN, #4	; Compare Enable Register (RMAP=0)
		setb	P4.2		; Port 4 (PDIR=0)

code_172B:				; CODE XREF: IE0_0+BDCj IE0_0+BDFj
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jb	ACC.3, code_174E ; Accumulator
		jnb	P4.3, code_174E	; Port 4 (PDIR=0)
		anl	CMEN, #0F7h	; Compare Enable Register (RMAP=0)
		clr	IEN0.7		; Interrupt Enable Register 0
		clr	P4.3		; Port 4 (PDIR=0)
		mov	CCL1, A		; Compare/Capture Register 1, Low Byte
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, CCL1		; Compare/Capture Register 1, Low Byte
		add	A, R0
		mov	R2, A
		mov	A, CCH1		; Compare/Capture Register 1, High Byte
		addc	A, R1
		mov	CMH3, A		; Compare Register 3, High Byte	(RMAP=0)
		mov	CML3, R2	; Compare Register 3, Low Byte (RMAP=0)
		orl	CMEN, #8	; Compare Enable Register (RMAP=0)
		setb	P4.3		; Port 4 (PDIR=0)

code_174E:				; CODE XREF: IE0_0+769j
					; IE0_0:code_166Bj ...
		mov	DPTR, #0F899h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		setb	RAM_28.4	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	DPSEL, #0	; Data Pointer Select Register
		pop	DPH		; Data Pointer,	High Byte
		pop	DPL		; Data Pointer,	Low Byte
		pop	DPSEL		; Data Pointer Select Register
		pop	B		; B-Register
		jnb	RAM_28.0, code_1766 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		setb	RAM_22.7

code_1766:				; CODE XREF: IE0_0+C33j
		pop	ACC		; Accumulator
		pop	PSW		; Program Status Word
		reti
; ---------------------------------------------------------------------------

code_176B:				; CODE XREF: IE0_0+1B4j
		setb	RAM_28.4	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	DPSEL, #0	; Data Pointer Select Register
		pop	DPH		; Data Pointer,	High Byte
		pop	DPL		; Data Pointer,	Low Byte
		pop	DPSEL		; Data Pointer Select Register
		pop	B		; B-Register
		pop	ACC		; Accumulator
		pop	PSW		; Program Status Word
		reti
; End of function IE0_0


; =============== S U B	R O U T	I N E =======================================


RESET_0:				; CODE XREF: RESETj

; FUNCTION CHUNK AT 2C48 SIZE 00001113 BYTES

		clr	IEN0.7		; Interrupt Enable Register 0
		mov	SP, #0B8h	; Stack	Pointer
		mov	DPTR, #5F05h
		clr	A
		movc	A, @A+DPTR
		jnb	ACC.4, code_17C4 ; if bit set, then olt	ecu
		lcall	InitFlags
		setb	P3.2		; Port 3 (PDIR=0)
		orl	P6, #1		; Port 6 (PDIR=0)
		jnb	SoftFlags1.7, code_17A3	; if bit set, then ecu is J7.2
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P3, #39h	; Port 3 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P6, #0D0h	; Port 6 (PDIR=0)
		sjmp	code_17AF
; ---------------------------------------------------------------------------

code_17A3:				; CODE XREF: RESET_0+15j
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P3, #49		; Port 3 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P6, #46		; Port 6 (PDIR=0)

code_17AF:				; CODE XREF: RESET_0+24j
		mov	DPTR, #6
		mov	A, #55h	; 'U'
		movx	@DPTR, A
		movx	A, @DPTR
		cjne	A, #55h, code_17C4 ; 'U'
		inc	DPTR
		mov	A, #0AAh ; 'к'
		movx	@DPTR, A
		movx	A, @DPTR
		cjne	A, #0AAh, code_17C4 ; 'к'
		lcall	InitOnlineECU

code_17C4:				; CODE XREF: RESET_0+Aj RESET_0+39j ...
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	A, IP0		; Interrupt Priority Register 0
		jnb	ACC.6, code_17CE ; Accumulator
		ljmp	code_1863
; ---------------------------------------------------------------------------

code_17CE:				; CODE XREF: RESET_0+4Bj
		mov	IP0, #0		; Interrupt Priority Register 0
		mov	WDTREL,	#80h ; 'А' ; Watchdog Timer Reload Register
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		mov	SYSCON,	#0	; System Control Register
		mov	SP, #IEN1	; Stack	Pointer
		mov	PSW, #0		; Program Status Word
		lcall	InitFlags
		jb	SoftFlags1.7, code_17FE	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jnb	SoftFlags1.3, code_1812	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	P1, #7Fh ; ''  ; Port 1 (PDIR=0)
		mov	P3, #0FFh	; Port 3 (PDIR=0)
		mov	P4, #0FFh	; Port 4 (PDIR=0)
		mov	P5, #9Fh ; 'Я'  ; Port 5 (PDIR=0)
		mov	P6, #0FFh	; Port 6 (PDIR=0)
		mov	P9, #0FBh ; '√' ; Port 9 (PDIR=0)
		sjmp	code_1824
; ---------------------------------------------------------------------------

code_17FE:				; CODE XREF: RESET_0+67j
		mov	P1, #0FFh	; Port 1 (PDIR=0)
		mov	P3, #0FFh	; Port 3 (PDIR=0)
		mov	P4, #0FFh	; Port 4 (PDIR=0)
		mov	P5, #0BFh ; '┐' ; Port 5 (PDIR=0)
		mov	P6, #0FFh	; Port 6 (PDIR=0)
		mov	P9, #0A8h ; 'и' ; Port 9 (PDIR=0)
		sjmp	code_1824
; ---------------------------------------------------------------------------

code_1812:				; CODE XREF: RESET_0+6Aj
		mov	P1, #7Fh ; ''  ; Port 1 (PDIR=0)
		mov	P3, #0FFh	; Port 3 (PDIR=0)
		mov	P4, #0EFh ; 'я' ; Port 4 (PDIR=0)
		mov	P5, #0DFh ; '▀' ; Port 5 (PDIR=0)
		mov	P6, #0FFh	; Port 6 (PDIR=0)
		mov	P9, #0FFh	; Port 9 (PDIR=0)

code_1824:				; CODE XREF: RESET_0+7Fj RESET_0+93j
		mov	A, #44h
		mov	DPTR, #0F999h
		movx	@DPTR, A
		lcall	Set38Pin_StarterProtect
		lcall	SetOUTDriver
		clr	A
		mov	RAM_22,	A
		mov	RAM_23_ErrorMask2, A ; 0 bit напряжение	борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		mov	RAM_24_ErrorMask3, A ; 0 bit напряжение	борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		mov	RAM_25_ErrorMask4, A
		mov	DPTR, #0F9ACh
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F9B0h
		movx	@DPTR, A
		jnb	SoftFlags1.3, code_1847	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		clr	P4.5		; Port 4 (PDIR=0)

code_1847:				; CODE XREF: RESET_0+C5j
		mov	DPTR, #0F8C2h
		movx	A, @DPTR
		xrl	A, #55h
		jz	code_185D
		mov	R0, #0A8h ; 'и'
		mov	A, @R0
		xrl	A, #0A5h
		jz	code_185D
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		orl	A, #2
		movx	@DPTR, A

code_185D:				; CODE XREF: RESET_0+D0j RESET_0+D7j
		mov	R0, #0A8h ; 'и'
		clr	A
		mov	@R0, A
		mov	RAM_61,	A

code_1863:				; CODE XREF: RESET_0+4Ej
					; RESET_0:code_3515j
		mov	WDTREL,	#80h ; 'А' ; Watchdog Timer Reload Register
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	SP, #0B8h	; Stack	Pointer
		mov	SYSCON,	#0	; System Control Register
		mov	PSW, #0		; Program Status Word
		mov	CCEN, #0	; Compare/Capture Enable Register
		mov	CMEN, #0	; Compare Enable Register (RMAP=0)
		mov	CC4EN, #0	; Compare/Capture 4 Enable Register
		clr	SoftFlags1.5	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	R0, #2Ch ; ','

code_1882:				; CODE XREF: RESET_0+107j
		mov	@R0, #0
		djnz	R0, code_1882
		mov	R0, #2Eh ; '.'

code_1888:				; CODE XREF: RESET_0+10Fj
		mov	@R0, #0
		inc	R0
		mov	A, R0
		jnz	code_1888
		lcall	InitFlags
		jb	SoftFlags1.7, code_18C9	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jnb	SoftFlags1.3, code_18FB	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P0, #0FFh	; Port 0 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P1, #1Ch	; Port 1 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P2, #0		; Port 2 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P3, #3Dh ; '='  ; Port 3 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P4, #0		; Port 4 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P5, #90h ; 'Р'  ; Port 5 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P6, #14h	; Port 6 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P9, #2		; Port 9 (PDIR=0)
		sjmp	code_192B
; ---------------------------------------------------------------------------

code_18C9:				; CODE XREF: RESET_0+114j
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P0, #0FFh	; Port 0 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P1, #1Ch	; Port 1 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P2, #0		; Port 2 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P3, #39h ; '9'  ; Port 3 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P4, #0		; Port 4 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P5, #20h ; ' '  ; Port 5 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P6, #0D0h ; '╨' ; Port 6 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P9, #0		; Port 9 (PDIR=0)
		sjmp	code_192B
; ---------------------------------------------------------------------------

code_18FB:				; CODE XREF: RESET_0+117j
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P0, #0FFh	; Port 0 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P1, #0Fh	; Port 1 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P2, #0		; Port 2 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P3, #31h ; '1'  ; Port 3 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P4, #0		; Port 4 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P5, #90h ; 'Р'  ; Port 5 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P6, #2Eh ; '.'  ; Port 6 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		mov	P9, #40h ; '@'  ; Port 9 (PDIR=0)

code_192B:				; CODE XREF: RESET_0+14Aj RESET_0+17Cj
		orl	SYSCON,	#40h	; System Control Register
		clr	A
		mov	ADCON0,	A	; A/D Converter	Control	Register 0
		mov	ADCON1,	A	; A/D Converter	Control	Register 1
		mov	ADDATL,	A	; A/D Converter	Data Register, Low Byte
		mov	ADDATH,	A	; A/D Converter	Data Register, High Byte
		mov	ARCON, A	; Arithmetic Control Register
		mov	CCL1, A		; Compare/Capture Register 1, Low Byte
		mov	CCH1, A		; Compare/Capture Register 1, High Byte
		mov	CCL2, A		; Compare/Capture Register 2, Low Byte
		mov	CCH2, A		; Compare/Capture Register 2, High Byte
		mov	CCL3, A		; Compare/Capture Register 3, Low Byte
		mov	CCH3, A		; Compare/Capture Register 3, High Byte
		mov	CCL4, A		; Compare/Capture Register 4, Low Byte
		mov	CCH4, A		; Compare/Capture Register 4, High Byte
		mov	CMEN, A		; Compare Enable Register (RMAP=0)
		mov	CML0, A		; Compare Register 0, Low Byte (RMAP=0)
		mov	CMH0, A		; Compare Register 0, High Byte	(RMAP=0)
		mov	CML1, A		; Compare Register 1, Low Byte (RMAP=0)
		mov	CMH1, A		; Compare Register 1, High Byte	(RMAP=0)
		mov	CML2, A		; Compare Register 2, Low Byte (RMAP=0)
		mov	CMH2, A		; Compare Register 2, High Byte	(RMAP=0)
		mov	CML3, A		; Compare Register 3, Low Byte (RMAP=0)
		mov	CMH3, A		; Compare Register 3, High Byte	(RMAP=0)
		mov	CML4, A		; Compare Register 4, Low Byte (RMAP=0)
		mov	CMH4, A		; Compare Register 4, High Byte	(RMAP=0)
		mov	CML5, A		; Compare Register 5, Low Byte (RMAP=0)
		mov	CMH5, A		; Compare Register 5, High Byte	(RMAP=0)
		mov	CML6, A		; Compare Register 6, Low Byte (RMAP=0)
		mov	CMH6, A		; Compare Register 6, High Byte	(RMAP=0)
		mov	CML7, A		; Compare Register 7, Low Byte (RMAP=0)
		mov	CMH7, A		; Compare Register 7, High Byte	(RMAP=0)
		mov	CRCL, A		; Comp./Rel./Capt. Reg.	Low Byte
		mov	CRCH, A		; Comp./Rel./Capt. Reg.	High Byte
		mov	PCON, A		; Power	Control	Register
		mov	S0BUF, A	; Serial Channel 0 Buffer Register
		mov	S1BUF, A	; Serial Channel 1 Buffer Register
		mov	S0CON, A	; Serial Channel 0 Control Register
		mov	TCON, A		; Timer	Control	Register
		mov	TL0, A		; Timer	0, Low Byte
		mov	TH0, A		; Timer	0, High	Byte
		mov	TL1, A		; Timer	1, Low Byte
		mov	TH1, A		; Timer	1, High	Byte
		mov	TL2, A		; Timer	2, Low Byte
		mov	TH2, A		; Timer	2, High	Byte
		mov	PRSC, #0D5h ; '╒' ; Prescaler Control Register
		mov	TMOD, #11h	; Timer	Mode Register
		setb	TCON.2		; Timer	Control	Register
		setb	TCON.0		; Timer	Control	Register
		mov	T2CON, #85h ; 'Е' ; Timer 2 Control Register
		clr	RAM_28.7	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		clr	SoftFlags1.2	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	A, #0
		mov	C, SoftFlags1.0	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	ACC.0, C	; Accumulator
		mov	IEN2, A		; Interrupt Enable Register 2
		mov	IEN3, #0	; Interrupt Enable Register 3
		mov	CTCON, #0C3h ; '├' ; Compare Timer Control Register
		mov	CT1CON,	#43h ; 'C' ; Compare Timer 1 Control Register
		mov	CTRELH,	#0	; Compare Timer	Rel. Reg., High	Byte (RMAP=0)
		mov	CTRELL,	#0	; Compare Timer	Rel. Reg., Low Byte (RMAP=0)
		orl	SYSCON,	#10h	; System Control Register
		mov	CTRELH,	#0FEh ;	'■' ; Compare Timer Rel. Reg., High Byte (RMAP=0)
		mov	CTRELL,	#0Ch	; Compare Timer	Rel. Reg., Low Byte (RMAP=0)
		anl	SYSCON,	#0EFh	; System Control Register
		mov	CMSEL, #0C0h ; '└' ; Compare Input Select (RMAP=0)
		mov	CCEN, #4Ch ; 'L' ; Compare/Capture Enable Register
		clr	A
		jb	SoftFlags1.7, code_19C5	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	A, #0F8h ; '°'

code_19C5:				; CODE XREF: RESET_0+243j
		mov	CC4EN, A	; Compare/Capture 4 Enable Register
		clr	IEN0.2		; Interrupt Enable Register 0
		clr	IEN1.1		; Interrupt Enable Register 1
		mov	A, IP0		; Interrupt Priority Register 0
		anl	A, #40h
		jz	code_19DB
		mov	DPTR, #0F9A3h
		movx	A, @DPTR
		xrl	A, #55h
		jz	code_19DB
		setb	RAM_22.5

code_19DB:				; CODE XREF: RESET_0+252j RESET_0+25Aj
		jb	SoftFlags1.7, code_19E6	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	IP1, #28h ; '(' ; Interrupt Priority Register 1
		mov	IP0, #30h ; '0' ; Interrupt Priority Register 0
		sjmp	code_19EC
; ---------------------------------------------------------------------------

code_19E6:				; CODE XREF: RESET_0:code_19DBj
		mov	IP1, #2Ch ; ',' ; Interrupt Priority Register 1
		mov	IP0, #34h ; '4' ; Interrupt Priority Register 0

code_19EC:				; CODE XREF: RESET_0+267j
		lcall	code_561C
		mov	DPTR, #0F8C2h
		movx	A, @DPTR
		cjne	A, #55h, code_19F9 ; 'U'
		ljmp	code_1A51
; ---------------------------------------------------------------------------

code_19F9:				; CODE XREF: RESET_0+276j
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		jb	ACC.1, code_1A39 ; Accumulator
		mov	R0, #1
		mov	R1, #0
		mov	DPTR, #0FD00h

code_1A07:				; CODE XREF: RESET_0+295j
		clr	C
		movx	A, @DPTR
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		inc	DPTR
		mov	A, DPH		; Data Pointer,	High Byte
		cjne	A, #0FFh, code_1A07
		mov	R2, #40h ; '@'
		mov	DPTR, #0F4D2h

code_1A1A:				; CODE XREF: RESET_0+2A6j
		clr	C
		movx	A, @DPTR
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		inc	DPTR
		djnz	R2, code_1A1A
		mov	DPTR, #0F8FEh
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	SUB_R0R1_R2R3
		mov	A, R0
		orl	A, R1
		jz	code_1A39
		setb	RAM_22.6
		sjmp	code_1A3B
; ---------------------------------------------------------------------------

code_1A39:				; CODE XREF: RESET_0+280j RESET_0+2B6j
		clr	RAM_22.6

code_1A3B:				; CODE XREF: RESET_0+2BAj
		clr	A
		mov	B, #4		; B-Register
		mov	DPTR, #0FF80h

code_1A42:				; CODE XREF: RESET_0+2C7j
		movx	@DPTR, A
		inc	DPTR
		djnz	B, code_1A42	; B-Register
		mov	DPTR, #0F800h

code_1A4A:				; CODE XREF: RESET_0+2D2j
		clr	A
		movx	@DPTR, A
		inc	DPTR
		mov	A, DPL		; Data Pointer,	Low Byte
		jnz	code_1A4A

code_1A51:				; CODE XREF: RESET_0+279j
		clr	A
		mov	DPTR, #0F93Dh
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		mov	DPTR, #0F98Eh
		movx	@DPTR, A
		mov	DPTR, #0F965h
		movx	@DPTR, A
		mov	DPTR, #0F985h
		movx	@DPTR, A
		mov	DPTR, #0F986h
		movx	@DPTR, A
		mov	DPTR, #0F98Bh
		movx	@DPTR, A
		mov	DPTR, #0F810h
		movx	@DPTR, A
		mov	DPTR, #0F803h
		movx	@DPTR, A
		lcall	InitFlags
		mov	DPTR, #0F955h
		mov	A, #5
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		mov	C, RAM_22.6
		orl	C, ACC.1	; Accumulator
		anl	C, /RAM_22.5
		jnc	code_1AB9
		mov	DPTR, #5F51h
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F936h
		movx	@DPTR, A
		mov	DPTR, #0F96Eh
		movx	@DPTR, A
		mov	DPTR, #0F96Fh
		movx	@DPTR, A
		mov	DPTR, #0F970h
		movx	@DPTR, A
		mov	DPTR, #0F971h
		movx	@DPTR, A
		mov	DPTR, #0FFCEh
		movx	@DPTR, A
		mov	RAM_47,	#8
		mov	DPTR, #0FFCFh
		movx	@DPTR, A
		sjmp	code_1B05
; ---------------------------------------------------------------------------

code_1AB9:				; CODE XREF: RESET_0+314j
		mov	DPTR, #0FFCEh
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #5F51h
		clr	A
		movc	A, @A+DPTR
		clr	C
		rlc	A
		cjne	A, B, code_1AC9	; B-Register

code_1AC9:
		jc	code_1AF4
		mov	DPTR, #5F6Eh
		clr	A
		movc	A, @A+DPTR
		cjne	A, B, code_1AD3	; B-Register

code_1AD3:
		jnc	code_1AF4
		mov	A, B		; B-Register
		mov	DPTR, #0F936h
		movx	@DPTR, A
		mov	DPTR, #0F96Eh
		movx	@DPTR, A
		mov	DPTR, #0F96Fh
		movx	@DPTR, A
		mov	DPTR, #0F970h
		movx	@DPTR, A
		mov	DPTR, #0F971h
		movx	@DPTR, A
		mov	DPTR, #0FFCFh
		movx	A, @DPTR
		cjne	A, #18h, code_1AF2

code_1AF2:
		jc	code_1AFF

code_1AF4:				; CODE XREF: RESET_0:code_1AC9j
					; RESET_0:code_1AD3j
		mov	DPTR, #5F51h
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0FFCEh
		movx	@DPTR, A
		mov	A, #8

code_1AFF:				; CODE XREF: RESET_0:code_1AF2j
		mov	RAM_47,	A
		mov	DPTR, #0FFCFh
		movx	@DPTR, A

code_1B05:				; CODE XREF: RESET_0+33Aj
		mov	DPTR, #0FFCEh
		movx	A, @DPTR
		clr	C
		rrc	A
		mov	DPTR, #0F935h
		movx	@DPTR, A
		mov	DPTR, #0F967h
		movx	@DPTR, A
		mov	DPTR, #0F969h
		movx	@DPTR, A
		mov	DPTR, #0F96Bh
		movx	@DPTR, A
		mov	DPTR, #0F96Dh
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F934h
		movx	@DPTR, A
		mov	DPTR, #0F966h
		movx	@DPTR, A
		mov	DPTR, #0F968h
		movx	@DPTR, A
		mov	DPTR, #0F96Ah
		movx	@DPTR, A
		mov	DPTR, #0F96Ch
		movx	@DPTR, A
		mov	A, RAM_47
		rr	A
		rr	A
		rr	A
		anl	A, #3
		cjne	A, #1, code_1B42
		mov	A, #2
		sjmp	code_1B4A
; ---------------------------------------------------------------------------

code_1B42:				; CODE XREF: RESET_0+3BEj
		jnc	code_1B48
		mov	A, #1
		sjmp	code_1B4A
; ---------------------------------------------------------------------------

code_1B48:				; CODE XREF: RESET_0:code_1B42j
		mov	A, #4

code_1B4A:				; CODE XREF: RESET_0+3C3j RESET_0+3C9j
		mov	B, A		; B-Register
		mov	DPTR, #0FFCEh
		movx	A, @DPTR
		mul	AB
		mov	R0, A
		mov	A, B		; B-Register
		jz	code_1B58
		mov	R0, #0FFh

code_1B58:				; CODE XREF: RESET_0+3D7j
		mov	A, R0
		mov	DPTR, #0F9AAh
		movx	@DPTR, A
		swap	A
		rl	A
		anl	A, #1Fh
		mov	DPTR, #0F9ABh
		movx	@DPTR, A
		mov	DPTR, #8F2Ah
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0FFCEh
		movx	A, @DPTR
		mul	AB
		mov	R2, A
		mov	A, B		; B-Register
		anl	A, #0F0h
		jnz	code_1B7F
		mov	A, R2
		anl	A, #0F0h
		orl	A, B		; B-Register
		swap	A
		sjmp	code_1B81
; ---------------------------------------------------------------------------

code_1B7F:				; CODE XREF: RESET_0+3F8j
		mov	A, #0FFh

code_1B81:				; CODE XREF: RESET_0+400j
		mov	RAM_4F,	A
		mov	DPTR, #0F937h
		movx	@DPTR, A
		jnb	SoftFlags1.7, code_1B8D	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		ljmp	code_1C2B
; ---------------------------------------------------------------------------

code_1B8D:				; CODE XREF: RESET_0+40Aj
		mov	DPTR, #5F9Ch
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F93Bh
		movx	@DPTR, A
		lcall	code_B32D
		mov	DPTR, #41h ; 'A'
		jb	ElectronicsParts.0, code_1BA4 ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		mov	DPTR, #5F9Bh
		clr	A
		movc	A, @A+DPTR

code_1BA4:				; CODE XREF: RESET_0+41Fj
		lcall	code_5422
		lcall	code_5592
		lcall	code_B324
		lcall	code_5592
		lcall	code_B32D
		mov	DPTR, #5F9Ch
		clr	A
		movc	A, @A+DPTR
		lcall	code_5422
		lcall	code_5592
		lcall	code_B324
		lcall	code_5592
		lcall	code_B32D
		mov	DPTR, #5F9Fh
		clr	A
		movc	A, @A+DPTR
		lcall	code_53E7
		lcall	code_5592
		lcall	code_B324
		lcall	code_5592
		lcall	code_B32D
		mov	DPTR, #5F9Dh
		clr	A
		movc	A, @A+DPTR
		lcall	code_5417
		lcall	code_5592
		lcall	code_B324
		lcall	code_5592
		lcall	code_B32D
		mov	DPTR, #5F9Eh
		clr	A
		movc	A, @A+DPTR
		setb	ACC.2		; Accumulator
		lcall	code_5422
		lcall	code_5592
		lcall	code_B324
		mov	B, #7		; B-Register
		lcall	Read_AD
		mov	B, #1Eh		; B-Register
		jnb	ElectronicsParts.0, code_1C0E ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		mov	B, #7		; B-Register

code_1C0E:				; CODE XREF: RESET_0+48Bj
		cjne	A, B, code_1C11	; B-Register

code_1C11:
		jc	code_1C15
		mov	A, B		; B-Register

code_1C15:				; CODE XREF: RESET_0:code_1C11j
		mov	RAM_42,	A
		lcall	code_5592
		lcall	code_B32D
		mov	DPTR, #5F9Eh
		clr	A
		movc	A, @A+DPTR
		lcall	code_5422
		lcall	code_5592
		lcall	code_B324

code_1C2B:				; CODE XREF: RESET_0+40Dj
		setb	RAM_2C.2	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	DPTR, #6051h
		clr	A
		movc	A, @A+DPTR
		mov	SensorsParts, A	; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	A, #1
		movc	A, @A+DPTR
		mov	PartFlags1, A	; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
		clr	A
		mov	RXX_DriveDinamics, A ; Динамика	разгона	РХХ
		mov	RAM_66,	A
		mov	DPTR, #0F828h
		movx	@DPTR, A
		mov	DPTR, #0F9A3h
		movx	@DPTR, A
		mov	DPTR, #0F9B1h
		movx	@DPTR, A
		mov	DPTR, #0F9B2h
		movx	@DPTR, A
		mov	DPTR, #0F9B3h
		movx	@DPTR, A
		mov	DPTR, #0F9B4h
		movx	@DPTR, A
		mov	DPTR, #0F9BBh
		movx	@DPTR, A
		mov	DPTR, #0F9BCh
		movx	@DPTR, A
		mov	DPTR, #0F9BDh
		movx	@DPTR, A
		mov	DPTR, #0F9B5h
		movx	@DPTR, A
		mov	DPTR, #0F9B6h
		movx	@DPTR, A
		mov	DPTR, #0F9B7h
		movx	@DPTR, A
		mov	DPTR, #0F95Bh
		movx	@DPTR, A
		mov	DPTR, #0F95Ch
		movx	@DPTR, A
		mov	DPTR, #0FA78h
		movx	@DPTR, A
		lcall	Set38Pin_StarterProtect
		mov	A, #0FFh
		mov	RAM_5A,	A
		mov	DPTR, #0F9B8h
		movx	@DPTR, A
		mov	DPTR, #0F9B9h
		movx	@DPTR, A
		mov	DPTR, #6061h
		clr	A
		movc	A, @A+DPTR
		mov	RAM_4D,	A
		mov	DPTR, #5F71h
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F949h
		movx	@DPTR, A
		mov	DPTR, #5F86h
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F895h
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F811h
		movx	@DPTR, A
		mov	DPTR, #0F802h
		movx	@DPTR, A
		mov	DPTR, #0F90Fh
		movx	@DPTR, A
		mov	DPTR, #0F97Bh
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	@DPTR, A
		mov	DPTR, #0F9C9h
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	@DPTR, A
		mov	DPTR, #0F907h
		movx	@DPTR, A
		mov	DPTR, #0F94Bh
		movx	@DPTR, A
		mov	DPTR, #0F8F3h
		movx	@DPTR, A
		mov	DPTR, #0F8F4h
		movx	@DPTR, A
		mov	DPTR, #0F9AEh
		movx	@DPTR, A
		mov	DPTR, #0F8C3h
		movx	@DPTR, A
		mov	DPTR, #0F8C5h
		movx	@DPTR, A
		mov	DPTR, #0F9BEh
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F866h
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		mov	DPTR, #607Ch
		clr	A
		movc	A, @A+DPTR
		mov	RAM_60_SostavSmesi, A
		mov	RAM_61,	A
		mov	A, #0FFh
		mov	DPTR, #0F835h
		movx	@DPTR, A
		mov	DPTR, #6067h
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F8B2h
		movx	@DPTR, A
		mov	DPTR, #0F827h
		movx	@DPTR, A
		mov	RAM_6E,	#0
		mov	RAM_6F,	#80h ; 'А'
		clr	A
		mov	DPTR, #0F89Eh
		movx	@DPTR, A
		setb	RAM_2E.0
		clr	A
		mov	DPTR, #0F806h
		movx	@DPTR, A
		jb	SoftFlags1.7, code_1D1A	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	CMH6, A		; Compare Register 6, High Byte	(RMAP=0)
		mov	CML6, #0Fh	; Compare Register 6, Low Byte (RMAP=0)

code_1D1A:				; CODE XREF: RESET_0+595j
		mov	A, #0FFh
		mov	DPTR, #0F870h
		movx	@DPTR, A
		jb	SoftFlags1.7, code_1D28	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	CMH7, A		; Compare Register 7, High Byte	(RMAP=0)
		mov	CML7, #0Fh	; Compare Register 7, Low Byte (RMAP=0)

code_1D28:				; CODE XREF: RESET_0+5A3j
		mov	DPTR, #6051h
		clr	A
		jb	SoftFlags1.7, code_1D3C	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	C, B.1		; B-Register
		mov	ACC.6, C	; Accumulator
		mov	C, B.2		; B-Register
		mov	ACC.7, C	; Accumulator
		anl	A, #0C0h

code_1D3C:				; CODE XREF: RESET_0+5AFj
		mov	CMEN, A		; Compare Enable Register (RMAP=0)
		setb	RAM_2B.0	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		setb	RAM_2A.3	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		setb	RAM_2A.4	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		mov	C, RAM_22.5
		orl	C, /ACC.1	; Accumulator
		orl	C, /RAM_22.6
		jc	code_1D57
		setb	RAM_2C.2	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		clr	A
		mov	DPTR, #0F9ADh
		movx	@DPTR, A

code_1D57:				; CODE XREF: RESET_0+5D1j
		setb	RAM_2A.1	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	RAM_2B.7	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		lcall	code_2C2D
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		mov	C, RAM_22.5
		orl	C, ACC.1	; Accumulator
		orl	C, RAM_22.6
		jnc	code_1D6D
		lcall	code_42DE

code_1D6D:				; CODE XREF: RESET_0+5EBj
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		mov	C, RAM_22.5
		orl	C, ACC.1	; Accumulator
		orl	C, RAM_22.6
		jc	code_1D81
		mov	DPTR, #60DEh
		clr	A
		movc	A, @A+DPTR
		jb	ACC.0, code_1D90 ; Accumulator

code_1D81:				; CODE XREF: RESET_0+5FAj
		mov	B, #40h	; '@'   ; B-Register
		mov	DPTR, #0F4D2h
		clr	A

code_1D88:				; CODE XREF: RESET_0+60Dj
		movx	@DPTR, A
		inc	DPTR
		djnz	B, code_1D88	; B-Register
		lcall	code_A309

code_1D90:				; CODE XREF: RESET_0+601j
		lcall	code_5398
		clr	A
		mov	DPTR, #0F4D8h
		movx	@DPTR, A
		mov	DPTR, #0F517h
		movx	@DPTR, A
		mov	B, #4		; B-Register
		lcall	Read_AD
		mov	DPTR, #0F80Bh
		movx	@DPTR, A
		mov	DPTR, #6104h
		lcall	code_4977
		clr	C
		subb	A, #14h
		jnc	code_1DB3
		mov	A, #0

code_1DB3:				; CODE XREF: RESET_0+632j
		mov	DTOG_Value, A	; Текущее значение ДТОЖ	(температура двигателя)
		mov	DPTR, #0F9B5h
		movx	@DPTR, A
		add	A, #2
		mov	B, #5		; B-Register
		div	AB
		cjne	A, #24h, code_1DC2 ; '$'

code_1DC2:
		jc	code_1DC6
		mov	A, #24h	; '$'

code_1DC6:				; CODE XREF: RESET_0:code_1DC2j
		mov	DTOG_RT, A
		lcall	code_BF14
		mov	B, #1		; B-Register
		jb	SoftFlags1.7, code_1DD4	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #3		; B-Register

code_1DD4:				; CODE XREF: RESET_0+651j
		lcall	Read_AD
		mov	B, A		; B-Register
		mov	DPTR, #0F827h
		movx	A, @DPTR
		xch	A, B		; B-Register
		clr	C
		subb	A, B		; B-Register
		jc	code_1DF7
		mov	B, A		; B-Register
		mov	DPTR, #6068h
		clr	A
		movc	A, @A+DPTR
		mul	AB
		mov	A, B		; B-Register
		cjne	A, #64h, code_1DF1 ; 'd'

code_1DF1:
		jc	code_1DF8
		mov	A, #64h	; 'd'
		sjmp	code_1DF8
; ---------------------------------------------------------------------------

code_1DF7:				; CODE XREF: RESET_0+665j
		clr	A

code_1DF8:				; CODE XREF: RESET_0:code_1DF1j
					; RESET_0+678j
		mov	RAM_52_THR, A	; Положение дросселя
		mov	DPTR, #0F907h
		movx	@DPTR, A
		mov	B, #0		; B-Register
		jb	SoftFlags1.7, code_1E07	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #1		; B-Register

code_1E07:				; CODE XREF: RESET_0+684j
		lcall	Read_AD
		mov	DPTR, #0F80Dh	; Напряжение на	входе замка зажигания
		movx	@DPTR, A
		mov	R1, A
		mov	DPTR, #60BAh	; Минимальное напряжение бортовой сети
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		cjne	A, B, code_1E1A	; B-Register

code_1E1A:				; Переход если напряжение на замке зажигания меньше минимума
		jc	code_1E29
		mov	DPTR, #60BBh	; Максимальное напряжение бортовой сети
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		cjne	A, B, code_1E27	; B-Register

code_1E27:
		jc	code_1E2F

code_1E29:				; CODE XREF: RESET_0:code_1E1Aj
		mov	DPTR, #60BFh	; Напряжение 1 бортовой	сети при ошибке
		clr	A
		movc	A, @A+DPTR
		mov	R1, A

code_1E2F:				; CODE XREF: RESET_0:code_1E27j
		mov	DPTR, #60BCh	; Смещение при квантовании напряжения
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F836h
		mov	A, R1
		movx	@DPTR, A
		clr	C
		subb	A, B		; B-Register
		jnc	code_1E41
		clr	A

code_1E41:				; CODE XREF: RESET_0+6C1j
		mov	B, A		; B-Register
		mov	DPTR, #60BDh	; Коэффициент квантования напряжения
		clr	A
		movc	A, @A+DPTR
		mul	AB
		jnb	B.7, code_1E50	; B-Register
		mov	A, #0FFh
		sjmp	code_1E54
; ---------------------------------------------------------------------------

code_1E50:				; CODE XREF: RESET_0+6CCj
		rlc	A
		mov	A, B		; B-Register
		rlc	A

code_1E54:				; CODE XREF: RESET_0+6D1j
		mov	DPTR, #0F978h
		movx	@DPTR, A
		mov	DPTR, #71D8h	; Динамическая производительность форсунки
		lcall	GetTable2DCell
		mov	DPTR, #0F8B8h
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F9A4h
		movx	@DPTR, A
		mov	DPTR, #0F9A5h
		movx	@DPTR, A
		mov	DPTR, #0F9A8h
		movx	@DPTR, A
		mov	A, #3
		mov	DPTR, #0F9A6h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #2Eh	; '.'
		movx	@DPTR, A
		jb	SoftFlags1.6, code_1EA3	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #3		; B-Register
		jb	SoftFlags1.7, code_1E85	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #0		; B-Register

code_1E85:				; CODE XREF: RESET_0+702j
		lcall	Read_AD
		mov	R0, A
		clr	C
		subb	A, #40
		jc	code_1EA3
		mov	A, R0
		clr	C
		subb	A, #60
		jnc	code_1EA3
		mov	A, R0
		mov	DPTR, #0F9A4h
		movx	@DPTR, A
		mov	DPTR, #5FA6h	; Пороговое смещение напряжения	ДМРВ для диагностики ДПКВ
		clr	A
		movc	A, @A+DPTR
		add	A, R0
		mov	DPTR, #0F9A5h
		movx	@DPTR, A

code_1EA3:				; CODE XREF: RESET_0+6FCj RESET_0+70Fj ...
		mov	DPTR, #8C00h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	DPTR, #0F94Ch
		movx	@DPTR, A
		jnb	SensorsParts.1,	code_1EDF ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		setb	RAM_2B.6	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #60D1h
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jnc	code_1ED6
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		mov	C, RAM_22.5
		orl	C, ACC.1	; Accumulator
		orl	C, RAM_22.6
		jnc	code_1ECB
		mov	DPSEL, #0	; Data Pointer Select Register

code_1ECB:				; CODE XREF: RESET_0+749j
		mov	DPTR, #60CFh
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F868h
		movx	@DPTR, A
		sjmp	code_1EDF
; ---------------------------------------------------------------------------

code_1ED6:				; CODE XREF: RESET_0+73Dj
		mov	DPTR, #60CEh
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F868h
		movx	@DPTR, A

code_1EDF:				; CODE XREF: RESET_0+730j RESET_0+757j
		mov	RAM_46,	#14h
		clr	RAM_29.0	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	TL1, #0CBh ; '╦' ; Timer 1, Low Byte
		mov	TH1, #0FAh ; '·' ; Timer 1, High Byte
		setb	TCON.6		; Timer	Control	Register
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		setb	IEN0.0		; Interrupt Enable Register 0
		setb	IEN0.3		; Interrupt Enable Register 0
		mov	C, SoftFlags1.7	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	IEN0.2,	C	; Interrupt Enable Register 0
		mov	DPTR, #0F8C2h
		movx	A, @DPTR
		xrl	A, #55h
		jz	code_1F24
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		mov	C, ACC.1	; Accumulator
		orl	C, RAM_22.6
		jnc	code_1F24
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	RAM_65,	#0B4h ;	'┤'
		mov	RXX_Position, #0
		setb	IEN0.7		; Interrupt Enable Register 0

code_1F14:				; CODE XREF: RESET_0+79Fj
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		clr	RAM_28.5	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	A, RXX_Position
		cjne	A, RAM_65, code_1F14
		clr	A
		mov	DPTR, #0F9AFh
		movx	@DPTR, A

code_1F24:				; CODE XREF: RESET_0+781j RESET_0+78Bj
		mov	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		mov	DPTR, #0F80Ah
		movx	@DPTR, A
		mov	DPTR, #9718h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	RXX_Position, A
		mov	DPTR, #0F9AFh
		movx	A, @DPTR
		mov	RAM_65,	A
		setb	IEN0.7		; Interrupt Enable Register 0

code_1F3C:				; CODE XREF: RESET_0+7C7j
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		clr	RAM_28.5	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	A, RXX_Position
		cjne	A, RAM_65, code_1F3C
		mov	A, RXX_Position
		mov	R0, A
		mov	R1, #0
		lcall	code_4777
		mov	DPTR, #0F845h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	A, #55h	; 'U'
		mov	DPTR, #0F8C2h
		movx	@DPTR, A
		lcall	code_4E7F
		clr	A
		mov	DPTR, #0F887h
		movx	@DPTR, A
		mov	DPTR, #605Ch	; Обороты блокировки впрыска
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F94Eh	; Текущие обороты блокировки впрыска
		movx	@DPTR, A
		mov	DPTR, #0F8F8h
		mov	A, #0FFh
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, #0FFh
		movx	@DPTR, A
		mov	RAM_68,	A
		mov	RAM_75,	A
		setb	IEN1.5		; Interrupt Enable Register 1
		setb	IEN0.7		; Interrupt Enable Register 0

MainCycle:				; CODE XREF: RESET_0:MainCyclej
					; RESET_0:code_3D58j
		jnb	RAM_29.0, MainCycle ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		clr	RAM_29.0	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		lcall	InitFlags
		jb	SoftFlags1.7, code_1F9B	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jnb	SoftFlags1.3, code_1F98	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		clr	P5.3		; Port 5 (PDIR=0)
		sjmp	code_1F9B
; ---------------------------------------------------------------------------

code_1F98:				; CODE XREF: RESET_0+814j
		anl	P9, #0DFh	; Port 9 (PDIR=0)

code_1F9B:				; CODE XREF: RESET_0+811j RESET_0+819j
		mov	DPTR, #0F97Bh
		movx	A, @DPTR
		jnz	code_1FBB
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		jnz	code_1FBB
		mov	DPTR, #0F9C9h
		movx	A, @DPTR
		jnz	code_1FBB
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		jnz	code_1FBB
		mov	DPTR, #0F886h
		movx	A, @DPTR
		jz	code_1FC8
		dec	A
		movx	@DPTR, A
		sjmp	ReadADC_MAP
; ---------------------------------------------------------------------------

code_1FBB:				; CODE XREF: RESET_0+822j RESET_0+827j ...
		setb	RAM_2C.0	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	DPTR, #5F00h
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F886h
		movx	@DPTR, A
		sjmp	ReadADC_MAP
; ---------------------------------------------------------------------------

code_1FC8:				; CODE XREF: RESET_0+838j
		clr	RAM_2C.0	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода

ReadADC_MAP:				; CODE XREF: RESET_0+83Cj RESET_0+849j
		mov	C, RAM_2B.1	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	RAM_2C.1, C	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	C, RAM_2B.5	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	RAM_2C.3, C	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		jnb	RAM_2B.0, code_1FE5 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		jnb	SoftFlags1.6, code_1FE5	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #9		; B-Register
		lcall	Read_AD
		mov	DPTR, #0F80Ch	; АЦП ДАД/ДМРВ
		movx	@DPTR, A
		lcall	code_B054

code_1FE5:				; CODE XREF: RESET_0+855j RESET_0+858j
		lcall	Diag_MAP
		mov	DPTR, #65D3h	; Фаза начала измерения	детонации
		mov	A, RPM_RT
		movc	A, @A+DPTR
		cjne	A, #1Eh, code_1FF1

code_1FF1:
		jc	code_1FF5
		mov	A, #1Dh

code_1FF5:				; CODE XREF: RESET_0:code_1FF1j
		clr	C
		subb	A, #0Bh
		jnc	code_1FFC
		add	A, #1Eh

code_1FFC:				; CODE XREF: RESET_0+87Bj
		mov	R0, A
		mov	DPTR, #65F3h	; Фаза окончания измерения детонации
		mov	A, RPM_RT
		movc	A, @A+DPTR
		cjne	A, #1Eh, code_2006

code_2006:
		jc	code_200A
		mov	A, #1Dh

code_200A:				; CODE XREF: RESET_0:code_2006j
		clr	C
		subb	A, #0Bh
		jnc	code_2011
		add	A, #1Eh

code_2011:				; CODE XREF: RESET_0+890j
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	RAM_74,	A
		mov	RAM_4C,	R0
		setb	IEN0.7		; Interrupt Enable Register 0
		jbc	RAM_26.5, code_2052
		mov	A, RAM_5A
		inc	A
		jz	code_2023
		mov	RAM_5A,	A

code_2023:				; CODE XREF: RESET_0+8A2j
		jb	RAM_2B.0, code_2061 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	A, RAM_5A
		cjne	A, #22,	code_202B

code_202B:
		jc	code_2061
		setb	RAM_2B.0	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		clr	RAM_26.1
		clr	RAM_2E.2
		mov	RAM_53_CurrentEngineSpeed, #0
		mov	DPKVCount, #0
		mov	RPM, #0
		mov	EngineSpeedQuant, #0 ; Квантованные обороты двигателя
		mov	RPM_RT,	#0
		jb	SoftFlags1.7, code_204F	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		orl	SETMSK,	#6	; Compare Set Mask Register
		setb	P5.1		; Port 5 (PDIR=0)
		setb	P5.2		; Port 5 (PDIR=0)
		anl	CLRMSK,	#0F9h	; Compare Clear	Mask Register

code_204F:				; CODE XREF: RESET_0+8C5j
		ljmp	code_212E
; ---------------------------------------------------------------------------

code_2052:				; CODE XREF: RESET_0+89Cj
		jnb	RAM_2B.0, code_205E ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	A, RAM_5A
		cjne	A, #11,	code_205A

code_205A:
		jnc	code_205E
		clr	RAM_2B.0	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода

code_205E:				; CODE XREF: RESET_0:code_2052j
					; RESET_0:code_205Aj
		mov	RAM_5A,	#0

code_2061:				; CODE XREF: RESET_0:code_2023j
					; RESET_0:code_202Bj ...
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	R2, RAM_1C
		mov	R3, RAM_1D
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, R2
		orl	A, R3
		jz	code_20A8
		clr	RAM_28.4	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	MD0, #30h ; '0' ; Multiplication/Division Register 0
		mov	MD1, #82h ; 'В' ; Multiplication/Division Register 1
		mov	MD2, #0		; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, R2		; Multiplication/Division Register 4
		mov	MD5, R3		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	R2, MD2		; Multiplication/Division Register 2
		mov	R3, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		jb	RAM_28.4, code_2061 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	A, R2
		orl	A, R3
		jz	code_209C
		mov	R0, #0FFh
		mov	R1, #0FFh

code_209C:				; CODE XREF: RESET_0+919j
		mov	DPTR, #0FF49h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		jbc	RAM_28.6, code_20AB ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации

code_20A8:				; CODE XREF: RESET_0+8EEj RESET_0+938j
		ljmp	code_212E
; ---------------------------------------------------------------------------

code_20AB:				; CODE XREF: RESET_0+928j RESET_0+95Ej
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	R2, RAM_38
		mov	R3, RAM_39
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, R2
		orl	A, R3
		jz	code_20A8
		clr	RAM_28.4	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	MD0, #40h ; '@' ; Multiplication/Division Register 0
		mov	MD1, #42h ; 'B' ; Multiplication/Division Register 1
		mov	MD2, #0Fh	; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, R2		; Multiplication/Division Register 4
		mov	MD5, R3		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	R2, MD2		; Multiplication/Division Register 2
		mov	R3, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		jb	RAM_28.4, code_20AB ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	A, R2
		orl	A, R3
		jz	code_20E6
		mov	R0, #0FFh
		mov	R1, #0FFh

code_20E6:				; CODE XREF: RESET_0+963j
		mov	DPTR, #0F946h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	A, R0
		add	A, #1
		mov	B, A		; B-Register
		mov	A, R1
		addc	A, #0
		jc	code_20FC
		rrc	A
		jz	code_2101

code_20FC:				; CODE XREF: RESET_0+97Aj
		mov	RAM_53_CurrentEngineSpeed, #0FFh
		sjmp	code_2106
; ---------------------------------------------------------------------------

code_2101:				; CODE XREF: RESET_0+97Dj
		mov	A, B		; B-Register
		rrc	A
		mov	RAM_53_CurrentEngineSpeed, A

code_2106:				; CODE XREF: RESET_0+982j
		mov	A, R0
		add	A, #4
		mov	B, A		; B-Register
		mov	A, R1
		addc	A, #0
		jc	code_2121
		rrc	A
		xch	A, B		; B-Register
		rrc	A
		xch	A, B		; B-Register
		clr	C
		rrc	A
		xch	A, B		; B-Register
		rrc	A
		xch	A, B		; B-Register
		clr	C
		rrc	A
		jz	code_2125

code_2121:				; CODE XREF: RESET_0+991j
		mov	A, #0FFh
		sjmp	code_2128
; ---------------------------------------------------------------------------

code_2125:				; CODE XREF: RESET_0+9A2j
		mov	A, B		; B-Register
		rrc	A

code_2128:				; CODE XREF: RESET_0+9A6j
		mov	DPTR, #613Ch
		movc	A, @A+DPTR
		mov	EngineSpeedQuant, A ; Квантованные обороты двигателя

code_212E:				; CODE XREF: RESET_0:code_204Fj
					; RESET_0:code_20A8j
		mov	DPTR, #0F82Eh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #6064h
		clr	A
		movc	A, @A+DPTR
		mov	R2, A
		mov	A, #1
		movc	A, @A+DPTR
		mov	R3, A
		lcall	SUB_R0R1_R2R3
		clr	A
		jc	code_215F
		mov	DPTR, #6066h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	DIV_R0R1_8
		lcall	MUL_R0R1_B
		mov	A, R1
		jnz	code_215D
		mov	A, R0
		cjne	A, #0F0h, code_215B ; 'Ё'

code_215B:
		jc	code_215F

code_215D:				; CODE XREF: RESET_0+9D8j
		mov	A, #0F0h ; 'Ё'

code_215F:				; CODE XREF: RESET_0+9C8j
					; RESET_0:code_215Bj
		mov	RAM_5C_GBC, A
		add	A, #4
		swap	A
		rl	A
		anl	A, #1Fh
		mov	DPTR, #0F8B9h
		movx	@DPTR, A
		mov	A, RAM_5C_GBC
		add	A, #8
		anl	A, #0F0h
		mov	B, A		; B-Register
		mov	A, EngineSpeedQuant ; Квантованные обороты двигателя
		add	A, #8
		anl	A, #0F0h
		swap	A
		xch	A, B		; B-Register
		add	A, B		; B-Register
		mov	RPM_GBC_3D_RT, A
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		add	A, #8
		anl	A, #0F0h
		add	A, B		; B-Register
		mov	RPM_THROTTLE_3D_RT, A
		clr	A
		mov	DPTR, #5F40h	;   0 защита стартера
		movc	A, @A+DPTR
		jnb	ACC.0, code_21DF ; Accumulator
		jb	RAM_2B.0, code_21DF ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #0F95Bh
		movx	A, @DPTR
		jnb	RAM_29.1, code_21A4 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		inc	A
		jz	code_21A4
		movx	@DPTR, A

code_21A4:				; CODE XREF: RESET_0+A20j RESET_0+A24j
		mov	B, A		; B-Register
		mov	DPTR, #987Dh
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		cjne	A, B, code_21AF	; B-Register

code_21AF:
		jc	code_21D8
		mov	DPTR, #98A4h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		cjne	A, RAM_53_CurrentEngineSpeed, code_21BA

code_21BA:
		jc	code_21C3
		clr	A
		mov	DPTR, #0F95Ch
		movx	@DPTR, A
		sjmp	code_21DF
; ---------------------------------------------------------------------------

code_21C3:				; CODE XREF: RESET_0:code_21BAj
		mov	DPTR, #0F95Ch
		movx	A, @DPTR
		inc	A
		jz	code_21CB
		movx	@DPTR, A

code_21CB:				; CODE XREF: RESET_0+A4Bj
		mov	B, A		; B-Register
		mov	DPTR, #98CBh
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		cjne	A, B, code_21D6	; B-Register

code_21D6:
		jnc	code_21DF

code_21D8:				; CODE XREF: RESET_0:code_21AFj
		mov	DPTR, #0F999h
		movx	A, @DPTR
		clr	ACC.5		; Accumulator
		movx	@DPTR, A

code_21DF:				; CODE XREF: RESET_0+A16j RESET_0+A19j ...
		mov	A, RPM_THROTTLE_3D_RT
		mov	DPTR, #7AC7h	; Зона адаптации по шуму 3D таблица (используются отдельные биты)
		movc	A, @A+DPTR
		mov	C, ACC.4	; Accumulator
		anl	C, /RAM_2C.2	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	RAM_26.7, C
		mov	B, #8		; B-Register
		jb	SoftFlags1.7, code_21F4	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #2		; B-Register

code_21F4:				; CODE XREF: RESET_0+A71j
		lcall	Read_AD
		mov	DPTR, #0F80Fh
		movx	@DPTR, A
		mov	DPTR, #0F817h
		lcall	Sum
		mov	B, #4		; B-Register
		lcall	Read_AD
		mov	DPTR, #0F80Bh
		movx	@DPTR, A
		mov	DPTR, #0F813h
		lcall	Sum
		mov	B, #0		; B-Register
		jb	SoftFlags1.7, code_221A	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #1		; B-Register

code_221A:				; CODE XREF: RESET_0+A97j
		lcall	Read_AD
		mov	DPTR, #0F80Dh
		movx	@DPTR, A
		mov	R0, A
		mov	DPTR, #0F81Bh
		lcall	Sum
		mov	A, R0
		cjne	A, #26,	code_222C

code_222C:				; Переход если A (АЦП на замке зажигания) >= 26
		jnc	code_224C
		jb	RAM_29.4, code_2253 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #5FE7h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0FA78h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, B, code_2241	; B-Register

code_2241:
		jc	code_2253
		setb	RAM_29.4	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		clr	A
		mov	DPTR, #0F87Ch
		movx	@DPTR, A
		sjmp	code_2253
; ---------------------------------------------------------------------------

code_224C:				; CODE XREF: RESET_0:code_222Cj
		clr	RAM_29.4	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		clr	A
		mov	DPTR, #0FA78h
		movx	@DPTR, A

code_2253:				; CODE XREF: RESET_0+AB1j
					; RESET_0:code_2241j ...
		mov	B, #1		; B-Register
		jb	SoftFlags1.7, code_225C	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #3		; B-Register

code_225C:				; CODE XREF: RESET_0+AD9j
		lcall	Read_AD
		mov	DPTR, #0F8A9h
		movx	@DPTR, A
		mov	DPTR, #0F81Dh
		lcall	Sum
		mov	DPTR, #0F812h
		movx	A, @DPTR
		jnz	code_227B	; Переход если идет цикл поиска	мин/мах	АЦП ДПДЗ
		mov	A, B		; B-Register
		mov	DPTR, #0F825h
		movx	@DPTR, A
		mov	DPTR, #0F826h
		movx	@DPTR, A
		sjmp	code_2295
; ---------------------------------------------------------------------------

code_227B:				; CODE XREF: RESET_0+AF0j
		mov	DPTR, #0F825h	; Проверка на мин АЦП ДПДЗ
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_2289	; Переход если увеличение дросселя
		mov	A, B		; B-Register
		movx	@DPTR, A
		sjmp	code_2295
; ---------------------------------------------------------------------------

code_2289:				; CODE XREF: RESET_0+B05j
		mov	DPTR, #0F826h	; Проверка на мах АЦП ДПДЗ
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jnc	code_2295
		mov	A, B		; B-Register
		movx	@DPTR, A

code_2295:				; CODE XREF: RESET_0+AFCj RESET_0+B0Aj ...
		mov	DPTR, #0F812h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #32,	code_22AA
		clr	A
		movx	@DPTR, A
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		jb	SensorsParts.4,	Process_DTV ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		ljmp	Get_DTV_Value_By_Error ; Значение ДТВ при аварии
; ---------------------------------------------------------------------------

code_22AA:				; CODE XREF: RESET_0+B1Ej
		ljmp	code_2554
; ---------------------------------------------------------------------------

Process_DTV:				; CODE XREF: RESET_0+B27j
		mov	DPTR, #0F817h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	mul_r0r1_16
		mov	DPTR, #0F8ACh
		movx	A, @DPTR
		cjne	A, #15,	code_22C0

code_22C0:
		jc	_Calc_DTV_Value
		mov	DPTR, #60B6h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		cjne	A, B, code_22CD	; B-Register

code_22CD:				; Переход если обрыв ДТВ (напряжение меньше минимума)
		jc	Error_DTV_Min
		mov	DPTR, #60B7h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		cjne	A, B, code_22DA	; B-Register

code_22DA:				; Переход если ошибка ДТВ (напряжение больше максимума)
		jnc	Error_DTV_Max

_Calc_DTV_Value:			; CODE XREF: RESET_0:code_22C0j
		mov	A, R1
		mov	DPTR, #6126h	; Тарировка ДТВ
		lcall	Calc_DTV_Value
		mov	DPTR, #0F885h	; Текущее значение ДТВ (текущая	температура воздуха)
		movx	@DPTR, A
		clr	RAM_23_ErrorMask2.2 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.2 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		sjmp	code_2300
; ---------------------------------------------------------------------------

Error_DTV_Min:				; CODE XREF: RESET_0:code_22CDj
		setb	RAM_23_ErrorMask2.2 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.2 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		sjmp	Get_DTV_Value_By_Error ; Значение ДТВ при аварии
; ---------------------------------------------------------------------------

Error_DTV_Max:				; CODE XREF: RESET_0:code_22DAj
		clr	RAM_23_ErrorMask2.2 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		setb	RAM_24_ErrorMask3.2 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)

Get_DTV_Value_By_Error:			; CODE XREF: RESET_0+B2Aj RESET_0+B74j
		mov	DPTR, #60B9h	; Значение ДТВ при аварии
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F885h	; Текущее значение ДТВ (текущая	температура воздуха)
		movx	@DPTR, A

code_2300:				; CODE XREF: RESET_0+B6Ej
		mov	DPTR, #0F885h	; Текущее значение ДТВ (текущая	температура воздуха)
		movx	A, @DPTR
		add	A, #2
		mov	B, #5		; B-Register
		div	AB
		cjne	A, #36,	code_230D

code_230D:
		jc	code_2311
		mov	A, #36

code_2311:				; CODE XREF: RESET_0:code_230Dj
		mov	DPTR, #0F884h
		movx	@DPTR, A
		mov	DPTR, #0F885h	; Текущее значение ДТВ (текущая	температура воздуха)
		movx	A, @DPTR
		mov	DPTR, #5EA4h	; Мультипликативный коэфф. коррекции GBC по температуре	воздуха
		lcall	Get2D_DTOG_Argument
		mov	DPTR, #0F98Dh	; Значение мультипликативный коэфф. коррекции GBC по температуре воздуха
		movx	@DPTR, A
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jnb	ACC.7, Process_DTOG ; Обработка	ДТОЖ
		ljmp	code_23C2
; ---------------------------------------------------------------------------

Process_DTOG:				; CODE XREF: RESET_0+BA8j
		mov	DPTR, #0F813h	; Обработка ДТОЖ
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	mul_r0r1_16
		mov	DPTR, #60B5h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F873h
		movx	A, @DPTR
		cjne	A, B, code_2345	; B-Register

code_2345:
		jc	code_2361
		mov	DPTR, #60B1h	; Мин. напряжение АЦП ДТОЖ для диагностики
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		cjne	A, B, code_2352	; B-Register

code_2352:
		jc	code_23A7
		mov	DPTR, #60B2h	; Макс.	напряжение АЦП ДТОЖ для	диагностики
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		cjne	A, B, code_235F	; B-Register

code_235F:
		jnc	code_23AD

code_2361:				; CODE XREF: RESET_0:code_2345j
		mov	A, R1
		mov	DPTR, #6104h	; Тарировка ДТОЖ
		lcall	code_4977
		clr	C
		subb	A, #20
		jnc	code_236E
		clr	A

code_236E:				; CODE XREF: RESET_0+BEEj
		mov	DTOG_Value, A	; Текущее значение ДТОЖ	(температура двигателя)
		mov	DPTR, #0F9B6h	; Текущее значение ДТОЖ	(температура двигателя)
		movx	@DPTR, A
		clr	RAM_23_ErrorMask2.3 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.3 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		mov	B, A		; B-Register
		mov	DPTR, #0F9B7h
		movx	A, @DPTR
		jnz	code_23C2
		mov	DPTR, #5FB6h
		clr	A
		movc	A, @A+DPTR
		cjne	A, B, code_2388	; B-Register

code_2388:
		jnc	code_23C2
		mov	DPTR, #0F9B5h
		movx	A, @DPTR
		xch	A, B		; B-Register
		clr	C
		subb	A, B		; B-Register
		mov	B, A		; B-Register
		mov	DPTR, #5FB5h
		clr	A
		movc	A, @A+DPTR
		cjne	A, B, code_239D	; B-Register

code_239D:
		jnc	code_23C2
		mov	A, #1
		mov	DPTR, #0F9B7h
		movx	@DPTR, A
		sjmp	code_23C2
; ---------------------------------------------------------------------------

code_23A7:				; CODE XREF: RESET_0:code_2352j
		setb	RAM_23_ErrorMask2.3 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.3 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		sjmp	code_23B1
; ---------------------------------------------------------------------------

code_23AD:				; CODE XREF: RESET_0:code_235Fj
		clr	RAM_23_ErrorMask2.3 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		setb	RAM_24_ErrorMask3.3 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)

code_23B1:				; CODE XREF: RESET_0+C2Ej
		mov	DPTR, #0F8ACh
		movx	A, @DPTR
		anl	A, #0F0h
		swap	A
		mov	B, A		; B-Register
		mov	DPTR, #7DF7h
		mov	A, B		; B-Register
		movc	A, @A+DPTR
		mov	DTOG_Value, A	; Текущее значение ДТОЖ	(температура двигателя)

code_23C2:				; CODE XREF: RESET_0+BABj RESET_0+C01j ...
		mov	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		add	A, #2
		mov	B, #5		; B-Register
		div	AB
		cjne	A, #36,	code_23CD

code_23CD:
		jc	code_23D1
		mov	A, #36

code_23D1:				; CODE XREF: RESET_0:code_23CDj
		mov	DTOG_RT, A
		lcall	code_BF14
		mov	DPTR, #8E0Ah
		mov	A, RPM_RT
		movc	A, @A+DPTR
		mov	DPTR, #0F93Bh
		movx	@DPTR, A
		mov	DPTR, #0F81Bh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	mul_r0r1_16
		mov	A, R1
		mov	DPTR, #0F80Dh
		movx	@DPTR, A
		mov	DPTR, #60BAh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		cjne	A, B, code_23FC	; B-Register

code_23FC:
		jc	code_2416
		mov	DPTR, #60BBh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		cjne	A, B, code_2409	; B-Register

code_2409:
		jnc	code_2432
		clr	RAM_23_ErrorMask2.0 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.0 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		clr	A
		mov	DPTR, #0F9B1h
		movx	@DPTR, A
		sjmp	code_2460
; ---------------------------------------------------------------------------

code_2416:				; CODE XREF: RESET_0:code_23FCj
		jb	RAM_29.4, code_2449 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		jb	RAM_23_ErrorMask2.0, code_2449 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		mov	DPTR, #0F9B1h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #15h, code_2425

code_2425:
		jc	code_2449
		setb	RAM_23_ErrorMask2.0 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.0 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		clr	A
		mov	DPTR, #0F9B1h
		movx	@DPTR, A
		sjmp	code_2449
; ---------------------------------------------------------------------------

code_2432:				; CODE XREF: RESET_0:code_2409j
		jb	RAM_24_ErrorMask3.0, code_2449 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		mov	DPTR, #0F9B1h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #15h, code_243E

code_243E:
		jc	code_2449
		clr	RAM_23_ErrorMask2.0 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		setb	RAM_24_ErrorMask3.0 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		clr	A
		mov	DPTR, #0F9B1h
		movx	@DPTR, A

code_2449:				; CODE XREF: RESET_0:code_2416j
					; RESET_0+C9Cj	...
		mov	DPTR, #60BEh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #60C0h
		mov	A, DPKVCount
		cjne	A, B, code_2458	; B-Register

code_2458:
		jnc	code_245D
		mov	DPTR, #60BFh

code_245D:				; CODE XREF: RESET_0:code_2458j
		clr	A
		movc	A, @A+DPTR
		mov	R1, A

code_2460:				; CODE XREF: RESET_0+C97j
		mov	DPTR, #0F836h
		movx	A, @DPTR
		mov	R0, A
		mov	DPTR, #5FA2h
		clr	C
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		clr	C
		subb	A, R0
		jnc	code_247C
		mov	R1, A
		clr	A
		clr	C
		subb	A, R1
		mul	AB
		clr	A
		clr	C
		subb	A, B		; B-Register
		sjmp	code_247F
; ---------------------------------------------------------------------------

code_247C:				; CODE XREF: RESET_0+CF2j
		mul	AB
		mov	A, B		; B-Register

code_247F:				; CODE XREF: RESET_0+CFDj
		add	A, R0
		mov	R1, A
		mov	DPTR, #60BCh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F836h
		mov	A, R1
		movx	@DPTR, A
		clr	C
		subb	A, B		; B-Register
		jnc	code_2493
		clr	A

code_2493:				; CODE XREF: RESET_0+D13j
		mov	B, A		; B-Register
		mov	DPTR, #60BDh
		clr	A
		movc	A, @A+DPTR
		mul	AB
		jnb	B.7, code_24A2	; B-Register
		mov	A, #0FFh
		sjmp	code_24A6
; ---------------------------------------------------------------------------

code_24A2:				; CODE XREF: RESET_0+D1Ej
		rlc	A
		mov	A, B		; B-Register
		rlc	A

code_24A6:				; CODE XREF: RESET_0+D23j
		mov	DPTR, #0F978h
		movx	@DPTR, A
		mov	DPTR, #71D8h	; Динамическая производительность форсунки
		lcall	GetTable2DCell
		mov	DPTR, #0F8B8h
		movx	@DPTR, A
		mov	DPTR, #0F825h	; Min АЦП ДПДЗ
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F826h	; Max АЦП ДПДЗ
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		mov	B, A		; B-Register
		mov	DPTR, #6069h	; Ширина полосы	адаптации ДПДЗ
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_24EC	; Адаптация нуля дросселя
		mov	DPTR, #0F81Dh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	mul_r0r1_16
		mov	DPTR, #0F8B2h
		movx	A, @DPTR
		clr	C
		subb	A, R1
		jc	code_24EC	; Адаптация нуля дросселя
		mov	A, R1
		mov	DPTR, #0F827h
		movx	@DPTR, A
		mov	DPTR, #0F8B2h
		movx	@DPTR, A
		sjmp	code_2509
; ---------------------------------------------------------------------------

code_24EC:				; CODE XREF: RESET_0+D4Ej RESET_0+D62j
		jnb	PartFlags1.1, code_2509	; Адаптация нуля дросселя
		mov	DPTR, #0F805h
		movx	A, @DPTR
		jnz	code_2509
		mov	DPTR, #6067h	; Начальное положение ДПДЗ
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F8B2h
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jnc	code_2509
		add	A, B		; B-Register
		inc	A
		movx	@DPTR, A

code_2509:				; CODE XREF: RESET_0+D6Dj
					; RESET_0:code_24ECj ...
		mov	DPTR, #0F81Dh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	mul_r0r1_16
		mov	DPTR, #5F04h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.0, code_253D ; Accumulator
		mov	DPTR, #606Bh	; Минимальное напряжение ДПДЗ
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		clr	C
		subb	A, B		; B-Register
		jc	code_253D
		mov	DPTR, #606Ch	; Максимальное напряжение ДПДЗ
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		clr	C
		subb	A, B		; B-Register
		jnc	code_2543
		clr	RAM_23_ErrorMask2.5 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.5 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		sjmp	code_2547
; ---------------------------------------------------------------------------

code_253D:				; CODE XREF: RESET_0+D9Dj RESET_0+DABj
		setb	RAM_23_ErrorMask2.5 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.5 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		sjmp	code_2547
; ---------------------------------------------------------------------------

code_2543:				; CODE XREF: RESET_0+DB8j
		clr	RAM_23_ErrorMask2.5 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		setb	RAM_24_ErrorMask3.5 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)

code_2547:				; CODE XREF: RESET_0+DBEj RESET_0+DC4j
		clr	A
		mov	DPTR, #0F813h
		mov	R1, #16

code_254D:				; CODE XREF: RESET_0+DD3j
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		djnz	R1, code_254D
		setb	RAM_29.3	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)

code_2554:				; CODE XREF: RESET_0:code_22AAj
		mov	DPTR, #5F07h
		clr	A
		movc	A, @A+DPTR
		jnb	ACC.0, code_256C ; Контроллер широкополосного ДК аналоговый (КТ39 Я5, КТ75 Я7)
		mov	B, #1010110b	; B-Register
		lcall	Read_AD
		mov	DPTR, #62ACh	; Тарировка ШДК
		movc	A, @A+DPTR
		mov	DPTR, #0F906h	; Текущее значение с ШДК
		movx	@DPTR, A
		setb	SoftFlags1.1	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag

code_256C:				; CODE XREF: RESET_0+DDCj
		mov	DPTR, #5F06h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F879h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		mov	R1, A
		mov	DPTR, #5F57h
		movc	A, @A+DPTR
		xch	A, R1
		cjne	A, #1, code_259B
		mov	DPTR, #5F07h
		clr	A
		movc	A, @A+DPTR
		jnb	ACC.1, code_2598 ; Датчик температуры отработавших газов (КТ42 пин Я5) EGT
		mov	B, RAM_1	; B-Register
		lcall	Read_AD
		mov	DPTR, #6813h	; Тарировка ДТОГ (EGT)
		movc	A, @A+DPTR
		mov	DPTR, #0F98Eh
		movx	@DPTR, A

code_2598:				; CODE XREF: RESET_0+E0Aj
		ljmp	code_2622
; ---------------------------------------------------------------------------

code_259B:				; CODE XREF: RESET_0+E02j
		cjne	A, #2, code_25AE
		clr	A
		jnb	B.0, code_25A8	; B-Register
		mov	B, RAM_1	; B-Register
		lcall	code_4955

code_25A8:				; CODE XREF: RESET_0+E22j
		mov	DPTR, #0FA94h
		movx	@DPTR, A
		sjmp	code_2622
; ---------------------------------------------------------------------------

code_25AE:				; CODE XREF: RESET_0:code_259Bj
		cjne	A, #3, code_25C1
		clr	A
		jnb	B.1, code_25BB	; B-Register
		mov	B, RAM_1	; B-Register
		lcall	code_4955

code_25BB:				; CODE XREF: RESET_0+E35j
		mov	DPTR, #0FA95h
		movx	@DPTR, A
		sjmp	code_2622
; ---------------------------------------------------------------------------

code_25C1:				; CODE XREF: RESET_0:code_25AEj
		cjne	A, #4, code_25D4
		clr	A
		jnb	B.2, code_25CE	; B-Register
		mov	B, RAM_1	; B-Register
		lcall	code_4955

code_25CE:				; CODE XREF: RESET_0+E48j
		mov	DPTR, #0FA96h
		movx	@DPTR, A
		sjmp	code_2622
; ---------------------------------------------------------------------------

code_25D4:				; CODE XREF: RESET_0:code_25C1j
		cjne	A, #5, code_25E7
		clr	A
		jnb	B.3, code_25E1	; B-Register
		mov	B, RAM_1	; B-Register
		lcall	code_4955

code_25E1:				; CODE XREF: RESET_0+E5Bj
		mov	DPTR, #0FA97h
		movx	@DPTR, A
		sjmp	code_2622
; ---------------------------------------------------------------------------

code_25E7:				; CODE XREF: RESET_0:code_25D4j
		cjne	A, #6, code_25FA
		clr	A
		jnb	B.4, code_25F4	; B-Register
		mov	B, RAM_1	; B-Register
		lcall	code_4955

code_25F4:				; CODE XREF: RESET_0+E6Ej
		mov	DPTR, #0FA98h
		movx	@DPTR, A
		sjmp	code_2622
; ---------------------------------------------------------------------------

code_25FA:				; CODE XREF: RESET_0:code_25E7j
		cjne	A, #7, code_260D
		clr	A
		jnb	B.5, code_2607	; B-Register
		mov	B, RAM_1	; B-Register
		lcall	code_494D

code_2607:				; CODE XREF: RESET_0+E81j
		mov	DPTR, #0FA99h
		movx	@DPTR, A
		sjmp	code_2622
; ---------------------------------------------------------------------------

code_260D:				; CODE XREF: RESET_0:code_25FAj
		cjne	A, #8, code_2620
		clr	A
		jnb	B.6, code_261A	; B-Register
		mov	B, RAM_1	; B-Register
		lcall	code_494D

code_261A:				; CODE XREF: RESET_0+E94j
		mov	DPTR, #0FA9Ah
		movx	@DPTR, A
		sjmp	code_2622
; ---------------------------------------------------------------------------

code_2620:				; CODE XREF: RESET_0:code_260Dj
		clr	A
		movx	@DPTR, A

code_2622:				; CODE XREF: RESET_0:code_2598j
					; RESET_0+E2Fj	...
		jb	SoftFlags1.6, code_268B	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jnb	RAM_2A.3, code_268B ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		jb	RAM_26.6, code_268B
		jb	RAM_22.6, code_268B
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		jb	ACC.1, code_268B ; Accumulator
		mov	DPTR, #0F4E0h
		movx	A, @DPTR
		jnz	code_268B
		mov	DPTR, #0F4E8h
		movx	A, @DPTR
		jnz	code_268B
		mov	DPTR, #0F9A4h
		movx	A, @DPTR
		jz	code_268B
		mov	DPTR, #0F9A6h
		movx	A, @DPTR
		mov	R2, A
		inc	DPTR
		movx	A, @DPTR
		mov	R1, A
		mov	B, #3		; B-Register
		jb	SoftFlags1.7, code_2658	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #0		; B-Register

code_2658:				; CODE XREF: RESET_0+ED5j
		lcall	Read_AD
		mov	R3, A
		mov	DPTR, #0F9A4h
		movx	A, @DPTR
		xch	A, R3
		lcall	code_3F22
		mov	R3, A
		mov	DPTR, #0F9A4h
		movx	@DPTR, A
		mov	A, R2
		mov	DPTR, #0F9A6h
		movx	@DPTR, A
		inc	DPTR
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #0F9A5h
		movx	A, @DPTR
		clr	C
		subb	A, R3
		jnc	code_268B
		mov	DPTR, #0F9A8h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		mov	R3, A
		mov	DPTR, #5FA7h	; Период для диагностики ДПКВ
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, R3
		jnc	code_2690
		setb	RAM_22.0

code_268B:				; CODE XREF: RESET_0:code_2622j
					; RESET_0+EA8j	...
		clr	A
		mov	DPTR, #0F9A8h
		movx	@DPTR, A

code_2690:				; CODE XREF: RESET_0+F0Aj
		jb	SensorsParts.0,	code_2696 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		ljmp	code_2867
; ---------------------------------------------------------------------------

code_2696:				; CODE XREF: RESET_0:code_2690j
		mov	B, #2		; B-Register
		jb	SoftFlags1.7, code_269F	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #0Ah		; B-Register

code_269F:				; CODE XREF: RESET_0+F1Cj
		lcall	Read_AD
		push	ACC		; Accumulator
		mov	C, B.7		; B-Register
		rlc	A
		mov	C, B.6		; B-Register
		rlc	A
		mov	DPTR, #0F802h	; АЦП ДК
		movx	@DPTR, A
		pop	B		; B-Register
		mov	DPTR, #0F811h
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		mov	B, #128		; B-Register
		jc	code_26C5
		mul	AB
		mov	A, B		; B-Register
		cpl	A
		inc	A
		mov	B, A		; B-Register
		sjmp	code_26C8
; ---------------------------------------------------------------------------

code_26C5:				; CODE XREF: RESET_0+F3Dj
		cpl	A
		inc	A
		mul	AB

code_26C8:				; CODE XREF: RESET_0+F46j
		mov	DPTR, #0F811h
		movx	A, @DPTR
		add	A, B		; B-Register
		mov	R0, A
		mov	DPTR, #0F811h
		movx	@DPTR, A
		mov	B, #4		; B-Register
		mul	AB
		mov	DPTR, #0F815h
		movx	@DPTR, A
		jb	RAM_29.7, code_26E9 ; Напряжение переключения Rich-Lean
		mov	DPTR, #5FEDh	; Напряжение переключения Rich-Lean 2
		jb	RAM_2C.7, code_26F2 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	DPTR, #5FEEh	; Напряжение переключения Lean-Rich 2
		sjmp	code_26F2
; ---------------------------------------------------------------------------

code_26E9:				; CODE XREF: RESET_0+F5Ej
		mov	DPTR, #609Eh	; Напряжение переключения Rich-Lean
		jb	RAM_2C.7, code_26F2 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	DPTR, #609Fh	; Напряжение переключения Lean-Rich

code_26F2:				; CODE XREF: RESET_0+F64j RESET_0+F6Aj ...
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R0
		clr	C
		subb	A, B		; B-Register
		cpl	C
		mov	RAM_2C.7, C	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		jb	RAM_2B.3, code_274A ; Макс. напряжение АЦП ДК для диагностики
		mov	DPTR, #60D5h	; Мин. напряжение АЦП ДК для диагностики
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, R0
		jc	code_274A	; Макс.	напряжение АЦП ДК для диагностики
		jb	RAM_23_ErrorMask2.4, code_2747 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		jnb	RAM_29.1, code_2747 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F810h
		movx	A, @DPTR
		jb	ACC.2, code_2719 ; Accumulator
		jnb	ACC.1, code_2729 ; Accumulator

code_2719:				; CODE XREF: RESET_0+F96j
		jnb	RAM_2B.4, code_274A ; Макс. напряжение АЦП ДК для диагностики
		mov	DPTR, #0F8C3h
		movx	A, @DPTR
		mov	B, A		; B-Register
		inc	A
		movx	@DPTR, A
		mov	DPTR, #5F90h	; Время	для фиксации ошибки ДК
		sjmp	code_2737
; ---------------------------------------------------------------------------

code_2729:				; CODE XREF: RESET_0+F99j
		jnb	RAM_2A.6, code_2747 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #0F8C3h
		movx	A, @DPTR
		mov	B, A		; B-Register
		inc	A
		movx	@DPTR, A
		mov	DPTR, #5FA1h	; Период диагностики ошибки низкого уровня ДК

code_2737:				; CODE XREF: RESET_0+FAAj
		clr	A
		movc	A, @A+DPTR
		cjne	A, B, code_273C	; B-Register

code_273C:
		jnc	code_2747
		setb	RAM_23_ErrorMask2.4 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		mov	DPTR, #0F810h
		movx	A, @DPTR
		clr	ACC.0		; Accumulator
		movx	@DPTR, A

code_2747:				; CODE XREF: RESET_0+F8Cj RESET_0+F8Fj ...
		ljmp	code_2850
; ---------------------------------------------------------------------------

code_274A:				; CODE XREF: RESET_0+F80j RESET_0+F8Aj ...
		mov	DPTR, #60D6h	; Макс.	напряжение АЦП ДК для диагностики
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, R0
		jnc	code_2794
		jb	RAM_24_ErrorMask3.4, code_2791 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jnb	RAM_29.1, code_2791 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F810h
		movx	A, @DPTR
		jb	ACC.2, code_2763 ; Accumulator
		jnb	ACC.1, code_2773 ; Accumulator

code_2763:				; CODE XREF: RESET_0+FE0j
		jnb	RAM_2B.4, code_2794 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #0F8C3h
		movx	A, @DPTR
		mov	B, A		; B-Register
		inc	A
		movx	@DPTR, A
		mov	DPTR, #5F90h	; Время	для фиксации ошибки ДК
		sjmp	code_2781
; ---------------------------------------------------------------------------

code_2773:				; CODE XREF: RESET_0+FE3j
		jnb	RAM_2A.6, code_2791 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #0F8C3h
		movx	A, @DPTR
		mov	B, A		; B-Register
		inc	A
		movx	@DPTR, A
		mov	DPTR, #5FA4h

code_2781:				; CODE XREF: RESET_0+FF4j
		clr	A
		movc	A, @A+DPTR
		cjne	A, B, code_2786	; B-Register

code_2786:
		jnc	code_2791
		setb	RAM_24_ErrorMask3.4 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		mov	DPTR, #0F810h
		movx	A, @DPTR
		clr	ACC.0		; Accumulator
		movx	@DPTR, A

code_2791:				; CODE XREF: RESET_0+FD6j RESET_0+FD9j ...
		ljmp	code_2850
; ---------------------------------------------------------------------------

code_2794:				; CODE XREF: RESET_0+FD4j
					; RESET_0:code_2763j
		clr	RAM_23_ErrorMask2.4 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.4 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		clr	A
		mov	DPTR, #0F8C3h
		movx	@DPTR, A
		mov	DPTR, #0F810h
		movx	A, @DPTR
		jb	ACC.2, code_27C3 ; Accumulator
		jnb	ACC.1, code_27C3 ; Accumulator
		jnb	RAM_29.1, code_27C3 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #5F92h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F8C5h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, B, code_27BA	; B-Register

code_27BA:
		jc	code_27C3
		mov	DPTR, #0F810h
		movx	A, @DPTR
		setb	ACC.2		; Accumulator
		movx	@DPTR, A

code_27C3:				; CODE XREF: RESET_0+1024j
					; RESET_0+1027j ...
		jnb	RAM_2A.3, code_27D2 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	A
		mov	DPTR, #0F810h
		movx	@DPTR, A
		mov	DPTR, #0F8C5h
		movx	@DPTR, A
		ljmp	code_2867
; ---------------------------------------------------------------------------

code_27D2:				; CODE XREF: RESET_0:code_27C3j
		mov	DPTR, #5F81h
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, R0
		mov	B.0, C		; B-Register
		mov	DPTR, #5F82h
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, R0
		orl	C, /B.0		; B-Register
		cpl	C
		jnc	code_27FC
		mov	DPTR, #0F810h
		movx	A, @DPTR
		jb	ACC.0, code_2820 ; Accumulator

code_27EE:				; CODE XREF: RESET_0+10CCj
		clr	A
		mov	DPTR, #0F803h
		movx	@DPTR, A
		mov	DPTR, #0F810h
		movx	A, @DPTR
		clr	ACC.0		; Accumulator
		movx	@DPTR, A
		sjmp	code_2850
; ---------------------------------------------------------------------------

code_27FC:				; CODE XREF: RESET_0+1068j
		clr	A
		mov	DPTR, #0F8C4h
		movx	@DPTR, A
		mov	DPTR, #5F83h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F803h
		movx	A, @DPTR
		inc	A
		jz	code_2810
		movx	@DPTR, A

code_2810:				; CODE XREF: RESET_0+1090j
		cjne	A, B, code_2813	; B-Register

code_2813:
		jc	code_2850
		clr	RAM_25_ErrorMask4.3
		mov	DPTR, #0F810h
		movx	A, @DPTR
		setb	ACC.0		; Accumulator
		movx	@DPTR, A
		sjmp	code_2850
; ---------------------------------------------------------------------------

code_2820:				; CODE XREF: RESET_0+106Ej
		mov	DPTR, #0F810h
		movx	A, @DPTR
		jnb	ACC.2, code_284B ; Accumulator
		jnb	RAM_2B.4, code_284B ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		jb	RAM_2C.2, code_284B ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		jnb	RAM_29.7, code_284B ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		jnb	RAM_29.1, code_2850 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #5F91h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F8C4h
		movx	A, @DPTR
		inc	A
		jz	code_2842
		movx	@DPTR, A

code_2842:				; CODE XREF: RESET_0+10C2j
		cjne	A, B, code_2845	; B-Register

code_2845:
		jc	code_2850
		setb	RAM_25_ErrorMask4.3
		sjmp	code_27EE
; ---------------------------------------------------------------------------

code_284B:				; CODE XREF: RESET_0+10A7j
					; RESET_0+10AAj ...
		clr	A
		mov	DPTR, #0F8C4h
		movx	@DPTR, A

code_2850:				; CODE XREF: RESET_0:code_2747j
					; RESET_0:code_2791j ...
		jb	RAM_2C.2, code_2867 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	DPTR, #5F96h	; Температура разрешения обучения
		clr	A
		movc	A, @A+DPTR
		cjne	A, DTOG_Value, code_285B ; Текущее значение ДТОЖ (температура двигателя)

code_285B:
		mov	DPTR, #0F810h
		movx	A, @DPTR
		anl	C, ACC.2	; Accumulator
		anl	C, /ACC.0	; Accumulator
		jnc	code_2867
		setb	RAM_25_ErrorMask4.3

code_2867:				; CODE XREF: RESET_0+F16j
					; RESET_0+1052j ...
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		mov	DPTR, #5F04h
		clr	A
		movc	A, @A+DPTR
		jnb	ACC.0, code_287A ; Зажигание по	ДАД (карбюраторный двигатель)
		clr	RAM_2B.1	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	RAM_52_THR, #100 ; Положение дросселя
		sjmp	code_28E2
; ---------------------------------------------------------------------------

code_287A:				; CODE XREF: RESET_0+10F3j
		mov	C, RAM_23_ErrorMask2.5 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.5 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jc	code_28D2	; Переход по ошибке ДПДЗ
		mov	B, #1		; B-Register
		jb	SoftFlags1.7, code_2889	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #3		; B-Register

code_2889:				; CODE XREF: RESET_0+1106j
		lcall	Read_AD
		mov	B, A		; B-Register
		mov	DPTR, #0F827h
		movx	A, @DPTR
		xch	A, B		; B-Register
		clr	C
		subb	A, B		; B-Register
		jc	code_28AC
		mov	B, A		; B-Register
		mov	DPTR, #6068h
		clr	A
		movc	A, @A+DPTR
		mul	AB
		mov	A, B		; B-Register
		cjne	A, #100, code_28A6

code_28A6:
		jc	code_28AD
		mov	A, #100
		sjmp	code_28AD
; ---------------------------------------------------------------------------

code_28AC:				; CODE XREF: RESET_0+111Aj
		clr	A

code_28AD:				; CODE XREF: RESET_0:code_28A6j
					; RESET_0+112Dj
		mov	B, RAM_52_THR	; Положение дросселя
		mov	RAM_52_THR, A	; Положение дросселя
		clr	C
		subb	A, B		; B-Register
		jz	code_28D0
		jnc	code_28D0
		cpl	A
		inc	A
		mov	B, A		; B-Register
		mov	DPTR, #80DEh
		mov	A, RPM_RT
		movc	A, @A+DPTR
		cjne	A, B, code_28C6	; B-Register

code_28C6:
		jnc	code_28D0
		clr	A
		mov	DPTR, #0F97Bh
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	@DPTR, A

code_28D0:				; CODE XREF: RESET_0+1138j
					; RESET_0+113Aj ...
		sjmp	code_28EF
; ---------------------------------------------------------------------------

code_28D2:				; CODE XREF: RESET_0+1101j
		jb	RAM_2A.4, code_28DF ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #6EEFh	; Зона регулирования по	дросселю
		mov	A, RPM_RT
		movc	A, @A+DPTR
		mov	RAM_52_THR, A	; Положение дросселя
		sjmp	code_28E2
; ---------------------------------------------------------------------------

code_28DF:				; CODE XREF: RESET_0:code_28D2j
		mov	RAM_52_THR, #0	; Положение дросселя

code_28E2:				; CODE XREF: RESET_0+10FBj
					; RESET_0+1160j
		mov	DPTR, #6067h
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F827h
		movx	@DPTR, A
		mov	DPTR, #0F8B2h
		movx	@DPTR, A

code_28EF:				; CODE XREF: RESET_0:code_28D0j
		clr	RAM_29.1	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		clr	RAM_29.2	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F898h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		mov	DPTR, #0F804h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #32h, code_292E ; '2'
		clr	A
		movx	@DPTR, A
		jnb	RAM_29.7, code_290A ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		lcall	code_55C4

code_290A:				; CODE XREF: RESET_0+1187j
		setb	RAM_29.1	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		jb	RAM_2B.0, code_2917 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #0F8ACh
		movx	A, @DPTR
		inc	A
		jz	code_2917
		movx	@DPTR, A

code_2917:				; CODE XREF: RESET_0+118Fj
					; RESET_0+1197j
		mov	DPTR, #0F965h
		movx	A, @DPTR
		inc	A
		jz	code_291F
		movx	@DPTR, A

code_291F:				; CODE XREF: RESET_0+119Fj
		mov	DPTR, #0F805h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #3Ch, code_292E ; '<'
		clr	A
		movx	@DPTR, A
		setb	RAM_29.2	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		clr	RAM_22.5

code_292E:				; CODE XREF: RESET_0+1182j
					; RESET_0+11A8j
		jnb	RAM_29.1, code_2944 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F807h
		movx	A, @DPTR
		inc	A
		jz	code_2939
		movx	@DPTR, A

code_2939:				; CODE XREF: RESET_0+11B9j
		jb	RAM_2A.3, code_2944 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #0F9BEh
		movx	A, @DPTR
		inc	A
		jz	code_2944
		movx	@DPTR, A

code_2944:				; CODE XREF: RESET_0:code_292Ej
					; RESET_0:code_2939j ...
		jb	RAM_29.5, code_2986 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		jb	RAM_29.4, code_2952 ; Время до перекалибровки РХХ
		clr	A
		mov	DPTR, #0F87Ch
		movx	@DPTR, A
		ljmp	code_2A1F
; ---------------------------------------------------------------------------

code_2952:				; CODE XREF: RESET_0+11CAj
		mov	DPTR, #60AAh	; Время	до перекалибровки РХХ
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F87Ch
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		clr	C
		subb	A, B		; B-Register
		jc	code_297E
		lcall	code_532B
		lcall	SetOUTDriver
		mov	DPTR, #8FB1h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	DPTR, #0FA76h
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F87Ch
		movx	@DPTR, A
		setb	RAM_29.5	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		lcall	code_4641

code_297E:				; CODE XREF: RESET_0+11E5j
					; RESET_0:code_2986j ...
		lcall	code_46B7
		jnc	code_2993
		ljmp	code_2A1F
; ---------------------------------------------------------------------------

code_2986:				; CODE XREF: RESET_0:code_2944j
		jnb	RAM_29.4, code_297E ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0FA76h
		movx	A, @DPTR
		dec	A
		jz	code_2993
		movx	@DPTR, A
		sjmp	code_297E
; ---------------------------------------------------------------------------

code_2993:				; CODE XREF: RESET_0+1204j
					; RESET_0+1211j
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	DPTR, #0F9ADh
		movx	A, @DPTR
		mov	C, RAM_29.7	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	ACC.0, C	; Accumulator
		mov	DPTR, #0F9ADh
		movx	@DPTR, A
		mov	A, RAM_47
		mov	DPTR, #0FFCFh
		movx	@DPTR, A
		mov	WDTREL,	#80h ; 'А' ; Watchdog Timer Reload Register
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		lcall	code_5398
		mov	R0, #1
		mov	R1, #0
		mov	DPTR, #0FD00h

code_29B8:				; CODE XREF: RESET_0+1246j
		clr	C
		movx	A, @DPTR
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		inc	DPTR
		mov	A, DPH		; Data Pointer,	High Byte
		cjne	A, #0FFh, code_29B8
		mov	R2, #40h ; '@'
		mov	DPTR, #0F4D2h

code_29CB:				; CODE XREF: RESET_0+1257j
		clr	C
		movx	A, @DPTR
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		inc	DPTR
		djnz	R2, code_29CB
		mov	DPTR, #0F8FEh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		lcall	code_46B7
		jc	code_29E7
		ljmp	code_AE2B
; ---------------------------------------------------------------------------

code_29E7:				; CODE XREF: RESET_0+1265j
		clr	A
		mov	DPTR, #0F8C2h
		movx	@DPTR, A
		anl	P6, #0EFh	; Port 6 (PDIR=0)
		mov	CCEN, #0	; Compare/Capture Enable Register
		mov	CC4EN, #0	; Compare/Capture 4 Enable Register
		mov	DPTR, #0F999h
		movx	A, @DPTR
		clr	ACC.0		; Accumulator
		clr	ACC.2		; Accumulator
		movx	@DPTR, A
		lcall	SetOUTDriver
		mov	SYSCON,	#0	; System Control Register
		mov	A, #0AAh ; 'к'
		mov	DPTR, #0F9ACh
		movx	@DPTR, A
		mov	R0, #0A8h ; 'и'
		mov	@R0, #0A5h ; 'е'
		jb	SoftFlags1.7, code_2A16	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		orl	P1, #80h	; Port 1 (PDIR=0)
		sjmp	code_2A19
; ---------------------------------------------------------------------------

code_2A16:				; CODE XREF: RESET_0+1291j
		orl	P9, #1		; Port 9 (PDIR=0)

code_2A19:				; CODE XREF: RESET_0+1297j
					; RESET_0+12A0j
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		sjmp	code_2A19
; ---------------------------------------------------------------------------

code_2A1F:				; CODE XREF: RESET_0+11D2j
					; RESET_0+1206j
		jb	RAM_29.5, code_2A70 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		jb	RAM_2A.6, code_2A6A ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		jnb	RAM_2B.0, code_2A67 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		anl	A, #0Fh
		anl	CMEN, #0F0h	; Compare Enable Register (RMAP=0)
		jnz	code_2A34
		orl	P4, #0Fh	; Port 4 (PDIR=0)

code_2A34:				; CODE XREF: RESET_0+12B2j
		lcall	code_B347
		mov	DPTR, #0F810h
		movx	A, @DPTR
		clr	ACC.1		; Accumulator
		movx	@DPTR, A
		mov	A, RAM_79
		jnb	ACC.3, code_2A47 ; Время работы	бензонасоса до пуска
		mov	C, RAM_2E.3
		sjmp	code_2A5D
; ---------------------------------------------------------------------------

code_2A47:				; CODE XREF: RESET_0+12C3j
		mov	DPTR, #606Eh	; Время	работы бензонасоса до пуска
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F828h
		movx	A, @DPTR
		jnb	RAM_29.1, code_2A59 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		inc	A
		jnz	code_2A59
		dec	A

code_2A59:				; CODE XREF: RESET_0+12D5j
					; RESET_0+12D9j
		movx	@DPTR, A
		clr	C
		subb	A, B		; B-Register

code_2A5D:				; CODE XREF: RESET_0+12C8j
		mov	DPTR, #0F999h
		movx	A, @DPTR
		mov	ACC.6, C	; Accumulator
		movx	@DPTR, A
		ljmp	code_2AEB
; ---------------------------------------------------------------------------

code_2A67:				; CODE XREF: RESET_0+12A8j
		ljmp	code_2B2C
; ---------------------------------------------------------------------------

code_2A6A:				; CODE XREF: RESET_0+12A5j
		jb	RAM_2B.0, code_2A70 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		ljmp	code_2BE3
; ---------------------------------------------------------------------------

code_2A70:				; CODE XREF: RESET_0:code_2A1Fj
					; RESET_0:code_2A6Aj
		clr	RAM_2A.6	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	RAM_26.1
		setb	RAM_2A.3	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		setb	RAM_2A.4	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		setb	RAM_2A.1	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	A, #0FFh
		mov	RAM_68,	A
		mov	RAM_75,	A
		mov	DPTR, #8C00h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	DPTR, #0F94Ch
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F810h
		movx	@DPTR, A
		mov	DPTR, #0F8C5h
		movx	@DPTR, A
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.1, code_2A9F ; Accumulator
		mov	DPTR, #6061h
		clr	A
		movc	A, @A+DPTR
		mov	RAM_4D,	A

code_2A9F:				; CODE XREF: RESET_0+1318j
		mov	DPTR, #6070h
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F82Ch
		movx	@DPTR, A
		mov	DPTR, #6071h
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F82Dh
		movx	@DPTR, A
		mov	DPTR, #9718h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	RXX_Position, A
		clr	A
		mov	DPTR, #0F84Ah
		movx	@DPTR, A
		mov	DPTR, #0F89Eh
		movx	@DPTR, A
		mov	RAM_53_CurrentEngineSpeed, A
		mov	DPTR, #0F909h
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		mov	DPTR, #0F837h
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		mov	DPTR, #0F89Bh
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		mov	DPTR, #0F82Eh
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		movx	@DPTR, A
		mov	DPTR, #0F809h
		movx	@DPTR, A
		mov	DPTR, #0F89Dh
		movx	@DPTR, A
		lcall	code_2C2D

code_2AEB:				; CODE XREF: RESET_0+12E7j
		mov	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		mov	DPTR, #0F80Ah
		movx	@DPTR, A
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.2, code_2AFF ; Accumulator
		lcall	code_B025
		mov	DPTR, #71A0h
		movc	A, @A+DPTR
		mov	UOZ, A

code_2AFF:				; CODE XREF: RESET_0+1376j
		mov	R0, #80h
		mov	RAM_14,	@R0
		inc	R0
		mov	RAM_15,	@R0
		inc	R0
		mov	RAM_16,	@R0
		inc	R0
		mov	RAM_17,	@R0
		inc	R0
		mov	RAM_10,	@R0
		inc	R0
		mov	RAM_11,	@R0
		inc	R0
		mov	RAM_12,	@R0
		inc	R0
		mov	RAM_13,	@R0
		mov	DPTR, #60D8h	; Время	действия поправки ALF
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F89Ah
		movx	@DPTR, A
		ljmp	code_34F4
; ---------------------------------------------------------------------------

code_2B24:				; CODE XREF: RESET_0+13C4j
					; RESET_0+13C7j ...
		clr	A
		mov	DPTR, #0F872h
		movx	@DPTR, A

code_2B29:				; CODE XREF: RESET_0+13C2j
		ljmp	code_2BD4
; ---------------------------------------------------------------------------

code_2B2C:				; CODE XREF: RESET_0:code_2A67j
		mov	A, RAM_79
		setb	C
		jnb	ACC.3, code_2B34 ; Accumulator
		mov	C, RAM_2E.3

code_2B34:				; CODE XREF: RESET_0+13B2j
		mov	DPTR, #0F999h
		movx	A, @DPTR
		mov	ACC.6, C	; Accumulator
		movx	@DPTR, A
		mov	DPTR, #0F872h
		movx	A, @DPTR
		jnz	code_2B29
		jb	RAM_23_ErrorMask2.0, code_2B24 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		jb	RAM_2A.7, code_2B24 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		add	A, #8
		anl	A, #0F0h
		swap	A
		mov	DPTR, #7A77h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #7152h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mul	AB
		mov	A, B		; B-Register
		mov	DPTR, #0F872h
		movx	@DPTR, A
		jz	code_2B24
		mov	R1, A
		mov	R0, #0
		mov	DPTR, #6057h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	DPTR, #0F8B8h
		movx	A, @DPTR
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A

code_2B7E:				; CODE XREF: RESET_0+1425j
		clr	RAM_28.4	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	MD0, #0		; Multiplication/Division Register 0
		mov	MD1, R0		; Multiplication/Division Register 1
		mov	MD2, R1		; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, #0C0h ; '└' ; Multiplication/Division Register 4
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R2, MD0		; Multiplication/Division Register 0
		mov	R3, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		jb	RAM_28.4, code_2B7E ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		anl	CMEN, #0F0h	; Compare Enable Register (RMAP=0)
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		anl	A, #0Fh
		jnz	code_2BB3
		anl	P4, #0F0h	; Port 4 (PDIR=0)

code_2BB3:				; CODE XREF: RESET_0+1431j
		mov	CCL1, A		; Compare/Capture Register 1, Low Byte
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, CCL1		; Compare/Capture Register 1, Low Byte
		add	A, R2
		mov	R2, A
		mov	A, CCH1		; Compare/Capture Register 1, High Byte
		addc	A, R3
		mov	CMH0, A		; Compare Register 0, High Byte	(RMAP=0)
		mov	CMH1, A		; Compare Register 1, High Byte	(RMAP=0)
		mov	CMH2, A		; Compare Register 2, High Byte	(RMAP=0)
		mov	CMH3, A		; Compare Register 3, High Byte	(RMAP=0)
		mov	CML0, R2	; Compare Register 0, Low Byte (RMAP=0)
		mov	CML1, R2	; Compare Register 1, Low Byte (RMAP=0)
		mov	CML2, R2	; Compare Register 2, Low Byte (RMAP=0)
		mov	CML3, R2	; Compare Register 3, Low Byte (RMAP=0)
		orl	CMEN, #0Fh	; Compare Enable Register (RMAP=0)
		orl	P4, #0Fh	; Port 4 (PDIR=0)

code_2BD4:				; CODE XREF: RESET_0:code_2B29j
		jb	PartFlags1.2, code_2BD9	; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
		setb	RAM_2A.7	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен

code_2BD9:				; CODE XREF: RESET_0:code_2BD4j
		clr	A
		mov	DPTR, #0F829h
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F873h
		movx	@DPTR, A

code_2BE3:				; CODE XREF: RESET_0+12F0j
		mov	DPTR, #0F873h
		movx	A, @DPTR
		inc	A
		jz	code_2BEB
		movx	@DPTR, A

code_2BEB:				; CODE XREF: RESET_0+146Bj
		mov	DPTR, #606Fh	; Зажигание - Время задержки синхронизации
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F873h
		movx	A, @DPTR
		cjne	A, B, code_2BF9	; B-Register

code_2BF9:
		jc	code_2BFD
		setb	RAM_26.1

code_2BFD:				; CODE XREF: RESET_0:code_2BF9j
		jnb	RAM_2A.3, code_2C2A ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #8A99h	; Обороты полного выхода из режима пуска
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, RAM_53_CurrentEngineSpeed
		clr	C
		subb	A, B		; B-Register
		jnc	code_2C26
		mov	DPTR, #605Ah
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, RAM_53_CurrentEngineSpeed
		clr	C
		subb	A, B		; B-Register
		mov	RAM_2A.1, C	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		jc	code_2C48
		clr	A
		mov	DPTR, #0F872h
		movx	@DPTR, A
		sjmp	code_2C48
; ---------------------------------------------------------------------------

code_2C26:				; CODE XREF: RESET_0+1490j
		clr	RAM_2A.3	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	RAM_2A.1	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен

code_2C2A:				; CODE XREF: RESET_0:code_2BFDj
		ljmp	code_2C7E
; End of function RESET_0


; =============== S U B	R O U T	I N E =======================================


code_2C2D:				; CODE XREF: RESET_0+5DEp
					; RESET_0+136Bp ...
		clr	RAM_2B.4	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		clr	RAM_2B.5	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		clr	RAM_2B.1	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	RAM_6B,	#0
		mov	DPTR, #607Ch
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		clr	A
		mov	DPTR, #0F832h
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, B		; B-Register
		movx	@DPTR, A
		ret
; End of function code_2C2D

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR RESET_0

code_2C48:				; CODE XREF: RESET_0+14A0j
					; RESET_0+14A7j
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.2, code_2C56 ; Accumulator
		lcall	code_B025
		mov	DPTR, #71A0h
		movc	A, @A+DPTR
		mov	UOZ, A

code_2C56:				; CODE XREF: RESET_0+14CDj
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.5, code_2C63 ; Accumulator
		mov	DPTR, #9718h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	RXX_Position, A

code_2C63:				; CODE XREF: RESET_0+14DBj
		lcall	code_2C2D
		mov	DPTR, #0F872h
		movx	A, @DPTR
		jz	code_2C77
		mov	A, P4		; Port 4 (PDIR=0)
		cpl	A
		anl	A, #0Fh
		jnz	code_2C7B
		mov	DPTR, #0F872h
		movx	@DPTR, A

code_2C77:				; CODE XREF: RESET_0+14EDj
		setb	RAM_2A.5	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		setb	RAM_2A.6	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен

code_2C7B:				; CODE XREF: RESET_0+14F4j
		ljmp	code_3497
; ---------------------------------------------------------------------------

code_2C7E:				; CODE XREF: RESET_0:code_2C2Aj
		mov	DPTR, #63D3h
		mov	A, RPM_THROTTLE_3D_RT
		movc	A, @A+DPTR
		mov	C, RAM_2B.5	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		anl	C, ACC.1	; Accumulator
		orl	C, ACC.0	; Accumulator
		mov	RAM_2B.5, C	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		jnb	RAM_2B.1, code_2C99 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #87E4h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	RAM_60_SostavSmesi, A
		sjmp	code_2C9C
; ---------------------------------------------------------------------------

code_2C99:				; CODE XREF: RESET_0+150Fj
		lcall	CALC_ALF

code_2C9C:				; CODE XREF: RESET_0+151Aj
		lcall	CALC_UOZ
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.1, code_2CAC ; Accumulator
		mov	DPTR, #64D3h
		mov	A, RPM_GBC_3D_RT
		movc	A, @A+DPTR
		mov	RAM_4D,	A

code_2CAC:				; CODE XREF: RESET_0+1524j
		jb	SoftFlags1.7, code_2CB2	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		ljmp	code_2D38
; ---------------------------------------------------------------------------

code_2CB2:				; CODE XREF: RESET_0:code_2CACj
		mov	R2, EngineSpeedQuant ; Квантованные обороты двигателя
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		mov	R3, A
		mov	DPTR, #6BA1h
		lcall	GetTable3DCell
		mov	R2, A
		mov	A, DPKVCount
		mov	DPTR, #5756h
		movc	A, @A+DPTR
		mov	DPTR, #9418h
		anl	A, #0FEh
		mov	B, A		; B-Register
		movc	A, @A+DPTR
		mov	R0, A
		mov	A, B		; B-Register
		inc	A
		movc	A, @A+DPTR
		mov	R1, A
		mov	B, R2		; B-Register
		lcall	code_4745
		lcall	MUL_R0R1_B
		mov	DPTR, #0F8BAh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #0F934h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #8A59h
		mov	A, RPM_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	A, R1
		jz	code_2D04
		mov	R0, #0FFh
		mov	R1, #0Fh
		sjmp	code_2D13
; ---------------------------------------------------------------------------

code_2D04:				; CODE XREF: RESET_0+157Fj
		mov	RAM_1, RAM_0
		mov	R0, B		; B-Register
		lcall	DIV_R0R1_8
		clr	C
		mov	A, R1
		rrc	A
		mov	R1, A
		mov	A, R0
		rrc	A
		mov	R0, A

code_2D13:				; CODE XREF: RESET_0+1585j
		mov	DPTR, #0FA92h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		clr	C
		mov	A, R1
		rrc	A
		mov	R1, A
		mov	A, R0
		rrc	A
		mov	R0, A
		mov	DPTR, #0F9D1h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #8DEAh
		mov	A, RPM_RT
		movc	A, @A+DPTR
		mov	DPTR, #0F943h
		movx	@DPTR, A
		sjmp	code_2D76
; ---------------------------------------------------------------------------

code_2D38:				; CODE XREF: RESET_0+1532j
		mov	R2, EngineSpeedQuant ; Квантованные обороты двигателя
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		mov	R3, A
		mov	DPTR, #7E07h
		lcall	GetTable3DCell
		add	A, #80h	; 'А'
		mov	R0, A
		clr	A
		addc	A, #0
		mov	R1, A
		mov	B, RAM_4F	; B-Register
		lcall	MUL_R0R1_B
		mov	A, R1
		jz	code_2D59
		mov	R0, #0FFh

code_2D59:				; CODE XREF: RESET_0+15D8j
		mov	A, #0FEh ; '■'
		clr	C
		subb	A, RAM_42
		mov	B, A		; B-Register
		mov	A, R0
		cjne	A, B, code_2D64	; B-Register

code_2D64:
		jc	code_2D68
		mov	A, B		; B-Register

code_2D68:				; CODE XREF: RESET_0:code_2D64j
		mov	DPTR, #0F937h
		movx	@DPTR, A
		mov	DPTR, #7F07h
		mov	A, RPM_RT
		movc	A, @A+DPTR
		mov	DPTR, #0F943h
		movx	@DPTR, A

code_2D76:				; CODE XREF: RESET_0+15B9j
		mov	DPTR, #5F04h
		clr	A
		movc	A, @A+DPTR
		jnb	ACC.0, code_2D88 ; Accumulator
		clr	RAM_2A.4	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	RAM_2B.1	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		lcall	code_4B48
		ljmp	code_337D
; ---------------------------------------------------------------------------

code_2D88:				; CODE XREF: RESET_0+15FEj
		mov	C, RAM_23_ErrorMask2.6 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.6 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		orl	C, RAM_23_ErrorMask2.5 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.5 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jnc	code_2DFD
		mov	DPTR, #60ADh	; Состав смеси в аварийном режиме
		clr	A
		movc	A, @A+DPTR
		mov	RAM_60_SostavSmesi, A
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.2, code_2DAA ; Accumulator
		mov	DPTR, #7877h	; УОЗ при аварии ДПДЗ или ДМРВ
		mov	R2, EngineSpeedQuant ; Квантованные обороты двигателя
		mov	R3, RAM_5C_GBC
		lcall	GetTable3DCell
		mov	UOZ, A

code_2DAA:				; CODE XREF: RESET_0+161Ej
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.5, code_2DC2 ; Accumulator
		mov	DPTR, #9718h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	C, RAM_23_ErrorMask2.5 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.5 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jnc	code_2DC0
		mov	DPTR, #5F8Ch	; Положение РХХ	при отказе ДПДЗ
		clr	A
		movc	A, @A+DPTR

code_2DC0:				; CODE XREF: RESET_0+163Cj
		mov	RXX_Position, A

code_2DC2:				; CODE XREF: RESET_0+162Fj
		jnb	RAM_2A.4, code_2DD6 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #8A99h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, RAM_53_CurrentEngineSpeed
		clr	C
		subb	A, B		; B-Register
		jc	code_2DD6
		clr	RAM_2A.4	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен

code_2DD6:				; CODE XREF: RESET_0:code_2DC2j
					; RESET_0+1655j
		mov	A, RAM_52_THR	; Положение дросселя
		clr	C
		subb	A, #2
		jc	code_2DE1
		clr	RAM_2B.1	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		sjmp	code_2DFA
; ---------------------------------------------------------------------------

code_2DE1:				; CODE XREF: RESET_0+165Ej
		setb	RAM_2B.1	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.2, code_2DFA ; Accumulator
		mov	DPTR, #60AEh	; Смещение УОЗ в аварийном режиме
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #6F7Dh	; УОЗ на ХХ
		mov	A, RPM_RT
		movc	A, @A+DPTR
		clr	C
		subb	A, B		; B-Register
		mov	UOZ, A

code_2DFA:				; CODE XREF: RESET_0+1662j
					; RESET_0+1668j
		ljmp	code_337D
; ---------------------------------------------------------------------------

code_2DFD:				; CODE XREF: RESET_0+1613j
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		jb	RAM_2A.3, code_2E3D ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		jb	RAM_29.7, code_2E3D ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F80Ah
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #5F7Eh
		clr	A
		movc	A, @A+DPTR
		cjne	A, B, code_2E15	; B-Register

code_2E15:
		jc	code_2E3B
		mov	DPTR, #5F7Dh
		clr	A
		movc	A, @A+DPTR
		cjne	A, B, code_2E1F	; B-Register

code_2E1F:
		jnc	code_2E2E
		mov	DPTR, #0F9ADh
		movx	A, @DPTR
		mov	DPTR, #5F80h
		jnb	ACC.0, code_2E2E ; Accumulator
		mov	DPTR, #5F7Fh

code_2E2E:				; CODE XREF: RESET_0:code_2E1Fj
					; RESET_0+16ABj
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F8F7h
		movx	A, @DPTR
		cjne	A, B, code_2E39	; B-Register

code_2E39:
		jc	code_2E3D

code_2E3B:				; CODE XREF: RESET_0:code_2E15j
		setb	RAM_29.7	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)

code_2E3D:				; CODE XREF: RESET_0+1684j
					; RESET_0+1687j ...
		jnb	SensorsParts.0,	code_2E73 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		jb	RAM_2B.0, code_2E73 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #5F89h	; Напряжение отключения	подогревателя ДК (лямбда зонд)
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F80Dh
		movx	A, @DPTR
		cjne	A, B, code_2E51	; B-Register

code_2E51:
		jnc	code_2E73
		mov	DPTR, #5F8Ah	; Температура ОЖ для разрешения	отключения нагревателя (лямбда зонд)
		clr	A
		movc	A, @A+DPTR
		cjne	A, DTOG_Value, code_2E5B ; Текущее значение ДТОЖ (температура двигателя)

code_2E5B:
		jnc	code_2E73
		jb	RAM_29.7, code_2E63 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		ljmp	code_2EF0
; ---------------------------------------------------------------------------

code_2E63:				; CODE XREF: RESET_0+16E0j
		mov	DPTR, #5F87h	; Температура ОГ для отключения	нагревателя (лямбда зонд)
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F895h
		movx	A, @DPTR
		cjne	A, B, code_2E71	; B-Register

code_2E71:
		jc	code_2E85

code_2E73:				; CODE XREF: RESET_0:code_2E3Dj
					; RESET_0+16C3j ...
		lcall	code_B347
		mov	DPTR, #0F810h
		movx	A, @DPTR
		clr	ACC.1		; Accumulator
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F9AEh
		movx	@DPTR, A
		ljmp	code_2F52
; ---------------------------------------------------------------------------

code_2E85:				; CODE XREF: RESET_0:code_2E71j
					; RESET_0+1787j
		lcall	code_B336
		mov	DPTR, #0F810h
		movx	A, @DPTR
		setb	ACC.1		; Accumulator
		movx	@DPTR, A
		mov	B, #0Ch		; B-Register
		lcall	Read_AD
		mov	DPTR, #0F80Eh
		movx	@DPTR, A
		mov	DPTR, #5F9Ah
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F80Eh
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jnc	code_2EC5
		jb	RAM_22.3, code_2EED
		mov	DPTR, #5F99h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F9AEh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, B, code_2EED	; B-Register
		setb	RAM_22.3
		clr	A
		mov	DPTR, #0F9AEh
		movx	@DPTR, A
		sjmp	code_2EED
; ---------------------------------------------------------------------------

code_2EC5:				; CODE XREF: RESET_0+172Aj
		mov	DPTR, #5FADh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F80Eh
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_2EE6
		jb	RAM_22.3, code_2EED
		lcall	code_B347
		setb	RAM_22.3
		mov	DPTR, #0F810h
		movx	A, @DPTR
		clr	ACC.1		; Accumulator
		movx	@DPTR, A
		sjmp	code_2EED
; ---------------------------------------------------------------------------

code_2EE6:				; CODE XREF: RESET_0+1756j
		clr	A
		mov	DPTR, #0F9AEh
		movx	@DPTR, A
		clr	RAM_22.3

code_2EED:				; CODE XREF: RESET_0+172Cj
					; RESET_0+173Cj ...
		ljmp	code_2F52
; ---------------------------------------------------------------------------

code_2EF0:				; CODE XREF: RESET_0+16E3j
		mov	DPTR, #0F810h
		movx	A, @DPTR
		jb	ACC.0, code_2F07 ; Accumulator
		jb	RAM_25_ErrorMask4.3, code_2F07
		mov	DPTR, #0F80Eh
		movx	A, @DPTR
		clr	C
		subb	A, #0Eh
		jnc	code_2F12
		clr	A
		ljmp	code_2E85
; ---------------------------------------------------------------------------

code_2F07:				; CODE XREF: RESET_0+1777j
					; RESET_0+177Aj
		mov	DPTR, #0F978h
		movx	A, @DPTR
		swap	A
		anl	A, #0Fh
		mov	DPTR, #7F8Eh
		movc	A, @A+DPTR

code_2F12:				; CODE XREF: RESET_0+1784j
		mov	B, A		; B-Register
		jnb	RAM_29.6, code_2F3D ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #5F93h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F8F3h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, B, code_2F27	; B-Register

code_2F27:
		jc	code_2F52
		mov	B, #0Ch		; B-Register
		lcall	Read_AD
		mov	DPTR, #0F80Eh
		movx	@DPTR, A
		lcall	code_B347
		clr	A
		mov	DPTR, #0F8F4h
		movx	@DPTR, A
		sjmp	code_2F52
; ---------------------------------------------------------------------------

code_2F3D:				; CODE XREF: RESET_0+1797j
		mov	DPTR, #0F8F4h
		movx	A, @DPTR
		inc	A
		jz	code_2F45
		movx	@DPTR, A

code_2F45:				; CODE XREF: RESET_0+17C5j
		cjne	A, B, code_2F48	; B-Register

code_2F48:
		jc	code_2F52
		lcall	code_B336
		clr	A
		mov	DPTR, #0F8F3h
		movx	@DPTR, A

code_2F52:				; CODE XREF: RESET_0+1705j
					; RESET_0:code_2EEDj ...
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.6, code_2F75 ; Accumulator
		mov	DPTR, #6F56h
		mov	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		lcall	Get2D_DTOG_Argument
		mov	RAM_4, A
		mov	DPTR, #0F9BEh
		movx	A, @DPTR
		mov	R2, A
		mov	DPTR, #7F67h
		lcall	code_48C3
		cjne	A, RAM_4, code_2F6F

code_2F6F:
		jnc	code_2F79
		mov	A, RAM_4
		sjmp	code_2F79
; ---------------------------------------------------------------------------

code_2F75:				; CODE XREF: RESET_0+17D7j
		mov	DPTR, #0F849h
		movx	A, @DPTR

code_2F79:				; CODE XREF: RESET_0:code_2F6Fj
					; RESET_0+17F6j
		mov	R0, A
		mov	B, A		; B-Register
		mov	DPTR, #6086h
		clr	A
		movc	A, @A+DPTR
		mul	AB
		mov	A, R0
		add	A, B		; B-Register
		jnc	code_2F89
		mov	A, #0FFh

code_2F89:				; CODE XREF: RESET_0+1808j
		mov	DPTR, #0F847h
		movx	@DPTR, A
		mov	B, A		; B-Register
		mov	DPTR, #6087h
		clr	A
		movc	A, @A+DPTR
		mul	AB
		mov	DPTR, #0F847h
		movx	A, @DPTR
		add	A, B		; B-Register
		jnc	code_2F9F
		mov	A, #0FFh

code_2F9F:				; CODE XREF: RESET_0+181Ej
		mov	DPTR, #0F848h
		movx	@DPTR, A
		mov	B, #0		; B-Register
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.6, code_2FBB ; Accumulator
		jnb	PartFlags1.4, code_2FB4	; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
		jb	RAM_25_ErrorMask4.6, code_2FB4
		jnb	SoftFlags1.5, code_2FBB	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag

code_2FB4:				; CODE XREF: RESET_0+182Ej
					; RESET_0+1831j
		mov	DPTR, #60E5h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register

code_2FBB:				; CODE XREF: RESET_0+182Bj
					; RESET_0+1834j
		mov	A, R0
		add	A, B		; B-Register
		jnc	code_2FC2
		mov	A, #0FFh

code_2FC2:				; CODE XREF: RESET_0+1841j
		mov	DPTR, #0F849h
		movx	@DPTR, A
		mov	DPTR, #6F9Dh	; Коррекция УОЗ	на ХХ
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #6F7Dh	; УОЗ на ХХ
		mov	A, RPM_RT
		movc	A, @A+DPTR
		clr	C
		subb	A, B		; B-Register
		mov	UOZ_XX,	A
		mov	DPTR, #0F848h
		movx	A, @DPTR
		clr	C
		rrc	A
		clr	C
		rrc	A
		mov	B, A		; B-Register
		mov	A, DPKVCount
		clr	C
		subb	A, B		; B-Register
		jc	code_3002
		mov	R4, A
		mov	DPTR, #98F2h	; Коэффициент уставки РХХ
		mov	R2, EngineSpeedQuant ; Квантованные обороты двигателя
		lcall	code_48C3
		mov	B, R4		; B-Register
		mul	AB
		jb	B.7, code_3015	; B-Register
		mov	C, ACC.7	; Accumulator
		mov	A, B		; B-Register
		rlc	A
		mov	B, A		; B-Register
		sjmp	code_3005
; ---------------------------------------------------------------------------

code_3002:				; CODE XREF: RESET_0+186Bj
		mov	B, #0		; B-Register

code_3005:				; CODE XREF: RESET_0+1883j
		mov	DPTR, #6FE4h	; Желаемое положение РХХ
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		clr	C
		add	A, B		; B-Register
		jc	code_3015
		cjne	A, #96h, code_3013 ; 'Ц'

code_3013:
		jc	code_3017

code_3015:				; CODE XREF: RESET_0+1879j
					; RESET_0+1891j
		mov	A, #96h	; 'Ц'

code_3017:				; CODE XREF: RESET_0:code_3013j
		mov	DPTR, #0F84Fh
		movx	@DPTR, A
		mov	A, RAM_52_THR	; Положение дросселя
		clr	C
		subb	A, #2
		jc	code_3055
		mov	A, RAM_6B
		jnz	code_3029
		jnb	RAM_2B.1, code_3052 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода

code_3029:				; CODE XREF: RESET_0+18A7j
		clr	RAM_2B.1	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	RAM_6B,	#0
		clr	RAM_25_ErrorMask4.7
		clr	A
		mov	DPTR, #0F986h
		movx	@DPTR, A
		mov	DPTR, #5F6Dh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #8393h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mul	AB
		mov	R0, A
		mov	R1, B		; B-Register
		lcall	DIV_R0R1_4
		mov	DPTR, #0F97Bh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A

code_3052:				; CODE XREF: RESET_0+18A9j
		ljmp	code_3239
; ---------------------------------------------------------------------------

code_3055:				; CODE XREF: RESET_0+18A3j
		clr	RAM_2B.5	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		clr	A
		mov	DPTR, #0F97Bh
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	@DPTR, A
		mov	DPTR, #0F9C9h
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	@DPTR, A
		jnb	RAM_2B.1, code_30A3 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		jb	RAM_2C.2, code_3075 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	DPTR, #0F848h
		movx	A, @DPTR
		clr	C
		subb	A, RAM_53_CurrentEngineSpeed
		jc	code_3078

code_3075:				; CODE XREF: RESET_0+18ECj
		ljmp	code_311A
; ---------------------------------------------------------------------------

code_3078:				; CODE XREF: RESET_0+18F6j
		jb	SensorsParts.6,	code_30A0 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	DPTR, #608Ah
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jnc	code_30A0
		mov	DPTR, #607Bh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F908h
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jnc	code_30A0
		mov	DPTR, #5F13h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.3, code_30A0 ; Accumulator
		ljmp	code_318F
; ---------------------------------------------------------------------------

code_30A0:				; CODE XREF: RESET_0:code_3078j
					; RESET_0+1906j ...
		ljmp	code_3133
; ---------------------------------------------------------------------------

code_30A3:				; CODE XREF: RESET_0+18E9j
		mov	A, RAM_6B
		jz	code_30BD
		mov	DPTR, #0F847h
		movx	A, @DPTR
		clr	C
		subb	A, RAM_53_CurrentEngineSpeed
		jnc	code_30C9
		mov	A, RAM_6B
		clr	C
		subb	A, #2
		jnc	code_30BA
		ljmp	code_313D
; ---------------------------------------------------------------------------

code_30BA:				; CODE XREF: RESET_0+1938j
		ljmp	code_3199
; ---------------------------------------------------------------------------

code_30BD:				; CODE XREF: RESET_0+1928j
		jb	RAM_2C.2, code_30C9 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	DPTR, #0F848h
		movx	A, @DPTR
		clr	C
		subb	A, RAM_53_CurrentEngineSpeed
		jc	code_3133

code_30C9:				; CODE XREF: RESET_0+1931j
					; RESET_0:code_30BDj
		mov	RAM_6B,	#0
		setb	RAM_2B.1	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		jb	RAM_2A.4, code_30F8 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #0F849h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	A, RAM_53_CurrentEngineSpeed
		mov	DPTR, #0F84Ah
		movx	@DPTR, A
		clr	C
		subb	A, B		; B-Register
		jc	code_3112
		jnb	RAM_2C.2, code_311A ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	DPTR, #0F847h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	A, RAM_53_CurrentEngineSpeed
		cjne	A, B, code_30F0	; B-Register

code_30F0:
		jc	code_311A
		mov	DPTR, #0F847h
		movx	A, @DPTR
		sjmp	code_3116
; ---------------------------------------------------------------------------

code_30F8:				; CODE XREF: RESET_0+1951j
		mov	DPTR, #6FE4h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	DPTR, #0F84Fh
		movx	@DPTR, A
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.5, code_3112 ; Accumulator
		jb	SoftFlags1.4, code_310D	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		lcall	code_4867

code_310D:				; CODE XREF: RESET_0+198Aj
		clr	RAM_2B.1	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		ljmp	code_323F
; ---------------------------------------------------------------------------

code_3112:				; CODE XREF: RESET_0+1963j
					; RESET_0+1987j
		mov	DPTR, #0F849h
		movx	A, @DPTR

code_3116:				; CODE XREF: RESET_0+1979j
		mov	DPTR, #0F84Ah
		movx	@DPTR, A

code_311A:				; CODE XREF: RESET_0:code_3075j
					; RESET_0+1965j ...
		jb	SoftFlags1.4, code_3129	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		lcall	code_432A
		lcall	code_4408
		lcall	code_4510
		ljmp	code_323F
; ---------------------------------------------------------------------------

code_3129:				; CODE XREF: RESET_0:code_311Aj
		lcall	code_432A
		clr	RAM_2C.2	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		clr	RAM_22.6
		ljmp	code_323F
; ---------------------------------------------------------------------------

code_3133:				; CODE XREF: RESET_0:code_30A0j
					; RESET_0+194Aj
		mov	RAM_6B,	#1
		clr	RAM_2B.1	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #0F839h
		clr	A
		movx	@DPTR, A

code_313D:				; CODE XREF: RESET_0+193Aj
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.2, code_3145 ; Accumulator
		mov	UOZ, UOZ_XX

code_3145:				; CODE XREF: RESET_0+19C2j
		jb	SensorsParts.6,	code_318C ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	DPTR, #608Ah
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jnc	code_318C
		mov	DPTR, #60EAh
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DPKVCount
		jc	code_317A	; Задержка отключения топливоподачи
		mov	DPTR, #5F13h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.3, code_318C ; Accumulator
		jnb	PartFlags1.4, code_318C	; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
		jb	RAM_25_ErrorMask4.6, code_318C
		mov	DPTR, #607Bh	; Скорость разрешения отключения топлива
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F908h
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_318C

code_317A:				; CODE XREF: RESET_0+19DDj
		mov	DPTR, #608Dh	; Задержка отключения топливоподачи
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F839h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		clr	C
		subb	A, B		; B-Register
		jnc	code_318F

code_318C:				; CODE XREF: RESET_0:code_3145j
					; RESET_0+19D3j ...
		ljmp	code_3239
; ---------------------------------------------------------------------------

code_318F:				; CODE XREF: RESET_0+1920j
					; RESET_0+1A0Dj
		mov	RAM_6B,	#2
		clr	RAM_2B.1	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #0F839h
		clr	A
		movx	@DPTR, A

code_3199:				; CODE XREF: RESET_0:code_30BAj
		jb	SoftFlags1.4, code_319F	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		lcall	code_47E8

code_319F:				; CODE XREF: RESET_0:code_3199j
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.2, code_31A7 ; Accumulator
		mov	UOZ, UOZ_XX

code_31A7:				; CODE XREF: RESET_0+1A24j
		mov	A, RAM_6B
		cjne	A, #2, code_31AE
		sjmp	code_31B1	; Задержка коррекции УОЗ при отключении	топливоподачи
; ---------------------------------------------------------------------------

code_31AE:				; CODE XREF: RESET_0+1A2Cj
		cjne	A, #4, code_31C5

code_31B1:				; CODE XREF: RESET_0+1A2Fj
		mov	DPTR, #608Eh	; Задержка коррекции УОЗ при отключении	топливоподачи
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F839h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		clr	C
		subb	A, B		; B-Register
		jc	code_31D2
		inc	RAM_6B

code_31C5:				; CODE XREF: RESET_0:code_31AEj
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.2, code_31D2 ; Accumulator
		mov	DPTR, #6FC4h	; УОЗ при отключении подачи топлива
		mov	A, RPM_RT
		movc	A, @A+DPTR
		mov	UOZ, A

code_31D2:				; CODE XREF: RESET_0+1A44j
					; RESET_0+1A4Aj
		jnb	PartFlags1.4, code_3225	; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
		jb	RAM_25_ErrorMask4.6, code_3225
		mov	A, RAM_6B
		cjne	A, #2, code_31DF
		sjmp	code_31E2
; ---------------------------------------------------------------------------

code_31DF:				; CODE XREF: RESET_0+1A5Dj
		cjne	A, #3, code_3204

code_31E2:				; CODE XREF: RESET_0+1A60j
		mov	DPTR, #607Bh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F908h
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jnc	code_3225
		mov	DPTR, #60E9h	; Граница включения подачи топлива
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DPKVCount
		jc	code_3225
		mov	A, RAM_6B
		add	A, #2
		mov	RAM_6B,	A
		sjmp	code_3239
; ---------------------------------------------------------------------------

code_3204:				; CODE XREF: RESET_0:code_31DFj
		mov	DPTR, #607Bh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F908h
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jnc	code_321E
		mov	DPTR, #60EAh	; Граница отключения подачи топлива
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DPKVCount
		jnc	code_3239

code_321E:				; CODE XREF: RESET_0+1A95j
		mov	A, RAM_6B
		clr	C
		subb	A, #2
		mov	RAM_6B,	A

code_3225:				; CODE XREF: RESET_0:code_31D2j
					; RESET_0+1A58j ...
		clr	RAM_2B.4	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		lcall	code_4C62
		setb	RAM_2B.3	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		clr	RAM_2A.5	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		setb	RAM_2A.6	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	A, #4
		mov	DPTR, #0F8B1h
		movx	@DPTR, A
		ljmp	code_34F4
; ---------------------------------------------------------------------------

code_3239:				; CODE XREF: RESET_0:code_3052j
					; RESET_0:code_318Cj ...
		jb	SoftFlags1.4, code_323F	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		lcall	code_47E8

code_323F:				; CODE XREF: RESET_0+1992j
					; RESET_0+19A9j ...
		jnb	SensorsParts.1,	code_32A8 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	A, RAM_7B
		jb	ACC.2, code_32A8 ; Accumulator
		mov	DPTR, #60D1h	; Температура холодной продувки
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jnc	code_32A8
		jnb	RAM_29.2, code_325C ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F868h
		movx	A, @DPTR
		jz	code_325C
		dec	A
		movx	@DPTR, A

code_325C:				; CODE XREF: RESET_0+1AD4j
					; RESET_0+1ADBj
		mov	DPTR, #0F868h
		movx	A, @DPTR
		jnb	SensorsParts.0,	code_3266 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		jb	RAM_2B.7, code_32A8 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода

code_3266:				; CODE XREF: RESET_0+1AE3j
		jnb	RAM_2B.6, code_3299 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		jnz	code_3284
		mov	A, RAM_7B
		jb	ACC.2, code_3275 ; Accumulator
		clr	A
		mov	DPTR, #0F806h
		movx	@DPTR, A

code_3275:				; CODE XREF: RESET_0+1AF0j
		mov	DPTR, #60D0h
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F868h
		movx	@DPTR, A
		clr	RAM_2B.6	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		clr	RAM_2B.4	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		sjmp	code_32A8
; ---------------------------------------------------------------------------

code_3284:				; CODE XREF: RESET_0+1AECj
		mov	A, RAM_7B
		jb	ACC.2, code_3297 ; Accumulator
		mov	DPTR, #746Dh
		mov	R2, EngineSpeedQuant ; Квантованные обороты двигателя
		mov	R3, RAM_5C_GBC
		lcall	GetTable3DCell
		mov	DPTR, #0F806h
		movx	@DPTR, A

code_3297:				; CODE XREF: RESET_0+1B09j
		sjmp	code_32A8
; ---------------------------------------------------------------------------

code_3299:				; CODE XREF: RESET_0:code_3266j
		jnz	code_32A8
		mov	DPTR, #60CFh
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F868h
		movx	@DPTR, A
		clr	RAM_2B.4	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		setb	RAM_2B.6	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода

code_32A8:				; CODE XREF: RESET_0:code_323Fj
					; RESET_0+1AC7j ...
		mov	C, RAM_23_ErrorMask2.6 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.6 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		orl	C, RAM_23_ErrorMask2.5 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.5 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jnc	code_32BC
		mov	A, RAM_7B
		jb	ACC.2, code_32BC ; Accumulator
		clr	A
		mov	DPTR, #0F806h
		movx	@DPTR, A

code_32BC:				; CODE XREF: RESET_0+1B33j
					; RESET_0+1B37j
		jb	SoftFlags1.7, code_32C7	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	DPTR, #0F806h
		movx	A, @DPTR
		mov	CMH6, A		; Compare Register 6, High Byte	(RMAP=0)
		mov	CML6, A		; Compare Register 6, Low Byte (RMAP=0)

code_32C7:				; CODE XREF: RESET_0:code_32BCj
		lcall	code_B355
		mov	DPTR, #60A3h
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jnc	code_3346
		mov	DPTR, #5FA5h
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jc	code_3346
		mov	DPTR, #60A0h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F80Ah
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		mov	DPTR, #60A1h
		jc	code_32F4
		mov	DPTR, #60A2h

code_32F4:				; CODE XREF: RESET_0+1B72j
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F807h
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_3346
		jnb	SensorsParts.0,	code_3346 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	DPTR, #0F810h
		movx	A, @DPTR
		jnb	ACC.0, code_3346 ; Accumulator
		mov	RAM_60_SostavSmesi, #80h ; 'А'
		jb	RAM_2B.1, code_3318 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	A, RAM_6B
		jnz	code_3318
		lcall	CALC_UOZ

code_3318:				; CODE XREF: RESET_0+1B91j
					; RESET_0+1B96j
		mov	DPTR, #63D3h
		mov	A, RPM_GBC_3D_RT
		movc	A, @A+DPTR
		jnb	ACC.2, code_3346 ; Accumulator
		mov	C, RAM_23_ErrorMask2.4 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.4 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		orl	C, RAM_25_ErrorMask4.4
		orl	C, RAM_25_ErrorMask4.5
		orl	C, RAM_25_ErrorMask4.3
		jc	code_3346
		lcall	code_4BF6
		mov	A, #80h	; 'А'
		cjne	A, RAM_60_SostavSmesi, code_3349
		jb	RAM_2B.1, code_3341 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		lcall	code_4B48
		jb	RAM_2B.2, code_334F ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	RAM_60_SostavSmesi, #80h ; 'А'

code_3341:				; CODE XREF: RESET_0+1BB8j
		lcall	code_40E4
		sjmp	code_337D
; ---------------------------------------------------------------------------

code_3346:				; CODE XREF: RESET_0+1B55j
					; RESET_0+1B5Fj ...
		lcall	code_4BF6

code_3349:				; CODE XREF: RESET_0+1BB5j
		jb	RAM_2B.1, code_3378 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		lcall	code_4B48

code_334F:				; CODE XREF: RESET_0+1BBEj
		jb	RAM_2B.1, code_3378 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #607Dh
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #6A53h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, RAM_60_SostavSmesi
		clr	C
		subb	A, B		; B-Register
		jnc	code_3365
		clr	A

code_3365:				; CODE XREF: RESET_0+1BE5j
		mov	B, A		; B-Register
		mov	DPTR, #6A7Ah
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mul	AB
		mov	DPTR, #6A53h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		add	A, B		; B-Register
		mov	RAM_60_SostavSmesi, A

code_3378:				; CODE XREF: RESET_0:code_3349j
					; RESET_0:code_334Fj
		jb	SensorsParts.7,	code_337D ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		clr	RAM_2B.4	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода

code_337D:				; CODE XREF: RESET_0+1608j
					; RESET_0:code_2DFAj ...
		jnb	SensorsParts.3,	code_33D9 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		jnb	RAM_2B.5, code_33D9 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	C, RAM_23_ErrorMask2.6 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.6 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jc	code_33D9
		mov	DPTR, #5F04h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.0, code_3397 ; Accumulator
		mov	C, RAM_23_ErrorMask2.5 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.5 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jc	code_33D9

code_3397:				; CODE XREF: RESET_0+1C11j
		mov	DPTR, #5F70h
		clr	A
		movc	A, @A+DPTR
		cjne	A, DTOG_Value, code_339F ; Текущее значение ДТОЖ (температура двигателя)

code_339F:
		jnc	code_33D9
		jb	RAM_2C.3, code_33B7 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	RAM_3A,	#0
		mov	B, #4		; B-Register
		mov	DPTR, #0F86Bh
		mov	R0, #0A9h ; 'й'
		clr	A

code_33B0:				; CODE XREF: RESET_0+1C37j
		movx	@DPTR, A
		inc	DPTR
		mov	@R0, A
		inc	R0
		djnz	B, code_33B0	; B-Register

code_33B7:				; CODE XREF: RESET_0+1C24j
		mov	C, RAM_23_ErrorMask2.7 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.7 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		orl	C, RAM_25_ErrorMask4.0
		jnc	code_33D1
		mov	DPTR, #71E8h
		mov	A, RPM_RT
		movc	A, @A+DPTR
		mov	B, #4		; B-Register
		mov	R0, #0A9h ; 'й'

code_33CA:				; CODE XREF: RESET_0+1C4Fj
		mov	@R0, A
		inc	R0
		djnz	B, code_33CA	; B-Register
		sjmp	code_33D4
; ---------------------------------------------------------------------------

code_33D1:				; CODE XREF: RESET_0+1C40j
		lcall	code_3D5B

code_33D4:				; CODE XREF: RESET_0+1C52j
		lcall	code_3EB6
		sjmp	code_33DB
; ---------------------------------------------------------------------------

code_33D9:				; CODE XREF: RESET_0:code_337Dj
					; RESET_0+1C03j ...
		clr	RAM_2C.5	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода

code_33DB:				; CODE XREF: RESET_0+1C5Aj
		lcall	code_4C35
		jnb	RAM_2E.2, code_3427
		mov	A, RAM_52_THR	; Положение дросселя
		cjne	A, #10,	code_33E6

code_33E6:
		jc	code_3427
		mov	DPTR, #0F908h
		movx	A, @DPTR
		cjne	A, #19h, code_33EF

code_33EF:
		jnc	code_3427
		clr	RAM_2C.3	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		clr	RAM_2C.5	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		clr	RAM_2B.5	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		jb	RAM_2B.3, code_3407 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	A, RAM_75
		jz	code_3429
		cjne	A, #4, code_3401

code_3401:
		jnc	code_3429
		setb	RAM_2B.3	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		sjmp	code_3429
; ---------------------------------------------------------------------------

code_3407:				; CODE XREF: RESET_0+1C7Aj
		clr	A
		mov	DPTR, #60C1h
		movc	A, @A+DPTR
		clr	C
		subb	A, DPKVCount
		jc	code_3429
		jnb	RAM_2B.3, code_3429 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #60C3h
		clr	A
		movc	A, @A+DPTR
		mov	R0, A
		mov	A, #1
		movc	A, @A+DPTR
		mov	R1, A
		mov	DPTR, #0F97Bh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A

code_3427:				; CODE XREF: RESET_0+1C61j
					; RESET_0:code_33E6j ...
		clr	RAM_2B.3	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода

code_3429:				; CODE XREF: RESET_0+1C7Fj
					; RESET_0:code_3401j ...
		clr	RAM_2A.5	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		setb	RAM_2A.6	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #782Fh
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		clr	C
		subb	A, RAM_60_SostavSmesi
		jnc	code_343D
		mov	RAM_60_SostavSmesi, B ;	B-Register

code_343D:				; CODE XREF: RESET_0+1CBBj
		mov	DPTR, #0F98Eh
		movx	A, @DPTR
		jnb	ACC.7, code_3455 ; Accumulator
		rr	A
		anl	A, #3Fh
		mov	DPTR, #83BAh
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		clr	C
		subb	A, RAM_60_SostavSmesi
		jnc	code_3455
		mov	RAM_60_SostavSmesi, B ;	B-Register

code_3455:				; CODE XREF: RESET_0+1CC4j
					; RESET_0+1CD3j
		mov	DPTR, #0F89Ah
		movx	A, @DPTR
		jz	code_346F
		jnb	RAM_29.1, code_3460 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		dec	A
		movx	@DPTR, A

code_3460:				; CODE XREF: RESET_0+1CDEj
		mov	DPTR, #60D7h
		clr	A
		movc	A, @A+DPTR
		xch	A, RAM_60_SostavSmesi
		clr	C
		subb	A, RAM_60_SostavSmesi
		jnc	code_346D
		clr	A

code_346D:				; CODE XREF: RESET_0+1CEDj
		mov	RAM_60_SostavSmesi, A

code_346F:				; CODE XREF: RESET_0+1CDCj
		mov	DPTR, #0F89Bh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #8A32h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R0
		clr	C
		subb	A, B		; B-Register
		mov	R0, A
		mov	A, R1
		subb	A, #0
		mov	R1, A
		jnc	code_348E
		clr	A
		mov	R0, A
		mov	R1, A

code_348E:				; CODE XREF: RESET_0+1D0Cj
		mov	DPTR, #0F89Bh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A

code_3497:				; CODE XREF: RESET_0:code_2C7Bj
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.0, code_349F ; Accumulator
		mov	RAM_61,	RAM_60_SostavSmesi

code_349F:				; CODE XREF: RESET_0+1D1Cj
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.4, code_34F4 ; Accumulator
		mov	B, #80h	; 'А'   ; B-Register
		mov	A, RAM_23_ErrorMask2 ; 0 bit напряжение	борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	A, RAM_24_ErrorMask3 ; 0 bit напряжение	борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		anl	A, #70h
		jnz	code_34F1
		jnb	SensorsParts.7,	code_34B7 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		lcall	code_B3D3
		sjmp	code_34D4
; ---------------------------------------------------------------------------

code_34B7:				; CODE XREF: RESET_0+1D32j
		jnb	SensorsParts.0,	code_34F1 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		jb	RAM_25_ErrorMask4.3, code_34F1
		jb	RAM_25_ErrorMask4.4, code_34F1
		jb	RAM_25_ErrorMask4.5, code_34F1
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		mov	R3, A
		mov	R2, EngineSpeedQuant ; Квантованные обороты двигателя
		mov	DPTR, #0FD00h
		lcall	code_49B4
		sjmp	code_34E3
; ---------------------------------------------------------------------------

code_34D4:				; CODE XREF: RESET_0+1D38j
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		mov	R3, A
		mov	R2, EngineSpeedQuant ; Квантованные обороты двигателя
		mov	DPTR, #0FD00h
		lcall	code_4A20

code_34E3:				; CODE XREF: RESET_0+1D55j
		jnb	RAM_2B.4, code_34E8 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		add	A, RAM_6E

code_34E8:				; CODE XREF: RESET_0:code_34E3j
		mov	R0, #0Fh
		mov	R1, #0F0h ; 'Ё'
		lcall	code_46C7
		mov	B, A		; B-Register

code_34F1:				; CODE XREF: RESET_0+1D30j
					; RESET_0:code_34B7j ...
		mov	RAM_6F,	B	; B-Register

code_34F4:				; CODE XREF: RESET_0+13A4j
					; RESET_0+1AB9j ...
		lcall	code_B632
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.2, code_3507 ; Accumulator
		jnb	ACC.3, code_3507 ; Accumulator
		mov	DPTR, #0F90Fh
		movx	A, @DPTR
		add	A, UOZ
		mov	UOZ, A

code_3507:				; CODE XREF: RESET_0+1D7Cj
					; RESET_0+1D7Fj
		mov	A, RAM_3D
		cjne	A, #4, code_350C

code_350C:
		jnc	code_3515
		mov	A, RAM_3C
		cjne	A, #30,	code_3513

code_3513:
		jc	code_3518

code_3515:				; CODE XREF: RESET_0:code_350Cj
		ljmp	code_1863
; ---------------------------------------------------------------------------

code_3518:				; CODE XREF: RESET_0:code_3513j
		mov	A, RAM_3C
		cjne	A, RAM_3E, code_3588
		mov	B, DPKVCount	; B-Register
		mov	DPTR, #605Eh	; Коррекция задержки фазы при 10240 об/мин
		clr	A
		movc	A, @A+DPTR
		mul	AB
		mov	A, RAM_4D
		add	A, #3Ch	; '<'
		clr	C
		subb	A, B		; B-Register
		jnc	code_3531
		add	A, #78h	; 'x'

code_3531:				; CODE XREF: RESET_0+1DB0j
		clr	C
		subb	A, #0Bh
		jnc	code_3538
		add	A, #78h	; 'x'

code_3538:				; CODE XREF: RESET_0+1DB7j
		mov	R0, #0
		mov	R1, #77h ; 'w'
		lcall	code_46C7
		mov	R0, A
		mov	A, RAM_3D
		cpl	ACC.1		; Accumulator
		mov	B, #1Eh		; B-Register
		mul	AB
		add	A, RAM_3C
		mov	R1, A
		clr	C
		subb	A, RAM_0
		jz	code_3588
		jc	code_3566
		cjne	A, #3Ch, code_3555 ; '<'

code_3555:
		jc	code_3562
		mov	A, R1
		inc	A
		cjne	A, #78h, code_355C ; 'x'

code_355C:
		jc	code_3579
		subb	A, #78h	; 'x'
		sjmp	code_3579
; ---------------------------------------------------------------------------

code_3562:				; CODE XREF: RESET_0:code_3555j
		mov	A, R1
		dec	A
		sjmp	code_3579
; ---------------------------------------------------------------------------

code_3566:				; CODE XREF: RESET_0+1DD3j
		cpl	A
		inc	A
		cjne	A, #3Ch, code_356B ; '<'

code_356B:
		jc	code_3577
		mov	A, R1
		clr	C
		subb	A, #1
		jnc	code_3579
		add	A, #78h	; 'x'
		sjmp	code_3579
; ---------------------------------------------------------------------------

code_3577:				; CODE XREF: RESET_0:code_356Bj
		mov	A, R1
		inc	A

code_3579:				; CODE XREF: RESET_0:code_355Cj
					; RESET_0+1DE3j ...
		mov	B, #1Eh		; B-Register
		div	AB
		cpl	ACC.1		; Accumulator
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	RAM_3E,	B	; B-Register
		mov	RAM_3F,	A
		setb	IEN0.7		; Interrupt Enable Register 0

code_3588:				; CODE XREF: RESET_0+1D9Dj
					; RESET_0+1DD1j
		mov	R0, #0ECh ; 'ь'
		mov	R1, #64h ; 'd'
		mov	A, UOZ
		lcall	code_46E9
		mov	UOZ, A
		jnb	RAM_29.3, code_35CC ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		jb	RAM_2B.1, code_35CC ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		anl	A, #4
		jnz	code_35CC
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		add	A, #8
		swap	A
		anl	A, #0Fh
		mov	DPTR, #8AC0h	; Положение закрытого дросселя,	таблица
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, UOZ
		add	A, #80h	; 'А'
		mov	R0, A
		mov	DPTR, #0F844h
		movx	A, @DPTR
		add	A, #80h	; 'А'
		clr	C
		subb	A, R0
		jnc	code_35CC
		movx	A, @DPTR
		add	A, #80h	; 'А'
		add	A, B		; B-Register
		clr	C
		subb	A, R0
		jnc	code_35CC
		add	A, UOZ
		mov	UOZ, A

code_35CC:				; CODE XREF: RESET_0+1E16j
					; RESET_0+1E19j ...
		mov	A, UOZ
		mov	DPTR, #0F844h
		movx	@DPTR, A
		mov	DPTR, #0F900h	; Память обучения детонации (только J5OLT)
		mov	A, #0A5h
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, #20
		movx	@DPTR, A
		jb	SoftFlags1.7, code_3607	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	DPTR, #0F978h
		movx	A, @DPTR
		mov	DPTR, #71C8h	; Время	накопления для модуля зажигания
		lcall	GetTable2DCell
		mov	B, A		; B-Register
		mov	A, DPKVCount
		mul	AB
		rlc	A
		xch	A, B		; B-Register
		rlc	A
		jc	code_35FD
		xch	A, B		; B-Register
		rlc	A
		xch	A, B		; B-Register
		rlc	A
		jnc	code_35FF

code_35FD:				; CODE XREF: RESET_0+1E76j
		mov	A, #0FFh

code_35FF:				; CODE XREF: RESET_0+1E7Ej
		mov	B, #0F5h ; 'ї'  ; B-Register
		mul	AB
		mov	A, B		; B-Register
		sjmp	code_3656
; ---------------------------------------------------------------------------

code_3607:				; CODE XREF: RESET_0+1E60j
		mov	DPTR, #0F978h
		movx	A, @DPTR
		mov	R2, EngineSpeedQuant ; Квантованные обороты двигателя
		mov	R3, A
		mov	DPTR, #6AA1h
		lcall	GetTable3DCell
		push	ACC		; Accumulator
		mov	B, #15h		; B-Register
		mul	AB
		clr	C
		xch	A, B		; B-Register
		rrc	A
		xch	A, B		; B-Register
		rrc	A
		mov	SparkInterval, A ; Интервал между искрами
		mov	SparkCount, B	; Число	дополнительных искр
		mov	DPTR, #0FF58h
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, B		; B-Register
		movx	@DPTR, A
		pop	B		; B-Register
		mov	DPTR, #0F946h
		jnb	RAM_2A.3, code_363A ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #0FF49h

code_363A:				; CODE XREF: RESET_0+1EB7j
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	MUL_R0R1_B
		mov	A, R1
		jz	code_3648
		mov	R0, #0FFh

code_3648:				; CODE XREF: RESET_0+1EC7j
		mov	A, R0
		mov	B, #7Bh	; '{'   ; B-Register
		mul	AB
		mov	A, B		; B-Register
		clr	C
		subb	A, #0Eh
		mov	ElectronicsParts.5, C ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		mov	A, B		; B-Register

code_3656:				; CODE XREF: RESET_0+1E88j
		mov	R0, #0Ch
		mov	R1, #0AEh ; 'о'
		lcall	code_46C7
		mov	B, #6		; B-Register
		div	AB
		mov	DPTR, #0F800h
		movx	@DPTR, A
		mov	A, B		; B-Register
		rl	A
		mov	DPTR, #0F801h
		movx	@DPTR, A
		mov	B, DPKVCount	; B-Register
		mov	DPTR, #605Dh	; Коррекция задержки УОЗ при 10240 об/мин
		clr	A
		movc	A, @A+DPTR
		mul	AB
		mov	A, B		; B-Register
		add	A, UOZ
		mov	R2, A
		mov	R0, #80h ; 'А'

code_367C:				; CODE XREF: RESET_0:code_36E9j
		mov	R3, #2Fh ; '/'
		mov	A, R0
		clr	C
		subb	A, #80h	; 'А'
		jnb	ACC.2, code_3687 ; Accumulator
		mov	R3, #11h

code_3687:				; CODE XREF: RESET_0+1F05j
		rr	A
		rr	A
		push	ACC		; Accumulator
		add	A, #0A9h ; 'й'
		mov	R1, A
		mov	A, @R1
		mov	B, A		; B-Register
		mov	A, #90h	; 'Р'
		clr	C
		subb	A, R2
		jnb	RAM_2B.5, code_369A ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		add	A, B		; B-Register

code_369A:				; CODE XREF: RESET_0+1F18j
		mov	B, A		; B-Register
		pop	ACC		; Accumulator
		mov	DPTR, #5F16h
		movc	A, @A+DPTR
		add	A, B		; B-Register
		clr	C
		subb	A, #84h	; 'Д'
		jnc	code_36B4
		mov	B, A		; B-Register
		mov	A, R3
		add	A, #27h	; '''
		mov	R3, A
		mov	A, B		; B-Register
		clr	C
		subb	A, #4

code_36B4:				; CODE XREF: RESET_0+1F2Aj
		mov	B, #0Ch		; B-Register
		div	AB
		add	A, R3
		cjne	A, #3Ch, code_36BC ; '<'

code_36BC:
		jc	code_36C0
		subb	A, #3Ch	; '<'

code_36C0:				; CODE XREF: RESET_0:code_36BCj
		mov	R3, A
		mov	R4, A
		mov	R1, B		; B-Register
		mov	DPTR, #0F801h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	A, R1
		clr	C
		subb	A, B		; B-Register
		jnc	code_36D3
		add	A, #0Ch
		dec	R4

code_36D3:				; CODE XREF: RESET_0+1F51j
		mov	DPTR, #0AA54h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R1
		movc	A, @A+DPTR
		mov	R1, A
		mov	DPTR, #0F800h
		movx	A, @DPTR
		xch	A, R4
		clr	C
		subb	A, R4
		jnc	code_36EC
		add	A, #3Ch	; '<'
		sjmp	code_36F3
; ---------------------------------------------------------------------------

code_36E9:				; CODE XREF: RESET_0+1F85j
		ljmp	code_367C
; ---------------------------------------------------------------------------

code_36EC:				; CODE XREF: RESET_0+1F66j
		cjne	A, #3Ch, code_36EF ; '<'

code_36EF:
		jc	code_36F3
		subb	A, #3Ch	; '<'

code_36F3:				; CODE XREF: RESET_0+1F6Aj
					; RESET_0:code_36EFj
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	@R0, A
		inc	R0
		mov	@R0, B		; B-Register
		inc	R0
		mov	@R0, RAM_3
		inc	R0
		mov	@R0, RAM_1
		setb	IEN0.7		; Interrupt Enable Register 0
		inc	R0
		cjne	R0, #90h, code_36E9 ; 'Р'
		mov	A, RAM_79
		jnb	ACC.1, code_370E ; Accumulator
		mov	C, RAM_2E.1
		sjmp	code_375E
; ---------------------------------------------------------------------------

code_370E:				; CODE XREF: RESET_0+1F8Aj
		mov	C, RAM_23_ErrorMask2.3 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.3 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jc	code_3722
		mov	DPTR, #60C8h	; Температура включения	вентилятора
		jb	RAM_28.1, code_371D ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	DPTR, #60C7h	; Температура выключения вентилятора

code_371D:				; CODE XREF: RESET_0+1F9Aj
		clr	A
		movc	A, @A+DPTR
		cjne	A, DTOG_Value, code_3722 ; Текущее значение ДТОЖ (температура двигателя)

code_3722:				; CODE XREF: RESET_0+1F95j
		jnb	RAM_2B.1, code_375D ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		jnb	RAM_28.1, code_375D ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		jnc	code_375D
		mov	DPTR, #60EEh	; Задержка включения вентилятора
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F8BFh
		movx	A, @DPTR
		jnz	code_3756
		jb	SoftFlags1.4, code_3755	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	DPTR, #60EDh	; Смещение РХХ при включения вентилятора
		clr	A
		movc	A, @A+DPTR
		add	A, RXX_Position
		mov	RXX_Position, A
		anl	A, #0Fh
		swap	A
		mov	DPTR, #0F845h
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, RXX_Position
		anl	A, #0F0h
		swap	A
		movx	@DPTR, A
		lcall	code_4635

code_3755:				; CODE XREF: RESET_0+1FBAj
		clr	A

code_3756:				; CODE XREF: RESET_0+1FB8j
		inc	A
		cjne	A, B, code_375A	; B-Register

code_375A:
		cpl	C
		jnc	code_375E

code_375D:				; CODE XREF: RESET_0:code_3722j
					; RESET_0+1FA8j ...
		clr	A

code_375E:				; CODE XREF: RESET_0+1F8Fj
					; RESET_0+1FDEj
		mov	DPTR, #0F8BFh	; Циклов после выставления сигнала на включение	вентилятора (для задержки включения вентилятора)
		movx	@DPTR, A
		mov	DPTR, #0F999h
		movx	A, @DPTR
		mov	ACC.1, C	; Accumulator
		movx	@DPTR, A
		cpl	C
		mov	RAM_28.1, C	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	DPTR, #60E0h	; Обороты отключения контроля детонации
		clr	A
		movc	A, @A+DPTR
		cjne	A, DPKVCount, code_3774

code_3774:				; 0
		mov	RAM_28.5, C	; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	DPTR, #605Ah	; Обороты начала выхода	из режима пуска
		clr	A
		movc	A, @A+DPTR
		cjne	A, RAM_53_CurrentEngineSpeed, code_377E

code_377E:
		jnc	code_3790
		mov	C, RAM_25_ErrorMask4.2
		mov	DPTR, #0F98Bh
		movx	A, @DPTR
		addc	A, #0
		movx	@DPTR, A
		cjne	A, #0Ah, code_378C

code_378C:
		jc	code_3790
		setb	RAM_22.0

code_3790:				; CODE XREF: RESET_0:code_377Ej
					; RESET_0:code_378Cj
		jb	RAM_28.5, code_37B2 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		jnb	RAM_22.4, code_37B2
		jnb	SensorsParts.5,	code_37B2 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	A, RAM_53_CurrentEngineSpeed
		clr	C
		subb	A, #176
		jc	code_37B2
		jb	RAM_2A.3, code_37B2 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #0F98Ch
		movx	A, @DPTR
		jz	code_37AD
		dec	A
		movx	@DPTR, A
		sjmp	code_37B2
; ---------------------------------------------------------------------------

code_37AD:				; CODE XREF: RESET_0+202Aj
		mov	RAM_5B_ErrorMask1, RAM_22
		sjmp	code_37BE
; ---------------------------------------------------------------------------

code_37B2:				; CODE XREF: RESET_0:code_3790j
					; RESET_0+2016j ...
		mov	DPTR, #0F98Ch
		mov	A, #14h
		movx	@DPTR, A
		mov	A, RAM_22
		anl	A, #0EFh
		mov	RAM_5B_ErrorMask1, A

code_37BE:				; CODE XREF: RESET_0+2033j
		jb	RAM_2A.5, code_37C4 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		jb	SensorsParts.5,	code_37C8 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)

code_37C4:				; CODE XREF: RESET_0:code_37BEj
		setb	RAM_2A.0	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		sjmp	code_37CE	; Маска	ошибок
; ---------------------------------------------------------------------------

code_37C8:				; CODE XREF: RESET_0+2044j
		mov	A, RAM_5B_ErrorMask1
		mov	C, ACC.4	; Accumulator
		mov	RAM_2A.0, C	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен

code_37CE:				; CODE XREF: RESET_0+2049j
		mov	DPTR, #60DAh	; Маска	ошибок
		clr	A
		movc	A, @A+DPTR
		anl	RAM_5B_ErrorMask1, A
		mov	DPTR, #60DBh	; Маска	ошибок
		clr	A
		movc	A, @A+DPTR
		anl	RAM_23_ErrorMask2, A ; 0 bit напряжение	борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		mov	DPTR, #60DCh	; Маска	ошибок
		clr	A
		movc	A, @A+DPTR
		anl	RAM_24_ErrorMask3, A ; 0 bit напряжение	борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		mov	DPTR, #60DDh	; Маска	ошибок
		clr	A
		movc	A, @A+DPTR
		anl	RAM_25_ErrorMask4, A
		mov	DPTR, #5FACh	; Маска	ошибок
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F9B0h	; ErrorMask5
		movx	A, @DPTR
		anl	A, #7Fh
		anl	A, B		; B-Register
		movx	@DPTR, A
		jnb	RAM_29.2, code_3804 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		clr	RAM_22.0
		clr	A
		mov	DPTR, #0F98Bh
		movx	@DPTR, A

code_3804:				; CODE XREF: RESET_0+207Dj
					; RESET_0+20C0j
		mov	DPTR, #0F82Eh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	B, DPKVCount	; B-Register
		lcall	MUL_R0R1_B
		mov	A, RAM_61
		add	A, #80h	; 'А'
		mov	R2, A
		clr	A
		addc	A, #0
		clr	RAM_28.4	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	MD0, B		; Multiplication/Division Register 0
		mov	MD1, R0		; Multiplication/Division Register 1
		mov	MD2, R1		; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, R2		; Multiplication/Division Register 4
		mov	MD5, A		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		jb	RAM_28.4, code_3804 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	B, RAM_6F	; B-Register
		mov	R2, RAM_0
		mov	R3, RAM_1
		cpl	B.7		; B-Register
		lcall	MUL_R0R1_B
		mov	A, RAM_6F
		jnb	ACC.7, code_3854 ; Accumulator
		lcall	ADD_R0R1_R2R3

code_3854:				; CODE XREF: RESET_0+20D1j
		mov	B, #0E9h ; 'щ'  ; B-Register
		lcall	MUL_R0R1_B
		mov	R4, B		; B-Register
		jnb	RAM_2B.3, code_3863 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		clr	A
		mov	R0, A
		mov	R1, A
		mov	R4, A

code_3863:				; CODE XREF: RESET_0+20DFj
		mov	DPTR, #0F862h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #0F908h
		movx	A, @DPTR
		mov	B, A		; B-Register
		jz	code_38A7

code_3874:				; CODE XREF: RESET_0+2123j
		mov	DPTR, #0F862h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		clr	RAM_28.4	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	MD0, R4		; Multiplication/Division Register 0
		mov	MD1, R0		; Multiplication/Division Register 1
		mov	MD2, R1		; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, B		; Multiplication/Division Register 4
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	R2, MD2		; Multiplication/Division Register 2
		mov	R3, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		jb	RAM_28.4, code_3874 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	A, R2
		orl	A, R3
		jz	code_38AB

code_38A7:				; CODE XREF: RESET_0+20F5j
		mov	R0, #0FFh
		mov	R1, #0FFh

code_38AB:				; CODE XREF: RESET_0+2128j
		mov	DPTR, #0F874h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #0F8ADh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #0Ah, code_38C3
		mov	R0, #0ADh ; 'н'
		clr	A
		xch	A, @R0
		sjmp	code_38D8
; ---------------------------------------------------------------------------

code_38C3:				; CODE XREF: RESET_0+213Dj
		cjne	A, #14h, code_38CC
		mov	R0, #0AEh ; 'о'
		clr	A
		xch	A, @R0
		sjmp	code_38D8
; ---------------------------------------------------------------------------

code_38CC:				; CODE XREF: RESET_0:code_38C3j
		cjne	A, #1Eh, code_38F1
		clr	A
		mov	DPTR, #0F8ADh
		movx	@DPTR, A
		mov	R0, #0AFh ; 'п'
		clr	A
		xch	A, @R0

code_38D8:				; CODE XREF: RESET_0+2144j
					; RESET_0+214Dj
		mov	DPTR, #0F908h
		movx	@DPTR, A
		mov	B, A		; B-Register
		mov	DPTR, #60F0h	; Нижний порог скорости	признака движения
		jb	SoftFlags1.5, code_38E7	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	DPTR, #60F1h	; Верхний порог	скорости признака движения

code_38E7:				; CODE XREF: RESET_0+2164j
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, B		; B-Register
		mov	SoftFlags1.5, C	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		lcall	code_B5F0

code_38F1:				; CODE XREF: RESET_0:code_38CCj
		jnb	PartFlags1.4, code_3925	; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
		jnb	SoftFlags1.5, code_38FB	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		clr	RAM_25_ErrorMask4.6
		sjmp	code_3910
; ---------------------------------------------------------------------------

code_38FB:				; CODE XREF: RESET_0+2177j
		jb	RAM_25_ErrorMask4.6, code_3925
		mov	A, RPM_RT
		cjne	A, #0Eh, code_3903

code_3903:
		jc	code_3910
		mov	DPTR, #60F3h	; Номер	режимной точки по GBC для диагностики ДСA
		clr	A
		movc	A, @A+DPTR
		swap	A
		cjne	A, RAM_5C_GBC, code_390E

code_390E:
		jc	code_3917

code_3910:				; CODE XREF: RESET_0+217Cj
					; RESET_0:code_3903j
		clr	A
		mov	DPTR, #0F8C0h
		movx	@DPTR, A
		sjmp	code_3925
; ---------------------------------------------------------------------------

code_3917:				; CODE XREF: RESET_0:code_390Ej
		jnb	RAM_29.1, code_3925 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F8C0h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #0Ah, code_3925
		setb	RAM_25_ErrorMask4.6

code_3925:				; CODE XREF: RESET_0:code_38F1j
					; RESET_0:code_38FBj ...
		jb	RAM_28.5, code_392B ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		jb	RAM_2B.7, code_392E ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода

code_392B:				; CODE XREF: RESET_0:code_3925j
		ljmp	code_39AD
; ---------------------------------------------------------------------------

code_392E:				; CODE XREF: RESET_0+21ABj
		mov	DPTR, #0F889h
		movx	A, @DPTR
		mov	R0, A
		anl	A, #0Fh
		mov	B, A		; B-Register
		mov	DPTR, #0F88Eh
		movx	A, @DPTR
		mov	R1, A
		anl	A, #0Fh
		clr	C
		subb	A, B		; B-Register
		lcall	code_47D3
		mov	B, A		; B-Register
		mov	A, R0
		anl	A, #0F0h
		swap	A
		mov	R0, A
		mov	A, R1
		anl	A, #0F0h
		swap	A
		clr	C
		subb	A, R0
		lcall	code_47D3
		clr	C
		subb	A, B		; B-Register
		jnc	code_395A
		clr	A

code_395A:				; CODE XREF: RESET_0+21DAj
		add	A, B		; B-Register
		mov	B, A		; B-Register
		mov	DPTR, #60A7h
		clr	A
		movc	A, @A+DPTR
		mul	AB
		mov	B, A		; B-Register
		mov	DPTR, #0F88Ch
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jnc	code_3970
		clr	A

code_3970:				; CODE XREF: RESET_0+21F0j
		mov	R0, A
		mov	DPTR, #0F88Ch
		movx	A, @DPTR
		add	A, B		; B-Register
		jnc	code_397B
		mov	A, #0FFh

code_397B:				; CODE XREF: RESET_0+21FAj
		mov	R1, A
		mov	DPTR, #0F889h
		movx	A, @DPTR
		mov	DPTR, #0FD00h
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R2, A
		lcall	code_46C7
		mov	R0, #40h ; '@'
		mov	R1, #0C0h ; '└'
		lcall	code_46C7
		movx	@DPTR, A
		mov	B, A		; B-Register
		mov	DPTR, #0F889h
		movx	A, @DPTR
		cjne	A, RPM_THROTTLE_3D_RT, code_39A3
		mov	A, R2
		clr	C
		subb	A, B		; B-Register
		add	A, RAM_6E
		mov	RAM_6E,	A

code_39A3:				; CODE XREF: RESET_0+221Bj
		mov	DPTR, #0F889h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		jnz	code_39AD
		clr	RAM_2B.7	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода

code_39AD:				; CODE XREF: RESET_0:code_392Bj
					; RESET_0+222Cj
		mov	C, RAM_29.4	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		orl	C, RAM_29.5	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		jnc	code_39B6
		ljmp	code_3BD5
; ---------------------------------------------------------------------------

code_39B6:				; CODE XREF: RESET_0+2234j
		jnb	RAM_29.1, code_39D3 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		jb	SoftFlags1.7, code_39CA	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jb	SoftFlags1.3, code_39C2	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		lcall	code_4F78

code_39C2:				; CODE XREF: RESET_0+223Fj
		lcall	SetOUTDriver
		lcall	code_502C
		sjmp	code_39D3
; ---------------------------------------------------------------------------

code_39CA:				; CODE XREF: RESET_0+223Cj
		lcall	code_4F49
		lcall	SetOUTDriver
		lcall	code_5199

code_39D3:				; CODE XREF: RESET_0:code_39B6j
					; RESET_0+224Bj
		mov	DPTR, #60DAh
		clr	A
		movc	A, @A+DPTR
		anl	A, RAM_5B_ErrorMask1
		mov	B, A		; B-Register
		mov	DPTR, #0F4CAh
		movx	A, @DPTR
		orl	A, B		; B-Register
		movx	@DPTR, A
		mov	DPTR, #60DBh
		clr	A
		movc	A, @A+DPTR
		anl	A, RAM_23_ErrorMask2 ; 0 bit напряжение	борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		mov	B, A		; B-Register
		mov	DPTR, #0F4CBh
		movx	A, @DPTR
		orl	A, B		; B-Register
		movx	@DPTR, A
		mov	DPTR, #60DCh
		clr	A
		movc	A, @A+DPTR
		anl	A, RAM_24_ErrorMask3 ; 0 bit напряжение	борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		mov	B, A		; B-Register
		mov	DPTR, #0F4CCh
		movx	A, @DPTR
		orl	A, B		; B-Register
		movx	@DPTR, A
		mov	DPTR, #60DDh
		clr	A
		movc	A, @A+DPTR
		anl	A, RAM_25_ErrorMask4
		mov	B, A		; B-Register
		mov	DPTR, #0F4CDh
		movx	A, @DPTR
		orl	A, B		; B-Register
		movx	@DPTR, A
		mov	DPTR, #5FACh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		anl	A, #7Fh
		anl	A, B		; B-Register
		mov	B, A		; B-Register
		mov	DPTR, #0F4CEh
		movx	A, @DPTR
		orl	A, B		; B-Register
		movx	@DPTR, A
		mov	DPTR, #5FB0h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		anl	A, B		; B-Register
		mov	B, A		; B-Register
		mov	DPTR, #0F4CFh
		movx	A, @DPTR
		orl	A, B		; B-Register
		movx	@DPTR, A
		mov	DPTR, #5FB1h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		anl	A, B		; B-Register
		mov	B, A		; B-Register
		mov	DPTR, #0F4D0h
		movx	A, @DPTR
		orl	A, B		; B-Register
		movx	@DPTR, A
		mov	DPTR, #5FB2h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F9B4h
		movx	A, @DPTR
		anl	A, #0Fh
		anl	A, B		; B-Register
		mov	B, A		; B-Register
		mov	DPTR, #0F4D1h
		movx	A, @DPTR
		orl	A, B		; B-Register
		movx	@DPTR, A
		jnb	RAM_29.1, code_3ADD ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPSEL, #2	; Data Pointer Select Register
		mov	DPTR, #0F4C9h
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F512h
		mov	DPSEL, #4	; Data Pointer Select Register
		mov	DPTR, #9CDDh
		mov	R2, #0
		mov	DPSEL, #0	; Data Pointer Select Register
		mov	DPTR, #0F4D2h

code_3A8C:				; CODE XREF: RESET_0+235Ej
		mov	A, R2
		cjne	A, #40h, code_3A92 ; '@'
		sjmp	code_3ADD
; ---------------------------------------------------------------------------

code_3A92:				; CODE XREF: RESET_0+2310j
		anl	A, #7
		jnz	code_3AA2
		mov	DPSEL, #2	; Data Pointer Select Register
		inc	DPTR
		movx	A, @DPTR
		mov	B, A		; B-Register
		clr	A
		movx	@DPTR, A
		mov	DPSEL, #0	; Data Pointer Select Register

code_3AA2:				; CODE XREF: RESET_0+2317j
		mov	A, B		; B-Register
		rrc	A
		mov	B, A		; B-Register
		movx	A, @DPTR
		jc	code_3ABD
		jb	ACC.7, code_3AC2 ; Accumulator
		jz	code_3ACE
		inc	A
		cjne	A, #14h, code_3AB3

code_3AB3:
		jc	code_3ABA
		clr	A
		sjmp	code_3ABA
; ---------------------------------------------------------------------------

code_3AB8:				; CODE XREF: RESET_0:code_3ABDj
		mov	A, #1

code_3ABA:				; CODE XREF: RESET_0:code_3AB3j
					; RESET_0+2339j
		movx	@DPTR, A
		sjmp	code_3ACE
; ---------------------------------------------------------------------------

code_3ABD:				; CODE XREF: RESET_0+232Bj
		jz	code_3AB8
		mov	A, #0FFh
		movx	@DPTR, A

code_3AC2:				; CODE XREF: RESET_0+232Dj
		mov	DPSEL, #4	; Data Pointer Select Register
		clr	A
		movc	A, @A+DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	@DPTR, A
		mov	DPSEL, #0	; Data Pointer Select Register

code_3ACE:				; CODE XREF: RESET_0+2330j
					; RESET_0+233Ej
		inc	R2
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		inc	DPTR
		mov	DPSEL, #4	; Data Pointer Select Register
		inc	DPTR
		mov	DPSEL, #0	; Data Pointer Select Register
		sjmp	code_3A8C
; ---------------------------------------------------------------------------

code_3ADD:				; CODE XREF: RESET_0+22F2j
					; RESET_0+2313j
		jb	PartFlags1.3, code_3B41	; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
		jnb	RAM_29.1, code_3B41 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #5FB4h
		clr	A
		movc	A, @A+DPTR
		mov	R4, A
		mov	DPTR, #5FB3h
		clr	A
		movc	A, @A+DPTR
		mov	R3, A
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #2	; Data Pointer Select Register
		mov	DPTR, #0F512h
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F552h
		pop	DPSEL		; Data Pointer Select Register
		clr	A
		mov	R2, A
		mov	DPTR, #0F4D2h

code_3B04:				; CODE XREF: RESET_0+23C2j
		mov	A, R2
		cjne	A, #40h, code_3B0A ; '@'
		sjmp	code_3B41
; ---------------------------------------------------------------------------

code_3B0A:				; CODE XREF: RESET_0+2388j
		movx	A, @DPTR
		jnb	ACC.7, code_3B30 ; Accumulator
		push	ACC		; Accumulator
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	A, R4
		movx	@DPTR, A
		pop	DPSEL		; Data Pointer Select Register
		pop	ACC		; Accumulator
		jnb	RAM_29.2, code_3B30 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		dec	A
		mov	B, R3		; B-Register
		cjne	A, B, code_3B30	; B-Register
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #2	; Data Pointer Select Register
		movx	A, @DPTR
		anl	A, #7Fh
		movx	@DPTR, A
		pop	DPSEL		; Data Pointer Select Register
		clr	A

code_3B30:				; CODE XREF: RESET_0+238Ej
					; RESET_0+239Ej ...
		movx	@DPTR, A
		inc	R2
		inc	DPTR
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #2	; Data Pointer Select Register
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		inc	DPTR
		pop	DPSEL		; Data Pointer Select Register
		sjmp	code_3B04
; ---------------------------------------------------------------------------

code_3B41:				; CODE XREF: RESET_0:code_3ADDj
					; RESET_0+2363j ...
		lcall	code_9C25
		lcall	code_9BE0
		mov	DPTR, #5FF3h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.7, code_3B6F ; Accumulator
		mov	R0, A
		mov	DPTR, #5FF4h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.7, code_3B6F ; Accumulator
		mov	R1, A
		mov	DPTR, #0F94Eh	; Текущие обороты блокировки впрыска
		movx	A, @DPTR
		clr	C
		subb	A, R0
		mov	B, A		; B-Register
		clr	C
		subb	A, DPKVCount
		jc	code_3B78
		mov	A, B		; B-Register
		clr	C
		subb	A, R1
		clr	C
		subb	A, DPKVCount
		jc	code_3B7F

code_3B6F:				; CODE XREF: RESET_0+23CFj
					; RESET_0+23D8j
		mov	DPTR, #0F94Ah
		movx	A, @DPTR
		clr	ACC.0		; Accumulator
		movx	@DPTR, A
		sjmp	code_3B7F
; ---------------------------------------------------------------------------

code_3B78:				; CODE XREF: RESET_0+23E7j
		mov	DPTR, #0F94Ah
		movx	A, @DPTR
		setb	ACC.0		; Accumulator
		movx	@DPTR, A

code_3B7F:				; CODE XREF: RESET_0+23F0j
					; RESET_0+23F9j
		mov	A, RAM_79
		jb	ACC.0, code_3BCB ; Accumulator
		jnb	RAM_2A.6, code_3B99 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #0F807h
		movx	A, @DPTR
		cjne	A, #3Ch, code_3B8E ; '<'

code_3B8E:
		jc	code_3BC0
		mov	DPTR, #0F512h
		mov	R2, #40h ; '@'

code_3B95:				; CODE XREF: RESET_0+2421j
		movx	A, @DPTR
		jnb	ACC.7, code_3B9D ; Accumulator

code_3B99:				; CODE XREF: RESET_0+2407j
		clr	RAM_2E.0
		sjmp	code_3BCB
; ---------------------------------------------------------------------------

code_3B9D:				; CODE XREF: RESET_0+2419j
		inc	DPTR
		djnz	R2, code_3B95
		mov	DPTR, #5FE0h
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jnc	code_3BC0
		mov	DPTR, #0F97Fh
		movx	A, @DPTR
		jz	code_3BB4
		dec	A
		movx	@DPTR, A
		sjmp	code_3BCB
; ---------------------------------------------------------------------------

code_3BB4:				; CODE XREF: RESET_0+2431j
		cpl	RAM_2E.0
		mov	A, #0Ah
		jnb	RAM_2E.0, code_3BBD
		mov	A, #14h

code_3BBD:				; CODE XREF: RESET_0+243Bj
		movx	@DPTR, A
		sjmp	code_3BCB
; ---------------------------------------------------------------------------

code_3BC0:				; CODE XREF: RESET_0:code_3B8Ej
					; RESET_0+242Bj
		setb	RAM_2E.0
		mov	DPTR, #0F94Ah
		movx	A, @DPTR
		jnb	ACC.0, code_3BCB ; Accumulator
		clr	RAM_2E.0

code_3BCB:				; CODE XREF: RESET_0+2404j
					; RESET_0+241Ej ...
		mov	C, RAM_2E.0
		cpl	C
		mov	DPTR, #0F999h
		movx	A, @DPTR
		mov	ACC.4, C	; Accumulator
		movx	@DPTR, A

code_3BD5:				; CODE XREF: RESET_0+2236j
		jnb	RAM_2F.3, code_3C32
		jb	RAM_2F.4, code_3BE3
		lcall	code_9ED1
		lcall	ParseRequest
		sjmp	code_3C32
; ---------------------------------------------------------------------------

code_3BE3:				; CODE XREF: RESET_0+245Bj
		mov	A, RAM_78
		clr	C
		subb	A, #8
		jc	code_3C32
		mov	A, RAM_78
		clr	C
		subb	A, #33h	; '3'
		jnc	code_3BF9
		lcall	code_566D
		lcall	code_564E
		sjmp	code_3C32
; ---------------------------------------------------------------------------

code_3BF9:				; CODE XREF: RESET_0+2472j
		jnb	RAM_2F.5, code_3C32
		lcall	code_565C
		mov	DPTR, #0F600h
		mov	A, #83h	; 'Г'
		movx	@DPTR, A
		mov	R4, A
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		inc	DPTR
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		inc	DPTR
		mov	A, #7Fh	; ''
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		mov	R0, #0A7h ; 'з'
		mov	A, @R0
		inc	DPTR
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		inc	DPTR
		mov	A, #21h	; '!'
		movx	@DPTR, A
		add	A, R4
		inc	DPTR
		movx	@DPTR, A
		mov	RAM_51,	#7
		setb	RAM_2F.4
		lcall	code_566D
		lcall	code_564E

code_3C32:				; CODE XREF: RESET_0:code_3BD5j
					; RESET_0+2464j ...
		jnb	RAM_2F.1, code_3CA4
		mov	R0, #91h ; 'С'
		mov	ACC, @R0	; Accumulator
		jnb	ACC.7, code_3C41 ; Accumulator
		clr	ACC.7		; Accumulator
		mov	@R0, A
		setb	RAM_2E.2

code_3C41:				; CODE XREF: RESET_0+24BCj
		jnb	ACC.5, code_3CA4 ; Accumulator
		jnb	RAM_2A.6, code_3C65 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #9718h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	RXX_Position, A
		mov	WDTREL,	#80h ; 'А' ; Watchdog Timer Reload Register

code_3C52:				; CODE XREF: RESET_0+24DDj
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		mov	A, RAM_65
		xrl	A, RXX_Position
		jnz	code_3C52
		mov	A, RAM_65
		mov	DPTR, #0F9AFh
		movx	@DPTR, A
		lcall	code_532B

code_3C65:				; CODE XREF: RESET_0+24C7j
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	A, #55h	; 'U'
		mov	DPTR, #0F9A3h
		movx	@DPTR, A
		mov	R0, #1
		mov	R1, #0
		mov	DPTR, #0FD00h

code_3C74:				; CODE XREF: RESET_0+2502j
		clr	C
		movx	A, @DPTR
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		inc	DPTR
		mov	A, DPH		; Data Pointer,	High Byte
		cjne	A, #0FFh, code_3C74
		mov	R2, #40h ; '@'
		mov	DPTR, #0F4D2h

code_3C87:				; CODE XREF: RESET_0+2513j
		clr	C
		movx	A, @DPTR
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		inc	DPTR
		djnz	R2, code_3C87
		mov	DPTR, #0F8FEh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	WDTREL,	#7Fh ; '' ; Watchdog Timer Reload Register
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1

code_3CA2:				; CODE XREF: RESET_0:code_3CA2j
		sjmp	code_3CA2
; ---------------------------------------------------------------------------

code_3CA4:				; CODE XREF: RESET_0:code_3C32j
					; RESET_0:code_3C41j
		mov	A, P1		; Port 1 (PDIR=0)
		mov	DPTR, #0F8B3h
		movx	@DPTR, A
		mov	A, P5		; Port 5 (PDIR=0)
		mov	DPTR, #0F8B6h
		movx	@DPTR, A
		mov	A, P6		; Port 6 (PDIR=0)
		mov	DPTR, #0F8B7h
		movx	@DPTR, A
		mov	A, P8		; Port 8, Analog/Digital Input
		mov	DPTR, #0F8B5h
		movx	@DPTR, A
		jb	RAM_2A.6, code_3D25 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jnb	ACC.0, code_3CDC ; Accumulator
		mov	C, RAM_2E.4
		mov	P4.0, C		; Port 4 (PDIR=0)
		jb	RAM_2E.4, code_3D25
		mov	DPTR, #0F95Dh
		movx	A, @DPTR
		jnz	code_3CD8
		setb	RAM_2E.4
		anl	RAM_7C,	#0F0h	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		sjmp	code_3D25
; ---------------------------------------------------------------------------

code_3CD8:				; CODE XREF: RESET_0+2552j
					; RESET_0+256Fj ...
		dec	A
		movx	@DPTR, A
		sjmp	code_3D25
; ---------------------------------------------------------------------------

code_3CDC:				; CODE XREF: RESET_0+2544j
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jnb	ACC.1, code_3CF5 ; Accumulator
		mov	C, RAM_2E.5
		mov	P4.1, C		; Port 4 (PDIR=0)
		jb	RAM_2E.5, code_3D25
		mov	DPTR, #0F95Dh
		movx	A, @DPTR
		jnz	code_3CD8
		setb	RAM_2E.5
		anl	RAM_7C,	#0F0h	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		sjmp	code_3D25
; ---------------------------------------------------------------------------

code_3CF5:				; CODE XREF: RESET_0+2561j
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jnb	ACC.2, code_3D0E ; Accumulator
		mov	C, RAM_2E.6
		mov	P4.2, C		; Port 4 (PDIR=0)
		jb	RAM_2E.6, code_3D25
		mov	DPTR, #0F95Dh
		movx	A, @DPTR
		jnz	code_3CD8
		setb	RAM_2E.6
		anl	RAM_7C,	#0F0h	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		sjmp	code_3D25
; ---------------------------------------------------------------------------

code_3D0E:				; CODE XREF: RESET_0+257Aj
		mov	A, RAM_7C	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		jnb	ACC.3, code_3D25 ; Accumulator
		mov	C, RAM_2E.7
		mov	P4.3, C		; Port 4 (PDIR=0)
		jb	RAM_2E.7, code_3D25
		mov	DPTR, #0F95Dh
		movx	A, @DPTR
		jnz	code_3CD8
		setb	RAM_2E.7
		anl	RAM_7C,	#0F0h	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц

code_3D25:				; CODE XREF: RESET_0+253Fj
					; RESET_0+254Bj ...
		jnb	SoftFlags1.4, code_3D2B	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		lcall	New_Alg_XX

code_3D2B:				; CODE XREF: RESET_0:code_3D25j
		lcall	code_BE62
		lcall	Control_25PIN
		lcall	Control_38PIN
		lcall	SetOUTDriver
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		anl	A, #0FEh
		jnb	RAM_29.0, code_3D42 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		orl	A, #1

code_3D42:				; CODE XREF: RESET_0+25C0j
		movx	@DPTR, A
		mov	A, P8		; Port 8, Analog/Digital Input
		jb	ACC.3, code_3D51 ; Accumulator
		orl	P6, #1		; Port 6 (PDIR=0)
		nop
		nop
		nop
		nop
		sjmp	code_3D58
; ---------------------------------------------------------------------------

code_3D51:				; CODE XREF: RESET_0+25C8j
		anl	P6, #0FEh	; Port 6 (PDIR=0)
		nop
		nop
		nop
		nop

code_3D58:				; CODE XREF: RESET_0+25D2j
		ljmp	MainCycle
; END OF FUNCTION CHUNK	FOR RESET_0

; =============== S U B	R O U T	I N E =======================================


code_3D5B:				; CODE XREF: RESET_0:code_33D1p
		mov	R1, #0
		clr	RAM_2C.5	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода

code_3D5F:				; CODE XREF: code_3D5B:code_3DEEj
		mov	A, #0A9h ; 'й'
		add	A, R1
		mov	R0, A
		mov	A, @R0
		mov	R3, A
		mov	DPTR, #3DF1h
		mov	A, R1
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	R2, A
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	A, RAM_71
		anl	B, A		; B-Register
		xrl	A, B		; B-Register
		mov	RAM_71,	A
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	A, B		; B-Register
		jnz	code_3DA5
		mov	DPTR, #7F47h	; Период восстановления	УОЗ
		mov	A, RPM_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F86Bh
		mov	A, DPL		; Data Pointer,	Low Byte
		add	A, R1
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jnc	code_3D99
		add	A, B		; B-Register
		inc	A
		movx	@DPTR, A
		sjmp	code_3DD3
; ---------------------------------------------------------------------------

code_3D99:				; CODE XREF: code_3D5B+36j
		clr	A
		movx	@DPTR, A
		mov	A, R3
		jz	code_3D9F
		dec	R3

code_3D9F:				; CODE XREF: code_3D5B+41j
		mov	A, R2
		cpl	A
		anl	RAM_3A,	A
		sjmp	code_3DD3
; ---------------------------------------------------------------------------

code_3DA5:				; CODE XREF: code_3D5B+20j
		setb	RAM_2C.5	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	A, RAM_3A
		anl	A, R2
		jz	code_3DC6
		mov	DPTR, #7F27h	; Минимальное время между циклами детонации
		mov	A, RPM_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F86Bh
		mov	A, DPL		; Data Pointer,	Low Byte
		add	A, R1
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jnc	code_3DC6
		inc	R3
		inc	R3
		inc	R3
		inc	R3

code_3DC6:				; CODE XREF: code_3D5B+4Fj
					; code_3D5B+65j
		mov	DPTR, #0F86Bh
		mov	A, DPL		; Data Pointer,	Low Byte
		add	A, R1
		mov	DPL, A		; Data Pointer,	Low Byte
		clr	A
		movx	@DPTR, A
		mov	A, R2
		orl	RAM_3A,	A

code_3DD3:				; CODE XREF: code_3D5B+3Cj
					; code_3D5B+48j
		mov	DPTR, #71E8h
		mov	A, RPM_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R3
		cjne	A, B, code_3DDF	; B-Register

code_3DDF:
		jc	code_3DE3
		mov	R3, B		; B-Register

code_3DE3:				; CODE XREF: code_3D5B:code_3DDFj
		mov	A, #0A9h ; 'й'
		add	A, R1
		mov	R0, A
		mov	A, R3
		mov	@R0, A
		inc	R1
		cjne	R1, #4,	code_3DEE
		ret
; ---------------------------------------------------------------------------

code_3DEE:				; CODE XREF: code_3D5B+8Fj
		ljmp	code_3D5F
; End of function code_3D5B

; ---------------------------------------------------------------------------
		db    1
		db    2
		db    4
		db    8
		db  10h
		db  20h
		db  40h	; @
		db  80h	; А
		db    1
		db    2
		db    4
		db    8
		db  10h
		db  20h
		db  40h	; @
		db  80h	; А

; =============== S U B	R O U T	I N E =======================================


code_3E01:				; CODE XREF: IE0_0+10Dp
		mov	R0, RAM_47
		mov	DPTR, #0F934h
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		mov	DPTR, #0FFCEh
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #5F56h
		clr	A
		movc	A, @A+DPTR
		cjne	A, B, code_3E1A	; B-Register

code_3E1A:
		jc	code_3E27
		mov	DPTR, #5F55h
		clr	A
		movc	A, @A+DPTR
		cjne	A, B, code_3E24	; B-Register

code_3E24:
		jnc	code_3E4D
		ret
; ---------------------------------------------------------------------------

code_3E27:				; CODE XREF: code_3E01:code_3E1Aj
		cjne	R0, #10h, code_3E2B
		ret
; ---------------------------------------------------------------------------

code_3E2B:				; CODE XREF: code_3E01:code_3E27j
		mov	A, R0
		add	A, #8
		mov	RAM_47,	A
		mov	A, B		; B-Register
		clr	C
		rrc	A
		mov	DPTR, #0FFCEh
		movx	@DPTR, A
		mov	DPTR, #0F936h
		movx	@DPTR, A
		clr	C
		mov	A, R3
		rrc	A
		mov	R3, A
		mov	A, R2
		rrc	A
		mov	R2, A
		mov	DPTR, #0F934h
		mov	A, R2
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R3
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_3E4D:				; CODE XREF: code_3E01:code_3E24j
		cjne	R0, #8,	code_3E50

code_3E50:
		jnc	code_3E53
		ret
; ---------------------------------------------------------------------------

code_3E53:				; CODE XREF: code_3E01:code_3E50j
		mov	A, R0
		clr	C
		subb	A, #8
		mov	RAM_47,	A
		mov	A, B		; B-Register
		add	A, B		; B-Register
		mov	DPTR, #0FFCEh
		movx	@DPTR, A
		mov	DPTR, #0F936h
		movx	@DPTR, A
		mov	A, R2
		add	A, R2
		mov	R2, A
		mov	A, R3
		addc	A, R3
		mov	R3, A
		jnc	code_3E71
		mov	R2, #0FFh
		mov	R3, #0FFh

code_3E71:				; CODE XREF: code_3E01+6Aj
		mov	DPTR, #0F934h
		mov	A, R2
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R3
		movx	@DPTR, A
		ret
; End of function code_3E01


; =============== S U B	R O U T	I N E =======================================


code_3E7B:				; CODE XREF: IE0_0+110p
		jnb	SensorsParts.3,	code_3E9E ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	A, RAM_47
		anl	A, #1Fh
		jz	code_3E9F
		cjne	A, #10h, code_3E9E
		mov	DPTR, #5F66h	; Порог	1 высокого уровня шума двигателя
		jb	RAM_24_ErrorMask3.7, code_3E90 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		mov	DPTR, #5F67h	; Порог	2 высокого уровня шума двигателя

code_3E90:				; CODE XREF: code_3E7B+Fj
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0FFCEh
		movx	A, @DPTR
		cjne	A, B, code_3E9B	; B-Register

code_3E9B:
		cpl	C
		mov	RAM_24_ErrorMask3.7, C ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)

code_3E9E:				; CODE XREF: code_3E7Bj code_3E7B+9j
		ret
; ---------------------------------------------------------------------------

code_3E9F:				; CODE XREF: code_3E7B+7j
		mov	DPTR, #5F65h	; Порог	2 низкого уровня шума двигателя
		jb	RAM_23_ErrorMask2.7, code_3EA8 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		mov	DPTR, #5F64h	; Порог	1 низкого уровня шума двигателя

code_3EA8:				; CODE XREF: code_3E7B+27j
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0FFCEh
		movx	A, @DPTR
		cjne	A, B, code_3EB3	; B-Register

code_3EB3:				; 0 bit	напряжение борт. сети меньше минимума
		mov	RAM_23_ErrorMask2.7, C ; 2 bit АЦП ДТВ меньше минимума (обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		ret
; End of function code_3E7B


; =============== S U B	R O U T	I N E =======================================


code_3EB6:				; CODE XREF: RESET_0:code_33D4p
		mov	DPTR, #0F96Eh
		movx	A, @DPTR
		mov	B, A		; B-Register
		inc	DPTR
		movx	A, @DPTR
		add	A, B		; B-Register
		rrc	A
		mov	B, A		; B-Register
		inc	DPTR
		movx	A, @DPTR
		rrc	A
		anl	A, #7Fh
		addc	A, B		; B-Register
		rrc	A
		mov	B, A		; B-Register
		inc	DPTR
		movx	A, @DPTR
		rrc	A
		rrc	A
		anl	A, #3Fh
		addc	A, B		; B-Register
		mov	B, A		; B-Register
		mov	DPTR, #0F980h
		movx	@DPTR, A
		mov	DPTR, #77EFh
		mov	A, RPM_RT
		movc	A, @A+DPTR
		cjne	A, B, code_3EE4	; B-Register

code_3EE4:
		jc	code_3EF2
		mov	DPTR, #0F985h
		movx	A, @DPTR
		inc	A
		jz	code_3EEF
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_3EEF:				; CODE XREF: code_3EB6+35j
		setb	RAM_25_ErrorMask4.0
		ret
; ---------------------------------------------------------------------------

code_3EF2:				; CODE XREF: code_3EB6:code_3EE4j
		mov	DPTR, #0F985h
		movx	A, @DPTR
		jz	code_3EFB
		dec	A
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_3EFB:				; CODE XREF: code_3EB6+40j
		clr	RAM_25_ErrorMask4.0
		ret
; End of function code_3EB6


; =============== S U B	R O U T	I N E =======================================


code_3EFE:				; CODE XREF: IE0_0+F9p
		add	A, R1
		xch	A, R2
		addc	A, #0
		clr	C
		xch	A, R2
		subb	A, R3
		mov	R1, A
		mov	A, R2
		subb	A, #0
		mov	R2, A
		mov	R4, B		; B-Register
		dec	R4
		mov	A, #1

code_3F0F:				; CODE XREF: code_3EFE+12j
		rl	A
		djnz	R4, code_3F0F
		add	A, R1
		mov	R3, A
		mov	A, R2
		addc	A, #0
		mov	R4, B		; B-Register

code_3F19:				; CODE XREF: code_3EFE+20j
		clr	C
		rrc	A
		xch	A, R3
		rrc	A
		xch	A, R3
		djnz	R4, code_3F19
		mov	A, R3
		ret
; End of function code_3EFE


; =============== S U B	R O U T	I N E =======================================


code_3F22:				; CODE XREF: IE0_0+72p	RESET_0+EE4p
		add	A, R1
		xch	A, R2
		addc	A, #0
		clr	C
		xch	A, R2
		subb	A, R3
		mov	R1, A
		mov	A, R2
		subb	A, #0
		mov	R2, A
		mov	A, R1
		add	A, #8
		mov	R3, A
		mov	A, R2
		addc	A, #0
		anl	A, #0Fh
		swap	A
		xch	A, R3
		anl	A, #0F0h
		swap	A
		add	A, R3
		ret
; End of function code_3F22

; ---------------------------------------------------------------------------
		db  20h
		db  21h	; !
		db  2Bh	; +
		db  2Ch	; ,
		db  5Bh	; [
		db  23h	; #
		db  24h	; $
		db  25h	; %
		db  49h	; I
		db  61h	; a
		db  52h	; R
		db  55h	; U
		db  53h	; S
		db  64h	; d
		db  65h	; e
		db  6Fh	; o
		db    0
		db 0F8h	; °
		db  44h	; D
		db 0F9h	; ∙
		db    8
		db 0F9h	; ∙
		db  78h	; x
		db 0F8h	; °
		db  49h	; I
		db 0F8h	; °
		db  15h
		db 0F8h	; °
		db  10h
		db    0
		db    0
		db 0F9h	; ∙
		db    9
		db 0F8h	; °
		db    8
		db 0F8h	; °
		db  2Eh	; .
		db 0F8h	; °
		db  62h	; b
		db 0F8h	; °
		db  74h	; t
		db 0F8h	; °
		db 0F8h	; °
		db    0
		db    0
		db  20h
		db  21h	; !
		db  2Bh	; +
		db  2Ch	; ,
		db  49h	; I
		db  61h	; a
		db  52h	; R
		db  55h	; U
		db  53h	; S
		db  65h	; e
		db  6Fh	; o
		db    0
		db 0F8h	; °
		db  44h	; D
		db 0F9h	; ∙
		db    8
		db 0F9h	; ∙
		db  78h	; x
		db 0F8h	; °
		db  10h
		db    0
		db    0
		db 0F9h	; ∙
		db    9
		db 0F8h	; °
		db    8
		db 0F8h	; °
		db  2Eh	; .
		db 0F8h	; °
		db  62h	; b
		db 0F8h	; °
		db  74h	; t
		db    0
		db    0
		db  72h	; r
		db    0
		db 0F8h	; °
		db  0Bh
		db 0F8h	; °
		db  0Ch
		db 0F8h	; °
		db  0Dh
		db 0F8h	; °
		db  15h
		db 0F8h	; °
		db 0A9h	; й
		db 0F8h	; °
		db 0B3h	; │
		db 0F8h	; °
		db 0B6h	; ╢
		db 0F8h	; °
		db 0B7h	; ╖
		db 0F8h	; °
		db 0B5h	; ╡
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================


RI1_TI1_0:				; CODE XREF: RI1_TI1j
		push	PSW		; Program Status Word
		push	ACC		; Accumulator
		mov	A, S1CON	; Serial Channel 1 Control Register
		jnb	ACC.0, code_3FE0 ; Accumulator
		anl	S1CON, #0FEh	; Serial Channel 1 Control Register
		mov	A, S1BUF	; Serial Channel 1 Buffer Register
		jnb	RAM_28.7, code_3FCE ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		jb	ACC.7, code_3FCE ; Accumulator
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #1	; Data Pointer Select Register
		mov	DPL, RAM_69	; Data Pointer,	Low Byte
		mov	DPH, #0F8h ; '°' ; Data Pointer, High Byte
		movx	@DPTR, A
		inc	RAM_69
		pop	DPSEL		; Data Pointer Select Register
		mov	A, RAM_69
		cjne	A, #0CAh, code_3FE0 ; '╩'
		setb	SoftFlags1.2	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag

code_3FCE:				; CODE XREF: RI1_TI1_0+Ej
					; RI1_TI1_0+11j
		clr	RAM_28.7	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		cjne	A, #82h, code_3FDE ; 'В'
		xch	A, RAM_69
		anl	A, #0FEh
		cjne	A, #0B2h, code_3FE0 ; '▓'
		setb	RAM_28.7	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	A, #0C6h ; '╞'

code_3FDE:				; CODE XREF: RI1_TI1_0+2Dj
		mov	RAM_69,	A

code_3FE0:				; CODE XREF: RI1_TI1_0+6j
					; RI1_TI1_0+26j ...
		pop	ACC		; Accumulator
		pop	PSW		; Program Status Word
		reti
; End of function RI1_TI1_0

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR RI0_TI0_0

code_3FE5:				; CODE XREF: RI0_TI0_0+5j
		jnb	RAM_2F.0, code_4030
		push	PSW		; Program Status Word
		push	ACC		; Accumulator
		mov	A, RAM_7E
		jnz	code_4001
		mov	A, S0BUF	; Serial Channel 0 Buffer Register
		cjne	A, #0EEh, code_3FF7 ; 'ю'
		inc	RAM_7E

code_3FF7:				; CODE XREF: RI0_TI0_0-43j
					; RI0_TI0_0-2Aj ...
		mov	RAM_78,	#0
		pop	ACC		; Accumulator
		pop	PSW		; Program Status Word
		ljmp	code_40A5
; ---------------------------------------------------------------------------

code_4001:				; CODE XREF: RI0_TI0_0-47j
		mov	RAM_7E,	#0
		mov	A, S0BUF	; Serial Channel 0 Buffer Register
		cjne	A, #88h, code_400D ; 'И'
		clr	RAM_2E.2
		sjmp	code_3FF7
; ---------------------------------------------------------------------------

code_400D:				; CODE XREF: RI0_TI0_0-2Fj
		jb	ACC.7, code_4019 ; Accumulator
		cjne	A, #18h, code_4013

code_4013:
		jc	code_4020
		mov	A, #18h
		sjmp	code_4020
; ---------------------------------------------------------------------------

code_4019:				; CODE XREF: RI0_TI0_0:code_400Dj
		cjne	A, #0E8h, code_401C ; 'ш'

code_401C:
		jnc	code_4020
		mov	A, #0E8h ; 'ш'

code_4020:				; CODE XREF: RI0_TI0_0:code_4013j
					; RI0_TI0_0-1Ej ...
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F90Fh
		movx	@DPTR, A
		orl	DEV_FLAGS, #8	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		pop	DPSEL		; Data Pointer Select Register
		sjmp	code_3FF7
; ---------------------------------------------------------------------------

code_4030:				; CODE XREF: RI0_TI0_0:code_3FE5j
		mov	RAM_7E,	#0
		sjmp	code_40A5
; END OF FUNCTION CHUNK	FOR RI0_TI0_0

; =============== S U B	R O U T	I N E =======================================


RI0_TI0_0:				; CODE XREF: RI0_TI0j

; FUNCTION CHUNK AT 3FE5 SIZE 00000050 BYTES

		jnb	S0CON.0, code_40A5 ; Serial Channel 0 Control Register
		clr	S0CON.0		; Serial Channel 0 Control Register
		jb	RAM_2E.2, code_3FE5
		push	PSW		; Program Status Word
		push	ACC		; Accumulator
		push	DPSEL		; Data Pointer Select Register
		mov	RAM_78,	#0
		mov	A, RAM_7E
		jnz	code_404F
		clr	RAM_2F.1
		orl	IEN3, #8	; Interrupt Enable Register 3

code_404F:				; CODE XREF: RI0_TI0_0+13j
		xrl	A, #80h
		jz	code_4097
		mov	DPSEL, #6	; Data Pointer Select Register
		mov	A, S0BUF	; Serial Channel 0 Buffer Register
		movx	@DPTR, A
		inc	DPTR
		inc	RAM_7E
		jb	RAM_2F.2, code_4090
		mov	A, RAM_7E
		clr	C
		subb	A, #4
		jc	code_40C9
		setb	RAM_2F.2
		push	DPH		; Data Pointer,	High Byte
		push	DPL		; Data Pointer,	Low Byte
		mov	DPTR, #0F680h
		movx	A, @DPTR
		anl	A, #3Fh
		jnz	code_4084
		mov	DPTR, #0F683h
		movx	A, @DPTR
		pop	DPL		; Data Pointer,	Low Byte
		pop	DPH		; Data Pointer,	High Byte
		add	A, #5
		mov	RAM_73,	A
		setb	RAM_2F.7
		sjmp	code_40C9
; ---------------------------------------------------------------------------

code_4084:				; CODE XREF: RI0_TI0_0+3Dj
		pop	DPL		; Data Pointer,	Low Byte
		pop	DPH		; Data Pointer,	High Byte
		add	A, #4
		mov	RAM_73,	A
		clr	RAM_2F.7
		sjmp	code_40C9
; ---------------------------------------------------------------------------

code_4090:				; CODE XREF: RI0_TI0_0+27j
		mov	A, RAM_7E
		clr	C
		subb	A, RAM_73
		jc	code_40C9

code_4097:				; CODE XREF: RI0_TI0_0+1Cj
		clr	S0CON.4		; Serial Channel 0 Control Register
		anl	IEN3, #0F7h	; Interrupt Enable Register 3
		clr	RAM_2F.2
		mov	RAM_78,	#0
		setb	RAM_2F.3
		sjmp	code_40C9
; ---------------------------------------------------------------------------

code_40A5:				; CODE XREF: RI0_TI0_0-37j
					; RI0_TI0_0-2j	...
		jnb	S0CON.1, code_40CF ; Serial Channel 0 Control Register
		clr	S0CON.1		; Serial Channel 0 Control Register
		jb	RAM_2F.0, code_40CF
		push	PSW		; Program Status Word
		push	ACC		; Accumulator
		push	DPSEL		; Data Pointer Select Register
		mov	A, RAM_51
		jz	code_40C2
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	A, @DPTR
		mov	S0BUF, A	; Serial Channel 0 Buffer Register
		inc	DPTR
		dec	RAM_51
		sjmp	code_40C9
; ---------------------------------------------------------------------------

code_40C2:				; CODE XREF: RI0_TI0_0+80j
		setb	RAM_2F.0
		mov	RAM_78,	#0
		setb	RAM_2F.1

code_40C9:				; CODE XREF: RI0_TI0_0+2Fj
					; RI0_TI0_0+4Dj ...
		pop	DPSEL		; Data Pointer Select Register
		pop	ACC		; Accumulator
		pop	PSW		; Program Status Word

code_40CF:				; CODE XREF: RI0_TI0_0:code_40A5j
					; RI0_TI0_0+75j
		reti
; End of function RI0_TI0_0


; =============== S U B	R O U T	I N E =======================================


Read_AD:				; CODE XREF: IE0_0:code_D46p
					; IE0_0:code_1012p ...
		clr	RAM_28.3	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	ADCON1,	B	; A/D Converter	Control	Register 1
		mov	ADDATL,	#0	; A/D Converter	Data Register, Low Byte

code_40D8:				; CODE XREF: Read_AD:code_40D8j
		jb	ADCON0.4, code_40D8 ; A/D Converter Control Register 0
		mov	A, ADDATH	; A/D Converter	Data Register, High Byte
		jbc	RAM_28.3, Read_AD ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	B, ADDATL	; A/D Converter	Data Register, Low Byte
		ret
; End of function Read_AD


; =============== S U B	R O U T	I N E =======================================


code_40E4:				; CODE XREF: RESET_0:code_3341p
		jb	RAM_2B.4, code_4114 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	A, EngineSpeedQuant ; Квантованные обороты двигателя
		mov	DPTR, #0F85Ch
		movx	@DPTR, A
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		mov	DPTR, #0F85Dh
		movx	@DPTR, A
		mov	DPTR, #0F843h
		clr	A
		jnb	RAM_2C.7, code_4100 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	A, #0FFh

code_4100:				; CODE XREF: code_40E4+17j
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F85Bh
		movx	@DPTR, A
		mov	DPTR, #0F85Eh
		movx	@DPTR, A
		mov	DPTR, #0F860h
		movx	@DPTR, A
		mov	RAM_6E,	#0
		setb	RAM_2B.4	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		ret
; ---------------------------------------------------------------------------

code_4114:				; CODE XREF: code_40E4j
		jnb	RAM_26.6, code_416C
		mov	DPTR, #60A6h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F85Ch
		movx	A, @DPTR
		clr	C
		subb	A, EngineSpeedQuant ; Квантованные обороты двигателя
		lcall	code_47D3
		clr	C
		subb	A, B		; B-Register
		jnc	code_414D
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F85Dh
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		lcall	code_47D3
		mov	B, A		; B-Register
		mov	DPTR, #5EFAh
		clr	A
		movc	A, @A+DPTR
		xch	A, B		; B-Register
		clr	C
		subb	A, B		; B-Register
		jc	code_4164

code_414D:				; CODE XREF: code_40E4+47j
		clr	A
		mov	DPTR, #0F85Eh
		movx	@DPTR, A
		mov	A, EngineSpeedQuant ; Квантованные обороты двигателя
		mov	DPTR, #0F85Ch
		movx	@DPTR, A
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		mov	DPTR, #0F85Dh
		movx	@DPTR, A
		sjmp	code_416C
; ---------------------------------------------------------------------------

code_4164:				; CODE XREF: code_40E4+67j
		mov	DPTR, #0F85Eh
		movx	A, @DPTR
		inc	A
		jz	code_416C
		movx	@DPTR, A

code_416C:				; CODE XREF: code_40E4:code_4114j
					; code_40E4+7Ej ...
		mov	DPTR, #0F860h
		movx	A, @DPTR
		clr	C
		subb	A, #1
		jc	code_4178
		movx	@DPTR, A
		sjmp	code_4183
; ---------------------------------------------------------------------------

code_4178:				; CODE XREF: code_40E4+8Fj
		jnb	RAM_26.6, code_4183
		mov	DPTR, #0F85Bh
		movx	A, @DPTR
		inc	A
		jz	code_4183
		movx	@DPTR, A

code_4183:				; CODE XREF: code_40E4+92j
					; code_40E4:code_4178j	...
		jbc	RAM_26.6, code_4187
		ret
; ---------------------------------------------------------------------------

code_4187:				; CODE XREF: code_40E4:code_4183j
		jnb	RAM_2C.7, code_4199 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		jb	RAM_2C.6, code_41A8 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		setb	RAM_2C.6	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		clr	A
		mov	DPTR, #0F89Fh
		movx	@DPTR, A
		mov	DPTR, #890Bh	; Задержка регулирования Rich-Lean
		sjmp	code_41F0
; ---------------------------------------------------------------------------

code_4199:				; CODE XREF: code_40E4:code_4187j
		jnb	RAM_2C.6, code_41A8 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		clr	RAM_2C.6	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		clr	A
		mov	DPTR, #0F8A6h
		movx	@DPTR, A
		mov	DPTR, #880Bh	; Задержка регулирования Lean-Rich
		sjmp	code_41F0
; ---------------------------------------------------------------------------

code_41A8:				; CODE XREF: code_40E4+A6j
					; code_40E4:code_4199j
		mov	DPTR, #0F860h
		movx	A, @DPTR
		jnz	code_41E4
		mov	DPTR, #60A8h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F85Bh
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_41E4
		mov	DPTR, #0F898h
		movx	A, @DPTR
		anl	A, #3
		jnz	code_41E4
		mov	DPTR, #87BDh
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		jb	RAM_2C.7, code_41D7 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		add	A, RAM_6E
		mov	RAM_6E,	A
		sjmp	code_41DD
; ---------------------------------------------------------------------------

code_41D7:				; CODE XREF: code_40E4+EAj
		cpl	A
		inc	A
		add	A, RAM_6E
		mov	RAM_6E,	A

code_41DD:				; CODE XREF: code_40E4+F1j
		jb	ACC.7, code_41E5 ; Accumulator
		add	A, #0B0h ; '░'
		jc	code_41ED

code_41E4:				; CODE XREF: code_40E4+C8j
					; code_40E4+D8j ...
		ret
; ---------------------------------------------------------------------------

code_41E5:				; CODE XREF: code_40E4:code_41DDj
		add	A, #50h	; 'P'
		jnc	code_41EA
		ret
; ---------------------------------------------------------------------------

code_41EA:				; CODE XREF: code_40E4+103j
		ljmp	code_42B3
; ---------------------------------------------------------------------------

code_41ED:				; CODE XREF: code_40E4+FEj
					; code_40E4+15Dj
		ljmp	code_42C5
; ---------------------------------------------------------------------------

code_41F0:				; CODE XREF: code_40E4+B3j
					; code_40E4+C2j
		mov	A, RPM_GBC_3D_RT
		movc	A, @A+DPTR
		mov	DPTR, #0F860h
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F85Bh
		movx	@DPTR, A
		mov	DPTR, #8696h
		mov	A, RPM_GBC_3D_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F85Fh
		movx	A, @DPTR
		clr	C
		subb	A, RAM_6E
		lcall	code_47D3
		div	AB
		mov	B, A		; B-Register
		mov	DPTR, #0F843h
		movx	A, @DPTR

code_4215:				; CODE XREF: code_40E4+135j
		mov	C, RAM_2C.7	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		cpl	C
		rlc	A
		djnz	B, code_4215	; B-Register
		movx	@DPTR, A
		mov	DPTR, #0F861h
		movx	@DPTR, A
		mov	A, RAM_6E
		mov	DPTR, #0F85Fh
		movx	@DPTR, A
		mov	DPTR, #8696h
		mov	A, RPM_GBC_3D_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		jb	RAM_2C.7, code_4236 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		add	A, RAM_6E
		sjmp	code_423A
; ---------------------------------------------------------------------------

code_4236:				; CODE XREF: code_40E4+14Bj
		cpl	A
		inc	A
		add	A, RAM_6E

code_423A:				; CODE XREF: code_40E4+150j
		mov	RAM_6E,	A
		jb	ACC.7, code_4245 ; Accumulator
		add	A, #0B0h ; '░'
		jc	code_41ED
		sjmp	code_4249
; ---------------------------------------------------------------------------

code_4245:				; CODE XREF: code_40E4+158j
		add	A, #50h	; 'P'
		jnc	code_42B3

code_4249:				; CODE XREF: code_40E4+15Fj
		jb	RAM_2B.7, code_42B2 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #0F843h
		movx	A, @DPTR
		anl	A, #0Fh
		cjne	A, #5, code_42B2
		mov	DPTR, #5F96h
		clr	A
		movc	A, @A+DPTR
		cjne	A, DTOG_Value, code_425D ; Текущее значение ДТОЖ (температура двигателя)

code_425D:
		jnc	code_42B2
		mov	DPTR, #5F6Ah	; Число	стабильных циклов для обучения (лямбда регулирование)
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F85Eh
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_42B2
		mov	DPTR, #0F85Fh
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0FD00h
		mov	DPL, RPM_THROTTLE_3D_RT	; Data Pointer,	Low Byte
		movx	A, @DPTR
		xch	A, B		; B-Register
		jnz	code_4284
		mov	A, B		; B-Register
		sjmp	code_4294
; ---------------------------------------------------------------------------

code_4284:				; CODE XREF: code_40E4+19Aj
		jb	ACC.7, code_428F ; Accumulator
		mov	A, B		; B-Register
		inc	A
		jnz	code_4294
		dec	A
		sjmp	code_4294
; ---------------------------------------------------------------------------

code_428F:				; CODE XREF: code_40E4:code_4284j
		mov	A, B		; B-Register
		jz	code_4294
		dec	A

code_4294:				; CODE XREF: code_40E4+19Ej
					; code_40E4+1A6j ...
		movx	@DPTR, A
		mov	DPTR, #0F88Ch
		movx	@DPTR, A
		mov	A, RPM_THROTTLE_3D_RT
		mov	DPTR, #0F88Eh
		movx	@DPTR, A
		mov	C, RAM_2B.6	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	RAM_2C.4, C	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		clr	A
		mov	DPTR, #0F889h
		movx	@DPTR, A
		mov	DPTR, #5F05h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.5, code_42B2 ; Accumulator
		setb	RAM_2B.7	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода

code_42B2:				; CODE XREF: code_40E4:code_4249j
					; code_40E4+16Ej ...
		ret
; ---------------------------------------------------------------------------

code_42B3:				; CODE XREF: code_40E4:code_41EAj
					; code_40E4+163j
		mov	RAM_6E,	#0B0h ;	'░'
		mov	DPTR, #0F8A6h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #64h, code_42BF ; 'd'

code_42BF:
		jc	code_42DD
		setb	RAM_25_ErrorMask4.4
		sjmp	code_42D5
; ---------------------------------------------------------------------------

code_42C5:				; CODE XREF: code_40E4:code_41EDj
		mov	RAM_6E,	#50h ; 'P'
		mov	DPTR, #0F89Fh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #64h, code_42D1 ; 'd'

code_42D1:
		jc	code_42DD
		setb	RAM_25_ErrorMask4.5

code_42D5:				; CODE XREF: code_40E4+1DFj
		mov	RAM_6E,	#0
		clr	RAM_2B.4	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		lcall	code_42DE

code_42DD:				; CODE XREF: code_40E4:code_42BFj
					; code_40E4:code_42D1j
		ret
; End of function code_40E4


; =============== S U B	R O U T	I N E =======================================


code_42DE:				; CODE XREF: RESET_0+5EDp
					; code_40E4+1F6p
		mov	DPTR, #0FD00h
		mov	R0, #0

code_42E3:				; CODE XREF: code_42DE+Bj
		mov	A, #80h	; 'А'
		movx	@DPTR, A
		inc	DPTR
		movx	@DPTR, A
		inc	DPTR
		djnz	R0, code_42E3
		ret
; End of function code_42DE


; =============== S U B	R O U T	I N E =======================================


New_Alg_XX:				; CODE XREF: RESET_0+25ABp
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.5, code_42F9 ; Accumulator
		mov	DPTR, #0F87Dh
		movx	A, @DPTR
		jz	code_42FA
		dec	A
		movx	@DPTR, A

code_42F9:				; CODE XREF: New_Alg_XX+2j
		ret
; ---------------------------------------------------------------------------

code_42FA:				; CODE XREF: New_Alg_XX+9j
		mov	DPTR, #8D75h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		jb	RAM_28.1, code_430E ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	DPTR, #60EDh
		clr	A
		movc	A, @A+DPTR
		add	A, B		; B-Register
		mov	B, A		; B-Register

code_430E:				; CODE XREF: New_Alg_XX+16j
		mov	A, RXX_Position
		clr	C
		subb	A, B		; B-Register
		jz	code_431B
		jc	code_431E
		dec	RXX_Position
		sjmp	code_4320
; ---------------------------------------------------------------------------

code_431B:				; CODE XREF: New_Alg_XX+27j
		clr	RAM_2A.4	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		ret
; ---------------------------------------------------------------------------

code_431E:				; CODE XREF: New_Alg_XX+29j
		inc	RXX_Position

code_4320:				; CODE XREF: New_Alg_XX+2Dj
		mov	DPTR, #5F0Bh
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F87Dh
		movx	@DPTR, A
		ret
; End of function New_Alg_XX


; =============== S U B	R O U T	I N E =======================================


code_432A:				; CODE XREF: RESET_0+19A0p
					; RESET_0:code_3129p
		jb	RAM_2C.1, code_4333 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	DPTR, #0F84Eh
		movx	@DPTR, A
		sjmp	code_4382
; ---------------------------------------------------------------------------

code_4333:				; CODE XREF: code_432Aj
		mov	DPTR, #0F849h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F84Ah
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jnc	code_4348
		mov	A, B		; B-Register
		mov	DPTR, #0F84Ah
		movx	@DPTR, A

code_4348:				; CODE XREF: code_432A+16j
		mov	DPTR, #0F847h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F84Ah
		movx	A, @DPTR
		mov	DPTR, #6090h
		clr	C
		subb	A, B		; B-Register
		jc	code_435D
		mov	DPTR, #608Fh

code_435D:				; CODE XREF: code_432A+2Ej
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F84Eh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		clr	C
		subb	A, B		; B-Register
		jc	code_4382
		clr	A
		movx	@DPTR, A
		mov	DPTR, #0F849h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F84Ah
		movx	A, @DPTR
		dec	A
		movx	@DPTR, A
		clr	C
		subb	A, B		; B-Register
		jnc	code_4382
		mov	A, B		; B-Register
		movx	@DPTR, A

code_4382:				; CODE XREF: code_432A+7j
					; code_432A+40j ...
		mov	DPTR, #0F84Ah
		movx	A, @DPTR
		clr	C
		subb	A, RAM_53_CurrentEngineSpeed
		jc	code_4392
		jnb	ACC.7, code_4397 ; Accumulator
		mov	A, #7Fh	; ''
		sjmp	code_4397
; ---------------------------------------------------------------------------

code_4392:				; CODE XREF: code_432A+5Fj
		jb	ACC.7, code_4397 ; Accumulator
		mov	A, #80h	; 'А'

code_4397:				; CODE XREF: code_432A+61j
					; code_432A+66j ...
		mov	RAM_6D,	A
		jb	RAM_2C.1, code_43B3 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	A, RAM_6D
		mov	DPTR, #0F84Ch
		movx	@DPTR, A
		mov	A, RXX_Position
		mov	R0, A
		mov	R1, #0
		lcall	code_4777
		mov	DPTR, #0F845h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A

code_43B3:				; CODE XREF: code_432A+6Fj
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.2, code_4407 ; Accumulator
		mov	DPTR, #6095h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, RAM_6D
		mov	R0, A
		lcall	code_47D3
		clr	C
		subb	A, B		; B-Register
		jnc	code_43CC
		mov	R0, #0

code_43CC:				; CODE XREF: code_432A+9Ej
		lcall	code_47B2
		mov	B, #8		; B-Register
		lcall	MUL_NEG_R0R1_B
		mov	A, R0
		mov	R0, B		; B-Register
		mov	R1, A
		mov	A, R1
		mov	DPTR, #6094h
		jb	ACC.7, code_43E3 ; Accumulator
		mov	DPTR, #6093h

code_43E3:				; CODE XREF: code_432A+B3j
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_NEG_R0R1_B
		lcall	code_47BC
		mov	B, A		; B-Register
		mov	DPTR, #0F8B9h
		movx	A, @DPTR
		mov	R0, A
		mov	DPTR, #6913h
		movc	A, @A+DPTR
		xch	A, R0
		mov	DPTR, #6933h
		movc	A, @A+DPTR
		mov	R1, A
		mov	A, B		; B-Register
		lcall	code_46E9
		add	A, UOZ_XX
		mov	UOZ, A

code_4407:				; CODE XREF: code_432A+8Bj
					; code_4408+2j
		ret
; End of function code_432A


; =============== S U B	R O U T	I N E =======================================


code_4408:				; CODE XREF: RESET_0+19A3p
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.5, code_4407 ; Accumulator
		mov	DPTR, #0F84Ch
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	A, RAM_6D
		clr	C
		subb	A, B		; B-Register
		mov	B, A		; B-Register
		movx	A, @DPTR
		mov	C, ACC.7	; Accumulator
		mov	A, RAM_6D
		anl	C, ACC.7	; Accumulator
		jc	code_4444
		movx	A, @DPTR
		mov	C, ACC.7	; Accumulator
		cpl	C
		mov	A, RAM_6D
		anl	C, /ACC.7	; Accumulator
		jc	code_4444
		mov	A, RAM_6D
		jb	ACC.7, code_443C ; Accumulator
		mov	A, B		; B-Register
		jnb	ACC.7, code_4444 ; Accumulator
		mov	B, #7Fh	; ''   ; B-Register
		sjmp	code_4444
; ---------------------------------------------------------------------------

code_443C:				; CODE XREF: code_4408+27j
		mov	A, B		; B-Register
		jb	ACC.7, code_4444 ; Accumulator
		mov	B, #80h	; 'А'   ; B-Register

code_4444:				; CODE XREF: code_4408+19j
					; code_4408+23j ...
		mov	A, RAM_6D
		mov	DPTR, #0F84Ch
		movx	@DPTR, A
		mov	DPTR, #60F7h
		clr	A
		movc	A, @A+DPTR
		cjne	A, DTOG_Value, code_4452 ; Текущее значение ДТОЖ (температура двигателя)

code_4452:
		jc	code_445F
		mov	A, RAM_6D
		jb	ACC.7, code_445F ; Accumulator
		jnb	B.7, code_445F	; B-Register
		mov	B, #0		; B-Register

code_445F:				; CODE XREF: code_4408:code_4452j
					; code_4408+4Ej ...
		mov	DPTR, #6091h
		clr	A
		movc	A, @A+DPTR
		mov	R0, A
		clr	A
		jnb	B.7, code_446B	; B-Register
		clr	C
		subb	A, R0

code_446B:				; CODE XREF: code_4408+5Ej
		mov	R1, A
		mov	A, R0
		mul	AB
		mov	R2, A
		mov	A, B		; B-Register
		add	A, R1
		mov	R3, A
		mov	DPTR, #60EBh
		clr	A
		movc	A, @A+DPTR
		mov	R1, A
		cpl	A
		inc	A
		mov	R0, A
		mov	A, RAM_6D
		lcall	code_46E9
		mov	R0, A
		lcall	code_47B2
		mov	DPTR, #6092h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_NEG_R0R1_B
		lcall	ADD_R0R1_R2R3
		mov	DPTR, #700Bh	; Жесткость регулятора частоты вращения
		mov	A, RPM_GBC_3D_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_NEG_R0R1_B
		mov	DPTR, #6084h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		anl	A, #0FEh
		jz	code_44B5
		mov	A, #0FFh
		sjmp	code_44B9
; ---------------------------------------------------------------------------

code_44B5:				; CODE XREF: code_4408+A7j
		mov	A, R3
		rrc	A
		mov	A, R2
		rrc	A

code_44B9:				; CODE XREF: code_4408+ABj
		clr	C
		subb	A, B		; B-Register
		jnc	code_44C2
		mov	A, R1
		jb	ACC.7, code_450F ; Accumulator

code_44C2:				; CODE XREF: code_4408+B4j
		mov	DPTR, #0F845h
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	ADD_R0R1_R2R3
		mov	A, R1
		jnb	ACC.7, code_44D6 ; Accumulator
		mov	R0, #0FFh
		mov	R1, #0FFh

code_44D6:				; CODE XREF: code_4408+C7j
		mov	DPTR, #6082h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, B		; B-Register
		swap	A
		anl	A, #0Fh
		mov	R3, A
		mov	A, B		; B-Register
		swap	A
		anl	A, #0F0h
		mov	R2, A
		lcall	code_46FE
		mov	DPTR, #5FA3h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		swap	A
		anl	A, #0Fh
		mov	R3, A
		mov	A, B		; B-Register
		swap	A
		anl	A, #0F0h
		mov	R2, A
		lcall	code_470A
		mov	DPTR, #0F845h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		lcall	code_4777
		mov	A, R1
		mov	RXX_Position, A

code_450F:				; CODE XREF: code_4408+B7j
		ret
; End of function code_4408


; =============== S U B	R O U T	I N E =======================================


code_4510:				; CODE XREF: RESET_0+19A6p
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jnb	ACC.5, code_4516 ; Accumulator
		ret
; ---------------------------------------------------------------------------

code_4516:				; CODE XREF: code_4510+2j
		mov	DPTR, #0F84Ah
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F84Bh
		movx	A, @DPTR
		jnb	RAM_2C.1, code_4528 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		clr	C
		subb	A, B		; B-Register
		jz	code_4538

code_4528:				; CODE XREF: code_4510+10j
		mov	DPTR, #0F84Ah
		movx	A, @DPTR
		mov	DPTR, #0F84Bh
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F8BEh
		movx	@DPTR, A
		lcall	code_4635

code_4538:				; CODE XREF: code_4510+16j
		jnb	RAM_29.1, code_4543 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F8BEh
		movx	A, @DPTR
		inc	A
		jz	code_4543
		movx	@DPTR, A

code_4543:				; CODE XREF: code_4510:code_4538j
					; code_4510+30j
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		anl	A, #0FEh
		jz	code_4554
		mov	A, #0FFh
		sjmp	code_4558
; ---------------------------------------------------------------------------

code_4554:				; CODE XREF: code_4510+3Ej
		mov	A, R1
		rrc	A
		mov	A, R0
		rrc	A

code_4558:				; CODE XREF: code_4510+42j
		mov	B, A		; B-Register
		mov	DPTR, #0F854h
		movx	A, @DPTR
		add	A, B		; B-Register
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		addc	A, #0
		movx	@DPTR, A
		mov	DPTR, #0F851h
		movx	A, @DPTR
		inc	A
		jz	code_4596
		movx	@DPTR, A
		cjne	A, #80h, code_4596 ; 'А'
		mov	DPTR, #60EFh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #60F7h
		clr	A
		movc	A, @A+DPTR
		cjne	A, DTOG_Value, code_4581 ; Текущее значение ДТОЖ (температура двигателя)

code_4581:
		jc	code_458A
		mov	DPTR, #60F5h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register

code_458A:				; CODE XREF: code_4510:code_4581j
		mov	DPTR, #0F8BEh
		movx	A, @DPTR
		cjne	A, B, code_4591	; B-Register

code_4591:
		jnc	code_4597
		ljmp	code_4635
; ---------------------------------------------------------------------------

code_4596:				; CODE XREF: code_4510+5Cj
					; code_4510+5Fj
		ret
; ---------------------------------------------------------------------------

code_4597:				; CODE XREF: code_4510:code_4591j
		mov	DPTR, #6083h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F854h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	code_4745
		mov	DPTR, #6085h
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, R1
		jc	code_45F6
		mov	A, R1
		mul	AB
		rlc	A
		mov	A, B		; B-Register
		rlc	A
		mov	B, A		; B-Register
		mov	DPTR, #6081h
		clr	A
		movc	A, @A+DPTR
		add	A, B		; B-Register
		mov	B, A		; B-Register
		mov	DPTR, #6082h
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_45F6
		mov	DPTR, #5F05h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.6, code_45F6 ; Accumulator
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	RXX_Position, B	; B-Register
		mov	RAM_65,	B	; B-Register
		setb	IEN0.7		; Interrupt Enable Register 0
		mov	DPTR, #0F845h
		movx	A, @DPTR
		anl	A, #0Fh
		mov	R0, A
		mov	A, B		; B-Register
		anl	A, #0Fh
		swap	A
		add	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, B		; B-Register
		anl	A, #0F0h
		swap	A
		movx	@DPTR, A

code_45F6:				; CODE XREF: code_4510+A1j
					; code_4510+BCj ...
		mov	DPTR, #608Ah
		clr	A
		movc	A, @A+DPTR
		cjne	A, DTOG_Value, code_45FE ; Текущее значение ДТОЖ (температура двигателя)

code_45FE:
		jnc	code_4621
		mov	DPTR, #0F908h
		movx	A, @DPTR
		jnz	code_4621
		mov	A, RAM_6D
		lcall	code_47D3
		cjne	A, #14h, code_460E

code_460E:
		jc	code_4621
		mov	DPTR, #0F986h
		movx	A, @DPTR
		inc	A
		jz	code_4618
		movx	@DPTR, A

code_4618:				; CODE XREF: code_4510+105j
		cjne	A, #0Ch, code_461B

code_461B:
		jc	code_4628
		setb	RAM_25_ErrorMask4.7
		sjmp	code_4628
; ---------------------------------------------------------------------------

code_4621:				; CODE XREF: code_4510:code_45FEj
					; code_4510+F4j ...
		clr	RAM_25_ErrorMask4.7
		clr	A
		mov	DPTR, #0F986h
		movx	@DPTR, A

code_4628:				; CODE XREF: code_4510:code_461Bj
					; code_4510+10Fj
		mov	DPTR, #0F847h
		movx	A, @DPTR
		clr	C
		subb	A, RAM_53_CurrentEngineSpeed
		jc	code_4635
		clr	RAM_2C.2	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		clr	RAM_22.6
; End of function code_4510


; =============== S U B	R O U T	I N E =======================================


code_4635:				; CODE XREF: RESET_0+1FD5p
					; code_4510+25p ...
		clr	A
		mov	DPTR, #0F851h
		mov	R1, #0Ah

code_463B:				; CODE XREF: code_4635+9j
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		djnz	R1, code_463B
		ret
; End of function code_4635


; =============== S U B	R O U T	I N E =======================================


code_4641:				; CODE XREF: RESET_0+11FEp
		mov	A, RAM_65
		mov	DPTR, #0F9AFh
		movx	@DPTR, A
		clr	RAM_28.5	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	RAM_4, #0B4h ; '┤'
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	RAM_65,	#0B4h ;	'┤'
		mov	RXX_Position, #0
		setb	IEN0.7		; Interrupt Enable Register 0

code_4656:				; CODE XREF: code_4641+3Ej
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		mov	A, RAM_65
		cjne	A, RAM_4, code_4661
		sjmp	code_4678
; ---------------------------------------------------------------------------

code_4661:				; CODE XREF: code_4641+1Bj
		xch	A, RAM_4
		clr	C
		subb	A, RAM_4
		xch	A, RAM_4
		mov	DPTR, #0F9AFh
		movx	A, @DPTR
		jz	code_4678
		clr	C
		subb	A, RAM_4
		jnc	code_4674
		clr	A

code_4674:				; CODE XREF: code_4641+30j
		movx	@DPTR, A
		mov	RAM_4, RAM_65

code_4678:				; CODE XREF: code_4641+1Ej
					; code_4641+2Bj
		lcall	code_46B7
		jnc	code_4682
		mov	A, RXX_Position
		cjne	A, RAM_65, code_4656

code_4682:				; CODE XREF: code_4641+3Aj
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	DPTR, #9718h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	RXX_Position, A
		mov	DPTR, #0F9AFh
		movx	A, @DPTR
		mov	RAM_65,	A
		setb	IEN0.7		; Interrupt Enable Register 0

code_4694:				; CODE XREF: code_4641+64j
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		mov	A, RAM_65
		mov	DPTR, #0F9AFh
		movx	@DPTR, A
		lcall	code_46B7
		jnc	code_46AE
		mov	A, RXX_Position
		cjne	A, RAM_65, code_4694
		mov	A, RAM_65
		mov	DPTR, #0F9AFh
		movx	@DPTR, A

code_46AE:				; CODE XREF: code_4641+60j
		lcall	code_46B7
		jc	code_46B6
		lcall	code_536E

code_46B6:				; CODE XREF: code_4641+70j
		ret
; End of function code_4641


; =============== S U B	R O U T	I N E =======================================


code_46B7:				; CODE XREF: RESET_0:code_297Ep
					; RESET_0+1262p ...
		mov	B, #0		; B-Register
		jb	SoftFlags1.7, code_46C0	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	B, #1		; B-Register

code_46C0:				; CODE XREF: code_46B7+3j
		lcall	Read_AD
		cjne	A, #1Ah, code_46C6

code_46C6:
		ret
; End of function code_46B7


; =============== S U B	R O U T	I N E =======================================


code_46C7:				; CODE XREF: RESET_0+1D6Fp
					; RESET_0+1DBFp ...
		clr	C
		subb	A, R0
		jnc	code_46CD
		mov	A, R0
		ret
; ---------------------------------------------------------------------------

code_46CD:				; CODE XREF: code_46C7+2j
		add	A, R0
		clr	C
		subb	A, R1
		jc	code_46D5
		mov	A, R1
		setb	C
		ret
; ---------------------------------------------------------------------------

code_46D5:				; CODE XREF: code_46C7+9j
		add	A, R1
		clr	C
		ret
; End of function code_46C7


; =============== S U B	R O U T	I N E =======================================


code_46D8:				; CODE XREF: code_B5CA+1p
		clr	C
		subb	A, R2
		jnc	code_46DE
		mov	A, R2
		ret
; ---------------------------------------------------------------------------

code_46DE:				; CODE XREF: code_46D8+2j
		add	A, R2
		clr	C
		subb	A, R3
		jc	code_46E6
		mov	A, R3
		setb	C
		ret
; ---------------------------------------------------------------------------

code_46E6:				; CODE XREF: code_46D8+9j
		add	A, R3
		clr	C
		ret
; End of function code_46D8


; =============== S U B	R O U T	I N E =======================================


code_46E9:				; CODE XREF: RESET_0+1E11p
					; code_432A+D6p ...
		clr	C
		jnb	ACC.7, code_46F5 ; Accumulator
		subb	A, R0
		jnc	code_46F2
		mov	A, R0
		ret
; ---------------------------------------------------------------------------

code_46F2:				; CODE XREF: code_46E9+5j
		add	A, R0
		setb	C
		ret
; ---------------------------------------------------------------------------

code_46F5:				; CODE XREF: code_46E9+1j
		subb	A, R1
		jc	code_46FB
		mov	A, R1
		setb	C
		ret
; ---------------------------------------------------------------------------

code_46FB:				; CODE XREF: code_46E9+Dj
		add	A, R1
		clr	C
		ret
; End of function code_46E9


; =============== S U B	R O U T	I N E =======================================


code_46FE:				; CODE XREF: IE0_0+633p code_4408+E1p
		clr	C
		mov	A, R2
		subb	A, R0
		mov	A, R3
		subb	A, R1
		jnc	code_4709
		mov	A, R2
		mov	R0, A
		mov	A, R3
		mov	R1, A

code_4709:				; CODE XREF: code_46FE+5j
		ret
; End of function code_46FE


; =============== S U B	R O U T	I N E =======================================


code_470A:				; CODE XREF: code_4408+F5p
		clr	C
		mov	A, R2
		subb	A, R0
		mov	A, R3
		subb	A, R1
		jc	code_4715
		mov	A, R2
		mov	R0, A
		mov	A, R3
		mov	R1, A

code_4715:				; CODE XREF: code_470A+5j
		ret
; End of function code_470A


; =============== S U B	R O U T	I N E =======================================


MUL_R0R1_B:				; CODE XREF: IE0_0+659p IE0_0+73Fp ...
		mov	A, B		; B-Register
		xch	A, R1
		mul	AB
		xch	A, R0
		xch	A, B		; B-Register
		xch	A, R1
		mul	AB
		xch	A, B		; B-Register
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		ret
; End of function MUL_R0R1_B


; =============== S U B	R O U T	I N E =======================================


MUL_NEG_R0R1_B:				; CODE XREF: IE0_0+611p code_432A+A8p	...
		mov	A, B		; B-Register
		xch	A, R1
		jb	ACC.7, code_4734 ; Accumulator
		mul	AB
		xch	A, R0
		xch	A, B		; B-Register
		sjmp	code_473A
; ---------------------------------------------------------------------------

code_4734:				; CODE XREF: MUL_NEG_R0R1_B+3j
		mul	AB
		xch	A, R0
		xch	A, B		; B-Register
		clr	C
		subb	A, R1

code_473A:				; CODE XREF: MUL_NEG_R0R1_B+Aj
		xch	A, R1
		mul	AB
		xch	A, B		; B-Register
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, #0
		mov	R1, A
		ret
; End of function MUL_NEG_R0R1_B


; =============== S U B	R O U T	I N E =======================================


code_4745:				; CODE XREF: IE0_0+65Cp RESET_0+155Bp	...
		mov	A, R0
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, R1
		jc	code_474E
		mov	R1, A
		ret
; ---------------------------------------------------------------------------

code_474E:				; CODE XREF: code_4745+5j
					; mul_r0r1_4+7j ...
		mov	R0, #0FFh
		mov	R1, #0FFh
		ret
; End of function code_4745


; =============== S U B	R O U T	I N E =======================================


mul_r0r1_4:				; CODE XREF: code_B77B+4p
		mov	A, R0
		mov	R0, #2
		clr	C

l_mul_2:				; CODE XREF: mul_r0r1_4+Aj
		rlc	A
		xch	A, R1
		rlc	A
		jc	code_474E
		xch	A, R1
		djnz	R0, l_mul_2
		mov	R0, A
		ret
; End of function mul_r0r1_4


; =============== S U B	R O U T	I N E =======================================


mul_r0r1_16:				; CODE XREF: RESET_0+B39p RESET_0+BB7p ...
		clr	C
		mov	A, R0
		rlc	A
		xch	A, R1
		rlc	A
		xch	A, R1
		jc	code_474E
		rlc	A
		xch	A, R1
		rlc	A
		xch	A, R1
		jc	code_474E
		rlc	A
		xch	A, R1
		rlc	A
		xch	A, R1
		jc	code_474E
		mov	R0, A
		ret
; End of function mul_r0r1_16


; =============== S U B	R O U T	I N E =======================================


code_4777:				; CODE XREF: RESET_0+7CFp
					; code_432A+7Dp ...
		mov	A, R1
		anl	A, #0F0h
		jnz	code_474E
		mov	A, R0
		anl	A, #0F0h
		orl	A, R1
		swap	A
		mov	R1, A
		mov	A, R0
		anl	A, #0Fh
		swap	A
		mov	R0, A
		ret
; End of function code_4777


; =============== S U B	R O U T	I N E =======================================


code_4788:				; CODE XREF: code_B77B+12Dp
		clr	C
		mov	A, R1
		rrc	A
		xch	A, R0
		rrc	A
		xch	A, R0
		mov	R1, A
; End of function code_4788


; =============== S U B	R O U T	I N E =======================================


DIV_R0R1_8:				; CODE XREF: IE0_0+583p IE0_0+59Cp ...
		clr	C
		mov	A, R1
		rrc	A
		xch	A, R0
		rrc	A
		xch	A, R0
		mov	R1, A
; End of function DIV_R0R1_8


; =============== S U B	R O U T	I N E =======================================


DIV_R0R1_4:				; CODE XREF: IE0_0+6D9p RESET_0+18C9p
		clr	C
		mov	A, R1
		rrc	A
		xch	A, R0
		rrc	A
		xch	A, R0
		clr	C
		rrc	A
		xch	A, R0
		rrc	A
		xch	A, R0
		mov	R1, A
		ret
; End of function DIV_R0R1_4


; =============== S U B	R O U T	I N E =======================================


ADD_R0R1_R2R3:				; CODE XREF: IE0_0+61Dp IE0_0+8EAp ...
		mov	A, R0
		add	A, R2
		mov	R0, A
		mov	A, R1
		addc	A, R3
		mov	R1, A
		ret
; End of function ADD_R0R1_R2R3


; =============== S U B	R O U T	I N E =======================================


SUB_R0R1_R2R3:				; CODE XREF: IE0_0+5FEp IE0_0+8CAp ...
		clr	C
		mov	A, R0
		subb	A, R2
		mov	R0, A
		mov	A, R1
		subb	A, R3
		mov	R1, A
		ret
; End of function SUB_R0R1_R2R3


; =============== S U B	R O U T	I N E =======================================


code_47B2:				; CODE XREF: code_432A:code_43CCp
					; code_4408+7Ap
		mov	A, R0
		jb	ACC.7, code_47B9 ; Accumulator
		mov	R1, #0
		ret
; ---------------------------------------------------------------------------

code_47B9:				; CODE XREF: code_47B2+1j
		mov	R1, #0FFh
		ret
; End of function code_47B2


; =============== S U B	R O U T	I N E =======================================


code_47BC:				; CODE XREF: code_432A+C0p
		mov	A, R1
		jb	ACC.7, code_47C9 ; Accumulator
		jnz	code_47C6
		mov	A, R0
		jnb	ACC.7, code_47D2 ; Accumulator

code_47C6:				; CODE XREF: code_47BC+4j
		mov	A, #7Fh	; ''
		ret
; ---------------------------------------------------------------------------

code_47C9:				; CODE XREF: code_47BC+1j
		cpl	A
		jnz	code_47D0
		mov	A, R0
		jb	ACC.7, code_47D2 ; Accumulator

code_47D0:				; CODE XREF: code_47BC+Ej
		mov	A, #80h	; 'А'

code_47D2:				; CODE XREF: code_47BC+7j
					; code_47BC+11j
		ret
; End of function code_47BC


; =============== S U B	R O U T	I N E =======================================


code_47D3:				; CODE XREF: IE0_0+510p RESET_0+21C4p	...
		jnb	ACC.7, code_47D8 ; Accumulator
		cpl	A
		inc	A

code_47D8:				; CODE XREF: code_47D3j
		ret
; End of function code_47D3

; ---------------------------------------------------------------------------
		db 0E9h	; щ
		db  30h	; 0
		db 0E7h	; ч
		db  0Ah
		db 0E8h	; ш
		db 0F4h	; Ї
		db  24h	; $
		db    1
		db 0F8h	; °
		db 0E9h	; щ
		db 0F4h	; Ї
		db  34h	; 4
		db    0
		db 0F9h	; ∙
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR code_47E8

code_47E7:				; CODE XREF: code_47E8+2j code_47E8+9j
		ret
; END OF FUNCTION CHUNK	FOR code_47E8

; =============== S U B	R O U T	I N E =======================================


code_47E8:				; CODE XREF: RESET_0+1A1Fp
					; RESET_0+1ABFp

; FUNCTION CHUNK AT 47E7 SIZE 00000001 BYTES

		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.5, code_47E7 ; Accumulator
		mov	DPTR, #5F07h
		movc	A, @A+DPTR
		jb	ACC.4, code_47E7 ; Accumulator
		clr	C
		mov	A, #2
		subb	A, RAM_52_THR	; Положение дросселя
		jc	code_4835
		mov	DPTR, #0F848h
		movx	A, @DPTR
		clr	C
		subb	A, RAM_53_CurrentEngineSpeed
		jnc	code_4810
		mov	DPTR, #0F977h
		movx	A, @DPTR
		jz	code_483A
		jnb	ACC.7, code_4832 ; Accumulator
		inc	A
		sjmp	code_483A
; ---------------------------------------------------------------------------

code_4810:				; CODE XREF: code_47E8+1Aj
		mov	DPTR, #0F976h
		movx	A, @DPTR
		jnz	code_4844
		mov	DPTR, #60F8h
		clr	A
		movc	A, @A+DPTR
		jnz	code_481F
		mov	A, #0F9h ; '∙'

code_481F:				; CODE XREF: code_47E8+33j
		mov	B, A		; B-Register
		mov	DPTR, #0F977h
		movx	A, @DPTR
		jnb	ACC.7, code_4832 ; Accumulator
		dec	A
		cjne	A, B, code_482C	; B-Register

code_482C:
		jnc	code_483A
		mov	A, B		; B-Register
		sjmp	code_483A
; ---------------------------------------------------------------------------

code_4832:				; CODE XREF: code_47E8+22j
					; code_47E8+3Dj
		dec	A
		sjmp	code_483A
; ---------------------------------------------------------------------------

code_4835:				; CODE XREF: code_47E8+11j
		mov	DPTR, #5F77h
		clr	A
		movc	A, @A+DPTR

code_483A:				; CODE XREF: code_47E8+20j
					; code_47E8+26j ...
		mov	DPTR, #0F977h
		movx	@DPTR, A
		mov	DPTR, #60FAh	; Период адаптации РХХ
		clr	A
		movc	A, @A+DPTR
		inc	A

code_4844:				; CODE XREF: code_47E8+2Cj
		dec	A
		mov	DPTR, #0F976h
		movx	@DPTR, A
		mov	DPTR, #5FA3h	; Минимальное положение	РХХ
		clr	A
		movc	A, @A+DPTR
		mov	R0, A
		mov	DPTR, #6082h	; Положение РХХ	при пуске
		clr	A
		movc	A, @A+DPTR
		mov	R1, A
		mov	DPTR, #0F977h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F84Fh
		movx	A, @DPTR
		add	A, B		; B-Register
		lcall	code_46C7
		mov	RXX_Position, A
		ret
; End of function code_47E8


; =============== S U B	R O U T	I N E =======================================


code_4867:				; CODE XREF: RESET_0+198Dp
		mov	DPTR, #8C27h	; Минимальное смещение РХХ после пуска
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	R0, A
		mov	DPTR, #8C00h	; Hачальное смещение РХХ после пуска
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	R1, A
		mov	DPTR, #8C4Eh	; Период убывания смещения РХХ
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F94Bh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, B, code_4886	; B-Register

code_4886:
		jc	code_48A5
		clr	A
		movx	@DPTR, A
		mov	DPTR, #0F94Ch
		movx	A, @DPTR
		dec	A
		cjne	A, RAM_0, code_4894
		clr	RAM_2A.4	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен

code_4894:				; CODE XREF: code_4867+28j
		mov	B, R0		; B-Register
		jb	B.7, code_489E	; B-Register
		lcall	code_46C7
		sjmp	code_48A1
; ---------------------------------------------------------------------------

code_489E:				; CODE XREF: code_4867+2Fj
		lcall	code_46E9

code_48A1:				; CODE XREF: code_4867+35j
		mov	DPTR, #0F94Ch
		movx	@DPTR, A

code_48A5:				; CODE XREF: code_4867:code_4886j
		mov	DPTR, #0F94Ch
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F84Fh
		movx	A, @DPTR
		add	A, B		; B-Register
		mov	B, A		; B-Register
		mov	R0, #1Ch
		mov	DPTR, #6082h
		clr	A
		movc	A, @A+DPTR
		mov	R1, A
		mov	A, B		; B-Register
		lcall	code_46C7
		mov	RXX_Position, A
		ret
; End of function code_4867


; =============== S U B	R O U T	I N E =======================================


code_48C3:				; CODE XREF: RESET_0+17ECp
					; RESET_0+1873p
		mov	A, R2
		swap	A
		rl	A
		anl	A, #1Fh
		mov	R3, A
		mov	A, R2
		swap	A
		rl	A
		anl	A, #0E0h
		mov	R2, A
		jnz	code_48D4
		mov	A, R3
		movc	A, @A+DPTR
		ret
; ---------------------------------------------------------------------------

code_48D4:				; CODE XREF: code_48C3+Cj
		mov	B, R2		; B-Register
		mov	A, R3
		inc	A
		movc	A, @A+DPTR
		mul	AB
		mov	R0, A
		mov	R1, B		; B-Register
		mov	A, R2
		cpl	A
		inc	A
		mov	B, A		; B-Register
		mov	A, R3
		movc	A, @A+DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		ret
; End of function code_48C3


; =============== S U B	R O U T	I N E =======================================


GetTable3DCell:				; CODE XREF: IE0_0+261p IE0_0+284p ...
		mov	A, R3
		anl	A, #0F0h	; Вычисление линейного смещения	в таблице
					; если в номере	строки и столбца есть младшие
					; биты 4-0, то выполнять интерполяцию
		mov	B, A		; B-Register
		mov	A, R2
		anl	A, #0F0h
		swap	A
		add	A, B		; B-Register
		mov	R4, A
		mov	A, R2
		anl	A, #0Fh
		mov	R2, A
		mov	A, R3
		anl	A, #0Fh
		mov	R3, A
		orl	A, R2
		jnz	Interpolation
		mov	A, R4
		movc	A, @A+DPTR
		ret
; ---------------------------------------------------------------------------

Interpolation:				; CODE XREF: GetTable3DCell+15j
		mov	A, R2
		mov	B, R3		; B-Register
		mul	AB
		mov	B, A		; B-Register
		mov	A, R4
		add	A, #11h
		movc	A, @A+DPTR
		mul	AB
		mov	R0, A
		mov	R1, B		; B-Register
		mov	A, #10h
		clr	C
		subb	A, R2
		mov	B, R3		; B-Register
		mul	AB
		mov	B, A		; B-Register
		mov	A, R4
		add	A, #10h
		movc	A, @A+DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		mov	R1, A
		mov	A, #10h
		clr	C
		subb	A, R3
		mov	R3, A
		mov	B, R2		; B-Register
		mul	AB
		mov	B, A		; B-Register
		mov	A, R4
		inc	A
		movc	A, @A+DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		mov	R1, A
		mov	A, #10h
		clr	C
		subb	A, R2
		mov	B, R3		; B-Register
		mul	AB
		mov	B, A		; B-Register
		mov	A, R4
		movc	A, @A+DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		ret
; End of function GetTable3DCell


; =============== S U B	R O U T	I N E =======================================


code_494D:				; CODE XREF: RESET_0+E87p RESET_0+E9Ap
		lcall	Read_AD
		mov	DPTR, #758Eh
		sjmp	code_495B
; End of function code_494D


; =============== S U B	R O U T	I N E =======================================


code_4955:				; CODE XREF: RESET_0+E28p RESET_0+E3Bp ...
		lcall	Read_AD
		mov	DPTR, #756Dh

code_495B:				; CODE XREF: code_494D+6j
		mov	R2, A
		rr	A
		rr	A
		rr	A
		anl	A, #1Fh
		xch	A, R2
		rrc	A
		xch	A, B		; B-Register
		rrc	A
		xch	A, B		; B-Register
		rrc	A
		xch	A, B		; B-Register
		rrc	A
		xch	A, B		; B-Register
		rrc	A
		xch	A, B		; B-Register
		rrc	A
		anl	A, #0F8h
		mov	R3, A
		sjmp	code_4998
; End of function code_4955


; =============== S U B	R O U T	I N E =======================================


code_4977:				; CODE XREF: IE0_0+9B9p RESET_0+62Cp ...
		mov	R3, A
		swap	A
		rl	A
		anl	A, #0E0h
		xch	A, R3
		rr	A
		rr	A
		rr	A
		anl	A, #1Fh
		mov	R2, A
		sjmp	code_4998
; End of function code_4977


; =============== S U B	R O U T	I N E =======================================


Get2D_DTOG_Argument:			; CODE XREF: IE0_0+2CAp IE0_0+57Ap ...
		mov	B, #5		; B-Register
		div	AB
		cjne	A, #36,	code_498C

code_498C:
		jc	code_4990
		mov	A, #36

code_4990:				; CODE XREF: Get2D_DTOG_Argument:code_498Cj
		mov	R2, A
		mov	A, B		; B-Register
		mov	B, #51		; B-Register
		mul	AB
		mov	R3, A

code_4998:				; CODE XREF: code_4955+20j
					; code_4977+Cj
		mov	A, R2
		movc	A, @A+DPTR
		xch	A, R2
		inc	A
		movc	A, @A+DPTR
		clr	C
		subb	A, R2
		jc	code_49AA
		mov	B, R3		; B-Register
		mul	AB
		add	A, #128
		mov	A, B		; B-Register
		addc	A, R2
		ret
; ---------------------------------------------------------------------------

code_49AA:				; CODE XREF: Get2D_DTOG_Argument+1Aj
		cpl	A
		inc	A
		mov	B, R3		; B-Register
		mul	AB
		clr	C
		mov	A, R2
		subb	A, B		; B-Register
		ret
; End of function Get2D_DTOG_Argument


; =============== S U B	R O U T	I N E =======================================


code_49B4:				; CODE XREF: RESET_0+1D52p
		mov	A, R3
		anl	A, #0F0h
		mov	B, A		; B-Register
		mov	A, R2
		anl	A, #0F0h
		swap	A
		add	A, B		; B-Register
		mov	R4, A
		mov	A, R2
		anl	A, #0Fh
		mov	R2, A
		mov	A, R3
		anl	A, #0Fh
		mov	R3, A
		orl	A, R2
		jnz	code_49D0
		mov	A, R4
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		ret
; ---------------------------------------------------------------------------

code_49D0:				; CODE XREF: code_49B4+15j
		mov	A, R2
		mov	B, R3		; B-Register
		mul	AB
		mov	B, A		; B-Register
		mov	A, R4
		add	A, #11h
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mul	AB
		mov	R0, A
		mov	R1, B		; B-Register
		mov	A, #10h
		clr	C
		subb	A, R2
		mov	B, R3		; B-Register
		mul	AB
		mov	B, A		; B-Register
		mov	A, R4
		add	A, #10h
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		mov	R1, A
		mov	A, #10h
		clr	C
		subb	A, R3
		mov	R3, A
		mov	B, R2		; B-Register
		mul	AB
		mov	B, A		; B-Register
		mov	A, R4
		inc	A
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		mov	R1, A
		mov	A, #10h
		clr	C
		subb	A, R2
		mov	B, R3		; B-Register
		mul	AB
		mov	B, A		; B-Register
		mov	A, R4
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		ret
; End of function code_49B4


; =============== S U B	R O U T	I N E =======================================


code_4A20:				; CODE XREF: RESET_0+1D63p
		mov	A, R2
		mov	B, #8		; B-Register
		div	AB
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, #0
		mov	DPH, A		; Data Pointer,	High Byte
		mov	A, R3
		swap	A
		anl	A, #0Fh
		mov	B, #20h	; ' '   ; B-Register
		mul	AB
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, B		; B-Register
		mov	DPH, A		; Data Pointer,	High Byte
		mov	A, R2
		rl	A
		anl	A, #0Eh
		mov	R2, A
		mov	A, R3
		anl	A, #0Fh
		mov	R3, A
		orl	A, R2
		jnz	code_4A4F
		movx	A, @DPTR
		ret
; ---------------------------------------------------------------------------

code_4A4F:				; CODE XREF: code_4A20+2Bj
		mov	A, #10h
		clr	C
		subb	A, R2
		mov	B, A		; B-Register
		clr	C
		mov	A, #10h
		subb	A, R3
		mul	AB
		mov	B, A		; B-Register
		movx	A, @DPTR
		mul	AB
		mov	R0, A
		mov	R1, B		; B-Register
		clr	C
		mov	A, #10h
		subb	A, R3
		mov	B, R2		; B-Register
		mul	AB
		mov	B, A		; B-Register
		inc	DPTR
		movx	A, @DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		mov	R1, A
		mov	A, DPL		; Data Pointer,	Low Byte
		add	A, #1Fh
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, #0
		mov	DPH, A		; Data Pointer,	High Byte
		mov	A, #10h
		clr	C
		subb	A, R2
		mov	B, R3		; B-Register
		mul	AB
		mov	B, A		; B-Register
		movx	A, @DPTR
		inc	DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		mov	R1, A
		mov	A, R2
		mov	B, R3		; B-Register
		mul	AB
		mov	B, A		; B-Register
		movx	A, @DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		ret
; End of function code_4A20


; =============== S U B	R O U T	I N E =======================================


Get32x16Table3DCell:			; CODE XREF: IE0_0+27Cp IE0_0+393p
		mov	A, R2
		anl	A, #0F8h	; номер	столбца
		mov	B, #8		; B-Register
		div	AB		; походу линейное смещение до заданного	столбца
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, #0
		mov	DPH, A		; Data Pointer,	High Byte
		mov	A, R3
		swap	A
		anl	A, #0Fh		; номер	строки
		mov	B, #32		; B-Register
		mul	AB		; линейное смещение до заданной	строки
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, B		; B-Register
		mov	DPH, A		; Data Pointer,	High Byte
		mov	A, R2
		rl	A
		anl	A, #0Eh
		mov	R2, A
		mov	A, R3
		anl	A, #0Fh
		mov	R3, A
		orl	A, R2
		jnz	code_4AD0
		movc	A, @A+DPTR
		ret
; ---------------------------------------------------------------------------

code_4AD0:				; CODE XREF: Get32x16Table3DCell+2Dj
		mov	A, #10h
		clr	C
		subb	A, R2
		mov	B, A		; B-Register
		clr	C
		mov	A, #10h
		subb	A, R3
		mul	AB
		mov	B, A		; B-Register
		clr	A
		movc	A, @A+DPTR
		mul	AB
		mov	R0, A
		mov	R1, B		; B-Register
		clr	C
		mov	A, #10h
		subb	A, R3
		mov	B, R2		; B-Register
		mul	AB
		mov	B, A		; B-Register
		mov	A, #1
		movc	A, @A+DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		mov	R1, A
		mov	A, #10h
		clr	C
		subb	A, R2
		mov	B, R3		; B-Register
		mul	AB
		mov	B, A		; B-Register
		mov	A, #20h	; ' '
		movc	A, @A+DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		mov	R1, A
		mov	A, R2
		mov	B, R3		; B-Register
		mul	AB
		mov	B, A		; B-Register
		mov	A, #21h	; '!'
		movc	A, @A+DPTR
		mul	AB
		add	A, R0
		mov	R0, A
		mov	A, R1
		addc	A, B		; B-Register
		ret
; End of function Get32x16Table3DCell


; =============== S U B	R O U T	I N E =======================================


Sum:					; CODE XREF: RESET_0+A81p RESET_0+A91p ...
		mov	B, A		; B-Register
		movx	A, @DPTR
		add	A, B		; B-Register
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		addc	A, #0
		movx	@DPTR, A
		ret
; End of function Sum


; =============== S U B	R O U T	I N E =======================================


GetTable2DCell:				; CODE XREF: RESET_0+6DEp RESET_0+D30p ...
		mov	R1, A
		swap	A
		anl	A, #0Fh
		mov	B, A		; B-Register
		movc	A, @A+DPTR
		mov	R0, A
		mov	A, B		; B-Register
		inc	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R0
		clr	C
		subb	A, B		; B-Register
		mov	B, A		; B-Register
		mov	A, R1
		anl	A, #0Fh
		swap	A
		mul	AB
		mov	A, R0
		clr	C
		subb	A, B		; B-Register
		jnc	code_4B47
		mov	A, #0

code_4B47:				; CODE XREF: GetTable2DCell+1Dj
		ret
; End of function GetTable2DCell


; =============== S U B	R O U T	I N E =======================================


code_4B48:				; CODE XREF: RESET_0+1605p
					; RESET_0+1BBBp ...
		mov	DPTR, #6EEFh
		mov	A, RPM_RT
		movc	A, @A+DPTR
		clr	C
		subb	A, RAM_52_THR	; Положение дросселя
		mov	RAM_2B.2, C	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		lcall	CALC_UOZ
; End of function code_4B48


; =============== S U B	R O U T	I N E =======================================


CALC_ALF:				; CODE XREF: RESET_0:code_2C99p
		jb	RAM_2A.4, code_4B75 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен

code_4B59:				; CODE XREF: CALC_ALF:code_4B7Aj
					; CALC_ALF:code_4B81j
		clr	RAM_2A.4	; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #5F07h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.5, code_4B8F ; Accumulator
		mov	A, RAM_52_THR	; Положение дросселя
		mov	DPTR, #7208h
		movc	A, @A+DPTR
		mov	R3, A
		mov	DPTR, #6953h
		mov	R2, EngineSpeedQuant ; Квантованные обороты двигателя
		lcall	GetTable3DCell
		mov	RAM_60_SostavSmesi, A
		ret
; ---------------------------------------------------------------------------

code_4B75:				; CODE XREF: CALC_ALFj
		mov	A, RAM_52_THR	; Положение дросселя
		cjne	A, #30,	code_4B7A

code_4B7A:
		jnc	code_4B59
		mov	A, DPKVCount
		cjne	A, #80,	code_4B81

code_4B81:
		jnc	code_4B59
		mov	DPTR, #607Ch
		clr	A
		movc	A, @A+DPTR
		mov	RAM_60_SostavSmesi, A
		mov	DPTR, #0F835h
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_4B8F:				; CODE XREF: CALC_ALF+Aj
		mov	DPTR, #0F9A0h	; Текущее значение давления (ДАД)
		movx	A, @DPTR
		mov	R3, A
		mov	DPTR, #76EFh	; Состав смеси от оборотов и давления (turbo)
		mov	R2, EngineSpeedQuant ; Квантованные обороты двигателя
		lcall	GetTable3DCell
		mov	RAM_60_SostavSmesi, A
		ret
; End of function CALC_ALF


; =============== S U B	R O U T	I N E =======================================


CALC_UOZ:				; CODE XREF: RESET_0:code_2C9Cp
					; RESET_0+1B98p ...
		mov	A, DEV_FLAGS	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		jb	ACC.2, code_4BF5 ; Accumulator
		mov	DPTR, #5F07h
		clr	A
		movc	A, @A+DPTR
		jnb	ACC.5, code_4BB6 ; Accumulator
		mov	DPTR, #0F9A0h	; Текущее значение давления (ДАД)
		movx	A, @DPTR
		mov	R3, A
		mov	DPTR, #852Fh	; УОЗ базовое (turbo)
		sjmp	code_4BC0
; ---------------------------------------------------------------------------

code_4BB6:				; CODE XREF: CALC_UOZ+Aj
		mov	A, RAM_52_THR	; Положение дросселя
		mov	DPTR, #7208h
		movc	A, @A+DPTR
		mov	R3, A
		mov	DPTR, #6DC8h	; УОЗ базовое

code_4BC0:				; CODE XREF: CALC_UOZ+15j
		mov	R2, EngineSpeedQuant ; Квантованные обороты двигателя
		lcall	GetTable3DCell
		mov	B, A		; B-Register
		mov	DPTR, #6EC8h	; Коррекция УОЗ	по температуре ОЖ
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		xch	A, B		; B-Register
		clr	C
		subb	A, B		; B-Register
		mov	UOZ, A
		jnb	SensorsParts.4,	code_4BF5 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	DPTR, #0F884h
		movx	A, @DPTR
		mov	R3, A
		mov	DPTR, #99B9h	; Коррекция УОЗ	по температуре воздуха
		movc	A, @A+DPTR
		xch	A, UOZ
		clr	C
		subb	A, UOZ
		mov	UOZ, A
		jb	ACC.7, code_4BF5 ; Accumulator
		mov	B, A		; B-Register
		mov	A, R3
		mov	DPTR, #9856h	; Мультипликативная коррекция УОЗ по ТВоз
		movc	A, @A+DPTR
		mul	AB
		mov	UOZ, B		; B-Register

code_4BF5:				; CODE XREF: CALC_UOZ+2j CALC_UOZ+35j	...
		ret
; End of function CALC_UOZ


; =============== S U B	R O U T	I N E =======================================


code_4BF6:				; CODE XREF: RESET_0+1BB0p
					; RESET_0:code_3346p
		mov	DPTR, #0F833h
		movx	A, @DPTR
		clr	C
		subb	A, RAM_60_SostavSmesi
		jz	code_4C30
		jnc	code_4C16
		mov	DPTR, #6077h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F832h
		movx	A, @DPTR
		add	A, B		; B-Register
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		addc	A, #0
		sjmp	code_4C2D
; ---------------------------------------------------------------------------

code_4C16:				; CODE XREF: code_4BF6+9j
		mov	DPTR, #6078h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F832h
		clr	A
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		cjne	A, RAM_60_SostavSmesi, code_4C2B

code_4C2B:
		jc	code_4C31

code_4C2D:				; CODE XREF: code_4BF6+1Ej
		movx	@DPTR, A
		mov	RAM_60_SostavSmesi, A

code_4C30:				; CODE XREF: code_4BF6+7j
		ret
; ---------------------------------------------------------------------------

code_4C31:				; CODE XREF: code_4BF6:code_4C2Bj
		mov	A, RAM_60_SostavSmesi
		movx	@DPTR, A
		ret
; End of function code_4BF6


; =============== S U B	R O U T	I N E =======================================


code_4C35:				; CODE XREF: RESET_0:code_33DBp
		jnb	RAM_29.3, code_4C45 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F835h
		movx	A, @DPTR
		clr	C
		subb	A, RAM_60_SostavSmesi
		jnc	code_4C45
		add	A, RAM_60_SostavSmesi
		mov	RAM_60_SostavSmesi, A

code_4C45:				; CODE XREF: code_4C35j code_4C35+Aj
		mov	DPTR, #6079h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F834h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		clr	C
		subb	A, B		; B-Register
		jc	code_4C61
		clr	A
		movx	@DPTR, A
		mov	DPTR, #0F835h
		movx	A, @DPTR
		inc	A
		jz	code_4C61
		movx	@DPTR, A

code_4C61:				; CODE XREF: code_4C35+20j
					; code_4C35+29j
		ret
; End of function code_4C35


; =============== S U B	R O U T	I N E =======================================


code_4C62:				; CODE XREF: RESET_0+1AAAp
		mov	DPTR, #0F833h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F835h
		movx	A, @DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_4C74
		mov	A, B		; B-Register
		movx	@DPTR, A

code_4C74:				; CODE XREF: code_4C62+Dj
		mov	DPTR, #607Ah
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F834h
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		clr	C
		subb	A, B		; B-Register
		jc	code_4C9D
		clr	A
		movx	@DPTR, A
		mov	DPTR, #6A53h
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F835h
		movx	A, @DPTR
		dec	A
		clr	C
		subb	A, B		; B-Register
		jc	code_4C9D
		add	A, B		; B-Register
		movx	@DPTR, A

code_4C9D:				; CODE XREF: code_4C62+22j
					; code_4C62+36j
		ret
; End of function code_4C62


; =============== S U B	R O U T	I N E =======================================


SetOUTDriver:				; CODE XREF: RESET_0+B0p RESET_0+11EAp ...
		jb	SoftFlags1.7, SendJ7 ; 0 bit ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jnb	SoftFlags1.3, SendJ5 ; Передача	данных в HIP0045 по SPI
		ljmp	code_4D78
; ---------------------------------------------------------------------------

SendJ7:					; CODE XREF: SetOUTDriverj
		lcall	PrepareOutPort
		anl	P9, #7Fh	; Port 9 (PDIR=0)
		mov	A, #0F0h
		lcall	J7_SetOUT_TLE6240_SPI
		mov	DPTR, #0F9CFh
		movx	A, @DPTR
		lcall	J7_SetOUT_TLE6240_SPI
		orl	P9, #80h	; Port 9 (PDIR=0)
		anl	P9, #7Fh	; Port 9 (PDIR=0)
		mov	A, #0FFh
		lcall	J7_SetOUT_TLE6240_SPI
		mov	DPTR, #0F9D0h
		movx	A, @DPTR
		lcall	J7_SetOUT_TLE6240_SPI
		orl	P9, #80h	; Port 9 (PDIR=0)
		ret
; ---------------------------------------------------------------------------

SendJ5:					; CODE XREF: SetOUTDriver+3j
		anl	P9, #0FBh	; Передача данных в HIP0045 по SPI
		mov	DPTR, #0F999h
		movx	A, @DPTR
		mov	B, A		; B-Register
		orl	P9, #1		; Port 9 (PDIR=0)
		clr	C
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.3, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		mov	C, ACC.6	; Accumulator
		mov	B.7, C		; B-Register
		anl	P9, #0FEh	; Port 9 (PDIR=0)
		nop
		orl	P9, #1		; Port 9 (PDIR=0)
		mov	C, B.6		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.3, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		mov	C, ACC.6	; Accumulator
		mov	B.6, C		; B-Register
		anl	P9, #0FEh	; Port 9 (PDIR=0)
		nop
		orl	P9, #1		; Port 9 (PDIR=0)
		mov	C, B.5		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.3, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		mov	C, ACC.6	; Accumulator
		mov	B.5, C		; B-Register
		anl	P9, #0FEh	; Port 9 (PDIR=0)
		nop
		orl	P9, #1		; Port 9 (PDIR=0)
		mov	C, B.4		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.3, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		mov	C, ACC.6	; Accumulator
		mov	B.4, C		; B-Register
		anl	P9, #0FEh	; Port 9 (PDIR=0)
		nop
		orl	P9, #1		; Port 9 (PDIR=0)
		clr	C
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.3, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		mov	C, ACC.6	; Accumulator
		mov	B.3, C		; B-Register
		anl	P9, #0FEh	; Port 9 (PDIR=0)
		nop
		orl	P9, #1		; Port 9 (PDIR=0)
		mov	C, B.2		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.3, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		mov	C, ACC.6	; Accumulator
		mov	B.2, C		; B-Register
		anl	P9, #0FEh	; Port 9 (PDIR=0)
		nop
		orl	P9, #1		; Port 9 (PDIR=0)
		mov	C, B.1		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.3, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		mov	C, ACC.6	; Accumulator
		mov	B.1, C		; B-Register
		anl	P9, #0FEh	; Port 9 (PDIR=0)
		nop
		orl	P9, #1		; Port 9 (PDIR=0)
		mov	C, B.0		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.3, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		mov	C, ACC.6	; Accumulator
		mov	B.0, C		; B-Register
		anl	P9, #0FEh	; Port 9 (PDIR=0)
		nop
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, B		; B-Register
		mov	DPTR, #0F9BAh
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_4D78:				; CODE XREF: SetOUTDriver+6j
		anl	P9, #0F7h	; Port 9 (PDIR=0)
		orl	P9, #1		; Port 9 (PDIR=0)
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.7, C		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.6, C		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.5, C		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.4, C		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.3, C		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.2, C		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.1, C		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.0, C		; B-Register
		mov	A, B		; B-Register
		mov	DPTR, #0F999h
		movx	A, @DPTR
		lcall	code_4EAB
		mov	B, A		; B-Register
		mov	C, B.7		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.0, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.7, C		; B-Register
		mov	C, B.6		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.0, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.6, C		; B-Register
		mov	C, B.5		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.0, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.5, C		; B-Register
		mov	C, B.4		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.0, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.4, C		; B-Register
		mov	C, B.3		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.0, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.3, C		; B-Register
		mov	C, B.2		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.0, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.2, C		; B-Register
		mov	C, B.1		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.0, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.1, C		; B-Register
		mov	C, B.0		; B-Register
		orl	P9, #4		; Port 9 (PDIR=0)
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.0, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		mov	C, ACC.1	; Accumulator
		mov	B.0, C		; B-Register
		orl	P9, #8		; Port 9 (PDIR=0)
		mov	A, B		; B-Register
		ret
; End of function SetOUTDriver


; =============== S U B	R O U T	I N E =======================================


code_4E7F:				; CODE XREF: RESET_0+7E1p
		jb	SoftFlags1.7, code_4E9C	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jb	SoftFlags1.3, code_4E92	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		anl	P9, #0FDh	; Port 9 (PDIR=0)
		nop
		setb	P4.4		; Port 4 (PDIR=0)
		clr	P4.4		; Port 4 (PDIR=0)
		nop
		orl	P9, #2		; Port 9 (PDIR=0)
		ret
; ---------------------------------------------------------------------------

code_4E92:				; CODE XREF: code_4E7F+3j
		anl	P9, #0FBh	; Port 9 (PDIR=0)
		anl	P9, #0CFh	; Port 9 (PDIR=0)
		orl	P9, #30h	; Port 9 (PDIR=0)
		ret
; ---------------------------------------------------------------------------

code_4E9C:				; CODE XREF: code_4E7Fj
		clr	P5.4		; Port 5 (PDIR=0)
		anl	P9, #7Fh	; Port 9 (PDIR=0)
		orl	P9, #80h	; Port 9 (PDIR=0)
		anl	P9, #7Fh	; Port 9 (PDIR=0)
		orl	P9, #80h	; Port 9 (PDIR=0)
		ret
; End of function code_4E7F


; =============== S U B	R O U T	I N E =======================================


code_4EAB:				; CODE XREF: SetOUTDriver+146p
		mov	B, A		; B-Register
		mov	A, #0EFh ; 'я'
		jb	B.5, code_4EB6	; B-Register
		setb	P4.4		; Port 4 (PDIR=0)
		sjmp	code_4EB8
; ---------------------------------------------------------------------------

code_4EB6:				; CODE XREF: code_4EAB+4j
		clr	P4.4		; Port 4 (PDIR=0)

code_4EB8:				; CODE XREF: code_4EAB+9j
		mov	C, B.2		; B-Register
		mov	ACC.5, C	; Accumulator
		mov	C, B.6		; B-Register
		mov	ACC.6, C	; Accumulator
		mov	C, B.1		; B-Register
		mov	ACC.4, C	; Accumulator
		mov	C, B.4		; B-Register
		mov	ACC.7, C	; Accumulator
		ret
; End of function code_4EAB


; =============== S U B	R O U T	I N E =======================================


PrepareOutPort:				; CODE XREF: SetOUTDriver:SendJ7p
		mov	DPTR, #0F999h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #5F04h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.7, J7_Kalina ; Январь 7.2 Проводка КАЛИНА (реле вентилятора	и БН)
		mov	A, #5Fh
		mov	C, B.4		; B-Register
		mov	ACC.4, C	; Accumulator
		mov	C, B.0		; B-Register
		mov	ACC.5, C	; Accumulator
		mov	C, B.1		; B-Register
		mov	ACC.7, C	; Accumulator
		mov	C, B.6		; B-Register
		mov	ACC.3, C	; Accumulator
		mov	C, B.5		; B-Register
		mov	ACC.6, C	; Accumulator
		mov	DPTR, #0F9CFh
		movx	@DPTR, A
		mov	A, #4Fh
		mov	C, RAM_29.6	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	ACC.4, C	; Accumulator
		mov	ACC.5, C	; Accumulator
		mov	C, B.2		; B-Register
		mov	ACC.6, C	; Accumulator
		mov	DPTR, #0F9D0h
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

J7_Kalina:				; CODE XREF: PrepareOutPort+Bj
		mov	A, #5Fh	; '_'   ; проводка калина
		mov	C, B.4		; B-Register
		mov	ACC.4, C	; Accumulator
		mov	C, B.0		; B-Register
		mov	ACC.5, C	; Accumulator
		mov	C, B.5		; B-Register
		mov	ACC.6, C	; Accumulator
		mov	C, B.1		; B-Register
		mov	ACC.7, C	; Accumulator
		mov	DPTR, #0F9CFh
		movx	@DPTR, A
		mov	A, #6Fh	; 'o'
		mov	C, RAM_29.6	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	ACC.4, C	; Accumulator
		mov	C, B.6		; B-Register
		mov	ACC.5, C	; Accumulator
		mov	C, B.2		; B-Register
		mov	ACC.6, C	; Accumulator
		mov	C, B.1		; B-Register
		mov	ACC.7, C	; Accumulator
		mov	DPTR, #0F9D0h
		movx	@DPTR, A
		ret
; End of function PrepareOutPort


; =============== S U B	R O U T	I N E =======================================


J7_SetOUT_TLE6240_SPI:			; CODE XREF: SetOUTDriver+11p
					; SetOUTDriver+18p ...
		mov	R3, #8

code_4F31:				; CODE XREF: J7_SetOUT_TLE6240_SPI+9j
		rlc	A
		mov	P5.3, C		; Port 5 (PDIR=0)
		setb	P5.4		; Port 5 (PDIR=0)
		clr	P5.4		; Port 5 (PDIR=0)
		djnz	R3, code_4F31
		ret
; End of function J7_SetOUT_TLE6240_SPI


; =============== S U B	R O U T	I N E =======================================


code_4F3B:				; CODE XREF: code_4F49+5p code_4F49+Dp ...
		mov	R3, #8

code_4F3D:				; CODE XREF: code_4F3B+Bj
		setb	P5.4		; Port 5 (PDIR=0)
		mov	C, P5.5		; Port 5 (PDIR=0)
		rlc	A
		mov	P5.3, C		; Port 5 (PDIR=0)
		clr	P5.4		; Port 5 (PDIR=0)
		djnz	R3, code_4F3D
		ret
; End of function code_4F3B


; =============== S U B	R O U T	I N E =======================================


code_4F49:				; CODE XREF: RESET_0:code_39CAp
		anl	P9, #7Fh	; Port 9 (PDIR=0)
		mov	A, #0
		lcall	code_4F3B
		mov	DPTR, #0FA71h
		movx	@DPTR, A
		clr	A
		lcall	code_4F3B
		mov	DPTR, #0FA70h
		movx	@DPTR, A
		orl	P9, #80h	; Port 9 (PDIR=0)
		anl	P9, #7Fh	; Port 9 (PDIR=0)
		mov	A, #0Fh
		lcall	code_4F3B
		mov	DPTR, #0FA72h
		movx	@DPTR, A
		clr	A
		lcall	code_4F3B
		mov	DPTR, #0FA73h
		movx	@DPTR, A
		orl	P9, #80h	; Port 9 (PDIR=0)
		ret
; End of function code_4F49


; =============== S U B	R O U T	I N E =======================================


code_4F78:				; CODE XREF: RESET_0+2242p

; FUNCTION CHUNK AT 4FC8 SIZE 00000064 BYTES

		jnb	P5.4, code_4FC8	; Port 5 (PDIR=0)
		anl	P9, #11111101b	; Port 9 (PDIR=0)
		mov	R2, #8
		nop

code_4F81:				; CODE XREF: code_4F78+10j
		setb	P4.4		; Port 4 (PDIR=0)
		clr	P4.4		; Port 4 (PDIR=0)
		mov	C, P5.4		; Port 5 (PDIR=0)
		rrc	A
		djnz	R2, code_4F81
		lcall	code_4FA5
		mov	DPTR, #0F9B8h
		movx	@DPTR, A
		mov	R2, #8

code_4F93:				; CODE XREF: code_4F78+22j
		setb	P4.4		; Port 4 (PDIR=0)
		clr	P4.4		; Port 4 (PDIR=0)
		mov	C, P5.4		; Port 5 (PDIR=0)
		rrc	A
		djnz	R2, code_4F93
		lcall	code_4FA5
		mov	DPTR, #0F9B9h
		movx	@DPTR, A
		sjmp	code_4FF1
; End of function code_4F78


; =============== S U B	R O U T	I N E =======================================


code_4FA5:				; CODE XREF: code_4F78+12p
					; code_4F78+24p
		mov	C, ACC.0	; Accumulator
		mov	B.7, C		; B-Register
		mov	C, ACC.1	; Accumulator
		mov	B.6, C		; B-Register
		mov	C, ACC.2	; Accumulator
		mov	B.5, C		; B-Register
		mov	C, ACC.3	; Accumulator
		mov	B.4, C		; B-Register
		mov	C, ACC.4	; Accumulator
		mov	B.3, C		; B-Register
		mov	C, ACC.5	; Accumulator
		mov	B.2, C		; B-Register
		mov	C, ACC.6	; Accumulator
		mov	B.1, C		; B-Register
		mov	C, ACC.7	; Accumulator
		mov	B.0, C		; B-Register
		mov	A, B		; B-Register
		ret
; End of function code_4FA5

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR code_4F78

code_4FC8:				; CODE XREF: code_4F78j
		anl	P9, #0FDh	; Port 9 (PDIR=0)
		mov	R2, #7
		nop
		nop
		mov	C, P5.4		; Port 5 (PDIR=0)
		rrc	A
		nop

code_4FD3:				; CODE XREF: code_4F78+63j
		setb	P4.4		; Port 4 (PDIR=0)
		nop
		mov	C, P5.4		; Port 5 (PDIR=0)
		rrc	A
		clr	P4.4		; Port 4 (PDIR=0)
		djnz	R2, code_4FD3
		mov	DPTR, #0F9B8h
		movx	@DPTR, A
		mov	R2, #8

code_4FE3:				; CODE XREF: code_4F78+73j
		setb	P4.4		; Port 4 (PDIR=0)
		nop
		mov	C, P5.4		; Port 5 (PDIR=0)
		rrc	A
		clr	P4.4		; Port 4 (PDIR=0)
		djnz	R2, code_4FE3
		mov	DPTR, #0F9B9h
		movx	@DPTR, A

code_4FF1:				; CODE XREF: code_4F78+2Bj
		orl	P9, #10b	; Port 9 (PDIR=0)
		mov	DPTR, #0F836h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #5FE6h
		clr	A
		movc	A, @A+DPTR
		cjne	A, B, code_5002	; B-Register

code_5002:
		jnc	code_501F
		mov	A, P6		; Port 6 (PDIR=0)
		jb	ACC.5, code_501F ; Accumulator
		jnb	RAM_2A.6, code_501F ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #0F9BBh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #0Ah, code_5015

code_5015:
		jc	code_502B
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		orl	A, #10h
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_501F:				; CODE XREF: code_4F78:code_5002j
					; code_4F78+8Ej ...
		clr	A
		mov	DPTR, #0F9BBh
		movx	@DPTR, A
		mov	DPTR, #0F9B0h
		movx	A, @DPTR
		anl	A, #0EFh
		movx	@DPTR, A

code_502B:				; CODE XREF: code_4F78:code_5015j
		ret
; END OF FUNCTION CHUNK	FOR code_4F78

; =============== S U B	R O U T	I N E =======================================


code_502C:				; CODE XREF: RESET_0+2248p
		clr	A
		mov	DPTR, #0F9B2h
		movx	@DPTR, A
		mov	DPTR, #0F9B3h
		movx	@DPTR, A
		mov	DPTR, #0F9B4h
		movx	A, @DPTR
		anl	A, #0F0h
		movx	@DPTR, A
		mov	DPTR, #0F9B8h
		movx	A, @DPTR
		mov	R4, A
		xrl	A, #0FFh
		jnz	code_5048
		ljmp	code_50EC
; ---------------------------------------------------------------------------

code_5048:				; CODE XREF: code_502C+17j
		mov	A, R4
		anl	A, #0C0h
		mov	R3, A
		xrl	A, #0C0h
		jz	code_5071
		mov	A, R3
		jnz	code_505C
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #10h
		movx	@DPTR, A
		sjmp	code_5071
; ---------------------------------------------------------------------------

code_505C:				; CODE XREF: code_502C+25j
		mov	A, R3
		xrl	A, #80h
		jnz	code_506A
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #1
		movx	@DPTR, A
		sjmp	code_5071
; ---------------------------------------------------------------------------

code_506A:				; CODE XREF: code_502C+33j
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #1
		movx	@DPTR, A

code_5071:				; CODE XREF: code_502C+22j
					; code_502C+2Ej ...
		mov	A, R4
		anl	A, #30h
		mov	R3, A
		xrl	A, #30h
		jz	code_509A
		mov	A, R3
		jnz	code_5085
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #20h
		movx	@DPTR, A
		sjmp	code_509A
; ---------------------------------------------------------------------------

code_5085:				; CODE XREF: code_502C+4Ej
		mov	A, R3
		xrl	A, #20h
		jnz	code_5093
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #2
		movx	@DPTR, A
		sjmp	code_509A
; ---------------------------------------------------------------------------

code_5093:				; CODE XREF: code_502C+5Cj
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #2
		movx	@DPTR, A

code_509A:				; CODE XREF: code_502C+4Bj
					; code_502C+57j ...
		mov	A, R4
		anl	A, #3
		mov	R3, A
		xrl	A, #3
		jz	code_50C3
		mov	A, R3
		jnz	code_50AE
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #40h
		movx	@DPTR, A
		sjmp	code_50C3
; ---------------------------------------------------------------------------

code_50AE:				; CODE XREF: code_502C+77j
		mov	A, R3
		xrl	A, #2
		jnz	code_50BC
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #4
		movx	@DPTR, A
		sjmp	code_50C3
; ---------------------------------------------------------------------------

code_50BC:				; CODE XREF: code_502C+85j
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #4
		movx	@DPTR, A

code_50C3:				; CODE XREF: code_502C+74j
					; code_502C+80j ...
		mov	A, R4
		anl	A, #0Ch
		mov	R3, A
		xrl	A, #0Ch
		jz	code_50EC
		mov	A, R3
		jnz	code_50D7
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #80h
		movx	@DPTR, A
		sjmp	code_50EC
; ---------------------------------------------------------------------------

code_50D7:				; CODE XREF: code_502C+A0j
		mov	A, R3
		xrl	A, #8
		jnz	code_50E5
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #8
		movx	@DPTR, A
		sjmp	code_50EC
; ---------------------------------------------------------------------------

code_50E5:				; CODE XREF: code_502C+AEj
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #8
		movx	@DPTR, A

code_50EC:				; CODE XREF: code_502C+19j
					; code_502C+9Dj ...
		mov	DPTR, #0F9B9h
		movx	A, @DPTR
		anl	A, #30h
		mov	R4, A
		xrl	A, #30h
		jz	code_511F
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #10h
		movx	@DPTR, A
		mov	A, R4
		jnz	code_510A
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #40h
		movx	@DPTR, A
		sjmp	code_511F
; ---------------------------------------------------------------------------

code_510A:				; CODE XREF: code_502C+D3j
		mov	A, R4
		xrl	A, #20h
		jnz	code_5118
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #20h
		movx	@DPTR, A
		sjmp	code_511F
; ---------------------------------------------------------------------------

code_5118:				; CODE XREF: code_502C+E1j
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #80h
		movx	@DPTR, A

code_511F:				; CODE XREF: code_502C+C9j
					; code_502C+DCj ...
		mov	DPTR, #0F999h
		movx	A, @DPTR
		anl	A, #42h
		mov	B, A		; B-Register
		mov	R3, A
		mov	DPTR, #0F9BAh
		movx	A, @DPTR
		anl	A, #42h
		mov	R4, A
		xrl	A, B		; B-Register
		jnz	code_513D
		clr	A
		mov	DPTR, #0F9BCh
		movx	@DPTR, A
		mov	DPTR, #0F9BDh
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_513D:				; CODE XREF: code_502C+105j
		jb	B.1, code_514F	; B-Register
		mov	A, R4
		jb	ACC.1, code_5165 ; Accumulator
		mov	DPTR, #0F9BDh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #0Ah, code_514D

code_514D:
		jnc	code_515E

code_514F:				; CODE XREF: code_502C:code_513Dj
		mov	A, R4
		jnb	ACC.1, code_5165 ; Accumulator
		mov	DPTR, #0F9BDh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #0Ah, code_515C

code_515C:
		jc	code_5165

code_515E:				; CODE XREF: code_502C:code_514Dj
		mov	DPTR, #0F9B4h
		movx	A, @DPTR
		orl	A, #1
		movx	@DPTR, A

code_5165:				; CODE XREF: code_502C+115j
					; code_502C+124j ...
		mov	B, R3		; B-Register
		jb	B.6, code_5182	; B-Register
		mov	A, R4
		jb	ACC.6, code_5198 ; Accumulator
		mov	DPTR, #0F9BCh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #5, code_5177

code_5177:
		jc	code_5182
		mov	DPTR, #0F9B4h
		movx	A, @DPTR
		orl	A, #2
		movx	@DPTR, A
		sjmp	code_5198
; ---------------------------------------------------------------------------

code_5182:				; CODE XREF: code_502C+13Bj
					; code_502C:code_5177j
		mov	A, R4
		jnb	ACC.6, code_5198 ; Accumulator
		mov	DPTR, #0F9BCh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #5, code_518F

code_518F:
		jc	code_5198
		mov	DPTR, #0F9B4h
		movx	A, @DPTR
		orl	A, #8
		movx	@DPTR, A

code_5198:				; CODE XREF: code_502C+13Fj
					; code_502C+154j ...
		ret
; End of function code_502C


; =============== S U B	R O U T	I N E =======================================


code_5199:				; CODE XREF: RESET_0+2253p
		clr	A
		mov	DPTR, #0F9B2h
		movx	@DPTR, A
		mov	DPTR, #0F9B3h
		movx	@DPTR, A
		mov	DPTR, #0F9B4h
		movx	A, @DPTR
		anl	A, #0F0h
		movx	@DPTR, A
		mov	DPTR, #0FA70h
		movx	A, @DPTR
		mov	R4, A
		xrl	A, #0FFh
		jnz	code_51B5
		ljmp	code_5259
; ---------------------------------------------------------------------------

code_51B5:				; CODE XREF: code_5199+17j
		mov	A, R4
		anl	A, #30h
		mov	R3, A
		xrl	A, #30h
		jz	code_51DE
		mov	A, R3
		jnz	code_51C9
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #10h
		movx	@DPTR, A
		sjmp	code_51DE
; ---------------------------------------------------------------------------

code_51C9:				; CODE XREF: code_5199+25j
		mov	A, R3
		xrl	A, #10h
		jnz	code_51D7
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #1
		movx	@DPTR, A
		sjmp	code_51DE
; ---------------------------------------------------------------------------

code_51D7:				; CODE XREF: code_5199+33j
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #1
		movx	@DPTR, A

code_51DE:				; CODE XREF: code_5199+22j
					; code_5199+2Ej ...
		mov	A, R4
		anl	A, #0Ch
		mov	R3, A
		xrl	A, #0Ch
		jz	code_5207
		mov	A, R3
		jnz	code_51F2
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #20h
		movx	@DPTR, A
		sjmp	code_5207
; ---------------------------------------------------------------------------

code_51F2:				; CODE XREF: code_5199+4Ej
		mov	A, R3
		xrl	A, #4
		jnz	code_5200
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #2
		movx	@DPTR, A
		sjmp	code_5207
; ---------------------------------------------------------------------------

code_5200:				; CODE XREF: code_5199+5Cj
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #2
		movx	@DPTR, A

code_5207:				; CODE XREF: code_5199+4Bj
					; code_5199+57j ...
		mov	A, R4
		anl	A, #3
		mov	R3, A
		xrl	A, #3
		jz	code_5230
		mov	A, R3
		jnz	code_521B
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #40h
		movx	@DPTR, A
		sjmp	code_5230
; ---------------------------------------------------------------------------

code_521B:				; CODE XREF: code_5199+77j
		mov	A, R3
		xrl	A, #1
		jnz	code_5229
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #4
		movx	@DPTR, A
		sjmp	code_5230
; ---------------------------------------------------------------------------

code_5229:				; CODE XREF: code_5199+85j
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #4
		movx	@DPTR, A

code_5230:				; CODE XREF: code_5199+74j
					; code_5199+80j ...
		mov	A, R4
		anl	A, #0C0h
		mov	R3, A
		xrl	A, #0C0h
		jz	code_5259
		mov	A, R3
		jnz	code_5244
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #80h
		movx	@DPTR, A
		sjmp	code_5259
; ---------------------------------------------------------------------------

code_5244:				; CODE XREF: code_5199+A0j
		mov	A, R3
		xrl	A, #40h
		jnz	code_5252
		mov	DPTR, #0F9B2h
		movx	A, @DPTR
		orl	A, #8
		movx	@DPTR, A
		sjmp	code_5259
; ---------------------------------------------------------------------------

code_5252:				; CODE XREF: code_5199+AEj
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #8
		movx	@DPTR, A

code_5259:				; CODE XREF: code_5199+19j
					; code_5199+9Dj ...
		mov	DPTR, #0FA73h
		movx	A, @DPTR
		mov	R4, A
		anl	A, #30h
		mov	R3, A
		xrl	A, #30h
		jz	code_528D
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #10h
		movx	@DPTR, A
		mov	A, R3
		jnz	code_5278
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #40h
		movx	@DPTR, A
		sjmp	code_528D
; ---------------------------------------------------------------------------

code_5278:				; CODE XREF: code_5199+D4j
		mov	A, R3
		xrl	A, #10h
		jnz	code_5286
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #20h
		movx	@DPTR, A
		sjmp	code_528D
; ---------------------------------------------------------------------------

code_5286:				; CODE XREF: code_5199+E2j
		mov	DPTR, #0F9B3h
		movx	A, @DPTR
		orl	A, #80h
		movx	@DPTR, A

code_528D:				; CODE XREF: code_5199+CAj
					; code_5199+DDj ...
		mov	A, R4
		anl	A, #0C0h
		mov	R3, A
		xrl	A, #0C0h
		jz	code_52D9
		mov	A, R3
		jnz	code_52AC
		mov	DPTR, #0F9BDh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #0Ah, code_52A1

code_52A1:
		jc	code_52DE
		mov	DPTR, #0F9B4h
		movx	A, @DPTR
		orl	A, #4
		movx	@DPTR, A
		sjmp	code_52DE
; ---------------------------------------------------------------------------

code_52AC:				; CODE XREF: code_5199+FDj
		mov	A, R3
		xrl	A, #20h
		jnz	code_52C5
		mov	DPTR, #0F9BDh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #0Ah, code_52BA

code_52BA:
		jc	code_52DE
		mov	DPTR, #0F9B4h
		movx	A, @DPTR
		orl	A, #8
		movx	@DPTR, A
		sjmp	code_52DE
; ---------------------------------------------------------------------------

code_52C5:				; CODE XREF: code_5199+116j
		mov	DPTR, #0F9BDh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #0Ah, code_52CE

code_52CE:
		jc	code_52DE
		mov	DPTR, #0F9B4h
		movx	A, @DPTR
		orl	A, #2
		movx	@DPTR, A
		sjmp	code_52DE
; ---------------------------------------------------------------------------

code_52D9:				; CODE XREF: code_5199+FAj
		clr	A
		mov	DPTR, #0F9BDh
		movx	@DPTR, A

code_52DE:				; CODE XREF: code_5199:code_52A1j
					; code_5199+111j ...
		mov	DPTR, #0FA72h
		movx	A, @DPTR
		mov	R4, A
		anl	A, #0C0h
		mov	R3, A
		xrl	A, #0C0h
		jz	code_52FE
		mov	DPTR, #0F9BCh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, #5, code_52F3

code_52F3:
		jc	code_5303
		mov	DPTR, #0F9B4h
		movx	A, @DPTR
		orl	A, #1
		movx	@DPTR, A
		sjmp	code_5303
; ---------------------------------------------------------------------------

code_52FE:				; CODE XREF: code_5199+14Fj
		clr	A
		mov	DPTR, #0F9BCh
		movx	@DPTR, A

code_5303:				; CODE XREF: code_5199:code_52F3j
					; code_5199+163j
		mov	DPTR, #0FA71h
		movx	A, @DPTR
		anl	A, #3
		xrl	A, #3
		jz	code_5323
		mov	DPTR, #5F99h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F9AEh
		movx	A, @DPTR
		inc	A
		movx	@DPTR, A
		cjne	A, B, code_531D	; B-Register

code_531D:
		jc	code_532A
		setb	RAM_22.3
		sjmp	code_532A
; ---------------------------------------------------------------------------

code_5323:				; CODE XREF: code_5199+172j
		clr	RAM_22.3
		clr	A
		mov	DPTR, #0F9AEh
		movx	@DPTR, A

code_532A:				; CODE XREF: code_5199:code_531Dj
					; code_5199+188j
		ret
; End of function code_5199


; =============== S U B	R O U T	I N E =======================================


code_532B:				; CODE XREF: RESET_0+11E7p
					; RESET_0+24E5p
		clr	IEN1.5		; Interrupt Enable Register 1
		mov	DPTR, #0F999h
		movx	A, @DPTR
		clr	ACC.6		; Accumulator
		clr	ACC.0		; Accumulator
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F806h
		movx	@DPTR, A
		lcall	code_B347
		jb	SoftFlags1.7, code_535A	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	CMH6, #0	; Compare Register 6, High Byte	(RMAP=0)
		mov	CML6, #0Fh	; Compare Register 6, Low Byte (RMAP=0)
		anl	CMEN, #0F0h	; Compare Enable Register (RMAP=0)
		mov	P4, #0Fh	; Port 4 (PDIR=0)
		mov	RAM_7C,	#0	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		orl	SETMSK,	#6	; Compare Set Mask Register
		setb	P5.1		; Port 5 (PDIR=0)
		setb	P5.2		; Port 5 (PDIR=0)
		anl	CLRMSK,	#0F9h	; Compare Clear	Mask Register

code_535A:				; CODE XREF: code_532B+13j
		mov	RAM_53_CurrentEngineSpeed, #0
		mov	DPKVCount, #0
		mov	RPM, #0
		mov	EngineSpeedQuant, #0 ; Квантованные обороты двигателя
		mov	RPM_RT,	#0
		clr	RAM_26.1
		clr	RAM_2E.2
		ret
; End of function code_532B


; =============== S U B	R O U T	I N E =======================================


code_536E:				; CODE XREF: code_4641+72p
		clr	RAM_29.5	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		setb	RAM_2C.2	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		mov	DPTR, #0F810h
		movx	A, @DPTR
		anl	A, #0FCh
		movx	@DPTR, A
		lcall	code_B347
		clr	A
		mov	DPTR, #0F80Eh
		movx	@DPTR, A
		mov	DPTR, #0F95Bh
		movx	@DPTR, A
		mov	DPTR, #0F95Ch
		movx	@DPTR, A
		mov	DPTR, #0F999h
		movx	A, @DPTR
		setb	ACC.6		; Accumulator
		movx	@DPTR, A
		lcall	Set38Pin_StarterProtect
		setb	RAM_26.1
		setb	IEN1.5		; Interrupt Enable Register 1
		ret
; End of function code_536E


; =============== S U B	R O U T	I N E =======================================


code_5398:				; CODE XREF: RESET_0:code_1D90p
					; RESET_0+1231p
		mov	R2, #40h ; '@'
		mov	DPTR, #0F4D2h

code_539D:				; CODE XREF: code_5398+Cj
		movx	A, @DPTR
		jb	ACC.7, code_53A3 ; Accumulator
		clr	A
		movx	@DPTR, A

code_53A3:				; CODE XREF: code_5398+6j
		inc	DPTR
		djnz	R2, code_539D
		ret
; End of function code_5398

; ---------------------------------------------------------------------------
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  39h	; 9
		db  34h	; 4
		db  31h	; 1
		db  2Fh	; /
		db  2Dh	; -
		db  2Ah	; *
		db  28h	; (
		db  27h	; '
		db  25h	; %
		db  24h	; $
		db  23h	; #
		db  22h	; "
		db  21h	; !
		db  20h
		db  1Fh
		db  1Eh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Ch
		db  1Ch
		db  1Bh
		db  1Bh
		db  1Ah
		db  19h
		db  19h
		db  18h
		db  18h
		db  18h
		db  17h
		db  16h
		db  16h
		db  16h
		db  15h
		db  15h
		db  15h
		db  14h
		db  14h
		db  14h
		db  14h
		db  13h
		db  13h
		db  13h
		db  13h
		db  13h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  11h
		db  11h
		db  11h
		db  11h
		db  11h
		db  11h
		db  11h
		db  11h
		db  11h

; =============== S U B	R O U T	I N E =======================================


code_53E7:				; CODE XREF: RESET_0+44Fp
		jnb	ElectronicsParts.0, code_5422 ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		mov	C, ACC.1	; Accumulator
		mov	ACC.0, C	; Accumulator
		clr	ACC.1		; Accumulator
		sjmp	code_5422
; End of function code_53E7


; =============== S U B	R O U T	I N E =======================================


code_53F2:				; CODE XREF: IE0_0+18Dp
		jnb	ElectronicsParts.0, code_5422 ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		mov	B, A		; B-Register
		mov	A, DPKVCount
		mov	DPTR, #5756h
		movc	A, @A+DPTR
		mov	DPTR, #7BC7h
		movc	A, @A+DPTR
		cjne	A, #3, code_5404

code_5404:
		jnc	code_5413
		cjne	A, #2, code_540D
		mov	A, #4
		sjmp	code_540F
; ---------------------------------------------------------------------------

code_540D:				; CODE XREF: code_53F2+14j
		mov	A, #0Bh

code_540F:				; CODE XREF: code_53F2+19j
		add	A, B		; B-Register
		sjmp	code_5422
; ---------------------------------------------------------------------------

code_5413:				; CODE XREF: code_53F2:code_5404j
		mov	A, B		; B-Register
		sjmp	code_5422
; End of function code_53F2


; =============== S U B	R O U T	I N E =======================================


code_5417:				; CODE XREF: IE0_0+31p	RESET_0+463p
		jnb	ElectronicsParts.0, code_5422 ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		anl	A, #3Fh
		mov	DPTR, #53A7h
		movc	A, @A+DPTR
		orl	A, #80h
; End of function code_5417


; =============== S U B	R O U T	I N E =======================================


code_5422:				; CODE XREF: IE0_0+1A0p IE0_0+1AEp ...
		jb	ElectronicsParts.0, code_5428 ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		ljmp	code_54B1
; ---------------------------------------------------------------------------

code_5428:				; CODE XREF: code_5422j
		anl	P9, #0DFh	; Port 9 (PDIR=0)
		mov	B, A		; B-Register
		nop
		nop
		nop
		nop
		orl	P9, #10h	; Port 9 (PDIR=0)
		mov	C, B.7		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		nop
		orl	P9, #10h	; Port 9 (PDIR=0)
		mov	C, B.6		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		nop
		orl	P9, #10h	; Port 9 (PDIR=0)
		mov	C, B.5		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		nop
		orl	P9, #10h	; Port 9 (PDIR=0)
		mov	C, B.4		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		nop
		orl	P9, #10h	; Port 9 (PDIR=0)
		mov	C, B.3		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		nop
		orl	P9, #10h	; Port 9 (PDIR=0)
		mov	C, B.2		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		nop
		orl	P9, #10h	; Port 9 (PDIR=0)
		mov	C, B.1		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		nop
		orl	P9, #10h	; Port 9 (PDIR=0)
		mov	C, B.0		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		nop
		nop
		nop
		nop
		nop
		orl	P9, #20h	; Port 9 (PDIR=0)
		ret
; ---------------------------------------------------------------------------

code_54B1:				; CODE XREF: code_5422+3j
		jnb	SoftFlags1.3, code_5509	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		clr	P5.3		; Port 5 (PDIR=0)
		mov	B, A		; B-Register
		nop
		nop
		nop
		clr	P5.4		; Port 5 (PDIR=0)
		mov	C, B.7		; B-Register
		mov	P5.7, C		; Port 5 (PDIR=0)
		setb	P5.4		; Port 5 (PDIR=0)
		nop
		clr	P5.4		; Port 5 (PDIR=0)
		mov	C, B.6		; B-Register
		mov	P5.7, C		; Port 5 (PDIR=0)
		setb	P5.4		; Port 5 (PDIR=0)
		nop
		clr	P5.4		; Port 5 (PDIR=0)
		mov	C, B.5		; B-Register
		mov	P5.7, C		; Port 5 (PDIR=0)
		setb	P5.4		; Port 5 (PDIR=0)
		nop
		clr	P5.4		; Port 5 (PDIR=0)
		mov	C, B.4		; B-Register
		mov	P5.7, C		; Port 5 (PDIR=0)
		setb	P5.4		; Port 5 (PDIR=0)
		nop
		clr	P5.4		; Port 5 (PDIR=0)
		mov	C, B.3		; B-Register
		mov	P5.7, C		; Port 5 (PDIR=0)
		setb	P5.4		; Port 5 (PDIR=0)
		nop
		clr	P5.4		; Port 5 (PDIR=0)
		mov	C, B.2		; B-Register
		mov	P5.7, C		; Port 5 (PDIR=0)
		setb	P5.4		; Port 5 (PDIR=0)
		nop
		clr	P5.4		; Port 5 (PDIR=0)
		mov	C, B.1		; B-Register
		mov	P5.7, C		; Port 5 (PDIR=0)
		setb	P5.4		; Port 5 (PDIR=0)
		nop
		clr	P5.4		; Port 5 (PDIR=0)
		mov	C, B.0		; B-Register
		mov	P5.7, C		; Port 5 (PDIR=0)
		setb	P5.4		; Port 5 (PDIR=0)
		nop
		nop
		nop
		nop
		setb	P5.3		; Port 5 (PDIR=0)
		ret
; ---------------------------------------------------------------------------

code_5509:				; CODE XREF: code_5422:code_54B1j
		anl	P9, #0DFh	; Port 9 (PDIR=0)
		mov	B, A		; B-Register
		nop
		nop
		nop
		nop
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		mov	C, B.7		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		orl	P9, #10h	; Port 9 (PDIR=0)
		nop
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		mov	C, B.6		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		orl	P9, #10h	; Port 9 (PDIR=0)
		nop
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		mov	C, B.5		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		orl	P9, #10h	; Port 9 (PDIR=0)
		nop
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		mov	C, B.4		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		orl	P9, #10h	; Port 9 (PDIR=0)
		nop
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		mov	C, B.3		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		orl	P9, #10h	; Port 9 (PDIR=0)
		nop
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		mov	C, B.2		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		orl	P9, #10h	; Port 9 (PDIR=0)
		nop
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		mov	C, B.1		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		orl	P9, #10h	; Port 9 (PDIR=0)
		nop
		anl	P9, #0EFh	; Port 9 (PDIR=0)
		mov	C, B.0		; B-Register
		mov	A, P9		; Port 9 (PDIR=0)
		mov	ACC.7, C	; Accumulator
		mov	P9, A		; Port 9 (PDIR=0)
		orl	P9, #10h	; Port 9 (PDIR=0)
		nop
		nop
		nop
		nop
		nop
		orl	P9, #20h	; Port 9 (PDIR=0)
		ret
; End of function code_5422


; =============== S U B	R O U T	I N E =======================================


code_5592:				; CODE XREF: IE0_0+190p IE0_0+1A3p ...
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		nop
		ret
; End of function code_5592


; =============== S U B	R O U T	I N E =======================================


code_55C4:				; CODE XREF: RESET_0+118Ap
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #5F84h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	A, R1
		jnz	code_55E0
		mov	A, R0
		cjne	A, #0F0h, code_55DE ; 'Ё'

code_55DE:
		jc	code_55E2

code_55E0:				; CODE XREF: code_55C4+14j
		mov	A, #0F0h ; 'Ё'

code_55E2:				; CODE XREF: code_55C4:code_55DEj
		add	A, #4
		swap	A
		rl	A
		anl	A, #1Fh
		mov	R1, A
		jnb	RAM_2B.3, code_55F3 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #5F85h
		clr	A
		movc	A, @A+DPTR
		sjmp	code_55F7
; ---------------------------------------------------------------------------

code_55F3:				; CODE XREF: code_55C4+25j
		mov	DPTR, #862Fh
		movc	A, @A+DPTR

code_55F7:				; CODE XREF: code_55C4+2Dj
		xch	A, R1
		mov	R0, #0
		mov	DPTR, #864Fh
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F894h
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	SUB_R0R1_R2R3
		lcall	MUL_NEG_R0R1_B
		lcall	ADD_R0R1_R2R3
		mov	DPTR, #0F894h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		ret
; End of function code_55C4


; =============== S U B	R O U T	I N E =======================================


code_561C:				; CODE XREF: RESET_0:code_19ECp
		mov	S0CON, #40h ; '@' ; Serial Channel 0 Control Register
		mov	PCON, #80h ; 'А' ; Power Control Register
		mov	ADCON0,	#0C0h ;	'└' ; A/D Converter Control Register 0
		mov	R0, #0A5h ; 'е'
		mov	@R0, #0D0h ; '╨'
		mov	S0RELL,	#0D0h ;	'╨' ; Serial Channel 0 Reload Reg., Low Byte
		mov	S0RELH,	#3	; Serial Channel 0 Reload Reg.,	High Byte
		lcall	code_564E
		lcall	code_565C
		mov	R0, #93h ; 'У'
		mov	@R0, #0
		setb	RAM_2F.0
		mov	RAM_78,	#0
		clr	RAM_25_ErrorMask4.1
		setb	S0CON.4		; Serial Channel 0 Control Register
		setb	IEN0.4		; Interrupt Enable Register 0
		mov	S1CON, #10h	; Serial Channel 1 Control Register
		mov	S1RELL,	#0DAh ;	'┌' ; Serial Channel 1 Reload Reg., Low Byte
		mov	S1RELH,	#3	; Serial Channel 1 Reload Reg.,	High Byte
		ret
; End of function code_561C


; =============== S U B	R O U T	I N E =======================================


code_564E:				; CODE XREF: Timer1Proc_1ms+95p
					; RESET_0+2477p ...
		clr	A
		mov	RAM_7E,	A
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #6	; Data Pointer Select Register
		mov	DPTR, #0F680h
		pop	DPSEL		; Data Pointer Select Register
		ret
; End of function code_564E


; =============== S U B	R O U T	I N E =======================================


code_565C:				; CODE XREF: RESET_0+247Fp
					; code_561C+16p ...
		clr	A
		mov	RAM_51,	A
		mov	R0, #92h ; 'Т'
		mov	@R0, A
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		pop	DPSEL		; Data Pointer Select Register
		ret
; End of function code_565C


; =============== S U B	R O U T	I N E =======================================


code_566D:				; CODE XREF: RESET_0+2474p
					; RESET_0+24AFp
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		pop	DPSEL		; Data Pointer Select Register
		clr	RAM_2F.3
		clr	RAM_2F.0
		clr	RAM_2F.4
		mov	RAM_78,	#0
		setb	S0CON.1		; Serial Channel 0 Control Register
		ret
; End of function code_566D

; ---------------------------------------------------------------------------
		db 0E0h	; р
		db  60h	; `
		db  0Eh
		db 0C0h	; └
		db  92h	; Т
		db  75h	; u
		db  92h	; Т
		db    7
		db 0F0h	; Ё
		db 0A3h	; г
		db    5
		db  51h	; Q
		db 0D0h	; ╨
		db  92h	; Т
		db 0A3h	; г
		db  80h	; А
		db 0EFh	; я
		db  22h	; "

; =============== S U B	R O U T	I N E =======================================


code_5695:				; CODE XREF: code_5695+10j
					; ParseRequest+A6p ...
		clr	A
		movc	A, @A+DPTR
		jz	code_56A7
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		inc	RAM_51
		pop	DPSEL		; Data Pointer Select Register
		inc	DPTR
		sjmp	code_5695
; ---------------------------------------------------------------------------

code_56A7:				; CODE XREF: code_5695+2j
		ret
; End of function code_5695


; =============== S U B	R O U T	I N E =======================================


code_56A8:				; CODE XREF: code_56A8+Aj
					; code_A3F9+3Cp ...
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #4	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		djnz	R2, code_56A8
		ret
; End of function code_56A8


; =============== S U B	R O U T	I N E =======================================


code_56B5:				; CODE XREF: code_56B5+Bj
					; code_A4E0+29p
		mov	DPSEL, #3	; Data Pointer Select Register
		clr	A
		movc	A, @A+DPTR
		inc	DPTR
		mov	DPSEL, #4	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		djnz	R2, code_56B5
		ret
; End of function code_56B5


; =============== S U B	R O U T	I N E =======================================


code_56C3:				; CODE XREF: code_56C3+Ej
					; ParseRequest+177p ...
		clr	A
		movc	A, @A+DPTR
		inc	DPTR
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		inc	RAM_51
		pop	DPSEL		; Data Pointer Select Register
		djnz	R2, code_56C3
		ret
; End of function code_56C3

; ---------------------------------------------------------------------------
		db  75h	; u
		db  92h	; Т
		db    3
		db 0E4h	; ф
		db  93h	; У
		db  60h	; `
		db    8
		db 0A3h	; г
		db  75h	; u
		db  92h	; Т
		db    4
		db 0F0h	; Ё
		db 0A3h	; г
		db  80h	; А
		db 0F1h	; ё
		db  75h	; u
		db  92h	; Т
		db    4
		db 0F0h	; Ё
		db  22h	; "
		db  75h	; u
		db  92h	; Т
		db    3
		db 0E0h	; р
		db  60h	; `
		db    8
		db 0A3h	; г
		db  75h	; u
		db  92h	; Т
		db    4
		db 0F0h	; Ё
		db 0A3h	; г
		db  80h	; А
		db 0F2h	; Є
		db  75h	; u
		db  92h	; Т
		db    4
		db 0F0h	; Ё
		db  22h	; "

; =============== S U B	R O U T	I N E =======================================


code_56FB:				; CODE XREF: code_56FB+12j
					; ParseRequest+241p ...
		clr	A
		movc	A, @A+DPTR
		jz	code_570F
		mov	R0, A
		mov	A, @R0
		inc	DPTR
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		inc	RAM_51
		pop	DPSEL		; Data Pointer Select Register
		sjmp	code_56FB
; ---------------------------------------------------------------------------

code_570F:				; CODE XREF: code_56FB+2j
		ret
; End of function code_56FB


; =============== S U B	R O U T	I N E =======================================


code_5710:				; CODE XREF: code_5710+24j
					; ParseRequest+24Dp ...
		mov	R3, #2
		clr	A
		movc	A, @A+DPTR
		jz	code_5736
		mov	R4, A
		inc	DPTR
		clr	A
		movc	A, @A+DPTR
		inc	DPTR
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPH, R4		; Data Pointer,	High Byte
		mov	DPL, A		; Data Pointer,	Low Byte

code_5724:				; CODE XREF: code_5710+20j
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		inc	RAM_51
		mov	DPSEL, #3	; Data Pointer Select Register
		djnz	R3, code_5724
		pop	DPSEL		; Data Pointer Select Register
		sjmp	code_5710
; ---------------------------------------------------------------------------

code_5736:				; CODE XREF: code_5710+4j code_5737+2j
		ret
; End of function code_5710


; =============== S U B	R O U T	I N E =======================================


code_5737:				; CODE XREF: code_5737+1Dj
					; ParseRequest+247p ...
		clr	A
		movc	A, @A+DPTR
		jz	code_5736
		mov	R4, A
		inc	DPTR
		clr	A
		movc	A, @A+DPTR
		inc	DPTR
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPH, R4		; Data Pointer,	High Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		inc	RAM_51
		pop	DPSEL		; Data Pointer Select Register
		sjmp	code_5737
; End of function code_5737

; ---------------------------------------------------------------------------
		db    0
		db    1
		db    2
		db    4
		db    5
		db    6
		db    8
		db    9
		db  0Ah
		db  0Ch
		db  0Dh
		db  0Eh
		db  10h
		db  11h
		db  12h
		db  14h
		db  15h
		db  16h
		db  18h
		db  19h
		db  1Ah
		db  1Ch
		db  1Dh
		db  1Eh
		db  20h
		db  21h	; !
		db  22h	; "
		db  24h	; $
		db  25h	; %
		db  26h	; &
		db  28h	; (
		db  29h	; )
		db  2Ah	; *
		db  2Ch	; ,
		db  2Dh	; -
		db  2Eh	; .
		db  30h	; 0
		db  31h	; 1
		db  32h	; 2
		db  34h	; 4
		db  35h	; 5
		db  36h	; 6
		db  38h	; 8
		db  39h	; 9
		db  3Ah	; :
		db  3Ch	; <
		db  3Dh	; =
		db  3Eh	; >
		db  40h	; @
		db  41h	; A
		db  42h	; B
		db  44h	; D
		db  45h	; E
		db  46h	; F
		db  48h	; H
		db  49h	; I
		db  4Ah	; J
		db  4Ch	; L
		db  4Dh	; M
		db  4Eh	; N
		db  50h	; P
		db  51h	; Q
		db  52h	; R
		db  54h	; T
		db  55h	; U
		db  56h	; V
		db  58h	; X
		db  59h	; Y
		db  5Ah	; Z
		db  5Ch	; \
		db  5Dh	; ]
		db  5Eh	; ^
		db  60h	; `
		db  61h	; a
		db  62h	; b
		db  64h	; d
		db  65h	; e
		db  66h	; f
		db  68h	; h
		db  69h	; i
		db  6Ah	; j
		db  6Ch	; l
		db  6Dh	; m
		db  6Eh	; n
		db  70h	; p
		db  71h	; q
		db  72h	; r
		db  74h	; t
		db  75h	; u
		db  76h	; v
		db  78h	; x
		db  79h	; y
		db  7Ah	; z
		db  7Ch	; |
		db  7Dh	; }
		db  7Eh	; ~
		db  80h	; А
		db  81h	; Б
		db  82h	; В
		db  84h	; Д
		db  85h	; Е
		db  86h	; Ж
		db  88h	; И
		db  89h	; Й
		db  8Ah	; К
		db  8Ch	; М
		db  8Dh	; Н
		db  8Eh	; О
		db  90h	; Р
		db  91h	; С
		db  92h	; Т
		db  94h	; Ф
		db  95h	; Х
		db  96h	; Ц
		db  98h	; Ш
		db  99h	; Щ
		db  9Ah	; Ъ
		db  9Ch	; Ь
		db  9Dh	; Э
		db  9Eh	; Ю
		db 0A0h	; а
		db 0A1h	; б
		db 0A2h	; в
		db 0A4h	; д
		db 0A5h	; е
		db 0A6h	; ж
		db 0A8h	; и
		db 0A9h	; й
		db 0AAh	; к
		db 0ACh	; м
		db 0ADh	; н
		db 0AEh	; о
		db 0B0h	; ░
		db 0B1h	; ▒
		db 0B2h	; ▓
		db 0B4h	; ┤
		db 0B5h	; ╡
		db 0B6h	; ╢
		db 0B8h	; ╕
		db 0B9h	; ╣
		db 0BAh	; ║
		db 0BCh	; ╝
		db 0BDh	; ╜
		db 0BEh	; ╛
		db 0C0h	; └
		db 0C1h	; ┴
		db 0C2h	; ┬
		db 0C4h	; ─
		db 0C5h	; ┼
		db 0C6h	; ╞
		db 0C8h	; ╚
		db 0C9h	; ╔
		db 0CAh	; ╩
		db 0CCh	; ╠
		db 0CDh	; ═
		db 0CEh	; ╬
		db 0D0h	; ╨
		db 0D1h	; ╤
		db 0D2h	; ╥
		db 0D4h	; ╘
		db 0D5h	; ╒
		db 0D6h	; ╓
		db 0D8h	; ╪
		db 0D9h	; ┘
		db 0DAh	; ┌
		db 0DCh	; ▄
		db 0DDh	; ▌
		db 0DEh	; ▐
		db 0E0h	; р
		db 0E1h	; с
		db 0E2h	; т
		db 0E4h	; ф
		db 0E5h	; х
		db 0E6h	; ц
		db 0E8h	; ш
		db 0E9h	; щ
		db 0EAh	; ъ
		db 0ECh	; ь
		db 0EDh	; э
		db 0EEh	; ю
		db 0F0h	; Ё
		db 0F1h	; ё
		db 0F2h	; Є
		db 0F4h	; Ї
		db 0F5h	; ї
		db 0F6h	; Ў
		db 0F8h	; °
		db 0F9h	; ∙
		db 0FAh	; ·
		db 0FCh	; №
		db 0FDh	; ¤
		db 0FEh	; ■
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db  4Ah	; J
		db  35h	; 5
		db  6Ch	; l
		db  73h	; s
		db  5Fh	; _
		db  56h	; V
		db  34h	; 4
		db  36h	; 6
		db  20h
		db  28h	; (
		db  63h	; c
		db  29h	; )
		db  20h
		db  32h	; 2
		db  30h	; 0
		db  30h	; 0
		db  37h	; 7
		db  20h
		db  5Bh	; [
		db  6Fh	; o
		db  6Bh	; k
		db  74h	; t
		db  6Ah	; j
		db  61h	; a
		db  2Eh	; .
		db  72h	; r
		db  75h	; u
		db  5Dh	; ]
		db  70h	; p
		db  65h	; e
		db  72h	; r
		db  6Dh	; m
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  65h	; e
		db  6Dh	; m
		db  6Dh	; m
		db  69h	; i
		db  62h	; b
		db  6Fh	; o
		db  78h	; x
		db    0
		db  74h	; t
		db  75h	; u
		db  72h	; r
		db  62h	; b
		db  6Fh	; o
		db  20h
		db  20h
		db    0
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db    0
		db  34h	; 4
		db  33h	; 3
		db  31h	; 1
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db    0
		db  31h	; 1
		db  2Eh	; .
		db  36h	; 6
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db 0B2h	; ▓		; Мультипликативный коэфф. пересчета АД-ЦН по температуре
		db 0B1h	; ▒
		db 0B0h	; ░
		db 0ABh	; л
		db 0AAh	; к
		db 0A6h	; ж
		db 0A4h	; д
		db 0A3h	; г
		db 0A2h	; в
		db 0A2h	; в
		db 0A2h	; в
		db 0A2h	; в
		db 0A0h	; а
		db  9Bh	; Ы
		db  97h	; Ч
		db  93h	; У
		db  8Fh	; П
		db  8Bh	; Л
		db  8Ah	; К
		db  88h	; И
		db  86h	; Ж
		db  83h	; Г
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    3
		db    3
		db    3
		db    3
		db    4
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    7
		db    7
		db    7
		db    7
		db 0BEh	; ╛		; Мультипликативный коэфф. коррекции GBC по температуре	воздуха
		db 0B8h	; ╕
		db 0B2h	; ▓
		db 0ADh	; н
		db 0A7h	; з
		db 0A2h	; в
		db  9Ch	; Ь
		db  97h	; Ч
		db  92h	; Т
		db  8Eh	; О
		db  89h	; Й
		db  84h	; Д
		db  80h	; А
		db  7Ch	; |
		db  77h	; w
		db  73h	; s
		db  6Fh	; o
		db  6Bh	; k
		db  68h	; h
		db  64h	; d
		db  60h	; `
		db  5Dh	; ]
		db  59h	; Y
		db  56h	; V
		db  52h	; R
		db  4Fh	; O
		db  4Ch	; L
		db  49h	; I
		db  46h	; F
		db  43h	; C
		db  40h	; @
		db  3Dh	; =
		db  3Ah	; :
		db  37h	; 7
		db  35h	; 5
		db  32h	; 2
		db  2Fh	; /
		db  2Dh	; -
		db  2Ah	; *
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    4			; Минимальное напряжение для диагностики ДАД
		db 0FFh			; Максимальное напряжение для диагностики ДАД
		db    8			; Минимум для квантования давления
		db    7
		db  25h	; %		; Диапазон квантования давления
		db  14h			; Задержка диагностики ДАД
		db 0E7h	; ч
		db 0F4h	; Ї
		db  8Ah	; К
		db    2
		db  10h
		db  1Eh
		db    8
		db    4
		db    9
		db  26h	; &
		db  0Ch
		db 0CBh	; ╦
		db  23h	; #
		db    0
		db    0			; Bit70="Зажигание по ДАД (карбюраторный двигатель)"
					; Bit71="Контроллер широкополосного ДК (цифровой вход L-line)"
					; Bit72="Использовать поправку ЦН по давлению при работе с ДАД"
					; Bit73="Новый алгоритм регулирования ХХ"
					; Bit74="Высокая стационарность по оборотам (ШДК)"
					; Bit75="Тип ЭБУ Январь 7.2 (21124)"
					; Bit76="Всегда попарно параллельный режим для катушек Январь 7.2 (2111)"
					; Bit77="Январь 7.2 Проводка КАЛИНА (реле вентилятора и БН)"
		db 0B4h	; ┤		; Bit60="Барометрическая коррекция дроссельного режима"
					; Bit61="Расчитывать наполнение воздухом по таблице БЦН"
					; Bit62="Работать без ДМРВ (ДАД или по дросселю)"
					; Bit64="Тип ЭБУ J5 Online Tuner (инженерный блок)"
					; Bit65="Hе экстраполировать результат работы L-регулятора"
					; Bit66="Запрет адаптации положения РХХ по GB"
					; Bit67="Корректировать БЦH по ДТВ"
		db  20h
		db  2Dh	; -		; Bit50="Контроллер широкополосного ДК аналоговый (КТ39 Я5, КТ75 Я7)"
					; Bit51="Датчик температуры отработавших газов (КТ42 пин Я5)"
					; Bit54="Запрет Throtle Assist (движение РХХ)"
					; Bit55="Выбирать УОЗ и ALF из таблиц по давлению (turbo)"
					; Bit56="Имс контроллера детонации HIP9011 (A5V05N35 after 08.2005)"
					; Bit57="Тип ЭБУ VS5.1-42 (OLD) V5V05K17-L19"
		db 0FFh			; Коэффициент фильтра ДАД
		db 0FFh			; Коэффициент фильтра ДАД для ХХ
		db    0
		db    1
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    8
		db    0			; bit0
					; bit1 - выполнять коррекцию топливоподачи по давлению
					; bit2 - use GBC 16x32
		db  6Bh	; k
		db    4			; Похоже на кол-во цилиндров
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    1
		db  96h	; Ц
		db  9Eh	; Ю
		db 0A7h	; з
		db 0AFh	; п
		db 0AFh	; п
		db 0AFh	; п
		db  89h	; Й
		db  94h	; Ф
		db  9Fh	; Я
		db 0AAh	; к
		db 0AAh	; к
		db 0AAh	; к
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  14h
		db  89h	; Й
		db  8Ch	; М
		db  90h	; Р
		db    5
		db  28h	; (
		db  80h	; А
		db    1			; 38 Pin ЭБУ
					;    0 защита стартера
					;    1 управление клапаном Vtec
					;    2 2-я ступень БН
					;    3 дополнительный вентилятор охлаждения 2
					;    4 лампа индикации отсечки
		db  96h	; Ц
		db  96h	; Ц
		db  96h	; Ц
		db  96h	; Ц
		db  96h	; Ц
		db  96h	; Ц
		db  5Ah	; Z
		db  5Ah	; Z
		db  5Ah	; Z
		db  5Ah	; Z
		db  5Ah	; Z
		db  5Ah	; Z
		db  14h
		db  55h	; U
		db  46h	; F
		db  32h	; 2
		db  2Dh	; -
		db    7
		db    1
		db    5
		db  1Ah
		db  34h	; 4
		db  5Dh	; ]
		db  0Ah
		db  78h	; x
		db  0Fh
		db  69h	; i
		db  1Eh
		db  46h	; F
		db  4Bh	; K
		db  19h
		db 0FAh	; ·
		db  0Ah
		db  8Ch	; М
		db  21h	; !
		db    8			; Порог	1 низкого уровня шума двигателя
		db  10h			; Порог	2 низкого уровня шума двигателя
		db  64h	; d		; Порог	1 высокого уровня шума двигателя
		db  6Ch	; l		; Порог	2 высокого уровня шума двигателя
		db  40h	; @
		db  20h
		db    6			; Число	стабильных циклов для обучения (лямбда регулирование)
		db 0F1h	; ё
		db 0FBh	; √
		db  0Fh
		db  10h
		db  73h	; s		; Порог	температуры для	активизации калибровки уровня шума (детонация)
		db  32h	; 2
		db  59h	; Y
		db  80h	; А
		db  40h	; @
		db    2
		db 0CDh	; ═
		db 0CDh	; ═
		db    5
		db  78h	; x
		db  50h	; P
		db    5
		db    5
		db    1
		db  37h	; 7
		db  78h	; x
		db  30h	; 0
		db  55h	; U
		db  14h
		db  1Eh
		db  0Dh
		db  1Ah
		db  17h
		db    7
		db  5Fh	; _		; Температура ОГ для отключения	нагревателя (лямбда зонд)
		db  0Ch
		db 0B6h	; ╢		; Напряжение отключения	подогревателя ДК (лямбда зонд)
		db  23h	; #		; Температура ОЖ для разрешения	отключения нагревателя (лямбда зонд)
		db  20h
		db  46h	; F		; Положение РХХ	при отказе ДПДЗ
		db  6Eh	; n
		db  67h	; g
		db    0
		db  15h			; Время	для фиксации ошибки ДК
		db  15h
		db  5Ah	; Z
		db    5
		db  64h	; d
		db  6Ch	; l
		db  73h	; s		; Температура разрешения обучения
		db  74h	; t
		db  94h	; Ф
		db  97h	; Ч
		db    2
		db  70h	; p
		db  30h	; 0
		db  9Fh	; Я
		db 0C0h	; └
		db 0E1h	; с
		db  4Bh	; K
		db  15h			; Период диагностики ошибки низкого уровня ДК
		db  40h	; @
		db  1Eh			; Минимальное положение	РХХ
		db  15h
		db  9Bh	; Ы
		db  0Ah			; Пороговое смещение напряжения	ДМРВ для диагностики ДПКВ
		db  32h	; 2		; Период для диагностики ДПКВ
		db 0BCh	; ╝
		db    0
		db  14h
		db  27h	; '
		db  71h	; q
		db  2Dh	; -
		db  15h
		db  18h
		db    0
		db    0
		db 0F0h	; Ё
		db 0F5h	; ї
		db  28h	; (
		db  16h
		db  6Eh	; n
		db  0Ah
		db  0Ah
		db    5
		db  93h	; У
		db  96h	; Ц
		db  15h
		db 0A6h	; ж
		db  33h	; 3
		db  38h	; 8
		db  33h	; 3
		db 0FBh	; √
		db  8Fh	; П
		db    2
		db  90h	; Р
		db 0F9h	; ∙
		db  8Fh	; П
		db    2
		db 0B0h	; ░
		db  72h	; r
		db  50h	; P
		db  8Dh	; Н
		db 0EDh	; э
		db  0Dh
		db 0F7h	; ў
		db    1
		db 0E8h	; ш
		db    3
		db  0Ch
		db  71h	; q
		db    0
		db  20h
		db    5
		db  0Ah
		db 0B0h	; ░
		db  15h
		db  0Ah
		db  19h
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db  98h	; Ш
		db  3Ch	; <
		db  0Ch
		db  3Ch	; <
		db  3Ch	; <
		db  96h	; Ц
		db  6Dh	; m
		db    6
		db 0E6h	; ц
		db  80h	; А
		db  1Bh
		db  7Fh	; 
		db  3Ch	; <
		db  17h			; Напряжение переключения Rich-Lean 2
		db  18h			; Напряжение переключения Lean-Rich 2
		db    6
		db  63h	; c
		db    0
		db  30h	; 0
		db  0Ah
		db  0Ah
		db  1Bh
		db    6
		db  52h	; R		; Статическая производительность 1 форсунки
		db  52h	; R		; Статическая производительность 2 форсунки
		db  52h	; R		; Статическая производительность 3 форсунки
		db  52h	; R		; Статическая производительность 4 форсунки
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  4Ah	; J
		db  35h	; 5
		db  2Eh	; .
		db  31h	; 1
		db    0
		db    0
		db    0
		db  30h	; 0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  4Ah	; J
		db  35h	; 5
		db  4Ch	; L
		db  53h	; S
		db  5Fh	; _
		db  56h	; V
		db  34h	; 4
		db  36h	; 6
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  30h	; 0
		db  31h	; 1
		db  2Dh	; -
		db  30h	; 0
		db  31h	; 1
		db  2Dh	; -
		db  32h	; 2
		db  30h	; 0
		db  30h	; 0
		db  37h	; 7
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  32h	; 2
		db  31h	; 1
		db  31h	; 1
		db  32h	; 2
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  12h
		db  38h	; 8		; Bit00="Датчик концентрации кислорода"
					; Bit01="Адсорбер"
					; Bit02="Клапан управления давлением наддува"
					; Bit03="Датчик детонации"
					; Bit04="Датчик температуры воздуха"
					; Bit05="Датчик фаз (фазированный впрыск)"
					; Bit06="Признак постоянного включения топлива"
					; Bit07="Широкополосное лямбда-регулирование (LC1)"
		db  54h	; T		; Bit11="Адаптация нуля дросселя"
					; Bit12="Асинхронная топливоподача при повторном пуске"
					; Bit13="Постоянное хранение ошибок"
					; Bit14="Датчик скорости автомобиля"
					; Bit16="Асинхронное обогащение при ускорении"
		db  3Ah	; :
		db    2
		db  20h			; Интервал между искрами
		db    2			; Число	дополнительных искр
		db  52h	; R		; Статическая производительность форсунки
		db 0F8h	; °
		db 0FCh	; №
		db  28h	; (		; Обороты начала выхода	из режима пуска
		db  64h	; d
		db 0C3h	; ├		; Обороты блокировки впрыска
		db    5			; Коррекция задержки УОЗ при 10240 об/мин
		db  0Ah			; Коррекция задержки фазы при 10240 об/мин
		db    0
		db  77h	; w
		db  1Bh
		db    5			; Минимальный расход воздуха для диагностики ДМРВ
		db  18h
		db 0F0h	; Ё		; Минимум для квантования GBC
		db    0
		db 0ABh	; л		; Шаг квантования GBC
		db  1Dh			; Начальное положение ДПДЗ
		db  8Eh	; О		; Коэффициент тарировки	ДПДЗ
		db    8			; Ширина полосы	адаптации ДПДЗ
		db  64h	; d
		db  0Ah			; Минимальное напряжение ДПДЗ
		db 0F9h	; ∙		; Максимальное напряжение ДПДЗ
		db  50h	; P
		db    3			; Время	работы бензонасоса до пуска
		db    3			; Зажигание - Время задержки синхронизации
		db  8Ch	; М
		db  0Ah
		db  10h
		db  0Eh
		db  30h	; 0
		db    0
		db    5
		db  21h	; !
		db    2
		db    2
		db    6
		db    7			; Скорость разрешения отключения топлива
		db  4Dh	; M
		db  18h
		db 0F6h	; Ў
		db  5Ah	; Z
		db    4
		db 0F4h	; Ї
		db  8Ch	; М		; Положение РХХ	при пуске
		db  7Ah	; z
		db  1Eh
		db  96h	; Ц
		db  4Dh	; M
		db  9Ah	; Ъ
		db  71h	; q
		db 0FDh	; ¤
		db  50h	; P		; Температура разрешения отключения топлива
		db    2
		db    2
		db  14h			; Задержка отключения топливоподачи
		db  32h	; 2		; Задержка коррекции УОЗ при отключении	топливоподачи
		db    1
		db    2
		db  10h
		db  4Fh	; O
		db  40h	; @
		db  40h	; @
		db    2
		db 0ECh	; ь
		db  18h
		db  6Ah	; j		; Наклон ДАД
		db  18h
		db  30h	; 0		; Смещение ДАД
		db    0
		db    4
		db  46h	; F
		db  16h			; Напряжение переключения Rich-Lean
		db  17h			; Напряжение переключения Lean-Rich
		db  3Ah	; :
		db 0FAh	; ·
		db  14h
		db  5Ah	; Z
		db  80h	; А
		db  0Fh
		db  0Ch
		db    5
		db    4
		db    2
		db  0Ah			; Время	до перекалибровки РХХ
		db 0B4h	; ┤		; Цилиндровый объем двигателя
		db  87h	; З
		db  80h	; А		; Состав смеси в аварийном режиме
		db  14h			; Смещение УОЗ в аварийном режиме
		db  0Ah
		db 0F8h	; °
		db    4			; Мин. напряжение АЦП ДТОЖ для диагностики
		db 0FCh	; №		; Макс.	напряжение АЦП ДТОЖ для	диагностики
		db  50h	; P
		db  5Ah	; Z
		db    0			; Задержка контроля температуры	двигателя после	пуска
		db  0Dh			; Мин. напряжение АЦП ДТВ для диагностики
		db 0FEh	; ■		; Макс.	напряжение АЦП ДТВ для диагностики
		db  32h	; 2
		db  50h	; P		; Расчетная температура	при аварии ДТВ
		db  40h	; @		; Минимальное напряжение бортовой сети
		db 0CEh	; ╬		; Максимальное напряжение бортовой сети
		db  39h	; 9		; Смещение при квантовании напряжения
		db 0EAh	; ъ		; Коэффициент квантования напряжения
		db  0Dh
		db  68h	; h		; Напряжение 1 бортовой	сети при ошибке
		db  91h	; С
		db  23h	; #
		db  0Eh
		db 0FAh	; ·
		db    0
		db  66h	; f
		db  99h	; Щ
		db  85h	; Е		; Температура выключения вентилятора
		db  87h	; З		; Температура включения	вентилятора
		db  78h	; x
		db  1Ah
		db  22h	; "
		db    4			; Количество шагов разгона/остановки РХХ
		db 0FFh
		db  14h
		db    5
		db    5
		db  5Ah	; Z		; Температура холодной продувки
		db 0DAh	; ┌
		db  7Ah	; z
		db    1
		db    1			; Мин. напряжение АЦП ДК для диагностики
		db  38h	; 8		; Макс.	напряжение АЦП ДК для диагностики
		db  0Eh
		db  2Dh	; -		; Время	действия поправки ALF
		db  14h
		db 0F7h	; ў		; Маска	ошибок
		db 0FDh	; ¤
		db 0FDh	; ¤
		db 0C1h	; ┴
		db    1
		db  7Dh	; }
		db  8Ch	; М		; Обороты отключения контроля детонации
		db    5
		db  4Dh	; M
		db    1
		db  40h	; @
		db  0Ah
		db  3Ch	; <
		db  38h	; 8
		db    4
		db  2Fh	; /		; Граница включения подачи топлива
		db  37h	; 7		; Граница отключения подачи топлива
		db  14h
		db  0Fh
		db    9			; Смещение РХХ при включения вентилятора
		db  19h			; Задержка включения вентилятора
		db    2
		db    8			; Нижний порог скорости	признака движения
		db  0Ah			; Нижний порог скорости	признака движения
		db    7
		db    7			; Номер	режимной точки по GBC для диагностики ДСA
		db  0Ah
		db  0Ah
		db  8Ch	; М
		db  17h
		db 0F1h	; ё
		db    0
		db    5			; Период адаптации РХХ
		db    0
		db    0
		db    0
		db    0
		db    0
		db    1
		db    0
		db    2
		db    3
		db 0EBh	; ы		; Тарировка ДТОЖ
		db 0BEh	; ╛
		db 0A6h	; ж
		db  97h	; Ч
		db  8Eh	; О
		db  86h	; Ж
		db  80h	; А
		db  7Ah	; z
		db  76h	; v
		db  72h	; r
		db  6Eh	; n
		db  6Ah	; j
		db  67h	; g
		db  64h	; d
		db  61h	; a
		db  5Eh	; ^
		db  5Bh	; [
		db  58h	; X
		db  55h	; U
		db  53h	; S
		db  50h	; P
		db  4Dh	; M
		db  4Ah	; J
		db  46h	; F
		db  43h	; C
		db  40h	; @
		db  3Ch	; <
		db  38h	; 8
		db  33h	; 3
		db  2Dh	; -
		db  26h	; &
		db  17h
		db  0Ah
		db    5
		db 0F4h	; Ї		; Тарировка ДТВ
		db 0C4h	; ─
		db 0A7h	; з
		db  97h	; Ч
		db  8Ch	; М
		db  83h	; Г
		db  7Bh	; {
		db  74h	; t
		db  6Dh	; m
		db  67h	; g
		db  61h	; a
		db  5Ah	; Z
		db  53h	; S
		db  4Bh	; K
		db  41h	; A
		db  32h	; 2
		db  0Fh
		db  0Fh			; Динамика разгона РХХ
		db  0Fh
		db  0Dh
		db  0Bh
		db    9
rotationKVTbl:	db    0			; rotationKV
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    3
		db    6
		db  0Ah
		db  0Dh
		db  10h
		db  13h
		db  16h
		db  1Ah
		db  1Dh
		db  20h
		db  23h	; #
		db  26h	; &
		db  2Ah	; *
		db  2Dh	; -
		db  30h	; 0
		db  32h	; 2
		db  33h	; 3
		db  35h	; 5
		db  36h	; 6
		db  38h	; 8
		db  3Ah	; :
		db  3Bh	; ;
		db  3Dh	; =
		db  3Eh	; >
		db  40h	; @
		db  42h	; B
		db  43h	; C
		db  45h	; E
		db  46h	; F
		db  48h	; H
		db  4Ah	; J
		db  4Bh	; K
		db  4Dh	; M
		db  4Eh	; N
		db  50h	; P
		db  51h	; Q
		db  52h	; R
		db  54h	; T
		db  55h	; U
		db  56h	; V
		db  57h	; W
		db  59h	; Y
		db  5Ah	; Z
		db  5Bh	; [
		db  5Ch	; \
		db  5Eh	; ^
		db  5Fh	; _
		db  60h	; `
		db  62h	; b
		db  63h	; c
		db  65h	; e
		db  66h	; f
		db  67h	; g
		db  68h	; h
		db  6Ah	; j
		db  6Bh	; k
		db  6Ch	; l
		db  6Dh	; m
		db  6Fh	; o
		db  70h	; p
		db  71h	; q
		db  72h	; r
		db  74h	; t
		db  75h	; u
		db  76h	; v
		db  77h	; w
		db  79h	; y
		db  7Ah	; z
		db  7Bh	; {
		db  7Ch	; |
		db  7Eh	; ~
		db  7Fh	; 
		db  81h	; Б
		db  82h	; В
		db  83h	; Г
		db  85h	; Е
		db  86h	; Ж
		db  87h	; З
		db  88h	; И
		db  8Ah	; К
		db  8Bh	; Л
		db  8Ch	; М
		db  8Dh	; Н
		db  8Fh	; П
		db  90h	; Р
		db  91h	; С
		db  92h	; Т
		db  94h	; Ф
		db  95h	; Х
		db  96h	; Ц
		db  97h	; Ч
		db  99h	; Щ
		db  9Ah	; Ъ
		db  9Bh	; Ы
		db  9Ch	; Ь
		db  9Eh	; Ю
		db  9Fh	; Я
		db 0A1h	; б
		db 0A2h	; в
		db 0A3h	; г
		db 0A5h	; е
		db 0A6h	; ж
		db 0A7h	; з
		db 0A8h	; и
		db 0AAh	; к
		db 0ABh	; л
		db 0ACh	; м
		db 0ADh	; н
		db 0AFh	; п
		db 0B0h	; ░
		db 0B1h	; ▒
		db 0B2h	; ▓
		db 0B4h	; ┤
		db 0B5h	; ╡
		db 0B6h	; ╢
		db 0B7h	; ╖
		db 0B9h	; ╣
		db 0BAh	; ║
		db 0BBh	; ╗
		db 0BCh	; ╝
		db 0BEh	; ╛
		db 0BFh	; ┐
		db 0C0h	; └
		db 0C2h	; ┬
		db 0C3h	; ├
		db 0C5h	; ┼
		db 0C6h	; ╞
		db 0C7h	; ╟
		db 0C8h	; ╚
		db 0CAh	; ╩
		db 0CBh	; ╦
		db 0CCh	; ╠
		db 0CDh	; ═
		db 0CFh	; ╧
		db 0D0h	; ╨
		db 0D1h	; ╤
		db 0D1h	; ╤
		db 0D2h	; ╥
		db 0D3h	; ╙
		db 0D3h	; ╙
		db 0D4h	; ╘
		db 0D4h	; ╘
		db 0D5h	; ╒
		db 0D6h	; ╓
		db 0D6h	; ╓
		db 0D7h	; ╫
		db 0D8h	; ╪
		db 0D8h	; ╪
		db 0D9h	; ┘
		db 0DAh	; ┌
		db 0DAh	; ┌
		db 0DBh	; █
		db 0DCh	; ▄
		db 0DCh	; ▄
		db 0DDh	; ▌
		db 0DDh	; ▌
		db 0DEh	; ▐
		db 0DFh	; ▀
		db 0DFh	; ▀
		db 0E0h	; р
		db 0E1h	; с
		db 0E1h	; с
		db 0E2h	; т
		db 0E3h	; у
		db 0E3h	; у
		db 0E4h	; ф
		db 0E4h	; ф
		db 0E5h	; х
		db 0E6h	; ц
		db 0E6h	; ц
		db 0E7h	; ч
		db 0E8h	; ш
		db 0E8h	; ш
		db 0E9h	; щ
		db 0EAh	; ъ
		db 0EAh	; ъ
		db 0EBh	; ы
		db 0ECh	; ь
		db 0ECh	; ь
		db 0EDh	; э
		db 0EDh	; э
		db 0EEh	; ю
		db 0EFh	; я
		db 0EFh	; я
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db  58h	; X
		db    2
		db 0D0h	; ╨
		db    2
		db  48h	; H
		db    3
		db 0DEh	; ▐
		db    3
		db  92h	; Т
		db    4
		db  64h	; d
		db    5
		db  72h	; r
		db    6
		db  9Eh	; Ю
		db    7
		db    6
		db    9
		db 0AAh	; к
		db  0Ah
		db  8Ah	; К
		db  0Ch
		db    0
		db  0Fh
		db 0B2h	; ▓
		db  11h
		db 0FAh	; ·
		db  14h
		db 0D8h	; ╪
		db  18h
		db  4Ch	; L
		db  1Dh
		db  58h	; X
		db    2
		db  94h	; Ф
		db    2
		db 0D0h	; ╨
		db    2
		db  0Ch
		db    3
		db  48h	; H
		db    3
		db  84h	; Д
		db    3
		db 0DEh	; ▐
		db    3
		db  38h	; 8
		db    4
		db  92h	; Т
		db    4
		db 0ECh	; ь
		db    4
		db  64h	; d
		db    5
		db 0DCh	; ▄
		db    5
		db  72h	; r
		db    6
		db    8
		db    7
		db  9Eh	; Ю
		db    7
		db  52h	; R
		db    8
		db    6
		db    9
		db 0D8h	; ╪
		db    9
		db 0AAh	; к
		db  0Ah
		db 0DAh	; ┌
		db  0Bh
		db  8Ah	; К
		db  0Ch
		db 0D4h	; ╘
		db  0Dh
		db    0
		db  0Fh
		db  4Ah	; J
		db  10h
		db 0B2h	; ▓
		db  11h
		db  38h	; 8
		db  13h
		db 0FAh	; ·
		db  14h
		db 0DAh	; ┌
		db  16h
		db 0D8h	; ╪
		db  18h
		db  12h
		db  1Bh
		db  4Ch	; L
		db  1Dh
		db  4Ch	; L
		db  1Dh
		db    0
		db    2
		db    4
		db    6
		db    8
		db  0Bh
		db  0Eh
		db  12h
		db  17h
		db  1Dh
		db  25h	; %
		db  2Eh	; .
		db  37h	; 7
		db  41h	; A
		db  50h	; P
		db  64h	; d
		db    0			; Тарировка ШДК
		db    1
		db    2
		db    3
		db    4
		db    5
		db    6
		db    7
		db    8
		db    9
		db  0Ah
		db  0Bh
		db  0Ch
		db  0Dh
		db  0Eh
		db  0Fh
		db  10h
		db  11h
		db  12h
		db  13h
		db  14h
		db  15h
		db  17h
		db  18h
		db  19h
		db  1Ah
		db  1Bh
		db  1Ch
		db  1Dh
		db  1Eh
		db  1Fh
		db  20h
		db  21h	; !
		db  22h	; "
		db  23h	; #
		db  24h	; $
		db  25h	; %
		db  26h	; &
		db  27h	; '
		db  28h	; (
		db  29h	; )
		db  2Ah	; *
		db  2Bh	; +
		db  2Ch	; ,
		db  2Dh	; -
		db  2Eh	; .
		db  2Fh	; /
		db  30h	; 0
		db  31h	; 1
		db  32h	; 2
		db  33h	; 3
		db  34h	; 4
		db  35h	; 5
		db  36h	; 6
		db  37h	; 7
		db  38h	; 8
		db  39h	; 9
		db  3Ah	; :
		db  3Bh	; ;
		db  3Ch	; <
		db  3Dh	; =
		db  3Eh	; >
		db  3Fh	; ?
		db  40h	; @
		db  41h	; A
		db  43h	; C
		db  44h	; D
		db  45h	; E
		db  46h	; F
		db  47h	; G
		db  48h	; H
		db  49h	; I
		db  4Ah	; J
		db  4Bh	; K
		db  4Ch	; L
		db  4Dh	; M
		db  4Eh	; N
		db  4Fh	; O
		db  50h	; P
		db  51h	; Q
		db  52h	; R
		db  53h	; S
		db  54h	; T
		db  55h	; U
		db  56h	; V
		db  57h	; W
		db  58h	; X
		db  59h	; Y
		db  5Ah	; Z
		db  5Bh	; [
		db  5Ch	; \
		db  5Dh	; ]
		db  5Eh	; ^
		db  5Fh	; _
		db  60h	; `
		db  61h	; a
		db  62h	; b
		db  63h	; c
		db  64h	; d
		db  65h	; e
		db  66h	; f
		db  67h	; g
		db  68h	; h
		db  69h	; i
		db  6Ah	; j
		db  6Bh	; k
		db  6Ch	; l
		db  6Dh	; m
		db  6Eh	; n
		db  70h	; p
		db  71h	; q
		db  72h	; r
		db  73h	; s
		db  74h	; t
		db  75h	; u
		db  76h	; v
		db  77h	; w
		db  78h	; x
		db  79h	; y
		db  7Ah	; z
		db  7Bh	; {
		db  7Ch	; |
		db  7Dh	; }
		db  7Eh	; ~
		db  7Fh	; 
		db  80h	; А
		db  81h	; Б
		db  82h	; В
		db  83h	; Г
		db  84h	; Д
		db  85h	; Е
		db  86h	; Ж
		db  87h	; З
		db  88h	; И
		db  89h	; Й
		db  8Ah	; К
		db  8Bh	; Л
		db  8Ch	; М
		db  8Dh	; Н
		db  8Eh	; О
		db  8Fh	; П
		db  90h	; Р
		db  91h	; С
		db  92h	; Т
		db  93h	; У
		db  94h	; Ф
		db  95h	; Х
		db  96h	; Ц
		db  97h	; Ч
		db  98h	; Ш
		db  99h	; Щ
		db  9Ah	; Ъ
		db  9Ch	; Ь
		db  9Dh	; Э
		db  9Eh	; Ю
		db  9Fh	; Я
		db 0A0h	; а
		db 0A1h	; б
		db 0A2h	; в
		db 0A3h	; г
		db 0A4h	; д
		db 0A5h	; е
		db 0A6h	; ж
		db 0A7h	; з
		db 0A8h	; и
		db 0A9h	; й
		db 0AAh	; к
		db 0ABh	; л
		db 0ACh	; м
		db 0ADh	; н
		db 0AEh	; о
		db 0AFh	; п
		db 0B0h	; ░
		db 0B1h	; ▒
		db 0B2h	; ▓
		db 0B3h	; │
		db 0B4h	; ┤
		db 0B5h	; ╡
		db 0B6h	; ╢
		db 0B7h	; ╖
		db 0B8h	; ╕
		db 0B9h	; ╣
		db 0BAh	; ║
		db 0BBh	; ╗
		db 0BCh	; ╝
		db 0BDh	; ╜
		db 0BEh	; ╛
		db 0BFh	; ┐
		db 0C0h	; └
		db 0C1h	; ┴
		db 0C2h	; ┬
		db 0C3h	; ├
		db 0C4h	; ─
		db 0C5h	; ┼
		db 0C6h	; ╞
		db 0C8h	; ╚
		db 0C9h	; ╔
		db 0CAh	; ╩
		db 0CBh	; ╦
		db 0CCh	; ╠
		db 0CDh	; ═
		db 0CEh	; ╬
		db 0CFh	; ╧
		db 0D0h	; ╨
		db 0D1h	; ╤
		db 0D2h	; ╥
		db 0D3h	; ╙
		db 0D4h	; ╘
		db 0D5h	; ╒
		db 0D6h	; ╓
		db 0D7h	; ╫
		db 0D8h	; ╪
		db 0D9h	; ┘
		db 0DBh	; █
		db 0DCh	; ▄
		db 0DDh	; ▌
		db 0DEh	; ▐
		db 0DFh	; ▀
		db 0E0h	; р
		db 0E1h	; с
		db 0E2h	; т
		db 0E3h	; у
		db 0E4h	; ф
		db 0E5h	; х
		db 0E6h	; ц
		db 0E7h	; ч
		db 0E8h	; ш
		db 0E9h	; щ
		db 0EAh	; ъ
		db 0EBh	; ы
		db 0ECh	; ь
		db 0EDh	; э
		db 0EEh	; ю
		db 0EFh	; я
		db 0F0h	; Ё
		db 0F1h	; ё
		db 0F2h	; Є
		db 0F4h	; Ї
		db 0F5h	; ї
		db 0F6h	; Ў
		db 0F7h	; ў
		db 0F8h	; °
		db 0F9h	; ∙
		db 0FAh	; ·
		db 0FBh	; √
		db 0FCh	; №
		db 0FDh	; ¤
		db 0FEh	; ■
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0			; Поправка аварийного ЦH
		db    5
		db  0Ah
		db  0Fh
		db  14h
		db  18h
		db  1Eh
		db  22h	; "
		db  27h	; '
		db  2Ch	; ,
		db  31h	; 1
		db  36h	; 6
		db  3Bh	; ;
		db  40h	; @
		db  45h	; E
		db  4Bh	; K
		db  50h	; P
		db  55h	; U
		db  5Ah	; Z
		db  5Fh	; _
		db  64h	; d
		db  69h	; i
		db  6Eh	; n
		db  73h	; s
		db  78h	; x
		db  7Ah	; z
		db  7Bh	; {
		db  7Bh	; {
		db  7Bh	; {
		db  7Bh	; {
		db  7Bh	; {
		db  78h	; x
		db  76h	; v
		db  73h	; s
		db  71h	; q
		db  6Eh	; n
		db  6Bh	; k
		db  69h	; i
		db  66h	; f
		db    0			; 3D таблица, используются отдельные биты каждой ячейки
					;     0-1  Зона	контроля детонации
					;     2	   Зона	лямбда-регулирования по	RPM-GBC
					;     3	   Состояние 25	pin ЭБУ	3D таблица
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    0
		db    0
		db    0
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    0
		db    0
		db    0
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    0
		db    0
		db    0
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    0
		db    0
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    4
		db    4
		db    4
		db    0
		db    0
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    4
		db    4
		db    0
		db    0
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    4
		db    4
		db    0
		db    0
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    0
		db    0
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    0
		db    0
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    0
		db    0
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    0
		db    0
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    0
		db    0
		db    0
		db    0
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    0
		db    0
		db    0
		db    0
		db    0
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    0
		db    0
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C8h	; ╚
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C5h	; ┼
		db 0C5h	; ┼
		db 0C5h	; ┼
		db 0C5h	; ┼
		db 0C9h	; ╔
		db  28h	; (
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C5h	; ┼
		db 0C5h	; ┼
		db  2Ah	; *
		db  29h	; )
		db 0C9h	; ╔
		db  27h	; '
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C5h	; ┼
		db  27h	; '
		db  29h	; )
		db  29h	; )
		db  28h	; (
		db  27h	; '
		db  26h	; &
		db  26h	; &
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db  24h	; $
		db  27h	; '
		db  28h	; (
		db  27h	; '
		db  26h	; &
		db  25h	; %
		db  25h	; %
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C5h	; ┼
		db  1Fh
		db  24h	; $
		db  26h	; &
		db  26h	; &
		db  25h	; %
		db  25h	; %
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db  14h
		db  19h
		db  22h	; "
		db  25h	; %
		db  25h	; %
		db  25h	; %
		db  25h	; %
		db  2Eh	; .
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db  0Eh
		db  16h
		db  1Eh
		db  24h	; $
		db  25h	; %
		db  25h	; %
		db  25h	; %
		db  2Fh	; /
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C5h	; ┼
		db  0Fh
		db 0C5h	; ┼
		db  22h	; "
		db  25h	; %
		db  39h	; 9
		db  25h	; %
		db  2Fh	; /
		db  2Eh	; .
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db  0Ah
		db  16h
		db  22h	; "
		db  25h	; %
		db  3Ch	; <
		db  25h	; %
		db  2Eh	; .
		db  2Dh	; -
		db  2Bh	; +
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db    8
		db  16h
		db  22h	; "
		db  25h	; %
		db  3Ch	; <
		db  25h	; %
		db  2Dh	; -
		db  2Dh	; -
		db  2Bh	; +
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db  0Bh
		db  19h
		db  22h	; "
		db  2Fh	; /
		db  2Eh	; .
		db  25h	; %
		db  2Ch	; ,
		db  2Ch	; ,
		db  2Bh	; +
		db 0C7h	; ╟
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C5h	; ┼
		db  17h
		db  1Eh
		db  23h	; #
		db  2Eh	; .
		db  25h	; %
		db  25h	; %
		db  2Bh	; +
		db  2Bh	; +
		db  2Ah	; *
		db  29h	; )
		db 0C7h	; ╟
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C5h	; ┼
		db  39h	; 9
		db  33h	; 3
		db  2Eh	; .
		db  28h	; (
		db  25h	; %
		db  25h	; %
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  29h	; )
		db  27h	; '
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db 0C6h	; ╞
		db  3Ch	; <
		db  38h	; 8
		db  2Fh	; /
		db  25h	; %
		db  25h	; %
		db  25h	; %
		db  25h	; %
		db  29h	; )
		db  29h	; )
		db  29h	; )
		db  28h	; (
		db  27h	; '
		db  26h	; &
		db 0C6h	; ╞
		db  3Ch	; <
		db  30h	; 0
		db  2Bh	; +
		db  23h	; #
		db  16h
		db  0Eh
		db    4
		db 0FFh
		db  25h	; %
		db    3			; Фаза начала измерения	детонации
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    7			; Фаза окончания измерения детонации
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    8
		db    8
		db    8
		db    8
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  64h	; d
		db  50h	; P
		db  27h	; '
		db  24h	; $
		db  22h	; "
		db  1Fh
		db  1Ch
		db  1Fh
		db  1Bh
		db  19h
		db  15h
		db  14h
		db  15h
		db  14h
		db  13h
		db  16h
		db  50h	; P
		db  3Ch	; <
		db  24h	; $
		db  22h	; "
		db  23h	; #
		db  22h	; "
		db  1Fh
		db  1Bh
		db  1Eh
		db  1Ch
		db  18h
		db  18h
		db  1Bh
		db  1Ah
		db  15h
		db  16h
		db  2Fh	; /
		db  2Fh	; /
		db  2Bh	; +
		db  26h	; &
		db  28h	; (
		db  27h	; '
		db  25h	; %
		db  20h
		db  22h	; "
		db  24h	; $
		db  1Ch
		db  19h
		db  1Bh
		db  1Eh
		db  1Ch
		db  1Ah
		db  37h	; 7
		db  35h	; 5
		db  30h	; 0
		db  2Dh	; -
		db  30h	; 0
		db  2Eh	; .
		db  2Bh	; +
		db  2Bh	; +
		db  28h	; (
		db  2Bh	; +
		db  2Ch	; ,
		db  2Ah	; *
		db  24h	; $
		db  29h	; )
		db  22h	; "
		db  25h	; %
		db  40h	; @
		db  43h	; C
		db  39h	; 9
		db  3Eh	; >
		db  40h	; @
		db  3Fh	; ?
		db  39h	; 9
		db  34h	; 4
		db  35h	; 5
		db  36h	; 6
		db  38h	; 8
		db  38h	; 8
		db  36h	; 6
		db  31h	; 1
		db  37h	; 7
		db  33h	; 3
		db  49h	; I
		db  47h	; G
		db  48h	; H
		db  43h	; C
		db  45h	; E
		db  47h	; G
		db  40h	; @
		db  3Ch	; <
		db  3Fh	; ?
		db  3Dh	; =
		db  3Fh	; ?
		db  47h	; G
		db  42h	; B
		db  3Eh	; >
		db  34h	; 4
		db  3Ch	; <
		db  54h	; T
		db  55h	; U
		db  51h	; Q
		db  50h	; P
		db  4Dh	; M
		db  48h	; H
		db  4Ch	; L
		db  44h	; D
		db  49h	; I
		db  49h	; I
		db  4Bh	; K
		db  44h	; D
		db  49h	; I
		db  44h	; D
		db  42h	; B
		db  4Fh	; O
		db  5Ch	; \
		db  5Bh	; [
		db  5Ah	; Z
		db  5Bh	; [
		db  55h	; U
		db  50h	; P
		db  53h	; S
		db  51h	; Q
		db  51h	; Q
		db  50h	; P
		db  4Eh	; N
		db  47h	; G
		db  47h	; G
		db  45h	; E
		db  4Fh	; O
		db  5Ch	; \
		db  62h	; b
		db  64h	; d
		db  66h	; f
		db  5Eh	; ^
		db  5Dh	; ]
		db  5Ch	; \
		db  5Ch	; \
		db  5Ch	; \
		db  56h	; V
		db  53h	; S
		db  56h	; V
		db  55h	; U
		db  55h	; U
		db  52h	; R
		db  51h	; Q
		db  75h	; u
		db  6Ah	; j
		db  61h	; a
		db  63h	; c
		db  67h	; g
		db  62h	; b
		db  65h	; e
		db  61h	; a
		db  61h	; a
		db  60h	; `
		db  5Fh	; _
		db  5Fh	; _
		db  5Eh	; ^
		db  55h	; U
		db  65h	; e
		db  61h	; a
		db  74h	; t
		db  64h	; d
		db  66h	; f
		db  66h	; f
		db  68h	; h
		db  6Ch	; l
		db  6Ah	; j
		db  6Bh	; k
		db  6Ch	; l
		db  67h	; g
		db  62h	; b
		db  67h	; g
		db  65h	; e
		db  55h	; U
		db  62h	; b
		db  5Ch	; \
		db  7Eh	; ~
		db  64h	; d
		db  66h	; f
		db  66h	; f
		db  67h	; g
		db  6Bh	; k
		db  75h	; u
		db  70h	; p
		db  73h	; s
		db  71h	; q
		db  70h	; p
		db  6Dh	; m
		db  77h	; w
		db  66h	; f
		db  5Ah	; Z
		db  5Ah	; Z
		db  6Ch	; l
		db  64h	; d
		db  64h	; d
		db  66h	; f
		db  65h	; e
		db  69h	; i
		db  76h	; v
		db  79h	; y
		db  7Bh	; {
		db  76h	; v
		db  74h	; t
		db  79h	; y
		db  76h	; v
		db  7Eh	; ~
		db  6Ch	; l
		db  5Ah	; Z
		db  68h	; h
		db  64h	; d
		db  64h	; d
		db  66h	; f
		db  68h	; h
		db  6Bh	; k
		db  74h	; t
		db  80h	; А
		db  7Fh	; 
		db  81h	; Б
		db  80h	; А
		db  7Bh	; {
		db  89h	; Й
		db  74h	; t
		db  77h	; w
		db  68h	; h
		db  70h	; p
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  67h	; g
		db  5Fh	; _
		db  73h	; s
		db  84h	; Д
		db  88h	; И
		db  89h	; Й
		db  9Ch	; Ь
		db 0ACh	; м
		db 0B1h	; ▒
		db 0A4h	; д
		db  93h	; У
		db 0A6h	; ж
		db  89h	; Й
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  5Bh	; [
		db  63h	; c
		db  7Ch	; |
		db  88h	; И
		db  93h	; У
		db  9Fh	; Я
		db  9Eh	; Ю
		db 0A7h	; з
		db 0C8h	; ╚
		db 0B4h	; ┤
		db 0B1h	; ▒
		db 0A0h	; а
		db 0A8h	; и
		db  63h	; c
		db  4Fh	; O
		db  2Bh	; +
		db  26h	; &
		db  23h	; #
		db  2Ah	; *
		db  2Dh	; -
		db  21h	; !
		db  20h
		db  1Dh
		db  1Ch
		db  1Ah
		db  1Fh
		db  1Bh
		db  21h	; !
		db  2Bh	; +
		db  4Fh	; O
		db  3Bh	; ;
		db  30h	; 0
		db  2Dh	; -
		db  2Ah	; *
		db  2Dh	; -
		db  27h	; '
		db  1Dh
		db  22h	; "
		db  22h	; "
		db  1Eh
		db  1Fh
		db  24h	; $
		db  21h	; !
		db  30h	; 0
		db  20h
		db  41h	; A
		db  34h	; 4
		db  3Ah	; :
		db  38h	; 8
		db  2Fh	; /
		db  31h	; 1
		db  2Fh	; /
		db  22h	; "
		db  23h	; #
		db  20h
		db  23h	; #
		db  2Fh	; /
		db  40h	; @
		db  50h	; P
		db  40h	; @
		db  56h	; V
		db  52h	; R
		db  3Eh	; >
		db  34h	; 4
		db  3Dh	; =
		db  38h	; 8
		db  34h	; 4
		db  34h	; 4
		db  29h	; )
		db  31h	; 1
		db  2Ah	; *
		db  28h	; (
		db  46h	; F
		db  44h	; D
		db  40h	; @
		db  30h	; 0
		db  3Fh	; ?
		db  56h	; V
		db  3Dh	; =
		db  33h	; 3
		db  3Dh	; =
		db  44h	; D
		db  42h	; B
		db  36h	; 6
		db  33h	; 3
		db  36h	; 6
		db  38h	; 8
		db  2Ch	; ,
		db  2Ah	; *
		db  36h	; 6
		db  31h	; 1
		db  3Ah	; :
		db  17h
		db  52h	; R
		db  47h	; G
		db  3Dh	; =
		db  47h	; G
		db  42h	; B
		db  47h	; G
		db  3Dh	; =
		db  33h	; 3
		db  38h	; 8
		db  32h	; 2
		db  2Ah	; *
		db  23h	; #
		db  2Ah	; *
		db  3Ah	; :
		db  44h	; D
		db  1Dh
		db  59h	; Y
		db  55h	; U
		db  49h	; I
		db  48h	; H
		db  5Bh	; [
		db  50h	; P
		db  47h	; G
		db  40h	; @
		db  47h	; G
		db  3Ch	; <
		db  31h	; 1
		db  51h	; Q
		db  6Ch	; l
		db  51h	; Q
		db  4Dh	; M
		db  17h
		db  63h	; c
		db  63h	; c
		db  5Ah	; Z
		db  4Fh	; O
		db  57h	; W
		db  57h	; W
		db  54h	; T
		db  48h	; H
		db  54h	; T
		db  53h	; S
		db  52h	; R
		db  6Ch	; l
		db  88h	; И
		db  6Ch	; l
		db  4Fh	; O
		db  28h	; (
		db  5Eh	; ^
		db  50h	; P
		db  56h	; V
		db  59h	; Y
		db  5Dh	; ]
		db  65h	; e
		db  6Ah	; j
		db  68h	; h
		db  6Ah	; j
		db  68h	; h
		db  67h	; g
		db  53h	; S
		db  6Ch	; l
		db  58h	; X
		db  75h	; u
		db  58h	; X
		db  5Ch	; \
		db  64h	; d
		db  59h	; Y
		db  65h	; e
		db  62h	; b
		db  66h	; f
		db  72h	; r
		db  7Ah	; z
		db  6Bh	; k
		db  70h	; p
		db  69h	; i
		db  90h	; Р
		db  85h	; Е
		db  75h	; u
		db  93h	; У
		db  75h	; u
		db  64h	; d
		db  63h	; c
		db  65h	; e
		db  66h	; f
		db  67h	; g
		db  6Bh	; k
		db  73h	; s
		db  77h	; w
		db  75h	; u
		db  86h	; Ж
		db  9Ch	; Ь
		db 0BFh	; ┐
		db 0A7h	; з
		db  8Eh	; О
		db  86h	; Ж
		db  81h	; Б
		db  64h	; d
		db  64h	; d
		db  66h	; f
		db  63h	; c
		db  67h	; g
		db  6Ch	; l
		db  65h	; e
		db  72h	; r
		db  94h	; Ф
		db 0AFh	; п
		db 0C3h	; ├
		db 0C4h	; ─
		db  9Fh	; Я
		db  9Bh	; Ы
		db  9Fh	; Я
		db  74h	; t
		db  64h	; d
		db  64h	; d
		db  66h	; f
		db  68h	; h
		db  65h	; e
		db  6Ah	; j
		db  6Fh	; o
		db  76h	; v
		db  81h	; Б
		db  92h	; Т
		db 0A3h	; г
		db 0BFh	; ┐
		db 0B5h	; ╡
		db 0ABh	; л
		db 0BAh	; ║
		db  9Bh	; Ы
		db  66h	; f
		db  66h	; f
		db  6Ah	; j
		db  66h	; f
		db  68h	; h
		db  6Bh	; k
		db  6Eh	; n
		db  6Bh	; k
		db  82h	; В
		db 0A3h	; г
		db  98h	; Ш
		db 0B5h	; ╡
		db 0A8h	; и
		db 0B9h	; ╣
		db 0A9h	; й
		db  87h	; З
		db  64h	; d
		db  66h	; f
		db  66h	; f
		db  67h	; g
		db  68h	; h
		db  6Ah	; j
		db  6Eh	; n
		db  6Ah	; j
		db  7Eh	; ~
		db  99h	; Щ
		db 0ACh	; м
		db 0D8h	; ╪
		db 0ACh	; м
		db 0B4h	; ┤
		db 0A2h	; в
		db 0A9h	; й
		db  64h	; d
		db  66h	; f
		db  66h	; f
		db  68h	; h
		db  6Ah	; j
		db  6Fh	; o
		db  6Fh	; o
		db  7Dh	; }
		db  9Dh	; Э
		db 0B6h	; ╢
		db 0BCh	; ╝
		db 0BCh	; ╝
		db 0B8h	; ╕
		db 0B1h	; ▒
		db  9Fh	; Я
		db 0B2h	; ▓
		db 0A1h	; б		; Тарировка ДТОГ (EGT)
		db  9Fh	; Я
		db  9Eh	; Ю
		db  9Ch	; Ь
		db  9Ah	; Ъ
		db  99h	; Щ
		db  98h	; Ш
		db  97h	; Ч
		db  95h	; Х
		db  94h	; Ф
		db  93h	; У
		db  92h	; Т
		db  90h	; Р
		db  8Fh	; П
		db  8Dh	; Н
		db  8Ch	; М
		db  8Bh	; Л
		db  89h	; Й
		db  88h	; И
		db  86h	; Ж
		db  85h	; Е
		db  83h	; Г
		db  82h	; В
		db  80h	; А
		db  7Fh	; 
		db  7Eh	; ~
		db  7Ch	; |
		db  7Bh	; {
		db  7Ah	; z
		db  7Ah	; z
		db  79h	; y
		db  78h	; x
		db  78h	; x
		db  77h	; w
		db  77h	; w
		db  76h	; v
		db  75h	; u
		db  75h	; u
		db  74h	; t
		db  73h	; s
		db  73h	; s
		db  72h	; r
		db  72h	; r
		db  71h	; q
		db  71h	; q
		db  71h	; q
		db  70h	; p
		db  70h	; p
		db  70h	; p
		db  6Fh	; o
		db  6Fh	; o
		db  6Fh	; o
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Dh	; m
		db  6Dh	; m
		db  6Ch	; l
		db  6Ch	; l
		db  6Ch	; l
		db  6Bh	; k
		db  6Bh	; k
		db  6Ah	; j
		db  6Ah	; j
		db  6Ah	; j
		db  69h	; i
		db  69h	; i
		db  69h	; i
		db  69h	; i
		db  69h	; i
		db  68h	; h
		db  68h	; h
		db  68h	; h
		db  68h	; h
		db  67h	; g
		db  67h	; g
		db  67h	; g
		db  67h	; g
		db  66h	; f
		db  66h	; f
		db  66h	; f
		db  66h	; f
		db  65h	; e
		db  65h	; e
		db  65h	; e
		db  65h	; e
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  63h	; c
		db  63h	; c
		db  63h	; c
		db  63h	; c
		db  62h	; b
		db  62h	; b
		db  62h	; b
		db  62h	; b
		db  61h	; a
		db  61h	; a
		db  61h	; a
		db  61h	; a
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  5Fh	; _
		db  5Fh	; _
		db  5Fh	; _
		db  5Fh	; _
		db  5Fh	; _
		db  5Eh	; ^
		db  5Eh	; ^
		db  5Eh	; ^
		db  5Eh	; ^
		db  5Dh	; ]
		db  5Dh	; ]
		db  5Dh	; ]
		db  5Dh	; ]
		db  5Ch	; \
		db  5Ch	; \
		db  5Ch	; \
		db  5Ch	; \
		db  5Bh	; [
		db  5Bh	; [
		db  5Bh	; [
		db  5Bh	; [
		db  5Ah	; Z
		db  5Ah	; Z
		db  5Ah	; Z
		db  5Ah	; Z
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  58h	; X
		db  58h	; X
		db  58h	; X
		db  58h	; X
		db  58h	; X
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  56h	; V
		db  56h	; V
		db  56h	; V
		db  56h	; V
		db  55h	; U
		db  55h	; U
		db  55h	; U
		db  55h	; U
		db  54h	; T
		db  54h	; T
		db  54h	; T
		db  54h	; T
		db  53h	; S
		db  53h	; S
		db  53h	; S
		db  53h	; S
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  51h	; Q
		db  51h	; Q
		db  51h	; Q
		db  51h	; Q
		db  51h	; Q
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  4Fh	; O
		db  4Fh	; O
		db  4Fh	; O
		db  4Fh	; O
		db  4Eh	; N
		db  4Eh	; N
		db  4Eh	; N
		db  4Eh	; N
		db  4Dh	; M
		db  4Dh	; M
		db  4Dh	; M
		db  4Dh	; M
		db  4Ch	; L
		db  4Ch	; L
		db  4Ch	; L
		db  4Ch	; L
		db  4Bh	; K
		db  4Bh	; K
		db  4Bh	; K
		db  4Ah	; J
		db  4Ah	; J
		db  49h	; I
		db  49h	; I
		db  48h	; H
		db  48h	; H
		db  48h	; H
		db  47h	; G
		db  47h	; G
		db  46h	; F
		db  46h	; F
		db  45h	; E
		db  45h	; E
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  43h	; C
		db  43h	; C
		db  42h	; B
		db  42h	; B
		db  41h	; A
		db  41h	; A
		db  41h	; A
		db  40h	; @
		db  40h	; @
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db  3Dh	; =
		db  3Dh	; =
		db  3Dh	; =
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Bh	; ;
		db  3Bh	; ;
		db  3Bh	; ;
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  39h	; 9
		db  39h	; 9
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  37h	; 7
		db  37h	; 7
		db  37h	; 7
		db  36h	; 6
		db  36h	; 6
		db  35h	; 5
		db  35h	; 5
		db  34h	; 4
		db  34h	; 4
		db  34h	; 4
		db  33h	; 3
		db  33h	; 3
		db  32h	; 2
		db  32h	; 2
		db  31h	; 1
		db  31h	; 1
		db 0F8h	; °
		db 0F8h	; °
		db 0F8h	; °
		db 0F8h	; °
		db 0F9h	; ∙
		db 0FBh	; √
		db 0FCh	; №
		db 0FEh	; ■
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  0Eh
		db    7
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db  80h	; А
		db  80h	; А
		db  7Ch	; |
		db  7Ah	; z
		db  7Ah	; z
		db  7Dh	; }
		db  81h	; Б
		db  85h	; Е
		db  86h	; Ж
		db  7Dh	; }
		db  77h	; w
		db  77h	; w
		db  76h	; v
		db  73h	; s
		db  72h	; r
		db  6Fh	; o
		db  80h	; А
		db  80h	; А
		db  7Ah	; z
		db  79h	; y
		db  79h	; y
		db  7Ch	; |
		db  80h	; А
		db  84h	; Д
		db  85h	; Е
		db  7Ch	; |
		db  77h	; w
		db  76h	; v
		db  76h	; v
		db  73h	; s
		db  72h	; r
		db  6Fh	; o
		db  80h	; А
		db  80h	; А
		db  79h	; y
		db  78h	; x
		db  78h	; x
		db  7Bh	; {
		db  7Eh	; ~
		db  83h	; Г
		db  85h	; Е
		db  7Ch	; |
		db  77h	; w
		db  76h	; v
		db  76h	; v
		db  73h	; s
		db  72h	; r
		db  6Fh	; o
		db  80h	; А
		db  7Fh	; 
		db  77h	; w
		db  77h	; w
		db  77h	; w
		db  7Bh	; {
		db  7Eh	; ~
		db  81h	; Б
		db  84h	; Д
		db  7Dh	; }
		db  77h	; w
		db  76h	; v
		db  76h	; v
		db  73h	; s
		db  72h	; r
		db  6Fh	; o
		db  80h	; А
		db  7Eh	; ~
		db  76h	; v
		db  75h	; u
		db  76h	; v
		db  7Ah	; z
		db  7Eh	; ~
		db  80h	; А
		db  83h	; Г
		db  7Ch	; |
		db  77h	; w
		db  76h	; v
		db  76h	; v
		db  73h	; s
		db  72h	; r
		db  6Fh	; o
		db  80h	; А
		db  7Dh	; }
		db  75h	; u
		db  75h	; u
		db  76h	; v
		db  79h	; y
		db  7Dh	; }
		db  80h	; А
		db  82h	; В
		db  7Ch	; |
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  73h	; s
		db  72h	; r
		db  6Fh	; o
		db  80h	; А
		db  7Dh	; }
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  77h	; w
		db  7Ch	; |
		db  7Fh	; 
		db  81h	; Б
		db  7Bh	; {
		db  75h	; u
		db  74h	; t
		db  75h	; u
		db  73h	; s
		db  71h	; q
		db  6Fh	; o
		db  80h	; А
		db  7Ch	; |
		db  72h	; r
		db  71h	; q
		db  72h	; r
		db  75h	; u
		db  79h	; y
		db  7Eh	; ~
		db  80h	; А
		db  79h	; y
		db  74h	; t
		db  73h	; s
		db  73h	; s
		db  72h	; r
		db  71h	; q
		db  70h	; p
		db  80h	; А
		db  7Ch	; |
		db  71h	; q
		db  70h	; p
		db  71h	; q
		db  72h	; r
		db  75h	; u
		db  7Ah	; z
		db  7Ah	; z
		db  77h	; w
		db  73h	; s
		db  71h	; q
		db  71h	; q
		db  70h	; p
		db  6Fh	; o
		db  6Dh	; m
		db  80h	; А
		db  7Ch	; |
		db  70h	; p
		db  6Fh	; o
		db  6Fh	; o
		db  6Fh	; o
		db  72h	; r
		db  76h	; v
		db  76h	; v
		db  75h	; u
		db  70h	; p
		db  6Fh	; o
		db  6Fh	; o
		db  6Dh	; m
		db  6Ch	; l
		db  6Bh	; k
		db  80h	; А
		db  7Dh	; }
		db  6Fh	; o
		db  6Dh	; m
		db  6Ch	; l
		db  6Dh	; m
		db  6Eh	; n
		db  70h	; p
		db  70h	; p
		db  6Fh	; o
		db  6Dh	; m
		db  6Bh	; k
		db  6Bh	; k
		db  6Ah	; j
		db  68h	; h
		db  66h	; f
		db  80h	; А
		db  7Dh	; }
		db  6Eh	; n
		db  6Bh	; k
		db  6Bh	; k
		db  6Bh	; k
		db  6Bh	; k
		db  6Ah	; j
		db  6Ah	; j
		db  6Ah	; j
		db  69h	; i
		db  67h	; g
		db  65h	; e
		db  63h	; c
		db  61h	; a
		db  5Fh	; _
		db  80h	; А
		db  7Dh	; }
		db  6Dh	; m
		db  6Ah	; j
		db  69h	; i
		db  68h	; h
		db  67h	; g
		db  66h	; f
		db  65h	; e
		db  64h	; d
		db  63h	; c
		db  60h	; `
		db  5Fh	; _
		db  5Ch	; \
		db  5Ah	; Z
		db  59h	; Y
		db  80h	; А
		db  7Dh	; }
		db  6Dh	; m
		db  69h	; i
		db  67h	; g
		db  66h	; f
		db  65h	; e
		db  64h	; d
		db  63h	; c
		db  62h	; b
		db  61h	; a
		db  5Eh	; ^
		db  5Bh	; [
		db  59h	; Y
		db  56h	; V
		db  55h	; U
		db  80h	; А
		db  7Dh	; }
		db  6Ch	; l
		db  68h	; h
		db  66h	; f
		db  65h	; e
		db  64h	; d
		db  62h	; b
		db  61h	; a
		db  60h	; `
		db  5Fh	; _
		db  5Ch	; \
		db  58h	; X
		db  55h	; U
		db  53h	; S
		db  52h	; R
		db  80h	; А
		db  7Dh	; }
		db  6Ah	; j
		db  67h	; g
		db  65h	; e
		db  64h	; d
		db  63h	; c
		db  61h	; a
		db  60h	; `
		db  5Fh	; _
		db  5Dh	; ]
		db  5Bh	; [
		db  56h	; V
		db  54h	; T
		db  51h	; Q
		db  51h	; Q
		db  18h
		db  1Ah
		db  1Dh
		db  1Fh
		db  21h	; !
		db  24h	; $
		db  26h	; &
		db  29h	; )
		db  2Bh	; +
		db  2Dh	; -
		db  30h	; 0
		db  32h	; 2
		db  34h	; 4
		db  37h	; 7
		db  39h	; 9
		db  3Ch	; <
		db  3Eh	; >
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db    0
		db  0Bh
		db  16h
		db  21h	; !
		db  2Ch	; ,
		db  37h	; 7
		db  42h	; B
		db  4Dh	; M
		db  58h	; X
		db  63h	; c
		db  6Eh	; n
		db  7Ah	; z
		db  85h	; Е
		db  90h	; Р
		db  9Bh	; Ы
		db 0A6h	; ж
		db 0B1h	; ▒
		db 0BCh	; ╝
		db 0C7h	; ╟
		db 0D2h	; ╥
		db 0DEh	; ▐
		db 0E9h	; щ
		db 0F4h	; Ї
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db 0C4h	; ─
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Fh	; /
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  17h
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  66h	; f
		db  66h	; f
		db  66h	; f
		db  66h	; f
		db  66h	; f
		db  66h	; f
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  72h	; r
		db  66h	; f
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  7Fh	; 
		db  7Fh	; 
		db  7Fh	; 
		db  84h	; Д
		db  85h	; Е
		db  87h	; З
		db  89h	; Й
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  71h	; q
		db  66h	; f
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  59h	; Y
		db  65h	; e
		db  71h	; q
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  89h	; Й
		db  89h	; Й
		db  86h	; Ж
		db  7Dh	; }
		db  6Fh	; o
		db  67h	; g
		db  63h	; c
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  53h	; S
		db  54h	; T
		db  54h	; T
		db  62h	; b
		db  66h	; f
		db  6Eh	; n
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  6Eh	; n
		db  67h	; g
		db  63h	; c
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  52h	; R
		db  53h	; S
		db  53h	; S
		db  5Fh	; _
		db  62h	; b
		db  62h	; b
		db  71h	; q
		db  76h	; v
		db  76h	; v
		db  6Ch	; l
		db  67h	; g
		db  63h	; c
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  51h	; Q
		db  52h	; R
		db  56h	; V
		db  5Eh	; ^
		db  5Fh	; _
		db  60h	; `
		db  69h	; i
		db  71h	; q
		db  6Bh	; k
		db  69h	; i
		db  68h	; h
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  51h	; Q
		db  51h	; Q
		db  55h	; U
		db  5Ch	; \
		db  5Eh	; ^
		db  5Eh	; ^
		db  65h	; e
		db  6Dh	; m
		db  68h	; h
		db  67h	; g
		db  67h	; g
		db  67h	; g
		db  67h	; g
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  50h	; P
		db  50h	; P
		db  55h	; U
		db  5Bh	; [
		db  5Ch	; \
		db  5Eh	; ^
		db  62h	; b
		db  63h	; c
		db  62h	; b
		db  61h	; a
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  50h	; P
		db  50h	; P
		db  55h	; U
		db  5Ch	; \
		db  5Eh	; ^
		db  5Fh	; _
		db  62h	; b
		db  62h	; b
		db  61h	; a
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  50h	; P
		db  50h	; P
		db  56h	; V
		db  5Ch	; \
		db  5Eh	; ^
		db  5Fh	; _
		db  60h	; `
		db  62h	; b
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  52h	; R
		db  56h	; V
		db  5Bh	; [
		db  5Eh	; ^
		db  61h	; a
		db  62h	; b
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  52h	; R
		db  55h	; U
		db  57h	; W
		db  59h	; Y
		db  5Ch	; \
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  52h	; R
		db  55h	; U
		db  57h	; W
		db  59h	; Y
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  22h	; "
		db  28h	; (
		db  2Ch	; ,
		db  2Ch	; ,
		db  2Ch	; ,
		db  2Eh	; .
		db  30h	; 0
		db    4
		db    8
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ch
		db  12h
		db  16h
		db  1Ch
		db  20h
		db  26h	; &
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ch	; ,
		db  2Ch	; ,
		db    2
		db    8
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ch
		db  12h
		db  14h
		db  1Ch
		db  20h
		db  24h	; $
		db  28h	; (
		db  28h	; (
		db  28h	; (
		db  2Ah	; *
		db  2Ah	; *
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  36h	; 6
		db  3Dh	; =
		db  3Dh	; =
		db  41h	; A
		db  44h	; D
		db  59h	; Y
		db  5Ah	; Z
		db  5Bh	; [
		db  5Ch	; \
		db  5Ch	; \
		db  5Ch	; \
		db  5Ch	; \
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  36h	; 6
		db  3Dh	; =
		db  3Dh	; =
		db  41h	; A
		db  44h	; D
		db  59h	; Y
		db  5Ah	; Z
		db  5Bh	; [
		db  5Ch	; \
		db  5Ch	; \
		db  5Ch	; \
		db  5Ch	; \
		db  24h	; $
		db  24h	; $
		db  2Fh	; /
		db  32h	; 2
		db  36h	; 6
		db  3Dh	; =
		db  3Dh	; =
		db  41h	; A
		db  44h	; D
		db  59h	; Y
		db  5Ah	; Z
		db  5Bh	; [
		db  5Ch	; \
		db  5Ch	; \
		db  5Ch	; \
		db  5Ch	; \
		db  1Ch
		db  1Ch
		db  28h	; (
		db  32h	; 2
		db  36h	; 6
		db  3Dh	; =
		db  3Dh	; =
		db  41h	; A
		db  44h	; D
		db  56h	; V
		db  58h	; X
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  13h
		db  13h
		db  1Fh
		db  31h	; 1
		db  35h	; 5
		db  3Ch	; <
		db  3Ch	; <
		db  40h	; @
		db  44h	; D
		db  52h	; R
		db  54h	; T
		db  55h	; U
		db  55h	; U
		db  4Ch	; L
		db  4Ch	; L
		db  4Ch	; L
		db    9
		db    9
		db  13h
		db  2Bh	; +
		db  28h	; (
		db  33h	; 3
		db  39h	; 9
		db  3Dh	; =
		db  42h	; B
		db  4Dh	; M
		db  4Fh	; O
		db  4Ch	; L
		db  48h	; H
		db  42h	; B
		db  42h	; B
		db  42h	; B
		db    0
		db    0
		db    6
		db  18h
		db  20h
		db  2Dh	; -
		db  33h	; 3
		db  38h	; 8
		db  3Eh	; >
		db  46h	; F
		db  48h	; H
		db  44h	; D
		db  40h	; @
		db  38h	; 8
		db  3Ch	; <
		db  3Ch	; <
		db    0
		db    0
		db    6
		db  11h
		db  1Ah
		db  26h	; &
		db  2Ah	; *
		db  2Fh	; /
		db  38h	; 8
		db  40h	; @
		db  3Fh	; ?
		db  3Dh	; =
		db  3Bh	; ;
		db  31h	; 1
		db  39h	; 9
		db  39h	; 9
		db    0
		db    0
		db    6
		db  0Ch
		db  16h
		db  1Ch
		db  20h
		db  2Ah	; *
		db  33h	; 3
		db  37h	; 7
		db  39h	; 9
		db  37h	; 7
		db  35h	; 5
		db  2Fh	; /
		db  36h	; 6
		db  36h	; 6
		db    0
		db    0
		db    6
		db  0Bh
		db  12h
		db  18h
		db  1Ch
		db  26h	; &
		db  2Ch	; ,
		db  34h	; 4
		db  36h	; 6
		db  32h	; 2
		db  32h	; 2
		db  2Eh	; .
		db  34h	; 4
		db  34h	; 4
		db    0
		db    0
		db    6
		db  0Ah
		db  10h
		db  16h
		db  1Ah
		db  24h	; $
		db  29h	; )
		db  32h	; 2
		db  35h	; 5
		db  2Eh	; .
		db  30h	; 0
		db  2Dh	; -
		db  33h	; 3
		db  33h	; 3
		db    0
		db    0
		db    6
		db    8
		db  0Eh
		db  14h
		db  18h
		db  22h	; "
		db  26h	; &
		db  31h	; 1
		db  34h	; 4
		db  2Dh	; -
		db  2Fh	; /
		db  2Ch	; ,
		db  33h	; 3
		db  33h	; 3
		db    0
		db    0
		db    6
		db    7
		db  0Ch
		db  12h
		db  16h
		db  1Fh
		db  23h	; #
		db  2Fh	; /
		db  33h	; 3
		db  2Ch	; ,
		db  2Eh	; .
		db  2Bh	; +
		db  32h	; 2
		db  32h	; 2
		db    0
		db    0
		db    6
		db    6
		db  0Bh
		db  10h
		db  13h
		db  1Ch
		db  1Fh
		db  2Dh	; -
		db  31h	; 1
		db  2Bh	; +
		db  2Dh	; -
		db  29h	; )
		db  30h	; 0
		db  36h	; 6
		db  38h	; 8
		db  3Bh	; ;
		db  3Dh	; =
		db  40h	; @
		db  42h	; B
		db  45h	; E
		db  47h	; G
		db  4Ah	; J
		db  4Ch	; L
		db  4Fh	; O
		db  51h	; Q
		db  54h	; T
		db  56h	; V
		db  59h	; Y
		db  5Bh	; [
		db  5Dh	; ]
		db  60h	; `
		db  62h	; b
		db  65h	; e
		db  67h	; g
		db  6Ah	; j
		db  6Ch	; l
		db  6Fh	; o
		db  71h	; q
		db  74h	; t
		db  76h	; v
		db  79h	; y
		db  7Bh	; {
		db  7Eh	; ~
		db  80h	; А
		db  84h	; Д
		db  88h	; И
		db  23h	; #		; УОЗ базовое
		db  24h	; $
		db  27h	; '
		db  2Ch	; ,
		db  34h	; 4
		db  42h	; B
		db  48h	; H
		db  45h	; E
		db  47h	; G
		db  4Ch	; L
		db  51h	; Q
		db  55h	; U
		db  57h	; W
		db  58h	; X
		db  58h	; X
		db  58h	; X
		db  22h	; "
		db  24h	; $
		db  26h	; &
		db  2Bh	; +
		db  33h	; 3
		db  41h	; A
		db  48h	; H
		db  45h	; E
		db  47h	; G
		db  4Ch	; L
		db  51h	; Q
		db  55h	; U
		db  57h	; W
		db  58h	; X
		db  58h	; X
		db  58h	; X
		db  20h
		db  22h	; "
		db  25h	; %
		db  2Ah	; *
		db  32h	; 2
		db  40h	; @
		db  46h	; F
		db  45h	; E
		db  47h	; G
		db  4Ch	; L
		db  51h	; Q
		db  55h	; U
		db  57h	; W
		db  58h	; X
		db  58h	; X
		db  58h	; X
		db  1Eh
		db  20h
		db  23h	; #
		db  28h	; (
		db  30h	; 0
		db  3Eh	; >
		db  45h	; E
		db  44h	; D
		db  46h	; F
		db  4Bh	; K
		db  50h	; P
		db  54h	; T
		db  56h	; V
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  1Dh
		db  1Eh
		db  21h	; !
		db  26h	; &
		db  2Eh	; .
		db  3Bh	; ;
		db  43h	; C
		db  43h	; C
		db  46h	; F
		db  4Ah	; J
		db  4Fh	; O
		db  53h	; S
		db  55h	; U
		db  56h	; V
		db  57h	; W
		db  56h	; V
		db  1Bh
		db  1Ch
		db  1Fh
		db  24h	; $
		db  2Ch	; ,
		db  39h	; 9
		db  41h	; A
		db  42h	; B
		db  45h	; E
		db  49h	; I
		db  4Eh	; N
		db  52h	; R
		db  54h	; T
		db  55h	; U
		db  55h	; U
		db  55h	; U
		db  1Ah
		db  1Bh
		db  1Dh
		db  22h	; "
		db  29h	; )
		db  36h	; 6
		db  3Eh	; >
		db  40h	; @
		db  44h	; D
		db  48h	; H
		db  4Ch	; L
		db  51h	; Q
		db  53h	; S
		db  54h	; T
		db  54h	; T
		db  54h	; T
		db  19h
		db  1Ah
		db  1Ch
		db  1Fh
		db  26h	; &
		db  32h	; 2
		db  3Bh	; ;
		db  3Fh	; ?
		db  43h	; C
		db  47h	; G
		db  4Ah	; J
		db  4Eh	; N
		db  51h	; Q
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  18h
		db  19h
		db  1Bh
		db  1Eh
		db  24h	; $
		db  2Fh	; /
		db  38h	; 8
		db  3Dh	; =
		db  41h	; A
		db  44h	; D
		db  48h	; H
		db  4Bh	; K
		db  4Eh	; N
		db  4Fh	; O
		db  4Fh	; O
		db  4Fh	; O
		db  18h
		db  18h
		db  1Ah
		db  1Dh
		db  23h	; #
		db  2Ch	; ,
		db  35h	; 5
		db  3Bh	; ;
		db  3Fh	; ?
		db  42h	; B
		db  44h	; D
		db  48h	; H
		db  4Bh	; K
		db  4Ch	; L
		db  4Ch	; L
		db  4Bh	; K
		db  18h
		db  18h
		db  19h
		db  1Ch
		db  22h	; "
		db  2Bh	; +
		db  33h	; 3
		db  3Ah	; :
		db  3Ch	; <
		db  40h	; @
		db  42h	; B
		db  45h	; E
		db  48h	; H
		db  49h	; I
		db  49h	; I
		db  48h	; H
		db  18h
		db  18h
		db  19h
		db  1Bh
		db  21h	; !
		db  29h	; )
		db  32h	; 2
		db  38h	; 8
		db  3Dh	; =
		db  3Eh	; >
		db  3Fh	; ?
		db  43h	; C
		db  46h	; F
		db  46h	; F
		db  46h	; F
		db  45h	; E
		db  18h
		db  18h
		db  19h
		db  1Bh
		db  20h
		db  29h	; )
		db  31h	; 1
		db  38h	; 8
		db  3Ch	; <
		db  3Dh	; =
		db  3Eh	; >
		db  41h	; A
		db  44h	; D
		db  45h	; E
		db  45h	; E
		db  44h	; D
		db  18h
		db  18h
		db  19h
		db  1Bh
		db  20h
		db  29h	; )
		db  31h	; 1
		db  38h	; 8
		db  3Ch	; <
		db  3Dh	; =
		db  3Dh	; =
		db  40h	; @
		db  44h	; D
		db  44h	; D
		db  43h	; C
		db  43h	; C
		db  18h
		db  18h
		db  19h
		db  93h	; У
		db 0B3h	; │
		db  97h	; Ч
		db 0B8h	; ╕
		db  97h	; Ч
		db  11h
		db  11h
		db  13h
		db  40h	; @
		db  43h	; C
		db  43h	; C
		db  43h	; C
		db  42h	; B
		db  18h
		db  18h
		db  19h
		db 0B3h	; │
		db 0D3h	; ╙
		db 0B8h	; ╕
		db 0D9h	; ┘
		db 0B8h	; ╕
		db  0Fh
		db  0Fh
		db  11h
		db  3Fh	; ?
		db  42h	; B
		db  42h	; B
		db  42h	; B
		db  41h	; A
		db    0			; Коррекция УОЗ	по температуре ОЖ
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db 14h,	14h, 14h, 14h, 14h, 14h, 15h, 17h, 19h,	1Ah, 1Bh ; Зона	регулирования по дросселю
		db 1Eh,	20h, 22h, 25h, 28h, 2Bh, 2Eh, 31h, 32h,	32h, 32h
		db 32h,	32h, 32h, 32h, 32h, 32h, 32h, 32h, 32h,	32h
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    3
		db    5
		db    8
		db  0Ch
		db  10h
		db  14h
		db  17h
		db  1Ah
		db  1Dh
		db  20h
		db  23h	; #
		db  26h	; &
		db  29h	; )
		db  2Ch	; ,
		db  2Fh	; /
		db  32h	; 2
		db  35h	; 5
		db  38h	; 8
		db  3Bh	; ;
		db  3Eh	; >
		db  41h	; A
		db  45h	; E
		db  49h	; I
		db  4Ch	; L
		db  4Eh	; N
		db  50h	; P
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  3Fh	; ?
		db  3Eh	; >
		db  3Ch	; <
		db  38h	; 8
		db  34h	; 4
		db  30h	; 0
		db  2Ch	; ,
		db  28h	; (
		db  23h	; #
		db  1Eh
		db  1Ch
		db  1Ah
		db  18h
		db  16h
		db  14h
		db  12h
		db  10h
		db  0Eh
		db  0Ch
		db  0Ah
		db    8
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db 0B9h	; ╣
		db 0B9h	; ╣
		db 0B8h	; ╕
		db 0B7h	; ╖
		db 0B6h	; ╢
		db 0B5h	; ╡
		db 0B3h	; │
		db 0B1h	; ▒
		db 0AEh	; о
		db 0ACh	; м
		db 0A9h	; й
		db 0A5h	; е
		db 0A2h	; в
		db  9Eh	; Ю
		db  99h	; Щ
		db  95h	; Х
		db  90h	; Р
		db  8Ah	; К
		db  85h	; Е
		db  7Fh	; 
		db  79h	; y
		db  72h	; r
		db  6Bh	; k
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  6Eh	; n
		db  72h	; r
		db  72h	; r
		db  72h	; r
		db  72h	; r
		db  72h	; r
		db  24h	; $		; УОЗ на ХХ
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db  25h	; %
		db  26h	; &
		db  28h	; (
		db  29h	; )
		db  2Ah	; *
		db  2Bh	; +
		db  2Ch	; ,
		db  2Dh	; -
		db  2Eh	; .
		db  2Eh	; .
		db  2Fh	; /
		db  30h	; 0
		db  31h	; 1
		db  31h	; 1
		db  32h	; 2
		db  32h	; 2
		db  33h	; 3
		db  33h	; 3
		db  34h	; 4
		db  35h	; 5
		db  36h	; 6
		db  36h	; 6
		db  36h	; 6
		db 0F5h	; ї		; Коррекция УОЗ	на ХХ
		db 0F5h	; ї
		db 0F6h	; Ў
		db 0F6h	; Ў
		db 0F7h	; ў
		db 0F7h	; ў
		db 0F8h	; °
		db 0F8h	; °
		db 0F9h	; ∙
		db 0F9h	; ∙
		db 0FAh	; ·
		db 0FAh	; ·
		db 0FBh	; √
		db 0FBh	; √
		db 0FCh	; №
		db 0FCh	; №
		db 0FDh	; ¤
		db 0FDh	; ¤
		db 0FEh	; ■
		db 0FEh	; ■
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  14h			; УОЗ при отключении подачи топлива
		db  14h
		db  14h
		db  14h
		db  17h
		db  19h
		db  1Bh
		db  1Ch
		db  1Eh
		db  1Fh
		db  20h
		db  21h	; !
		db  22h	; "
		db  23h	; #
		db  25h	; %
		db  26h	; &
		db  27h	; '
		db  28h	; (
		db  29h	; )
		db  29h	; )
		db  2Ah	; *
		db  2Bh	; +
		db  2Ch	; ,
		db  2Dh	; -
		db  2Eh	; .
		db  2Fh	; /
		db  30h	; 0
		db  31h	; 1
		db  31h	; 1
		db  32h	; 2
		db  33h	; 3
		db  34h	; 4
		db  91h	; С		; Желаемое положение РХХ
		db  91h	; С
		db  91h	; С
		db  91h	; С
		db  91h	; С
		db  91h	; С
		db  91h	; С
		db  91h	; С
		db  90h	; Р
		db  8Eh	; О
		db  8Ch	; М
		db  8Ah	; К
		db  87h	; З
		db  83h	; Г
		db  7Fh	; 
		db  7Ah	; z
		db  75h	; u
		db  6Fh	; o
		db  68h	; h
		db  61h	; a
		db  56h	; V
		db  4Ah	; J
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  46h	; F
		db 0A7h	; з		; Жесткость регулятора частоты вращения
		db  72h	; r
		db  40h	; @
		db  60h	; `
		db  88h	; И
		db 0B0h	; ░
		db 0D8h	; ╪
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0C0h	; └
		db  80h	; А
		db  40h	; @
		db  40h	; @
		db  70h	; p
		db 0A0h	; а
		db 0D0h	; ╨
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0E4h	; ф
		db  92h	; Т
		db  40h	; @
		db  40h	; @
		db  70h	; p
		db 0A0h	; а
		db 0D0h	; ╨
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0F6h	; Ў
		db 0A7h	; з
		db  40h	; @
		db  40h	; @
		db  61h	; a
		db  93h	; У
		db 0CAh	; ╩
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db  9Fh	; Я
		db  40h	; @
		db  40h	; @
		db  70h	; p
		db 0A0h	; а
		db 0D0h	; ╨
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db  9Fh	; Я
		db  40h	; @
		db  40h	; @
		db  80h	; А
		db 0C0h	; └
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db  9Ch	; Ь
		db 0E1h	; с
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db 0C4h	; ─
		db 0F7h	; ў
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db  80h	; А
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db  80h	; А
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db  62h	; b
		db  62h	; b
		db  62h	; b
		db  58h	; X
		db  4Eh	; N
		db  44h	; D
		db  3Eh	; >
		db  38h	; 8
		db  2Dh	; -
		db  21h	; !
		db  19h
		db  14h
		db  11h
		db  0Fh
		db  0Dh
		db  0Bh
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Ch
		db  0Dh
		db  0Dh
		db  0Eh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FEh	; ■
		db 0FDh	; ¤
		db 0FCh	; №
		db 0FBh	; √
		db 0FAh	; ·
		db 0F8h	; °
		db 0F6h	; Ў
		db 0F4h	; Ї
		db 0F2h	; Є
		db 0EFh	; я
		db 0EBh	; ы
		db 0E4h	; ф
		db 0DCh	; ▄
		db 0D4h	; ╘
		db 0CBh	; ╦
		db 0C1h	; ┴
		db 0B8h	; ╕
		db 0AFh	; п
		db 0A5h	; е
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db  9Ch	; Ь
		db 0E5h	; х
		db 0E0h	; р
		db 0D8h	; ╪
		db 0CDh	; ═
		db 0C0h	; └
		db 0AFh	; п
		db  97h	; Ч
		db  81h	; Б
		db  6Eh	; n
		db  63h	; c
		db  5Ah	; Z
		db  52h	; R
		db  49h	; I
		db  40h	; @
		db  37h	; 7
		db  2Fh	; /
		db  28h	; (
		db  23h	; #
		db  1Dh
		db  18h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  15h
		db  15h
		db  15h
		db  16h
		db  17h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  18h
		db  17h
		db  62h	; b
		db  62h	; b
		db  62h	; b
		db  58h	; X
		db  4Eh	; N
		db  44h	; D
		db  3Eh	; >
		db  38h	; 8
		db  2Dh	; -
		db  21h	; !
		db  19h
		db  14h
		db  11h
		db  0Fh
		db  0Dh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Dh
		db  0Dh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db    0			; УОЗ на пуске
		db    2
		db    4
		db    6
		db    8
		db  0Ah
		db  0Ch
		db  0Eh
		db  10h
		db  12h
		db  14h
		db  16h
		db  18h
		db  1Ah
		db  1Ch
		db  1Eh
		db  20h
		db  22h	; "
		db  24h	; $
		db  26h	; &
		db  28h	; (
		db  2Ah	; *
		db  2Ch	; ,
		db  2Eh	; .
		db  30h	; 0
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db  24h	; $
		db 0F0h	; Ё		; Время	накопления для модуля зажигания
		db 0CEh	; ╬
		db 0A3h	; г
		db  85h	; Е
		db  6Dh	; m
		db  5Dh	; ]
		db  4Eh	; N
		db  43h	; C
		db  3Bh	; ;
		db  33h	; 3
		db  2Eh	; .
		db  2Ah	; *
		db  25h	; %
		db  22h	; "
		db  1Eh
		db  1Dh
		db 0FAh	; ·		; Динамическая производительность форсунки
		db 0FAh	; ·
		db 0F2h	; Є
		db 0DAh	; ┌
		db 0B9h	; ╣
		db  9Bh	; Ы
		db  83h	; Г
		db  71h	; q
		db  5Eh	; ^
		db  4Ch	; L
		db  3Fh	; ?
		db  32h	; 2
		db  29h	; )
		db  22h	; "
		db  1Dh
		db  19h
		db    0
		db    0
		db    3
		db    8
		db  0Dh
		db  0Fh
		db  10h
		db  12h
		db  13h
		db  15h
		db  16h
		db  16h
		db  16h
		db  16h
		db  16h
		db  16h
		db  16h
		db  19h
		db  19h
		db  1Bh
		db  1Bh
		db  19h
		db  14h
		db  13h
		db  11h
		db  0Fh
		db  0Dh
		db    3
		db    0
		db    0
		db    0
		db    0
Throttles:	db    0			; Throttles
		db    8
		db  10h
		db  18h
		db  20h
		db  28h	; (
		db  30h	; 0
		db  38h	; 8
		db  40h	; @
		db  48h	; H
		db  50h	; P
		db  54h	; T
		db  58h	; X
		db  5Ch	; \
		db  60h	; `
		db  64h	; d
		db  68h	; h
		db  6Ch	; l
		db  70h	; p
		db  73h	; s
		db  76h	; v
		db  7Ah	; z
		db  7Dh	; }
		db  80h	; А
		db  83h	; Г
		db  85h	; Е
		db  88h	; И
		db  8Bh	; Л
		db  8Dh	; Н
		db  90h	; Р
		db  92h	; Т
		db  94h	; Ф
		db  96h	; Ц
		db  98h	; Ш
		db  9Ah	; Ъ
		db  9Ch	; Ь
		db  9Eh	; Ю
		db 0A0h	; а
		db 0A2h	; в
		db 0A4h	; д
		db 0A5h	; е
		db 0A7h	; з
		db 0A9h	; й
		db 0ABh	; л
		db 0ACh	; м
		db 0ADh	; н
		db 0B0h	; ░
		db 0B1h	; ▒
		db 0B3h	; │
		db 0B5h	; ╡
		db 0B6h	; ╢
		db 0B8h	; ╕
		db 0BAh	; ║
		db 0BBh	; ╗
		db 0BDh	; ╜
		db 0BEh	; ╛
		db 0C0h	; └
		db 0C2h	; ┬
		db 0C3h	; ├
		db 0C5h	; ┼
		db 0C6h	; ╞
		db 0C8h	; ╚
		db 0CAh	; ╩
		db 0CCh	; ╠
		db 0CDh	; ═
		db 0CEh	; ╬
		db 0D0h	; ╨
		db 0D1h	; ╤
		db 0D2h	; ╥
		db 0D3h	; ╙
		db 0D5h	; ╒
		db 0D6h	; ╓
		db 0D7h	; ╫
		db 0D8h	; ╪
		db 0D9h	; ┘
		db 0DAh	; ┌
		db 0DBh	; █
		db 0DDh	; ▌
		db 0DEh	; ▐
		db 0DFh	; ▀
		db 0E0h	; р
		db 0E1h	; с
		db 0E2h	; т
		db 0E3h	; у
		db 0E4h	; ф
		db 0E5h	; х
		db 0E6h	; ц
		db 0E7h	; ч
		db 0E8h	; ш
		db 0E8h	; ш
		db 0E9h	; щ
		db 0EAh	; ъ
		db 0EBh	; ы
		db 0ECh	; ь
		db 0EDh	; э
		db 0EEh	; ю
		db 0EFh	; я
		db 0EFh	; я
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  40h	; @
		db  2Fh	; /
		db  26h	; &
		db  1Dh
		db  1Ah
		db  18h
		db  15h
		db  11h
		db  13h
		db  15h
		db  15h
		db  15h
		db  15h
		db  4Dh	; M
		db  4Dh	; M
		db  4Dh	; M
		db  43h	; C
		db  34h	; 4
		db  2Ah	; *
		db  22h	; "
		db  1Dh
		db  1Ah
		db  18h
		db  13h
		db  15h
		db  17h
		db  17h
		db  17h
		db  17h
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  4Eh	; N
		db  3Eh	; >
		db  31h	; 1
		db  28h	; (
		db  22h	; "
		db  1Dh
		db  19h
		db  15h
		db  17h
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Ah
		db  5Eh	; ^
		db  5Eh	; ^
		db  5Eh	; ^
		db  57h	; W
		db  47h	; G
		db  3Ch	; <
		db  30h	; 0
		db  29h	; )
		db  23h	; #
		db  1Eh
		db  17h
		db  19h
		db  1Bh
		db  1Bh
		db  1Bh
		db  1Bh
		db  65h	; e
		db  65h	; e
		db  65h	; e
		db  5Fh	; _
		db  51h	; Q
		db  46h	; F
		db  39h	; 9
		db  30h	; 0
		db  29h	; )
		db  23h	; #
		db  1Ah
		db  1Dh
		db  20h
		db  20h
		db  20h
		db  20h
		db  68h	; h
		db  68h	; h
		db  68h	; h
		db  5Eh	; ^
		db  56h	; V
		db  49h	; I
		db  37h	; 7
		db  2Dh	; -
		db  25h	; %
		db  1Fh
		db  1Bh
		db  21h	; !
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  70h	; p
		db  70h	; p
		db  70h	; p
		db  6Dh	; m
		db  65h	; e
		db  5Bh	; [
		db  53h	; S
		db  49h	; I
		db  41h	; A
		db  3Ah	; :
		db  32h	; 2
		db  2Eh	; .
		db  2Ch	; ,
		db  2Ch	; ,
		db  2Ch	; ,
		db  2Ch	; ,
		db  75h	; u
		db  75h	; u
		db  75h	; u
		db  70h	; p
		db  6Fh	; o
		db  6Ah	; j
		db  61h	; a
		db  59h	; Y
		db  53h	; S
		db  4Ch	; L
		db  44h	; D
		db  3Eh	; >
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  79h	; y
		db  79h	; y
		db  79h	; y
		db  76h	; v
		db  75h	; u
		db  73h	; s
		db  6Eh	; n
		db  69h	; i
		db  65h	; e
		db  5Fh	; _
		db  57h	; W
		db  50h	; P
		db  4Bh	; K
		db  4Bh	; K
		db  4Bh	; K
		db  4Bh	; K
		db  7Ch	; |
		db  7Ch	; |
		db  7Ch	; |
		db  79h	; y
		db  78h	; x
		db  7Ah	; z
		db  77h	; w
		db  75h	; u
		db  75h	; u
		db  72h	; r
		db  6Ch	; l
		db  64h	; d
		db  5Fh	; _
		db  5Fh	; _
		db  5Fh	; _
		db  5Fh	; _
		db  79h	; y
		db  79h	; y
		db  79h	; y
		db  79h	; y
		db  7Ah	; z
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  80h	; А
		db  82h	; В
		db  7Fh	; 
		db  7Ah	; z
		db  77h	; w
		db  77h	; w
		db  77h	; w
		db  77h	; w
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  78h	; x
		db  7Ch	; |
		db  80h	; А
		db  82h	; В
		db  84h	; Д
		db  89h	; Й
		db  8Ch	; М
		db  8Ch	; М
		db  87h	; З
		db  84h	; Д
		db  84h	; Д
		db  84h	; Д
		db  84h	; Д
		db  76h	; v
		db  76h	; v
		db  76h	; v
		db  79h	; y
		db  7Bh	; {
		db  7Eh	; ~
		db  83h	; Г
		db  84h	; Д
		db  89h	; Й
		db  8Dh	; Н
		db  8Fh	; П
		db  8Dh	; Н
		db  8Bh	; Л
		db  8Bh	; Л
		db  8Bh	; Л
		db  8Bh	; Л
		db  7Ah	; z
		db  7Ah	; z
		db  7Ah	; z
		db  7Ah	; z
		db  7Bh	; {
		db  7Fh	; 
		db  85h	; Е
		db  86h	; Ж
		db  8Ch	; М
		db  92h	; Т
		db  95h	; Х
		db  91h	; С
		db  8Eh	; О
		db  8Eh	; О
		db  8Eh	; О
		db  8Eh	; О
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Ch	; |
		db  7Ch	; |
		db  7Eh	; ~
		db  86h	; Ж
		db  87h	; З
		db  8Dh	; Н
		db  92h	; Т
		db  95h	; Х
		db  92h	; Т
		db  90h	; Р
		db  90h	; Р
		db  90h	; Р
		db  90h	; Р
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Ch	; |
		db  7Ch	; |
		db  7Eh	; ~
		db  86h	; Ж
		db  85h	; Е
		db  8Ah	; К
		db  90h	; Р
		db  93h	; У
		db  91h	; С
		db  90h	; Р
		db  90h	; Р
		db  90h	; Р
		db  90h	; Р
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  50h	; P
		db  60h	; `
		db  75h	; u
		db  8Ch	; М
		db 0A0h	; а
		db 0B2h	; ▓
		db 0BAh	; ║
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  51h	; Q
		db  74h	; t
		db  8Fh	; П
		db 0A6h	; ж
		db 0B6h	; ╢
		db 0BFh	; ┐
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  51h	; Q
		db  74h	; t
		db  8Fh	; П
		db 0A6h	; ж
		db 0B6h	; ╢
		db 0BFh	; ┐
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  51h	; Q
		db  74h	; t
		db  8Fh	; П
		db 0A6h	; ж
		db 0B6h	; ╢
		db 0BFh	; ┐
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  51h	; Q
		db  74h	; t
		db  8Fh	; П
		db 0A6h	; ж
		db 0B6h	; ╢
		db 0BFh	; ┐
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  51h	; Q
		db  74h	; t
		db  8Fh	; П
		db 0A6h	; ж
		db 0B8h	; ╕
		db 0C9h	; ╔
		db 0D8h	; ╪
		db 0E3h	; у
		db 0E3h	; у
		db 0E3h	; у
		db 0E3h	; у
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  51h	; Q
		db  74h	; t
		db  8Fh	; П
		db 0A6h	; ж
		db 0B8h	; ╕
		db 0C9h	; ╔
		db 0DFh	; ▀
		db 0EFh	; я
		db 0EFh	; я
		db 0EFh	; я
		db 0EFh	; я
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  51h	; Q
		db  74h	; t
		db  8Fh	; П
		db 0B0h	; ░
		db 0D0h	; ╨
		db 0E5h	; х
		db 0F4h	; Ї
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  51h	; Q
		db  74h	; t
		db  8Fh	; П
		db 0B5h	; ╡
		db 0DCh	; ▄
		db 0F1h	; ё
		db 0F9h	; ∙
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  51h	; Q
		db  88h	; И
		db 0AEh	; о
		db 0CAh	; ╩
		db 0EBh	; ы
		db 0FDh	; ¤
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  51h	; Q
		db  99h	; Щ
		db 0DAh	; ┌
		db 0F1h	; ё
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  51h	; Q
		db 0A7h	; з
		db 0F4h	; Ї
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  52h	; R
		db 0B9h	; ╣
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db    0
		db  15h
		db  53h	; S
		db 0BFh	; ┐
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db    0
		db    1
		db    1
		db    1
		db    2
		db    2
		db    3
		db    4
		db    5
		db    5
		db    6
		db    8
		db    9
		db  0Ah
		db  0Bh
		db  0Dh
		db  0Fh
		db  10h
		db  12h
		db  14h
		db  16h
		db  18h
		db  1Ah
		db  1Ch
		db  1Fh
		db  21h	; !
		db  24h	; $
		db  27h	; '
		db  29h	; )
		db  2Ch	; ,
		db  2Fh	; /
		db  32h	; 2
		db  36h	; 6
		db  39h	; 9
		db  3Ch	; <
		db  40h	; @
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  27h	; '             ; Базовое цикловое наполнение
		db  2Ch	; ,
		db  2Bh	; +
		db  25h	; %
		db  23h	; #
		db  23h	; #
		db  1Ch
		db  13h
		db  0Fh
		db  10h
		db  10h
		db  10h
		db  0Eh
		db  0Dh
		db  0Ch
		db  0Bh
		db  2Eh	; .
		db  31h	; 1
		db  34h	; 4
		db  31h	; 1
		db  28h	; (
		db  27h	; '
		db  1Ch
		db  1Bh
		db  17h
		db  13h
		db  12h
		db  10h
		db  0Fh
		db  0Eh
		db  0Eh
		db  0Dh
		db  38h	; 8
		db  37h	; 7
		db  3Ah	; :
		db  3Ah	; :
		db  32h	; 2
		db  29h	; )
		db  23h	; #
		db  23h	; #
		db  21h	; !
		db  19h
		db  13h
		db  12h
		db  11h
		db  11h
		db  10h
		db  0Fh
		db  3Eh	; >
		db  41h	; A
		db  44h	; D
		db  4Ch	; L
		db  3Fh	; ?
		db  31h	; 1
		db  31h	; 1
		db  29h	; )
		db  30h	; 0
		db  27h	; '
		db  1Ch
		db  17h
		db  15h
		db  14h
		db  14h
		db  13h
		db  4Eh	; N
		db  4Dh	; M
		db  55h	; U
		db  5Bh	; [
		db  49h	; I
		db  3Ch	; <
		db  3Eh	; >
		db  30h	; 0
		db  30h	; 0
		db  37h	; 7
		db  2Ah	; *
		db  1Fh
		db  1Bh
		db  1Ah
		db  19h
		db  18h
		db  5Ah	; Z
		db  5Ch	; \
		db  5Eh	; ^
		db  67h	; g
		db  56h	; V
		db  53h	; S
		db  48h	; H
		db  42h	; B
		db  38h	; 8
		db  48h	; H
		db  37h	; 7
		db  2Dh	; -
		db  28h	; (
		db  26h	; &
		db  25h	; %
		db  22h	; "
		db  65h	; e
		db  66h	; f
		db  6Bh	; k
		db  6Eh	; n
		db  6Bh	; k
		db  6Bh	; k
		db  58h	; X
		db  56h	; V
		db  4Eh	; N
		db  63h	; c
		db  55h	; U
		db  48h	; H
		db  43h	; C
		db  40h	; @
		db  3Fh	; ?
		db  41h	; A
		db  70h	; p
		db  6Eh	; n
		db  70h	; p
		db  76h	; v
		db  78h	; x
		db  70h	; p
		db  78h	; x
		db  77h	; w
		db  74h	; t
		db  74h	; t
		db  77h	; w
		db  68h	; h
		db  5Fh	; _
		db  5Dh	; ]
		db  5Dh	; ]
		db  59h	; Y
		db  74h	; t
		db  72h	; r
		db  74h	; t
		db  7Ah	; z
		db  82h	; В
		db  7Fh	; 
		db  85h	; Е
		db  87h	; З
		db  91h	; С
		db  97h	; Ч
		db  84h	; Д
		db  82h	; В
		db  79h	; y
		db  78h	; x
		db  77h	; w
		db  74h	; t
		db  75h	; u
		db  75h	; u
		db  77h	; w
		db  81h	; Б
		db  8Ch	; М
		db  93h	; У
		db  96h	; Ц
		db 0A3h	; г
		db 0A9h	; й
		db  99h	; Щ
		db 0A0h	; а
		db  9Fh	; Я
		db  99h	; Щ
		db  99h	; Щ
		db  98h	; Ш
		db  97h	; Ч
		db  74h	; t
		db  77h	; w
		db  7Fh	; 
		db  88h	; И
		db  95h	; Х
		db  9Bh	; Ы
		db  97h	; Ч
		db 0C0h	; └
		db 0ADh	; н
		db 0CEh	; ╬
		db 0D3h	; ╙
		db 0C3h	; ├
		db 0C0h	; └
		db 0BCh	; ╝
		db 0BDh	; ╜
		db 0C2h	; ┬
		db  74h	; t
		db  79h	; y
		db  81h	; Б
		db  8Eh	; О
		db  9Fh	; Я
		db 0A8h	; и
		db 0B6h	; ╢
		db 0B9h	; ╣
		db 0C1h	; ┴
		db 0E0h	; р
		db 0D4h	; ╘
		db 0D8h	; ╪
		db 0DAh	; ┌
		db 0D7h	; ╫
		db 0D5h	; ╒
		db 0D7h	; ╫
		db  74h	; t
		db  78h	; x
		db  81h	; Б
		db  91h	; С
		db 0A2h	; в
		db 0A3h	; г
		db 0BFh	; ┐
		db 0CAh	; ╩
		db 0CEh	; ╬
		db 0E5h	; х
		db 0DDh	; ▌
		db 0E2h	; т
		db 0E5h	; х
		db 0E3h	; у
		db 0E3h	; у
		db 0E4h	; ф
		db  73h	; s
		db  76h	; v
		db  7Eh	; ~
		db  92h	; Т
		db 0A3h	; г
		db 0ACh	; м
		db 0C9h	; ╔
		db 0CFh	; ╧
		db 0C6h	; ╞
		db 0E7h	; ч
		db 0DEh	; ▐
		db 0E3h	; у
		db 0ECh	; ь
		db 0EEh	; ю
		db 0EEh	; ю
		db 0F1h	; ё
		db  72h	; r
		db  74h	; t
		db  7Eh	; ~
		db  95h	; Х
		db 0A7h	; з
		db 0ADh	; н
		db 0D0h	; ╨
		db 0D0h	; ╨
		db 0D1h	; ╤
		db 0E6h	; ц
		db 0DCh	; ▄
		db 0DDh	; ▌
		db 0EDh	; э
		db 0F2h	; Є
		db 0F2h	; Є
		db 0F2h	; Є
		db  72h	; r
		db  72h	; r
		db  7Ah	; z
		db  97h	; Ч
		db 0AAh	; к
		db  95h	; Х
		db 0A2h	; в
		db 0A7h	; з
		db 0CDh	; ═
		db 0D2h	; ╥
		db 0D8h	; ╪
		db 0E4h	; ф
		db 0E5h	; х
		db 0F0h	; Ё
		db 0FEh	; ■
		db 0EFh	; я
		db  7Bh	; {		; Состав смеси от оборотов и давления (turbo)
		db  7Bh	; {
		db  7Eh	; ~
		db  81h	; Б
		db  83h	; Г
		db  86h	; Ж
		db  86h	; Ж
		db  86h	; Ж
		db  83h	; Г
		db  79h	; y
		db  75h	; u
		db  6Ah	; j
		db  62h	; b
		db  5Ch	; \
		db  59h	; Y
		db  5Ah	; Z
		db  7Ah	; z
		db  7Ah	; z
		db  7Eh	; ~
		db  81h	; Б
		db  83h	; Г
		db  84h	; Д
		db  85h	; Е
		db  83h	; Г
		db  80h	; А
		db  75h	; u
		db  73h	; s
		db  66h	; f
		db  5Eh	; ^
		db  5Ah	; Z
		db  58h	; X
		db  58h	; X
		db  79h	; y
		db  79h	; y
		db  7Ah	; z
		db  7Ch	; |
		db  7Dh	; }
		db  80h	; А
		db  80h	; А
		db  7Fh	; 
		db  7Ch	; |
		db  72h	; r
		db  6Ah	; j
		db  64h	; d
		db  5Bh	; [
		db  59h	; Y
		db  56h	; V
		db  57h	; W
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  79h	; y
		db  7Ah	; z
		db  7Ah	; z
		db  7Ah	; z
		db  7Bh	; {
		db  79h	; y
		db  71h	; q
		db  69h	; i
		db  65h	; e
		db  5Ch	; \
		db  58h	; X
		db  56h	; V
		db  56h	; V
		db  76h	; v
		db  76h	; v
		db  75h	; u
		db  75h	; u
		db  75h	; u
		db  75h	; u
		db  75h	; u
		db  75h	; u
		db  70h	; p
		db  6Ch	; l
		db  67h	; g
		db  63h	; c
		db  5Ch	; \
		db  55h	; U
		db  53h	; S
		db  53h	; S
		db  6Eh	; n
		db  6Eh	; n
		db  6Fh	; o
		db  70h	; p
		db  70h	; p
		db  71h	; q
		db  71h	; q
		db  70h	; p
		db  6Dh	; m
		db  69h	; i
		db  64h	; d
		db  60h	; `
		db  5Bh	; [
		db  55h	; U
		db  53h	; S
		db  53h	; S
		db  68h	; h
		db  69h	; i
		db  68h	; h
		db  67h	; g
		db  68h	; h
		db  67h	; g
		db  68h	; h
		db  67h	; g
		db  66h	; f
		db  65h	; e
		db  60h	; `
		db  5Bh	; [
		db  58h	; X
		db  54h	; T
		db  52h	; R
		db  51h	; Q
		db  66h	; f
		db  66h	; f
		db  66h	; f
		db  64h	; d
		db  64h	; d
		db  62h	; b
		db  62h	; b
		db  62h	; b
		db  62h	; b
		db  5Eh	; ^
		db  5Bh	; [
		db  57h	; W
		db  55h	; U
		db  53h	; S
		db  52h	; R
		db  51h	; Q
		db  63h	; c
		db  63h	; c
		db  62h	; b
		db  61h	; a
		db  60h	; `
		db  5Fh	; _
		db  5Ch	; \
		db  5Ch	; \
		db  5Ah	; Z
		db  59h	; Y
		db  58h	; X
		db  56h	; V
		db  53h	; S
		db  52h	; R
		db  51h	; Q
		db  51h	; Q
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db  5Fh	; _
		db  5Eh	; ^
		db  5Bh	; [
		db  59h	; Y
		db  58h	; X
		db  56h	; V
		db  53h	; S
		db  53h	; S
		db  53h	; S
		db  52h	; R
		db  4Fh	; O
		db  4Fh	; O
		db  4Eh	; N
		db  5Fh	; _
		db  5Fh	; _
		db  5Fh	; _
		db  5Eh	; ^
		db  5Dh	; ]
		db  59h	; Y
		db  54h	; T
		db  51h	; Q
		db  50h	; P
		db  50h	; P
		db  51h	; Q
		db  51h	; Q
		db  4Fh	; O
		db  4Ch	; L
		db  4Bh	; K
		db  4Bh	; K
		db  5Fh	; _
		db  5Fh	; _
		db  5Eh	; ^
		db  5Dh	; ]
		db  5Bh	; [
		db  58h	; X
		db  52h	; R
		db  4Fh	; O
		db  4Eh	; N
		db  4Eh	; N
		db  4Eh	; N
		db  4Dh	; M
		db  4Bh	; K
		db  49h	; I
		db  47h	; G
		db  47h	; G
		db  5Fh	; _
		db  5Fh	; _
		db  5Eh	; ^
		db  5Dh	; ]
		db  5Bh	; [
		db  57h	; W
		db  52h	; R
		db  4Eh	; N
		db  4Ch	; L
		db  4Bh	; K
		db  4Ah	; J
		db  49h	; I
		db  46h	; F
		db  42h	; B
		db  42h	; B
		db  43h	; C
		db  60h	; `
		db  5Fh	; _
		db  5Eh	; ^
		db  5Dh	; ]
		db  5Ah	; Z
		db  56h	; V
		db  51h	; Q
		db  4Eh	; N
		db  4Bh	; K
		db  4Ah	; J
		db  48h	; H
		db  46h	; F
		db  43h	; C
		db  40h	; @
		db  40h	; @
		db  3Fh	; ?
		db  60h	; `
		db  5Fh	; _
		db  5Eh	; ^
		db  5Dh	; ]
		db  59h	; Y
		db  55h	; U
		db  51h	; Q
		db  4Dh	; M
		db  4Ah	; J
		db  49h	; I
		db  48h	; H
		db  46h	; F
		db  42h	; B
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db  60h	; `
		db  5Fh	; _
		db  5Eh	; ^
		db  5Dh	; ]
		db  59h	; Y
		db  55h	; U
		db  51h	; Q
		db  4Dh	; M
		db  4Ah	; J
		db  49h	; I
		db  48h	; H
		db  46h	; F
		db  42h	; B
		db  40h	; @
		db  40h	; @
		db  40h	; @
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    6
		db    6
		db    5
		db    5
		db    5
		db    6
		db    6
		db    6
		db    6
		db    6
		db    5
		db    5
		db    5
		db    5
		db    6
		db    6
		db    7
		db    7
		db    8
		db    8
		db    9
		db    9
		db    9
		db    9
		db    9
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    6
		db    7
		db    8
		db    9
		db  0Bh
		db  0Dh
		db  0Fh
		db  11h
		db  13h
		db  16h
		db  1Ah
		db  1Dh
		db  21h	; !
		db  25h	; %
		db  29h	; )
		db  2Eh	; .
		db  33h	; 3
		db  38h	; 8
		db  3Eh	; >
		db  44h	; D
		db  4Fh	; O
		db  62h	; b
		db  64h	; d
		db  67h	; g
		db  69h	; i
		db  6Ch	; l
		db  6Eh	; n
		db  70h	; p
		db  73h	; s
		db  75h	; u
		db  78h	; x
		db  7Ah	; z
		db  7Ch	; |
		db  7Fh	; 
		db  81h	; Б
		db  84h	; Д
		db  86h	; Ж
		db  89h	; Й
		db  8Bh	; Л
		db  8Dh	; Н
		db  90h	; Р
		db  92h	; Т
		db  95h	; Х
		db  97h	; Ч
		db  9Ah	; Ъ
		db  9Ch	; Ь
		db  9Dh	; Э
		db  9Dh	; Э
		db  9Dh	; Э
		db  9Dh	; Э
		db  9Dh	; Э
		db  8Dh	; Н
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  12h
		db  19h
		db  18h
		db  18h
		db  18h
		db  41h	; A
		db  66h	; f
		db  52h	; R
		db  51h	; Q
		db  17h
		db  28h	; (
		db  26h	; &
		db  15h
		db  13h
		db  22h	; "
		db  34h	; 4
		db  18h
		db  16h
		db  27h	; '
		db  25h	; %
		db  14h
		db  38h	; 8
		db  21h	; !
		db  33h	; 3
		db  18h
		db  43h	; C
		db  18h
		db  73h	; s
		db  74h	; t
		db  45h	; E
		db  44h	; D
		db  24h	; $
		db  35h	; 5
		db  20h			; УОЗ при аварии ДПДЗ или ДМРВ
		db  20h
		db  28h	; (
		db  32h	; 2
		db  3Dh	; =
		db  45h	; E
		db  4Eh	; N
		db  50h	; P
		db  51h	; Q
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  20h
		db  20h
		db  28h	; (
		db  32h	; 2
		db  3Dh	; =
		db  45h	; E
		db  4Eh	; N
		db  50h	; P
		db  51h	; Q
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  24h	; $
		db  24h	; $
		db  28h	; (
		db  32h	; 2
		db  3Dh	; =
		db  45h	; E
		db  4Dh	; M
		db  4Fh	; O
		db  50h	; P
		db  51h	; Q
		db  51h	; Q
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  24h	; $
		db  27h	; '
		db  28h	; (
		db  32h	; 2
		db  3Ch	; <
		db  44h	; D
		db  4Ah	; J
		db  4Dh	; M
		db  4Eh	; N
		db  4Fh	; O
		db  4Fh	; O
		db  50h	; P
		db  51h	; Q
		db  51h	; Q
		db  51h	; Q
		db  51h	; Q
		db  22h	; "
		db  28h	; (
		db  2Ch	; ,
		db  30h	; 0
		db  3Ah	; :
		db  41h	; A
		db  47h	; G
		db  49h	; I
		db  4Ah	; J
		db  4Bh	; K
		db  4Bh	; K
		db  4Ch	; L
		db  4Dh	; M
		db  4Dh	; M
		db  4Dh	; M
		db  4Dh	; M
		db  18h
		db  21h	; !
		db  26h	; &
		db  2Ch	; ,
		db  37h	; 7
		db  3Eh	; >
		db  43h	; C
		db  46h	; F
		db  47h	; G
		db  48h	; H
		db  48h	; H
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  0Ah
		db  15h
		db  1Dh
		db  23h	; #
		db  2Fh	; /
		db  36h	; 6
		db  3Bh	; ;
		db  3Eh	; >
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db    4
		db  0Dh
		db  16h
		db  1Dh
		db  2Bh	; +
		db  32h	; 2
		db  37h	; 7
		db  3Ah	; :
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db  3Ah	; :
		db    0
		db    2
		db  0Ch
		db  15h
		db  24h	; $
		db  2Dh	; -
		db  34h	; 4
		db  37h	; 7
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  35h	; 5
		db  34h	; 4
		db  34h	; 4
		db  34h	; 4
		db  34h	; 4
		db    0
		db    0
		db    4
		db  0Bh
		db  1Ah
		db  24h	; $
		db  2Eh	; .
		db  32h	; 2
		db  32h	; 2
		db  31h	; 1
		db  30h	; 0
		db  2Dh	; -
		db  2Ch	; ,
		db  2Ch	; ,
		db  2Ch	; ,
		db  2Ch	; ,
		db    0
		db    0
		db    0
		db    5
		db  12h
		db  1Fh
		db  2Ah	; *
		db  2Eh	; .
		db  2Dh	; -
		db  2Bh	; +
		db  2Bh	; +
		db  29h	; )
		db  28h	; (
		db  28h	; (
		db  28h	; (
		db  28h	; (
		db    0
		db    0
		db    0
		db    0
		db  0Ah
		db  14h
		db  1Fh
		db  25h	; %
		db  24h	; $
		db  23h	; #
		db  23h	; #
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db  22h	; "
		db    0
		db    0
		db    0
		db    0
		db    6
		db  11h
		db  1Ah
		db  22h	; "
		db  22h	; "
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db    0
		db    0
		db    0
		db    0
		db    4
		db  0Ch
		db  15h
		db  1Fh
		db  20h
		db  1Fh
		db  1Fh
		db  1Fh
		db  1Fh
		db  1Fh
		db  1Fh
		db  1Fh
		db    0
		db    0
		db    0
		db    0
		db    1
		db    8
		db  11h
		db  1Ah
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db    0
		db    0
		db    0
		db    0
		db    0
		db    4
		db  0Dh
		db  16h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db 0FFh			; Степень открытия клапана wastegate
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  5Ch	; \
		db  53h	; S
		db  4Ah	; J
		db  42h	; B
		db  3Ah	; :
		db  32h	; 2
		db  2Bh	; +
		db  23h	; #
		db  1Ch
		db  15h
		db  0Eh
		db    8
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  6Dh	; m
		db  62h	; b
		db  58h	; X
		db  4Eh	; N
		db  44h	; D
		db  3Bh	; ;
		db  32h	; 2
		db  2Ah	; *
		db  21h	; !
		db  19h
		db  11h
		db    9
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  7Fh	; 
		db  73h	; s
		db  66h	; f
		db  5Bh	; [
		db  50h	; P
		db  45h	; E
		db  3Bh	; ;
		db  31h	; 1
		db  27h	; '
		db  1Dh
		db  14h
		db  0Ah
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  91h	; С
		db  83h	; Г
		db  75h	; u
		db  68h	; h
		db  5Bh	; [
		db  4Fh	; O
		db  43h	; C
		db  37h	; 7
		db  2Ch	; ,
		db  21h	; !
		db  16h
		db  0Bh
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db 0A4h	; д
		db  94h	; Ф
		db  84h	; Д
		db  75h	; u
		db  67h	; g
		db  59h	; Y
		db  4Ch	; L
		db  3Fh	; ?
		db  32h	; 2
		db  25h	; %
		db  19h
		db  0Dh
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db 0B6h	; ╢
		db 0A4h	; д
		db  92h	; Т
		db  82h	; В
		db  72h	; r
		db  63h	; c
		db  54h	; T
		db  45h	; E
		db  37h	; 7
		db  29h	; )
		db  1Ch
		db  0Eh
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db    0
		db    0
		db    0
		db    0
		db    0
		db 0FFh
		db 0FDh	; ¤
		db 0FAh	; ·
		db 0F5h	; ї
		db 0EFh	; я
		db 0E7h	; ч
		db 0DEh	; ▐
		db 0D3h	; ╙
		db 0C6h	; ╞
		db 0B7h	; ╖
		db 0A7h	; з
		db  96h	; Ц
		db  8Ch	; М
		db  84h	; Д
		db  7Dh	; }
		db  76h	; v
		db  70h	; p
		db  69h	; i
		db  62h	; b
		db  5Ch	; \
		db  55h	; U
		db  4Eh	; N
		db  47h	; G
		db  40h	; @
		db  39h	; 9
		db  33h	; 3
		db  33h	; 3
		db  33h	; 3
		db  33h	; 3
		db  33h	; 3
		db  33h	; 3
		db  33h	; 3
		db  23h	; #
		db  24h	; $
		db  25h	; %
		db  26h	; &
		db  27h	; '
		db  28h	; (
		db  29h	; )
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  2Ah	; *
		db  29h	; )
		db  28h	; (
		db  26h	; &
		db  23h	; #
		db  21h	; !
		db  1Dh
		db  1Ah
		db  14h
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db  20h			; Зона адаптации по шуму 3D таблица (используются отдельные биты)
					;     4	бит зона адаптации
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  30h	; 0
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db    0
		db    0
		db    1
		db    1
		db    1
		db    2
		db    2
		db    2
		db    2
		db    2
		db  23h	; #
		db  23h	; #
		db  20h
		db  20h
		db  20h
		db  20h
		db    0
		db    0
		db    1
		db    1
		db    1
		db    2
		db    2
		db    2
		db    2
		db    2
		db  23h	; #
		db  23h	; #
		db  20h
		db  20h
		db  20h
		db  20h
		db    0
		db    0
		db    1
		db    1
		db    1
		db    2
		db    2
		db    2
		db    2
		db    2
		db  23h	; #
		db  23h	; #
		db  20h
		db  20h
		db  20h
		db  20h
		db    4
		db    4
		db    5
		db    5
		db    5
		db    6
		db    6
		db    6
		db    6
		db    6
		db  27h	; '
		db  27h	; '
		db  20h
		db  20h
		db  20h
		db  20h
		db    4
		db    4
		db    5
		db    5
		db    5
		db    6
		db    6
		db    6
		db    6
		db    6
		db  27h	; '
		db  27h	; '
		db  20h
		db  20h
		db  20h
		db  20h
		db    4
		db    4
		db    5
		db    5
		db    5
		db    6
		db    6
		db    6
		db    6
		db    6
		db  27h	; '
		db  27h	; '
		db  20h
		db  20h
		db  20h
		db  20h
		db    4
		db    4
		db    5
		db    5
		db    5
		db    6
		db    6
		db    6
		db    6
		db    6
		db  27h	; '
		db  27h	; '
		db  20h
		db  20h
		db  20h
		db  20h
		db    8
		db    8
		db    9
		db    9
		db    9
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  2Bh	; +
		db  2Bh	; +
		db  20h
		db  20h
		db  20h
		db  20h
		db    8
		db    8
		db    9
		db    9
		db    9
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  2Bh	; +
		db  2Bh	; +
		db  20h
		db  20h
		db  20h
		db  20h
		db    8
		db    8
		db    9
		db    9
		db    9
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  2Bh	; +
		db  2Bh	; +
		db  20h
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Fh	; ?
		db  3Bh	; ;
		db  38h	; 8
		db  35h	; 5
		db  32h	; 2
		db  2Ch	; ,
		db  2Ah	; *
		db  27h	; '
		db  25h	; %
		db  20h
		db  1Eh
		db  1Dh
		db  1Ch
		db  1Ch
		db  1Bh
		db  1Ah
		db  19h
		db  17h
		db  15h
		db  14h
		db  13h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  11h
		db  10h
		db  0Fh
		db  0Eh
		db  0Eh
		db  0Eh
		db  0Eh
		db  0Eh
		db  0Eh
		db  0Eh
		db  0Eh
		db  0Dh
		db  0Dh
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Ah
		db  0Ah
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    8
		db    8
		db    8
		db    8
		db    8
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Ch	; ,
		db  2Bh	; +
		db  2Ah	; *
		db  29h	; )
		db  28h	; (
		db  27h	; '
		db  26h	; &
		db  25h	; %
		db  24h	; $
		db  23h	; #
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  74h	; t
		db  79h	; y
		db  7Eh	; ~
		db  83h	; Г
		db  84h	; Д
		db  79h	; y
		db  76h	; v
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  7Bh	; {
		db  80h	; А
		db  87h	; З
		db  87h	; З
		db  7Eh	; ~
		db  7Ch	; |
		db  7Bh	; {
		db  7Ah	; z
		db  78h	; x
		db  78h	; x
		db  6Fh	; o
		db  69h	; i
		db  6Bh	; k
		db  6Dh	; m
		db  6Dh	; m
		db  74h	; t
		db  7Ch	; |
		db  81h	; Б
		db  88h	; И
		db  89h	; Й
		db  7Fh	; 
		db  7Dh	; }
		db  7Ch	; |
		db  7Bh	; {
		db  7Ah	; z
		db  79h	; y
		db  72h	; r
		db  6Ch	; l
		db  67h	; g
		db  64h	; d
		db  64h	; d
		db  76h	; v
		db  7Fh	; 
		db  84h	; Д
		db  86h	; Ж
		db  85h	; Е
		db  7Fh	; 
		db  7Eh	; ~
		db  7Dh	; }
		db  7Ch	; |
		db  7Bh	; {
		db  7Ah	; z
		db  73h	; s
		db  6Dh	; m
		db  6Bh	; k
		db  6Ah	; j
		db  6Ah	; j
		db  76h	; v
		db  7Fh	; 
		db  87h	; З
		db  86h	; Ж
		db  85h	; Е
		db  80h	; А
		db  7Fh	; 
		db  7Eh	; ~
		db  7Dh	; }
		db  7Ch	; |
		db  78h	; x
		db  74h	; t
		db  70h	; p
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  76h	; v
		db  7Fh	; 
		db  87h	; З
		db  87h	; З
		db  86h	; Ж
		db  81h	; Б
		db  80h	; А
		db  7Fh	; 
		db  7Eh	; ~
		db  7Dh	; }
		db  7Bh	; {
		db  75h	; u
		db  70h	; p
		db  70h	; p
		db  70h	; p
		db  70h	; p
		db  76h	; v
		db  7Eh	; ~
		db  82h	; В
		db  81h	; Б
		db  81h	; Б
		db  82h	; В
		db  82h	; В
		db  82h	; В
		db  81h	; Б
		db  7Eh	; ~
		db  7Ah	; z
		db  77h	; w
		db  75h	; u
		db  77h	; w
		db  78h	; x
		db  78h	; x
		db  76h	; v
		db  7Dh	; }
		db  82h	; В
		db  81h	; Б
		db  81h	; Б
		db  82h	; В
		db  82h	; В
		db  82h	; В
		db  81h	; Б
		db  7Fh	; 
		db  7Ch	; |
		db  79h	; y
		db  77h	; w
		db  77h	; w
		db  78h	; x
		db  78h	; x
		db  7Ch	; |
		db  7Eh	; ~
		db  82h	; В
		db  81h	; Б
		db  81h	; Б
		db  82h	; В
		db  82h	; В
		db  82h	; В
		db  81h	; Б
		db  80h	; А
		db  7Dh	; }
		db  7Ah	; z
		db  78h	; x
		db  78h	; x
		db  79h	; y
		db  79h	; y
		db  7Dh	; }
		db  7Eh	; ~
		db  82h	; В
		db  82h	; В
		db  81h	; Б
		db  82h	; В
		db  82h	; В
		db  82h	; В
		db  81h	; Б
		db  80h	; А
		db  7Eh	; ~
		db  7Ch	; |
		db  7Bh	; {
		db  7Bh	; {
		db  7Dh	; }
		db  80h	; А
		db  71h	; q
		db  76h	; v
		db  7Fh	; 
		db  81h	; Б
		db  83h	; Г
		db  82h	; В
		db  80h	; А
		db  80h	; А
		db  81h	; Б
		db  80h	; А
		db  7Eh	; ~
		db  7Eh	; ~
		db  7Eh	; ~
		db  7Eh	; ~
		db  7Fh	; 
		db  80h	; А
		db  6Bh	; k
		db  70h	; p
		db  7Ah	; z
		db  80h	; А
		db  84h	; Д
		db  82h	; В
		db  82h	; В
		db  81h	; Б
		db  80h	; А
		db  80h	; А
		db  81h	; Б
		db  83h	; Г
		db  84h	; Д
		db  83h	; Г
		db  83h	; Г
		db  83h	; Г
		db  69h	; i
		db  74h	; t
		db  76h	; v
		db  7Dh	; }
		db  84h	; Д
		db  84h	; Д
		db  84h	; Д
		db  83h	; Г
		db  83h	; Г
		db  83h	; Г
		db  83h	; Г
		db  85h	; Е
		db  86h	; Ж
		db  85h	; Е
		db  85h	; Е
		db  85h	; Е
		db  70h	; p
		db  72h	; r
		db  7Ah	; z
		db  80h	; А
		db  87h	; З
		db  84h	; Д
		db  86h	; Ж
		db  84h	; Д
		db  84h	; Д
		db  84h	; Д
		db  84h	; Д
		db  86h	; Ж
		db  89h	; Й
		db  89h	; Й
		db  8Ah	; К
		db  8Bh	; Л
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  85h	; Е
		db  85h	; Е
		db  89h	; Й
		db  8Bh	; Л
		db  8Ch	; М
		db  8Dh	; Н
		db  8Dh	; Н
		db  8Dh	; Н
		db  8Dh	; Н
		db  8Dh	; Н
		db  8Dh	; Н
		db  8Dh	; Н
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  84h	; Д
		db  85h	; Е
		db  89h	; Й
		db  8Bh	; Л
		db  8Ch	; М
		db  8Dh	; Н
		db  8Dh	; Н
		db  8Dh	; Н
		db  8Dh	; Н
		db  8Dh	; Н
		db  8Dh	; Н
		db  8Dh	; Н
		db  3Ch	; <		; Расчетная температура	при аварии ДТОЖ
		db  3Eh	; >
		db  41h	; A
		db  46h	; F
		db  4Ah	; J
		db  4Fh	; O
		db  59h	; Y
		db  60h	; `
		db  67h	; g
		db  6Dh	; m
		db  73h	; s
		db  79h	; y
		db  7Eh	; ~
		db  82h	; В
		db  85h	; Е
		db  87h	; З
		db    0
		db    0
		db    0
		db    0
		db  0Ch
		db  41h	; A
		db  53h	; S
		db  4Ch	; L
		db  56h	; V
		db  5Bh	; [
		db  69h	; i
		db  6Eh	; n
		db  76h	; v
		db  8Dh	; Н
		db  97h	; Ч
		db  97h	; Ч
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  19h
		db  33h	; 3
		db  45h	; E
		db  3Eh	; >
		db  4Bh	; K
		db  65h	; e
		db  6Ch	; l
		db  6Ch	; l
		db  76h	; v
		db  8Dh	; Н
		db  94h	; Ф
		db  97h	; Ч
		db  1Fh
		db  17h
		db  0Ah
		db  14h
		db  1Fh
		db  2Eh	; .
		db  30h	; 0
		db  2Eh	; .
		db  35h	; 5
		db  66h	; f
		db  69h	; i
		db  6Ch	; l
		db  74h	; t
		db  88h	; И
		db  8Fh	; П
		db  92h	; Т
		db  1Ch
		db  14h
		db  14h
		db  17h
		db  24h	; $
		db  32h	; 2
		db  30h	; 0
		db  35h	; 5
		db  47h	; G
		db  5Ah	; Z
		db  69h	; i
		db  6Ch	; l
		db  78h	; x
		db  85h	; Е
		db  8Fh	; П
		db  8Dh	; Н
		db  1Ch
		db  1Ah
		db  1Ah
		db  1Dh
		db  23h	; #
		db  33h	; 3
		db  37h	; 7
		db  46h	; F
		db  56h	; V
		db  6Eh	; n
		db  6Eh	; n
		db  71h	; q
		db  7Ch	; |
		db  8Dh	; Н
		db  8Dh	; Н
		db  8Dh	; Н
		db  1Bh
		db  1Ch
		db  21h	; !
		db  28h	; (
		db  29h	; )
		db  39h	; 9
		db  4Fh	; O
		db  47h	; G
		db  5Ah	; Z
		db  7Dh	; }
		db  76h	; v
		db  76h	; v
		db  78h	; x
		db  8Ah	; К
		db  8Dh	; Н
		db  8Ah	; К
		db  1Dh
		db  1Eh
		db  21h	; !
		db  27h	; '
		db  39h	; 9
		db  40h	; @
		db  53h	; S
		db  4Fh	; O
		db  5Ch	; \
		db  80h	; А
		db  78h	; x
		db  71h	; q
		db  7Dh	; }
		db  88h	; И
		db  88h	; И
		db  88h	; И
		db  1Eh
		db  20h
		db  27h	; '
		db  28h	; (
		db  3Ah	; :
		db  4Bh	; K
		db  60h	; `
		db  4Eh	; N
		db  4Fh	; O
		db  81h	; Б
		db  76h	; v
		db  6Fh	; o
		db  7Bh	; {
		db  80h	; А
		db  8Ah	; К
		db  8Dh	; Н
		db  22h	; "
		db  22h	; "
		db  27h	; '
		db  31h	; 1
		db  31h	; 1
		db  3Fh	; ?
		db  4Bh	; K
		db  4Fh	; O
		db  5Fh	; _
		db  75h	; u
		db  7Ch	; |
		db  6Fh	; o
		db  73h	; s
		db  7Bh	; {
		db  85h	; Е
		db  85h	; Е
		db  25h	; %
		db  26h	; &
		db  29h	; )
		db  38h	; 8
		db  36h	; 6
		db  43h	; C
		db  56h	; V
		db  66h	; f
		db  78h	; x
		db  84h	; Д
		db  79h	; y
		db  6Fh	; o
		db  71h	; q
		db  76h	; v
		db  7Bh	; {
		db  7Dh	; }
		db  25h	; %
		db  29h	; )
		db  29h	; )
		db  34h	; 4
		db  32h	; 2
		db  3Eh	; >
		db  56h	; V
		db  6Eh	; n
		db  78h	; x
		db  7Bh	; {
		db  74h	; t
		db  6Eh	; n
		db  6Ch	; l
		db  73h	; s
		db  79h	; y
		db  7Ah	; z
		db  26h	; &
		db  29h	; )
		db  29h	; )
		db  34h	; 4
		db  37h	; 7
		db  3Fh	; ?
		db  4Eh	; N
		db  5Fh	; _
		db  75h	; u
		db  73h	; s
		db  6Ch	; l
		db  6Dh	; m
		db  6Fh	; o
		db  73h	; s
		db  76h	; v
		db  78h	; x
		db  29h	; )
		db  29h	; )
		db  2Ah	; *
		db  34h	; 4
		db  38h	; 8
		db  3Dh	; =
		db  4Fh	; O
		db  5Ch	; \
		db  72h	; r
		db  72h	; r
		db  6Bh	; k
		db  6Ch	; l
		db  6Fh	; o
		db  72h	; r
		db  74h	; t
		db  75h	; u
		db  2Ah	; *
		db  28h	; (
		db  28h	; (
		db  30h	; 0
		db  39h	; 9
		db  3Eh	; >
		db  4Dh	; M
		db  60h	; `
		db  76h	; v
		db  7Ah	; z
		db  70h	; p
		db  6Bh	; k
		db  6Bh	; k
		db  6Eh	; n
		db  6Fh	; o
		db  6Fh	; o
		db  2Eh	; .
		db  2Dh	; -
		db  29h	; )
		db  32h	; 2
		db  3Ch	; <
		db  41h	; A
		db  53h	; S
		db  5Fh	; _
		db  74h	; t
		db  7Ah	; z
		db  73h	; s
		db  6Dh	; m
		db  6Bh	; k
		db  6Dh	; m
		db  6Fh	; o
		db  6Fh	; o
		db  2Fh	; /
		db  2Eh	; .
		db  2Eh	; .
		db  33h	; 3
		db  49h	; I
		db  54h	; T
		db  56h	; V
		db  69h	; i
		db  7Fh	; 
		db  81h	; Б
		db  77h	; w
		db  70h	; p
		db  70h	; p
		db  71h	; q
		db  6Eh	; n
		db  6Bh	; k
		db  20h
		db  20h
		db  1Eh
		db  1Bh
		db  1Ah
		db  19h
		db  18h
		db  18h
		db  18h
		db  1Eh
		db  21h	; !
		db  23h	; #
		db  24h	; $
		db  25h	; %
		db  22h	; "
		db  1Ch
		db  19h
		db  19h
		db  1Bh
		db  1Ch
		db  1Ch
		db  1Ch
		db  1Bh
		db  1Ah
		db  1Ah
		db  19h
		db  19h
		db  19h
		db  1Ah
		db  1Bh
		db  1Bh
		db  1Bh
		db  21h	; !		; Минимальное время между циклами детонации
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  17h
		db  15h
		db  13h
		db  11h
		db  0Fh
		db  0Eh
		db  0Ch
		db  0Ah
		db    8
		db    6
		db    4
		db    2
		db    0
		db  78h	; x
		db  61h	; a
		db  4Ah	; J
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    1
		db    2
		db    3
		db    4
		db    5
		db    6
		db    8
		db  0Ah
		db  0Ah
		db  0Ah
		db    0			; Желаемое давление наддува
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  0Eh
		db    7
		db    0
		db    0
		db    0
		db    0
		db  28h	; (
		db  28h	; (
		db  28h	; (
		db  28h	; (
		db  28h	; (
		db  28h	; (
		db  28h	; (
		db  28h	; (
		db  28h	; (
		db  28h	; (
		db  1Eh
		db  14h
		db  0Ah
		db    0
		db    0
		db    0
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  31h	; 1
		db  25h	; %
		db  19h
		db  0Ch
		db    0
		db    0
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  48h	; H
		db  40h	; @
		db  37h	; 7
		db  2Fh	; /
		db  27h	; '
		db  1Eh
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  5Ch	; \
		db  54h	; T
		db  4Bh	; K
		db  43h	; C
		db  3Bh	; ;
		db  32h	; 2
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  66h	; f
		db  5Eh	; ^
		db  55h	; U
		db  4Dh	; M
		db  45h	; E
		db  3Ch	; <
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  70h	; p
		db  68h	; h
		db  5Fh	; _
		db  57h	; W
		db  4Fh	; O
		db  46h	; F
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F0h	; Ё
		db 0EFh	; я
		db 0EBh	; ы
		db 0E4h	; ф
		db 0D9h	; ┘
		db 0C9h	; ╔
		db 0B2h	; ▓
		db  94h	; Ф
		db  6Dh	; m
		db  3Ch	; <
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db 0FBh	; √
		db 0FBh	; √
		db 0FBh	; √
		db 0FBh	; √
		db 0FBh	; √
		db 0FBh	; √
		db 0FBh	; √
		db 0FBh	; √
		db 0FBh	; √
		db 0FBh	; √
		db 0FBh	; √
		db 0FBh	; √
		db 0FAh	; ·
		db 0F8h	; °
		db 0F4h	; Ї
		db 0EDh	; э
		db 0E2h	; т
		db 0D1h	; ╤
		db 0BAh	; ║
		db  9Ah	; Ъ
		db  72h	; r
		db  3Fh	; ?
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0F1h	; ё
		db 0E2h	; т
		db 0D4h	; ╘
		db 0C6h	; ╞
		db 0B8h	; ╕
		db 0A9h	; й
		db  9Bh	; Ы
		db  8Dh	; Н
		db  7Fh	; 
		db  71h	; q
		db  63h	; c
		db  54h	; T
		db  46h	; F
		db  38h	; 8
		db  2Ah	; *
		db  1Ch
		db  0Eh
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  40h	; @		; Весовая коррекция топливоподачи
		db  41h	; A
		db  42h	; B
		db  42h	; B
		db  44h	; D
		db  45h	; E
		db  47h	; G
		db  48h	; H
		db  49h	; I
		db  49h	; I
		db  46h	; F
		db  45h	; E
		db  45h	; E
		db  46h	; F
		db  47h	; G
		db  48h	; H
		db  40h	; @
		db  41h	; A
		db  42h	; B
		db  43h	; C
		db  45h	; E
		db  46h	; F
		db  47h	; G
		db  48h	; H
		db  49h	; I
		db  49h	; I
		db  47h	; G
		db  47h	; G
		db  47h	; G
		db  47h	; G
		db  49h	; I
		db  4Ah	; J
		db  40h	; @
		db  42h	; B
		db  44h	; D
		db  45h	; E
		db  46h	; F
		db  47h	; G
		db  48h	; H
		db  49h	; I
		db  4Ah	; J
		db  4Ah	; J
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  4Ah	; J
		db  4Bh	; K
		db  4Ch	; L
		db  41h	; A
		db  43h	; C
		db  44h	; D
		db  46h	; F
		db  48h	; H
		db  49h	; I
		db  4Ah	; J
		db  4Ah	; J
		db  4Ah	; J
		db  4Bh	; K
		db  4Ch	; L
		db  4Bh	; K
		db  4Bh	; K
		db  4Ch	; L
		db  4Eh	; N
		db  50h	; P
		db  41h	; A
		db  44h	; D
		db  46h	; F
		db  47h	; G
		db  4Ah	; J
		db  4Ch	; L
		db  4Dh	; M
		db  4Dh	; M
		db  4Dh	; M
		db  4Eh	; N
		db  4Fh	; O
		db  4Fh	; O
		db  4Eh	; N
		db  4Fh	; O
		db  52h	; R
		db  55h	; U
		db  42h	; B
		db  45h	; E
		db  47h	; G
		db  49h	; I
		db  4Dh	; M
		db  50h	; P
		db  53h	; S
		db  53h	; S
		db  53h	; S
		db  54h	; T
		db  55h	; U
		db  54h	; T
		db  54h	; T
		db  54h	; T
		db  57h	; W
		db  5Ah	; Z
		db  42h	; B
		db  45h	; E
		db  48h	; H
		db  4Bh	; K
		db  50h	; P
		db  55h	; U
		db  58h	; X
		db  5Ah	; Z
		db  5Bh	; [
		db  5Dh	; ]
		db  5Dh	; ]
		db  5Ch	; \
		db  5Bh	; [
		db  59h	; Y
		db  5Dh	; ]
		db  61h	; a
		db  43h	; C
		db  46h	; F
		db  49h	; I
		db  4Ch	; L
		db  53h	; S
		db  58h	; X
		db  5Eh	; ^
		db  60h	; `
		db  63h	; c
		db  65h	; e
		db  67h	; g
		db  67h	; g
		db  65h	; e
		db  63h	; c
		db  67h	; g
		db  6Bh	; k
		db  43h	; C
		db  46h	; F
		db  4Ah	; J
		db  4Eh	; N
		db  55h	; U
		db  5Ch	; \
		db  62h	; b
		db  67h	; g
		db  6Ch	; l
		db  70h	; p
		db  73h	; s
		db  74h	; t
		db  73h	; s
		db  71h	; q
		db  75h	; u
		db  7Ah	; z
		db  43h	; C
		db  47h	; G
		db  4Ah	; J
		db  4Eh	; N
		db  56h	; V
		db  5Fh	; _
		db  67h	; g
		db  6Eh	; n
		db  75h	; u
		db  7Ch	; |
		db  80h	; А
		db  84h	; Д
		db  84h	; Д
		db  84h	; Д
		db  87h	; З
		db  8Ch	; М
		db  44h	; D
		db  47h	; G
		db  4Bh	; K
		db  4Fh	; O
		db  57h	; W
		db  60h	; `
		db  6Ah	; j
		db  75h	; u
		db  7Eh	; ~
		db  86h	; Ж
		db  8Dh	; Н
		db  92h	; Т
		db  95h	; Х
		db  94h	; Ф
		db  99h	; Щ
		db  9Eh	; Ю
		db  43h	; C
		db  47h	; G
		db  4Bh	; K
		db  4Fh	; O
		db  58h	; X
		db  61h	; a
		db  6Dh	; m
		db  78h	; x
		db  84h	; Д
		db  8Eh	; О
		db  97h	; Ч
		db  9Eh	; Ю
		db 0A3h	; г
		db 0A2h	; в
		db 0A8h	; и
		db 0AFh	; п
		db  43h	; C
		db  47h	; G
		db  4Bh	; K
		db  50h	; P
		db  58h	; X
		db  61h	; a
		db  6Dh	; m
		db  7Ah	; z
		db  87h	; З
		db  93h	; У
		db  9Dh	; Э
		db 0A6h	; ж
		db 0ACh	; м
		db 0AEh	; о
		db 0B6h	; ╢
		db 0C1h	; ┴
		db  43h	; C
		db  47h	; G
		db  4Bh	; K
		db  50h	; P
		db  58h	; X
		db  62h	; b
		db  6Eh	; n
		db  7Dh	; }
		db  89h	; Й
		db  96h	; Ц
		db 0A2h	; в
		db 0ADh	; н
		db 0B4h	; ┤
		db 0B8h	; ╕
		db 0C4h	; ─
		db 0D1h	; ╤
		db  43h	; C
		db  47h	; G
		db  4Bh	; K
		db  50h	; P
		db  59h	; Y
		db  63h	; c
		db  70h	; p
		db  7Dh	; }
		db  8Bh	; Л
		db  99h	; Щ
		db 0A7h	; з
		db 0B3h	; │
		db 0BAh	; ║
		db 0C0h	; └
		db 0CEh	; ╬
		db 0E0h	; р
		db  43h	; C
		db  47h	; G
		db  4Bh	; K
		db  50h	; P
		db  5Ah	; Z
		db  64h	; d
		db  71h	; q
		db  7Dh	; }
		db  8Ch	; М
		db  9Ah	; Ъ
		db 0AAh	; к
		db 0B7h	; ╖
		db 0BEh	; ╛
		db 0C4h	; ─
		db 0D7h	; ╫
		db 0E6h	; ц
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db  40h	; @		; Экстраполирующий коэффициент пересчета GBC
					; (Ускорительный насос по дросселю)
		db  40h	; @
		db  3Eh	; >
		db  3Ch	; <
		db  3Ah	; :
		db  38h	; 8
		db  36h	; 6
		db  34h	; 4
		db  32h	; 2
		db  30h	; 0
		db  2Eh	; .
		db  2Ch	; ,
		db  2Ah	; *
		db  28h	; (
		db  26h	; &
		db  24h	; $
		db  22h	; "
		db  20h
		db  1Eh
		db  1Ch
		db  1Ah
		db  18h
		db  16h
		db  14h
		db  12h
		db  11h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  96h	; Ц
		db  8Eh	; О
		db  86h	; Ж
		db  7Eh	; ~
		db  76h	; v
		db  6Eh	; n
		db  66h	; f
		db  5Eh	; ^
		db  56h	; V
		db  4Eh	; N
		db  45h	; E
		db  3Dh	; =
		db  35h	; 5
		db  2Dh	; -
		db  25h	; %
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Dh
		db  97h	; Ч
		db  97h	; Ч
		db    0
		db    0
		db  80h	; А
		db 0B4h	; ┤
		db 0CDh	; ═
		db 0DAh	; ┌
		db 0E7h	; ч
		db 0E7h	; ч
		db 0E7h	; ч
		db  80h	; А
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  74h	; t
		db 0A7h	; з
		db 0C1h	; ┴
		db 0CDh	; ═
		db 0DAh	; ┌
		db 0DAh	; ┌
		db 0DAh	; ┌
		db  80h	; А
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  67h	; g
		db  9Ah	; Ъ
		db 0B4h	; ┤
		db 0C1h	; ┴
		db 0CEh	; ╬
		db 0CEh	; ╬
		db 0CEh	; ╬
		db  80h	; А
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  5Ah	; Z
		db  8Eh	; О
		db 0A7h	; з
		db 0B4h	; ┤
		db 0C1h	; ┴
		db 0C1h	; ┴
		db 0C1h	; ┴
		db  80h	; А
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  40h	; @
		db  80h	; А
		db  9Ah	; Ъ
		db 0A7h	; з
		db 0B4h	; ┤
		db 0B4h	; ┤
		db 0B4h	; ┤
		db  80h	; А
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  1Ah
		db  34h	; 4
		db  4Dh	; M
		db  67h	; g
		db  8Dh	; Н
		db  8Dh	; Н
		db  9Ah	; Ъ
		db  67h	; g
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  1Ah
		db  34h	; 4
		db  4Dh	; M
		db  67h	; g
		db  80h	; А
		db  8Dh	; Н
		db  4Dh	; M
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  1Ah
		db  34h	; 4
		db  4Dh	; M
		db  67h	; g
		db  80h	; А
		db  34h	; 4
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  1Ah
		db  34h	; 4
		db  4Dh	; M
		db  4Dh	; M
		db  1Ah
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  1Ah
		db  34h	; 4
		db  1Ah
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  1Ah
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  4Ch	; L
		db  49h	; I
		db  48h	; H
		db  46h	; F
		db  43h	; C
		db  41h	; A
		db  40h	; @
		db  3Dh	; =
		db  3Bh	; ;
		db  3Ah	; :
		db  37h	; 7
		db  35h	; 5
		db  32h	; 2
		db  31h	; 1
		db  2Fh	; /
		db  2Ch	; ,
		db  2Ah	; *
		db  29h	; )
		db  26h	; &
		db  24h	; $
		db  22h	; "
		db  20h
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db 0C2h	; ┬
		db 0C5h	; ┼
		db 0C9h	; ╔
		db 0CCh	; ╠
		db 0D0h	; ╨
		db 0D3h	; ╙
		db 0D6h	; ╓
		db 0D8h	; ╪
		db 0DBh	; █
		db 0D4h	; ╘
		db 0C6h	; ╞
		db 0B1h	; ▒
		db  97h	; Ч
		db  78h	; x
		db  54h	; T
		db  2Ch	; ,
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  80h	; А		; Коэффициент топлива по давлению
		db  80h	; А
		db  81h	; Б
		db  83h	; Г
		db  84h	; Д
		db  86h	; Ж
		db  88h	; И
		db  8Ah	; К
		db  8Dh	; Н
		db  90h	; Р
		db  93h	; У
		db  96h	; Ц
		db  9Ah	; Ъ
		db  9Eh	; Ю
		db 0A1h	; б
		db 0A6h	; ж
		db 0AAh	; к
		db 0AEh	; о
		db 0B3h	; │
		db 0B8h	; ╕
		db 0BDh	; ╜
		db 0C2h	; ┬
		db 0C7h	; ╟
		db 0CDh	; ═
		db 0D3h	; ╙
		db 0D9h	; ┘
		db 0DFh	; ▀
		db 0E5h	; х
		db 0EBh	; ы
		db 0F2h	; Є
		db 0F8h	; °
		db 0FFh
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  1Ch			; УОЗ базовое (turbo)
		db  24h	; $
		db  2Bh	; +
		db  2Fh	; /
		db  32h	; 2
		db  3Ah	; :
		db  42h	; B
		db  45h	; E
		db  49h	; I
		db  4Ch	; L
		db  4Ch	; L
		db  4Eh	; N
		db  4Eh	; N
		db  4Eh	; N
		db  4Eh	; N
		db  4Eh	; N
		db  1Ah
		db  1Eh
		db  27h	; '
		db  2Dh	; -
		db  31h	; 1
		db  3Ah	; :
		db  40h	; @
		db  44h	; D
		db  47h	; G
		db  4Bh	; K
		db  4Bh	; K
		db  4Dh	; M
		db  4Ch	; L
		db  4Ch	; L
		db  4Ch	; L
		db  4Ch	; L
		db  17h
		db  1Dh
		db  24h	; $
		db  2Bh	; +
		db  30h	; 0
		db  38h	; 8
		db  3Dh	; =
		db  42h	; B
		db  43h	; C
		db  45h	; E
		db  46h	; F
		db  47h	; G
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  49h	; I
		db  17h
		db  1Ah
		db  21h	; !
		db  28h	; (
		db  2Fh	; /
		db  35h	; 5
		db  39h	; 9
		db  3Dh	; =
		db  40h	; @
		db  41h	; A
		db  42h	; B
		db  43h	; C
		db  43h	; C
		db  46h	; F
		db  46h	; F
		db  45h	; E
		db  17h
		db  19h
		db  20h
		db  26h	; &
		db  2Eh	; .
		db  32h	; 2
		db  35h	; 5
		db  3Ah	; :
		db  3Bh	; ;
		db  3Bh	; ;
		db  3Dh	; =
		db  3Dh	; =
		db  3Dh	; =
		db  3Dh	; =
		db  3Dh	; =
		db  3Dh	; =
		db  15h
		db  16h
		db  1Dh
		db  21h	; !
		db  29h	; )
		db  2Bh	; +
		db  30h	; 0
		db  36h	; 6
		db  37h	; 7
		db  38h	; 8
		db  39h	; 9
		db  39h	; 9
		db  3Ah	; :
		db  3Ah	; :
		db  39h	; 9
		db  39h	; 9
		db  15h
		db  16h
		db  1Bh
		db  1Eh
		db  24h	; $
		db  27h	; '
		db  2Dh	; -
		db  32h	; 2
		db  34h	; 4
		db  34h	; 4
		db  36h	; 6
		db  36h	; 6
		db  36h	; 6
		db  35h	; 5
		db  36h	; 6
		db  37h	; 7
		db  15h
		db  16h
		db  1Ah
		db  1Bh
		db  1Eh
		db  25h	; %
		db  29h	; )
		db  2Ch	; ,
		db  2Eh	; .
		db  30h	; 0
		db  33h	; 3
		db  35h	; 5
		db  35h	; 5
		db  34h	; 4
		db  35h	; 5
		db  34h	; 4
		db  15h
		db  16h
		db  19h
		db  1Ah
		db  1Dh
		db  20h
		db  23h	; #
		db  27h	; '
		db  29h	; )
		db  2Ch	; ,
		db  2Fh	; /
		db  32h	; 2
		db  33h	; 3
		db  33h	; 3
		db  33h	; 3
		db  32h	; 2
		db  16h
		db  16h
		db  19h
		db  19h
		db  1Ch
		db  1Eh
		db  22h	; "
		db  22h	; "
		db  25h	; %
		db  29h	; )
		db  2Ch	; ,
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  2Fh	; /
		db  16h
		db  16h
		db  19h
		db  19h
		db  1Ch
		db  1Dh
		db  20h
		db  20h
		db  24h	; $
		db  26h	; &
		db  29h	; )
		db  2Dh	; -
		db  2Dh	; -
		db  2Eh	; .
		db  2Eh	; .
		db  2Eh	; .
		db  16h
		db  16h
		db  18h
		db  19h
		db  1Bh
		db  1Bh
		db  1Eh
		db  20h
		db  21h	; !
		db  24h	; $
		db  27h	; '
		db  2Ah	; *
		db  2Bh	; +
		db  2Bh	; +
		db  2Ch	; ,
		db  2Ch	; ,
		db  16h
		db  17h
		db  19h
		db  19h
		db  1Ah
		db  1Ah
		db  1Dh
		db  1Fh
		db  1Fh
		db  20h
		db  23h	; #
		db  25h	; %
		db  28h	; (
		db  29h	; )
		db  29h	; )
		db  29h	; )
		db  16h
		db  17h
		db  18h
		db  19h
		db  19h
		db  1Ah
		db  1Ch
		db  1Eh
		db  1Eh
		db  1Fh
		db  21h	; !
		db  23h	; #
		db  25h	; %
		db  26h	; &
		db  27h	; '
		db  27h	; '
		db  16h
		db  17h
		db  19h
		db  19h
		db  19h
		db  1Bh
		db  1Ch
		db  1Eh
		db  1Eh
		db  1Fh
		db  20h
		db  21h	; !
		db  22h	; "
		db  24h	; $
		db  25h	; %
		db  25h	; %
		db  16h
		db  17h
		db  18h
		db  19h
		db  19h
		db  1Bh
		db  1Ch
		db  1Dh
		db  1Eh
		db  1Fh
		db  20h
		db  21h	; !
		db  22h	; "
		db  24h	; $
		db  26h	; &
		db  26h	; &
		db  19h
		db  1Eh
		db  26h	; &
		db  2Dh	; -
		db  37h	; 7
		db  3Eh	; >
		db  43h	; C
		db  47h	; G
		db  4Bh	; K
		db  4Eh	; N
		db  50h	; P
		db  52h	; R
		db  54h	; T
		db  56h	; V
		db  58h	; X
		db  5Ah	; Z
		db  5Ch	; \
		db  5Eh	; ^
		db  61h	; a
		db  62h	; b
		db  64h	; d
		db  65h	; e
		db  66h	; f
		db  67h	; g
		db  68h	; h
		db  68h	; h
		db  68h	; h
		db  68h	; h
		db  69h	; i
		db  69h	; i
		db  6Ah	; j
		db  6Ah	; j
		db    2
		db    2
		db    2
		db    2
		db    3
		db    4
		db    4
		db    5
		db    5
		db    6
		db    6
		db    6
		db    6
		db    7
		db    7
		db    7
		db    8
		db    8
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db 0B4h	; ┤
		db 0B4h	; ┤
		db 0B4h	; ┤
		db 0B4h	; ┤
		db 0AAh	; к
		db  9Fh	; Я
		db  97h	; Ч
		db  91h	; С
		db  8Bh	; Л
		db  85h	; Е
		db  7Eh	; ~
		db  78h	; x
		db  72h	; r
		db  6Ch	; l
		db  67h	; g
		db  62h	; b
		db  5Dh	; ]
		db  59h	; Y
		db  55h	; U
		db  51h	; Q
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  52h	; R
		db  53h	; S
		db  54h	; T
		db  55h	; U
		db  56h	; V
		db  57h	; W
		db  58h	; X
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Ah
		db  0Fh
		db  10h
		db  11h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  12h
		db  0Ah
		db  0Fh
		db  10h
		db  11h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  12h
		db  0Fh
		db  0Fh
		db  10h
		db  11h
		db  11h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  12h
		db  10h
		db  0Fh
		db  10h
		db  11h
		db  11h
		db  11h
		db  11h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  12h
		db  10h
		db  0Fh
		db  0Fh
		db  10h
		db  11h
		db  11h
		db  11h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  12h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  11h
		db  11h
		db  11h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  12h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  10h
		db  11h
		db  11h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  10h
		db  11h
		db  11h
		db  11h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  10h
		db  11h
		db  11h
		db  10h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  10h
		db  11h
		db  11h
		db  10h
		db  10h
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  28h	; (
		db  27h	; '
		db  26h	; &
		db  25h	; %
		db  24h	; $
		db  23h	; #
		db  21h	; !
		db  1Fh
		db  1Dh
		db  1Bh
		db  19h
		db  17h
		db  15h
		db  14h
		db  13h
		db  12h
		db  11h
		db  10h
		db  0Fh
		db  0Eh
		db  0Dh
		db  0Ch
		db  0Bh
		db  0Ah
		db    9
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db  40h	; @
		db  44h	; D
		db  47h	; G
		db  4Ah	; J
		db  4Dh	; M
		db  50h	; P
		db  52h	; R
		db  55h	; U
		db  58h	; X
		db  5Ah	; Z
		db  5Dh	; ]
		db  5Fh	; _
		db  62h	; b
		db  64h	; d
		db  66h	; f
		db  69h	; i
		db  6Bh	; k
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db  6Dh	; m
		db    0			; Задержка регулирования Lean-Rich
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  0Ah
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  0Ah
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    1
		db    2
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    1
		db    1
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    1
		db    1
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Задержка регулирования Rich-Lean
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  0Ah
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  0Ah
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    1
		db    2
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    1
		db    1
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    1
		db    1
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db  6Eh	; n
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  57h	; W
		db  57h	; W
		db  57h	; W
		db  49h	; I
		db  3Ch	; <
		db  31h	; 1
		db  25h	; %
		db  1Bh
		db  14h
		db  0Eh
		db    9
		db    9
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  12h
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  59h	; Y
		db  53h	; S
		db  53h	; S
		db  51h	; Q
		db  50h	; P
		db  4Eh	; N
		db  4Eh	; N
		db  4Eh	; N
		db  4Eh	; N
		db  4Eh	; N
		db    0			; Смещение степени открытия клапана wastegate при детонации
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  52h	; R		; Обороты полного выхода из режима пуска
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  52h	; R
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db    3			; Положение закрытого дросселя,	таблица
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    4
		db    4
		db    5
		db    5
		db    5
		db    6
		db    6
		db    7
		db    7
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Dh
		db  0Eh
		db  0Fh
		db  10h
		db  11h
		db  12h
		db  13h
		db  14h
		db  15h
		db  16h
		db  17h
		db  18h
		db  19h
		db  1Ah
		db  1Bh
		db  1Dh
		db  1Eh
		db  20h
		db  22h	; "
		db  23h	; #
		db  25h	; %
		db  26h	; &
		db  27h	; '
		db  28h	; (
		db  29h	; )
		db  2Bh	; +
		db  2Ch	; ,
		db  2Dh	; -
		db  2Eh	; .
		db  2Fh	; /
		db  30h	; 0
		db  31h	; 1
		db  32h	; 2
		db  33h	; 3
		db  34h	; 4
		db  35h	; 5
		db  36h	; 6
		db  37h	; 7
		db  38h	; 8
		db  39h	; 9
		db  3Ah	; :
		db  3Bh	; ;
		db  3Ch	; <
		db  3Dh	; =
		db  3Dh	; =
		db  3Eh	; >
		db  3Fh	; ?
		db  3Fh	; ?
		db  40h	; @
		db  40h	; @
		db  41h	; A
		db  42h	; B
		db  42h	; B
		db  43h	; C
		db  44h	; D
		db  45h	; E
		db  45h	; E
		db  46h	; F
		db  47h	; G
		db  48h	; H
		db  48h	; H
		db  49h	; I
		db  4Ah	; J
		db  4Bh	; K
		db  4Ch	; L
		db  4Ch	; L
		db  4Dh	; M
		db  4Eh	; N
		db  4Fh	; O
		db  4Fh	; O
		db  50h	; P
		db  50h	; P
		db  51h	; Q
		db  51h	; Q
		db  52h	; R
		db  52h	; R
		db  53h	; S
		db  53h	; S
		db  54h	; T
		db  54h	; T
		db  55h	; U
		db  55h	; U
		db  55h	; U
		db  56h	; V
		db  56h	; V
		db  57h	; W
		db  57h	; W
		db  58h	; X
		db  58h	; X
		db  59h	; Y
		db  59h	; Y
		db  5Ah	; Z
		db  5Ah	; Z
		db  5Bh	; [
		db  5Bh	; [
		db  5Ch	; \
		db  5Ch	; \
		db  5Dh	; ]
		db  5Dh	; ]
		db  5Eh	; ^
		db  5Eh	; ^
		db  5Fh	; _
		db  5Fh	; _
		db  60h	; `
		db  60h	; `
		db  61h	; a
		db  61h	; a
		db  62h	; b
		db  62h	; b
		db  63h	; c
		db  63h	; c
		db  63h	; c
		db  64h	; d
		db  65h	; e
		db  66h	; f
		db  66h	; f
		db  67h	; g
		db  68h	; h
		db  68h	; h
		db  69h	; i
		db  69h	; i
		db  6Ah	; j
		db  6Bh	; k
		db  6Bh	; k
		db  6Ch	; l
		db  6Dh	; m
		db  6Dh	; m
		db  6Eh	; n
		db  6Eh	; n
		db  6Fh	; o
		db  70h	; p
		db  71h	; q
		db  72h	; r
		db  73h	; s
		db  74h	; t
		db  76h	; v
		db  77h	; w
		db  79h	; y
		db  7Bh	; {
		db  7Eh	; ~
		db  81h	; Б
		db  84h	; Д
		db  88h	; И
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  14h			; Hачальное смещение РХХ после пуска
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  14h
		db  16h
		db  16h
		db  16h
		db  16h
		db  16h
		db  16h
		db  16h
		db  16h
		db  16h
		db  16h
		db    0			; Минимальное смещение РХХ после пуска
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    5			; Период убывания смещения РХХ
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    2
		db    5
		db    7
		db  0Ah
		db  0Dh
		db  10h
		db  12h
		db  15h
		db  18h
		db  1Ah
		db  1Ch
		db  1Eh
		db  20h
		db  22h	; "
		db  24h	; $
		db  27h	; '
		db  2Ah	; *
		db  2Dh	; -
		db  30h	; 0
		db  32h	; 2
		db  35h	; 5
		db  38h	; 8
		db  3Bh	; ;
		db  3Eh	; >
		db  40h	; @
		db  43h	; C
		db  46h	; F
		db  49h	; I
		db  4Ch	; L
		db  50h	; P
		db  53h	; S
		db  56h	; V
		db  59h	; Y
		db  5Ch	; \
		db  60h	; `
		db  64h	; d
		db  67h	; g
		db  6Ah	; j
		db  6Dh	; m
		db  70h	; p
		db  72h	; r
		db  74h	; t
		db  76h	; v
		db  78h	; x
		db  7Ah	; z
		db  7Ch	; |
		db  7Eh	; ~
		db  7Fh	; 
		db  80h	; А
		db  83h	; Г
		db  86h	; Ж
		db  89h	; Й
		db  8Ch	; М
		db  90h	; Р
		db  92h	; Т
		db  94h	; Ф
		db  96h	; Ц
		db  97h	; Ч
		db  98h	; Ш
		db  99h	; Щ
		db  9Ah	; Ъ
		db  9Bh	; Ы
		db  9Ch	; Ь
		db  9Dh	; Э
		db  9Eh	; Ю
		db  9Fh	; Я
		db 0A0h	; а
		db 0A3h	; г
		db 0A6h	; ж
		db 0A9h	; й
		db 0ACh	; м
		db 0B0h	; ░
		db 0B2h	; ▓
		db 0B4h	; ┤
		db 0B6h	; ╢
		db 0B8h	; ╕
		db 0BAh	; ║
		db 0BCh	; ╝
		db 0BDh	; ╜
		db 0BEh	; ╛
		db 0BFh	; ┐
		db 0C0h	; └
		db 0C1h	; ┴
		db 0C2h	; ┬
		db 0C3h	; ├
		db 0C4h	; ─
		db 0C5h	; ┼
		db 0C6h	; ╞
		db 0C7h	; ╟
		db 0C8h	; ╚
		db 0C9h	; ╔
		db 0CAh	; ╩
		db 0CBh	; ╦
		db 0CCh	; ╠
		db 0CDh	; ═
		db 0CEh	; ╬
		db 0D0h	; ╨
		db 0D1h	; ╤
		db 0D2h	; ╥
		db 0D3h	; ╙
		db 0D4h	; ╘
		db 0D5h	; ╒
		db 0D6h	; ╓
		db 0D7h	; ╫
		db 0D8h	; ╪
		db 0D9h	; ┘
		db 0DAh	; ┌
		db 0DBh	; █
		db 0DCh	; ▄
		db 0DDh	; ▌
		db 0DDh	; ▌
		db 0DEh	; ▐
		db 0DEh	; ▐
		db 0DFh	; ▀
		db 0DFh	; ▀
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E1h	; с
		db 0E1h	; с
		db 0E2h	; т
		db 0E2h	; т
		db 0E3h	; у
		db 0E3h	; у
		db 0E4h	; ф
		db 0E4h	; ф
		db 0E5h	; х
		db 0E5h	; х
		db 0E6h	; ц
		db 0E6h	; ц
		db 0E7h	; ч
		db 0E7h	; ч
		db 0E8h	; ш
		db 0E8h	; ш
		db 0E9h	; щ
		db 0E9h	; щ
		db 0EAh	; ъ
		db 0EAh	; ъ
		db 0EBh	; ы
		db 0EBh	; ы
		db 0ECh	; ь
		db 0ECh	; ь
		db 0EDh	; э
		db 0EDh	; э
		db 0EEh	; ю
		db 0EEh	; ю
		db 0EFh	; я
		db 0EFh	; я
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db 0F0h	; Ё
		db  8Ch	; М		; Положение РХХ	от температуры
		db  8Ch	; М
		db  8Ch	; М
		db  82h	; В
		db  7Bh	; {
		db  76h	; v
		db  71h	; q
		db  6Ch	; l
		db  67h	; g
		db  63h	; c
		db  60h	; `
		db  5Ch	; \
		db  59h	; Y
		db  56h	; V
		db  53h	; S
		db  50h	; P
		db  4Dh	; M
		db  4Bh	; K
		db  48h	; H
		db  45h	; E
		db  43h	; C
		db  41h	; A
		db  3Eh	; >
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db  3Ch	; <
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    2
		db    3
		db    5
		db    6
		db    8
		db    9
		db  0Bh
		db  0Ch
		db  0Eh
		db  10h
		db  12h
		db  13h
		db  15h
		db  16h
		db  18h
		db  1Ah
		db  1Bh
		db  1Dh
		db  1Fh
		db  20h
		db  23h	; #
		db  26h	; &
		db  2Ah	; *
		db  2Dh	; -
		db  30h	; 0
		db  33h	; 3
		db  36h	; 6
		db  3Ah	; :
		db  3Dh	; =
		db  40h	; @
		db  43h	; C
		db  47h	; G
		db  4Ah	; J
		db  4Dh	; M
		db  50h	; P
		db  53h	; S
		db  56h	; V
		db  5Ah	; Z
		db  5Dh	; ]
		db  60h	; `
		db  63h	; c
		db  66h	; f
		db  6Ah	; j
		db  6Dh	; m
		db  70h	; p
		db  73h	; s
		db  76h	; v
		db  7Ah	; z
		db  7Dh	; }
		db  80h	; А
		db  83h	; Г
		db  86h	; Ж
		db  8Ah	; К
		db  8Dh	; Н
		db  90h	; Р
		db  93h	; У
		db  96h	; Ц
		db  9Ah	; Ъ
		db  9Dh	; Э
		db 0A0h	; а
		db 0A3h	; г
		db 0A6h	; ж
		db 0AAh	; к
		db 0ADh	; н
		db 0B0h	; ░
		db 0B3h	; │
		db 0B6h	; ╢
		db 0BAh	; ║
		db 0BDh	; ╜
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Dh	; -
		db  2Bh	; +
		db  2Bh	; +
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  23h	; #
		db  23h	; #
		db  23h	; #
		db  23h	; #
		db  23h	; #
		db  22h	; "
		db  21h	; !
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  31h	; 1
		db  32h	; 2
		db  33h	; 3
		db  34h	; 4
		db  36h	; 6
		db  38h	; 8
		db  3Ah	; :
		db  3Ch	; <
		db  3Dh	; =
		db  3Dh	; =
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db  3Eh	; >
		db 0C0h	; └		; Поправка циклового наполнения	(ДАД)
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db 0C0h	; └
		db  78h	; x
		db  75h	; u
		db  72h	; r
		db  6Fh	; o
		db  6Ch	; l
		db  6Ah	; j
		db  67h	; g
		db  65h	; e
		db  63h	; c
		db  60h	; `
		db  57h	; W
		db  4Eh	; N
		db  48h	; H
		db  42h	; B
		db  3Eh	; >
		db  3Ah	; :
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db  38h	; 8
		db    1
		db  1Bh
		db  35h	; 5
		db  4Eh	; N
		db  67h	; g
		db  81h	; Б
		db  9Ah	; Ъ
		db 0B3h	; │
		db 0CDh	; ═
		db 0E6h	; ц
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db    0
		db    0
		db    0
		db    0
		db    1
		db    1
		db    2
		db    2
		db    3
		db    3
		db    4
		db    4
		db    5
		db    5
		db    6
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    0
		db    0
		db    1
		db    1
		db    1
		db    2
		db    2
		db    2
		db    3
		db    3
		db    3
		db    4
		db    4
		db    4
		db    4
		db    5
		db    5
		db    5
		db    6
		db    6
		db    6
		db    6
		db    7
		db    7
		db    7
		db    8
		db    8
		db    8
		db    8
		db    9
		db    9
		db    9
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db  7Dh	; }
		db 0FAh	; ·
		db 0FAh	; ·
		db 0FAh	; ·
		db 0FAh	; ·
		db 0FAh	; ·
		db 0FAh	; ·
		db 0FAh	; ·
		db 0FAh	; ·
		db 0FAh	; ·
		db 0FAh	; ·
		db 0FAh	; ·
		db    0			; Индекс по скорости/оборотам
		db    0
		db    0
		db    0
		db    0
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db 0FFh			; Степень открытия клапана wastegate 1 передача
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  5Ch	; \
		db  53h	; S
		db  4Ah	; J
		db  42h	; B
		db  3Ah	; :
		db  32h	; 2
		db  2Bh	; +
		db  23h	; #
		db  1Ch
		db  15h
		db  0Eh
		db    8
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  6Dh	; m
		db  62h	; b
		db  58h	; X
		db  4Eh	; N
		db  44h	; D
		db  3Bh	; ;
		db  32h	; 2
		db  2Ah	; *
		db  21h	; !
		db  19h
		db  11h
		db    9
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  7Fh	; 
		db  73h	; s
		db  66h	; f
		db  5Bh	; [
		db  50h	; P
		db  45h	; E
		db  3Bh	; ;
		db  31h	; 1
		db  27h	; '
		db  1Dh
		db  14h
		db  0Ah
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  91h	; С
		db  83h	; Г
		db  75h	; u
		db  68h	; h
		db  5Bh	; [
		db  4Fh	; O
		db  43h	; C
		db  37h	; 7
		db  2Ch	; ,
		db  21h	; !
		db  16h
		db  0Bh
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db 0A4h	; д
		db  94h	; Ф
		db  84h	; Д
		db  75h	; u
		db  67h	; g
		db  59h	; Y
		db  4Ch	; L
		db  3Fh	; ?
		db  32h	; 2
		db  25h	; %
		db  19h
		db  0Dh
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db 0B6h	; ╢
		db 0A4h	; д
		db  92h	; Т
		db  82h	; В
		db  72h	; r
		db  63h	; c
		db  54h	; T
		db  45h	; E
		db  37h	; 7
		db  29h	; )
		db  1Ch
		db  0Eh
		db    1
		db 0FFh			; Степень открытия клапана wastegate 2 передача
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  5Ch	; \
		db  53h	; S
		db  4Ah	; J
		db  42h	; B
		db  3Ah	; :
		db  32h	; 2
		db  2Bh	; +
		db  23h	; #
		db  1Ch
		db  15h
		db  0Eh
		db    8
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  6Dh	; m
		db  62h	; b
		db  58h	; X
		db  4Eh	; N
		db  44h	; D
		db  3Bh	; ;
		db  32h	; 2
		db  2Ah	; *
		db  21h	; !
		db  19h
		db  11h
		db    9
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  7Fh	; 
		db  73h	; s
		db  66h	; f
		db  5Bh	; [
		db  50h	; P
		db  45h	; E
		db  3Bh	; ;
		db  31h	; 1
		db  27h	; '
		db  1Dh
		db  14h
		db  0Ah
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db  91h	; С
		db  83h	; Г
		db  75h	; u
		db  68h	; h
		db  5Bh	; [
		db  4Fh	; O
		db  43h	; C
		db  37h	; 7
		db  2Ch	; ,
		db  21h	; !
		db  16h
		db  0Bh
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db 0A4h	; д
		db  94h	; Ф
		db  84h	; Д
		db  75h	; u
		db  67h	; g
		db  59h	; Y
		db  4Ch	; L
		db  3Fh	; ?
		db  32h	; 2
		db  25h	; %
		db  19h
		db  0Dh
		db    1
		db 0FFh
		db 0FFh
		db 0FFh
		db 0B6h	; ╢
		db 0A4h	; д
		db  92h	; Т
		db  82h	; В
		db  72h	; r
		db  63h	; c
		db  54h	; T
		db  45h	; E
		db  37h	; 7
		db  29h	; )
		db  1Ch
		db  0Eh
		db    1
		db  50h	; P
		db  51h	; Q
		db  51h	; Q
		db  52h	; R
		db  52h	; R
		db  51h	; Q
		db  52h	; R
		db  5Ch	; \
		db  5Eh	; ^
		db  5Dh	; ]
		db  5Fh	; _
		db  65h	; e
		db  6Ah	; j
		db  69h	; i
		db  71h	; q
		db  76h	; v
		db  56h	; V
		db  56h	; V
		db  57h	; W
		db  59h	; Y
		db  5Bh	; [
		db  59h	; Y
		db  58h	; X
		db  5Eh	; ^
		db  60h	; `
		db  5Fh	; _
		db  61h	; a
		db  66h	; f
		db  6Ch	; l
		db  6Bh	; k
		db  73h	; s
		db  77h	; w
		db  5Bh	; [
		db  5Dh	; ]
		db  5Eh	; ^
		db  63h	; c
		db  67h	; g
		db  63h	; c
		db  61h	; a
		db  61h	; a
		db  60h	; `
		db  62h	; b
		db  63h	; c
		db  66h	; f
		db  6Ch	; l
		db  6Eh	; n
		db  75h	; u
		db  79h	; y
		db  63h	; c
		db  63h	; c
		db  64h	; d
		db  67h	; g
		db  6Ch	; l
		db  68h	; h
		db  67h	; g
		db  67h	; g
		db  6Bh	; k
		db  68h	; h
		db  63h	; c
		db  67h	; g
		db  6Dh	; m
		db  72h	; r
		db  79h	; y
		db  7Dh	; }
		db  65h	; e
		db  66h	; f
		db  68h	; h
		db  6Bh	; k
		db  6Fh	; o
		db  6Fh	; o
		db  6Bh	; k
		db  6Eh	; n
		db  72h	; r
		db  70h	; p
		db  6Bh	; k
		db  67h	; g
		db  6Eh	; n
		db  76h	; v
		db  7Dh	; }
		db  80h	; А
		db  68h	; h
		db  6Ah	; j
		db  6Ch	; l
		db  6Dh	; m
		db  74h	; t
		db  75h	; u
		db  72h	; r
		db  77h	; w
		db  73h	; s
		db  76h	; v
		db  73h	; s
		db  6Eh	; n
		db  71h	; q
		db  7Bh	; {
		db  82h	; В
		db  85h	; Е
		db  6Ch	; l
		db  6Dh	; m
		db  6Eh	; n
		db  71h	; q
		db  7Ah	; z
		db  7Dh	; }
		db  79h	; y
		db  7Dh	; }
		db  77h	; w
		db  77h	; w
		db  79h	; y
		db  7Bh	; {
		db  7Fh	; 
		db  88h	; И
		db  90h	; Р
		db  90h	; Р
		db  6Eh	; n
		db  6Fh	; o
		db  6Fh	; o
		db  73h	; s
		db  7Ch	; |
		db  7Eh	; ~
		db  80h	; А
		db  87h	; З
		db  86h	; Ж
		db  86h	; Ж
		db  8Dh	; Н
		db  92h	; Т
		db  92h	; Т
		db  99h	; Щ
		db  9Bh	; Ы
		db  9Dh	; Э
		db  6Fh	; o
		db  70h	; p
		db  6Fh	; o
		db  70h	; p
		db  7Ch	; |
		db  80h	; А
		db  84h	; Д
		db  8Dh	; Н
		db  8Eh	; О
		db  92h	; Т
		db  97h	; Ч
		db 0A1h	; б
		db 0A2h	; в
		db 0A4h	; д
		db 0A5h	; е
		db 0A9h	; й
		db  6Fh	; o
		db  6Fh	; o
		db  6Fh	; o
		db  6Fh	; o
		db  7Dh	; }
		db  7Fh	; 
		db  88h	; И
		db  8Fh	; П
		db  91h	; С
		db  90h	; Р
		db  9Bh	; Ы
		db 0A4h	; д
		db 0A6h	; ж
		db 0A7h	; з
		db 0AAh	; к
		db 0ABh	; л
		db  71h	; q
		db  6Fh	; o
		db  6Dh	; m
		db  6Fh	; o
		db  7Bh	; {
		db  7Eh	; ~
		db  87h	; З
		db  92h	; Т
		db  93h	; У
		db  93h	; У
		db  9Dh	; Э
		db 0A9h	; й
		db 0A8h	; и
		db 0A9h	; й
		db 0ACh	; м
		db 0AEh	; о
		db  70h	; p
		db  6Fh	; o
		db  6Dh	; m
		db  6Dh	; m
		db  7Eh	; ~
		db  7Eh	; ~
		db  87h	; З
		db  91h	; С
		db  92h	; Т
		db  93h	; У
		db 0A1h	; б
		db 0AAh	; к
		db 0ABh	; л
		db 0ABh	; л
		db 0ADh	; н
		db 0AFh	; п
		db  70h	; p
		db  6Eh	; n
		db  6Dh	; m
		db  6Dh	; m
		db  80h	; А
		db  7Eh	; ~
		db  86h	; Ж
		db  92h	; Т
		db  92h	; Т
		db  96h	; Ц
		db 0A1h	; б
		db 0ACh	; м
		db 0AEh	; о
		db 0ADh	; н
		db 0AEh	; о
		db 0AEh	; о
		db  6Fh	; o
		db  6Dh	; m
		db  6Ch	; l
		db  6Ah	; j
		db  7Fh	; 
		db  81h	; Б
		db  86h	; Ж
		db  91h	; С
		db  8Fh	; П
		db  95h	; Х
		db 0A2h	; в
		db 0ACh	; м
		db 0AFh	; п
		db 0AEh	; о
		db 0B0h	; ░
		db 0AEh	; о
		db  6Eh	; n
		db  6Ch	; l
		db  69h	; i
		db  68h	; h
		db  7Dh	; }
		db  81h	; Б
		db  87h	; З
		db  8Fh	; П
		db  8Fh	; П
		db  94h	; Ф
		db 0A1h	; б
		db 0ACh	; м
		db 0AEh	; о
		db 0B0h	; ░
		db 0B2h	; ▓
		db 0ADh	; н
		db  6Dh	; m
		db  6Bh	; k
		db  67h	; g
		db  66h	; f
		db  7Ch	; |
		db  80h	; А
		db  87h	; З
		db  90h	; Р
		db  8Ch	; М
		db  95h	; Х
		db 0A1h	; б
		db 0AAh	; к
		db 0ADh	; н
		db 0B0h	; ░
		db 0B0h	; ░
		db 0AAh	; к
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    9
		db  40h	; @
		db    9
		db  40h	; @
		db    9
		db  40h	; @
		db    9
		db  40h	; @
		db  71h	; q
		db  46h	; F
		db 0D8h	; ╪
		db  4Ch	; L
		db  3Fh	; ?
		db  53h	; S
		db 0A7h	; з
		db  59h	; Y
		db  0Eh
		db  60h	; `
		db  76h	; v
		db  66h	; f
		db 0DDh	; ▌
		db  6Ch	; l
		db  44h	; D
		db  73h	; s
		db 0ACh	; м
		db  79h	; y
		db  6Fh	; o
		db  7Fh	; 
		db  6Fh	; o
		db  7Fh	; 
		db  6Fh	; o
		db  7Fh	; 
		db  6Fh	; o
		db  7Fh	; 
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  80h	; А
		db    0
		db  7Fh	; 
		db    0
		db  7Eh	; ~
		db  80h	; А
		db  7Bh	; {
		db    0
		db  79h	; y
		db  26h	; &
		db  76h	; v
		db    0
		db  78h	; x
		db  80h	; А
		db  7Ah	; z
		db  80h	; А
		db  7Ch	; |
		db    0
		db  7Ch	; |
		db    0
		db  7Ch	; |
		db  80h	; А
		db  7Bh	; {
		db    0
		db  79h	; y
		db 0E4h	; ф
		db  75h	; u
		db  8Ch	; М
		db  71h	; q
		db  40h	; @
		db  65h	; e
		db  5Ch	; \
		db  65h	; e
		db  86h	; Ж
		db  67h	; g
		db 0AEh	; о
		db  68h	; h
		db  56h	; V
		db  69h	; i
		db  6Eh	; n
		db  6Ah	; j
		db 0A4h	; д
		db  66h	; f
		db 0D0h	; ╨
		db  55h	; U
		db  86h	; Ж
		db  46h	; F
		db 0A0h	; а
		db  46h	; F
		db  48h	; H
		db  46h	; F
		db  60h	; `
		db  46h	; F
		db  9Ah	; Ъ
		db  44h	; D
		db  4Ah	; J
		db  44h	; D
		db 0D2h	; ╥
		db  43h	; C
		db 0C2h	; ┬
		db  43h	; C
		db    2
		db  43h	; C
		db 0E6h	; ц
		db  41h	; A
		db  6Fh	; o
		db  3Ch	; <
		db 0AAh	; к
		db  36h	; 6
		db  64h	; d
		db  34h	; 4
		db  1Ch
		db  34h	; 4
		db  9Ch	; Ь
		db  33h	; 3
		db 0D4h	; ╘
		db  32h	; 2
		db  8Ch	; М
		db  31h	; 1
		db  44h	; D
		db  31h	; 1
		db  7Ch	; |
		db  31h	; 1
		db  20h
		db  31h	; 1
		db 0B4h	; ┤
		db  2Eh	; .
		db  6Ch	; l
		db  2Bh	; +
		db  24h	; $
		db  28h	; (
		db  24h	; $
		db  26h	; &
		db  24h	; $
		db  25h	; %
		db 0A4h	; д
		db  23h	; #
		db  92h	; Т
		db  22h	; "
		db  12h
		db  21h	; !
		db  6Eh	; n
		db  1Fh
		db  6Eh	; n
		db  1Eh
		db  4Eh	; N
		db  1Dh
		db  16h
		db  1Ah
		db  96h	; Ц
		db  17h
		db  96h	; Ц
		db  15h
		db  79h	; y
		db  15h
		db  4Eh	; N
		db  15h
		db  5Eh	; ^
		db  15h
		db 0DEh	; ▐
		db  13h
		db  3Ah	; :
		db  13h
		db 0CCh	; ╠
		db  12h
		db  18h
		db  12h
		db  97h	; Ч
		db  11h
		db  17h
		db  11h
		db  97h	; Ч
		db  10h
		db  17h
		db  10h
		db 0F3h	; є
		db  0Fh
		db  60h	; `
		db  0Fh
		db  2Bh	; +
		db  0Eh
		db  3Fh	; ?
		db  0Eh
		db 0F7h	; ў
		db  0Ch
		db  2Fh	; /
		db  0Ch
		db 0E7h	; ч
		db  0Bh
		db  9Fh	; Я
		db  0Ah
		db 0FCh	; №
		db    9
		db  58h	; X
		db    9
		db  34h	; 4
		db    8
		db 0B4h	; ┤
		db    7
		db  34h	; 4
		db    7
		db  34h	; 4
		db    7
		db 0B4h	; ┤
		db    6
		db  34h	; 4
		db    6
		db 0B4h	; ┤
		db    5
		db  34h	; 4
		db    5
		db  34h	; 4
		db    5
		db 0B4h	; ┤
		db    4
		db  34h	; 4
		db    4
		db  34h	; 4
		db    3
		db  34h	; 4
		db    3
		db  34h	; 4
		db    3
		db  34h	; 4
		db    3
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Ch	; М
		db  8Bh	; Л
		db  8Bh	; Л
		db  8Ah	; К
		db  8Ah	; К
		db  89h	; Й
		db  87h	; З
		db  86h	; Ж
		db  84h	; Д
		db  82h	; В
		db  7Fh	; 
		db  7Ch	; |
		db  78h	; x
		db  74h	; t
		db  6Fh	; o
		db  6Ah	; j
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  65h	; e
		db  65h	; e
		db  66h	; f
		db  67h	; g
		db  68h	; h
		db 0BBh	; ╗
		db 0BBh	; ╗
		db 0BBh	; ╗
		db 0BBh	; ╗
		db 0BBh	; ╗
		db 0BBh	; ╗
		db 0BBh	; ╗
		db 0BBh	; ╗
		db 0CFh	; ╧
		db 0DBh	; █
		db 0E3h	; у
		db 0E9h	; щ
		db 0EDh	; э
		db 0F2h	; Є
		db 0F7h	; ў
		db 0FAh	; ·
		db 0FCh	; №
		db 0FEh	; ■
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FBh	; √
		db 0F7h	; ў
		db 0F4h	; Ї
		db 0F0h	; Ё
		db 0EDh	; э
		db 0EAh	; ъ
		db 0E7h	; ч
		db 0E4h	; ф
		db 0E0h	; р
		db 0DDh	; ▌
		db 0DAh	; ┌
		db 0D6h	; ╓
		db 0D3h	; ╙
		db 0D0h	; ╨
		db 0CCh	; ╠
		db 0C9h	; ╔
		db 0C5h	; ┼
		db 0C2h	; ┬
		db 0BFh	; ┐
		db 0BCh	; ╝
		db 0B9h	; ╣
		db 0B5h	; ╡
		db 0B2h	; ▓
		db 0AFh	; п
		db 0ACh	; м
		db 0A9h	; й
		db 0A6h	; ж
		db 0A2h	; в
		db  9Fh	; Я
		db  9Ch	; Ь
		db  99h	; Щ
		db  96h	; Ц
		db  93h	; У
		db  8Fh	; П
		db  8Ch	; М
		db  88h	; И
		db  85h	; Е
		db  81h	; Б
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db 0E1h	; с		; Мультипликативная коррекция УОЗ по ТВоз
		db 0E1h	; с
		db 0E1h	; с
		db 0E1h	; с
		db 0E1h	; с
		db 0E5h	; х
		db 0E8h	; ш
		db 0ECh	; ь
		db 0F0h	; Ё
		db 0F4h	; Ї
		db 0F8h	; °
		db 0FBh	; √
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FBh	; √
		db 0F8h	; °
		db 0F4h	; Ї
		db 0F0h	; Ё
		db 0ECh	; ь
		db 0E9h	; щ
		db 0E5h	; х
		db 0E1h	; с
		db 0DEh	; ▐
		db 0DAh	; ┌
		db 0DAh	; ┌
		db 0DAh	; ┌
		db 0DAh	; ┌
		db 0DAh	; ┌
		db 0DAh	; ┌
		db 0DAh	; ┌
		db 0DAh	; ┌
		db 0DAh	; ┌
		db 0DAh	; ┌
		db 0DAh	; ┌
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  1Eh
		db  19h
		db  19h
		db  19h
		db  14h
		db  14h
		db  14h
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  78h	; x
		db  6Eh	; n
		db  64h	; d
		db  64h	; d
		db  5Fh	; _
		db  5Fh	; _
		db  5Ah	; Z
		db  5Ah	; Z
		db  55h	; U
		db  55h	; U
		db  50h	; P
		db  50h	; P
		db  4Bh	; K
		db  4Bh	; K
		db  4Bh	; K
		db  46h	; F
		db  46h	; F
		db  46h	; F
		db  46h	; F
		db  46h	; F
		db  46h	; F
		db  46h	; F
		db  46h	; F
		db  46h	; F
		db  46h	; F
		db  46h	; F
		db  4Bh	; K
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  50h	; P
		db  64h	; d		; Время	работы стартера	после превышения порога	по оборотам
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  4Bh	; K
		db  4Bh	; K
		db  4Bh	; K
		db  4Bh	; K
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  32h	; 2
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db  64h	; d
		db 0F3h	; є		; Коэффициент уставки РХХ
		db 0F3h	; є
		db 0F3h	; є
		db 0F3h	; є
		db 0F3h	; є
		db 0F3h	; є
		db 0F3h	; є
		db 0F3h	; є
		db 0F3h	; є
		db 0F3h	; є
		db 0F3h	; є
		db 0F3h	; є
		db 0D9h	; ┘
		db 0BEh	; ╛
		db 0AAh	; к
		db  96h	; Ц
		db  88h	; И
		db  7Dh	; }
		db  75h	; u
		db  6Dh	; m
		db  65h	; e
		db  60h	; `
		db  5Ah	; Z
		db  55h	; U
		db  50h	; P
		db  4Dh	; M
		db  49h	; I
		db  43h	; C
		db  40h	; @
		db  3Dh	; =
		db  3Dh	; =
		db  3Dh	; =
		db  19h
		db  19h
		db  19h
		db  19h
		db  19h
		db  1Bh
		db  1Fh
		db  1Fh
		db  20h
		db  20h
		db  20h
		db  20h
		db  20h
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  21h	; !
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Eh
		db  0Eh
		db  0Eh
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  10h
		db  34h	; 4
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  30h	; 0
		db  28h	; (
		db  26h	; &
		db  26h	; &
		db  26h	; &
		db  2Ah	; *
		db  40h	; @
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  44h	; D
		db  31h	; 1
		db  31h	; 1
		db  31h	; 1
		db  31h	; 1
		db  31h	; 1
		db  31h	; 1
		db  31h	; 1
		db  31h	; 1
		db  31h	; 1
		db  31h	; 1
		db  31h	; 1
		db  31h	; 1
		db  32h	; 2
		db  33h	; 3
		db  35h	; 5
		db  39h	; 9
		db  40h	; @
		db  4Ah	; J
		db  59h	; Y
		db  65h	; e
		db  6Ah	; j
		db  6Fh	; o
		db  72h	; r
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  74h	; t
		db  40h	; @
		db  3Fh	; ?
		db  3Eh	; >
		db  3Dh	; =
		db  39h	; 9
		db  33h	; 3
		db  2Eh	; .
		db  29h	; )
		db  24h	; $
		db  1Fh
		db  1Bh
		db  17h
		db  14h
		db  11h
		db  0Eh
		db  0Bh
		db    8
		db    5
		db    3
		db    1
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Коррекция УОЗ	по температуре воздуха
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  8Fh	; П
		db  99h	; Щ
		db 0A3h	; г
		db 0ABh	; л
		db 0B5h	; ╡
		db 0BFh	; ┐
		db 0C6h	; ╞
		db 0D0h	; ╨
		db 0DAh	; ┌
		db 0E2h	; т
		db 0E9h	; щ
		db 0F3h	; є
		db 0FBh	; √
		db    2
		db  0Ch
		db  14h
		db  1Bh
		db  23h	; #
		db  2Ah	; *
		db  32h	; 2
		db  39h	; 9
		db  3Eh	; >
		db  46h	; F
		db  4Dh	; M
		db  55h	; U
		db  5Ah	; Z
		db  61h	; a
		db  66h	; f
		db  6Eh	; n
		db  73h	; s
		db  78h	; x
		db  7Fh	; 
		db  84h	; Д
		db  89h	; Й
		db  8Eh	; О
		db  93h	; У
		db  98h	; Ш
		db  9Dh	; Э
		db 0A2h	; в
		db 0A7h	; з
		db 0ACh	; м
		db 0B1h	; ▒
		db 0B6h	; ╢
		db 0BBh	; ╗
		db 0C0h	; └
		db 0C8h	; ╚
		db 0CDh	; ═
		db 0D2h	; ╥
		db 0D7h	; ╫
		db 0DCh	; ▄
		db 0E3h	; у
		db 0E8h	; ш
		db 0EDh	; э
		db 0F2h	; Є
		db 0FAh	; ·
		db 0FFh
		db    4
		db    9
		db  0Eh
		db  13h
		db  1Ah
		db  1Fh
		db  24h	; $
		db  29h	; )
		db  2Eh	; .
		db  33h	; 3
		db  38h	; 8
		db  3Dh	; =
		db  42h	; B
		db  47h	; G
		db  4Ch	; L
		db  51h	; Q
		db  59h	; Y
		db  5Eh	; ^
		db  63h	; c
		db  6Ah	; j
		db  6Fh	; o
		db  77h	; w
		db  7Eh	; ~
		db  83h	; Г
		db  8Bh	; Л
		db  92h	; Т
		db  97h	; Ч
		db  9Fh	; Я
		db 0A6h	; ж
		db 0AEh	; о
		db 0B5h	; ╡
		db 0BDh	; ╜
		db 0C4h	; ─
		db 0CEh	; ╬
		db 0D6h	; ╓
		db 0DDh	; ▌
		db 0E5h	; х
		db 0EFh	; я
		db 0F6h	; Ў
		db    0
		db    8
		db  0Fh
		db  19h
		db  23h	; #
		db  2Dh	; -
		db  37h	; 7
		db  3Fh	; ?
		db  49h	; I
		db  53h	; S
		db  5Fh	; _
		db  69h	; i
		db  73h	; s
		db  7Dh	; }
		db  8Ah	; К
		db  94h	; Ф
		db  9Eh	; Ю
		db 0AAh	; к
		db 0B7h	; ╖
		db 0C1h	; ┴
		db 0CDh	; ═
		db 0DAh	; ┌
		db 0E6h	; ц
		db 0F3h	; є
		db    2
		db  0Eh
		db  1Bh
		db  2Ah	; *
		db  36h	; 6
		db  45h	; E
		db  54h	; T
		db  63h	; c
		db  72h	; r
		db  81h	; Б
		db  90h	; Р
		db 0A2h	; в
		db 0B1h	; ▒
		db 0C2h	; ┬
		db 0D1h	; ╤
		db 0E3h	; у
		db 0F4h	; Ї
		db    6
		db  17h
		db  29h	; )
		db  3Dh	; =
		db  4Eh	; N
		db  62h	; b
		db  74h	; t
		db  88h	; И
		db  9Ch	; Ь
		db 0B0h	; ░
		db 0C6h	; ╞
		db 0DAh	; ┌
		db 0EEh	; ю
		db    5
		db  1Bh
		db  2Fh	; /
		db  46h	; F
		db  5Ch	; \
		db  73h	; s
		db  8Ch	; М
		db 0A2h	; в
		db 0BBh	; ╗
		db 0D4h	; ╘
		db 0EBh	; ы
		db    6
		db  1Fh
		db  38h	; 8
		db  54h	; T
		db  6Dh	; m
		db  8Bh	; Л
		db 0A6h	; ж
		db 0C2h	; ┬
		db 0E0h	; р
		db 0FEh	; ■
		db  1Ch
		db  3Ch	; <
		db  5Ah	; Z
		db  7Bh	; {
		db  9Bh	; Ы
		db 0BEh	; ╛
		db 0DFh	; ▀
		db    2
		db  25h	; %
		db  48h	; H
		db  6Dh	; m
		db  93h	; У
		db 0B8h	; ╕
		db 0DEh	; ▐
		db    6
		db  2Eh	; .
		db  56h	; V
		db  7Eh	; ~
		db 0A8h	; и
		db 0D3h	; ╙
		db 0FDh	; ¤
		db  28h	; (
		db  55h	; U
		db  82h	; В
		db 0AFh	; п
		db 0DEh	; ▐
		db  0Eh
		db  3Dh	; =
		db  6Fh	; o
		db 0A1h	; б
		db 0D3h	; ╙
		db    8
		db  3Fh	; ?
		db  73h	; s
		db 0AAh	; к
		db 0E4h	; ф
		db  1Bh
		db  54h	; T
		db  8Eh	; О
		db 0CAh	; ╩
		db    6
		db  42h	; B
		db  80h	; А
		db 0BFh	; ┐
		db    0
		db  41h	; A
		db  82h	; В
		db 0C5h	; ┼
		db  0Bh
		db  4Fh	; O
		db  97h	; Ч
		db 0DDh	; ▌
		db  26h	; &
		db  71h	; q
		db 0B9h	; ╣
		db    7
		db  54h	; T
		db 0A2h	; в
		db 0F2h	; Є
		db  44h	; D
		db  97h	; Ч
		db 0ECh	; ь
		db  41h	; A
		db  98h	; Ш
		db 0F2h	; Є
		db  4Ch	; L
		db 0A9h	; й
		db    5
		db  64h	; d
		db 0C6h	; ╞
		db  27h	; '
		db  8Eh	; О
		db 0F4h	; Ї
		db  5Dh	; ]
		db 0C6h	; ╞
		db  32h	; 2
		db 0A0h	; а
		db  0Eh
		db  7Eh	; ~
		db 0F1h	; ё
		db  64h	; d
		db 0DAh	; ┌
		db  4Fh	; O
		db 0C7h	; ╟
		db  42h	; B
		db 0BCh	; ╝
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    2
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    3
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    4
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    5
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    6
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    7
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    8
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db    9
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Ah
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Bh
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Ch
		db  0Dh
		db  0Dh
		db  0Dh
		db  0Dh
		db  0Dh
		db  0Eh
		db  0Eh
		db  0Eh
		db  0Eh
		db  0Eh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  0Fh
		db  10h
		db  10h
		db  10h
		db  10h
		db  11h
		db  11h
		db  11h
		db  11h
		db  12h
		db  12h
		db  12h
		db  12h
		db  13h
		db  13h
		db  13h
		db  13h
		db  14h
		db  14h
		db  14h
		db  15h
		db  15h
		db  15h
		db  15h
		db  16h
		db  16h
		db  16h
		db  17h
		db  17h
		db  17h
		db  18h
		db  18h
		db  19h
		db  19h
		db  19h
		db  1Ah
		db  1Ah
		db  1Ah
		db  1Bh
		db  1Bh
		db  1Ch
		db  1Ch
		db  1Dh
		db  1Dh
		db  1Dh
		db  1Eh
		db  1Eh
		db  1Fh
		db  1Fh
		db  20h
		db  20h

; =============== S U B	R O U T	I N E =======================================


code_9BE0:				; CODE XREF: RESET_0+23C7p
		clr	A
		mov	R0, #93h ; 'У'
		mov	@R0, A
		mov	R1, A
		mov	DPTR, #0F512h
		mov	R2, #40h ; '@'
		mov	DPSEL, #4	; Data Pointer Select Register
		mov	DPTR, #0F400h
		movx	@DPTR, A
		mov	DPSEL, #0	; Data Pointer Select Register

code_9BF4:				; CODE XREF: code_9BE0+42j
		movx	A, @DPTR
		anl	A, #0F0h
		jz	code_9C20
		mov	R4, A
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #9C5Dh
		mov	A, R1
		rl	A
		movc	A, @A+DPTR
		mov	R3, A
		mov	A, R1
		rl	A
		orl	A, #1
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPSEL, #4	; Data Pointer Select Register
		mov	A, R3
		movx	@DPTR, A
		inc	DPTR
		mov	A, B		; B-Register
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		clr	A
		movx	@DPTR, A
		mov	DPSEL, #0	; Data Pointer Select Register
		mov	R0, #93h ; 'У'
		inc	@R0

code_9C20:				; CODE XREF: code_9BE0+17j
		inc	DPTR
		inc	R1
		djnz	R2, code_9BF4
		ret
; End of function code_9BE0


; =============== S U B	R O U T	I N E =======================================


code_9C25:				; CODE XREF: RESET_0:code_3B41p
		mov	DPTR, #0F9B7h
		movx	A, @DPTR
		jz	code_9C5C
		jb	ACC.7, code_9C5C ; Accumulator
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F512h
		mov	R2, #40h ; '@'
		mov	DPSEL, #0	; Data Pointer Select Register
		mov	DPTR, #0F552h

code_9C3C:				; CODE XREF: code_9C25+2Ej
		movx	A, @DPTR
		jz	code_9C4B
		dec	A
		movx	@DPTR, A
		jnz	code_9C4B
		clr	A
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	@DPTR, A
		mov	DPSEL, #0	; Data Pointer Select Register

code_9C4B:				; CODE XREF: code_9C25+18j
					; code_9C25+1Cj
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		inc	DPTR
		mov	DPSEL, #0	; Data Pointer Select Register
		djnz	R2, code_9C3C
		mov	DPTR, #0F9B7h
		movx	A, @DPTR
		orl	A, #80h
		movx	@DPTR, A

code_9C5C:				; CODE XREF: code_9C25+4j code_9C25+6j
		ret
; End of function code_9C25

; ---------------------------------------------------------------------------
		db    3
		db  35h	; 5
		db  16h
		db  10h
		db  16h
		db    3
		db    1
		db  35h	; 5
		db    3
		db  40h	; @
		db  16h
		db  12h
		db    6
		db    3
		db  16h
		db  13h
		db    5
		db  62h	; b
		db  11h
		db  71h	; q
		db    1
		db  12h
		db    1
		db  17h
		db    1
		db  31h	; 1
		db    1
		db  22h	; "
		db    1
		db    2
		db    3
		db  27h	; '
		db    5
		db  63h	; c
		db  11h
		db  72h	; r
		db    1
		db  13h
		db    1
		db  18h
		db    1
		db  32h	; 2
		db    1
		db  23h	; #
		db    1
		db    3
		db    3
		db  28h	; (
		db    3
		db  25h	; %
		db  16h
		db    0
		db  39h	; 9
		db  99h	; Щ
		db    1
		db  34h	; 4
		db    1
		db  72h	; r
		db    1
		db  71h	; q
		db    5
		db    1
		db    5
		db    5
		db  16h
		db  11h
		db  16h
		db    2
		db  39h	; 9
		db  99h	; Щ
		db  39h	; 9
		db  99h	; Щ
		db  15h
		db  14h
		db  15h
		db  13h
		db  15h
		db    9
		db  39h	; 9
		db  99h	; Щ
		db    2
		db    1
		db    2
		db    2
		db    2
		db    3
		db    2
		db    4
		db    2
		db  61h	; a
		db    2
		db  64h	; d
		db    2
		db  67h	; g
		db    2
		db  70h	; p
		db    2
		db  62h	; b
		db    2
		db  65h	; e
		db    2
		db  68h	; h
		db    2
		db  71h	; q
		db    4
		db  43h	; C
		db  14h
		db  26h	; &
		db  14h
		db  25h	; %
		db  14h
		db  10h
		db    4
		db  80h	; А
		db  15h
		db  41h	; A
		db  15h
		db    1
		db  15h
		db    2
		db  39h	; 9
		db  99h	; Щ
		db  39h	; 9
		db  99h	; Щ
		db  39h	; 9
		db  99h	; Щ
		db  39h	; 9
		db  99h	; Щ
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db  60h	; `
		db  60h	; `
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db  60h	; `
		db  60h	; `
		db  60h	; `
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
		db 0E0h	; р
a2112141102041:	db '2112 -1411020-41',0
		db  4Eh	; N
		db  4Fh	; O
		db  54h	; T
		db  53h	; S
		db  55h	; U
		db  50h	; P
		db  50h	; P
		db  4Fh	; O
		db  52h	; R
		db  54h	; T
		db    0
		db  31h	; 1
		db  34h	; 4
		db  31h	; 1
		db  31h	; 1
		db  30h	; 0
		db  31h	; 1
		db  30h	; 0
		db  2Dh	; -
		db  34h	; 4
		db  31h	; 1
		db    0
		db  53h	; S
		db  41h	; A
		db  4Dh	; M
		db  41h	; A
		db  52h	; R
		db  41h	; A
		db  2Dh	; -
		db  31h	; 1
		db  2Eh	; .
		db  35h	; 5
		db  4Ch	; L
		db  2Ch	; ,
		db  31h	; 1
		db  36h	; 6
		db  56h	; V
		db    0
		db  30h	; 0
		db  31h	; 1
		db  2Dh	; -
		db  30h	; 0
		db  31h	; 1
		db  2Dh	; -
		db  32h	; 2
		db  30h	; 0
		db  30h	; 0
		db  37h	; 7
		db    0
		db  4Ah	; J
		db  35h	; 5
		db  4Ch	; L
		db  53h	; S
		db  5Fh	; _
		db  56h	; V
		db  34h	; 4
		db  36h	; 6
		db    0
		db  31h	; 1
		db  34h	; 4
		db  31h	; 1
		db  31h	; 1
		db  30h	; 0
		db  31h	; 1
		db  30h	; 0
		db  2Dh	; -
		db  34h	; 4
		db  31h	; 1
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db 0C1h	; ┴
		db  6Bh	; k
		db  8Fh	; П
		db  3Fh	; ?
		db    0
		db  81h	; Б
		db 0F1h	; ё
		db  10h
		db 0C2h	; ┬
		db  44h	; D
		db    0
		db  82h	; В
		db 0F1h	; ё
		db  10h
		db  50h	; P
		db  81h	; Б
		db  54h	; T
		db    0
		db  81h	; Б
		db 0F1h	; ё
		db  10h
		db  60h	; `
		db 0E2h	; т
		db    0
		db  81h	; Б
		db 0F1h	; ё
		db  10h
		db  7Eh	; ~
		db    0
		db    0
		db  81h	; Б
		db 0F1h	; ё
		db  10h
		db  51h	; Q
		db 0D3h	; ╙
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  54h	; T
		db    0
		db    0
		db 0D8h	; ╪
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  54h	; T
		db 0FFh
		db    0
		db 0D7h	; ╫
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  82h	; В
		db  10h
		db  95h	; Х
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  10h
		db  10h
		db  23h	; #
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  20h
		db  10h
		db  33h	; 3
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  11h
		db  10h
		db  24h	; $
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  14h
		db  10h
		db  27h	; '
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  18h
		db  10h
		db  2Bh	; +
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  1Ah
		db  10h
		db  2Dh	; -
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  21h	; !
		db  10h
		db  34h	; 4
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  23h	; #
		db  10h
		db  36h	; 6
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  30h	; 0
		db  10h
		db  43h	; C
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  3Bh	; ;
		db  10h
		db  4Eh	; N
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  3Eh	; >
		db  10h
		db  51h	; Q
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  10h
		db  12h
		db  25h	; %
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  14h
		db  12h
		db  29h	; )
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  1Ah
		db  12h
		db  2Fh	; /
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  18h
		db  12h
		db  2Dh	; -
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  21h	; !
		db  12h
		db  36h	; 6
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  23h	; #
		db  12h
		db  38h	; 8
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  3Bh	; ;
		db  12h
		db  50h	; P
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  30h	; 0
		db  12h
		db  45h	; E
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  23h	; #
		db  31h	; 1
		db  57h	; W
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  30h	; 0
		db  31h	; 1
		db  64h	; d
		db    0
		db  80h	; А
		db 0F1h	; ё
		db  10h
		db  61h	; a
		db  5Ah	; Z
		db  80h	; А
		db    0
		db  92h	; Т
		db 0F1h	; ё
		db  10h
		db  5Ah	; Z
		db  91h	; С
		db  32h	; 2
		db  31h	; 1
		db  31h	; 1
		db  32h	; 2
		db  20h
		db  2Dh	; -
		db  31h	; 1
		db  34h	; 4
		db  31h	; 1
		db  31h	; 1
		db  30h	; 0
		db  32h	; 2
		db  30h	; 0
		db  2Dh	; -
		db  34h	; 4
		db  31h	; 1
		db  7Ch	; |
		db    0
		db  8Ch	; М
		db 0F1h	; ё
		db  10h
		db  5Ah	; Z
		db  92h	; Т
		db  4Eh	; N
		db  4Fh	; O
		db  54h	; T
		db  53h	; S
		db  55h	; U
		db  50h	; P
		db  50h	; P
		db  4Fh	; O
		db  52h	; R
		db  54h	; T
		db 0A7h	; з
		db    0
		db  8Ch	; М
		db 0F1h	; ё
		db  10h
		db  5Ah	; Z
		db  94h	; Ф
		db  31h	; 1
		db  34h	; 4
		db  31h	; 1
		db  31h	; 1
		db  30h	; 0
		db  31h	; 1
		db  30h	; 0
		db  2Dh	; -
		db  34h	; 4
		db  31h	; 1
		db  65h	; e
		db    0
		db  91h	; С
		db 0F1h	; ё
		db  10h
		db  5Ah	; Z
		db  97h	; Ч
		db  53h	; S
		db  41h	; A
		db  4Dh	; M
		db  41h	; A
		db  52h	; R
		db  41h	; A
		db  2Dh	; -
		db  31h	; 1
		db  2Eh	; .
		db  35h	; 5
		db  4Ch	; L
		db  2Ch	; ,
		db  31h	; 1
		db  36h	; 6
		db  56h	; V
		db  2Eh	; .
		db    0
		db  8Ch	; М
		db 0F1h	; ё
		db  10h
		db  5Ah	; Z
		db  99h	; Щ
		db  30h	; 0
		db  31h	; 1
		db  2Dh	; -
		db  30h	; 0
		db  31h	; 1
		db  2Dh	; -
		db  32h	; 2
		db  30h	; 0
		db  30h	; 0
		db  37h	; 7
		db  65h	; e
		db    0
		db  8Ah	; К
		db 0F1h	; ё
		db  10h
		db  5Ah	; Z
		db  9Ah	; Ъ
		db  4Ah	; J
		db  35h	; 5
		db  4Ch	; L
		db  53h	; S
		db  5Fh	; _
		db  56h	; V
		db  34h	; 4
		db  36h	; 6
		db 0BCh	; ╝
		db  1Dh
		db    0

; =============== S U B	R O U T	I N E =======================================


code_9ED1:				; CODE XREF: RESET_0+245Ep
		mov	DPTR, #0F681h
		movx	A, @DPTR
		xrl	A, #10h
		jz	code_9EDD
		mov	A, #1
		sjmp	code_9F0B
; ---------------------------------------------------------------------------

code_9EDD:				; CODE XREF: code_9ED1+6j
		mov	DPTR, #0F680h
		movx	A, @DPTR
		anl	A, #0C0h
		xrl	A, #80h
		jz	code_9EEB
		mov	A, #2
		sjmp	code_9F0B
; ---------------------------------------------------------------------------

code_9EEB:				; CODE XREF: code_9ED1+14j
		mov	R0, #73h ; 's'
		mov	A, RAM_7E
		setb	C
		subb	A, @R0
		jc	code_9EF7
		mov	A, #4
		sjmp	code_9F0B
; ---------------------------------------------------------------------------

code_9EF7:				; CODE XREF: code_9ED1+20j
		mov	R4, #0
		mov	A, @R0
		dec	A
		mov	R3, A
		mov	DPTR, #0F680h

code_9EFF:				; CODE XREF: code_9ED1+32j
		movx	A, @DPTR
		add	A, R4
		mov	R4, A
		inc	DPTR
		djnz	R3, code_9EFF
		movx	A, @DPTR
		xrl	A, R4
		jz	code_9F0B
		mov	A, #8

code_9F0B:				; CODE XREF: code_9ED1+Aj
					; code_9ED1+18j ...
		mov	R0, #91h ; 'С'
		mov	@R0, A
		ret
; End of function code_9ED1

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR ParseRequest

code_9F0F:				; CODE XREF: ParseRequest+18j
		mov	R0, #91h ; 'С'
		mov	ACC, @R0	; Accumulator
		jb	ACC.0, code_9F55 ; Accumulator
		jb	ACC.1, code_9F55 ; Accumulator
		jnb	ACC.2, code_9F20 ; Accumulator
		mov	R3, #31h ; '1'
		sjmp	code_9F22
; ---------------------------------------------------------------------------

code_9F20:				; CODE XREF: ParseRequest-4Bj
		mov	R3, #77h ; 'w'

code_9F22:				; CODE XREF: ParseRequest-46j
		jnb	RAM_2F.5, code_9F55
		lcall	code_565C
		mov	DPTR, #0F600h
		mov	A, #83h	; 'Г'
		movx	@DPTR, A
		mov	R4, A
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		inc	DPTR
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		inc	DPTR
		mov	A, #7Fh	; ''
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		mov	R0, #0A7h ; 'з'
		mov	A, @R0
		inc	DPTR
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		mov	A, R3
		inc	DPTR
		movx	@DPTR, A
		add	A, R4
		inc	DPTR
		movx	@DPTR, A
		mov	RAM_51,	#7
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_9F55:				; CODE XREF: ParseRequest-51j
					; ParseRequest-4Ej ...
		anl	IEN3, #0F7h	; Interrupt Enable Register 3
		clr	RAM_2F.3
		lcall	code_564E
		mov	R0, #91h ; 'С'
		mov	@R0, #0
		setb	S0CON.4		; Serial Channel 0 Control Register
		ret
; END OF FUNCTION CHUNK	FOR ParseRequest

; =============== S U B	R O U T	I N E =======================================


ParseRequest:				; CODE XREF: RESET_0+2461p

; FUNCTION CHUNK AT 9F0F SIZE 00000055 BYTES
; FUNCTION CHUNK AT AA60 SIZE 0000007D BYTES
; FUNCTION CHUNK AT AAF5 SIZE 00000086 BYTES

		mov	DPTR, #0F682h
		movx	A, @DPTR
		mov	R0, #0A6h ; 'ж'
		mov	@R0, A
		mov	DPTR, #0F683h
		jnb	RAM_2F.7, code_9F72
		inc	DPTR

code_9F72:				; CODE XREF: ParseRequest+Aj
		movx	A, @DPTR
		mov	R0, #0A7h ; 'з'
		mov	@R0, A
		mov	R4, A
		mov	R0, #91h ; 'С'
		mov	A, @R0
		jz	code_9F7F
		ljmp	code_9F0F
; ---------------------------------------------------------------------------

code_9F7F:				; CODE XREF: ParseRequest+16j
		mov	A, R4
		cjne	A, #21h, code_9F86 ; '!'
		ljmp	code_A148
; ---------------------------------------------------------------------------

code_9F86:				; CODE XREF: ParseRequest+1Cj
		cjne	A, #18h, code_9F8C
		ljmp	code_A0FE
; ---------------------------------------------------------------------------

code_9F8C:				; CODE XREF: ParseRequest:code_9F86j
		cjne	A, #30h, code_9F92 ; '0'
		ljmp	code_A1F7
; ---------------------------------------------------------------------------

code_9F92:				; CODE XREF: ParseRequest:code_9F8Cj
		cjne	A, #14h, code_9F98
		ljmp	code_A0BC
; ---------------------------------------------------------------------------

code_9F98:				; CODE XREF: ParseRequest:code_9F92j
		cjne	A, #3Eh, code_9F9E ; '>'
		ljmp	code_A2A9
; ---------------------------------------------------------------------------

code_9F9E:				; CODE XREF: ParseRequest:code_9F98j
		cjne	A, #1Ah, code_9FA4
		ljmp	code_A132
; ---------------------------------------------------------------------------

code_9FA4:				; CODE XREF: ParseRequest:code_9F9Ej
		cjne	A, #23h, code_9FAA ; '#'
		ljmp	code_AA60
; ---------------------------------------------------------------------------

code_9FAA:				; CODE XREF: ParseRequest:code_9FA4j
		cjne	A, #10h, code_9FB0
		ljmp	code_A035
; ---------------------------------------------------------------------------

code_9FB0:				; CODE XREF: ParseRequest:code_9FAAj
		cjne	A, #20h, code_9FB6 ; ' '
		ljmp	code_A079
; ---------------------------------------------------------------------------

code_9FB6:				; CODE XREF: ParseRequest:code_9FB0j
		cjne	A, #82h, code_9FBC ; 'В'
		ljmp	code_A013
; ---------------------------------------------------------------------------

code_9FBC:				; CODE XREF: ParseRequest:code_9FB6j
		cjne	A, #81h, code_9FC2 ; 'Б'
		ljmp	code_9FFF
; ---------------------------------------------------------------------------

code_9FC2:				; CODE XREF: ParseRequest:code_9FBCj
		cjne	A, #11h, code_9FC8
		ljmp	code_A09F
; ---------------------------------------------------------------------------

code_9FC8:				; CODE XREF: ParseRequest:code_9FC2j
		cjne	A, #3Dh, code_9FCE ; '='
		ljmp	code_AAF5
; ---------------------------------------------------------------------------

code_9FCE:				; CODE XREF: ParseRequest:code_9FC8j
		lcall	code_565C
		mov	DPTR, #0F600h
		mov	A, #83h	; 'Г'
		movx	@DPTR, A
		mov	R4, A
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		inc	DPTR
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		inc	DPTR
		mov	A, #7Fh	; ''
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		mov	R0, #0A7h ; 'з'
		mov	A, @R0
		inc	DPTR
		movx	@DPTR, A
		add	A, R4
		mov	R4, A
		inc	DPTR
		mov	A, #11h
		movx	@DPTR, A
		add	A, R4
		inc	DPTR
		movx	@DPTR, A
		mov	RAM_51,	#7
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_9FFF:				; CODE XREF: ParseRequest+5Bj
		jb	RAM_2F.5, code_A010
		setb	RAM_2F.5
		lcall	code_565C
		mov	DPTR, #9D73h
		lcall	code_5695
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A010:				; CODE XREF: ParseRequest:code_9FFFj
		ljmp	code_9F55
; ---------------------------------------------------------------------------

code_A013:				; CODE XREF: ParseRequest+55j
		lcall	code_565C
		jnb	RAM_2F.5, code_A02C
		clr	A
		mov	RAM_79,	A
		mov	DEV_FLAGS, A	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	RAM_7B,	A
		mov	RAM_7C,	A	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		mov	DPTR, #9D7Bh
		lcall	code_5695
		clr	RAM_2F.5
		sjmp	code_A032
; ---------------------------------------------------------------------------

code_A02C:				; CODE XREF: ParseRequest+B2j
		mov	DPTR, #9DAAh
		lcall	code_5695

code_A032:				; CODE XREF: ParseRequest+C6j
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A035:				; CODE XREF: ParseRequest+49j
		lcall	code_565C
		jnb	RAM_2F.5, code_A070
		jb	RAM_2F.6, code_A070
		mov	DPTR, #0F685h
		jnb	RAM_2F.7, code_A045
		inc	DPTR

code_A045:				; CODE XREF: ParseRequest+DDj
		movx	A, @DPTR
		mov	R2, A
		dec	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		xrl	A, #81h
		jnz	code_A068
		setb	RAM_2F.6
		mov	DPTR, #9D81h
		lcall	code_5695
		mov	A, R2
		cjne	A, #26h, code_A05E ; '&'
		mov	A, #0F3h ; 'є'
		sjmp	code_A063
; ---------------------------------------------------------------------------

code_A05E:				; CODE XREF: ParseRequest+F3j
		cjne	A, #39h, code_A076 ; '9'
		mov	A, #0F7h ; 'ў'

code_A063:				; CODE XREF: ParseRequest+F8j
		mov	R0, #0A5h ; 'е'
		mov	@R0, A
		sjmp	code_A076
; ---------------------------------------------------------------------------

code_A068:				; CODE XREF: ParseRequest+E8j
		mov	DPTR, #9E0Ah
		lcall	code_5695
		sjmp	code_A076
; ---------------------------------------------------------------------------

code_A070:				; CODE XREF: ParseRequest+D4j
					; ParseRequest+D7j
		mov	DPTR, #9DB2h
		lcall	code_5695

code_A076:				; CODE XREF: ParseRequest:code_A05Ej
					; ParseRequest+102j ...
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A079:				; CODE XREF: ParseRequest+4Fj
		lcall	code_565C
		jnb	RAM_2F.5, code_A096
		clr	RAM_2F.6
		clr	A
		mov	RAM_79,	A
		mov	DEV_FLAGS, A	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	RAM_7B,	A
		mov	RAM_7C,	A	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		mov	DPTR, #9D88h
		lcall	code_5695
		mov	R0, #0A5h ; 'е'
		mov	@R0, #0D0h ; '╨'
		sjmp	code_A09C
; ---------------------------------------------------------------------------

code_A096:				; CODE XREF: ParseRequest+118j
		mov	DPTR, #9DBAh
		lcall	code_5695

code_A09C:				; CODE XREF: ParseRequest+130j
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A09F:				; CODE XREF: ParseRequest+61j
		lcall	code_565C
		jnb	RAM_2F.5, code_A0B3
		mov	DPTR, #9D94h
		lcall	code_5695
		mov	R0, #91h ; 'С'
		mov	A, @R0
		orl	A, #20h
		mov	@R0, A
		sjmp	code_A0B9
; ---------------------------------------------------------------------------

code_A0B3:				; CODE XREF: ParseRequest+13Ej
		mov	DPTR, #9DC2h
		lcall	code_5695

code_A0B9:				; CODE XREF: ParseRequest+14Dj
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A0BC:				; CODE XREF: ParseRequest+31j
		lcall	code_565C
		jnb	RAM_2F.5, code_A0F5
		setb	RAM_2F.6
		mov	DPTR, #0F684h
		jnb	RAM_2F.7, code_A0CB
		inc	DPTR

code_A0CB:				; CODE XREF: ParseRequest+163j
		movx	A, @DPTR
		jz	code_A0D3
		inc	A
		jz	code_A0E0
		sjmp	code_A0ED
; ---------------------------------------------------------------------------

code_A0D3:				; CODE XREF: ParseRequest+168j
		lcall	code_A2D1
		mov	DPTR, #9D9Ah
		mov	R2, #7
		lcall	code_56C3
		sjmp	code_A0FB
; ---------------------------------------------------------------------------

code_A0E0:				; CODE XREF: ParseRequest+16Bj
		lcall	code_A2D1
		mov	DPTR, #9DA2h
		mov	R2, #7
		lcall	code_56C3
		sjmp	code_A0FB
; ---------------------------------------------------------------------------

code_A0ED:				; CODE XREF: ParseRequest+16Dj
		mov	DPTR, #9E12h
		lcall	code_5695
		sjmp	code_A0FB
; ---------------------------------------------------------------------------

code_A0F5:				; CODE XREF: ParseRequest+15Bj
		mov	DPTR, #9DCAh
		lcall	code_5695

code_A0FB:				; CODE XREF: ParseRequest+17Aj
					; ParseRequest+187j ...
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A0FE:				; CODE XREF: ParseRequest+25j
		lcall	code_565C
		jnb	RAM_2F.5, code_A129
		setb	RAM_2F.6
		mov	DPTR, #0F685h
		jnb	RAM_2F.7, code_A10D
		inc	DPTR

code_A10D:				; CODE XREF: ParseRequest+1A5j
		movx	A, @DPTR
		mov	B, A		; B-Register
		dec	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		jnz	code_A121
		mov	A, B		; B-Register
		jz	code_A11C
		inc	A
		jnz	code_A121

code_A11C:				; CODE XREF: ParseRequest+1B3j
		lcall	code_A3F9
		sjmp	code_A12F
; ---------------------------------------------------------------------------

code_A121:				; CODE XREF: ParseRequest+1AFj
					; ParseRequest+1B6j
		mov	DPTR, #9E22h
		lcall	code_5695
		sjmp	code_A12F
; ---------------------------------------------------------------------------

code_A129:				; CODE XREF: ParseRequest+19Dj
		mov	DPTR, #9DD2h
		lcall	code_5695

code_A12F:				; CODE XREF: ParseRequest+1BBj
					; ParseRequest+1C3j
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A132:				; CODE XREF: ParseRequest+3Dj
		lcall	code_565C
		jnb	RAM_2F.5, code_A13F
		setb	RAM_2F.6
		lcall	code_A324
		sjmp	code_A145
; ---------------------------------------------------------------------------

code_A13F:				; CODE XREF: ParseRequest+1D1j
		mov	DPTR, #9DDAh
		lcall	code_5695

code_A145:				; CODE XREF: ParseRequest+1D9j
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A148:				; CODE XREF: ParseRequest+1Fj
		lcall	code_565C
		jb	RAM_2F.5, code_A157
		mov	DPTR, #9DE2h
		lcall	code_5695
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A157:				; CODE XREF: ParseRequest+1E7j
		setb	RAM_2F.6
		mov	DPTR, #0F685h
		jb	RAM_2F.7, code_A161
		dec	DPL		; Data Pointer,	Low Byte

code_A161:				; CODE XREF: ParseRequest+1F8j
		movx	A, @DPTR
		mov	R4, A
		cjne	A, #1, code_A16B
		lcall	code_A43E
		sjmp	code_A199
; ---------------------------------------------------------------------------

code_A16B:				; CODE XREF: ParseRequest+1FFj
		cjne	A, #2, code_A173
		lcall	code_A476
		sjmp	code_A199
; ---------------------------------------------------------------------------

code_A173:				; CODE XREF: ParseRequest:code_A16Bj
		cjne	A, #3, code_A17B
		lcall	code_A4AE
		sjmp	code_A199
; ---------------------------------------------------------------------------

code_A17B:				; CODE XREF: ParseRequest:code_A173j
		cjne	A, #0A1h, code_A183 ; 'б'
		lcall	code_A51A
		sjmp	code_A199
; ---------------------------------------------------------------------------

code_A183:				; CODE XREF: ParseRequest:code_A17Bj
		cjne	A, #0A2h, code_A18B ; 'в'
		lcall	code_A545
		sjmp	code_A199
; ---------------------------------------------------------------------------

code_A18B:				; CODE XREF: ParseRequest:code_A183j
		cjne	A, #0A3h, code_A193 ; 'г'
		lcall	code_A570
		sjmp	code_A199
; ---------------------------------------------------------------------------

code_A193:				; CODE XREF: ParseRequest:code_A18Bj
		cjne	A, #0E0h, code_A19C ; 'р'
		lcall	code_A4E0

code_A199:				; CODE XREF: ParseRequest+205j
					; ParseRequest+20Dj ...
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A19C:				; CODE XREF: ParseRequest:code_A193j
		cjne	A, #0Fh, code_A1B6
		lcall	code_ABC2
		mov	DPTR, #0ABE5h
		lcall	code_56FB
		mov	DPTR, #0AC00h
		lcall	code_5737
		mov	DPTR, #0AC1Ch
		lcall	code_5710
		sjmp	code_A1F1
; ---------------------------------------------------------------------------

code_A1B6:				; CODE XREF: ParseRequest:code_A19Cj
		cjne	A, #0Dh, code_A1C2
		push	DPSEL		; Data Pointer Select Register
		lcall	code_BA08
		pop	DPSEL		; Data Pointer Select Register
		sjmp	code_A1F1
; ---------------------------------------------------------------------------

code_A1C2:				; CODE XREF: ParseRequest:code_A1B6j
		cjne	A, #0Ch, code_A1CE
		push	DPSEL		; Data Pointer Select Register
		lcall	code_B993
		pop	DPSEL		; Data Pointer Select Register
		sjmp	code_A1F1
; ---------------------------------------------------------------------------

code_A1CE:				; CODE XREF: ParseRequest:code_A1C2j
		cjne	A, #0Eh, code_A1E8
		lcall	code_ABC2
		mov	DPTR, #0AC2Ah
		lcall	code_56FB
		mov	DPTR, #0AC32h
		lcall	code_5737
		mov	DPTR, #0AC3Ah
		lcall	code_5710
		sjmp	code_A1F1
; ---------------------------------------------------------------------------

code_A1E8:				; CODE XREF: ParseRequest:code_A1CEj
		mov	DPTR, #9E2Ah
		lcall	code_5695
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A1F1:				; CODE XREF: ParseRequest+250j
					; ParseRequest+25Cj ...
		lcall	code_A3D8
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A1F7:				; CODE XREF: ParseRequest+2Bj
		lcall	code_565C
		jb	RAM_2F.5, code_A200
		ljmp	code_A2A0
; ---------------------------------------------------------------------------

code_A200:				; CODE XREF: ParseRequest+296j
		setb	RAM_2F.6
		mov	DPTR, #0F685h
		jnb	RAM_2F.7, code_A209
		inc	DPTR

code_A209:				; CODE XREF: ParseRequest+2A1j
		movx	A, @DPTR
		mov	R3, A
		dec	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R4, A
		jz	code_A21A
		cjne	A, #5, code_A216
		sjmp	code_A226
; ---------------------------------------------------------------------------

code_A216:				; CODE XREF: ParseRequest+2ADj
		jnc	code_A226
		sjmp	code_A21D
; ---------------------------------------------------------------------------

code_A21A:				; CODE XREF: ParseRequest+2ABj
		ljmp	code_A2A0
; ---------------------------------------------------------------------------

code_A21D:				; CODE XREF: ParseRequest+2B4j
		lcall	code_A616
		lcall	code_A879
		ljmp	code_A2A6
; ---------------------------------------------------------------------------

code_A226:				; CODE XREF: ParseRequest+2B0j
					; ParseRequest:code_A216j
		mov	A, R4
		xrl	A, #5
		jnz	code_A23A
		jnb	RAM_2A.6, code_A231 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		ljmp	code_A2A0
; ---------------------------------------------------------------------------

code_A231:				; CODE XREF: ParseRequest+2C7j
		lcall	code_A708
		lcall	code_A879
		ljmp	code_A2A6
; ---------------------------------------------------------------------------

code_A23A:				; CODE XREF: ParseRequest+2C5j
		mov	A, R4
		xrl	A, #6
		jnz	code_A24A
		jb	RAM_2A.6, code_A2A0 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		lcall	code_A760
		lcall	code_A879
		sjmp	code_A2A6
; ---------------------------------------------------------------------------

code_A24A:				; CODE XREF: ParseRequest+2D9j
		mov	A, R4
		xrl	A, #9
		jnz	code_A25A
		jb	RAM_2A.6, code_A2A0 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		lcall	code_A83A
		lcall	code_A879
		sjmp	code_A2A6
; ---------------------------------------------------------------------------

code_A25A:				; CODE XREF: ParseRequest+2E9j
		mov	A, R4
		xrl	A, #0Ah
		jnz	code_A267
		lcall	code_A7F6
		lcall	code_A879
		sjmp	code_A2A6
; ---------------------------------------------------------------------------

code_A267:				; CODE XREF: ParseRequest+2F9j
		mov	A, R4
		xrl	A, #0Ch
		jnz	code_A274
		lcall	code_A7B8
		lcall	code_A879
		sjmp	code_A2A6
; ---------------------------------------------------------------------------

code_A274:				; CODE XREF: ParseRequest+306j
		mov	A, R4
		xrl	A, #41h
		jnz	code_A281
		lcall	code_A8B9
		lcall	code_A905
		sjmp	code_A2A6
; ---------------------------------------------------------------------------

code_A281:				; CODE XREF: ParseRequest+313j
		mov	A, R4
		xrl	A, #42h
		jnz	code_A28E
		lcall	code_A8DE
		lcall	code_A905
		sjmp	code_A2A6
; ---------------------------------------------------------------------------

code_A28E:				; CODE XREF: ParseRequest+320j
		mov	A, R4
		xrl	A, #0Dh
		jnz	code_A29B
		lcall	code_A955
		lcall	code_A879
		sjmp	code_A2A6
; ---------------------------------------------------------------------------

code_A29B:				; CODE XREF: ParseRequest+32Dj
		lcall	code_AC42
		sjmp	code_A2A6
; ---------------------------------------------------------------------------

code_A2A0:				; CODE XREF: ParseRequest+299j
					; ParseRequest:code_A21Aj ...
		mov	DPTR, #9DF2h
		lcall	code_5695

code_A2A6:				; CODE XREF: ParseRequest+2BFj
					; ParseRequest+2D3j ...
		setb	RAM_2F.4
		ret
; ---------------------------------------------------------------------------

code_A2A9:				; CODE XREF: ParseRequest+37j
		jnb	RAM_2F.5, code_A2C5
		setb	RAM_2F.6
		mov	DPTR, #0F684h
		jnb	RAM_2F.7, code_A2B5
		inc	DPTR

code_A2B5:				; CODE XREF: ParseRequest+34Dj
		movx	A, @DPTR
		lcall	code_565C
		mov	DPTR, #9D8Eh
		mov	R2, #5
		lcall	code_56C3
		setb	RAM_2F.4
		sjmp	code_A2D0
; ---------------------------------------------------------------------------

code_A2C5:				; CODE XREF: ParseRequest:code_A2A9j
		lcall	code_565C
		mov	DPTR, #9E02h
		lcall	code_5695
		setb	RAM_2F.4

code_A2D0:				; CODE XREF: ParseRequest+35Fj
		ret
; End of function ParseRequest


; =============== S U B	R O U T	I N E =======================================


code_A2D1:				; CODE XREF: ParseRequest:code_A0D3p
					; ParseRequest:code_A0E0p
		setb	RAM_2E.0
		mov	R0, #93h ; 'У'
		clr	A
		mov	@R0, A
		mov	RAM_22,	A
		mov	RAM_23_ErrorMask2, A ; 0 bit напряжение	борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		mov	RAM_24_ErrorMask3, A ; 0 bit напряжение	борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		mov	RAM_5B_ErrorMask1, A
		mov	RAM_25_ErrorMask4, A
		mov	RAM_7C,	A	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		mov	DPTR, #0F9B0h
		movx	@DPTR, A
		mov	DPTR, #0F9B2h
		movx	@DPTR, A
		mov	DPTR, #0F9B3h
		movx	@DPTR, A
		mov	DPTR, #0F9B4h
		movx	@DPTR, A
		mov	R2, #8
		mov	DPTR, #0F4CAh

code_A2F8:				; CODE XREF: code_A2D1+29j
		movx	@DPTR, A
		inc	DPTR
		djnz	R2, code_A2F8
		lcall	code_A309
		mov	R2, #40h ; '@'
		mov	DPTR, #0F4D2h

code_A304:				; CODE XREF: code_A2D1+35j
		movx	@DPTR, A
		inc	DPTR
		djnz	R2, code_A304
		ret
; End of function code_A2D1


; =============== S U B	R O U T	I N E =======================================


code_A309:				; CODE XREF: RESET_0+610p
					; code_A2D1+2Bp
		mov	R2, #40h ; '@'
		mov	DPSEL, #2	; Data Pointer Select Register
		mov	DPTR, #0F552h
		mov	DPSEL, #0	; Data Pointer Select Register
		mov	DPTR, #0F512h

code_A317:				; CODE XREF: code_A309+18j
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #2	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #0	; Data Pointer Select Register
		djnz	R2, code_A317
		ret
; End of function code_A309


; =============== S U B	R O U T	I N E =======================================


code_A324:				; CODE XREF: ParseRequest+1D6p
		mov	DPTR, #0F684h
		jnb	RAM_2F.7, code_A32B
		inc	DPTR

code_A32B:				; CODE XREF: code_A324+3j
		movx	A, @DPTR
		mov	R4, A
		xrl	A, #80h
		jnz	code_A36D
		mov	DPTR, #9E5Ah
		lcall	code_5695
		mov	DPTR, #5CE2h
		lcall	code_5695
		mov	DPTR, #9D1Dh
		lcall	code_5695
		mov	DPTR, #9D2Eh
		lcall	code_5695
		mov	DPTR, #9D39h
		lcall	code_5695
		mov	DPTR, #9D44h
		lcall	code_5695
		mov	DPTR, #5CC0h
		lcall	code_5695
		mov	DPTR, #9D54h
		lcall	code_5695
		mov	DPTR, #9D5Fh
		lcall	code_5695
		lcall	code_A3E8
		ljmp	code_A3D7
; ---------------------------------------------------------------------------

code_A36D:				; CODE XREF: code_A324+Bj
		mov	A, R4
		xrl	A, #90h
		jnz	code_A378
		lcall	code_A59B
		ljmp	code_A3D7
; ---------------------------------------------------------------------------

code_A378:				; CODE XREF: code_A324+4Cj
		mov	A, R4
		xrl	A, #91h
		jnz	code_A386
		mov	DPTR, #9E61h
		lcall	code_5695
		ljmp	code_A3D7
; ---------------------------------------------------------------------------

code_A386:				; CODE XREF: code_A324+57j
		mov	A, R4
		xrl	A, #92h
		jnz	code_A393
		mov	DPTR, #9E78h
		lcall	code_5695
		sjmp	code_A3D7
; ---------------------------------------------------------------------------

code_A393:				; CODE XREF: code_A324+65j
		mov	A, R4
		xrl	A, #94h
		jnz	code_A3A0
		mov	DPTR, #9E89h
		lcall	code_5695
		sjmp	code_A3D7
; ---------------------------------------------------------------------------

code_A3A0:				; CODE XREF: code_A324+72j
		mov	A, R4
		xrl	A, #97h
		jnz	code_A3AD
		mov	DPTR, #9E9Ah
		lcall	code_5695
		sjmp	code_A3D7
; ---------------------------------------------------------------------------

code_A3AD:				; CODE XREF: code_A324+7Fj
		mov	A, R4
		xrl	A, #98h
		jnz	code_A3B7
		lcall	code_A5C6
		sjmp	code_A3D7
; ---------------------------------------------------------------------------

code_A3B7:				; CODE XREF: code_A324+8Cj
		mov	A, R4
		xrl	A, #99h
		jnz	code_A3C4
		mov	DPTR, #9EB0h
		lcall	code_5695
		sjmp	code_A3D7
; ---------------------------------------------------------------------------

code_A3C4:				; CODE XREF: code_A324+96j
		mov	A, R4
		xrl	A, #9Ah
		jnz	code_A3D1
		mov	DPTR, #9EC1h
		lcall	code_5695
		sjmp	code_A3D7
; ---------------------------------------------------------------------------

code_A3D1:				; CODE XREF: code_A324+A3j
		mov	DPTR, #9E1Ah
		lcall	code_5695

code_A3D7:				; CODE XREF: code_A324+46j
					; code_A324+51j ...
		ret
; End of function code_A324


; =============== S U B	R O U T	I N E =======================================


code_A3D8:				; CODE XREF: ParseRequest:code_A1F1p
					; code_A43E+34p ...
		mov	A, RAM_51
		clr	C
		subb	A, #4
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F603h
		movx	@DPTR, A
		pop	DPSEL		; Data Pointer Select Register
; End of function code_A3D8


; =============== S U B	R O U T	I N E =======================================


code_A3E8:				; CODE XREF: code_A324+43p
					; code_A3F9+41p ...
		mov	R4, #0
		mov	R3, RAM_51
		mov	DPTR, #0F600h

code_A3EF:				; CODE XREF: code_A3E8+Bj
		movx	A, @DPTR
		add	A, R4
		mov	R4, A
		inc	DPTR
		djnz	R3, code_A3EF
		movx	@DPTR, A
		inc	RAM_51
		ret
; End of function code_A3E8


; =============== S U B	R O U T	I N E =======================================


code_A3F9:				; CODE XREF: ParseRequest:code_A11Cp
		mov	R0, #93h ; 'У'
		mov	A, @R0
		mov	R3, A
		mov	B, #3		; B-Register
		mul	AB
		mov	R2, A
		add	A, #2
		orl	A, #80h
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		movx	@DPTR, A
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		inc	DPTR
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #58h	; 'X'
		movx	@DPTR, A
		mov	A, R3
		inc	DPTR
		movx	@DPTR, A
		mov	RAM_51,	#5
		jz	code_A438
		mov	A, R2
		add	A, #5
		mov	RAM_51,	A
		mov	DPSEL, #4	; Data Pointer Select Register
		mov	DPTR, #0F605h
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F400h
		lcall	code_56A8

code_A438:				; CODE XREF: code_A3F9+29j
		pop	DPSEL		; Data Pointer Select Register
		lcall	code_A3E8
		ret
; End of function code_A3F9


; =============== S U B	R O U T	I N E =======================================


code_A43E:				; CODE XREF: ParseRequest+202p
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #80h	; 'А'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		inc	DPTR
		mov	A, #61h	; 'a'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	RAM_51,	#6
		pop	DPSEL		; Data Pointer Select Register
		mov	DPTR, #3F3Eh
		lcall	code_56FB
		mov	DPTR, #3F4Fh
		lcall	code_5737
		mov	DPTR, #3F5Dh
		lcall	code_5710
		lcall	code_A3D8
		ret
; End of function code_A43E


; =============== S U B	R O U T	I N E =======================================


code_A476:				; CODE XREF: ParseRequest+20Ap
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #80h	; 'А'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		inc	DPTR
		mov	A, #61h	; 'a'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	RAM_51,	#6
		pop	DPSEL		; Data Pointer Select Register
		mov	DPTR, #3F6Bh
		lcall	code_56FB
		mov	DPTR, #3F77h
		lcall	code_5737
		mov	DPTR, #3F81h
		lcall	code_5710
		lcall	code_A3D8
		ret
; End of function code_A476


; =============== S U B	R O U T	I N E =======================================


code_A4AE:				; CODE XREF: ParseRequest+212p
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #80h	; 'А'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		inc	DPTR
		mov	A, #61h	; 'a'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	RAM_51,	#6
		pop	DPSEL		; Data Pointer Select Register
		mov	DPTR, #3F8Dh
		lcall	code_56FB
		mov	DPTR, #3F8Fh
		lcall	code_5737
		lcall	code_A3D8
		ret
; End of function code_A4AE


; =============== S U B	R O U T	I N E =======================================


code_A4E0:				; CODE XREF: ParseRequest+232p
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #87h	; 'З'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #61h	; 'a'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		mov	DPSEL, #4	; Data Pointer Select Register
		mov	DPTR, #0F605h
		mov	R2, #5
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0A515h
		lcall	code_56B5
		mov	RAM_51,	#0Ah
		pop	DPSEL		; Data Pointer Select Register
		lcall	code_A3E8
		ret
; End of function code_A4E0

; ---------------------------------------------------------------------------
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh
		db 0FFh

; =============== S U B	R O U T	I N E =======================================


code_A51A:				; CODE XREF: ParseRequest+21Ap
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #89h	; 'Й'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #61h	; 'a'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	RAM_51,	#5
		pop	DPSEL		; Data Pointer Select Register
		mov	DPTR, #5CC8h
		lcall	code_5695
		lcall	code_A3E8
		ret
; End of function code_A51A


; =============== S U B	R O U T	I N E =======================================


code_A545:				; CODE XREF: ParseRequest+222p
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #89h	; 'Й'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #61h	; 'a'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	RAM_51,	#5
		pop	DPSEL		; Data Pointer Select Register
		mov	DPTR, #5CD0h
		lcall	code_5695
		lcall	code_A3E8
		ret
; End of function code_A545


; =============== S U B	R O U T	I N E =======================================


code_A570:				; CODE XREF: ParseRequest+22Ap
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #8Ch	; 'М'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #61h	; 'a'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	RAM_51,	#5
		pop	DPSEL		; Data Pointer Select Register
		mov	DPTR, #5CD8h
		lcall	code_5695
		lcall	code_A3E8
		ret
; End of function code_A570


; =============== S U B	R O U T	I N E =======================================


code_A59B:				; CODE XREF: code_A324+4Ep
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #95h	; 'Х'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #5Ah	; 'Z'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	RAM_51,	#5
		pop	DPSEL		; Data Pointer Select Register
		mov	DPTR, #5CE2h
		lcall	code_5695
		lcall	code_A3E8
		ret
; End of function code_A59B


; =============== S U B	R O U T	I N E =======================================


code_A5C6:				; CODE XREF: code_A324+8Ep
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #89h	; 'Й'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #5Ah	; 'Z'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	RAM_51,	#5
		pop	DPSEL		; Data Pointer Select Register
		mov	DPTR, #5CC0h
		lcall	code_5695
		lcall	code_A3E8
		ret
; End of function code_A5C6

; ---------------------------------------------------------------------------
		db 0C0h	; └
		db  92h	; Т
		db  75h	; u
		db  92h	; Т
		db    7
		db  90h	; Р
		db 0F6h	; Ў
		db    0
		db  74h	; t
		db  82h	; В
		db 0F0h	; Ё
		db 0A3h	; г
		db  78h	; x
		db 0A6h	; ж
		db 0E6h	; ц
		db 0F0h	; Ё
		db 0A3h	; г
		db  74h	; t
		db  10h
		db 0F0h	; Ё
		db 0A3h	; г
		db  74h	; t
		db  7Bh	; {
		db 0F0h	; Ё
		db 0A3h	; г
		db 0ECh	; ь
		db 0F0h	; Ё
		db 0A3h	; г
		db  75h	; u
		db  51h	; Q
		db    5
		db 0D0h	; ╨
		db  92h	; Т
		db  12h
		db 0A3h	; г
		db 0E8h	; ш
		db  22h	; "

; =============== S U B	R O U T	I N E =======================================


code_A616:				; CODE XREF: ParseRequest:code_A21Dp
		mov	A, R3
		xrl	A, #0
		jnz	code_A623
		anl	RAM_79,	#0F7h
		anl	RAM_7C,	#0F0h	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		sjmp	code_A628
; ---------------------------------------------------------------------------

code_A623:				; CODE XREF: code_A616+3j
		mov	A, R3
		xrl	A, #1
		jnz	code_A653

code_A628:				; CODE XREF: code_A616+Bj
		mov	R2, #1
		setb	C
		mov	A, R4
		xrl	A, #1
		jnz	code_A634
		anl	C, P4.0		; Port 4 (PDIR=0)
		sjmp	code_A64D
; ---------------------------------------------------------------------------

code_A634:				; CODE XREF: code_A616+18j
		mov	A, R4
		xrl	A, #2
		jnz	code_A63D
		anl	C, P4.1		; Port 4 (PDIR=0)
		sjmp	code_A64D
; ---------------------------------------------------------------------------

code_A63D:				; CODE XREF: code_A616+21j
		mov	A, R4
		xrl	A, #3
		jnz	code_A646
		anl	C, P4.2		; Port 4 (PDIR=0)
		sjmp	code_A64D
; ---------------------------------------------------------------------------

code_A646:				; CODE XREF: code_A616+2Aj
		mov	A, R4
		xrl	A, #4
		jnz	code_A656
		anl	C, P4.3		; Port 4 (PDIR=0)

code_A64D:				; CODE XREF: code_A616+1Cj
					; code_A616+25j ...
		jnc	code_A6A2
		mov	R2, #0
		sjmp	code_A6A2
; ---------------------------------------------------------------------------

code_A653:				; CODE XREF: code_A616+10j
		mov	A, R3
		xrl	A, #6

code_A656:				; CODE XREF: code_A616+33j
		jz	code_A65B
		ljmp	code_A6FE
; ---------------------------------------------------------------------------

code_A65B:				; CODE XREF: code_A616:code_A656j
		jb	RAM_2A.6, code_A663 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		orl	RAM_79,	#8
		clr	RAM_2E.3

code_A663:				; CODE XREF: code_A616:code_A65Bj
		mov	A, R4
		xrl	A, #1
		jnz	code_A670
		orl	RAM_7C,	#1	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		anl	CMEN, #7Eh	; Compare Enable Register (RMAP=0)
		sjmp	code_A695
; ---------------------------------------------------------------------------

code_A670:				; CODE XREF: code_A616+50j
		mov	A, R4
		xrl	A, #2
		jnz	code_A67D
		orl	RAM_7C,	#2	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		anl	CMEN, #0FDh	; Compare Enable Register (RMAP=0)
		sjmp	code_A695
; ---------------------------------------------------------------------------

code_A67D:				; CODE XREF: code_A616+5Dj
		mov	A, R4
		xrl	A, #3
		jnz	code_A68A
		orl	RAM_7C,	#4	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		anl	CMEN, #0FBh	; Compare Enable Register (RMAP=0)
		sjmp	code_A695
; ---------------------------------------------------------------------------

code_A68A:				; CODE XREF: code_A616+6Aj
		mov	A, R4
		xrl	A, #4
		jnz	code_A6FE
		orl	RAM_7C,	#8	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		anl	CMEN, #0F7h	; Compare Enable Register (RMAP=0)

code_A695:				; CODE XREF: code_A616+58j
					; code_A616+65j ...
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_A69C
		inc	DPTR

code_A69C:				; CODE XREF: code_A616+82j
		movx	A, @DPTR
		mov	R2, A
		sjmp	code_A6A4
; ---------------------------------------------------------------------------

code_A6A0:				; CODE XREF: code_A616+98j
					; code_A616+ADj ...
		mov	R2, #0

code_A6A2:				; CODE XREF: code_A616:code_A64Dj
					; code_A616+3Bj
		sjmp	code_A707
; ---------------------------------------------------------------------------

code_A6A4:				; CODE XREF: code_A616+88j
		mov	A, R4
		xrl	A, #1
		jnz	code_A6B9
		mov	A, R2
		jnz	code_A6B0
		setb	P4.0		; Port 4 (PDIR=0)
		sjmp	code_A6A0
; ---------------------------------------------------------------------------

code_A6B0:				; CODE XREF: code_A616+94j
		jb	RAM_2A.6, code_A702 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	RAM_2E.4
		mov	R2, #1
		sjmp	code_A6F6
; ---------------------------------------------------------------------------

code_A6B9:				; CODE XREF: code_A616+91j
		mov	A, R4
		xrl	A, #2
		jnz	code_A6CE
		mov	A, R2
		jnz	code_A6C5
		setb	P4.1		; Port 4 (PDIR=0)
		sjmp	code_A6A0
; ---------------------------------------------------------------------------

code_A6C5:				; CODE XREF: code_A616+A9j
		jb	RAM_2A.6, code_A702 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	RAM_2E.5
		mov	R2, #1
		sjmp	code_A6F6
; ---------------------------------------------------------------------------

code_A6CE:				; CODE XREF: code_A616+A6j
		mov	A, R4
		xrl	A, #3
		jnz	code_A6E3
		mov	A, R2
		jnz	code_A6DA
		setb	P4.2		; Port 4 (PDIR=0)
		sjmp	code_A6A0
; ---------------------------------------------------------------------------

code_A6DA:				; CODE XREF: code_A616+BEj
		jb	RAM_2A.6, code_A702 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	RAM_2E.6
		mov	R2, #1
		sjmp	code_A6F6
; ---------------------------------------------------------------------------

code_A6E3:				; CODE XREF: code_A616+BBj
		mov	A, R4
		xrl	A, #4
		jnz	code_A6FE
		mov	A, R2
		jnz	code_A6EF
		setb	P4.3		; Port 4 (PDIR=0)
		sjmp	code_A6A0
; ---------------------------------------------------------------------------

code_A6EF:				; CODE XREF: code_A616+D3j
		jb	RAM_2A.6, code_A702 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	RAM_2E.7
		mov	R2, #1

code_A6F6:				; CODE XREF: code_A616+A1j
					; code_A616+B6j ...
		mov	DPTR, #0F95Dh
		mov	A, #64h	; 'd'
		movx	@DPTR, A
		sjmp	code_A707
; ---------------------------------------------------------------------------

code_A6FE:				; CODE XREF: code_A616+42j
					; code_A616+77j ...
		mov	R2, #12h
		sjmp	code_A707
; ---------------------------------------------------------------------------

code_A702:				; CODE XREF: code_A616:code_A6B0j
					; code_A616:code_A6C5j	...
		anl	RAM_7C,	#0F0h	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		mov	R2, #31h ; '1'

code_A707:				; CODE XREF: code_A616:code_A6A2j
					; code_A616+E6j ...
		ret
; End of function code_A616


; =============== S U B	R O U T	I N E =======================================


code_A708:				; CODE XREF: ParseRequest:code_A231p
		mov	A, R3
		xrl	A, #0
		jnz	code_A71B
		anl	RAM_7C,	#0EFh	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		mov	R2, #1
		setb	C
		anl	C, P5.1		; Port 5 (PDIR=0)
		jnc	code_A75F
		mov	R2, #0
		sjmp	code_A75F
; ---------------------------------------------------------------------------

code_A71B:				; CODE XREF: code_A708+3j
		mov	A, R3
		xrl	A, #1
		jnz	code_A72B
		mov	R2, #1
		setb	C
		anl	C, P5.1		; Port 5 (PDIR=0)
		jnc	code_A75F
		mov	R2, #0
		sjmp	code_A75F
; ---------------------------------------------------------------------------

code_A72B:				; CODE XREF: code_A708+16j
		mov	A, R3
		xrl	A, #6
		jnz	code_A75D
		anl	SETMSK,	#0BFh	; Compare Set Mask Register
		anl	CLRMSK,	#0BFh	; Compare Clear	Mask Register
		orl	RAM_7C,	#10h	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_A740
		inc	DPTR

code_A740:				; CODE XREF: code_A708+34j
		movx	A, @DPTR
		jnz	code_A74A
		orl	P5, #2		; Port 5 (PDIR=0)
		mov	R2, #0
		sjmp	code_A75F
; ---------------------------------------------------------------------------

code_A74A:				; CODE XREF: code_A708+39j
		mov	R2, #1
		mov	DPTR, #0F95Eh
		mov	A, #200
		movx	@DPTR, A
		mov	DPTR, #0F95Fh
		mov	A, #6
		movx	@DPTR, A
		anl	P5, #11111101b	; Port 5 (PDIR=0)
		sjmp	code_A75F
; ---------------------------------------------------------------------------

code_A75D:				; CODE XREF: code_A708+26j
		mov	R2, #12h

code_A75F:				; CODE XREF: code_A708+Dj
					; code_A708+11j ...
		ret
; End of function code_A708


; =============== S U B	R O U T	I N E =======================================


code_A760:				; CODE XREF: ParseRequest+2DEp
		mov	A, R3
		xrl	A, #0
		jnz	code_A773
		anl	RAM_7C,	#0DFh	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		mov	R2, #1
		setb	C
		anl	C, P5.2		; Port 5 (PDIR=0)
		jnc	code_A7B7
		mov	R2, #0
		sjmp	code_A7B7
; ---------------------------------------------------------------------------

code_A773:				; CODE XREF: code_A760+3j
		mov	A, R3
		xrl	A, #1
		jnz	code_A783
		mov	R2, #1
		setb	C
		anl	C, P5.2		; Port 5 (PDIR=0)
		jnc	code_A7B7
		mov	R2, #0
		sjmp	code_A7B7
; ---------------------------------------------------------------------------

code_A783:				; CODE XREF: code_A760+16j
		mov	A, R3
		xrl	A, #6
		jnz	code_A7B5
		anl	SETMSK,	#0DFh	; Compare Set Mask Register
		anl	CLRMSK,	#0DFh	; Compare Clear	Mask Register
		orl	RAM_7C,	#20h	; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_A798
		inc	DPTR

code_A798:				; CODE XREF: code_A760+34j
		movx	A, @DPTR
		jnz	code_A7A2
		orl	P5, #4		; Port 5 (PDIR=0)
		mov	R2, #0
		sjmp	code_A7B7
; ---------------------------------------------------------------------------

code_A7A2:				; CODE XREF: code_A760+39j
		mov	R2, #1
		mov	DPTR, #0F95Eh
		mov	A, #200
		movx	@DPTR, A
		mov	DPTR, #0F95Fh
		mov	A, #6
		movx	@DPTR, A
		anl	P5, #0FBh	; Port 5 (PDIR=0)
		sjmp	code_A7B7
; ---------------------------------------------------------------------------

code_A7B5:				; CODE XREF: code_A760+26j
		mov	R2, #12h

code_A7B7:				; CODE XREF: code_A760+Dj
					; code_A760+11j ...
		ret
; End of function code_A760


; =============== S U B	R O U T	I N E =======================================


code_A7B8:				; CODE XREF: ParseRequest+308p
		mov	A, R3
		xrl	A, #0
		jnz	code_A7C2
		anl	RAM_79,	#0FEh
		sjmp	code_A7C7
; ---------------------------------------------------------------------------

code_A7C2:				; CODE XREF: code_A7B8+3j
		mov	A, R3
		xrl	A, #1
		jnz	code_A7D5

code_A7C7:				; CODE XREF: code_A7B8+8j
		mov	R2, #1
		mov	DPTR, #0F999h
		movx	A, @DPTR
		mov	C, ACC.4	; Accumulator
		jc	code_A7F5
		mov	R2, #0
		sjmp	code_A7F5
; ---------------------------------------------------------------------------

code_A7D5:				; CODE XREF: code_A7B8+Dj
		mov	A, R3
		xrl	A, #6
		jnz	code_A7F3
		orl	RAM_79,	#1
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_A7E4
		inc	DPTR

code_A7E4:				; CODE XREF: code_A7B8+28j
		movx	A, @DPTR
		jnz	code_A7ED
		setb	RAM_2E.0
		mov	R2, #0
		sjmp	code_A7F5
; ---------------------------------------------------------------------------

code_A7ED:				; CODE XREF: code_A7B8+2Dj
		clr	RAM_2E.0
		mov	R2, #1
		sjmp	code_A7F5
; ---------------------------------------------------------------------------

code_A7F3:				; CODE XREF: code_A7B8+20j
		mov	R2, #12h

code_A7F5:				; CODE XREF: code_A7B8+17j
					; code_A7B8+1Bj ...
		ret
; End of function code_A7B8


; =============== S U B	R O U T	I N E =======================================


code_A7F6:				; CODE XREF: ParseRequest+2FBp
		mov	A, R3
		xrl	A, #0
		jnz	code_A809
		anl	RAM_79,	#0FDh
		mov	R2, #0
		setb	C
		anl	C, RAM_28.1	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		jc	code_A839
		mov	R2, #1
		sjmp	code_A839
; ---------------------------------------------------------------------------

code_A809:				; CODE XREF: code_A7F6+3j
		mov	A, R3
		xrl	A, #1
		jnz	code_A819
		mov	R2, #0
		setb	C
		anl	C, RAM_28.1	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		jc	code_A839
		mov	R2, #1
		sjmp	code_A839
; ---------------------------------------------------------------------------

code_A819:				; CODE XREF: code_A7F6+16j
		mov	A, R3
		xrl	A, #6
		jnz	code_A837
		orl	RAM_79,	#2
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_A828
		inc	DPTR

code_A828:				; CODE XREF: code_A7F6+2Ej
		movx	A, @DPTR
		jnz	code_A831
		clr	RAM_2E.1
		mov	R2, #0
		sjmp	code_A839
; ---------------------------------------------------------------------------

code_A831:				; CODE XREF: code_A7F6+33j
		setb	RAM_2E.1
		mov	R2, #1
		sjmp	code_A839
; ---------------------------------------------------------------------------

code_A837:				; CODE XREF: code_A7F6+26j
		mov	R2, #12h

code_A839:				; CODE XREF: code_A7F6+Dj
					; code_A7F6+11j ...
		ret
; End of function code_A7F6


; =============== S U B	R O U T	I N E =======================================


code_A83A:				; CODE XREF: ParseRequest+2EEp
		mov	A, R3
		xrl	A, #0
		jnz	code_A844
		anl	RAM_79,	#0F7h
		sjmp	code_A849
; ---------------------------------------------------------------------------

code_A844:				; CODE XREF: code_A83A+3j
		mov	A, R3
		xrl	A, #1
		jnz	code_A858

code_A849:				; CODE XREF: code_A83A+8j
		mov	R2, #0
		mov	DPTR, #0F999h
		movx	A, @DPTR
		setb	C
		anl	C, ACC.6	; Accumulator
		jnc	code_A878
		mov	R2, #1
		sjmp	code_A878
; ---------------------------------------------------------------------------

code_A858:				; CODE XREF: code_A83A+Dj
		mov	A, R3
		xrl	A, #6
		jnz	code_A876
		orl	RAM_79,	#8
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_A867
		inc	DPTR

code_A867:				; CODE XREF: code_A83A+29j
		movx	A, @DPTR
		jnz	code_A870
		clr	RAM_2E.3
		mov	R2, #0
		sjmp	code_A878
; ---------------------------------------------------------------------------

code_A870:				; CODE XREF: code_A83A+2Ej
		setb	RAM_2E.3
		mov	R2, #1
		sjmp	code_A878
; ---------------------------------------------------------------------------

code_A876:				; CODE XREF: code_A83A+21j
		mov	R2, #12h

code_A878:				; CODE XREF: code_A83A+18j
					; code_A83A+1Cj ...
		ret
; End of function code_A83A


; =============== S U B	R O U T	I N E =======================================


code_A879:				; CODE XREF: ParseRequest+2BCp
					; ParseRequest+2D0p ...
		mov	A, R2
		xrl	A, #12h
		jnz	code_A884
		mov	DPTR, #9E42h
		ljmp	code_5695
; ---------------------------------------------------------------------------

code_A884:				; CODE XREF: code_A879+3j
		mov	A, R2
		xrl	A, #31h
		jnz	code_A88F
		mov	DPTR, #9E52h
		ljmp	code_5695
; ---------------------------------------------------------------------------

code_A88F:				; CODE XREF: code_A879+Ej
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #84h	; 'Д'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #70h	; 'p'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	A, R3
		movx	@DPTR, A
		inc	DPTR
		mov	A, R2
		movx	@DPTR, A
		inc	DPTR
		mov	RAM_51,	#7
		pop	DPSEL		; Data Pointer Select Register
		ljmp	code_A3E8
; End of function code_A879


; =============== S U B	R O U T	I N E =======================================


code_A8B9:				; CODE XREF: ParseRequest+315p
		mov	A, R3
		jnz	code_A8C2
		anl	DEV_FLAGS, #0DFh ; Флаги управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	R2, #0
		ret
; ---------------------------------------------------------------------------

code_A8C2:				; CODE XREF: code_A8B9+1j
		cjne	A, #1, code_A8C8
		mov	R2, #0
		ret
; ---------------------------------------------------------------------------

code_A8C8:				; CODE XREF: code_A8B9:code_A8C2j
		cjne	A, #7, code_A8DB
		orl	DEV_FLAGS, #20h	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_A8D5
		inc	DPTR

code_A8D5:				; CODE XREF: code_A8B9+18j
		movx	A, @DPTR
		mov	RXX_Position, A
		mov	R2, #0
		ret
; ---------------------------------------------------------------------------

code_A8DB:				; CODE XREF: code_A8B9:code_A8C8j
		mov	R2, #12h
		ret
; End of function code_A8B9


; =============== S U B	R O U T	I N E =======================================


code_A8DE:				; CODE XREF: ParseRequest+322p
		mov	A, R3
		jnz	code_A8E7
		anl	DEV_FLAGS, #0BFh ; Флаги управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	R2, #0
		ret
; ---------------------------------------------------------------------------

code_A8E7:				; CODE XREF: code_A8DE+1j
		cjne	A, #1, code_A8ED
		mov	R2, #0
		ret
; ---------------------------------------------------------------------------

code_A8ED:				; CODE XREF: code_A8DE:code_A8E7j
		cjne	A, #7, code_A902
		orl	DEV_FLAGS, #40h	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_A8FA
		inc	DPTR

code_A8FA:				; CODE XREF: code_A8DE+18j
		movx	A, @DPTR
		mov	DPTR, #0F849h
		movx	@DPTR, A
		mov	R2, #0
		ret
; ---------------------------------------------------------------------------

code_A902:				; CODE XREF: code_A8DE:code_A8EDj
		mov	R2, #12h
		ret
; End of function code_A8DE


; =============== S U B	R O U T	I N E =======================================


code_A905:				; CODE XREF: ParseRequest+318p
					; ParseRequest+325p
		mov	A, R2
		xrl	A, #12h
		jnz	code_A910
		mov	DPTR, #9E42h
		ljmp	code_5695
; ---------------------------------------------------------------------------

code_A910:				; CODE XREF: code_A905+3j
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #87h	; 'З'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #70h	; 'p'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	A, R3
		movx	@DPTR, A
		inc	DPTR
		mov	A, RXX_Position
		movx	@DPTR, A
		inc	DPTR
		mov	A, RAM_65
		movx	@DPTR, A
		inc	DPTR
		mov	A, RAM_53_CurrentEngineSpeed
		cjne	A, #0FFh, code_A93E
		mov	A, DPKVCount

code_A93E:				; CODE XREF: code_A905+34j
		movx	@DPTR, A
		inc	DPTR
		pop	DPSEL		; Data Pointer Select Register
		mov	DPTR, #0F849h
		movx	A, @DPTR
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		pop	DPSEL		; Data Pointer Select Register
		mov	RAM_51,	#0Ah
		ljmp	code_A3E8
; End of function code_A905


; =============== S U B	R O U T	I N E =======================================


code_A955:				; CODE XREF: ParseRequest+32Fp
		mov	A, R3
		jnz	code_A95D
		anl	RAM_7B,	#0FBh
		sjmp	code_A960
; ---------------------------------------------------------------------------

code_A95D:				; CODE XREF: code_A955+1j
		cjne	A, #1, code_A96A

code_A960:				; CODE XREF: code_A955+6j
		mov	R2, #0
		mov	DPTR, #0F806h
		movx	A, @DPTR
		jz	code_A969
		inc	R2

code_A969:				; CODE XREF: code_A955+11j
		ret
; ---------------------------------------------------------------------------

code_A96A:				; CODE XREF: code_A955:code_A95Dj
		cjne	A, #6, code_A98A
		orl	RAM_7B,	#4
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_A977
		inc	DPTR

code_A977:				; CODE XREF: code_A955+1Ej
		movx	A, @DPTR
		jnz	code_A981
		clr	A
		mov	DPTR, #0F806h
		movx	@DPTR, A
		mov	R2, A
		ret
; ---------------------------------------------------------------------------

code_A981:				; CODE XREF: code_A955+23j
		mov	A, #40h	; '@'
		mov	DPTR, #0F806h
		movx	@DPTR, A
		mov	R2, #1
		ret
; ---------------------------------------------------------------------------

code_A98A:				; CODE XREF: code_A955:code_A96Aj
		mov	R2, #12h
		ret
; End of function code_A955

; ---------------------------------------------------------------------------
		db  12h
		db  56h	; V
		db  5Ch	; \
		db  30h	; 0
		db  7Dh	; }
		db  5Bh	; [
		db 0D2h	; ╥
		db  7Eh	; ~
		db  90h	; Р
		db 0F6h	; Ў
		db  84h	; Д
		db  30h	; 0
		db  7Fh	; 
		db    1
		db 0A3h	; г
		db 0E0h	; р
		db 0F5h	; ї
		db 0F0h	; Ё
		db 0A3h	; г
		db 0E0h	; р
		db 0F9h	; ∙
		db 0A3h	; г
		db 0E0h	; р
		db 0FBh	; √
		db 0A3h	; г
		db 0E0h	; р
		db 0FAh	; ·
		db 0E5h	; х
		db 0F0h	; Ё
		db  70h	; p
		db  50h	; P
		db 0EAh	; ъ
		db  60h	; `
		db  48h	; H
		db 0B4h	; ┤
		db  78h	; x
		db    0
		db  50h	; P
		db  43h	; C
		db  74h	; t
		db  80h	; А
		db 0C0h	; └
		db  92h	; Т
		db  75h	; u
		db  92h	; Т
		db    7
		db  90h	; Р
		db 0F6h	; Ў
		db    0
		db 0F0h	; Ё
		db  78h	; x
		db 0A6h	; ж
		db 0E6h	; ц
		db 0A3h	; г
		db 0F0h	; Ё
		db 0A3h	; г
		db  74h	; t
		db  10h
		db 0F0h	; Ё
		db 0A3h	; г
		db 0EAh	; ъ
		db    4
		db 0F0h	; Ё
		db 0A3h	; г
		db  74h	; t
		db  63h	; c
		db 0F0h	; Ё
		db 0EAh	; ъ
		db  24h	; $
		db    5
		db 0F5h	; ї
		db  51h	; Q
		db  75h	; u
		db  92h	; Т
		db    4
		db  90h	; Р
		db 0F6h	; Ў
		db    5
		db  75h	; u
		db  92h	; Т
		db    3
		db 0E9h	; щ
		db 0F5h	; ї
		db  83h	; Г
		db 0EBh	; ы
		db 0F5h	; ї
		db  82h	; В
		db  12h
		db  56h	; V
		db 0A8h	; и
		db 0D0h	; ╨
		db  92h	; Т
		db  12h
		db 0A3h	; г
		db 0E8h	; ш
		db  80h	; А
		db    6
		db  90h	; Р
		db  9Dh	; Э
		db 0EAh	; ъ
		db  12h
		db  56h	; V
		db  95h	; Х
		db 0D2h	; ╥
		db  7Ch	; |
		db  22h	; "
		db  90h	; Р
		db  9Eh	; Ю
		db  4Ah	; J
		db  80h	; А
		db 0F5h	; ї
		db  90h	; Р
		db  9Eh	; Ю
		db  32h	; 2
		db  80h	; А
		db 0F0h	; Ё

; =============== S U B	R O U T	I N E =======================================


InitFlags:				; CODE XREF: RESET_0+Dp RESET_0+64p ...
		mov	DPTR, #60C2h
		clr	A
		movc	A, @A+DPTR
		mov	RAM_76,	A
		mov	DPTR, #6051h
		clr	A
		movc	A, @A+DPTR
		mov	SensorsParts, A	; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	A, #1
		movc	A, @A+DPTR
		mov	PartFlags1, A	; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
		mov	DPTR, #5F04h
		clr	A
		movc	A, @A+DPTR
		mov	C, ACC.1	; Accumulator
		mov	SoftFlags1.0, C	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	C, ACC.2	; Accumulator
		mov	ElectronicsParts.7, C ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		mov	C, ACC.3	; Accumulator
		mov	SoftFlags1.4, C	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	C, ACC.5	; Accumulator
		mov	SoftFlags1.7, C	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jnb	SoftFlags1.7, code_AA41	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jnb	SensorsParts.5,	code_AA3C ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		jb	RAM_22.4, code_AA3C
		jb	ACC.6, code_AA3C ; Всегда попарно параллельный режим для катушек Январь	7.2 (2111)
		clr	ElectronicsParts.6 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		orl	P9, #40h	; Port 9 (PDIR=0)
		sjmp	code_AA41
; ---------------------------------------------------------------------------

code_AA3C:				; CODE XREF: InitFlags+2Bj
					; InitFlags+2Ej ...
		setb	ElectronicsParts.6 ; 0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		anl	P9, #0BFh	; Port 9 (PDIR=0)

code_AA41:				; CODE XREF: InitFlags+28j
					; InitFlags+39j
		mov	A, #1
		movc	A, @A+DPTR
		mov	C, ACC.2	; Работать без ДМРВ (ДАД или по	дросселю)
		mov	SoftFlags1.6, C	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	A, #3
		movc	A, @A+DPTR
		mov	C, ACC.6	; Имс контроллера детонации HIP9011 (A5V05N35 after 08.2005)
		mov	ElectronicsParts.0, C ;	0 bit HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
		mov	C, ACC.7	; Тип ЭБУ VS5.1-42 (OLD) V5V05K17-L19
		mov	SoftFlags1.3, C	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		ret
; End of function InitFlags

; ---------------------------------------------------------------------------
		db  80h	; А
		db  8Bh	; Л
		db  95h	; Х
		db 0A0h	; а
		db 0ABh	; л
		db 0B5h	; ╡
		db 0C0h	; └
		db 0CBh	; ╦
		db 0D5h	; ╒
		db 0E0h	; р
		db 0EBh	; ы
		db 0F5h	; ї
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR ParseRequest

code_AA60:				; CODE XREF: ParseRequest+43j
		lcall	code_565C
		jnb	RAM_2F.5, code_AAD4
		setb	RAM_2F.6
		mov	DPTR, #0F684h
		jnb	RAM_2F.7, code_AA6F
		inc	DPTR

code_AA6F:				; CODE XREF: ParseRequest+B07j
		movx	A, @DPTR
		jnz	code_AACC
		inc	DPTR
		movx	A, @DPTR
		mov	R3, A
		inc	DPTR
		movx	A, @DPTR
		mov	R4, A
		inc	DPTR
		movx	A, @DPTR
		jz	code_AAC4
		cjne	A, #78h, code_AA7F ; 'x'

code_AA7F:
		jnc	code_AAC4
		mov	R2, A
		mov	A, #80h	; 'А'
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, R2
		inc	A
		movx	@DPTR, A
		inc	DPTR
		mov	A, #63h	; 'c'
		movx	@DPTR, A
		mov	A, R2
		add	A, #5
		mov	RAM_51,	A
		mov	DPSEL, #4	; Data Pointer Select Register
		mov	DPTR, #0F605h
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPH, R3		; Data Pointer,	High Byte
		mov	DPL, R4		; Data Pointer,	Low Byte
		cjne	R3, #0F3h, code_AAB3 ; 'є'

code_AAB3:
		jnc	code_AABA
		lcall	code_AB93
		sjmp	code_AABD
; ---------------------------------------------------------------------------

code_AABA:				; CODE XREF: ParseRequest:code_AAB3j
		lcall	code_56A8

code_AABD:				; CODE XREF: ParseRequest+B54j
		pop	DPSEL		; Data Pointer Select Register
		lcall	code_A3E8
		sjmp	code_AADA
; ---------------------------------------------------------------------------

code_AAC4:				; CODE XREF: ParseRequest+B16j
					; ParseRequest:code_AA7Fj
		mov	DPTR, #0AAEDh
		lcall	code_5695
		sjmp	code_AADA
; ---------------------------------------------------------------------------

code_AACC:				; CODE XREF: ParseRequest+B0Cj
		mov	DPTR, #0AAE5h
		lcall	code_5695
		sjmp	code_AADA
; ---------------------------------------------------------------------------

code_AAD4:				; CODE XREF: ParseRequest+AFFj
		mov	DPTR, #0AADDh
		lcall	code_5695

code_AADA:				; CODE XREF: ParseRequest+B5Ej
					; ParseRequest+B66j ...
		setb	RAM_2F.4
		ret
; END OF FUNCTION CHUNK	FOR ParseRequest
; ---------------------------------------------------------------------------
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  23h	; #
		db  10h
		db  36h	; 6
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  23h	; #
		db  12h
		db  38h	; 8
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  23h	; #
		db  31h	; 1
		db  57h	; W
		db    0
; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR ParseRequest

code_AAF5:				; CODE XREF: ParseRequest+67j
		lcall	code_565C
		jb	RAM_2F.5, code_AAFE
		ljmp	code_AB72
; ---------------------------------------------------------------------------

code_AAFE:				; CODE XREF: ParseRequest+B94j
		setb	RAM_2F.6
		mov	DPTR, #0F684h
		jnb	RAM_2F.7, code_AB07
		inc	DPTR

code_AB07:				; CODE XREF: ParseRequest+B9Fj
		movx	A, @DPTR
		jnz	code_AB6A
		inc	DPTR
		movx	A, @DPTR
		mov	R3, A
		inc	DPTR
		movx	A, @DPTR
		mov	R4, A
		inc	DPTR
		movx	A, @DPTR
		jz	code_AB62
		cjne	A, #70h, code_AB17 ; 'p'

code_AB17:
		jnc	code_AB62
		mov	R2, A
		mov	A, R4
		add	A, R2
		mov	A, R3
		addc	A, #0
		jc	code_AB62
		inc	DPTR
		mov	R0, DPH		; Data Pointer,	High Byte
		mov	R1, DPL		; Data Pointer,	Low Byte
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #4	; Data Pointer Select Register
		mov	DPH, R3		; Data Pointer,	High Byte
		mov	DPL, R4		; Data Pointer,	Low Byte
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPH, R0		; Data Pointer,	High Byte
		mov	DPL, R1		; Data Pointer,	Low Byte
		lcall	code_AB93
		mov	A, #84h	; 'Д'
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #7Dh	; '}'
		movx	@DPTR, A
		inc	DPTR
		clr	A
		movx	@DPTR, A
		inc	DPTR
		mov	A, R3
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		pop	DPSEL		; Data Pointer Select Register
		mov	RAM_51,	#7
		lcall	code_A3E8
		sjmp	code_AB78
; ---------------------------------------------------------------------------

code_AB62:				; CODE XREF: ParseRequest+BAEj
					; ParseRequest:code_AB17j ...
		mov	DPTR, #0AB8Bh
		lcall	code_5695
		sjmp	code_AB78
; ---------------------------------------------------------------------------

code_AB6A:				; CODE XREF: ParseRequest+BA4j
		mov	DPTR, #0AB83h
		lcall	code_5695
		sjmp	code_AB78
; ---------------------------------------------------------------------------

code_AB72:				; CODE XREF: ParseRequest+B97j
		mov	DPTR, #0AB7Bh
		lcall	code_5695

code_AB78:				; CODE XREF: ParseRequest+BFCj
					; ParseRequest+C04j ...
		setb	RAM_2F.4
		ret
; END OF FUNCTION CHUNK	FOR ParseRequest
; ---------------------------------------------------------------------------
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  3Dh	; =
		db  10h
		db  50h	; P
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  3Dh	; =
		db  12h
		db  52h	; R
		db    0
		db  83h	; Г
		db 0F1h	; ё
		db  10h
		db  7Fh	; 
		db  3Dh	; =
		db  31h	; 1
		db  71h	; q
		db    0

; =============== S U B	R O U T	I N E =======================================


code_AB93:				; CODE XREF: ParseRequest+B51p
					; ParseRequest+BD2p
		mov	B, #0		; B-Register
		mov	DPSEL, #0	; Data Pointer Select Register
		mov	DPTR, #0F3F8h

code_AB9C:				; CODE XREF: code_AB93+2Cj
		mov	A, #3
		mul	AB
		add	A, #0A5h ; 'е'
		mov	B, A		; B-Register
		mov	DPSEL, #0	; Data Pointer Select Register
		movx	A, @DPTR
		add	A, B		; B-Register
		mov	B, A		; B-Register
		inc	DPTR
		mov	A, DPL		; Data Pointer,	Low Byte
		jnz	code_ABB3
		mov	DPTR, #0F3F8h

code_ABB3:				; CODE XREF: code_AB93+1Bj
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	A, @DPTR
		inc	DPTR
		xrl	A, B		; B-Register
		mov	DPSEL, #4	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		djnz	R2, code_AB9C
		ret
; End of function code_AB93


; =============== S U B	R O U T	I N E =======================================


code_ABC2:				; CODE XREF: ParseRequest+23Bp
					; ParseRequest+26Dp
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #80h	; 'А'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		inc	DPTR
		mov	A, #61h	; 'a'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	RAM_51,	#6
		pop	DPSEL		; Data Pointer Select Register
		ret
; End of function code_ABC2

; ---------------------------------------------------------------------------
		db  2Bh	; +
		db  2Ch	; ,
		db  93h	; У
		db  5Bh	; [
		db  23h	; #
		db  24h	; $
		db  25h	; %
		db  5Fh	; _
		db  49h	; I
		db  61h	; a
		db  4Ch	; L
		db  52h	; R
		db  55h	; U
		db  53h	; S
		db  38h	; 8
		db  39h	; 9
		db  64h	; d
		db  65h	; e
		db  6Fh	; o
		db  4Dh	; M
		db  62h	; b
		db 0A9h	; й
		db 0AAh	; к
		db 0ABh	; л
		db 0ACh	; м
		db  72h	; r
		db    0
		db 0F8h	; °
		db  0Ch
		db 0F8h	; °
		db  0Dh
		db 0F8h	; °
		db  4Dh	; M
		db 0F8h	; °
		db 0A9h	; й
		db 0F8h	; °
		db  0Bh
		db 0F8h	; °
		db  0Fh
		db 0F8h	; °
		db  11h
		db 0F8h	; °
		db  10h
		db 0F9h	; ∙
		db  0Fh
		db 0F9h	; ∙
		db    8
		db 0F8h	; °
		db  49h	; I
		db 0F8h	; °
		db  85h	; Е
		db 0F8h	; °
		db    2
		db    0
		db    0
		db 0F9h	; ∙
		db  7Bh	; {
		db 0F9h	; ∙
		db    6
		db 0F9h	; ∙
		db    9
		db 0F8h	; °
		db    8
		db 0F8h	; °
		db  2Eh	; .
		db 0F8h	; °
		db  62h	; b
		db    0
		db    0
		db  2Ch	; ,
		db  49h	; I
		db  61h	; a
		db  52h	; R
		db  38h	; 8
		db  39h	; 9
		db  62h	; b
		db    0
		db 0F9h	; ∙
		db    8
		db 0F8h	; °
		db  85h	; Е
		db 0F8h	; °
		db    2
		db    0
		db    0
		db 0F9h	; ∙
		db    9
		db 0F8h	; °
		db    8
		db 0F8h	; °
		db  2Eh	; .
		db    0
		db    0

; =============== S U B	R O U T	I N E =======================================


code_AC42:				; CODE XREF: ParseRequest:code_A29Bp
		mov	A, R4
		xrl	A, #0Fh
		jnz	code_AC4E
		lcall	code_ACAE
		jc	code_ACA5
		sjmp	code_ACA0
; ---------------------------------------------------------------------------

code_AC4E:				; CODE XREF: code_AC42+3j
		mov	A, R4
		xrl	A, #49h
		jnz	code_AC5A
		lcall	code_ACDA
		jc	code_ACA5
		sjmp	code_ACA0
; ---------------------------------------------------------------------------

code_AC5A:				; CODE XREF: code_AC42+Fj
		mov	A, R4
		xrl	A, #4Ah
		jnz	code_AC66
		lcall	code_ACFE
		jc	code_ACA5
		sjmp	code_ACA0
; ---------------------------------------------------------------------------

code_AC66:				; CODE XREF: code_AC42+1Bj
		mov	A, R4
		xrl	A, #4Bh
		jnz	code_AC72
		lcall	code_AD22
		jc	code_ACA5
		sjmp	code_ACA0
; ---------------------------------------------------------------------------

code_AC72:				; CODE XREF: code_AC42+27j
		mov	A, R4
		xrl	A, #4Ch
		jnz	code_AC7E
		lcall	code_AD4F
		jc	code_ACA5
		sjmp	code_ACA0
; ---------------------------------------------------------------------------

code_AC7E:				; CODE XREF: code_AC42+33j
		mov	A, R4
		xrl	A, #4Dh
		jnz	code_AC8A
		lcall	code_AD77
		jc	code_ACA5
		sjmp	code_ACA0
; ---------------------------------------------------------------------------

code_AC8A:				; CODE XREF: code_AC42+3Fj
		mov	A, R4
		xrl	A, #0AEh
		jnz	code_AC96
		lcall	code_AD9D
		jc	code_ACA5
		sjmp	code_ACA0
; ---------------------------------------------------------------------------

code_AC96:				; CODE XREF: code_AC42+4Bj
		mov	A, R4
		xrl	A, #4Eh
		jnz	code_ACA5
		lcall	code_ADAC
		jc	code_ACA5

code_ACA0:				; CODE XREF: code_AC42+Aj
					; code_AC42+16j ...
		lcall	code_ADD4
		sjmp	code_ACAB
; ---------------------------------------------------------------------------

code_ACA5:				; CODE XREF: code_AC42+8j
					; code_AC42+14j ...
		mov	DPTR, #9E42h
		lcall	code_5695

code_ACAB:				; CODE XREF: code_AC42+61j
		setb	RAM_2F.4
		ret
; End of function code_AC42


; =============== S U B	R O U T	I N E =======================================


code_ACAE:				; CODE XREF: code_AC42+5p
		mov	A, R3
		jnz	code_ACB5
		setb	P3.2		; Port 3 (PDIR=0)
		sjmp	code_ACB8
; ---------------------------------------------------------------------------

code_ACB5:				; CODE XREF: code_ACAE+1j
		cjne	A, #1, code_ACC1

code_ACB8:				; CODE XREF: code_ACAE+5j
		clr	A
		mov	C, P3.2		; Port 3 (PDIR=0)
		cpl	C
		mov	ACC.0, C	; Accumulator
		mov	R2, A
		clr	C
		ret
; ---------------------------------------------------------------------------

code_ACC1:				; CODE XREF: code_ACAE:code_ACB5j
		cjne	A, #6, code_ACD8
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_ACCB
		inc	DPTR

code_ACCB:				; CODE XREF: code_ACAE+19j
		movx	A, @DPTR
		jz	code_ACD0
		mov	A, #1

code_ACD0:				; CODE XREF: code_ACAE+1Ej
		mov	C, ACC.0	; Accumulator
		cpl	C
		mov	P3.2, C		; Port 3 (PDIR=0)
		mov	R2, A
		clr	C
		ret
; ---------------------------------------------------------------------------

code_ACD8:				; CODE XREF: code_ACAE:code_ACC1j
		setb	C
		ret
; End of function code_ACAE


; =============== S U B	R O U T	I N E =======================================


code_ACDA:				; CODE XREF: code_AC42+11p
		mov	A, R3
		jnz	code_ACE2
		anl	DEV_FLAGS, #0FEh ; Флаги управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		sjmp	code_ACE5
; ---------------------------------------------------------------------------

code_ACE2:				; CODE XREF: code_ACDA+1j
		cjne	A, #1, code_ACE9

code_ACE5:				; CODE XREF: code_ACDA+6j
		mov	R2, RAM_61
		clr	C
		ret
; ---------------------------------------------------------------------------

code_ACE9:				; CODE XREF: code_ACDA:code_ACE2j
		cjne	A, #7, code_ACFC
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_ACF3
		inc	DPTR

code_ACF3:				; CODE XREF: code_ACDA+15j
		movx	A, @DPTR
		orl	DEV_FLAGS, #1	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	RAM_61,	A
		mov	R2, A
		clr	C
		ret
; ---------------------------------------------------------------------------

code_ACFC:				; CODE XREF: code_ACDA:code_ACE9j
		setb	C
		ret
; End of function code_ACDA


; =============== S U B	R O U T	I N E =======================================


code_ACFE:				; CODE XREF: code_AC42+1Dp
		mov	A, R3
		jnz	code_AD06
		anl	DEV_FLAGS, #0FBh ; Флаги управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		sjmp	code_AD09
; ---------------------------------------------------------------------------

code_AD06:				; CODE XREF: code_ACFE+1j
		cjne	A, #1, code_AD0D

code_AD09:				; CODE XREF: code_ACFE+6j
		mov	R2, UOZ
		clr	C
		ret
; ---------------------------------------------------------------------------

code_AD0D:				; CODE XREF: code_ACFE:code_AD06j
		cjne	A, #7, code_AD20
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_AD17
		inc	DPTR

code_AD17:				; CODE XREF: code_ACFE+15j
		movx	A, @DPTR
		orl	DEV_FLAGS, #4	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	UOZ, A
		mov	R2, A
		clr	C
		ret
; ---------------------------------------------------------------------------

code_AD20:				; CODE XREF: code_ACFE:code_AD0Dj
		setb	C
		ret
; End of function code_ACFE


; =============== S U B	R O U T	I N E =======================================


code_AD22:				; CODE XREF: code_AC42+29p
		mov	A, R3
		jnz	code_AD2A
		anl	DEV_FLAGS, #0F7h ; Флаги управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		sjmp	code_AD2F
; ---------------------------------------------------------------------------

code_AD2A:				; CODE XREF: code_AD22+1j
		mov	A, R3
		xrl	A, #1
		jnz	code_AD36

code_AD2F:				; CODE XREF: code_AD22+6j
		mov	DPTR, #0F90Fh
		movx	A, @DPTR
		mov	R2, A
		clr	C
		ret
; ---------------------------------------------------------------------------

code_AD36:				; CODE XREF: code_AD22+Bj
		mov	A, R3
		xrl	A, #7
		jnz	code_AD4D
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_AD42
		inc	DPTR

code_AD42:				; CODE XREF: code_AD22+1Cj
		movx	A, @DPTR
		orl	DEV_FLAGS, #8	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	DPTR, #0F90Fh
		movx	@DPTR, A
		mov	R2, A
		clr	C
		ret
; ---------------------------------------------------------------------------

code_AD4D:				; CODE XREF: code_AD22+17j
		setb	C
		ret
; End of function code_AD22


; =============== S U B	R O U T	I N E =======================================


code_AD4F:				; CODE XREF: code_AC42+35p
		mov	A, R3
		jnz	code_AD57
		anl	DEV_FLAGS, #0FDh ; Флаги управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		sjmp	code_AD5C
; ---------------------------------------------------------------------------

code_AD57:				; CODE XREF: code_AD4F+1j
		mov	A, R3
		xrl	A, #1
		jnz	code_AD60

code_AD5C:				; CODE XREF: code_AD4F+6j
		mov	R2, RAM_4D
		clr	C
		ret
; ---------------------------------------------------------------------------

code_AD60:				; CODE XREF: code_AD4F+Bj
		mov	A, R3
		xrl	A, #7
		jnz	code_AD75
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_AD6C
		inc	DPTR

code_AD6C:				; CODE XREF: code_AD4F+19j
		movx	A, @DPTR
		orl	DEV_FLAGS, #2	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	RAM_4D,	A
		mov	R2, A
		clr	C
		ret
; ---------------------------------------------------------------------------

code_AD75:				; CODE XREF: code_AD4F+14j
		setb	C
		ret
; End of function code_AD4F


; =============== S U B	R O U T	I N E =======================================


code_AD77:				; CODE XREF: code_AC42+41p
		mov	A, R3
		jnz	code_AD7F
		anl	DEV_FLAGS, #0EFh ; Флаги управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		sjmp	code_AD84
; ---------------------------------------------------------------------------

code_AD7F:				; CODE XREF: code_AD77+1j
		mov	A, R3
		xrl	A, #1
		jnz	code_AD88

code_AD84:				; CODE XREF: code_AD77+6j
		mov	R2, RAM_6F
		clr	C
		ret
; ---------------------------------------------------------------------------

code_AD88:				; CODE XREF: code_AD77+Bj
		mov	A, R3
		xrl	A, #7
		jnz	code_ADAA
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_AD94
		inc	DPTR

code_AD94:				; CODE XREF: code_AD77+19j
		movx	A, @DPTR
		orl	DEV_FLAGS, #10h	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	RAM_6F,	A
		mov	R2, A
		clr	C
		ret
; End of function code_AD77


; =============== S U B	R O U T	I N E =======================================


code_AD9D:				; CODE XREF: code_AC42+4Dp
		mov	A, R3
		xrl	A, #0AEh
		jnz	code_ADAA
		mov	R0, #91h ; 'С'
		mov	A, @R0
		orl	A, #80h
		mov	@R0, A
		clr	C
		ret
; ---------------------------------------------------------------------------

code_ADAA:				; CODE XREF: code_AD77+14j
					; code_AD9D+3j
		setb	C
		ret
; End of function code_AD9D


; =============== S U B	R O U T	I N E =======================================


code_ADAC:				; CODE XREF: code_AC42+59p
		mov	A, R3
		jnz	code_ADB4
		anl	DEV_FLAGS, #7Fh	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		sjmp	code_ADB9
; ---------------------------------------------------------------------------

code_ADB4:				; CODE XREF: code_ADAC+1j
		mov	A, R3
		xrl	A, #1
		jnz	code_ADBD

code_ADB9:				; CODE XREF: code_ADAC+6j
		mov	R2, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		clr	C
		ret
; ---------------------------------------------------------------------------

code_ADBD:				; CODE XREF: code_ADAC+Bj
		mov	A, R3
		xrl	A, #7
		jnz	code_ADD2
		mov	DPTR, #0F686h
		jnb	RAM_2F.7, code_ADC9
		inc	DPTR

code_ADC9:				; CODE XREF: code_ADAC+19j
		movx	A, @DPTR
		orl	DEV_FLAGS, #80h	; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
		mov	DTOG_Value, A	; Текущее значение ДТОЖ	(температура двигателя)
		mov	R2, A
		clr	C
		ret
; ---------------------------------------------------------------------------

code_ADD2:				; CODE XREF: code_ADAC+14j
		setb	C
		ret
; End of function code_ADAC


; =============== S U B	R O U T	I N E =======================================


code_ADD4:				; CODE XREF: code_AC42:code_ACA0p
		push	DPSEL		; Data Pointer Select Register
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #84h	; 'Д'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		mov	A, #70h	; 'p'
		movx	@DPTR, A
		inc	DPTR
		mov	A, R4
		movx	@DPTR, A
		inc	DPTR
		mov	A, R3
		movx	@DPTR, A
		inc	DPTR
		mov	A, R2
		movx	@DPTR, A
		inc	DPTR
		mov	RAM_51,	#7
		pop	DPSEL		; Data Pointer Select Register
		ljmp	code_A3E8
; End of function code_ADD4


; =============== S U B	R O U T	I N E =======================================


InitOnlineECU:				; CODE XREF: RESET_0+44p
		mov	A, IP0		; Interrupt Priority Register 0
		jb	ACC.6, code_AE2B ; WDTS

code_AE03:				; CODE XREF: InitOnlineECU+21j
		mov	DPTR, #0

code_AE06:				; CODE XREF: InitOnlineECU+16j
		clr	A
		movc	A, @A+DPTR
		movx	@DPTR, A
		mov	A, DPL		; Data Pointer,	Low Byte
		jnz	code_AE11
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1

code_AE11:				; CODE XREF: InitOnlineECU+Dj
		inc	DPTR
		mov	A, DPH		; Data Pointer,	High Byte
		cjne	A, #0F4h, code_AE06 ; 'Ї'
		mov	A, P6		; Port 6 (PDIR=0)
		jnb	ACC.0, code_AE21 ; Accumulator
		anl	P6, #0FEh	; Port 6 (PDIR=0)
		sjmp	code_AE03
; ---------------------------------------------------------------------------

code_AE21:				; CODE XREF: InitOnlineECU+1Bj
		orl	P6, #1		; Port 6 (PDIR=0)
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		lcall	code_AE41

code_AE2B:				; CODE XREF: RESET_0+1267j
					; InitOnlineECU+2j
		mov	DPTR, #0F3F8h
		mov	B, #8		; B-Register

code_AE31:				; CODE XREF: InitOnlineECU+3Fj
		movx	A, @DPTR
		anl	P6, #0FEh	; Port 6 (PDIR=0)
		nop
		nop
		movx	@DPTR, A
		nop
		orl	P6, #1		; Port 6 (PDIR=0)
		inc	DPTR
		djnz	B, code_AE31	; B-Register
		ret
; End of function InitOnlineECU


; =============== S U B	R O U T	I N E =======================================


code_AE41:				; CODE XREF: InitOnlineECU+2Ap
		mov	DPTR, #0F3F8h
		jb	SoftFlags1.7, code_AE67	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jb	SoftFlags1.3, code_AE84	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		lcall	code_AE91
		jc	code_AE84
		mov	R1, #0
		mov	R2, #8
		mov	A, #0Fh
		lcall	code_AF2F

code_AE58:				; CODE XREF: code_AE41+1Cj
		lcall	code_AF97
		movx	@DPTR, A
		inc	DPTR
		djnz	R2, code_AE58
		mov	A, R1
		jnz	code_AE84
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		ret
; ---------------------------------------------------------------------------

code_AE67:				; CODE XREF: code_AE41+3j
		lcall	code_AEE0
		jc	code_AE84
		mov	R1, #0
		mov	R2, #8
		mov	A, #0Fh
		lcall	code_AF63

code_AE75:				; CODE XREF: code_AE41+39j
		lcall	code_AFDE
		movx	@DPTR, A
		inc	DPTR
		djnz	R2, code_AE75
		mov	A, R1
		jnz	code_AE84
		setb	IEN0.6		; Interrupt Enable Register 0
		setb	IEN1.6		; Interrupt Enable Register 1
		ret
; ---------------------------------------------------------------------------

code_AE84:				; CODE XREF: code_AE41+6j code_AE41+Cj ...
		mov	DPTR, #0F3F8h
		clr	A
		mov	B, #8		; B-Register

code_AE8B:				; CODE XREF: code_AE41+4Cj
		movx	@DPTR, A
		inc	DPTR
		djnz	B, code_AE8B	; B-Register
		ret
; End of function code_AE41


; =============== S U B	R O U T	I N E =======================================


code_AE91:				; CODE XREF: code_AE41+9p
		orl	IP1, #80h	; Interrupt Priority Register 1
		anl	P5, #7Fh	; Port 5 (PDIR=0)
		nop
		anl	P5, #7Fh	; Port 5 (PDIR=0)
		push	ACC		; Accumulator
		mov	A, #7Eh	; '~'

code_AE9F:				; CODE XREF: code_AE91:code_AE9Fj
		djnz	ACC, code_AE9F	; Accumulator

code_AEA2:				; CODE XREF: code_AE91:code_AEA2j
		djnz	ACC, code_AEA2	; Accumulator

code_AEA5:				; CODE XREF: code_AE91:code_AEA5j
		djnz	ACC, code_AEA5	; Accumulator
		pop	ACC		; Accumulator
		orl	P5, #80h	; Port 5 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		orl	P5, #80h	; Port 5 (PDIR=0)
		nop
		mov	B, #16h		; B-Register

code_AEB7:				; CODE XREF: code_AE91+30j
		mov	A, P5		; Port 5 (PDIR=0)
		mov	C, ACC.7	; Accumulator
		dec	B		; B-Register
		mov	A, B		; B-Register
		jz	code_AEDF
		jc	code_AEB7
		mov	B, #5Bh	; '['   ; B-Register

code_AEC6:				; CODE XREF: code_AE91+3Fj
		mov	A, P5		; Port 5 (PDIR=0)
		mov	C, ACC.7	; Accumulator
		dec	B		; B-Register
		mov	A, B		; B-Register
		jz	code_AEDE
		jnc	code_AEC6
		push	ACC		; Accumulator
		mov	A, #3Eh	; '>'

code_AED6:				; CODE XREF: code_AE91:code_AED6j
		djnz	ACC, code_AED6	; Accumulator

code_AED9:				; CODE XREF: code_AE91:code_AED9j
		djnz	ACC, code_AED9	; Accumulator
		pop	ACC		; Accumulator

code_AEDE:				; CODE XREF: code_AE91+3Dj
		cpl	C

code_AEDF:				; CODE XREF: code_AE91+2Ej
		ret
; End of function code_AE91


; =============== S U B	R O U T	I N E =======================================


code_AEE0:				; CODE XREF: code_AE41:code_AE67p
		orl	IP1, #80h	; Interrupt Priority Register 1
		anl	P9, #0F7h	; Port 9 (PDIR=0)
		nop
		anl	P9, #0F7h	; Port 9 (PDIR=0)
		push	ACC		; Accumulator
		mov	A, #7Eh	; '~'

code_AEEE:				; CODE XREF: code_AEE0:code_AEEEj
		djnz	ACC, code_AEEE	; Accumulator

code_AEF1:				; CODE XREF: code_AEE0:code_AEF1j
		djnz	ACC, code_AEF1	; Accumulator

code_AEF4:				; CODE XREF: code_AEE0:code_AEF4j
		djnz	ACC, code_AEF4	; Accumulator
		pop	ACC		; Accumulator
		orl	P9, #8		; Port 9 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		orl	P9, #8		; Port 9 (PDIR=0)
		nop
		mov	B, #16h		; B-Register

code_AF06:				; CODE XREF: code_AEE0+30j
		mov	A, P9		; Port 9 (PDIR=0)
		mov	C, ACC.3	; Accumulator
		dec	B		; B-Register
		mov	A, B		; B-Register
		jz	code_AF2E
		jc	code_AF06
		mov	B, #5Bh	; '['   ; B-Register

code_AF15:				; CODE XREF: code_AEE0+3Fj
		mov	A, P9		; Port 9 (PDIR=0)
		mov	C, ACC.3	; Accumulator
		dec	B		; B-Register
		mov	A, B		; B-Register
		jz	code_AF2D
		jnc	code_AF15
		push	ACC		; Accumulator
		mov	A, #3Eh	; '>'

code_AF25:				; CODE XREF: code_AEE0:code_AF25j
		djnz	ACC, code_AF25	; Accumulator

code_AF28:				; CODE XREF: code_AEE0:code_AF28j
		djnz	ACC, code_AF28	; Accumulator
		pop	ACC		; Accumulator

code_AF2D:				; CODE XREF: code_AEE0+3Dj
		cpl	C

code_AF2E:				; CODE XREF: code_AEE0+2Ej
		ret
; End of function code_AEE0


; =============== S U B	R O U T	I N E =======================================


code_AF2F:				; CODE XREF: code_AE41+14p
		mov	B, #8		; B-Register
		orl	IP1, #80h	; Interrupt Priority Register 1
		anl	P5, #7Fh	; Port 5 (PDIR=0)
		nop

code_AF39:				; CODE XREF: code_AF2F+29j
		nop
		nop
		anl	P5, #7Fh	; Port 5 (PDIR=0)
		rrc	A
		nop
		nop
		jnc	code_AF49
		orl	P5, #80h	; Port 5 (PDIR=0)
		ljmp	code_AF4C
; ---------------------------------------------------------------------------

code_AF49:				; CODE XREF: code_AF2F+12j
		anl	P5, #7Fh	; Port 5 (PDIR=0)

code_AF4C:				; CODE XREF: code_AF2F+17j
		push	ACC		; Accumulator
		mov	A, #4Eh	; 'N'

code_AF50:				; CODE XREF: code_AF2F:code_AF50j
		djnz	ACC, code_AF50	; Accumulator
		pop	ACC		; Accumulator
		orl	P5, #80h	; Port 5 (PDIR=0)
		djnz	B, code_AF39	; B-Register
		orl	IP1, #80h	; Interrupt Priority Register 1
		orl	P5, #80h	; Port 5 (PDIR=0)
		nop
		ret
; End of function code_AF2F


; =============== S U B	R O U T	I N E =======================================


code_AF63:				; CODE XREF: code_AE41+31p
		mov	B, #8		; B-Register
		orl	IP1, #80h	; Interrupt Priority Register 1
		anl	P9, #0F7h	; Port 9 (PDIR=0)
		nop

code_AF6D:				; CODE XREF: code_AF63+29j
		nop
		nop
		anl	P9, #0F7h	; Port 9 (PDIR=0)
		rrc	A
		nop
		nop
		jnc	code_AF7D
		orl	P9, #8		; Port 9 (PDIR=0)
		ljmp	code_AF80
; ---------------------------------------------------------------------------

code_AF7D:				; CODE XREF: code_AF63+12j
		anl	P9, #0F7h	; Port 9 (PDIR=0)

code_AF80:				; CODE XREF: code_AF63+17j
		push	ACC		; Accumulator
		mov	A, #4Eh	; 'N'

code_AF84:				; CODE XREF: code_AF63:code_AF84j
		djnz	ACC, code_AF84	; Accumulator
		pop	ACC		; Accumulator
		orl	P9, #8		; Port 9 (PDIR=0)
		djnz	B, code_AF6D	; B-Register
		orl	IP1, #80h	; Interrupt Priority Register 1
		orl	P9, #8		; Port 9 (PDIR=0)
		nop
		ret
; End of function code_AF63


; =============== S U B	R O U T	I N E =======================================


code_AF97:				; CODE XREF: code_AE41:code_AE58p
		mov	B, #8		; B-Register
		mov	C, IEN0.7	; Interrupt Enable Register 0
		mov	PSW.1, C	; Program Status Word

code_AF9E:				; CODE XREF: code_AF97+43j
		orl	IP1, #80h	; Interrupt Priority Register 1
		anl	P5, #7Fh	; Port 5 (PDIR=0)
		nop
		clr	IEN0.7		; Interrupt Enable Register 0
		anl	P5, #7Fh	; Port 5 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		orl	P5, #80h	; Port 5 (PDIR=0)
		nop
		orl	P5, #80h	; Port 5 (PDIR=0)
		push	ACC		; Accumulator
		mov	A, P5		; Port 5 (PDIR=0)
		mov	C, ACC.7	; Accumulator
		pop	ACC		; Accumulator
		rrc	A
		mov	C, PSW.1	; Program Status Word
		mov	IEN0.7,	C	; Interrupt Enable Register 0
		mov	C, ACC.7	; Accumulator
		xch	A, R1
		jnc	code_AFC8
		xrl	A, #1

code_AFC8:				; CODE XREF: code_AF97+2Dj
		clr	C
		jnb	ACC.0, code_AFCF ; Accumulator
		xrl	A, #18h
		setb	C

code_AFCF:				; CODE XREF: code_AF97+32j
		rrc	A
		xch	A, R1
		push	ACC		; Accumulator
		mov	A, #4Eh	; 'N'

code_AFD5:				; CODE XREF: code_AF97:code_AFD5j
		djnz	ACC, code_AFD5	; Accumulator
		pop	ACC		; Accumulator
		djnz	B, code_AF9E	; B-Register
		ret
; End of function code_AF97


; =============== S U B	R O U T	I N E =======================================


code_AFDE:				; CODE XREF: code_AE41:code_AE75p
		mov	B, #8		; B-Register
		mov	C, IEN0.7	; Interrupt Enable Register 0
		mov	PSW.1, C	; Program Status Word

code_AFE5:				; CODE XREF: code_AFDE+43j
		orl	IP1, #80h	; Interrupt Priority Register 1
		anl	P9, #0F7h	; Port 9 (PDIR=0)
		nop
		clr	IEN0.7		; Interrupt Enable Register 0
		anl	P9, #0F7h	; Port 9 (PDIR=0)
		orl	IP1, #80h	; Interrupt Priority Register 1
		orl	P9, #8		; Port 9 (PDIR=0)
		nop
		orl	P9, #8		; Port 9 (PDIR=0)
		push	ACC		; Accumulator
		mov	A, P9		; Port 9 (PDIR=0)
		mov	C, ACC.3	; Accumulator
		pop	ACC		; Accumulator
		rrc	A
		mov	C, PSW.1	; Program Status Word
		mov	IEN0.7,	C	; Interrupt Enable Register 0
		mov	C, ACC.7	; Accumulator
		xch	A, R1
		jnc	code_B00F
		xrl	A, #1

code_B00F:				; CODE XREF: code_AFDE+2Dj
		clr	C
		jnb	ACC.0, code_B016 ; Accumulator
		xrl	A, #18h
		setb	C

code_B016:				; CODE XREF: code_AFDE+32j
		rrc	A
		xch	A, R1
		push	ACC		; Accumulator
		mov	A, #4Eh	; 'N'

code_B01C:				; CODE XREF: code_AFDE:code_B01Cj
		djnz	ACC, code_B01C	; Accumulator
		pop	ACC		; Accumulator
		djnz	B, code_AFE5	; B-Register
		ret
; End of function code_AFDE


; =============== S U B	R O U T	I N E =======================================


code_B025:				; CODE XREF: IE0_0+7C7p RESET_0+1379p	...
		mov	A, DPKVCount
		cjne	A, #1Fh, code_B02A

code_B02A:
		jc	code_B02E
		mov	A, #1Fh

code_B02E:				; CODE XREF: code_B025:code_B02Aj
		ret
; End of function code_B025


; =============== S U B	R O U T	I N E =======================================


Calc_DTV_Value:				; CODE XREF: RESET_0+B63p
		mov	R1, A
		swap	A
		anl	A, #0Fh
		mov	B, A		; B-Register
		movc	A, @A+DPTR
		mov	R0, A
		mov	A, B		; B-Register
		inc	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R0
		clr	C
		subb	A, B		; B-Register
		mov	B, A		; B-Register
		mov	A, R1
		anl	A, #0Fh
		swap	A
		mul	AB
		mov	A, R0
		clr	C
		subb	A, B		; B-Register
		clr	C
		subb	A, #20
		jnc	code_B053
		mov	A, #0

code_B053:				; CODE XREF: Calc_DTV_Value+20j
		ret
; End of function Calc_DTV_Value


; =============== S U B	R O U T	I N E =======================================


code_B054:				; CODE XREF: RESET_0+865p
		mov	DPTR, #0F80Ch	; АЦП ДАД/ДМРВ
		movx	A, @DPTR
		mov	B, #4		; B-Register
		mul	AB
		mov	R2, A
		mov	R3, B		; B-Register
		sjmp	code_B0AB	; Смещение ДАД
; End of function code_B054


; =============== S U B	R O U T	I N E =======================================


code_B061:				; CODE XREF: IE0_0+250p
					; IE0_0:code_EA8p
		mov	C, RAM_23_ErrorMask2.6 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.6 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jnc	code_B07F
; End of function code_B061


; =============== S U B	R O U T	I N E =======================================


code_B067:				; CODE XREF: IE0_0:code_F8Ep
		mov	A, RAM_52_THR	; Положение дросселя
		mov	DPTR, #7208h
		movc	A, @A+DPTR
		mov	R3, A
		mov	DPTR, #6713h	; Имитатор давления (обороты/дроссель)
		mov	R2, RPM
		lcall	GetTable3DCell
		mov	B, #64h		; B-Register
		mul	AB
		mov	R0, A
		mov	R1, B		; B-Register
		sjmp	code_B0D9
; ---------------------------------------------------------------------------

code_B07F:				; CODE XREF: code_B061+4j
		mov	A, RAM_33
		jnz	code_B084
		ret
; ---------------------------------------------------------------------------

code_B084:				; CODE XREF: code_B067+1Aj
		mov	B, #40h	; '@'   ; B-Register
		mul	AB
		mov	MD0, RAM_34	; Multiplication/Division Register 0
		mov	MD1, RAM_35	; Multiplication/Division Register 1
		mov	MD2, RAM_6C	; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, A		; Multiplication/Division Register 4
		mov	MD5, B		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R2, MD0		; Multiplication/Division Register 0
		mov	R3, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5

code_B0AB:				; CODE XREF: code_B054+Bj
		mov	DPTR, #609Ah	; Смещение ДАД
		clr	A
		movc	A, @A+DPTR
		mov	R0, A
		mov	A, #1
		movc	A, @A+DPTR
		mov	R1, A
		mov	A, R0
		add	A, R2
		mov	R2, A
		mov	A, R1
		addc	A, R3
		mov	R3, A
		mov	DPTR, #6098h	; Наклон ДАД
		clr	A
		movc	A, @A+DPTR
		mov	R0, A
		mov	A, #1
		movc	A, @A+DPTR
		mov	R1, A
		mov	MD0, R2		; Multiplication/Division Register 0
		mov	MD4, R0		; Multiplication/Division Register 4
		mov	MD1, R3		; Multiplication/Division Register 1
		mov	MD5, R1		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	R0, MD1		; Multiplication/Division Register 1
		mov	R1, MD2		; Multiplication/Division Register 2
		mov	R2, MD3		; Multiplication/Division Register 3

code_B0D9:				; CODE XREF: code_B067+16j
		mov	DAD_ADC_LOW, R0
		mov	DAD_ADC_HI, R1
		mov	DPTR, #5F13h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.1, code_B125 ; Accumulator
		mov	DPTR, #5E5Dh	; Мультипликативный коэфф. пересчета АД-ЦН по температуре
		mov	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		lcall	Get2D_DTOG_Argument
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD4, A		; Multiplication/Division Register 4
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	R0, MD1		; Multiplication/Division Register 1
		mov	R1, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	DPTR, #0F98Dh
		movx	A, @DPTR
		add	A, #80h	; 'А'
		mov	B, A		; B-Register
		mov	A, #0
		addc	A, #1
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD4, B		; Multiplication/Division Register 4
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD5, A		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	R0, MD1		; Multiplication/Division Register 1
		mov	R1, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		sjmp	code_B193
; ---------------------------------------------------------------------------

code_B125:				; CODE XREF: code_B067+7Bj
		mov	DPTR, #0F907h
		movx	A, @DPTR
		mov	DPTR, #7208h
		movc	A, @A+DPTR
		mov	R3, A
		mov	DPTR, #8193h
		mov	R2, RPM
		lcall	GetTable3DCell
		mov	B, A		; B-Register
		mov	DPTR, #0F88Fh
		movx	A, @DPTR
		mov	R0, A
		mov	DPTR, #0F885h	; Текущее значение ДТВ (текущая	температура воздуха)
		movx	A, @DPTR
		clr	C
		subb	A, R0
		jnc	code_B150
		mov	R1, A
		clr	A
		clr	C
		subb	A, R1
		mul	AB
		clr	A
		clr	C
		subb	A, B		; B-Register
		sjmp	code_B153
; ---------------------------------------------------------------------------

code_B150:				; CODE XREF: code_B067+DCj
		mul	AB
		mov	A, B		; B-Register

code_B153:				; CODE XREF: code_B067+E7j
		add	A, R0
		add	A, #233
		mov	B, A		; B-Register
		clr	A
		addc	A, #0
		mov	MD0, DAD_ADC_LOW ; Умножение на	293
		mov	MD4, #25h	; Multiplication/Division Register 4
		mov	MD1, DAD_ADC_HI	; Multiplication/Division Register 1
		mov	MD5, #1		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	R2, MD2		; Multiplication/Division Register 2
		mov	R3, MD3		; Multiplication/Division Register 3
		nop
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD2, R2		; Multiplication/Division Register 2
		mov	MD3, R3		; Multiplication/Division Register 3
		mov	MD4, B		; Multiplication/Division Register 4
		mov	MD5, A		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5

code_B193:				; CODE XREF: code_B067+BCj
		mov	DPTR, #60ABh	; Цилиндровый объем двигателя
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, #1
		movc	A, @A+DPTR
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD4, B		; Multiplication/Division Register 4
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD5, A		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	A, MD0		; Multiplication/Division Register 0
		mov	A, MD1		; Multiplication/Division Register 1
		mov	R0, MD2		; Multiplication/Division Register 2
		mov	R1, MD3		; Multiplication/Division Register 3
		mov	DPTR, #0F99Eh	; Давление в предыдущем	цикле (ДАД)
		movx	A, @DPTR
		mov	R2, A
		inc	DPTR
		movx	A, @DPTR
		mov	R3, A
		lcall	SUB_R0R1_R2R3
		mov	DPTR, #5F08h	; Коэффициент фильтра ДАД
		jnb	RAM_2B.1, code_B1C9 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		jb	SoftFlags1.5, code_B1C9	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	DPTR, #5F09h	; Коэффициент фильтра ДАД для ХХ

code_B1C9:				; CODE XREF: code_B067+159j
					; code_B067+15Cj
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_NEG_R0R1_B
		mov	DPTR, #0F99Eh	; Давление в предыдущем	цикле (ДАД)
		movx	A, @DPTR
		mov	R2, A
		inc	DPTR
		movx	A, @DPTR
		mov	R3, A
		lcall	ADD_R0R1_R2R3
		mov	DPTR, #0F99Eh	; Давление в предыдущем	цикле (ДАД)
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	MD0, DAD_ADC_LOW ; Multiplication/Division Register 0
		mov	MD4, #3		; Multiplication/Division Register 4
		mov	MD1, DAD_ADC_HI	; Multiplication/Division Register 1
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	R2, MD2		; Multiplication/Division Register 2
		mov	R3, MD3		; Multiplication/Division Register 3
		nop
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD2, R2		; Multiplication/Division Register 2
		mov	MD3, R3		; Multiplication/Division Register 3
		mov	MD4, #5		; Multiplication/Division Register 4
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		mov	DPTR, #5EF2h	; Минимум для квантования давления
		clr	A
		movc	A, @A+DPTR
		mov	R2, A
		mov	DPTR, #5EF3h
		clr	A
		movc	A, @A+DPTR
		mov	R3, A
		lcall	SUB_R0R1_R2R3
		clr	A
		jc	code_B247
		mov	DPTR, #5EF4h	; Диапазон квантования давления
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	DIV_R0R1_8
		lcall	MUL_R0R1_B
		mov	A, R1
		jnz	code_B245
		mov	A, R0
		cjne	A, #0F0h, code_B243 ; 'Ё'

code_B243:
		jc	code_B247

code_B245:				; CODE XREF: code_B067+1D6j
		mov	A, #0F0h ; 'Ё'

code_B247:				; CODE XREF: code_B067+1C6j
					; code_B067:code_B243j
		mov	DPTR, #0F9A0h	; Текущее значение давления (ДАД)
		movx	@DPTR, A
		ret
; End of function code_B067


; =============== S U B	R O U T	I N E =======================================


code_B24C:				; CODE XREF: IE0_0+751p
		mov	DPTR, #0F9CDh
		movx	A, @DPTR
		mov	R2, A
		inc	DPTR
		movx	A, @DPTR
		mov	R3, A
		clr	C
		mov	A, DAD_ADC_LOW
		subb	A, R2
		mov	R2, A
		mov	A, DAD_ADC_HI
		subb	A, R3
		mov	R3, A
		jnc	code_B2A6
		clr	C
		mov	A, #0FFh
		subb	A, R2
		mov	R2, A
		mov	A, #0FFh
		subb	A, R3
		mov	R3, A
		mov	DPTR, #0F9CDh
		mov	A, DAD_ADC_LOW
		movx	@DPTR, A
		inc	DPTR
		mov	A, DAD_ADC_HI
		movx	@DPTR, A
		mov	DPTR, #5F53h
		movx	A, @DPTR
		mov	R0, A
		inc	DPTR
		movx	A, @DPTR
		mov	R1, A
		clr	C
		mov	A, R2
		subb	A, R0
		mov	A, R3
		subb	A, R1
		jnc	code_B29D
		mov	DPTR, #0F9C9h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #5EF6h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	DPTR, #0F9C9h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_B29D:				; CODE XREF: code_B24C+33j
		clr	A
		mov	DPTR, #0F9C9h
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_B2A6:				; CODE XREF: code_B24C+11j
		mov	DPTR, #0F9CDh
		mov	A, DAD_ADC_LOW
		movx	@DPTR, A
		inc	DPTR
		mov	A, DAD_ADC_HI
		movx	@DPTR, A
		mov	DPTR, #5EF8h
		movx	A, @DPTR
		mov	R0, A
		inc	DPTR
		movx	A, @DPTR
		mov	R1, A
		clr	C
		mov	A, R2
		subb	A, R0
		mov	A, R3
		subb	A, R1
		jc	code_B2FE
		mov	A, R3
		mov	R1, A
		mov	A, R2
		mov	R0, A
		mov	DPTR, #84BAh
		mov	A, DTOG_RT
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	A, RPM_RT
		mov	DPTR, #84E1h
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	DPTR, #0F9A0h	; Текущее значение давления (ДАД)
		movx	A, @DPTR
		add	A, #4
		swap	A
		rl	A
		anl	A, #1Fh
		mov	DPTR, #8501h	; Коэффициент топлива по давлению
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	DPTR, #0F9C9h
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		clr	C
		mov	A, R0
		subb	A, R2
		mov	A, R1
		subb	A, R3
		jc	code_B307
		sjmp	code_B31A
; ---------------------------------------------------------------------------

code_B2FE:				; CODE XREF: code_B24C+71j
		mov	A, CurrentCylinder ; Текущая форсунка (цилиндр)
		jnz	code_B323
		mov	DPTR, #5EF6h
		sjmp	code_B30A
; ---------------------------------------------------------------------------

code_B307:				; CODE XREF: code_B24C+AEj
		mov	DPTR, #5EF7h

code_B30A:				; CODE XREF: code_B24C+B9j
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F9C9h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	MUL_R0R1_B

code_B31A:				; CODE XREF: code_B24C+B0j
		mov	DPTR, #0F9C9h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A

code_B323:				; CODE XREF: code_B24C+B4j
		ret
; End of function code_B24C


; =============== S U B	R O U T	I N E =======================================


code_B324:				; CODE XREF: RESET_0+42Dp RESET_0+441p ...
		jb	SoftFlags1.3, code_B32A	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		setb	P1.4		; Port 1 (PDIR=0)
		ret
; ---------------------------------------------------------------------------

code_B32A:				; CODE XREF: code_B324j
		setb	P1.5		; Port 1 (PDIR=0)
		ret
; End of function code_B324


; =============== S U B	R O U T	I N E =======================================


code_B32D:				; CODE XREF: RESET_0+419p RESET_0+433p ...
		jb	SoftFlags1.3, code_B333	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		clr	P1.4		; Port 1 (PDIR=0)
		ret
; ---------------------------------------------------------------------------

code_B333:				; CODE XREF: code_B32Dj
		clr	P1.5		; Port 1 (PDIR=0)
		ret
; End of function code_B32D


; =============== S U B	R O U T	I N E =======================================


code_B336:				; CODE XREF: RESET_0:code_2E85p
					; RESET_0+17CDp
		setb	RAM_29.6	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		jb	SoftFlags1.7, code_B346	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jb	RAM_22.3, code_B346
		jb	SoftFlags1.3, code_B344	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		clr	P5.6		; Port 5 (PDIR=0)
		ret
; ---------------------------------------------------------------------------

code_B344:				; CODE XREF: code_B336+8j
		setb	P5.6		; Port 5 (PDIR=0)

code_B346:				; CODE XREF: code_B336+2j code_B336+5j
		ret
; End of function code_B336


; =============== S U B	R O U T	I N E =======================================


code_B347:				; CODE XREF: RESET_0:code_2A34p
					; RESET_0:code_2E73p ...
		clr	RAM_29.6	; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		jb	SoftFlags1.7, code_B354	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jb	SoftFlags1.3, code_B352	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		setb	P5.6		; Port 5 (PDIR=0)
		ret
; ---------------------------------------------------------------------------

code_B352:				; CODE XREF: code_B347+5j
		clr	P5.6		; Port 5 (PDIR=0)

code_B354:				; CODE XREF: code_B347+2j code_B355j
		ret
; End of function code_B347


; =============== S U B	R O U T	I N E =======================================


code_B355:				; CODE XREF: RESET_0:code_32C7p
		jnb	SoftFlags1.0, code_B354	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jnb	SoftFlags1.2, code_B3C0	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		clr	SoftFlags1.2	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	DPTR, #0F8C7h
		movx	A, @DPTR
		mov	B, A		; B-Register
		dec	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	C, ACC.0	; Accumulator
		mov	B.7, C		; B-Register
		anl	A, #3Ch
		jnz	code_B3CA
		mov	DPTR, #0F8C8h
		movx	A, @DPTR
		mov	R1, A
		inc	DPTR
		movx	A, @DPTR
		xch	A, R1
		clr	C
		rrc	A
		xch	A, R1
		mov	ACC.7, C	; Accumulator
		add	A, #0F4h ; 'Ї'
		xch	A, R1
		addc	A, #1
		xch	A, R1
		mov	R0, A

code_B382:				; CODE XREF: code_B355+51j
		clr	RAM_28.4	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	MD0, #0		; Multiplication/Division Register 0
		mov	MD1, R0		; Multiplication/Division Register 1
		mov	MD2, R1		; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, #64h ; 'd' ; Multiplication/Division Register 4
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	R2, MD0		; Multiplication/Division Register 0
		mov	R3, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		jbc	RAM_28.4, code_B382 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		clr	C
		mov	A, R2
		subb	A, #80h	; 'А'
		xch	A, R3
		subb	A, #0
		xch	A, R3
		jc	code_B3CA
		setb	SoftFlags1.1	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	DPTR, #0F906h
		movx	@DPTR, A
		mov	DPTR, #0F871h
		mov	A, #0Ah
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_B3C0:				; CODE XREF: code_B355+3j
		mov	DPTR, #0F871h
		movx	A, @DPTR
		jz	code_B3CA
		dec	A
		movx	@DPTR, A
		sjmp	code_B3D2
; ---------------------------------------------------------------------------

code_B3CA:				; CODE XREF: code_B355+17j
					; code_B355+5Cj ...
		clr	SoftFlags1.1	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	A, #0FFh
		mov	DPTR, #0F906h
		movx	@DPTR, A

code_B3D2:				; CODE XREF: code_B355+73j
		ret
; End of function code_B355


; =============== S U B	R O U T	I N E =======================================


code_B3D3:				; CODE XREF: RESET_0+1D35p
		mov	A, RAM_68
		jnz	code_B3E0
		clr	A
		mov	DPTR, #5EFFh
		movc	A, @A+DPTR
		mov	DPTR, #0F878h
		movx	@DPTR, A

code_B3E0:				; CODE XREF: code_B3D3+2j
		mov	DPTR, #0F85Bh
		movx	A, @DPTR
		jz	code_B3E8
		dec	A
		movx	@DPTR, A

code_B3E8:				; CODE XREF: code_B3D3+11j
		jb	RAM_26.6, code_B3EC
		ret
; ---------------------------------------------------------------------------

code_B3EC:				; CODE XREF: code_B3D3:code_B3E8j
		clr	RAM_26.6
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		mov	DPTR, #0FD00h
		add	A, #8
		anl	A, #0F0h
		mov	R4, A
		mov	B, #2		; B-Register
		mul	AB
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, B		; B-Register
		mov	DPH, A		; Data Pointer,	High Byte
		mov	A, EngineSpeedQuant ; Квантованные обороты двигателя
		add	A, #4
		anl	A, #0F8h
		mov	B, #8		; B-Register
		div	AB
		add	A, DPL		; Data Pointer,	Low Byte
		mov	R0, A
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, #0
		mov	R1, A
		mov	DPTR, #0F85Ch
		movx	A, @DPTR
		inc	DPL		; Data Pointer,	Low Byte
		xrl	A, R0
		jnz	code_B429
		movx	A, @DPTR
		xrl	A, R1
		jz	code_B43E

code_B429:				; CODE XREF: code_B3D3+50j
		mov	DPTR, #0F85Ch
		mov	A, R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, R1
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F85Bh
		movx	@DPTR, A
		mov	DPTR, #0F85Eh
		movx	@DPTR, A
		mov	DPTR, #0F8A8h
		movx	@DPTR, A

code_B43E:				; CODE XREF: code_B3D3+54j
		jnb	SoftFlags1.1, code_B4B6	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		jb	RAM_2B.3, code_B4B6 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #5F96h
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jnc	code_B4B6
		mov	DPTR, #5FA5h
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jc	code_B4B6
		mov	DPTR, #0F906h
		movx	A, @DPTR
		cjne	A, #0Ah, code_B45F

code_B45F:
		jc	code_B4B6
		cjne	A, #0F0h, code_B464 ; 'Ё'

code_B464:
		jnc	code_B4B6
		clr	C
		subb	A, RAM_61
		mov	RAM_2C.7, C	; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		lcall	code_47D3
		cjne	A, #4, code_B471

code_B471:
		jc	code_B475
		mov	A, #4

code_B475:				; CODE XREF: code_B3D3:code_B471j
		mov	B, A		; B-Register
		jz	code_B492
		mov	DPTR, #0F8A8h
		movx	A, @DPTR
		jb	RAM_2C.7, code_B489 ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		add	A, B		; B-Register
		jnb	ACC.7, code_B491 ; Accumulator
		mov	A, #7Fh	; ''
		sjmp	code_B491
; ---------------------------------------------------------------------------

code_B489:				; CODE XREF: code_B3D3+AAj
		clr	C
		subb	A, B		; B-Register
		jb	ACC.7, code_B491 ; Accumulator
		mov	A, #80h	; 'А'

code_B491:				; CODE XREF: code_B3D3+AFj
					; code_B3D3+B4j ...
		movx	@DPTR, A

code_B492:				; CODE XREF: code_B3D3+A4j
		jb	RAM_2C.0, code_B4BF ; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
		jnb	RAM_2B.4, code_B4BF ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #0F878h
		movx	A, @DPTR
		jz	code_B4A1
		dec	A
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_B4A1:				; CODE XREF: code_B3D3+C9j
		mov	DPTR, #0F85Eh
		movx	A, @DPTR
		inc	A
		jz	code_B4A9
		movx	@DPTR, A

code_B4A9:				; CODE XREF: code_B3D3+D3j
		mov	B, A		; B-Register
		clr	A
		mov	DPTR, #5EFEh
		movc	A, @A+DPTR
		cjne	A, B, code_B4B3	; B-Register

code_B4B3:
		jc	code_B4CD

code_B4B5:				; CODE XREF: code_B3D3+FEj
					; code_B3D3+111j ...
		ret
; ---------------------------------------------------------------------------

code_B4B6:				; CODE XREF: code_B3D3:code_B43Ej
					; code_B3D3+6Ej ...
		clr	A
		mov	DPTR, #5EFFh
		movc	A, @A+DPTR
		mov	DPTR, #0F878h
		movx	@DPTR, A

code_B4BF:				; CODE XREF: code_B3D3:code_B492j
					; code_B3D3+C2j
		clr	A
		mov	RAM_6E,	A
		mov	DPTR, #0F8A8h
		movx	@DPTR, A
		mov	DPTR, #0F85Eh
		movx	@DPTR, A
		setb	RAM_2B.4	; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		ret
; ---------------------------------------------------------------------------

code_B4CD:				; CODE XREF: code_B3D3:code_B4B3j
		mov	DPTR, #0F85Bh
		movx	A, @DPTR
		jnz	code_B4B5
		mov	DPTR, #5EFDh
		clr	A
		movc	A, @A+DPTR
		mov	R0, A
		mov	B, #4		; B-Register
		mul	AB
		mov	R1, A
		mov	DPTR, #0F8A8h
		movx	A, @DPTR
		mov	B, A		; B-Register
		jz	code_B4B5
		lcall	code_47D3
		clr	C
		subb	A, R0
		jc	code_B4B5
		mov	DPTR, #5F02h
		jb	RAM_2B.1, code_B4F7 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #5EFCh
		movx	A, @DPTR

code_B4F7:				; CODE XREF: code_B3D3+11Dj
		mov	DPTR, #0F85Bh
		movx	@DPTR, A
		clr	A
		mov	DPTR, #0F8A8h
		movx	@DPTR, A
		push	B		; B-Register
		mov	DPTR, #7208h
		mov	A, RAM_52_THR	; Положение дросселя
		movc	A, @A+DPTR
		mov	DPTR, #0FD00h
		add	A, #8
		anl	A, #0F0h
		mov	R4, A
		mov	B, #2		; B-Register
		mul	AB
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, B		; B-Register
		mov	DPH, A		; Data Pointer,	High Byte
		mov	A, EngineSpeedQuant ; Квантованные обороты двигателя
		add	A, #4
		anl	A, #0F8h
		mov	B, #8		; B-Register
		div	AB
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, #0
		mov	DPH, A		; Data Pointer,	High Byte
		pop	B		; B-Register
		jb	B.7, code_B540	; B-Register
		movx	A, @DPTR
		cjne	A, #0C0h, code_B53B ; '└'

code_B53B:
		jnc	code_B547
		inc	A
		sjmp	code_B547
; ---------------------------------------------------------------------------

code_B540:				; CODE XREF: code_B3D3+161j
		movx	A, @DPTR
		cjne	A, #40h, code_B544 ; '@'

code_B544:
		jc	code_B547
		dec	A

code_B547:				; CODE XREF: code_B3D3:code_B53Bj
					; code_B3D3+16Bj ...
		movx	@DPTR, A
		push	DPL		; Data Pointer,	Low Byte
		push	DPH		; Data Pointer,	High Byte
		mov	R0, A
		mov	R2, A
		mov	DPTR, #5EFBh
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R0
		clr	C
		subb	A, B		; B-Register
		jc	code_B560
		cjne	A, #40h, code_B55E ; '@'

code_B55E:
		jnc	code_B562

code_B560:				; CODE XREF: code_B3D3+186j
		mov	A, #40h	; '@'

code_B562:				; CODE XREF: code_B3D3:code_B55Ej
		xch	A, R0
		add	A, B		; B-Register
		jc	code_B56C
		cjne	A, #0C0h, code_B56A ; '└'

code_B56A:
		jc	code_B56E

code_B56C:				; CODE XREF: code_B3D3+192j
		mov	A, #0C0h ; '└'

code_B56E:				; CODE XREF: code_B3D3:code_B56Aj
		mov	R1, A
		mov	DPTR, #5F12h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	A, R2
		clr	C
		subb	A, B		; B-Register
		jc	code_B581
		cjne	A, #40h, code_B57F ; '@'

code_B57F:
		jnc	code_B583

code_B581:				; CODE XREF: code_B3D3+1A7j
		mov	A, #40h	; '@'

code_B583:				; CODE XREF: code_B3D3:code_B57Fj
		xch	A, R2
		add	A, B		; B-Register
		jc	code_B58D
		cjne	A, #0C0h, code_B58B ; '└'

code_B58B:
		jc	code_B58F

code_B58D:				; CODE XREF: code_B3D3+1B3j
		mov	A, #0C0h ; '└'

code_B58F:				; CODE XREF: code_B3D3:code_B58Bj
		mov	R3, A
		pop	DPH		; Data Pointer,	High Byte
		pop	DPL		; Data Pointer,	Low Byte
		lcall	code_B5CA
		mov	A, R4
		jz	code_B5B5
		mov	A, DPL		; Data Pointer,	Low Byte
		add	A, #0E0h ; 'р'
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, #0FFh
		mov	DPH, A		; Data Pointer,	High Byte
		lcall	code_B5CA
		mov	A, DPL		; Data Pointer,	Low Byte
		add	A, #20h	; ' '
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, #0
		mov	DPH, A		; Data Pointer,	High Byte

code_B5B5:				; CODE XREF: code_B3D3+1C5j
		mov	A, R4
		xrl	A, #0F0h
		jz	code_B5C9
		mov	A, DPL		; Data Pointer,	Low Byte
		add	A, #20h	; ' '
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, DPH		; Data Pointer,	High Byte
		addc	A, #0
		mov	DPH, A		; Data Pointer,	High Byte
		lcall	code_B5CA

code_B5C9:				; CODE XREF: code_B3D3+1E5j
		ret
; End of function code_B3D3


; =============== S U B	R O U T	I N E =======================================


code_B5CA:				; CODE XREF: code_B3D3+1C1p
					; code_B3D3+1D3p ...
		movx	A, @DPTR
		lcall	code_46D8
		movx	@DPTR, A
		mov	A, DPL		; Data Pointer,	Low Byte
		anl	A, #1Fh
		jz	code_B5DE
		dec	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		lcall	code_46C7
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte

code_B5DE:				; CODE XREF: code_B5CA+9j
		mov	A, DPL		; Data Pointer,	Low Byte
		anl	A, #1Fh
		xrl	A, #1Fh
		jz	code_B5EF
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		lcall	code_46C7
		movx	@DPTR, A
		dec	DPL		; Data Pointer,	Low Byte

code_B5EF:				; CODE XREF: code_B5CA+1Aj
		ret
; End of function code_B5CA


; =============== S U B	R O U T	I N E =======================================


code_B5F0:				; CODE XREF: RESET_0+2171p
		mov	DPTR, #0F946h
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A

code_B5F9:				; CODE XREF: code_B5F0+24j
		mov	DPTR, #0F908h
		movx	A, @DPTR
		clr	RAM_28.4	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	MD0, #0		; Multiplication/Division Register 0
		mov	MD1, A		; Multiplication/Division Register 1
		mov	MD4, R2		; Multiplication/Division Register 4
		mov	MD5, R3		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		jb	RAM_28.4, code_B5F9 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	A, R1
		jz	code_B61D
		clr	A
		sjmp	code_B62D
; ---------------------------------------------------------------------------

code_B61D:				; CODE XREF: code_B5F0+28j
		mov	A, R0
		cjne	A, #3Fh, code_B621 ; '?'

code_B621:
		jc	code_B625
		mov	A, #3Fh	; '?'

code_B625:				; CODE XREF: code_B5F0:code_B621j
		mov	DPTR, #0F942h
		movx	@DPTR, A
		mov	DPTR, #8FD8h	; Индекс по скорости/оборотам
		movc	A, @A+DPTR

code_B62D:				; CODE XREF: code_B5F0+2Bj
		mov	DPTR, #0F941h
		movx	@DPTR, A

code_B631:				; CODE XREF: code_B632j
		ret
; End of function code_B5F0


; =============== S U B	R O U T	I N E =======================================


code_B632:				; CODE XREF: RESET_0:code_34F4p
		jnb	SensorsParts.2,	code_B631 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	DPTR, #7F9Eh	; Желаемое давление наддува
		mov	A, RPM_THROTTLE_3D_RT
		movc	A, @A+DPTR
		mov	B, #64h	; 'd'   ; B-Register
		mul	AB
		add	A, #10h
		mov	R0, A
		mov	A, B		; B-Register
		addc	A, #27h	; '''
		mov	R1, A
		mov	A, R0
		mov	DPTR, #0F876h
		movx	@DPTR, A
		inc	DPTR
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #0F941h
		movx	A, @DPTR
		cjne	A, #1, code_B65B
		mov	DPTR, #9018h	; Степень открытия клапана wastegate 1 передача
		sjmp	code_B666
; ---------------------------------------------------------------------------

code_B65B:				; CODE XREF: code_B632+21j
		cjne	A, #2, code_B663 ; Степень открытия клапана wastegate
		mov	DPTR, #9118h	; Степень открытия клапана wastegate 2 передача
		sjmp	code_B666
; ---------------------------------------------------------------------------

code_B663:				; CODE XREF: code_B632:code_B65Bj
		mov	DPTR, #7977h	; Степень открытия клапана wastegate

code_B666:				; CODE XREF: code_B632+27j
					; code_B632+2Fj
		mov	A, RPM_THROTTLE_3D_RT
		movc	A, @A+DPTR
		mov	R1, A
		jb	RAM_2B.5, code_B670 ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		clr	A
		sjmp	code_B699
; ---------------------------------------------------------------------------

code_B670:				; CODE XREF: code_B632+38j
		mov	R0, #0A9h ; 'й'
		mov	A, @R0
		mov	B, A		; B-Register
		inc	R0
		mov	A, @R0
		cjne	A, B, code_B67A	; B-Register

code_B67A:
		jc	code_B67E
		mov	B, A		; B-Register

code_B67E:				; CODE XREF: code_B632:code_B67Aj
		inc	R0
		mov	A, @R0
		cjne	A, B, code_B683	; B-Register

code_B683:
		jc	code_B687
		mov	B, A		; B-Register

code_B687:				; CODE XREF: code_B632:code_B683j
		inc	R0
		mov	A, @R0
		cjne	A, B, code_B68C	; B-Register

code_B68C:
		jc	code_B690
		mov	B, A		; B-Register

code_B690:				; CODE XREF: code_B632:code_B68Cj
		mov	A, B		; B-Register
		cjne	A, #1Fh, code_B695

code_B695:
		jc	code_B699
		mov	A, #1Fh

code_B699:				; CODE XREF: code_B632+3Cj
					; code_B632:code_B695j
		mov	DPTR, #0F830h
		movx	@DPTR, A
		mov	DPTR, #8A79h	; Смещение степени открытия клапана wastegate при детонации
		movc	A, @A+DPTR
		xch	A, R1
		clr	C
		subb	A, R1
		jnc	code_B6A7
		clr	A

code_B6A7:				; CODE XREF: code_B632+72j
		mov	DPTR, #0F870h
		movx	@DPTR, A
		jb	SoftFlags1.7, code_B6B2	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		mov	CMH7, A		; Compare Register 7, High Byte	(RMAP=0)
		mov	CML7, A		; Compare Register 7, Low Byte (RMAP=0)

code_B6B2:				; CODE XREF: code_B632+79j
		ret
; End of function code_B632


; =============== S U B	R O U T	I N E =======================================


ICMP0_ICMP7_0:				; CODE XREF: ICMP0_ICMP7j
		push	ACC		; Accumulator
		push	PSW		; Program Status Word
		push	B		; B-Register
		mov	A, IRCON1	; Interrupt Request Control Register 1
		nop
		nop
		nop
		jnb	ACC.4, code_B6E0 ; Accumulator
		anl	IRCON1,	#0EFh	; Interrupt Request Control Register 1
		jb	P4.4, code_B6E0	; Port 4 (PDIR=0)
		mov	A, CML4		; Compare Register 4, Low Byte (RMAP=0)
		add	A, SparkInterval ; Интервал между искрами
		mov	B, A		; B-Register
		mov	A, CMH4		; Compare Register 4, High Byte	(RMAP=0)
		addc	A, SparkCount	; Число	дополнительных искр
		anl	CMEN, #0EFh	; Compare Enable Register (RMAP=0)
		mov	CMH4, A		; Compare Register 4, High Byte	(RMAP=0)
		mov	CML4, B		; Compare Register 4, Low Byte (RMAP=0)
		orl	CMEN, #10h	; Compare Enable Register (RMAP=0)
		setb	P4.4		; Port 4 (PDIR=0)
		sjmp	code_B744
; ---------------------------------------------------------------------------

code_B6E0:				; CODE XREF: ICMP0_ICMP7_0+Bj
					; ICMP0_ICMP7_0+11j
		jnb	ACC.5, code_B702 ; Accumulator
		anl	IRCON1,	#0DFh	; Interrupt Request Control Register 1
		jb	P4.5, code_B702	; Port 4 (PDIR=0)
		mov	A, CML5		; Compare Register 5, Low Byte (RMAP=0)
		add	A, SparkInterval ; Интервал между искрами
		mov	B, A		; B-Register
		mov	A, CMH5		; Compare Register 5, High Byte	(RMAP=0)
		addc	A, SparkCount	; Число	дополнительных искр
		anl	CMEN, #0DFh	; Compare Enable Register (RMAP=0)
		mov	CMH5, A		; Compare Register 5, High Byte	(RMAP=0)
		mov	CML5, B		; Compare Register 5, Low Byte (RMAP=0)
		orl	CMEN, #20h	; Compare Enable Register (RMAP=0)
		setb	P4.5		; Port 4 (PDIR=0)
		sjmp	code_B744
; ---------------------------------------------------------------------------

code_B702:				; CODE XREF: ICMP0_ICMP7_0:code_B6E0j
					; ICMP0_ICMP7_0+33j
		jnb	ACC.6, code_B724 ; Accumulator
		anl	IRCON1,	#0BFh	; Interrupt Request Control Register 1
		jb	P4.6, code_B724	; Port 4 (PDIR=0)
		mov	A, CML6		; Compare Register 6, Low Byte (RMAP=0)
		add	A, SparkInterval ; Интервал между искрами
		mov	B, A		; B-Register
		mov	A, CMH6		; Compare Register 6, High Byte	(RMAP=0)
		addc	A, SparkCount	; Число	дополнительных искр
		anl	CMEN, #0BFh	; Compare Enable Register (RMAP=0)
		mov	CMH6, A		; Compare Register 6, High Byte	(RMAP=0)
		mov	CML6, B		; B-Register
		orl	CMEN, #40h	; Compare Enable Register (RMAP=0)
		setb	P4.6		; Port 4 (PDIR=0)
		sjmp	code_B744
; ---------------------------------------------------------------------------

code_B724:				; CODE XREF: ICMP0_ICMP7_0:code_B702j
					; ICMP0_ICMP7_0+55j
		jnb	ACC.7, code_B744 ; Accumulator
		anl	IRCON1,	#7Fh	; Interrupt Request Control Register 1
		jb	P4.7, code_B744	; Port 4 (PDIR=0)
		mov	A, CML7		; Compare Register 7, Low Byte (RMAP=0)
		add	A, SparkInterval ; Интервал между искрами
		mov	B, A		; B-Register
		mov	A, CMH7		; Compare Register 7, High Byte	(RMAP=0)
		addc	A, SparkCount	; Число	дополнительных искр
		anl	CMEN, #7Fh	; Compare Enable Register (RMAP=0)
		mov	CMH7, A		; Compare Register 7, High Byte	(RMAP=0)
		mov	CML7, B		; B-Register
		orl	CMEN, #80h	; Compare Enable Register (RMAP=0)
		setb	P4.7		; Port 4 (PDIR=0)

code_B744:				; CODE XREF: ICMP0_ICMP7_0+2Bj
					; ICMP0_ICMP7_0+4Dj ...
		anl	IRCON1,	#0F0h	; Interrupt Request Control Register 1
		pop	B		; B-Register
		pop	PSW		; Program Status Word
		pop	ACC		; Accumulator
		reti
; End of function ICMP0_ICMP7_0


; =============== S U B	R O U T	I N E =======================================


IE1_0:					; CODE XREF: IE1j
		jb	P4.4, code_B759	; Port 4 (PDIR=0)
		anl	CMEN, #0EFh	; Compare Enable Register (RMAP=0)
		setb	P4.4		; Port 4 (PDIR=0)
		orl	CMEN, #10h	; Compare Enable Register (RMAP=0)

code_B759:				; CODE XREF: IE1_0j
		jb	P4.5, code_B764	; Port 4 (PDIR=0)
		anl	CMEN, #0DFh	; Compare Enable Register (RMAP=0)
		setb	P4.5		; Port 4 (PDIR=0)
		orl	CMEN, #20h	; Compare Enable Register (RMAP=0)

code_B764:				; CODE XREF: IE1_0:code_B759j
		jb	P4.6, code_B76F	; Port 4 (PDIR=0)
		anl	CMEN, #0BFh	; Compare Enable Register (RMAP=0)
		setb	P4.6		; Port 4 (PDIR=0)
		orl	CMEN, #40h	; Compare Enable Register (RMAP=0)

code_B76F:				; CODE XREF: IE1_0:code_B764j
		jb	P4.7, code_B77A	; Port 4 (PDIR=0)
		anl	CMEN, #7Fh	; Compare Enable Register (RMAP=0)
		setb	P4.7		; Port 4 (PDIR=0)
		orl	CMEN, #80h	; Compare Enable Register (RMAP=0)

code_B77A:				; CODE XREF: IE1_0:code_B76Fj
		reti
; End of function IE1_0


; =============== S U B	R O U T	I N E =======================================


code_B77B:				; CODE XREF: IE0_0+1Dp
		mov	R0, RAM_3B
		mov	R1, RAM_4B
		lcall	mul_r0r1_4
		mov	DPTR, #0F8BAh
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		mov	MD0, R2		; Multiplication/Division Register 0
		mov	MD4, R0		; Multiplication/Division Register 4
		mov	MD1, R3		; Multiplication/Division Register 1
		mov	MD5, R1		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	R2, MD2		; Multiplication/Division Register 2
		mov	R3, MD3		; Multiplication/Division Register 3
		mov	A, RAM_43
		rl	A
		mov	R4, A
		mov	A, #94h	; 'Ф'
		add	A, R4
		mov	R0, A
		mov	@R0, RAM_A
		inc	R0
		mov	@R0, RAM_B
		mov	RAM_8, RAM_A
		mov	RAM_9, RAM_B
		mov	DPTR, #0FF41h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #0F9D3h
		mov	A, RAM_43
		rl	A
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		mov	DPTR, #0FA8Eh
		mov	A, R2
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R3
		movx	@DPTR, A
		lcall	SUB_R0R1_R2R3
		jc	code_B7E4
		mov	DPTR, #0FA8Eh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		sjmp	code_B7ED
; ---------------------------------------------------------------------------

code_B7E4:				; CODE XREF: code_B77B+5Cj
		mov	DPTR, #0FF41h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A

code_B7ED:				; CODE XREF: code_B77B+67j
		mov	DPTR, #0F966h
		mov	A, RAM_43
		rl	A
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	SUB_R0R1_R2R3
		mov	DPTR, #5F7Ch
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_NEG_R0R1_B
		mov	DPTR, #0F881h
		movx	A, @DPTR
		add	A, B		; B-Register
		mov	DPTR, #0F881h
		movx	@DPTR, A
		clr	A
		addc	A, R0
		mov	R0, A
		clr	A
		addc	A, R1
		mov	R1, A
		mov	DPTR, #0F966h
		mov	A, RAM_43
		rl	A
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	ADD_R0R1_R2R3
		mov	A, R1
		movx	@DPTR, A
		dec	DPL		; Data Pointer,	Low Byte
		mov	A, R0
		movx	@DPTR, A
		jnb	RAM_26.7, code_B84A
		mov	DPTR, #5F6Fh	; Порог	температуры для	активизации калибровки уровня шума (детонация)
		clr	A
		movc	A, @A+DPTR
		cjne	A, DTOG_Value, code_B83E ; Текущее значение ДТОЖ (температура двигателя)

code_B83E:
		jnc	code_B849
		mov	DPTR, #0F965h
		movx	A, @DPTR
		cjne	A, #0FFh, code_B847

code_B847:
		jc	code_B84D

code_B849:				; CODE XREF: code_B77B:code_B83Ej
		ret
; ---------------------------------------------------------------------------

code_B84A:				; CODE XREF: code_B77B+B8j
		ljmp	code_B88C
; ---------------------------------------------------------------------------

code_B84D:				; CODE XREF: code_B77B:code_B847j
		mov	DPTR, #0FF41h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #0F934h
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		lcall	SUB_R0R1_R2R3
		mov	DPTR, #5F52h
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		lcall	MUL_NEG_R0R1_B
		mov	DPTR, #0F937h
		movx	A, @DPTR
		add	A, B		; B-Register
		mov	DPTR, #0F937h
		movx	@DPTR, A
		clr	A
		addc	A, R0
		mov	R0, A
		clr	A
		addc	A, R1
		mov	R1, A
		lcall	ADD_R0R1_R2R3
		mov	DPTR, #0F934h
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		lcall	code_B901
		ret
; ---------------------------------------------------------------------------

code_B88C:				; CODE XREF: code_B77B:code_B84Aj
		clr	A
		mov	DPTR, #0F965h
		movx	@DPTR, A
		mov	DPTR, #0F943h
		movx	A, @DPTR
		mov	B, A		; B-Register
		lcall	MUL_R0R1_B
		mov	A, R1
		jz	code_B8A3
		mov	R0, #0FFh
		mov	R1, #0Fh
		sjmp	code_B8AB
; ---------------------------------------------------------------------------

code_B8A3:				; CODE XREF: code_B77B+120j
		mov	RAM_9, RAM_8
		mov	R0, B		; B-Register
		lcall	code_4788

code_B8AB:				; CODE XREF: code_B77B+126j
		mov	DPTR, #0F9D3h
		mov	A, RAM_43
		rl	A
		add	A, DPL		; Data Pointer,	Low Byte
		mov	DPL, A		; Data Pointer,	Low Byte
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #0FA8Eh
		mov	A, R0
		movx	@DPTR, A
		inc	DPL		; Data Pointer,	Low Byte
		mov	A, R1
		movx	@DPTR, A
		mov	DPTR, #0FF41h
		movx	A, @DPTR
		mov	R2, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R3, A
		mov	DPTR, #0FA92h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	SUB_R0R1_R2R3
		jc	code_B8F7
		mov	DPTR, #0FA8Eh
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	SUB_R0R1_R2R3
		jnc	code_B900
		mov	DPTR, #0F9D1h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		lcall	SUB_R0R1_R2R3
		jnc	code_B900

code_B8F7:				; CODE XREF: code_B77B+15Ej
		mov	R1, RAM_43
		mov	DPTR, #3DF1h
		mov	A, R1
		movc	A, @A+DPTR
		orl	RAM_71,	A

code_B900:				; CODE XREF: code_B77B+16Cj
					; code_B77B+17Aj
		ret
; End of function code_B77B


; =============== S U B	R O U T	I N E =======================================


code_B901:				; CODE XREF: code_B77B+10Dp
		mov	DPTR, #0F934h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #5F10h
		clr	A
		movc	A, @A+DPTR
		mov	R2, A
		mov	A, #1
		movc	A, @A+DPTR
		mov	R3, A
		clr	C
		lcall	SUB_R0R1_R2R3
		cpl	C
		mov	RAM_24_ErrorMask3.7, C ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jnc	code_B91E
		ret
; ---------------------------------------------------------------------------

code_B91E:				; CODE XREF: code_B901+1Aj
		mov	DPTR, #0F934h
		movx	A, @DPTR
		mov	R0, A
		inc	DPL		; Data Pointer,	Low Byte
		movx	A, @DPTR
		mov	R1, A
		mov	DPTR, #5F0Eh
		jb	RAM_23_ErrorMask2.7, code_B930 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		mov	DPTR, #5F0Ch

code_B930:				; CODE XREF: code_B901+29j
		clr	A
		movc	A, @A+DPTR
		mov	R2, A
		mov	A, #1
		movc	A, @A+DPTR
		mov	R3, A
		clr	C
		lcall	SUB_R0R1_R2R3
		mov	RAM_23_ErrorMask2.7, C ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		ret
; End of function code_B901


; =============== S U B	R O U T	I N E =======================================


Diag_MAP:				; CODE XREF: RESET_0:code_1FE5p
		jb	SoftFlags1.6, code_B942	; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
		ret
; ---------------------------------------------------------------------------

code_B942:				; CODE XREF: Diag_MAPj
		jb	RAM_2A.3, code_B988 ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		mov	DPTR, #0F80Ch	; АЦП ДАД/ДМРВ
		movx	A, @DPTR
		mov	R0, A
		mov	DPTR, #5EF5h	; Задержка диагностики ДАД
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F8ACh
		movx	A, @DPTR
		cjne	A, B, code_B958	; B-Register

code_B958:
		jc	code_B988
		mov	DPTR, #5EF0h	; Минимальное напряжение для диагностики ДАД
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, R0
		jc	code_B971
		mov	DPTR, #0F98Fh
		movx	A, @DPTR
		jz	code_B96C
		dec	A
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_B96C:				; CODE XREF: Diag_MAP+29j
		setb	RAM_23_ErrorMask2.6 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.6 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		ret
; ---------------------------------------------------------------------------

code_B971:				; CODE XREF: Diag_MAP+23j
		mov	DPTR, #5EF1h	; Максимальное напряжение для диагностики ДАД
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, R0
		jnc	code_B988
		mov	DPTR, #0F98Fh
		movx	A, @DPTR
		jz	code_B983
		dec	A
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_B983:				; CODE XREF: Diag_MAP+40j
		clr	RAM_23_ErrorMask2.6 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		setb	RAM_24_ErrorMask3.6 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		ret
; ---------------------------------------------------------------------------

code_B988:				; CODE XREF: Diag_MAP:code_B942j
					; Diag_MAP:code_B958j ...
		mov	DPTR, #0F98Fh
		mov	A, #20
		movx	@DPTR, A
		clr	RAM_23_ErrorMask2.6 ; 0	bit напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		clr	RAM_24_ErrorMask3.6 ; 0	bit напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		ret
; End of function Diag_MAP


; =============== S U B	R O U T	I N E =======================================


code_B993:				; CODE XREF: ParseRequest+263p
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #80h	; 'А'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		inc	DPTR
		mov	A, #61h	; 'a'
		movx	@DPTR, A
		inc	DPTR
		mov	A, #0Ch
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0FA94h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0FA95h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0FA96h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0FA97h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0FA98h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0FA99h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0FA9Ah
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	A, DPL		; Data Pointer,	Low Byte
		mov	RAM_51,	A
		ret
; End of function code_B993


; =============== S U B	R O U T	I N E =======================================


code_BA08:				; CODE XREF: ParseRequest+257p
		mov	DPSEL, #7	; Data Pointer Select Register
		mov	DPTR, #0F600h
		mov	A, #80h	; 'А'
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A6h ; 'ж'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	A, #10h
		movx	@DPTR, A
		inc	DPTR
		inc	DPTR
		mov	A, #61h	; 'a'
		movx	@DPTR, A
		inc	DPTR
		mov	A, #0Dh
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #2Bh ; '+'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #2Ch ; ','
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #93h ; 'У'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #5Bh ; '['
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #23h ; '#'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #24h ; '$'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #25h ; '%'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #5Fh ; '_'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #49h ; 'I'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #61h ; 'a'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #4Ch ; 'L'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #52h ; 'R'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #55h ; 'U'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #53h ; 'S'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #38h ; '8'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #39h ; '9'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #64h ; 'd'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #65h ; 'e'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #6Fh ; 'o'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #4Dh ; 'M'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #62h ; 'b'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0A9h ; 'й'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0AAh ; 'к'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0ABh ; 'л'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #0ACh ; 'м'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #72h ; 'r'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F80Ch	; АЦП ДАД/ДМРВ
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F80Dh
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F84Dh
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F8A9h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F80Bh
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F80Fh
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F811h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F810h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F90Fh
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F908h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F849h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F885h	; Текущее значение ДТВ (текущая	температура воздуха)
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #4Fh ; 'O'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F97Bh
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F906h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F98Eh
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F909h
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F808h	; Среднее значение АЦП ДМРВ/ДАД	(сумма деленная	на кол-во)
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F82Eh
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F862h
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F9A0h	; Текущее значение давления (ДАД)
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F99Ah
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #48h ; 'H'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #77h ; 'w'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F9C9h
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F84Fh
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F870h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F876h
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F937h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F943h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F96Eh
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F96Fh
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F970h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F971h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F93Dh
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F93Fh
		movx	A, @DPTR
		inc	DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #6Dh ; 'm'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #94h ; 'Ф'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #95h ; 'Х'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #96h ; 'Ц'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	R0, #97h ; 'Ч'
		mov	A, @R0
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F941h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	DPSEL, #3	; Data Pointer Select Register
		mov	DPTR, #0F942h
		movx	A, @DPTR
		mov	DPSEL, #7	; Data Pointer Select Register
		movx	@DPTR, A
		inc	DPTR
		mov	A, DPL		; Data Pointer,	Low Byte
		mov	RAM_51,	A
		ret
; End of function code_BA08

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR Control_25PIN

code_BCD1:				; CODE XREF: Control_25PIN+8j
		jnb	RAM_29.1, code_BD14 ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F887h
		movx	A, @DPTR
		jnz	code_BD12
		mov	DPTR, #0F999h
		movx	A, @DPTR
		jb	ACC.0, code_BD06 ; Accumulator
		mov	DPTR, #5F3Ch
		clr	A
		movc	A, @A+DPTR
		setb	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jc	code_BCFE
		jnb	SensorsParts.4,	code_BD14 ; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
		mov	DPTR, #0F885h	; Текущее значение ДТВ (текущая	температура воздуха)
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #5F3Ch
		clr	A
		movc	A, @A+DPTR
		setb	C
		subb	A, B		; B-Register
		jnc	code_BD14

code_BCFE:				; CODE XREF: Control_25PIN-2Cj
		lcall	code_BD9D
		mov	DPTR, #5F3Dh
		sjmp	code_BD0C
; ---------------------------------------------------------------------------

code_BD06:				; CODE XREF: Control_25PIN-37j
		lcall	code_BDA5
		mov	DPTR, #5F3Eh

code_BD0C:				; CODE XREF: Control_25PIN-11j
		clr	A
		movc	A, @A+DPTR
		inc	A
		mov	DPTR, #0F887h

code_BD12:				; CODE XREF: Control_25PIN-3Dj
		dec	A
		movx	@DPTR, A

code_BD14:				; CODE XREF: Control_25PIN:code_BCD1j
					; Control_25PIN-2Aj ...
		ret
; END OF FUNCTION CHUNK	FOR Control_25PIN

; =============== S U B	R O U T	I N E =======================================


Control_25PIN:				; CODE XREF: RESET_0+25B1p

; FUNCTION CHUNK AT BCD1 SIZE 00000044 BYTES

		mov	DPTR, #5F20h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.0, code_BD2A ; Accumulator
		jb	ACC.1, code_BCD1 ; Accumulator
		jb	ACC.2, code_BD6B ; Accumulator
		jb	ACC.3, code_BD45 ; Accumulator
		jb	ACC.4, code_BD50 ; Accumulator
		ret
; ---------------------------------------------------------------------------

code_BD2A:				; CODE XREF: Control_25PIN+5j
		mov	DPTR, #0F941h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #5F21h
		movc	A, @A+DPTR
		clr	C
		subb	A, DPKVCount
		jc	code_BD9D
		mov	A, B		; B-Register
		mov	DPTR, #5F27h
		movc	A, @A+DPTR
		clr	C
		subb	A, DPKVCount
		jnc	code_BDA5
		ret
; ---------------------------------------------------------------------------

code_BD45:				; CODE XREF: Control_25PIN+Ej
		mov	DPTR, #63D3h
		mov	A, RPM_THROTTLE_3D_RT
		movc	A, @A+DPTR
		jnb	ACC.3, code_BDA5 ; Accumulator
		sjmp	code_BD9D
; ---------------------------------------------------------------------------

code_BD50:				; CODE XREF: Control_25PIN+11j
		mov	C, RAM_23_ErrorMask2.3 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.3 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jc	code_BD9D
		mov	DPTR, #5F3Bh
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jc	code_BD9D
		mov	DPTR, #5F3Ah
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jnc	code_BDA5
		ret
; ---------------------------------------------------------------------------

code_BD6B:				; CODE XREF: Control_25PIN+Bj
		mov	DPTR, #0F941h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #5F2Dh
		movc	A, @A+DPTR
		clr	C
		subb	A, DPKVCount
		jnc	code_BDA5
		mov	A, B		; B-Register
		mov	DPTR, #5F33h
		movc	A, @A+DPTR
		clr	C
		subb	A, RAM_52_THR	; Положение дросселя
		jnc	code_BDA5
		jnb	PartFlags1.4, code_BD9D	; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
		jb	RAM_25_ErrorMask4.6, code_BD9D
		mov	DPTR, #0F908h
		movx	A, @DPTR
		mov	B, A		; B-Register
		clr	A
		mov	DPTR, #5F39h
		movc	A, @A+DPTR
		clr	C
		subb	A, B		; B-Register
		jnc	code_BDA5
		sjmp	code_BD9D
; End of function Control_25PIN


; =============== S U B	R O U T	I N E =======================================


code_BD9D:				; CODE XREF: Control_25PIN:code_BCFEp
					; Control_25PIN+22j ...
		mov	DPTR, #0F999h
		movx	A, @DPTR
		setb	ACC.0		; Accumulator
		movx	@DPTR, A
		ret
; End of function code_BD9D


; =============== S U B	R O U T	I N E =======================================


code_BDA5:				; CODE XREF: Control_25PIN:code_BD06p
					; Control_25PIN+2Dj ...
		mov	DPTR, #0F999h
		movx	A, @DPTR
		clr	ACC.0		; Accumulator
		movx	@DPTR, A
		ret
; End of function code_BDA5


; =============== S U B	R O U T	I N E =======================================


Control_38PIN:				; CODE XREF: RESET_0+25B4p

; FUNCTION CHUNK AT BE46 SIZE 0000001C BYTES

		mov	DPTR, #5F40h
		clr	A
		movc	A, @A+DPTR
		jb	ACC.1, code_BDBC ; Accumulator
		jb	ACC.2, code_BDEE ; Accumulator
		jb	ACC.3, code_BE0A ; Accumulator
		ret
; ---------------------------------------------------------------------------

code_BDBC:				; CODE XREF: Control_38PIN+5j
		mov	DPTR, #0F941h
		movx	A, @DPTR
		mov	B, A		; B-Register
		mov	DPTR, #5F41h
		movc	A, @A+DPTR
		clr	C
		subb	A, DPKVCount
		jnc	code_BDEC
		mov	A, B		; B-Register
		mov	DPTR, #5F47h
		movc	A, @A+DPTR
		clr	C
		subb	A, RAM_52_THR	; Положение дросселя
		jnc	code_BDEC
		jnb	PartFlags1.4, Set38Pin ; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
		jb	RAM_25_ErrorMask4.6, Set38Pin
		mov	DPTR, #0F908h
		movx	A, @DPTR
		mov	B, A		; B-Register
		clr	A
		mov	DPTR, #5F4Dh
		movc	A, @A+DPTR
		clr	C
		subb	A, B		; B-Register
		jc	Set38Pin

code_BDEC:				; CODE XREF: Control_38PIN+1Cj
					; Control_38PIN+27j
		sjmp	code_BE56
; ---------------------------------------------------------------------------

code_BDEE:				; CODE XREF: Control_38PIN+8j
		clr	A
		mov	DPTR, #5F4Eh
		movc	A, @A+DPTR
		clr	C
		subb	A, RAM_52_THR	; Положение дросселя
		jc	code_BE2E
		mov	DPTR, #0F94Dh
		movx	A, @DPTR
		mov	B, A		; B-Register
		clr	A
		mov	DPTR, #5F4Fh
		movc	A, @A+DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_BE2E
		sjmp	code_BE46
; ---------------------------------------------------------------------------

code_BE0A:				; CODE XREF: Control_38PIN+Bj
		mov	C, RAM_23_ErrorMask2.3 ; 0 bit напряжение борт.	сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
		orl	C, RAM_24_ErrorMask3.3 ; 0 bit напряжение борт.	сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
		jc	Set38Pin
		mov	DPTR, #5F1Bh
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jc	Set38Pin
		mov	DPTR, #5F1Ah
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		jnc	code_BE56
		ret
; End of function Control_38PIN


; =============== S U B	R O U T	I N E =======================================


Set38Pin_StarterProtect:		; CODE XREF: RESET_0+ADp RESET_0+4FDp	...
		clr	A
		mov	DPTR, #5F40h
		movc	A, @A+DPTR
		jb	ACC.0, Set38Pin	; Accumulator
		ret
; ---------------------------------------------------------------------------

code_BE2E:				; CODE XREF: Control_38PIN+49j
					; Control_38PIN+59j
		mov	DPTR, #0F999h
		movx	A, @DPTR
		mov	DPTR, #0F8B0h
		jb	ACC.5, code_BE5E ; Accumulator
		movx	A, @DPTR
		jz	Set38Pin
		dec	A
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

Set38Pin:				; CODE XREF: Control_38PIN+29j
					; Control_38PIN+2Cj ...
		mov	DPTR, #0F999h
		movx	A, @DPTR
		setb	ACC.5		; Accumulator
		movx	@DPTR, A
		ret
; End of function Set38Pin_StarterProtect

; ---------------------------------------------------------------------------
; START	OF FUNCTION CHUNK FOR Control_38PIN

code_BE46:				; CODE XREF: Control_38PIN+5Bj
		mov	DPTR, #0F999h
		movx	A, @DPTR
		mov	DPTR, #0F8B0h
		jnb	ACC.5, code_BE5E ; Accumulator
		movx	A, @DPTR
		jz	code_BE56
		dec	A
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_BE56:				; CODE XREF: Control_38PIN:code_BDECj
					; Control_38PIN+75j ...
		mov	DPTR, #0F999h
		movx	A, @DPTR
		clr	ACC.5		; Accumulator
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_BE5E:				; CODE XREF: Set38Pin_StarterProtect+10j
					; Control_38PIN+A0j
		mov	A, #8
		movx	@DPTR, A
		ret
; END OF FUNCTION CHUNK	FOR Control_38PIN

; =============== S U B	R O U T	I N E =======================================


code_BE62:				; CODE XREF: RESET_0:code_3D2Bp
					; code_BE62+26j
		mov	B, #0		; B-Register
		mov	DPTR, #0F909h
		movx	A, @DPTR
		mov	R0, A
		inc	DPTR
		movx	A, @DPTR
		mov	R1, A
		orl	A, R0
		jz	code_BEC2
		clr	RAM_28.4	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD4, #67	; Multiplication/Division Register 4
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD5, #0		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		mov	R0, MD0		; Multiplication/Division Register 0
		mov	R1, MD1		; Multiplication/Division Register 1
		mov	R2, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		jbc	RAM_28.4, code_BE62 ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		clr	IEN0.7		; Interrupt Enable Register 0
		mov	R3, RAM_38
		mov	R4, RAM_39
		setb	IEN0.7		; Interrupt Enable Register 0
		jb	RAM_2A.0, code_BE9D ; bit 0  -	(0) использовать статическую производительность	для каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
		clr	C
		mov	A, R3
		rlc	A
		mov	R3, A
		mov	A, R4
		rlc	A
		mov	R4, A

code_BE9D:				; CODE XREF: code_BE62+31j
					; code_BE62+5Dj
		clr	RAM_28.4	; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
		mov	MD0, R0		; Multiplication/Division Register 0
		mov	MD1, R1		; Multiplication/Division Register 1
		mov	MD2, R2		; Multiplication/Division Register 2
		mov	MD3, #0		; Multiplication/Division Register 3
		mov	MD4, R3		; Multiplication/Division Register 4
		mov	MD5, R4		; Multiplication/Division Register 5
		nop
		nop
		nop
		nop
		nop
		nop
		mov	B, MD0		; Multiplication/Division Register 0
		mov	A, MD1		; Multiplication/Division Register 1
		mov	A, MD2		; Multiplication/Division Register 2
		mov	A, MD3		; Multiplication/Division Register 3
		mov	A, MD4		; Multiplication/Division Register 4
		mov	A, MD5		; Multiplication/Division Register 5
		jbc	RAM_28.4, code_BE9D ; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации

code_BEC2:				; CODE XREF: code_BE62+Cj
		mov	DPTR, #0F94Dh
		mov	A, B		; B-Register
		movx	@DPTR, A
		jb	RAM_2B.0, code_BEDE ; 0	- Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
		mov	DPTR, #5F14h
		clr	A
		movc	A, @A+DPTR
		clr	C
		subb	A, B		; B-Register
		jc	code_BEFF
		jnb	RAM_29.1, code_BEFE ; 0	bit флаг запуска главного цикла	вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
		mov	DPTR, #0F888h
		movx	A, @DPTR
		jnz	code_BEFC

code_BEDE:				; CODE XREF: code_BE62+66j
		mov	DPTR, #605Ch	; Обороты блокировки впрыска
		clr	A
		movc	A, @A+DPTR
		mov	B, A		; B-Register
		mov	DPTR, #0F94Eh	; Текущие обороты блокировки впрыска
		movx	A, @DPTR
		inc	A
		cjne	A, B, code_BEED	; B-Register

code_BEED:
		jc	code_BEF1
		mov	A, B		; B-Register

code_BEF1:				; CODE XREF: code_BE62:code_BEEDj
		movx	@DPTR, A

code_BEF2:				; CODE XREF: code_BE62+ACj
					; code_BE62+B0j
		mov	DPTR, #5F15h
		clr	A
		movc	A, @A+DPTR
		mov	DPTR, #0F888h
		movx	@DPTR, A
		ret
; ---------------------------------------------------------------------------

code_BEFC:				; CODE XREF: code_BE62+7Aj
		dec	A
		movx	@DPTR, A

code_BEFE:				; CODE XREF: code_BE62+73j
					; code_BE62+A3j
		ret
; ---------------------------------------------------------------------------

code_BEFF:				; CODE XREF: code_BE62+71j
		mov	DPTR, #0F804h
		movx	A, @DPTR
		anl	A, #7
		jnz	code_BEFE
		mov	DPTR, #0F94Eh	; Текущие обороты блокировки впрыска
		movx	A, @DPTR
		cjne	A, #32h, code_BF10 ; '2'
		sjmp	code_BEF2
; ---------------------------------------------------------------------------

code_BF10:				; CODE XREF: code_BE62+A9j
		dec	A
		movx	@DPTR, A
		sjmp	code_BEF2
; End of function code_BE62


; =============== S U B	R O U T	I N E =======================================


code_BF14:				; CODE XREF: RESET_0+64Bp RESET_0+C56p
		mov	DPTR, #63ACh
		mov	A, DTOG_Value	; Текущее значение ДТОЖ	(температура двигателя)
		lcall	Get2D_DTOG_Argument
		mov	DPTR, #0F88Fh
		movx	@DPTR, A
		ret
; End of function code_BF14

; ---------------------------------------------------------------------------
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  8Dh	; Н
		db  9Eh	; Ю
		db  87h	; З
		db  70h	; p
		db  85h	; Е
		db  78h	; x
		db  80h	; А
		db  7Bh	; {
		db  6Fh	; o
		db  5Ch	; \
		db  62h	; b
		db  76h	; v
		db  7Bh	; {
		db  7Ch	; |
		db  7Eh	; ~
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  84h	; Д
		db  94h	; Ф
		db  84h	; Д
		db  79h	; y
		db  7Fh	; 
		db  80h	; А
		db  78h	; x
		db  72h	; r
		db  6Eh	; n
		db  66h	; f
		db  6Ch	; l
		db  7Fh	; 
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Dh	; }
		db  7Ch	; |
		db  81h	; Б
		db  79h	; y
		db  71h	; q
		db  7Bh	; {
		db  7Bh	; {
		db  7Ch	; |
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Eh	; ~
		db  79h	; y
		db  7Fh	; 
		db  7Fh	; 
		db  7Bh	; {
		db  7Ch	; |
		db  77h	; w
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Fh	; 
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Dh	; }
		db  7Dh	; }
		db  81h	; Б
		db  7Dh	; }
		db  85h	; Е
		db  7Fh	; 
		db  7Dh	; }
		db  80h	; А
		db  7Fh	; 
		db  7Fh	; 
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  85h	; Е
		db  82h	; В
		db  89h	; Й
		db  7Ah	; z
		db  8Bh	; Л
		db  7Ah	; z
		db  7Dh	; }
		db  78h	; x
		db  7Dh	; }
		db  7Fh	; 
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  8Eh	; О
		db  88h	; И
		db  81h	; Б
		db  84h	; Д
		db  87h	; З
		db  75h	; u
		db  83h	; Г
		db  75h	; u
		db  80h	; А
		db  82h	; В
		db  7Fh	; 
		db  7Fh	; 
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  88h	; И
		db  81h	; Б
		db  78h	; x
		db  84h	; Д
		db  8Ah	; К
		db  79h	; y
		db  79h	; y
		db  75h	; u
		db  80h	; А
		db  7Ch	; |
		db  81h	; Б
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  81h	; Б
		db  85h	; Е
		db  7Fh	; 
		db  7Eh	; ~
		db  6Fh	; o
		db  85h	; Е
		db  83h	; Г
		db  7Eh	; ~
		db  7Ch	; |
		db  7Fh	; 
		db  80h	; А
		db  81h	; Б
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Eh	; ~
		db  83h	; Г
		db  7Fh	; 
		db  7Bh	; {
		db  7Ch	; |
		db  7Ch	; |
		db  78h	; x
		db  86h	; Ж
		db  84h	; Д
		db  83h	; Г
		db  82h	; В
		db  80h	; А
		db  80h	; А
		db  81h	; Б
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Ah	; z
		db  79h	; y
		db  76h	; v
		db  80h	; А
		db  7Ch	; |
		db  83h	; Г
		db  79h	; y
		db  7Eh	; ~
		db  81h	; Б
		db  81h	; Б
		db  7Eh	; ~
		db  80h	; А
		db  80h	; А
		db  7Ch	; |
		db  7Bh	; {
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Fh	; 
		db  84h	; Д
		db  79h	; y
		db  7Eh	; ~
		db  82h	; В
		db  81h	; Б
		db  7Eh	; ~
		db  7Fh	; 
		db  7Eh	; ~
		db  7Eh	; ~
		db  7Dh	; }
		db  80h	; А
		db  81h	; Б
		db  7Fh	; 
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Eh	; ~
		db  7Dh	; }
		db  81h	; Б
		db  80h	; А
		db  7Dh	; }
		db  7Dh	; }
		db  80h	; А
		db  7Ch	; |
		db  80h	; А
		db  7Dh	; }
		db  7Dh	; }
		db  7Fh	; 
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Dh	; }
		db  80h	; А
		db  87h	; З
		db  80h	; А
		db  80h	; А
		db  82h	; В
		db  7Fh	; 
		db  7Eh	; ~
		db  7Eh	; ~
		db  81h	; Б
		db  80h	; А
		db  81h	; Б
		db  7Dh	; }
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Bh	; {
		db  7Dh	; }
		db  7Eh	; ~
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Fh	; 
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  81h	; Б
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  7Ch	; |
		db  7Eh	; ~
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  82h	; В
		db  83h	; Г
		db  81h	; Б
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db  80h	; А
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
; end of 'code'

; ===========================================================================

; Segment type:	Pure code
		;.segment ROM
		CSEG
; org 0F400h
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; АЦП ДК
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; АЦП ДТОЖ
		db    0			; АЦП ДАД/ДМРВ
		db    0			; Напряжение на	входе замка зажигания
		db    0
		db    0			; АЦП ДТВ
		db    0
		db    0
		db    0			; Индекс цикла поиска мин/мах АЦП ДПДЗ (весь цикл 32 шага)
		db    0			; Накопленная сумма АЦП	ДТОЖ
		db    0
		db    0
		db    0
		db    0			; Накопленная сумма АЦП	ДТВ
		db    0
		db    0
		db    0
		db    0			; Накопленная сумма АЦП	напряжения на замке зажигания
		db    0
		db    0			; Накопленная сумма АЦП	ДПДЗ
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Min АЦП ДПДЗ
		db    0			; Max АЦП ДПДЗ
		db    0			; Похоже на напряжение нуля дросселя
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Напряжение на	замке зажигания
		db    0
		db    0
		db    0			; Отсчет задержки для отключения топливоподачи (сколько	прошло)
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Текущее значение ДТВ (текущая	температура воздуха)
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; АЦП ДПДЗ
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Циклов после выставления сигнала на включение	вентилятора (для задержки включения вентилятора)
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Память обучения детонации (только J5OLT)
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Текущее значение с ШДК
CurrentThrottles:db    0		; CurrentThrottles
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Номер	текущей	передачи
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Обороты блокировки впрыска
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Значение мультипликативный коэфф. коррекции GBC по температуре воздуха
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Состояния выходов драйвера HIP0045
		db    0
		db    0
		db    0
		db    0
		db    0			; Давление в пердыдущем	цикле (ДАД)
		db    0
		db    0			; Текущее значение давления (ДАД)
		db    0
		db    0
		db    0
		db    0			; Текущее значение ДМРВ
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; ErrorMask5
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Текущее значение ДТОЖ	(температура двигателя)
		db    0
		db    0
		db    0
		db    0			; Результат чтения из драйвера по SPI
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0			; Значение ДАД lo
		db    0			; Значение ДАД hi
		db    0			; Используется для передачи данных по SPI J7
		db    0			; Используется для передачи данных по SPI J7
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db    0
		db  8Eh	; О
		db  1Fh
		db    0
		db    0
		db  71h	; q
		db 0E0h	; р
; end of 'ROM'

; ===========================================================================

; Segment type:	Internal processor memory & SFR
		;.segment XRAM
		DSEG
; org 0F400h
































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































; end of 'XRAM'

; ===========================================================================

; Segment type:	Internal processor memory & SFR
		;.segment RAM
		DSEG
RAM_0 equ 0				; DATA XREF: Timer1Proc_1ms+Dr
					; Timer1Proc_1ms+2D2w ...
RAM_1 equ 1				; DATA XREF: RESET_0+E0Dr RESET_0+E25r ...

RAM_3 equ 3				; DATA XREF: RESET_0+1F7Dr
RAM_4 equ 4				; DATA XREF: RESET_0+17E2w
					; RESET_0+17EFr ...
RAM_5 equ 5				; DATA XREF: ProcessDPKV+1Dr
					; ProcessDPKV+2Aw ...
RAM_6 equ 6				; DATA XREF: ProcessDPKV+35w
					; ProcessDPKV+3Fr ...
RAM_7 equ 7				; DATA XREF: ProcessDPKV+3Bw
					; ProcessDPKV+44r ...
RAM_8 equ 8				; DATA XREF: IE0_0+56r	IE0_0+E1r ...
RAM_9 equ 9				; DATA XREF: IE0_0+988r code_B77B+34w	...
RAM_A equ 0Ah				; DATA XREF: IE0_0:code_14B3w
					; code_B77B+2Cr ...
RAM_B equ 0Bh				; DATA XREF: IE0_0+988w code_B77B+2Fr	...




RAM_10 equ 10h				; DATA XREF: ProcessDPKV+2BCw
					; ProcessDPKV+313r ...
RAM_11 equ 11h				; DATA XREF: ProcessDPKV+2BFw
					; ProcessDPKV+316r ...
RAM_12 equ 12h				; DATA XREF: ProcessDPKV+202r
					; ProcessDPKV+2C2w ...
RAM_13 equ 13h				; DATA XREF: ProcessDPKV+207r
					; ProcessDPKV+2C5w ...
RAM_14 equ 14h				; DATA XREF: ProcessDPKV:code_53Dw
					; ProcessDPKV:code_601r ...
RAM_15 equ 15h				; DATA XREF: ProcessDPKV+2CCw
					; ProcessDPKV+390r ...
RAM_16 equ 16h				; DATA XREF: ProcessDPKV+2CFw
					; ProcessDPKV:code_63Er ...
RAM_17 equ 17h				; DATA XREF: ProcessDPKV+2D2w
					; ProcessDPKV+3CFr ...
RAM_18 equ 18h				; DATA XREF: ProcessDPKV:code_33Ar
					; ProcessDPKV+140r ...
RAM_19 equ 19h				; DATA XREF: ProcessDPKV+C8r
					; ProcessDPKV+142r ...


RAM_1C equ 1Ch				; DATA XREF: RESET_0+8E6r
RAM_1D equ 1Dh				; DATA XREF: RESET_0+8E8r


SensorsParts equ 20h			; DATA XREF: ProcessDPKV+180r
					; Timer1Proc_1ms+2A6r ...
					; Комплектация датчиками
					; 0 ДК
					; 1 Адсорбер
					; 2 Клапан управления давлением	наддува
					; 3 ДД
					; 4 ДТВ
					; 5 ДФ
					; 6 Признак постоянного	включения топлива
					; 7 Широкополосное лямбда-регулирование	(LC1)
PartFlags1 equ 21h			; DATA XREF: IE0_0+B21r RESET_0+4BAw ...
					; 0
					; 1 Адаптация нуля дросселя
					; 2 Асинхронная	топливоподача при повторном пуске
					; 3 Постоянное хранение	ошибок
					; 4 ДС
					; 5
					; 6 Асинхронное	обогащение при ускорении
					; 7
RAM_22 equ 22h				; DATA XREF: ProcessDPKV:code_405w
					; ProcessDPKV:code_40Cw ...
RAM_23_ErrorMask2 equ 23h		; DATA XREF: IE0_0+2EAr IE0_0+4A1w ...
					; 0 bit	напряжение борт. сети меньше минимума
					; 2 bit	АЦП ДТВ	меньше минимума	(обрыв ДТВ)
					; 3 bit	АЦП ДТОЖ меньше	минимума (обрыв	ДТОЖ)
					; 4 bit	АЦП ДК меньше минимума (низкий уровень ДК)
					; 5 bit	АЦП ДПДЗ меньше	минимума (обрыв	ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД меньше минимума (обрыв ДМРВ /ДАД)
					; 7 bit	низкий шум двигателя (обрыв ДД)
RAM_24_ErrorMask3 equ 24h		; DATA XREF: IE0_0+2EDr IE0_0+4B0w ...
					; 0 bit	напряжение борт. сети больше максимума
					; 2 bit	АЦП ДТВ	больше максимума (ошибка ДТВ)
					; 3 bit	АЦП ДТОЖ больше	максимума (ошибка ДТОЖ)
					; 5 bit	АЦП ДПДЗ больше	максимума (ошибка ДПДЗ)
					; 6 bit	АЦП ДМРВ/ДАД больше максимума (ошибка ДМРВ/ДАД)
					; 7 bit	высокий	шум двигателя (обрыв ДД)
RAM_25_ErrorMask4 equ 25h		; DATA XREF: ProcessDPKV+BAw
					; ProcessDPKV:code_39Bw ...
RAM_26 equ 26h				; DATA XREF: ProcessDPKV:code_26Fw
					; ProcessDPKV+1Ar ...
ElectronicsParts equ 27h		; DATA XREF: ProcessDPKV:code_261w
					; ProcessDPKVr	...
					; 0 bit	HIP9011
					; 6 bit	попарно-параллельный режим для катушек Январь 7.2 (2111)
					; 7 bit	использовать поправку ЦН по давлению при работе	с ДАД
RAM_28 equ 28h				; DATA XREF: ProcessDPKV+25Cw
					; ProcessDPKV+27Cw ...
					; 0
					; 1 - флаг состояния вентилятора ОЖ (0 - откл; 1 - вкл.)
					; 2
					; 3 - флаг использования АЦП в обработчике прерывания
					; 4 - флаг использования сопроцессора (MD) в обработчике прерываний
					; 5 - отключить	контроль детонации
RAM_29 equ 29h				; DATA XREF: Timer1Proc_1ms+30w
					; IE0_0+482r ...
					; 0 bit	флаг запуска главного цикла вычислений (20 мс)
					; 3 bit	флаг запуска накопления	сумм АЦП датчиков
					; 6 bit	- нагреватель ДК
					; 7 bit	флаг наличия датчика температуры отработанных газов (ДТОГ)
RAM_2A equ 2Ah				; DATA XREF: ProcessDPKV+353w
					; ProcessDPKV+3CDw ...
					; bit 0	 -  (0)	использовать статическую производительность для	каждой форсунки
					; 1
					; 2
					; 3	 -  (1)	не выполнять диагностику ДАД
					; 4	 -  (0)	текущее	положение РХХ соответствует желаемому
					; 5
					; 6	 -   двигатель запущен
RAM_2B equ 2Bh				; DATA XREF: IE0_0+601r IE0_0+875r ...
					; 0 - Признак выключения двигателя
					; 1 - Признак ХХ
					; 2 - Мощностное обогащение
					; 3 - Блокировка топливоподачи
					; 4 - Признак зоны регулирования по ДК
					; 5 - Признак попадания	в зону детонации
					; 6 - Признак разрешения продувки адсорбера
					; 7 - Признак сохранения результатов обучения по датчику кислорода
RAM_2C equ 2Ch				; DATA XREF: RESET_0:code_1C2Bw
					; RESET_0+5D3w	...
					; 0
					; 1 - Признак ХХ в прошлом цикле
					; 2 - Разрешение блокировки выхода из ХХ
					; 3 - Признак попадания	в зону детонации в прошлом цикле
					; 4 - Признак наличия продувки адсорбера в прошлом цикле
					; 5 - Признак обнаружения детонации
					; 6 - Признак прошлого состояния датчика кислорода
					; 7 - Признак текущего состояния датчика кислорода
SoftFlags1 equ 2Dh			; DATA XREF: ProcessDPKV:code_50Fr
					; ProcessDPKV+2D5r ...
					; 0 bit	ШДК L-line
					; 1 bit	контроллер ШДК 39 пин
					; 3 bit	тип ЭБУ	VS5.1-42 (OLD) V5V05K17-L19
					; 4 bit	новый алгоритм регулировки ХХ
					; 5 bit	признак	движения автомобиля
					; 6 bit	работать без ДМРВ (ДАД или по дросселю)
					; 7 bit	is J7.2	flag
RAM_2E equ 2Eh				; DATA XREF: ProcessDPKV+1EBr
					; Timer1Proc_1ms+34r ...
RAM_2F equ 2Fh				; DATA XREF: ProcessDPKV+224w
					; ProcessDPKV+226w ...
RAM_30 equ 30h				; DATA XREF: ProcessDPKV+23Er
					; ProcessDPKV+24Bw ...
RAM_31 equ 31h				; DATA XREF: ProcessDPKV+241r
					; ProcessDPKV+24Dw ...
RAM_32 equ 32h				; DATA XREF: ProcessDPKV+244r
					; ProcessDPKV+24Fw ...
RAM_33 equ 33h				; DATA XREF: ProcessDPKV+244w
					; IE0_0+463r ...
RAM_34 equ 34h				; DATA XREF: ProcessDPKV+23Ew
					; IE0_0:code_F98r ...
RAM_35 equ 35h				; DATA XREF: ProcessDPKV+241w
					; IE0_0+46Dr ...
RAM_36 equ 36h				; DATA XREF: ProcessDPKV+273r
					; ProcessDPKV:code_4F2w
RAM_37 equ 37h				; DATA XREF: ProcessDPKV+278r
					; ProcessDPKV+280w
RAM_38 equ 38h				; DATA XREF: ProcessDPKV+275w
					; IE0_0+1C1r ...
RAM_39 equ 39h				; DATA XREF: ProcessDPKV+27Aw
					; IE0_0+1C3r ...
RAM_3A equ 3Ah				; DATA XREF: RESET_0+1C27w
					; code_3D5B+46w ...
RAM_3B equ 3Bh				; DATA XREF: ProcessDPKV+464w
					; code_B77Br
RAM_3C equ 3Ch				; DATA XREF: ProcessDPKV+238r
					; ProcessDPKV+260w ...
RAM_3D equ 3Dh				; DATA XREF: ProcessDPKV+256r
					; ProcessDPKV+263w ...
RAM_3E equ 3Eh				; DATA XREF: ProcessDPKV+260r
					; RESET_0+1D9Dr ...
RAM_3F equ 3Fh				; DATA XREF: ProcessDPKV+263r
					; RESET_0+1E07w
RAM_40 equ 40h				; DATA XREF: ProcessDPKV+16Aw
					; ProcessDPKV+16Cw ...
CurrentCylinder	equ 41h			; DATA XREF: ProcessDPKV+25Aw
					; IE0_0:code_1252r ...
					; Текущая форсунка (цилиндр)
RAM_42 equ 42h				; DATA XREF: ProcessDPKV+2FFr
					; RESET_0:code_1C15w ...
RAM_43 equ 43h				; DATA XREF: ProcessDPKV+2A4w
					; ProcessDPKV+2ABr ...
SparkInterval equ 44h			; DATA XREF: Timer1Proc_1ms+23Cw
					; Timer1Proc_1ms+25Dw ...
					; Интервал между искрами
SparkCount equ 45h			; DATA XREF: Timer1Proc_1ms+238r
					; Timer1Proc_1ms+263w ...
					; Число	дополнительных искр
RAM_46 equ 46h				; DATA XREF: Timer1Proc_1ms+2Aw
					; Timer1Proc_1ms+2Dw ...
RAM_47 equ 47h				; DATA XREF: IE0_0+113r
					; IE0_0:code_CB3r ...
DAD_ADC_LOW equ	48h			; DATA XREF: IE0_0+2F0r
					; code_B067:code_B0D9w	...
DTOG_Value equ 49h			; DATA XREF: IE0_0+C4r	IE0_0+2C8r ...
					; Текущее значение ДТОЖ	(температура двигателя)
RPM_THROTTLE_3D_RT equ 4Ah		; DATA XREF: RESET_0+A0Fw
					; RESET_0:code_21DFr ...
RAM_4B equ 4Bh				; DATA XREF: ProcessDPKV+467w
					; code_B77B+2r
RAM_4C equ 4Ch				; DATA XREF: ProcessDPKV+2D8r
					; ProcessDPKV:code_558r ...
RAM_4D equ 4Dh				; DATA XREF: RESET_0+511w
					; RESET_0+1320w ...
DTOG_RT	equ 4Eh				; DATA XREF: IE0_0+6D2r IE0_0+77Dr ...
RAM_4F equ 4Fh				; DATA XREF: IE0_0:code_C8Fw
					; IE0_0+176r ...
RAM_50 equ 50h				; DATA XREF: ProcessDPKV+1CAr
					; ProcessDPKV+1CCw ...
RAM_51 equ 51h				; DATA XREF: ProcessDPKV+21Bw
					; RESET_0+24AAw ...
RAM_52_THR equ 52h			; DATA XREF: IE0_0+568r IE0_0+642r ...
					; Положение дросселя
RAM_53_CurrentEngineSpeed equ 53h	; DATA XREF: RESET_0+8B6w
					; RESET_0:code_20FCw ...
RAM_54 equ 54h				; DATA XREF: ProcessDPKV+1C7w
					; ProcessDPKV+1E8w
DPKVCount equ 55h			; DATA XREF: IE0_0:code_B51r
					; IE0_0+1F7w ...
RAM_56 equ 56h				; DATA XREF: ProcessDPKV+1BCr
					; ProcessDPKV+1C3w
RPM equ	57h				; DATA XREF: IE0_0+1FFw IE0_0+26Fr ...
RPM_RT equ 58h				; DATA XREF: IE0_0+207w IE0_0+6C5r ...

RAM_5A equ 5Ah				; DATA XREF: RESET_0+502w RESET_0+89Fr ...
RAM_5B_ErrorMask1 equ 5Bh		; DATA XREF: RESET_0:code_37ADw
					; RESET_0+203Fw ...
RAM_5C_GBC equ 5Ch			; DATA XREF: RESET_0:code_215Fw
					; RESET_0+9EEr	...
RAM_5D equ 5Dh				; DATA XREF: ProcessDPKV+1CFr
					; ProcessDPKV+1D1w ...

RPM_GBC_3D_RT equ 5Fh			; DATA XREF: RESET_0+A01w
					; RESET_0+152Ar ...
RAM_60_SostavSmesi equ 60h		; DATA XREF: RESET_0+56Cw
					; RESET_0+1518w ...
RAM_61 equ 61h				; DATA XREF: IE0_0+1B9r IE0_0+88Er ...
UOZ equ	62h				; DATA XREF: RESET_0+1380w
					; RESET_0+14D7w ...
UOZ_XX equ 63h				; DATA XREF: RESET_0+185Aw
					; RESET_0+19C5r ...
RXX_Position equ 64h			; DATA XREF: Timer1Proc_1ms:code_949r
					; RESET_0+792w	...
RAM_65 equ 65h				; DATA XREF: Timer1Proc_1ms+102r
					; Timer1Proc_1ms+170w ...
RAM_66 equ 66h				; DATA XREF: Timer1Proc_1ms+117r
					; Timer1Proc_1ms:code_96Dw ...
RXX_DriveDinamics equ 67h		; DATA XREF: Timer1Proc_1ms:code_942r
					; Timer1Proc_1ms+FCw ...
					; Динамика разгона РХХ
RAM_68 equ 68h				; DATA XREF: ProcessDPKV+284w
					; ProcessDPKV+286r ...
RAM_69 equ 69h				; DATA XREF: RI1_TI1_0+19r
					; RI1_TI1_0+20w ...
RAM_6A equ 6Ah				; DATA XREF: ProcessDPKV+247r
					; ProcessDPKV+251w ...
RAM_6B equ 6Bh				; DATA XREF: code_2C2D+6w
					; RESET_0+18A5r ...
RAM_6C equ 6Ch				; DATA XREF: ProcessDPKV+247w
					; code_B067+27r
RAM_6D equ 6Dh				; DATA XREF: code_432A:code_4397w
					; code_432A+72r ...
RAM_6E equ 6Eh				; DATA XREF: RESET_0+583w
					; RESET_0+1D69r ...
RAM_6F equ 6Fh				; DATA XREF: IE0_0+98Br IE0_0+993r ...
RAM_70 equ 70h				; DATA XREF: Timer1Proc_1ms:code_AE8w
					; Timer1Proc_1ms+2A0w ...
RAM_71 equ 71h				; DATA XREF: IE0_0+183w code_3D5B+14r	...
RAM_72 equ 72h				; DATA XREF: ProcessDPKV:code_578w
					; IE0_0+34r
RAM_73 equ 73h				; DATA XREF: RI0_TI0_0+49w
					; RI0_TI0_0+55w ...
RAM_74 equ 74h				; DATA XREF: ProcessDPKV:code_551r
					; ProcessDPKV:code_55Dr ...
RAM_75 equ 75h				; DATA XREF: ProcessDPKV+289r
					; ProcessDPKV:code_504r ...
RAM_76 equ 76h				; DATA XREF: ProcessDPKV+1D3r
					; InitFlags+5w
DAD_ADC_HI equ 77h			; DATA XREF: IE0_0+2F5r code_B067+74w	...
RAM_78 equ 78h				; DATA XREF: CT1Fw ProcessDPKV+22Aw ...
RAM_79 equ 79h				; DATA XREF: Timer1Proc_1ms+84w
					; RESET_0+12C1r ...
DEV_FLAGS equ 7Ah			; DATA XREF: Timer1Proc_1ms+86w
					; RESET_0+BA6r	...
					; Флаги	управления исполнительными механизмами
					; 0
					; 1
					; 2  признак рабочего режима (отсутствие ХХ)
RAM_7B equ 7Bh				; DATA XREF: Timer1Proc_1ms+88w
					; RESET_0+1AC5r ...
RAM_7C equ 7Ch				; DATA XREF: Timer1Proc_1ms+8Aw
					; Timer1Proc_1ms+9Dr ...
					; 0
					; 1
					; 2
					; 3
					; 4 - управление со сканера зажиганием 1-4ц
					; 5 - управление со сканера зажиганием 2-3ц
EngineSpeedQuant equ 7Dh		; DATA XREF: RESET_0+8BFw RESET_0+9AFw ...
					; Квантованные обороты двигателя
RAM_7E equ 7Eh				; DATA XREF: RI0_TI0_0-49r
					; RI0_TI0_0-40w ...
RAM_7F equ 7Fh				; DATA XREF: ProcessDPKV+1C0r
					; ProcessDPKV+1C5w
; end of 'RAM'

; ===========================================================================

; Segment type:	Internal processor memory & SFR
		;.segment FSR
		DSEG
; org 80h
P0 equ 80h				; DATA XREF: RESET_0+11Dw RESET_0+14Fw ...
					; Port 0 (PDIR=0)
SP equ 81h				; DATA XREF: RESET_0+2w RESET_0+5Ew ...
					; Stack	Pointer
DPL equ	82h				; DATA XREF: ProcessDPKV+1DFw
					; ProcessDPKV+1E5w ...
					; Data Pointer,	Low Byte
DPH equ	83h				; DATA XREF: Timer1Proc_1ms+8r
					; Timer1Proc_1ms+222w ...
					; Data Pointer,	High Byte
WDTL equ 84h				; Watchdog Timer Register, Low Byte
WDTH equ 85h				; Watchdog Timer Register, High	Byte
WDTREL equ 86h				; DATA XREF: RESET_0+54w
					; RESET_0:code_1863w ...
					; Watchdog Timer Reload	Register
PCON equ 87h				; DATA XREF: RESET_0+1F2w code_561C+3w
					; Power	Control	Register
TCON equ 88h				; DATA XREF: ProcessDPKV+25Ew
					; ProcessDPKV+2A9w ...
					; Timer	Control	Register
TMOD equ 89h				; DATA XREF: RESET_0+20Bw
					; Timer	Mode Register
TL0 equ	8Ah				; DATA XREF: ProcessDPKV+456w
					; ProcessDPKV+464r ...
					; Timer	0, Low Byte
TL1 equ	8Bh				; DATA XREF: Timer1Proc_1ms+17w
					; Timer1Proc_1ms:code_864r ...
					; Timer	1, Low Byte
TH0 equ	8Ch				; DATA XREF: ProcessDPKV+458w
					; ProcessDPKV+467r ...
					; Timer	0, High	Byte
TH1 equ	8Dh				; DATA XREF: Timer1Proc_1ms+13r
					; Timer1Proc_1ms+24w ...
					; Timer	1, High	Byte
RESERVED008E equ 8Eh			; RESERVED
RESERVED008F equ 8Fh			; RESERVED
P1 equ 90h				; DATA XREF: ProcessDPKV+14Cw
					; ProcessDPKV+183r ...
					; Port 1 (PDIR=0)
XPAGE equ 91h				; Page Address Register	for XRAM
DPSEL equ 92h				; DATA XREF: ProcessDPKV-2Fr
					; ProcessDPKV-2Dw ...
					; Data Pointer Select Register
RESERVED0093 equ 93h			; RESERVED
RESERVED0094 equ 94h			; RESERVED
RESERVED0095 equ 95h			; RESERVED
RESERVED0096 equ 96h			; RESERVED
RESERVED0097 equ 97h			; RESERVED
S0CON equ 98h				; DATA XREF: ProcessDPKV+22Dw
					; ProcessDPKV+22Fw ...
					; Serial Channel 0 Control Register
S0BUF equ 99h				; DATA XREF: RESET_0+1F4w
					; RI0_TI0_0-45r ...
					; Serial Channel 0 Buffer Register
IEN2 equ 9Ah				; DATA XREF: ProcessDPKV+4D5r
					; ProcessDPKV+4D9w ...
					; Interrupt Enable Register 2
S1CON equ 9Bh				; DATA XREF: RI1_TI1_0+4r RI1_TI1_0+9w ...
					; Serial Channel 1 Control Register
S1BUF equ 9Ch				; DATA XREF: RESET_0+1F6w RI1_TI1_0+Cr
					; Serial Channel 1 Buffer Register
S1RELL equ 9Dh				; DATA XREF: code_561C+2Bw
					; Serial Channel 1 Reload Reg.,	Low Byte
RESERVED009E equ 9Eh			; RESERVED
RESERVED009F equ 9Fh			; RESERVED
P2 equ 0A0h				; DATA XREF: RESET_0+129w RESET_0+15Bw ...
					; Port 2 (PDIR=0)
COMSETL	equ 0A1h			; DATA XREF: ProcessDPKV+385w
					; ProcessDPKV+3FFw
					; Compare Set Register,	Low Byte
COMSETH	equ 0A2h			; DATA XREF: ProcessDPKV+383w
					; ProcessDPKV+3FDw
					; Compare Set Register,	High Byte
COMCLRL	equ 0A3h			; DATA XREF: ProcessDPKV+346w
					; ProcessDPKV+3C0w ...
					; Compare Clear	Register, Low Byte
COMCLRH	equ 0A4h			; DATA XREF: ProcessDPKV+344w
					; ProcessDPKV+3BEw ...
					; Compare Clear	Register, High Byte
SETMSK equ 0A5h				; DATA XREF: ProcessDPKV+33Cw
					; ProcessDPKV:code_5ECw ...
					; Compare Set Mask Register
CLRMSK equ 0A6h				; DATA XREF: ProcessDPKV:code_5ADw
					; ProcessDPKV+34Cw ...
					; Compare Clear	Mask Register
RESERVED00A7 equ 0A7h			; RESERVED
IEN0 equ 0A8h				; DATA XREF: Timer1Proc_1ms+Fw
					; Timer1Proc_1ms+28w ...
					; Interrupt Enable Register 0
IP0 equ	0A9h				; DATA XREF: RESET_0+49r
					; RESET_0:code_17CEw ...
					; Interrupt Priority Register 0
S0RELL equ 0AAh				; DATA XREF: Timer1Proc_1ms+6Cw
					; Timer1Proc_1ms+93w ...
					; Serial Channel 0 Reload Reg.,	Low Byte
RESERVED00AB equ 0ABh			; RESERVED
RESERVED00AC equ 0ACh			; RESERVED
RESERVED00AD equ 0ADh			; RESERVED
RESERVED00AE equ 0AEh			; RESERVED
RESERVED00AF equ 0AFh			; RESERVED
P3 equ 0B0h				; DATA XREF: Timer1Proc_1ms:code_B00r
					; RESET_0+10w ...
					; Port 3 (PDIR=0)
SYSCON equ 0B1h				; DATA XREF: RESET_0+5Bw RESET_0+F2w ...
					; System Control Register
SYSCON1	equ 0B2h			; System Control Register 1
RESERVED00B3 equ 0B3h			; RESERVED
PRSC equ 0B4h				; DATA XREF: RESET_0+208w
					; Prescaler Control Register
RESERVED00B5 equ 0B5h			; RESERVED
RESERVED00B6 equ 0B6h			; RESERVED
RESERVED00B7 equ 0B7h			; RESERVED
IEN1 equ 0B8h				; DATA XREF: RESET_0+59w RESET_0+5Eo ...
					; Interrupt Enable Register 1
IP1 equ	0B9h				; DATA XREF: RESET_0+18w RESET_0+1Ew ...
					; Interrupt Priority Register 1
S0RELH equ 0BAh				; DATA XREF: code_561C+10w
					; Serial Channel 0 Reload Reg.,	High Byte
S1RELH equ 0BBh				; DATA XREF: code_561C+2Ew
					; Serial Channel 1 Reload Reg.,	High Byte
CT1CON equ 0BCh				; DATA XREF: RESET_0+227w
					; Compare Timer	1 Control Register
RESERVED00BD equ 0BDh			; RESERVED
IEN3 equ 0BEh				; DATA XREF: Timer1Proc_1ms+49w
					; RESET_0+221w	...
					; Interrupt Enable Register 3
IRCON2 equ 0BFh				; Interrupt Request Control Register 2 (PDIR=0)
IRCON0 equ 0C0h				; DATA XREF: ProcessDPKV-1Bw
					; ProcessDPKV+156w
					; Interrupt Request Control Register 0
CCEN equ 0C1h				; DATA XREF: ProcessDPKV-11w
					; ProcessDPKV-Ew ...
					; Compare/Capture Enable Register
CCL1 equ 0C2h				; DATA XREF: IE0_0+91Bw IE0_0+91Fr ...
					; Compare/Capture Register 1, Low Byte
CCH1 equ 0C3h				; DATA XREF: IE0_0+924r IE0_0+A8Ar ...
					; Compare/Capture Register 1, High Byte
CCL2 equ 0C4h				; DATA XREF: RESET_0+1C0w
					; Compare/Capture Register 2, Low Byte
CCH2 equ 0C5h				; DATA XREF: RESET_0+1C2w
					; Compare/Capture Register 2, High Byte
CCL3 equ 0C6h				; DATA XREF: ProcessDPKV-2Ar
					; ProcessDPKV-21w ...
					; Compare/Capture Register 3, Low Byte
CCH3 equ 0C7h				; DATA XREF: ProcessDPKV-28r
					; ProcessDPKV-1Dw ...
					; Compare/Capture Register 3, High Byte
T2CON equ 0C8h				; DATA XREF: RESET_0+212w
					; Timer	2 Control Register
CC4EN equ 0C9h				; DATA XREF: IE0_0+936w IE0_0+94Ew ...
					; Compare/Capture 4 Enable Register
CRCL equ 0CAh				; DATA XREF: RESET_0+1EEw
					; Comp./Rel./Capt. Reg.	Low Byte
CRCH equ 0CBh				; DATA XREF: RESET_0+1F0w
					; Comp./Rel./Capt. Reg.	High Byte
TL2 equ	0CCh				; DATA XREF: RESET_0+204w
					; Timer	2, Low Byte
TH2 equ	0CDh				; DATA XREF: RESET_0+206w
					; Timer	2, High	Byte
CCL4 equ 0CEh				; DATA XREF: IE0_0+93Dw IE0_0+941r ...
					; Compare/Capture Register 4, Low Byte
CCH4 equ 0CFh				; DATA XREF: IE0_0+946r RESET_0+1CAw
					; Compare/Capture Register 4, High Byte
PSW equ	0D0h				; DATA XREF: ProcessDPKV:code_23Cr
					; ProcessDPKV-32w ...
					; Program Status Word
IRCON1 equ 0D1h				; DATA XREF: ICMP0_ICMP7_0+6r
					; ICMP0_ICMP7_0+Ew ...
					; Interrupt Request Control Register 1
CML0 equ 0D2h				; DATA XREF: IE0_0+A8Fw IE0_0+BB0w ...
					; Compare Register 0, Low Byte (RMAP=0)
CMH0 equ 0D3h				; DATA XREF: IE0_0+A8Dw IE0_0+BAEw ...
					; Compare Register 0, High Byte	(RMAP=0)
CML1 equ 0D4h				; DATA XREF: IE0_0+AB2w IE0_0+BD3w ...
					; Compare Register 1, Low Byte (RMAP=0)
CMH1 equ 0D5h				; DATA XREF: IE0_0+AB0w IE0_0+BD1w ...
					; Compare Register 1, High Byte	(RMAP=0)
CML2 equ 0D6h				; DATA XREF: IE0_0+AD5w IE0_0+BF6w ...
					; Compare Register 2, Low Byte (RMAP=0)
CMH2 equ 0D7h				; DATA XREF: IE0_0+AD3w IE0_0+BF4w ...
					; Compare Register 2, High Byte	(RMAP=0)
ADCON0 equ 0D8h				; DATA XREF: ProcessDPKV:code_56Er
					; Timer1Proc_1ms:code_A15r ...
					; A/D Converter	Control	Register 0
ADDATH equ 0D9h				; DATA XREF: ProcessDPKV+2FDr
					; Timer1Proc_1ms+1D0r ...
					; A/D Converter	Data Register, High Byte
ADDATL equ 0DAh				; DATA XREF: ProcessDPKV+2F6w
					; Timer1Proc_1ms+1C8w ...
					; A/D Converter	Data Register, Low Byte
P7 equ 0DBh				; Port 7, Analog/Digital Input
ADCON1 equ 0DCh				; DATA XREF: ProcessDPKV+2F3w
					; Timer1Proc_1ms+1C5w ...
					; A/D Converter	Control	Register 1
P8 equ 0DDh				; DATA XREF: RESET_0+2539r
					; RESET_0+25C6r
					; Port 8, Analog/Digital Input
CTRELL equ 0DEh				; DATA XREF: RESET_0+22Dw RESET_0+236w
					; Compare Timer	Rel. Reg., Low Byte (RMAP=0)
CTRELH equ 0DFh				; DATA XREF: RESET_0+22Aw RESET_0+233w
					; Compare Timer	Rel. Reg., High	Byte (RMAP=0)
ACC equ	0E0h				; DATA XREF: ProcessDPKV-36r
					; ProcessDPKV+5r ...
					; Accumulator
CTCON equ 0E1h				; DATA XREF: RESET_0+224w
					; Compare Timer	Control	Register
CML3 equ 0E2h				; DATA XREF: IE0_0+AF8w IE0_0+C19w ...
					; Compare Register 3, Low Byte (RMAP=0)
CMH3 equ 0E3h				; DATA XREF: IE0_0+AF6w IE0_0+C17w ...
					; Compare Register 3, High Byte	(RMAP=0)
CML4 equ 0E4h				; DATA XREF: ProcessDPKV+4B3w
					; ProcessDPKV+50Fw ...
					; Compare Register 4, Low Byte (RMAP=0)
CMH4 equ 0E5h				; DATA XREF: ProcessDPKV+4B1w
					; ProcessDPKV+50Dw ...
					; Compare Register 4, High Byte	(RMAP=0)
CML5 equ 0E6h				; DATA XREF: ProcessDPKV+579w
					; ProcessDPKV+5C8w ...
					; Compare Register 5, Low Byte (RMAP=0)
CMH5 equ 0E7h				; DATA XREF: ProcessDPKV+577w
					; ProcessDPKV+5C6w ...
					; Compare Register 5, High Byte	(RMAP=0)
P4 equ 0E8h				; DATA XREF: ProcessDPKV+4B8w
					; ProcessDPKV+4D1w ...
					; Port 4 (PDIR=0)
MD0 equ	0E9h				; DATA XREF: IE0_0+1CBw IE0_0+1E1r ...
					; Multiplication/Division Register 0
MD1 equ	0EAh				; DATA XREF: IE0_0+1CEw IE0_0+1E3r ...
					; Multiplication/Division Register 1
MD2 equ	0EBh				; DATA XREF: IE0_0+1D1w IE0_0+1E5r ...
					; Multiplication/Division Register 2
MD3 equ	0ECh				; DATA XREF: IE0_0+1D4w IE0_0+1E7r ...
					; Multiplication/Division Register 3
MD4 equ	0EDh				; DATA XREF: IE0_0+1D7w IE0_0+1E9r ...
					; Multiplication/Division Register 4
MD5 equ	0EEh				; DATA XREF: IE0_0+1D9w IE0_0+1EBr ...
					; Multiplication/Division Register 5
ARCON equ 0EFh				; DATA XREF: RESET_0+1BAw
					; Arithmetic Control Register
B equ 0F0h				; DATA XREF: ProcessDPKV-34r
					; ProcessDPKV+7r ...
					; B-Register
RESERVED00F1 equ 0F1h			; RESERVED
CML6 equ 0F2h				; DATA XREF: ProcessDPKV+560w
					; ProcessDPKV+5BCw ...
					; Compare Register 6, Low Byte (RMAP=0)
CMH6 equ 0F3h				; DATA XREF: ProcessDPKV+55Ew
					; ProcessDPKV+5BAw ...
					; Compare Register 6, High Byte	(RMAP=0)
CML7 equ 0F4h				; DATA XREF: ProcessDPKV+4CCw
					; ProcessDPKV+51Bw ...
					; Compare Register 7, Low Byte (RMAP=0)
CMH7 equ 0F5h				; DATA XREF: ProcessDPKV+4CAw
					; ProcessDPKV+519w ...
					; Compare Register 7, High Byte	(RMAP=0)
CMEN equ 0F6h				; DATA XREF: ProcessDPKV:code_722w
					; ProcessDPKV+4B5w ...
					; Compare Enable Register (RMAP=0)
CMSEL equ 0F7h				; DATA XREF: RESET_0+23Cw
					; Compare Input	Select (RMAP=0)
P5 equ 0F8h				; DATA XREF: ProcessDPKV+30Bw
					; ProcessDPKV+310w ...
					; Port 5 (PDIR=0)
P9 equ 0F9h				; DATA XREF: RESET_0+7Cw RESET_0+90w ...
					; Port 9 (PDIR=0)
P6 equ 0FAh				; DATA XREF: Timer1Proc_1ms+187r
					; Timer1Proc_1ms+198w ...
					; Port 6 (PDIR=0)
RESERVED00FB equ 0FBh			; RESERVED
RESERVED00FC equ 0FCh			; RESERVED
RESERVED00FD equ 0FDh			; RESERVED
RESERVED00FE equ 0FEh			; RESERVED
RESERVED00FF equ 0FFh			; RESERVED
; end of 'FSR'


		end ;RESET
