CODIER  ASM;	J|rg B|ttge
;	FA  35/241
;	Friedensstra~e 10
;	O-6822 SCHWARZA
;
;	DIESES PROGRAMM VER- BZW.
;	CODIERT SPEICHERBEREICHE
;	NACH DEM EINFACHEN VERFAHREN ,
;	D.H. , JEDES BYTE WIRD EINZELN
;	CODIERT UND DANN WIEDER AN
;	DEN URSPRUENGLICHEN SPEICHER-
;	PLATZ ZURUECKTRANSPORTIERT .
;
;	DER CODE SOWIE ANFANGS- UND
;	ENDADRESSE WERDEN IM MENU UEBER-
;	GEBEN . DABEI WIRD DIE ANZAHL
;	DER PARAMETER GEPRUEFT UND NACH
;	MAX. 3 FEHLERMELDUNGEN EIN
;	POWER-ON-RESET DURCHGEFUEHRT .
;
;	REIHENFOLGE DER PARAMETER :
;
;	ANF.ADRESSE ENDADRESSE CODE1
;	CODE2 CODE3 CODE4 CODE5
;
;
;	HINWEIS: RECHENZEIT FUER 1K JE
;		 NACH CODE 0.4 BIS 23s
;
;
	ORG	0BD33H
;
;
;
PV1:	EQU	0F003H
ARGN:	EQU	0B781H
ARG1:	EQU	ARGN+1
ARG2:	EQU	ARG1+2
ARG3:	EQU	ARG2+2
ARG4:	EQU	ARG3+2
ARG5:	EQU	ARG4+2
ARG6:	EQU	ARG5+2
ARG7:	EQU	ARG6+2
;
;
;
	DEFW	07F7FH
	DEFM	'ENCODE:'
	DEFB	001H
	CALL	FEHL
ENT:	LD	DE,(ARG1)
	LD	A,(DE)
	CPL
	LD	HL,(ARG3)
	ADD	H
	CPL
	SUB	L
	LD	HL,(ARG4)
	LD	B,H
L3:	RLCA
	DJNZ	L3
	CALL	COMP
	LD	B,H
L4:	RRCA
	DJNZ	L4
	ADD	L
	LD	HL,(ARG5)
	LD	B,H
L5:	RLCA
	DJNZ	L5
	CALL	COMP
	LD	B,H
L20:	RRCA
	DJNZ	L20
	SUB	L
	LD	HL,(ARG6)
	LD	B,H
L21:	RLCA
	DJNZ	L21
	CALL	COMP
	LD	B,H
L6:	RRCA
	DJNZ	L6
	ADD	L
	LD	HL,(ARG7)
	LD	B,H
L7:	RLCA
	DJNZ	L7
	CALL	COMP
	LD	B,H
L8:	RRCA
	DJNZ	L8
	NEG
	SUB	L
	CPL
	LD	(DE),A
	INC	DE
	LD	(ARG1),DE
	LD	HL,(ARG2)
	SBC	HL,DE
	JR	NC,ENT
FERT:	LD	B,0EH
	LD	HL,ARG1
L9:	LD	(HL),0H
	INC	HL
	DJNZ	L9
	CALL	PV1
	DEFB	023H
	DEFM	'FERTIG'
	DEFW	0707H
	DEFW	0A0DH
	DEFB	000H
	RET
;
;
COMP:	BIT	0,A
	JR	Z,MX
	RES	0,A
	RET
MX:	SET	0,A
	RET
MZ1:	DEFB	0H
;
;
;
FEHL:	CALL	PV1
	DEFB	023H
	DEFW	0020BH
	DEFB	000H
	LD	A,(ARGN)
	CP	007H
	LD	A,(MZ1)
	JR	NZ,L30
	XOR	A
	LD	(MZ1),A
	RET
L30:	INC	A
	CP	003H
	PUSH	AF
	LD	(MZ1),A
	LD	E,19H
	CALL	NZ,0F009H
	POP	AF
	POP	HL
	RET	NZ
	CALL	PV1
	DEFB	023H
	DEFB	0CH
	DEFW	0A0AH
	DEFW	0A0AH
	DEFM	' Sie haben sich nun '
	DEFM	'dreimal vertippt !'
	DEFW	0707H
	DEFW	0707H
	DEFB	00H
	LD	A,0FFH
	CALL	PV1
	DEFB	14H
	JP	0F000H
;
;
;
	DEFW	7F7FH
	DEFM	'CODE:'
	DEFB	001H
	CALL	FEHL
VER:	LD	DE,(ARG1)
	LD	A,(DE)
	CPL
	LD	HL,(ARG7)
	ADD	L
	NEG
	LD	B,H
L11:	RLCA
	DJNZ	L11
	CALL	COMP
	LD	B,H
L12:	RRCA
	DJNZ	L12
	LD	HL,(ARG6)
	SUB	L
	LD	B,H
L13:	RLCA
	DJNZ	L13
	CALL	COMP
	LD	B,H
L22:	RRCA
	DJNZ	L22
	LD	HL,(ARG5)
	ADD	L
	LD	B,H
L23:	RLCA
	DJNZ	L23
	CALL	COMP
	LD	B,H
L14:	RRCA
	DJNZ	L14
	LD	HL,(ARG4)
	SUB	L
	LD	B,H
L15:	RLCA
	DJNZ	L15
	CALL	COMP
	LD	B,H
L16:	RRCA
	DJNZ	L16
	LD	HL,(ARG3)
	ADD	L
	CPL
	SUB	H
	CPL
	LD	(DE),A
	INC	DE
	LD	(ARG1),DE
	LD	HL,(ARG2)
	SBC	HL,DE
	JR	NC,VER
	JP	FERT
kž
L16:dž
L15:\ž
L14:Už
L23:Mž
L22:Fž
L13:>ž
L12:7ž
L11:*ž
VER:Ó˝
L30:˝˝
FEHL:ź˝
	HL,(ARG2)
	SBC	HL,DE
	JR	NC,VER
	JP	FERT
kž
L16:dž
L15:\ž
L14:Už
L23:Mž
L22:Fž
L13:>ž
L12:7ž
L11:*ž
VER:Ó˝
L30:˝˝
FEHL:ź˝
