Google
 

Trailing-Edge - PDP-10 Archives - CFS_TSU04_19910205_1of1 - update/ftnosr/mthprm.unv
There are 28 other files named mthprm.unv in the archive. Click here to see a list.
x,Ue@P CJ<Q CJ==rQ `CJ>N8Q I6N 3a36
 IRP A,4<
  IRP B,<
  4  DEFINE TXAB (A4@C,E) <
6  IFE <4`<E>&777777000000>5,<TRAB AC,<E> ;5 >     IFE <<E>&005@0000777777>,<TLA5`B AC,(E) ;> 			 6   TDAB AC,[E]
   > ;END TXYZ
6@  > ;END IRP B
6` > ;END IRP A
> ;END IRP A
I`  : 
	XALL
  
	ENTRY	DFL.A		; @ENTRY POINT TO DF `L.A
	SIXBIT	/DF!L.A/
DFL.A:	MO! VEI	A+1,0		;CLEA!@R LOW ORDER WORD
	ASHC	A,-8		;MA"KE ROOM FOR EXPON" ENT IN HI WORD
	"@TLC	A,243000	;SE"`T EXP TO 27+8 DEC#IMAL
	DFAD	A,[E# XP 0,0]	;NORMALIZ#@E
	POPJ	P,		;RET#`URN A=THE DOUBLE$ PRECISION RESULT
