;Входные параметры:
;HL - начальный адрес блока
;DE - конечный адрес блока
;Выходные данные:
;BC - контрольная сумма блока

CRC	PUSH HL
	INC DE
	LD BC,#0000
CRC1	PUSH DE
	LD A,C
	XOR (HL)
	LD E,A
	PUSH BC
	PUSH HL
	LD BC,#0000
	LD D,#08
CRC2	PUSH BC
	LD A,C
	RRA
	LD A,B
	RRA
	LD B,A
	LD A,C
	RRA
	LD C,A
	POP HL
	LD A,E
	XOR L
	AND 1
	JR Z,CRC3
	LD A,B
	XOR #A0
	LD B,A
	LD A,C
	XOR #01
	LD C,A
CRC3	LD A,E
	RRCA
	AND #7F
	LD E,A
	DEC D
	JR NZ,CRC2
	POP HL
	POP DE
	LD A,D
	XOR C
	LD C,A
	LD A,E
	XOR B
	LD B,A
	INC HL
	POP DE
	LD A,H
	CP D
	JR NZ,CRC1
	LD A,L
	CP E
	JR NZ,CRC1
	DEC DE
	POP HL
	RET
