MQMASM;
	ORG	0BA00H
;	ORG	07000H
;
;***************************************
;
; MPM	9.1.89		B. SCHENK
;
; ASSEMBLIERUNG VON MASCHINENPROGRAMMEN
; -------------------------------------
; ERSTELLUNG EINER QUELLE VON EINEM IM
; SPEICHER BEFINDLICHEN MASCHINENPRO-
; GRAMM	MIT MARKENGENERIERUNG UND EDAS-
; FORMATIERUNG
;PROGRAMM DIENT LEDIGLICH ZUR UNTER-
;STUETZUNG BEI DER ERSTELLUNG EINER
;KORREKTEN QUELLE.ES LIEFERT NUR BEI
;EINFACHEN MC-PROGRAMMEN EINE KORREKTE
;QUELLE
;ES MACHT SICH IN DEN MEISTEN FAELLEN
;EINE NACHARBEIT ERFORDERLICH.
;MARKEN AUF BEFEHLSTEILE UND ANDERE
;PROGRAMMIERTRICKS,SOWIE TEXTE IM
;PROGRAMM WERDEN ENTWEDER NICHT ER-
;KANNT ODER ALS MNEMONIK INTERPRETIERT.
;LADEBEFEHLE MIT DIREKTADRESSE WERDEN
;MIT MARKEN VERSEHEN ( LD (UB782),DE )
;FALLS 0 < PA4 < 100H
;-PROGRAMME:
; MQI (EDAS-INIT)
; MQM (UEBERSETZUNG DES MC IN ASSEMBLER-
;     MNEMONIK)
;
;PARAMETERUEBERGABE:
; MQI QUELLTEXTENDE+1 (=MC-ANFANGS-ADR)
; MQI	3000
;GESETZTE ADR BEI 'EDAS'-CALL AUS MENU
;EDAS-ANFADR:3000H ODER MIT M022  6000H
;EDAS-ENDADR:4000H		  8000H
;BEACHTE:-VERFUEGBAREN SPEICHERBEREICH
;	 -MARKENTABELLE WIRD AB
;	  EDAS-MCEND-ADR. AUFGEBAUT
;
;MQM MC-ANFADR MC-ENDADR PR1PR2 PA4
;MQM BA00      BC00      7FDD	1
;
;PR1/PR2:PROLOGBYTES (MAX. 2 MOEGLICH)
;IM MC WIRD NACH DEN PROLOGBYTES GESUCHT
;EIN ENTSPRECHENDER EINTRAG ERFOLGT IM
;QUELLTEXT
;OHNE ANGABE DER PROLOGBYTES ERFOLGT EIN
;REASSEMBLIERTER TEXTEINTRAG
;PA4:	4. PARAMETER  WAHL, OB LADE-
;	BEFEHLE MIT MARKE VERSEHEN
;	WERDEN SOLLEN
;	0 < PA4 < 100H SEIN (BEI =0 ER-
;	FOLGEN KEINE LD-MARKEN-EINTRAEGE
;
;BEACHTE:TABELLEN UND TEXTE IM PROGRAMM
;        WERDEN ALS MNEMONIK INTERPRE-
;	 TIERT UND KOENNEN IN DER
;	 QUELLE ZU FEHLERN FUEHREN (BSP:
;	 NORMAL: DEFB 20H
;		 DEFB 0
;	 REASSEMBLIERT:
;		 JR NZ,UXXXX
;	 BEI JP,JR,CALL WIRD DIE MARKEN-
;        ADRESSE IM OPERANDENTEIL
;        EINGETRAGEN MIT 'UXXXX'
;MARKEN WERDEN IM MARKENFELD MIT UXXXX:
;EINGETRAGEN (XXXX=MASCHINENCODE-ADR)
;
;AUSGABE ALLER NICHT VERWENDETEN MARKEN
;IM MARKENFELD AM ENDE DES QUELLTEXTES
;DURCH EQU-ANWEISUNGEN
;STRINGS BEI CALL F003H 23H '....':
;ES KANN EIN STRING VON MAX. 79 ZEICHEN
;EINSCHLIESSLICH RAHMEN DEFM 'STRING'
;VERARBEITET WERDEN
;
;ABBRUCH BEI QUELLSPEICHERUEBERLAUF(AUS-
;GABE <<<NO MEMORY>>> UND SPRUNG ZU EDAS
;ABBRUCH ERFOLGT CA.256 BYTE VOR
;QUELLTEXTSPEICHER-ENDE)-KEINE AUSGABE
;VON EQU-ANWEISUNGEN !
;
;NACH DER UEBERSETZUNG DES MC WIRD ZU
;EDAS GESPRUNGEN
;
;BEARBEITUNGSHINWEISE:
;-UEBERSETZEN DES MC MIT MQM
;IM EDAS:
;-ASM-TEST
;-SCHRITTWEISE FEHLERBESEITIGUNG BEI
;DER PROGRAMMANALYSE
;-BEACHTE DABEI DIE EQU-EINTRAEGE FUER
; DIE LD-BEFEHLE
;
;***************************************
;
REEDAS	EQU	0C0DAH
ROM	EQU	0CD40H
TXTA	EQU	40H
TXTL	EQU	46H
MERK1	EQU	0B7FEH
MERK2	EQU	0B7FFH
DIS	EQU	0D72AH
ARGN	EQU	0B781H
ARG1	EQU	0B782H
ARG2	EQU	0B784H
ARG3	EQU	0B786H
ARG4	EQU	0B788H
CURSOR	EQU	0B7A0H
FT1	EQU	0B900H
VERT	EQU	0F003H
MEM1	EQU	4000H
MEM2	EQU	8000H
CURZ	EQU	3CH	;CURSORZEILE
TABA	EQU	88H	;72
TABE	EQU	8AH	;74
MERK3	EQU	8CH
;
	DEFW	7F7FH
	DEFM	'MQM'
	DEFB	1
;
	PUSH	HL	;MC-ANFADR
	POP	IY
	PUSH	HL
	LD	HL,0FFFFH
	LD	(MERK3),HL
	LD	HL,(72H)
	LD	(TABA),HL
	LD	A,(ARGN)
	CP	3
	JR	NC,MQ1	;>=3 ARGUM.
	LD	HL,0F3F3H
	LD	(ARG3),HL;F3F3-PROLOG
	JR	MQ4
MQ1	LD	HL,(ARG3)
	XOR	A
	CP	H	;PROLOGTEST
	JR	Z,MQ2	;NUR 1 PROLOG
	CP	L
	JR	NZ,MQ4
	LD	L,H
	JR	MQ3
MQ2	LD	H,L
MQ3	LD	(ARG3),HL
;
MQ4:	CALL	VERT
	DEFB	23H
	DEFM	'PASS 1'
	DEFB	0
	POP	HL
	PUSH	HL
	CALL	QM	;MTAB AUFBAUEN
	POP	HL
	LD	(ARG1),HL
	LD	DE,(TABA)
	DEC	DE
	LD	(3DH),DE
	CALL	SORT
;
	CALL	VERT
	DEFB	23H
	DEFB	8
	DEFM	'2'
	DEFW	0D0AH
	DEFW	0219H
	DEFB	0
	LD	A,(0B7A1H);CURSORZEILE
	LD	(CURZ),A
	LD	HL,(TXTA)
	XOR	A
	LD	(MERK1),A
	LD	(MERK2),A
	LD	M,';'
	INC	HL
MM0	LD	M,0DH
	INC	HL
	LD	M,0AH
	INC	HL
	LD	M,9
	INC	HL
	EX	DE,HL	;EDAS-TXTADR DE
	PUSH	DE	;UEBERLAUF QUELL
	PUSH	HL
	LD	HL,(42H)
	DEC	H	;256BYTE SICHER
	OR	A
	SBC	HL,DE
	JR	C,MM00	;UEBERLAUF
	POP	HL
	POP	DE
	JR	MM01
MM00:	CALL	VERT
	DEFB	23H
	DEFW	0A0DH
	DEFM	'<<< NO MEMORY >>>'
	DEFW	0A0DH
	DEFB	0
	POP	HL
	JP	END1
;
MM01:	PUSH	IY
	POP	HL	;MCADR
	PUSH	HL
	CALL	MARKE	;SUCHE MARKE
	POP	HL
	PUSH	DE	;DE EDAS TXTADR
;
	LD	A,(MERK2)
	OR	A
	JP	NZ,MQQB
	LD	A,(ARGN)
	CP	3
	JP	C,MQQ
	LD	DE,(ARG3)
	LD	A,D
	CP	M
	JR	Z,MQ5
	LD	A,E
	CP	M
	JP	NZ,MQQ
MQ5:	INC	HL
	CP	M
	JP	NZ,MQQ1
	POP	DE	;EDASTXT
	DEC	DE
	PUSH	HL	;EINTRAG PROLOG
	LD	HL,NA1
	LD	BC,9
	LDIR
	CALL	HAS
	EX	DE,HL
	LD	A,D
	CP	3AH
	JR	C,MQ51
	LD	M,30H	;0=>A..D-PROLOG
	INC	HL
MQ51	LD	M,D
	INC	HL
	LD	M,E
	INC	HL
	LD	M,D
	INC	HL
	LD	M,E
	INC	HL
	EX	DE,HL
	LD	HL,NA2
	LD	BC,0AH
	LDIR
	POP	HL
	INC	HL
MQ6	LD	A,M
	CP	2
	JR	C,MQ7
	LD	(DE),A
	INC	HL
	INC	DE
	JR	MQ6
MQ7	LD	A,27H
	LD	(DE),A
	INC	DE
	PUSH	HL
	LD	HL,NA3
	LD	BC,8
	LDIR
	POP	HL
	PUSH	HL
	LD	A,M
	CALL	HAS
	EX	DE,HL
	LD	M,E
	INC	HL
	EX	DE,HL
	POP	HL
	INC	HL
	PUSH	HL
	POP	IY
	EX	DE,HL
	JP	MM0
;
MQQ1:	DEC	HL
MQQ:	PUSH	HL
	XOR	A
	CALL	0D8AFH	;BEFEHL
	POP	HL
	JP	Z,MQQ2	;JP/CALL
	JP	C,MQQ2	;JR
	LD	A,(ARGN)
	CP	4
	JR	C,MQQB
	LD	A,(ARG4)
	OR	A
	JR	Z,MQQB
	CALL	TES
	JP	Z,MQQ2	;3/4 BYTE
;
MQQB:	XOR	A
	LD	B,A
	LD	C,A
	LD	DE,0
	CALL	DIS	;DISASS-AUFRUF
	PUSH	IY
	POP	HL
	LD	BC,(ARG2)
	INC	BC
	AND	A
	SBC	HL,BC
	JP	C,MM1	;MC-ADR < MC-END
	POP	DE
	DEC	DE
	PUSH	DE
END:	LD	DE,(TABA)
	LD	HL,(TABE)
	OR	A
	SBC	HL,DE
	JR	NC,END1
	EX	DE,HL
	DEC	HL
	LD	A,0FFH
	CP	M
	JR	NZ,EN2
	DEC	HL
	CP	M
	JR	NZ,EN1
	LD	(TABA),HL
	JR	END
EN1	INC	HL
EN2	LD	B,M
	DEC	HL
	LD	C,M
	PUSH	HL
	LD	HL,(MERK3)
	OR	A
	SBC	HL,BC
	POP	HL
	JR	NZ,EN4
	LD	(TABA),HL
	JR	END
EN4	LD	(MERK3),BC
	POP	DE
	PUSH	HL
	LD	H,B
	LD	L,C
	CALL	MAR4
	POP	HL
	LD	(TABA),HL
	PUSH	BC
	LD	HL,NA4	;EQU-EINTRAG
	LD	BC,5
	LDIR
	POP	HL
	CALL	HEXAS
	LD	A,'H'
	LD	(DE),A
	INC	DE
	LD	HL,NA3
	LD	BC,2
	LDIR
	PUSH	DE
			;UEBERLAUF QUELL
	LD	HL,(42H)
	DEC	H	;256BYTE SICHER
	OR	A
	SBC	HL,DE
	JR	C,EN3	;UEBERLAUF
	JR	END
EN3:	CALL	VERT
	DEFB	23H
	DEFW	0A0DH
	DEFM	'<<< NO MEMORY >>>'
	DEFW	0A0DH
	DEFB	0
END1:	POP	HL
	DEC	HL
	LD	M,';'
	INC	HL
	LD	M,0DH
	INC	HL
	LD	M,0AH
	INC	HL
	LD	M,3	;TEXT-ENDE
	JP	MM4
;
MM1:	CALL	VERT	;DISASS GIBT
	DEFB	23H	;MNEMONIK AUF BS
	DEFB	0BH
	DEFB	19H
	DEFB	0
	LD	DE,(CURSOR)
	LD	A,(CURZ)
	CP	D
	JR	Z,MM2	;ZEILE =
MM25:	DEC	D	;STRING>40
	CALL	VERT
	DEFB	32H
	POP	DE
	LD	B,28
MM21:	LD	A,M
	LD	(DE),A
	INC	DE
	INC	HL
	DJNZ	MM21
	LD	A,27H
	LD	(DE),A
	INC	DE
	PUSH	HL
	LD	HL,NA5
	LD	BC,9
	LDIR
	POP	HL
	LD	B,22
MM22:	LD	A,M
	LD	(DE),A
	INC	DE
	INC	HL
	CP	27H
	JR	Z,MM23
	DJNZ	MM22
	LD	A,27H
	LD	(DE),A
	INC	DE
	PUSH	HL
	LD	HL,NA5
	LD	BC,9
	LDIR
	POP	HL
	LD	B,22
MM28:	LD	A,M
	LD	(DE),A
	INC	DE
	INC	HL
	CP	27H
	JR	Z,MM23
	DJNZ	MM28
	LD	A,27H
	LD	(DE),A
	INC	DE
	PUSH	HL
	LD	HL,NA5
	LD	BC,9
	LDIR
	POP	HL
	LD	B,7
MM29:	LD	A,M
	LD	(DE),A
	INC	DE
	INC	HL
	CP	27H
	JR	Z,MM23
	DJNZ	MM29
	LD	A,27H
	LD	(DE),A
	INC	DE
MM23:	CALL	VERT
	DEFB	23H
	DEFB	2
	DEFB	0BH
	DEFB	2
	DEFB	0
	EX	DE,HL
	JP	MM0
MM2:	CALL	VERT
	DEFB	32H	;TEXT VOM VIDEO-
	POP	DE	;RAM LESEN
MM20:	LD	A,M	;AUF EDAS-TEXT-
	CP	'D'	;SPEICHER LADEN
	JR	Z,MM31
MM30	LD	A,M
	OR	A
	JR	Z,MM3
	LD	(DE),A
	INC	DE
	INC	HL
	JR	MM30
MM3:	CALL	VERT
	DEFB	23H
	DEFB	2
	DEFB	0
	EX	DE,HL
	JP	MM0
;
MM31	PUSH	HL
	INC	HL
	INC	HL
	INC	HL
	LD	A,M
	CP	'M'
	POP	HL
	JR	NZ,MM30
	LD	B,28
MM32	LD	A,M
	LD	(DE),A
	INC	DE
	INC	HL
	OR	A
	JR	Z,MM3
	DJNZ	MM32
	LD	A,27H
	LD	(DE),A
	INC	DE
	PUSH	HL
	LD	HL,NA5
	LD	BC,9
	LDIR
	POP	HL
	LD	B,11
MM33	LD	A,M
	LD	(DE),A
	INC	DE
	INC	HL
	CP	27H
	JR	Z,MM3
	DJNZ	MM33
	JR	MM3
;
MM4:	LD	HL,(TXTA)
	LD	BC,1
MM5	LD	A,M
	CP	3	;ENDE
	JR	Z,MM7
	CP	27H	;" ' "
	JR	NZ,MM52
	DEC	HL
	LD	A,M
	INC	HL
	CP	'F'	;AF'
	JR	Z,MM6
MM51	INC	HL
	INC	BC
	LD	A,M
	CP	27H	;DEFM '  '
	JR	NZ,MM51
MM52	CP	20H
	JR	NZ,MM6
	INC	HL
	LD	A,M
	DEC	HL
	CP	20H	;BEI CP JP
	JR	Z,MM6
	LD	M,9	;TABULATOR
MM6	INC	HL
	INC	BC
	JR	MM5
;
MM7:	PUSH	HL	;END-ADR TEXT
	LD	DE,(TXTL);AKTU.TEXT-ADR
	PUSH	HL
	LD	HL,(42H)
	XOR	A
	SBC	HL,DE
	POP	HL
	JR	Z,MM71
	POP	HL
	LD	(HL),';'
	PUSH	HL
MM71	LDDR		;UMLADEN AUF
	POP	HL	;EDAS-ARBEITS-
			;BEREICH
	INC	DE
	LD	(TXTL),DE;ANF-ADR. TEXT
	JP	0C0DAH	;ROM CD40H
			;SONST 0C0DAH
;
MQQ2:	PUSH	HL
	LD	A,0CDH
	CP	M
	JR	NZ,MQQ22
	INC	HL
	LD	A,3
	CP	M
	JR	NZ,MQQ22
	INC	HL
	LD	A,0F0H
	CP	M
	POP	HL
	JP	Z,MQQB
	PUSH	HL
MQQ22	POP	HL
	XOR	A
	LD	B,A
	LD	C,A
	LD	DE,0
	CALL	DIS
	CALL	0F003H
	DEFB	23H
	DEFB	0BH
	DEFB	19H
	DEFB	0
	LD	DE,(CURSOR)
	LD	A,(CURZ)
	CP	D	;2 BS-ZEILEN-$
	JP	NZ,MM25
	CALL	0F003H
	DEFB	32H
	POP	DE	;EDASTXT
MQQY	LD	A,M
;	OR	A
;	JR	Z,MQQX1
	CP	30H
	JR	Z,MQQX
	LD	(DE),A
	INC	HL
	INC	DE
	JR	MQQY
MQQX	LD	A,'U'
MQQY1	LD	(DE),A
	INC	DE
	INC	HL
	LD	A,M
	CP	'H'
	JR	NZ,MQQY1
	INC	HL
MQQY3	LD	A,M
	OR	A
	JR	Z,MQQX1
	LD	(DE),A
	INC	DE
	INC	HL
	JR	MQQY3
MQQX1	CALL	0F003H
	DEFB	23H
	DEFB	2
	DEFB	0
	EX	DE,HL
	JP	MM0
;
HAS:	LD	B,A	;HEX->ASCII
	AND	0F0H	;PE:A=HEXZAHL
	RLCA		;PA:H=ASCII-ZAHL
	RLCA		;     BIT4-7
	RLCA		;   L=BIT0-3
	RLCA
	ADD	30H
	CP	3AH
	JR	C,HAS1
	ADD	7
HAS1	LD	H,A
	LD	A,B
	AND	0FH
	ADD	30H
	CP	3AH
	JR	C,HAS2
	ADD	7
HAS2	LD	L,A
	RET
;
;
;GENERIERE MARKENTABELLE
;
QM:	LD	HL,(72H)
	LD	(TABE),HL
QM0	LD	HL,(ARG1)
	PUSH	HL
	LD	DE,(ARG2)
	OR	A
	SBC	HL,DE
	POP	HL
	JR	C,QM1
	RET
QM1	LD	DE,(ARG3)
	LD	A,M
	CP	D
	JR	Z,QM4
	CP	E
	JR	Z,QM5
QMM1	PUSH	HL
	CALL	0D8AFH
	POP	HL
	JR	NZ,QM6
	PUSH	HL
	LD	A,M
	CP	0CDH
	JP	NZ,QM11
	INC	HL
	LD	A,M
	CP	3
	JR	NZ,QM11
	INC	HL
	LD	A,M
	CP	0F0H
	JR	NZ,QM11
	INC	HL
	LD	A,M
	CP	23H
	JP	NZ,QM12
	LD	C,3
	LD	B,,0
	POP	HL
	ADD	HL,BC
QM21	INC	HL
	LD	A,M
	OR	A
	JR	NZ,QM21
	JR	QM31
QM2	LD	B,0
	POP	HL
	ADD	HL,BC
QM3	INC	HL
	LD	A,M
	CP	2
	JR	NC,QM3
QM31	INC	HL
	LD	(ARG1),HL
	JR	QM0
QM4	PUSH	HL
	INC	HL
	LD	A,M
	CP	D
	LD	C,1
	JR	Z,QM2
	POP	HL
	JR	QMM1
QM5	LD	D,E
	JR	QM4
QM6	JR	C,QM8	;JR
	PUSH	HL
	LD	A,(ARGN)
	CP	4
	JR	C,QM61
	LD	A,(ARG4)
	OR	A
	JR	Z,QM61
	CALL	BEF
	JR	Z,QM11
QM61:	POP	HL
QM7	LD	C,B
	LD	B,0
	ADD	HL,BC
	LD	(ARG1),HL
	JP	QM0
QM8	PUSH	HL
	PUSH	BC
	INC	HL
	LD	A,M
	INC	HL
	LD	B,0
	LD	C,A
	BIT	7,A
	JR	Z,QM10
	NEG
	LD	C,A
	OR	A
	SBC	HL,BC
QM81	EX	DE,HL
QM9	LD	HL,(TABE)
	DEC	HL
	LD	M,D
	DEC	HL
	LD	M,E
	LD	(TABE),HL
	POP	BC
	POP	HL
	JR	QM7
QM10	ADD	HL,BC
	JR	QM81
QM11	POP	HL
	PUSH	HL
	PUSH	HL
	CALL	0D8AFH
	LD	A,B
	CP	4
	POP	HL
	JR	NZ,QM13
	INC	HL
QM13	PUSH	BC
	INC	HL
	LD	E,(HL)
	INC	HL
	LD	D,(HL)
	JR	QM9
QM12	POP	HL
	LD	B,4
	JR	QM7
;
;HEX->ASCII PE:HL=HEX,DE=ADR
;
HEXAS:	CALL	HEAS1
	PUSH	HL
	LD	H,L
	CALL	HEAS1
	POP	HL
	RET
HEAS1	LD	A,H
	AND	0F0H
	RRCA
	RRCA
	RRCA
	RRCA
	ADD	30H
	CP	3AH
	JR	C,HEAS2
	ADD	7
HEAS2	LD	(DE),A
	INC	DE
	LD	A,H
	AND	0FH
	ADD	30H
	CP	3AH
	JR	C,HEAS3
	ADD	7
HEAS3	LD	(DE),A
	INC	DE
	RET
;
SORT:	PUSH	HL
	PUSH	DE
	PUSH	BC
	LD	DE,(TABE)
	LD	HL,(TABA)
	OR	A
	SBC	HL,DE
	JR	Z,SORE
	OR	A
	RR	H
	RR	L
	LD	B,H
	LD	C,L
SOR0	DEC	BC
	LD	A,B
	OR	C
	JR	NZ,SOR1
SORE	POP	BC
	POP	DE
	POP	HL
	RET
SOR1	PUSH	BC
	LD	H,D
	LD	L,E
SOR3	PUSH	BC
	PUSH	DE
	INC	HL
	INC	HL
	PUSH	HL
	EX	DE,HL
	LD	A,M
	INC	HL
	LD	H,M
	LD	L,A
	LD	A,(DE)
	LD	C,A
	INC	DE
	LD	A,(DE)
	LD	B,A
	OR	A
	SBC	HL,BC
	POP	HL
	POP	DE
	JR	NC,SOR5
	LD	A,(DE)
	LD	B,M
	EX	DE,HL
	LD	M,B
	LD	(DE),A
	EX	DE,HL
	INC	DE
	INC	HL
	LD	A,(DE)
	LD	B,M
	EX	DE,HL
	LD	M,B
	LD	(DE),A
	EX	DE,HL
	DEC	DE
	DEC	HL
SOR5	POP	BC
	DEC	BC
	LD	A,B
	OR	C
	JR	NZ,SOR3
	INC	DE
	INC	DE
	POP	BC
	JR	SOR0
;
;	SUCHE MARKE IN MTAB UND	EDAS-
;	EINTRAG Uxxxx:
MARKE:	PUSH	DE	;EDAS
	PUSH	HL	;MCADR
	LD	DE,(3DH);MTAB-ZELLE
	LD	HL,(TABE)
	DEC	HL
	OR	A
	SBC	HL,DE
	JR	C,MAR1
	POP	HL
MAR0	POP	DE
MAR00	RET
MAR1	POP	HL	;MCADR
MAR2	LD	A,(DE)
	LD	B,A
	DEC	DE
	LD	A,(DE)
	LD	C,A	;BC=MARKE
	PUSH	HL
	OR	A
	SBC	HL,BC
	POP	HL
	JR	Z,MAR3	;MC=MARKE
	JR	C,MAR0	;MC<MARKE
	DEC	DE	;MC>MARKE
	JR	MAR2
MAR3	DEC	DE
	LD	(3DH),DE
	POP	DE	;EDASTXT
	DEC	DE
MAR4	LD	A,'U'
	LD	(DE),A
	INC	DE
	CALL	HEXAS
	LD	A,':'
	LD	(DE),A
	INC	DE
	LD	A,9
	LD	(DE),A
	INC	DE
	PUSH	DE
	LD	DE,(3DH)
	LD	A,0FFH
	INC	DE
	LD	(DE),A
	INC	DE
	LD	(DE),A
	POP	DE
	JR	MAR00
;
;TEST AUF 3/4-BYTE LADEBEFEHLE
;
BEF:	PUSH	HL
	PUSH	BC
	PUSH	DE
	JR	TEST1
TES:	PUSH	HL
	PUSH	BC
	PUSH	DE
	PUSH	IY
	POP	HL
TEST1	PUSH	HL
	CALL	0D8AFH
	POP	HL
	LD	A,B
	CP	3
	JR	NC,TES1
TES0	POP	DE
	POP	BC
	POP	HL
	AND	A	;Z=0
	RET
TES1	LD	A,M
	CP	0DDH
	JR	Z,TES4
	CP	0FDH
	JR	Z,TES4
	CP	0EDH
	JR	Z,TES5
	CP	1
	JR	NZ,TES3
TES2	POP	DE
	POP	BC
	POP	HL
	XOR	A	;Z=1
	RET
TES3	CP	11H
	JR	Z,TES2
	CP	21H
	JR	Z,TES2
	CP	31H
	JR	Z,TES2
	CP	22H
	JR	Z,TES2
	CP	2AH
	JR	Z,TES2
	CP	32H
	JR	Z,TES2
	CP	3AH
	JR	Z,TES2
	JR	TES0
TES4	INC	HL
	LD	A,M
	CP	21H
	JR	Z,TES2
	CP	22H
	JR	Z,TES2
	CP	2AH
	JR	Z,TES2
	JR	TES0
TES5	INC	HL
	LD	A,M
	CP	43H
	JR	Z,TES2
	CP	53H
	JR	Z,TES2
	CP	73H
	JR	Z,TES2
	CP	4BH
	JR	Z,TES2
	CP	5BH
	JR	Z,TES2
	CP	7BH
	JR	Z,TES2
	JR	TES0
;
NA1:	DEFM	';'
	DEFB	0DH
	DEFB	0AH
	DEFB	9
	DEFM	'DEFW'
	DEFB	9
NA2:	DEFM	'H'
NA5:	DEFB	0DH
	DEFB	0AH
	DEFB	9
	DEFM	'DEFM'
	DEFB	9
	DEFB	27H
NA3:	DEFB	0DH
	DEFB	0AH
	DEFB	9
	DEFM	'DEFB'
	DEFB	9
NA4:	DEFM	'EQU'
	DEFB	9
	DEFB	30H
;
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