Trailing-Edge
-
PDP-10 Archives
-
BB-JF18A-BM
-
sources/dynlib/mthprm.unv
There are 28 other files named mthprm.unv in the archive. Click here to see a list.
x,5_@P CJ<Q CJ==rQ `CJ>N8Q H@ I6N a
IRP A, 8<
IRP B,<
X DEFINE TXAB (A xC,E) <
IFE <
<E>&777777000000>
8,<TRAB AC,<E> ;
X> IFE <<E>&00
x0000777777>,<TLAB AC,(E) ;> 8 TDAB AC,[E]
> ;END TXYZ
x > ;END IRP B
> ;END IRP A
> ;END IRP A
I` \8&
XALL
\X
ENTRY DFL.A ;\xENTRY POINT TO DF]L.A
SIXBIT /DF]8L.A/
DFL.A: MO]XVEI A+1,0 ;CLEA]xR LOW ORDER WORD
ASHC A,-8 ;MA^8KE ROOM FOR EXPON^XENT IN HI WORD
^xTLC A,243000 ;SE_T EXP TO 27+8 DEC_8IMAL
DFAD A,[E_XXP 0,0] ;NORMALIZ_xE
POPJ P, ;RET`URN A=THE DOUBLE`8 PRECISION RESULT
I5 `I5 I5M `I?,+ _ KJ 4KJU\ 4L@ M8,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 MJ,X1@ MO: x E
SALL
SEARCH JOBDAT ;[83207] For .JBxyzX symbols. Thxis
;[3207] *MUST* preceed th8e search of
X ;[3207] UUOSYM, xwhich contains EXTERNs
;[32078] of the JOBDAT sXymbols.
IF10,< SxEARCH UUOSYM,MACTEN>
IF20,< SEA8RCH MONSYM,MACSYMX>
.DIRECT FLBLST
DIRECT FLBMQ
P MQQ MR<kP MR]@Q MRlQ MS8zP MS
@Q MVt= 7X#Q
IF2,<IF7xNDEF A,<EXTERN 8A>>
.ARGN.=0
88IRP B,<.ARGN.=.A8XRGN.+1>
PUSH P,8xL
XMOVEI L,1+[-9.ARGN.,,0
98 IRP B,<IFIW REM9XOVE(B)>]
PUSH9xJ P,A
POP P,L
PURGE .ARGN.
PURGE .ARGN.
ND@ NH@ NL@ NP@ OI @O$k r8'
IF20,< rXXMOVEI A,0
rxSKIPN A
>
sJSP A,b
IF20,s8< XSFM A
>
b:
A
>
O
@ @O&` `OO OO
@ @OfL@ On @O `O0 O>|H\ >#q
POPJ P,
POPJ P,ONt{ Qf@ +QeK` :X#m
IFNB <:xB>,<
IFDIF <B;><.>,<
ENTRY A;8
SIXBIT /B/
;XA:
> ;END IFDI;xF
IFIDN <B><<.>,<
ENTRY A.<8
SIXBIT /A./
<XA.:
> ;END IF<xIDN
> ;END IFNB=
IFB <B>,<
=8 ENTRY A
SIXBI=XT /A/
A:
> ;END IFB
> ;S0 `x&;
XALL
a
ENTRY IDF.A
a8SIXBIT /IDF.A/
aXIDF.A: PUSH P,L ax ;SAVE THE SCRATCbH REG
HLRE L,Ab8 ;GET THE EXPONEbXNT
ASH L,-9 ;RbxIGHT 8 BITS
JUMcPGE A,IDF.XT ;JUc8MP IF POS.
DMOVcXN A,A ;NEGATE
TRC L,-1 ;COMPdLEMENT THE EXPONEd8NT
IDF.XT: TLZ dXA,777000 ;CLEAR TdxHE EXPONENT
ASHeC A,-201-^D26(L)e8 ;CHANGE FRACTIONeX TO INTEGER
TLNexE L,400000 ;SKIP fIF POS.
MOVN Af8,A ;NEGATE
POfXP P,L ;RESTORE TfxHE SCRATCH REG
gPOPJ P, ;RETURN g8A=FIXED NUMBER
S
':IFN FT10S
IFN FT20SNp @UKI@ +X@ [0$P [?7
x {
IFE <<
XB>&777777000000>,B>-22 - 777777>8,<HRROI A,<<B>&X777777> ;> IFE <x<B>&777777-777777>,<HRLOI A,<<B8>-22> ;> MOVE A,[B]
MOV]? ``@ `D@ `H@ `L@ `P@ 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 a5| Ba+= 5a?H6 +dU x <RADIX50 0,A><RADIX50 0em}R #9A
ek sx'1
TLZ At,(PC%OVF+PC%FOV+Pt8C%FUF+PC%NDV)
ItXF20,< XMOVEI A+tx1,b
TLNE A+u1,-1
XJRSTF u8A
HRR A,AuX+1
>
IF10,< uxHRRI A,b
>
v JRSTF (A)
b:
F (A)
beNl Df@ g=Y7 8#7
IFDEXF $SEG$,<
IF2,<
IFE <$SEG$-1>,<$SEG$==2
TWOSEG 8400000
> ;END XIFE $SEG$-1
IFE x<$SEG$+1>,<$SEG$==2
TWOSEG 4000080
> ;END IFE $XSEG$+1
> ;END IxF2
> ;END IFDEF 3$SEG$
IFNDEF38 $SEG$,<
TWOSEG3X 400000
IF1,< $S3xEG$==1>
IF2,< $S4EG$==2>
> ;END I48FNDEF $SEG$
$4XNAME$=='A'
4xIFIDN <A><DATA>,5<
IFG $SEG$,<58
RELOC
IF1,< $5XSEG$==-1>
IF2,< 5x$SEG$==-2>>>
6 IFDIF <A><DATA>68,<
IFL $SEG$,6X<
RELOC
IF1,< 6x$SEG$==1>
IF2,< $SEG$==2>>>
g6 {g:8 gx'
XALL
h
ENTRY SNG.A
h8SIXBIT /SNG.A/
hXSNG.A: JUMPL A,hxSNG3 ;NEGATIVE AiRGUMENT?
TLNE i8A+1,(1B1) ;POSITIiXVE. ROUND REQUIREixD?
TRON A,1 ;jYES, TRY TO ROUNDj8 BY SETTING LSB
jX POPJ P, ;WE WjxON, FINISHED
MOkVE A+1,A ;COPYk8 HIGH PART OF ARGkX
AND A,[777000kx,,1] ;MAKE UNNORMlALIZED LSB, SAME l8EXPONENT
FAD AlX,A+1 ;ROUND & RlxENORMALIZE
POPJm P,
;HERE IF Am8RG IS NEGATIVE
SmXNG3: DMOVN A,A mx ;MAKE POSITIVE
n TLNE A+1,(1B1) n8;NEED ROUNDING?
nX TRON A,1 ;YES,nx TRY TO DO IT BY oSETTING LSB
JRSo8T SNG4 ;DONE
MoXOVN A+1,A ;MAKoxE RE-NEGATED COPYp OF HIGH PART
Op8RCA A,[777,,-1] pX;GET UNNORM NEG LpxSB WITH SAME EXPOqNENT
FADR A,Aq8+1 ;ROUND & NORMqXALIZE
POPJ P,
qx
SNG4: MOVN A,rA ;RE-NEGATE
POPJ P, ;EXIT
h@@ hD@ hH@ hL@ hP@ hT@ i@*@P i@*0P i@*PP 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 >X$3
TITLE>x A B
FSRCH
?
VMAJOR==<VMINO?8R==<VEDIT==<VWHO=?X=0>>>
%VWHO==0
IRPC B,<
@ IFLE <"B"-"A">@8*<"B"-"Z">,<VMIN@XOR==VMINOR*^D26 +@x "B" - "A" + 1>
IFLE <"B"-"A80">*<"B"-"9">,<VAXMAJOR==VMAJOR*^D8Ax + "B" - "0">
B
BIFIDN <B><(>,B8<%VMAJOR==VMAJOR
VMAJOR==0>
Bx IFIDN <B><)>,<CVEDIT==VMAJOR
C8VMAJOR==%VMAJOR>
IFIDN <B><-Cx>,<%VMAJOR==VMAJODR
VMAJOR==0
D8 %VWHO==-1>
> ;DXEND IRPC
IFN Dx%VWHO,<VWHO==VMAJEOR
VMAJOR==E8%VMAJOR>
DEFIEXNE VER < BYTE (3)ExVWHO(9)VMAJOR(6)VFMINOR(18)VEDIT>
F8
PURGE %VMAJOR,%VWHO
%VMAJOR,ib 1#
IFE 18<<B>&777777000001X0>,<TRC A,<B> ;1x> IFE <<B>&0200000777777>,<TLC28 A,(B) ;> 2X TDC A,[B]
DC A,[B]
ib /#
IFE /8<<B>&77777700000/X0>,<TRCA A,<B> /x;> IFE <<B>&0000000777777>,<TL08CA A,(B) ;> 0X TDCA A,[B]
ibCA A,[B]
IFE -8<<B>&77777700000-X0>,<TRCE A,<B> -x;> IFE <<B>&.000000777777>,<TL.8CE A,(B) ;> .X TDCE A,[B]
ibCE A,[B]
IFE +8<<B>&77777700000+X0>,<TRCN A,<B> +x;> IFE <<B>&,000000777777>,<TL,8CN A,(B) ;> ,X TDCN A,[B]
ibpCN A,[B]
IFE 8<<B>&77777700000X0>,<TRN A,<B> ;x> IFE <<B>&000000777777>,<TLN8 A,(B) ;> X TDN A,[B]
DN A,[B]
ibt !E
IFE 8<<B>&77777700000X0>,<TRNA A,<B> x;> IFE <<B>&000000777777>,<TL8NA A,(B) ;> X TDNA A,[B]
ibtNA A,[B]
IFE 8<<B>&77777700000X0>,<TRNE A,<B> x;> IFE <<B>&000000777777>,<TL8NE A,(B) ;> X TDNE A,[B]
ibuNE A,[B]
IFE 8<<B>&77777700000X0>,<TRNN A,<B> x;> IFE <<B>&000000777777>,<TL8NN A,(B) ;> X TDNN A,[B]
ibxNN A,[B]
IFE )8<<B>&77777700000)X0>,<TRO A,<B> ;)x> IFE <<B>&0*00000777777>,<TLO*8 A,(B) ;> *X TDO A,[B]
DO A,[B]
ib| '"E
IFE '8<<B>&77777700000'X0>,<TROA A,<B> 'x;> IFE <<B>&(000000777777>,<TL(8OA A,(B) ;> (X TDOA A,[B]
ib|OA A,[B]
IFE %8<<B>&77777700000%X0>,<TROE A,<B> %x;> IFE <<B>&&000000777777>,<TL&8OE A,(B) ;> &X TDOE A,[B]
ib}OE A,[B]
IFE #8<<B>&77777700000#X0>,<TRON A,<B> #x;> IFE <<B>&$000000777777>,<TL$8ON A,(B) ;> $X TDON A,[B]
icPON A,[B]
IFE !8<<B>&77777700000!X0>,<TRZ A,<B> ;!x> IFE <<B>&0"00000777777>,<TLZ"8 A,(B) ;> "X TDZ A,[B]
DZ A,[B]
icT "
IFE 8<<B>&77777700000X0>,<TRZA A,<B> x;> IFE <<B>& 000000777777>,<TL 8ZA A,(B) ;> X TDZA A,[B]
icTZA A,[B]
IFE 8<<B>&77777700000X0>,<TRZE A,<B> x;> IFE <<B>&000000777777>,<TL8ZE A,(B) ;> X TDZE A,[B]
icUZE A,[B]
IFE 8<<B>&77777700000X0>,<TRZN A,<B> x;> IFE <<B>&000000777777>,<TL8ZN A,(B) ;> X TDZN A,[B]
jZN A,[B]
f@ q4Xb Cq+= +
q6~i4 C qO4Xb C SX%%
EXTERN SxE.A
IFB <B>,< TPUSHJ P,E.A >
IT8FNB <B>,<JRST [PTXUSHJ P,E.A
JRST B] >
J T86 U%1
EXTERN U8E.A
IFB <B>,< UXERCAL E.A >
IFNUxB <B>,< ERJMP [PVUSHJ P,E.A
JRST B] >
J Fx$]
IFNBG <B>,<
ENTRY EG8.B
E.B: ;DEGXFINE THE ERROR IFGx NOT NULL
>
IHF2,<IFNDEF %OTSERH8,<EXTERN %OTSER>>HX
PUSHJ P,%OTSEHxR ;ERROR CALL
I"A" ;ERROR CHAI8RACTER
SIXBIT IX/B/ ;ERROR PREFIxIX
EXP C,D J;ERROR NUMBERS
J8 POINT 7,[ASCIZ \JXE\] ;POINTER TO JxMESSAGE
EXP GK ;ATTRIBUTE G
K8IRP F, <F> ;AKXRGUMENTS, IF ANY
NTS,IFANY%A
IF2,<IFNVxDEF L.A,< EXTERNW L.A >>
IFB <BW8>,< PUSHJ P,L.A WX>
IFNB <B>,<JRSWxT [PUSHJ P,L.A
X JRST B] >
JRST B] >
2.,@ L${
ENTRYL8 L.B
L.B:
PLXUSHJ P,MTHER.##
Lx "A" ;ERROR CMHARACTER
SIXBIM8T /B/ ;ERROR PRMXEFIX
EXP C,DMx ;ERROR NUMBERS
POINT 7,[ASCIZN8 \E\] ;POINTER TNXO MESSAGE
EXP NxG ;ATTRIBUTE GO
IRP F, <F> O8;ARGUMENTS, IF ANY
NTS, IF AN 2T86 XX%O
IF2,<IFNXxDEF L.A,< EXTERNY L.A>>
IFB <B>Y8,< ERCAL L.A >
YXIFNB <B>,< ERJMPYx [PUSHJ P,L.A
JRST B] >
R Z8%]
IF2,<IFNZXDEF T.A,< EXTERNZx T.A>>
IFB <B>[,< PUSHJ P,T.A >[8
IFNB <B>,<JRST[X [PUSHJ P,T.A
JRST B] >
R.,@ Ox%
ENTRYP T.B
T.B:
PP8USHJ P,%TRPER##
PX "A" ;ERROR CPxHARACTER
SIXBIQT /B/ ;ERROR PRQ8EFIX
EXP C,DQX ;ERROR NUMBERS
POINT 7,[ASCIZR \E\] ;POINTER TR8O MESSAGE
EXP RXG ;ATTRIBUTE GRx
IRP F, <F> S;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