File: SVERZW.MA of Tape: Various/Decus/decus-2
(Source file text) 

.TITLE	L I N K - L I B R A R Y
.SBTTL	SVERZW:VERZWEIGUNGSROUTINE

.INCLUDE SYS:MACLIB.MA

/****SVERZW****
/04.09.81  PMO,15.8.83  VH
/(L,AC)=?,ZU VERGLEICHENDER WERT
/CALL	SVERZW
/FELD LISTEN
/ADRESSE LISTE ARGUMENTE
/ADRESSE LISTE SPRUENGE
/L=?
/AC=0 ,WENN GEFUNDEN
/AC=ALTER INHALT ,WENN NICHT GEFUNDEN
/**************

/DAS UNTERPROGRAMM SVERZW WIRD VOM MACRO VERZWG VERWENDET

/ROUTINE ZUM VERZWEIGEN ZWISCHEN ZWEI LISTEN

/IM AC STEHT DIE ANFRAGE
/1.PLATZ NACH AUFRUF:  FELD DER LISTEN
/2.PLATZ NACH AUFRUF:  ANFANGSADRESSE DER ARGUMENTENLISTE
/3.PLATZ NACH LISTE :  ANFANGSADRESSE DER SPRUNGLISTE (AUFBAU S. MACRO VERZW)


OPEN "SVERZW","F"

.ENTRY SVERZW

	DEFMER	LILN$	,LILNG$	,SPRLI$	,ARGLI$	,TEMP1$

SVERZW,	OPNSUB RT:SVERR$,AC:TEMP1$,FLDSP$,ARGLI$,SPRLI$

	TAD SPRLI$			/LISTENLAENGE ERMITTELN
	CIA
	DCAADD LILNG$,AC+ARGLI$
	TAD LILNG$
	CIA
	DCA LILN$
	DEC SPRLI$			/SPRUNGADRESSE -1
	JMP FLDSP$

SVER1$:	ISZ LILNG$
	JMP FLDSP$
	TAD TEMP1$
	JMP SVERR$

FLDSP$:	V
	TAD I ARGLI$
	INC ARGLI$
	INC SPRLI$
	CIA
	JMX AC+TEMP1$,NE:SVER1$		/ARGUMENT ERFUELLT ?

	TAD I SPRLI$			/JA ,RUECKKEHRADRESSE HOLEN
	DCA SVERZW			/RUECKKEHRADRESSE SETZEN
	DCAADD SPRLI$,AC+LILN$,SPRLI$	/FELD HOLEN
	TAD I SPRLI$
	DCA SVERR$

SVERR$:	V				/RUECKSPRUNG
	JMP I SVERZW

CLOSE	"SVERZW"

	ENDPR