Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-05 - 43,50337/04/macsim.unv
There are 2 other files named macsim.unv in the archive. Click here to see a list.
x+@P COw *h
Z
	HRRZ	0,+A(XCB)
	EXEC	.P+(HFS
	XWD	C,B
I
@ I&` `In @I   I6~i  I6~i6 I6~k@  I6~kV  K:$j6P Kb,0 ,M'@ @M'F  @M3&  `MJ,Xt 3830
	L	B,A3X
	ADD	B,.JBOPS#3x#
	SETZM	104(B)
O$2 *
R
	GETF(A*(,B,<C>,.PHFM)
	O$ 'h
@
	GETF(A(,B,<C>,.PHFA)
	O$: ,@O$` %h
:
	N==XWAC&1-1
	IFNB	<B>,N&(==B
	LI	N+1,(XC&HB)
	HRLI	N+1,A
	EXEC	D
	.XCRE'F
	%%%ADM(N,<C>'()
	.CREF
	PURGE	N
O%:7 -h
|
	IFB <C.>,<
	LDB	A,[POI.(NT 3,B(XCB),11]
	>
	IFNB <C>,<.h
	ADDI	C,(XCB)
	LDB	A,[POINT 3/(,B(C),11]
	SUB/HI	C,(XCB)
	>
O&H2 (H
F
	GETF(A(h,B,<C>,.PHFT)
	O&N8 +h
j
	IFB <C,>,<
	LDB	A,[POI,(NT 4,B(XCB),5]
,H	>
	IFNB <C>,<
	ADDI	C,(XCB)
-	LDB	A,[POINT 4,-(B(C),5]
	SUBI	C,(XCB)
	>
O&h6 )(
L
	GETF(A)H,B,<C>,.PHFV)
	O?%p +S-y@ 6@St[s 7@S6
y P S:MX3 ,6X  Y P
		L	A,pB
		L	A+1,1+B
	Y$ ^ ]>tP@&|_W%0 ,7c(<@ c
}{@ cDP@ c&vI3@ c.
P c.JP c2
)6@c2}iy@c3X6@c:~N8@ cCxr@ cJ,@ cJ,`@ cNM\@ cR/

	QUICK==1	;

g&N8 0
	%%ac==10(6
	%%x==XCB
	IF0HNB <C>,<%%ac==C0h>
	IFNB <D>,<%%1x==D>
	LI	%%ac,1(A+20
	DPB	%%ac,1H[POINT 5,B(%%x),1h17]
	PURGE	%%x,%%ac
gB,:3 h

	.XCREF
	%%%L1=1
	%%%L2(=2
	%%%F1=4
	%%H%F2=10
	%%%NA=20h
	%%%MD=40
	%%%KD=100
	%%%TD=20(0
	%%%VC=400
	%H%%VD=1000


	DhEFINE	PROC(NAME,PARS)<
		PURGE	NA(ME,NAME
		NAME=%H%%MD+%%%KD
		IRPh PARS,<	PURGE	PARS,PARS
				PARS=(0>
		DEFINE	%%%1H<%%%2(NAME,\NAME,h<PARS>)>
	>;

	DEFINE	%(A,B,C)<(
		DEFINE	A(P1,PH2,P3,P4,P5,P6,P7,hP8,P9,P0)<
			%%	%3(B,C,<P1,P2,P3,	(P4,P5,P6,P7,P8,P9	H,P0>)>
	>;

	%	h(VALUE,%%%MD+%%%V
D,%%%VC+%%%MD)
	
(%(NAME,%%%MD+%%%N
HA,%%%MD)
	%(INTE
hGER,%%%TD+%%%L1,%%%TD)
	%(REAL,%%(%TD+%%%L1,%%%TD)
	%(LONGREAL,%%%ThD+%%%L2,%%%TD)
	
%(CHARACTER,%%%TD
(+%%%L1,%%%TD)
	%
H(BOOLEAN,%%%TD+%%
h%L1,%%%TD)
	%(TE%TD+%%%L2,%%
	%(REF,%%%TVC,%%%
	%(LABEL,%%%TD+%%%KD+%%(%L2+%%%VC,%%%TD+%H%%KD+%%%VD)
	%(ShWITCH,%%%TD+%%%KD+%%%L2+%%%VC,%%%T(D+%%%KD+%%%VD)
	H%(ARRAY,%%%TD+%%%hKD+%%%F1,%%%KD)
	%(PROCEDURE,%%%K(D+%%%F2+%%%VC,%%%HKD+%%%VD)

	PURhGE	%

	DEFINE	%%%3(VAL,TEST,ARG)(<
		IRP ARG,<
	H	IFNB<ARG>,<
			hIFN ARG&<TEST>,<%%%ERR(ARG)>
			A(RG=ARG!<VAL>>
		H>
	>;

	DEFINEh	%%%ERR(NAME)<
		PRINTX	ERROR IN (SPECIFICATION OF HNAME
	>

	;
h
	A

	;

		PURGE	PROC,%%%3,VA(LUE,NAME,INTEGER,HREAL,LONGREAL,CHAhRACTER
		PURGE	BOOLEAN,TEXT,REF,L(ABEL,SWITCH,ARRAYH,PROCEDURE

	DEhFINE	%%%2(NAME,NAMEV,PARS)<
		%%%(5=2	;
		IFNDEF	QHUICK,<QUICK==0>;
		IFN	QUICK,<%%%5=XWAC1> ;
		DEF(INE	%%%6(PAR,OFFSHET)<
			%%%7=PARh
			PURGE PAR
			IFE %%%7&<%%%KD(+%%%TD+%%%NA>,<%%H%ERR(PAR)>
			IFhN %%%7&%%%NA,<PAR=OFFSET
					%%%(7=0
					%%%5=%%H%5+2>
			IFN %%%h7&<%%%F1+%%%F2>,<%%%7=%%%7_-2>
		(	IFN %%%7,<DEFINEH PAR<OFFSET(XCB)>h
				IFN QUICK,<DEFINE PAR<OFFSET(>>;
				%%%5=%%%H5+<%%%7&3>>
		>;h
		PURGE	RETURN,RETURN
		IFE NAM(EV&%%%TD,<;
			IHFN	QUICK,<DEFINE hRETURN <POPJ XPDP,>>
			IFE	QUICK(,<DEFINE RETURN <HGOTO .CSES>>
			hPURGE	NAME>
		IFN NAMEV&%%%TD,<;
			IFN	QUICK,<DEHFINE RETURN <POPJh XPDP,>>
			IFE	QUICK,<DEFINE RET(URN <GOTO .CSEP>>H
			%%%6(NAME,\%h%%5)>
			IFN QUI CK,<%%%5=XWAC1> ; (
		IRP PARS,<%%% H6(PARS,\%%%5)>
 h
	>;

	;

	%%!%1

	PURGE	%%%1!(,%%%2
	PURGE	%%%!HL1,%%%L2,%%%F1,%%!h%F2,%%%NA,%%%MD,%"%%KD,%%%TD,%%%VC,"(%%%VD

	.CREF
gP  @gR
:` ,>gR  0
		ST	A,PB
		ST	A+1,1+B
	k;J` ,^p@@ pD@ pH@ q@ q2~p@ qB&@ qN
0@ qR
0@ q^
4 @ q^
4(@ q^
4(@ q^
4)@ q^
4@@ q^
4`@ q^
5@ q^
5 @ q^
5@@ q^
5`@ 
, "h
*
	IFL <A#-2>*<13-A>,<PRIN#(TX  ILLEGAL ACCUM#HULATOR USAGE>
	I#hFL A-3,<0>
	IFG$E A-3,<
		%%%AD$(1==0
		IRP B,<I$HFNB<B>,<
			%%%$hAD1==%%%AD1+1B<B%-3>
		>>
		XWD	%(A-2,[%%%AD1]
	>
S@Q \P$\`P$&}`P$6&}y`P$7>LP$@BDh P$BDk P$
BDl`P$
BDm@P$>}{woP