I5 `I5  I5M `I?,+	 _ KJ 4KJU\ 4M8,8QP M8,;yP M8,x2P M8,xtP M8,{zP M8,|P M8,|P M8-YP M8-P M8-\P M8.(2P M8.(tP M8.+ZP M8.+zP M8.,P M8.,P M8.,YP M8.\P 	M8.|YP MO: /A3
	SALL
	/aSEARCH	JOBDAT		;[03207] For  .JBxyz0    symbols.    Th0@is
				;[3207] *0`MUST* preceed  th1e search  of
			1 	;[3207] UUOSYM, 1@which contains EX1`TERNs
				;[32072] of the JOBDAT s2 ymbols.
IF10,<	S2@EARCH	UUOSYM,MACT2`EN>

IF20,<	SEA3RCH	MONSYM,MACSYM3 >

	.DIRECT	FLBLST
DIRECT	FLBMQ
PMQQkMR/Q MRlQ MS8zP MS
@Q MVt= bA6(
 IF2,<IFbaNDEF A,<EXTERN cA>>
 .ARGN.=0
 c IRP B,<.ARGN.=.Ac@RGN.+1>
	PUSH	P,c`L
	XMOVEI	L,1+[-d.ARGN.,,0
		    d  IRP B,<IFIW REMd@OVE(B)>] 
	PUSHd`J	P,A
	POP	P,L
 PURGE	.ARGN.
 PURGE	.ARGN.
NDP NHP NLP NPP OI  @O$k 6;6
	 XMOVEI6! A,0		
	 SKIPN	6@A		
	 JSP	A,b6`	
	 XSFM	A		
b:
SFM	A		
O
@ @O&` `OO OO
@ @OfL@ On @O  `O0  O>|H\ i6H
	POPJ	P,

	POPJ	P,ONt{  Qf@ +QeK` eA6D
 IFNB <eaB>,<
  IFDIF <Bf><.>,<
	ENTRY Af 
	SIXBIT /B/
f@A:
  > ;END IFDIf`F

  IFIDN <B>g<.>,<
	ENTRY A.g 
	SIXBIT /A./
g@A.:
  > ;END IFg`IDN
 > ;END IFNBh

 IFB <B>,<
h 	ENTRY A
	SIXBIh@T /A/
A:
 > ;END IFB

 > ;S0 $A:X
	XALL
$`
	ENTRY	IDF.A
	%SIXBIT	/IDF.A/
% IDF.A:	PUSH	P,L	%@	;SAVE THE SCRATC%`H REG
	HLRE	L,A&		;GET THE EXPONE& NT
	ASH	L,-9		;R&@IGHT 8 BITS
	JUM&`PGE	A,IDF.XT	;JU'MP IF POS.
	DMOV' N	A,A		;NEGATE
	TRC	L,-1		;COMP'`LEMENT THE EXPONE(NT
IDF.XT:	TLZ	( A,777000	;CLEAR T(@HE EXPONENT
	ASH(`C	A,-201-^D26(L))	;CHANGE FRACTION)  TO INTEGER
	TLN)@E	L,400000	;SKIP )`IF POS.
	MOVN	A*,A		;NEGATE
	PO* P	P,L		;RESTORE T*@HE SCRATCH REG
	*`POPJ	P,		;RETURN +A=FIXED NUMBER
MQQ2^MR/
 ;QIFN FT10S 2`IFN FT20SNp @UKI@ +XP [0$P [?7 7A3P
 IFE <<7!B>&777777000000>,7a<MOVEI A,<B> ;>8  IFE <<B>&000008 0777777>,<MOVSI 8@A,(B) ;>  IFE <<8`B>_-22 - 777777>9,<HRROI A,<<B>&9 777777> ;>  IFE <9@<B>&777777-777779`7>,<HRLOI A,<<B:>_-22> ;> 			 MOVE A,[B]
 MOV]? ``P `DP `HP `LP `PP a
,TQ  a
,Q a
,*9Q a
,>(Q  a
,>(Q a
,k{Q a
,m3Q a
-J8Q @a
-iQ a
-}SQ @a
.Z7Q a
.\yQ a+= 5a?H6 +dU :A3T<RADIX50 0,A><RADIX50 0em}R 6Aek 7!;H
	 TLZ	A7A,(PC%OVF+PC%FOV+P7`C%FUF+PC%NDV) 
	8 XMOVEI	A+1,b	
	 TLNE	A+1,-1		8@
	 XJRSTF	A		
8`	 HRR	A,A+1		
9	 JRSTF	(A)		
b:
F	(A)		
eNl DfDP fHP fLP fPP g=Y7 ;6

  IFDE;!F $SEG$,<
IF2,<
IFE <$SEG$-1>,<$;`SEG$==2
	TWOSEG	<400000
  > ;END < IFE $SEG$-1
IFE <@<$SEG$+1>,<$SEG$=<`=2
	TWOSEG	40000=0
  > ;END IFE $= SEG$+1
 > ;END I=@F2
> ;END IFDEF ]a$SEG$

  IFNDEF^ $SEG$,<
	TWOSEG^ 	400000
IF1,<	$S^@EG$==1>
IF2,<	$S^`EG$==2>
> ;END I_FNDEF $SEG$

	$_ NAME$=='A'

  _@IFE <$NAME$-'DATA_`'>,<		
   IFG $S`EG$,<
	RELOC
IF` 1,<	$SEG$==-1>
I`@F2,<	$SEG$==-2>>>``

  IFN <$NAME$a-'DATA'>,<		
   a IFL $SEG$,<
	RELa@OC
IF1,<	$SEG$==a`1>
IF2,<	$SEG$==2>>>
 	$SEG$==gh +g6  {g:8 +A;.
	XALL
+`
	ENTRY	SNG.A
	,SIXBIT	/SNG.A/
, SNG.A:	JUMPL	A,,@SNG3		;NEGATIVE A,`RGUMENT?
	TLNE	-A+1,(1B1)	;POSITI- VE. ROUND REQUIRE-@D?
	TRON	A,1		;-`YES, TRY TO ROUND. BY SETTING LSB
. 	  POPJ	P,		;WE W.@ON, FINISHED
	MO.`VE	A+1,A		;COPY/ HIGH PART OF ARG/ 
	AND	A,[777000/@,,1]	;MAKE UNNORM/`ALIZED LSB, SAME 0EXPONENT
	FAD	A0 ,A+1		;ROUND & R0@ENORMALIZE
	POPJ0`	P,

;HERE IF A1RG IS NEGATIVE
S1 NG3:	DMOVN	A,A	1@	;MAKE POSITIVE
1`	TLNE	A+1,(1B1)	2;NEED ROUNDING?
2 	TRON	A,1		;YES,2@ TRY TO DO IT BY 2`SETTING LSB
	JRS3T	SNG4		;DONE
	M3 OVN	A+1,A		;MAK3@E RE-NEGATED COPY3` OF HIGH PART
	O4RCA	A,[777,,-1]	4 ;GET UNNORM NEG L4@SB WITH SAME EXPO4`NENT
	FADR	A,A5+1		;ROUND & NORM5 ALIZE
	POPJ	P,
5@
SNG4:	MOVN	A,5`A		;RE-NEGATE
	POPJ	P,		;EXIT
h@P hD@ hHP hLP hPP hTP i@*0P i@*PP i@*h]P i@,:P i@,<P i@,LP i@,LP i@,LP i@,LP i@-ZP i@-HVP i@-J:P i@-KsP i@.<P i@.<P i@.YP iX iA7

 TITLEia A  B
 FSRCH
j
 VMAJOR==<VMINOj R==<VEDIT==<VWHO=j@=0>>>
%VWHO==0

 IRPC B,<

k  IFLE <"B"-"A">k *<"B"-"Z">,<VMINk@OR==VMINOR*^D26 +k` "B" - "A" + 1>

  IFLE <"B"-"l 0">*<"B"-"9">,<Vl@MAJOR==VMAJOR*^D8l` + "B" - "0">
m
mIFIDN <B><(>,m <%VMAJOR==VMAJOR
		VMAJOR==0>

m`  IFIDN <B><)>,<nVEDIT==VMAJOR
		n VMAJOR==%VMAJOR>

  IFIDN <B><-n`>,<%VMAJOR==VMAJOoR
		VMAJOR==0
	o 	%VWHO==-1>
 > ;o@END IRPC

 IFN o`%VWHO,<VWHO==VMAJpOR
	    VMAJOR==p %VMAJOR>

	DEFIp@NE	VER <	BYTE	(3)p`VWHO(9)VMAJOR(6)VqMINOR(18)VEDIT>
q 
 PURGE %VMAJOR,q@%VWHO

 ASUPPREq`SS			
 PURGE T0,rT1,T2,T3,T4,T5,L,P	

,T4,T5,L,ib [a5j
    IFE \<<B>&77777700000\ 0>,<TRC A,<B> ;\@>     IFE <<B>&0\`00000777777>,<TLC] A,(B) ;> 			  ]   TDC A,[B]
   DC A,[B]
  ib Ya5Z
 IFE Z<<B>&77777700000Z 0>,<TRCA A,<B> Z@;>     IFE <<B>&Z`000000777777>,<TL[CA A,(B) ;> 			[     TDCA A,[B]
ibCA A,[B]
 IFE X<<B>&77777700000X 0>,<TRCE A,<B> X@;>     IFE <<B>&X`000000777777>,<TLYCE A,(B) ;> 			Y     TDCE A,[B]
ibCE A,[B]
 IFE V<<B>&77777700000V 0>,<TRCN A,<B> V@;>     IFE <<B>&V`000000777777>,<TLWCN A,(B) ;> 			W     TDCN A,[B]
ibpCN A,[B]
    IFE D<<B>&77777700000D 0>,<TRN A,<B> ;D@>     IFE <<B>&0D`00000777777>,<TLNE A,(B) ;> 			  E   TDN A,[B]
   DN A,[B]
  ibt Aa4
 IFE B<<B>&77777700000B 0>,<TRNA A,<B> B@;>     IFE <<B>&B`000000777777>,<TLCNA A,(B) ;> 			C     TDNA A,[B]
ibtNA A,[B]

 IFE @<<B>&77777700000@ 0>,<TRNE A,<B> @@;>     IFE <<B>&@`000000777777>,<TLANE A,(B) ;> 			A     TDNE A,[B]
ibuNE A,[B]
 IFE ><<B>&77777700000> 0>,<TRNN A,<B> >@;>     IFE <<B>&>`000000777777>,<TL?NN A,(B) ;> 			?     TDNN A,[B]
ibxNN A,[B]
    IFE T<<B>&77777700000T 0>,<TRO A,<B> ;T@>     IFE <<B>&0T`00000777777>,<TLOU A,(B) ;> 			  U   TDO A,[B]
   DO A,[B]
  ib| Qa5
 IFE R<<B>&77777700000R 0>,<TROA A,<B> R@;>     IFE <<B>&R`000000777777>,<TLSOA A,(B) ;> 			S     TDOA A,[B]
ib|OA A,[B]

 IFE P<<B>&77777700000P 0>,<TROE A,<B> P@;>     IFE <<B>&P`000000777777>,<TLQOE A,(B) ;> 			Q     TDOE A,[B]
ib}OE A,[B]
 IFE N<<B>&77777700000N 0>,<TRON A,<B> N@;>     IFE <<B>&N`000000777777>,<TLOON A,(B) ;> 			O     TDON A,[B]
icPON A,[B]
    IFE L<<B>&77777700000L 0>,<TRZ A,<B> ;L@>     IFE <<B>&0L`00000777777>,<TLZM A,(B) ;> 			  M   TDZ A,[B]
   DZ A,[B]
  icT Ia4Z
 IFE J<<B>&77777700000J 0>,<TRZA A,<B> J@;>     IFE <<B>&J`000000777777>,<TLKZA A,(B) ;> 			K     TDZA A,[B]
icTZA A,[B]
 IFE H<<B>&77777700000H 0>,<TRZE A,<B> H@;>     IFE <<B>&H`000000777777>,<TLIZE A,(B) ;> 			I     TDZE A,[B]
icUZE A,[B]
 IFE F<<B>&77777700000F 0>,<TRZN A,<B> F@;>     IFE <<B>&F`000000777777>,<TLGZN A,(B) ;> 			G     TDZN A,[B]
q  ZN A,[B]
f@ q4Xb Cq+= +q+= +
q6~i4 C qO4Xb C	 
A8n
IFNB <B
a>,<PRINTXI?ACALLR
	EXTERN	
	PUSHJ	P,A.A

USHJ	P,A.	.,@ |7~

	INTER|!N	A.B
A.B:

|@ IF2,<IFNDEF %AER|`R,<EXTERN %AERR>>}
		PUSHJ	P,%AERR} 
		"A"			;ERROR}@ CHARACTER
		SIX}`BIT	/B/		;ERROR ~PREFIX
		EXP	C,~ D		;ERROR NUMBER~@S
		POINT 7,[ASC~`IZ \E\]	;POINTER TO MESSAGE
		EX P	G		;ATTRIBUTE @G
IRP F,	<F>	`		;ARGUMENTS, IF ANY

NTS, IF 	T86 
a8`
IFNB <B>,<PRINTX ?AJCAL  CONTINUATION ADDR@ESS SPECIFIED - I`GNORED>
	EXTERN	
A.A
	ERCAL	A.A

	ERCAL	A.A	.,@ wa7\

	INTERxN	D.B
D.B:

x  IF2,<IFNDEF %DERx@R,<EXTERN %DERR>>x`
		PUSHJ	P,%DERRy
		"A"			;ERRORy  CHARACTER
		SIXy@BIT	/B/		;ERROR y`PREFIX
		EXP	C,zD		;ERROR NUMBERz S
		POINT 7,[ASCz@IZ \E\]	;POINTERz` TO MESSAGE
		EX{P	G		;ATTRIBUTE { G
IRP F,	<F>	{@		;ARGUMENTS, IF ANY

NTS, IF 	 a8F
	EXTERN E.A
IFB <B>,<	 PUSHJ	P,E.A >
I@FNB <B>,<JRST	[P`USHJ P,E.A
			JRST B] >
			J	T86 	!8R
	EXTERN 	AE.A
IFB <B>,<E	`RCAL	E.A >
IFNB
 <B>,<ERJMP	[PUS
 HJ P,E.A
			JRST B] >
			JRS	  rA7:


IFNBra <B>,<
	ENTRY	Es.B
E.B:				;DEs FINE THE ERROR IFs@ NOT NULL
>

Is`F2,<IFNDEF %OTSERt,<EXTERN %OTSER>>t 
		PUSHJ	P,%OTSEt@R	;ERROR CALL
		t`"A"			;ERROR CHAuRACTER
		SIXBIT	u /B/		;ERROR PREFu@IX
		EXP	C,D		u`;ERROR NUMBERS
	v	POINT 7,[ASCIZ \v E\]	;POINTER TO v@MESSAGE
		EXP	Gv`		;ATTRIBUTE G
wIRP F,	<F>			;Aw RGUMENTS, IF ANY

NTS,IFANY8~
IF2,<IFNADEF L.A,<	EXTERN`	L.A >>
IFB <B>,<	PUSHJ	P,L.A  >
IFNB <B>,<JRS@T	[PUSHJ P,L.A
`			JRST B] >

	JRST B] >

	2.,@ !8

	ENTRYA	L.B
L.B:
		P`USHJ	P,MTHER.##
		"A"			;ERROR C HARACTER
		SIXBI@T	/B/		;ERROR PR`EFIX
		EXP	C,D		;ERROR NUMBERS
		POINT 7,[ASCIZ@ \E\]	;POINTER T`O MESSAGE
		EXP	G		;ATTRIBUTE G 
IRP F,	<F>			@;ARGUMENTS, IF ANY

NTS, IF AN	2T86 !9

IF2,<IFNADEF L.A,<	EXTERN`	L.A>>
IFB <B>,<	ERCAL	L.A >
 IFNB <B>,<	ERJMP@	[PUSHJ P,L.A
			JRST B] >
		J a9z
IFNDEF	%LFIXD,<EXTERN	%LF IXD>
	DMOVE	T0,%LFIXD
OVE	T0,%	J&
@ a9j
IFNDEF	%LFIXD,<EXTERN	%LF IXD>
	DMOVE	T0,%LFIXD
OVE	T0,%	J& a9r
IFNDEF	%LFIXD,<EXTERN	%LF IXD>
	DMOVE	T0,%LFIXD
OVE	T0,%	K
@ a9b
IFNDEF	%LFIXD,<EXTERN	%LF IXD>
	MOVE	T0,%LFIXD
OVE	T0,%L	N a9Z
IFNDEF	%LFIXD,<EXTERN	%LF IXD>
IFNDEF	%LER@TP,<EXTERN	%LERTP`>
	DMOVEM	T0,%LFIXD
	MOVEI	T0,TP %DPX
	MOVEM	T0,%LERTP
VEM	T0,%	N&
@ a9:
IFNDEF	%LFIXD,<EXTERN	%LF IXD>
IFNDEF	%LER@TP,<EXTERN	%LERTP`>
	DMOVEM	T0,%LFIXD
	MOVEI	T0,TP %DPR
	MOVEM	T0,%LERTP
VEM	T0,%	N& a9J
IFNDEF	%LFIXD,<EXTERN	%LF IXD>
IFNDEF	%LER@TP,<EXTERN	%LERTP`>
	DMOVEM	T0,%LFIXD
	MOVEI	T0,TP %DPX
	MOVEM	T0,%LERTP
VEM	T0,%	O
@ a9*
IFNDEF	%LFIXD,<EXTERN	%LF IXD>
IFNDEF	%LER@TP,<EXTERN	%LERTP`>
	MOVEM	T0,%LFIXD
	MOVEI	T0,TP% SPR
	MOVEM	T0,%LERTP
VEM	T0,%L	R 9
IF2,<IFN!DEF T.A,<	EXTERN@	T.A>>
IFB <B>`,<	PUSHJ	P,T.A >
IFNB <B>,<JRST 	[PUSHJ P,T.A
			JRST B] >
		R.,@ 8:

	ENTRY!	T.B
T.B:
		P@USHJ	P,%TRPER##
`		"A"			;ERROR CHARACTER
		SIXBI T	/B/		;ERROR PR@EFIX
		EXP	C,D`		;ERROR NUMBERS
		POINT 7,[ASCIZ  \E\]	;POINTER T@O MESSAGE
		EXP	`G		;ATTRIBUTE G
IRP F,	<F>			 ;ARGUMENTS, IF ANY

NTS, IF AN|`P F P |@P P P P  P 	0P 	@P 
0P d|`P 20P 7pP ;-T P ;-T@P >,;@P >.`P >5P >L[@P ?'P ?,nP [ P S@P $hhP $hiP $hiP $khP $m(P $m)P %P %WP %ZP %7P %{P %LRP %LzP %m6P %xrP >}{woP