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

.TITLE	L I N K - L I B R A R Y
.SBTTL	SIMULT:INTEGER MULTIPLIKATION 12 BIT


.INCLUDE SYS:MACLIB.MA


/****SIMULT****
/04.09.81  VHE/20.6.83  VH
/(L,AC)=?,1.ZAHL
/CALL	SIMULT
/2.ZAHL
/(L,AC)=?,LOW-TEIL DES ERGEBNISSES; HIGH-TEIL IN MQ
/**************


/DAS UNTERPROGRAMM SIMULT WIRD VOM MACRO MULTIP VERWENDET


/INTEGER MULTIPLIKATION
/ZWEIER VORZEICHENBEHAFTETER 12-BIT ZAHLEN
/1.ZAHL STEHT IM AKKU
/2.ZAHL STEHT IN DEM HINTER DEM AUFRUF
/ANGEGEBENE SPEICHERPLATZ (ANGABE 1. CDF SPEICHER
/			          2. SPEICHER )

/ERGEBNIS: HOEHERWERTIGER TEIL IM MQ-REGISTER
/          NIEDERWERTIGER TEIL IM AKKU

OPEN	"SIMULT","F"
.ENTRY	SIMULT
DEFMER TEMP2$,MP1$,MP2$,MP3$,MP5$

SIMULT,	OPNSUB RT:EXIT$,AC:MP1$,TEMP1$,TEMP2$

	RESMER CAL:MP2$,MP3$,MP5$

	TAD MP1$
	CLL
	SPA		/1.ZAHL NEGATIV ?
	CMA CML IAC
	DCA MP1$
TEMP1$: V
	TAD I TEMP2$
	SNA		/2.ZAHL = 0 ?
	JMP MPSN$+2
	SNA		/2.ZAHL < 0 ?
	CMA CML IAC
	DCA MP2$	/2.ZAHL SICHERN
	DCAADD MP3$,(-12.)

MP4$:	TAD MP1$
	RAR
	DCA MP1$
	TAD MP5$
	SZL		/1.ZAHL DAZU ADDIEREN ?
	TAD MP2$
	CLL RAR
	DCA MP5$
	ISZ MP3$
	JMP MP4$	/WIEDERHOLUNG

	TAD MP1$
	RAR
MPSN$:	SZL
	JMP COMP$
	DCA MP1$
	TAD MP5$
MPZ$:	MQL		/HOEHERWERTIGES ERGEBNIS NACH MQ
	TAD MP1$

	INC SIMULT,0
EXIT$:	V
	JMP I SIMULT	/RUECKSPRUNG


/-------------------- PRODUKT KOMPLEMENTIEREN -------------------------------

COMP$:	CMA CLL IAC
	DCA MP1$
	TAD MP5$
	CMA
	SZL
	IAC
	JMP MPZ$



CLOSE	"SIMULT"
	
	ENDPR