2H;;*__*__*__*Z_û*__*__*__*__*__*__;.;Ende@û;;;	*************************;	*			*;	*   EDAS-Erweiterung	*;	*   Version 29.5.88	*;	*			*;	*************************;;		(C) F.Klemm Gera;;;*__*__*__*__*__*__*__*__*__*__*__*__*__;; Zusatzfunktionen:;	ORG	0DA82H;	DEFW	KOPF	DEFM	'MTB'	DEFB	1	LD	C,L	AND	A	JR	NZ,ZL1	LD	C,3ZL1	LD	B,C	EXX	LD	A,'A';; A: Anfangs-ASCII;ZL2	LD	DE,(LBLANF);Anfang	LD	HL,(LBLEND);Ende	AND	A	SBC	HL,DE	RET Z	LD	B,H	LD	C,L	ADD	HL,DEMK3	CPDR	JR	NZ,ZL3	PUSH	AF	CALL	BRKT	JR	C,EXIT	LD	A,' '-1	CP	M	JR	C,EXIT1	PUSH	HL	INC	HL	INC	HL	CP	M	JR	Z,EXIT2	PUSH	BC	DEC	HL	DEC	HL	DEC	HL	DEC	HL	LD	E,M	INC	HL	LD	D,M	INC	HL	INC	HL	LD	B,8	LD	A,M	INC	HLMTB2	CALL	ROUT	CALL	PR2	LD	A,M	INC	HL	DEC	B	CP	':'	JR	NZ,MTB2MTB3	CALL	SPAC	DJNZ	MTB3	EX	DE,HL	CALL	HLHX	EXX	DEC	B	CALL	Z,ZEIL	EXX	POP	BCEXIT2	POP	HLEXIT1	POP	AF	JR	MK3;ZL3	INC	A	CP	'Z'+1	JR	NZ,ZL2ZEIL	LD	B,C	PUSH	AFEXIT	POP	AF	CALL	CRLF	RET;;*__*__*__*__*__*__*__*__*__*__*__*__*__;	DEFW	KOPF	DEFM	'msg'	DEFB	1	AND	A	JR	Z,MSG2	LD	C,A	LD	DE,ARG1MSG1	LD	A,(DE)	INC	DE	INC	DE	CALL	MSGP	DEC	C	JR	NZ,MSG1	RET;MSG2	INC	A	PUSH	AF	CALL	MSGP	POP	AF	CP	11	JR	NZ,MSG2	RET;MSGP	LD	B,A	CALL	TETR	CALL	PRS	DEFM	': '	DEFB	0	LD	HL,MSGTABMSG3	LD	A,M	INC	HL	AND	A	JR	NZ,MSG3	DJNZ	MSG3MSG4	CALL	ZKOUT	JP	CRLF;MSGTAB	DEFB	0	DEFM	'kein Befehl erkennbar'	DEFB	0	DEFM	'Marke mehrfach'	DEFB	0	DEFM	'Marke nicht definiert'	DEFB	0	DEFM	'falsche Mnemonik'	DEFB	0	DEFM	'falsches Zahlenformat'	DEFB	0	DEFM	'Differenz nicht in '	DEFM	'-128...127'	DEFB	0	DEFM	'keine Marke vor EQU'	DEFB	0	DEFM	'kein Apostroph'	DEFB	0	DEFM	'Division durch Null'	DEFB	0	DEFM	'falsche Flagbedingung'	DEFB	0	DEFM	'Plus, Minus oder Komma'	DEFM	' fehlt'	DEFB	0;	DEFW	KOPF	DEFM	','	DEFB	1FH	CALL	PRS	DEFM	'0 PE NV =0'	DEFB	CR,CUD	DEFM	'1 PO OV #0'	DEFB	CR,CUD,0	RET;;-------------------------;	DEFW KOPF	DEFM 'IN'	DEFB 13H	JP XIN;	DEFW KOPF	DEFM 'OUT'	DEFB 5	JP XOUT;	DEFW KOPF	;Aufruf mit	DEFM 'CALL'	;max. 9 Argum.	DEFB 3		;ARG1..4->HL..ASHIFT	PUSH HL		;Startadr.->Stck	LD HL,ARGN	DEC M		;DEC(ARGN)	LD HL,ARG2	LD DE,ARG1	LD BC,18	LDIR		;Arg. versch.	CALL ARGS	LD A,(ARG4)	; ""  laden	RET;	DEFW KOPF	DEFM 'SYSTEM'	DEFB 3	LD A,L	LD (ARGC),A	;Nr. in ARGC	LD HL,0F006H	;Start=SYSE	JR SHIFT;	DEFW KOPF	DEFM 'MODIFY'	DEFB 1	JP MOD0;	DEFW KOPF	DEFM 'DISPLAY'	DEFB 1	JP DISPL;	DEFW KOPF	DEFM 'FILL'	DEFB 17H	JP XFILL;	DEFW KOPF	DEFM 'MOVE'	DEFB 17H	JP XMOVE;	DEFW KOPF	DEFM 'EXCH'	DEFB 17H	JP XEXCH;	DEFW KOPF	DEFM 'HELP'	DEFB 3	JP XHELP;	DEFW KOPF	DEFM 'LIST'	DEFB 1	JP LIST;;=======================================;CODES	CALL PRS	DEFB ESC	DEFM 'CODES :'	DEFB 0	CALL INLN	LD HL,7	ADD HL,DE	EX DE,HL	;DE=Anfang ZK	LD BC,IOPUFCOD3	CALL NUM	JR C,KOMMA	LD A,M	AND A	JR Z,SEAR	INC HL	LD A,MCOD4	LD (BC),A	INC BC	JR COD3;KOMMA	LD A,(DE)	CP ','	JP NZ,ERR2	;2 Werte aus dem	INC DE		;Stack !!!	LD A,(DE)	INC DE	JR COD4;	DEFW KOPF	;Text suchen	DEFM 'TFIND'	DEFB 1	SET 0,B	JR FIND;	DEFW KOPF	;Bytes suchen	DEFM 'CFIND'	DEFB 1	RES 0,BFIND	AND A	JR NZ,FIND1	LD H,A	LD L,A	INC AFIND1	DEC A	JR NZ,FIND3FIND2	LD D,A	LD E,AFIND3	CALL FORM	PUSH BC	PUSH HL		;Args ausgew.;	BIT 0,D	JR Z,CODES	CALL PRS	DEFB ESC	DEFM 'TEXT :'	DEFB 0FTEXT	CALL ICHR	CP CR	JR Z,FIND4	CP CLR	CALL Z,ROUT	CALL NZ,PCTRL	JR FTEXT;FIND4	CALL INL0	LD HL,6	ADD HL,DE	LD BC,IOPUF-1FIND5	LD A,M	INC BC	LD (BC),A	;Text }bertragen	INC HL	AND A	JR NZ,FIND5SEAR	LD A,C	LD (ARGN),A	POP HL	POP BC;; Suche der Bytes;SU5	LD A,(IOPUF)	CPIR		;SUCHE NACH 1.BY	JP PO,CRLF	PUSH BC		;BC,HL=>STACK	PUSH HL	LD DE,IOPUF+1	LD A,(ARGN)	LD B,ASU6	DEC B		;VERGLEICH ENDE	JR Z,SUCONT	;AUSDRUCKEN	LD A,(DE)	CP M	JR NZ,SUEND	;STIMMT DOCH	INC HL		;NICHT	INC DE	JR SU6SUCONT	POP HL		;ANFANG+1=>HL	PUSH HL	DEC HL		;ANFANG=HL	CALL HLHX	;AusdruckenSUEND	POP HL	POP BC		;HL,BC aus StackSUX	LD A,(IX+13)	CP BRK	JP Z,CRLF	;BRK	CP CLR	JR NZ,SU5	;nicht Stop	CALL ICHR	;Warten bis Tast	JR SUX;;=======================================;	DEFW KOPF	DEFM 'ASC'	DEFB 1ASC1	CALL HLHX	;ADR. DRUCKEN	PUSH HL	LD B,8		;8 BYTES DRUCKENASC2	LD A,M	INC HL	CALL AHSP	DJNZ ASC2	LD A,CUR	CALL ROUT	; LEERE STELLE	POP HL	LD B,8		; 8 ASCII'SASC3	LD A,M		;DRUCKEN	AND 7FH	CALL PCTRL	BIT 7,M	CALL NZ,INV	INC HL	DJNZ ASC3	CALL CRLF	CALL ICHR	CP BRK		;BRK-> ENDE	RET Z	CP STOP	JR NZ,ASC1	;WEITER	LD C,8	JP MOD1		;STOP->MODIFY;INV	CALL PRS	DEFB CUL	DEFB CCPL	DEFB CUR	DEFB 0	RET;	DEFW	KOPF	DEFM	'READ'	DEFB	3	CALL	INITI	CALL	ARGS	CP	3	JR	NC,RD1	LD	C,L	CP	2	JR	NC,RD1	LD	DE,IOPUFRD1	PUSH	HL	PUSH	BC	LD	(IX+3),L	CALL	RD0	;Systemunterpr.	LD	HL,IOPUF	LD	BC,80H	LDIR	POP	BC	POP	HL	JR	C,RD3	INC	L	LD	A,(IX+2)	CP	C	JR	C,RD1RD3	JP	RINIT;	DEFW	KOPF	DEFM	'up'	DEFB	13H	LD	A,L	ADD	A	LD	HL,(STAB)	LD	D,0	LD	E,A	ADD	HL,DE	LD	A,M	INC	HL	LD	H,M	LD	L,AHPRINT	CALL	HLHXCRLF1	JP	CRLF;	DEFW	KOPF	DEFM	'nr'	DEFB	13H	EX	DE,HL	LD	HL,(STAB)	LD	BC,102H	DEC	HLNR1	CPINR2	LD	A,E	CPI	RET PO	JR	NZ,NR1	LD	A,D	CPI	JR	NZ,NR2	LD	A,C	CPL	RRA	JP	AHCR;	DEFW	KOPF	DEFM	'line'	DEFB	1FH	LD	HL,(M44)	LD	DE,(M40)	XOR	A	SBC	HL,DE	PUSH	HL	POP	BC	EX	DE,HL	LD	D,A	LD	A,(M48+1)	LD	E,A	JR	Z,LINZ	LD	A,CRLINY	INC	DE	CPIR	JP	PE,LINYLINZ	EX	DE,HL	JR	HPRINT;	DEFW	KOPF	DEFM	'BRK'	DEFB	13H	;0 off	LD	A,L	;1 on	AND	A	;2 nur BRKSET0	LD	HL,ITAST	JR	Z,SET	DEC	ASET2	LD	HL,INT2	JR	Z,SET	LD	L,INT1	;H(INT1)=H(INT2)SET	LD	(PIOINT+2),HL	RET;INT1	PUSH	AF	LD	A,1	JR	INT3;INT2	PUSH	AF	XOR	AINT3	CALL	ITAST	BIT	0,(IX+8)	JR	Z,INT11	DEC	A	LD	A,(IX+13)	JR	Z,INT12	CP	0F4H	JR	Z,SLOW	CP	0F5H	JR	Z,PAUSE	CP	0F6H	JR	Z,PRINTINT12	CP	CCPL	JR	Z,BREAKINT11	POP	AF	RET;SLOW	CALL	WAIT0	POP	AF	RET;PRINT	RES	0,(I+8)	LD	A,HCOPY	CALL	CRT	POP	AF	RET;PAUSE	RES	0,(IX+8)PAU	CALL	BLINK	CP	0F5H	JR	Z,PAU	POP	AF	RET;BREAK	RES	0,(IX+8)	POP	AF	POP	HL	CALL	PRS	DEFB	CR,CUD	DEFM	'Break at '	DEFB	0	CALL	HPRINT	JP	EDBRK;;********** CAOS-FUNKTIONEN ********;	DEFW	KOPF	DEFM	'COLOR'	DEFB	3	JP	MCOLOR;	DEFW	KOPF	DEFM	'SWITCH'	DEFB	3	JP	SWITCH;	DEFW	KOPF	DEFM	'KEY'	DEFB	1	AND	A	JP	Z,KEYL	JP	KEY-1;	DEFW	KOPF	DEFM	'BANK'	;mit Pr}fsumme??	DEFB	1	PUSH	HL	PUSH	AF	LD	HL,M44	LD	DE,8000H-4	CALL	COPY2;	LD	C,80H	 ;Ausschalten	LD	HL,0B80CH;aller Banken	XOR	AOFF1	BIT	2,M	JR	Z,OFF2	LD	B,L	OUT	(C),A	LD	M,AOFF2	INC	L	JR	NZ,OFF1;	POP	AF	POP	DE	AND	A	RET Z;	LD	A,E	CP	0CH	JR	C,ERR0	AND	0FCH	LD	B,A	LD	L,A	LD	D,47H	IN	A,(C)	CP	RAM16	JR	Z,RAM1	CP	RAM64	JR	NZ,ERR0	LD	A,E	AND	3	RRCA	RRCA	OR	7	LD	D,ARAM1	LD	M,D	OUT	(C),D	LD	HL,8000H-5	LD	A,M	CP	BRK	JR	NZ,CLR1	INC	HLCOPY1	LD	DE,M44	CALL	COPY2	LD	HL,ETAB	LD	E,M40	CALL	COPY2	LD	E,OBJCOPY2	LD	BC,4	LDIR	RET;CLR1	CALL	PRS	DEFM	'Delete Bank'	DEFB	0	CALL	YESNO	RET C	LD	M,BRK	LD	HL,ETAB	JR	COPY1;ERR2	POP	HLERR1	POP	HLERR0	JP	ERRM;	DEFW	KOPF	DEFM	'INSERT'	DEFB	11H	LD	HL,(OBJ)INS1	LD	A,M	CP	BRK	RET Z	CALL	EDINS	INC	HL	JR	INS1;LOOK	LD	A,'['LK1	CPIR	RET NZ	CPI	JR	NZ,LK1	RET;	DEFW	KOPF	DEFM	'HOLD'	DEFB	11H	CALL	TOP	LD	HL,(M46)	LD	DE,(M42)	CALL	FORM	CALL	LOOK	PUSH	HL	JR	NZ,ERR1	CALL	LOOK	JR	NZ,ERR1	PUSH	HL	CALL	LOOK	POP	DE	JR	Z,ERR1	POP	HL	DEC	DE	DEC	DE	CALL	FORM	LD	DE,(OBJ)	LDIR	LD	A,BRK	LD	(DE),A	RET;ETAB	DEFW	4000H	DEFW	8000H-5	DEFW	 400H	DEFW	4000H;;*__*__*__*__*__*__*__*__*__*__*__*__*__;; Main-Menu;	DEFW	HEAD	DEFM	'normal'	DEFB	11H	LD	HL,0FCFEHSCRT	LD	A,H	LD	(CCTL+1),A	LD	A,L	LD	(CCTL+3),A	RET;	DEFW	HEAD	DEFM	'cursiv'	DEFB	11H	LD	HL,0F8FAH	JR	SCRT;.;Ende Zusatz;;*__*__*__*__*__*__*__*__*__*__*__*__*__;; Konstanten:;RAM16	EQU	0F4H	;ModultypenRAM64	EQU	0F6H;;*__*__*__*__*__*__*__*__*__*__*__*__*__;; Marken im Testmonitor;XIN	EQU	0EBF2HXOUT	EQU	0EBFFHXFILL	EQU	0EC14HXEXCH	EQU	0EC25HXMOVE	EQU	0EC39HXHELP	EQU	0EC54HFORM	EQU	0EBCAH;; Marken des Disassemblers;LIST	EQU	0D8AEH;; Marken im Editor;EDINS	EQU	0C26CHEDBRK	EQU	0C287HYESNO	EQU	0C29EHTOP	EQU	0C456HPR2	EQU	0C374H;	ORG	240HM40	DEFS	2M42	DEFS	2M44	DEFS	2M46	DEFS	2M48	DEFS	2	DEFS	4OBJ	DEFS	2LBLEND	DEFS	2LBLANF	DEFS	2;;*__*__*__*__*__*__*__*__*__*__*__*__*__;@û