Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-05 - 43,50337/03/macsim.unv
There are 2 other files named macsim.unv in the archive. Click here to see a list.
x%@P COw 9hR
	HRRZ	0,:A(XCB)
	EXEC	.P:(HFS
	XWD	C,B
@c2}iy@K:$j6P Kb,0 ,MJ,Xt B@
B0
	L	B,AB`
	ADD	B,.JBOPS#C#
	SETZM	104(B)


16O$2 9J
	GETF(A9(,B,<C>,.PHFM)
		Y	O$ 6h8
	GETF(A7,B,<C>,.PHFA)
	O$: ,@O$` 4h2
	N==XWAC51-1
	IFNB	<B>,N5(==B
	LI	N+1,(XC5HB)
	HRLI	N+1,A
	EXEC	D
	.XCRE6F
	%%%ADM(N,<C>6()
	.CREF
	PURGE	N
O%:7 <ht
	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)
	>
P\`PO&H2 7H>
	GETF(A7h,B,<C>,.PHFT)
	O&N8 :hb
	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 8(D
	GETF(A8H,B,<C>,.PHFV)
		O$4O?%p +S-y@ 6@St[s 7@S6
y P S:MX3 ,6X  Y Y$ ^ ]>tP@&|_W%0 ,7c(<@ c
}{@ cDP@ c&vI3@ c2
)6@c2}iy@c3X6@ c:~N8@ cCxr@ cJ,@ cJ,`@ cNM\@ cR/


	QUICK==1	

g&N8 ?

	%%ac==1?(6
	%%x==XCB
	IF?HNB <C>,<%%ac==C?h>
	IFNB <D>,<%%@x==D>
	LI	%%ac,@(A+20
	DPB	%%ac,@H[POINT 5,B(%%x),@h17]
	PURGE	%%x,%%ac
gB,:3 

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


	DEFINE	PROC(NAME,P(ARS)<
		PURGE	NAHME,NAME
		NAME=%h%%MD+%%%KD
		IRP PARS,<	PURGE	PAR(S,PARS
				PARS=H0>
		DEFINE	%%%1h<%%%2(NAME,\NAME,<PARS>)>
	>

	(DEFINE	%(A,B,C)<
		DEFINE	A(P1,P2h,P3,P4,P5,P6,P7,P8,P9,P0)<
			%%%(3(B,C,<P1,P2,P3,PH4,P5,P6,P7,P8,P9,hP0>)>
	>

	%(VALUE,%%%MD+%%%VD,(%%%VC+%%%MD)
	%(HNAME,%%%MD+%%%NA,h%%%MD)
	%(INTEGER,%%%TD+%%%L1,%%%(TD)
	%(REAL,%%%THD+%%%L1,%%%TD)
	h%(LONGREAL,%%%TD+%%%L2,%%%TD)
	%((CHARACTER,%%%TD+%H%%L1,%%%TD)
	%(BhOOLEAN,%%%TD+%%%L1,%%%TD)
	%(TEXT(,%%%TD+%%%L2,%%%THD)
	%(REF,%%%TD+h%%%L1+%%%VC,%%%TD+%%%VD)
	%(LABEL(,%%%TD+%%%KD+%%%LH2+%%%VC,%%%TD+%%%hKD+%%%VD)
	%(SWITCH,%%%TD+%%%KD+%(%%L2+%%%VC,%%%TD+H%%%KD+%%%VD)
	%(hARRAY,%%%TD+%%%KD+%%%F1,%%%KD)
	%((PROCEDURE,%%%KD+H%%%F2+%%%VC,%%%KDh+%%%VD)

	PURGE 	%

	DEFINE	%%% (3(VAL,TEST,ARG)<
		IRP ARG,<
		I hFNB<ARG>,<
			IF!N ARG&<TEST>,<%%%!(ERR(ARG)>
			ARG!H=ARG!<VAL>>
		>
	>

	DEFINE	%%"%ERR(NAME)<
		PR"(INTX	ERROR IN SPE"HCIFICATION OF NAM"hE
	>

	

	A#

	

		PURGE	#(PROC,%%%3,VALUE,N#HAME,INTEGER,REAL,#hLONGREAL,CHARACTE$R
		PURGE	BOOLEA$(N,TEXT,REF,LABEL,$HSWITCH,ARRAY,PROC$hEDURE

	DEFINE	%%%%2(NAME,NAMEV,P%(ARS)<
		%%%5=2	
		IFNDEF	QUICK,<%hQUICK==0>
		IFN	&QUICK,<%%%5=XWAC1&(> 
		DEFINE	%%%6&H(PAR,OFFSET)<
		&h	%%%7=PAR
			PUR'GE PAR
			IFE %%'(%7&<%%%KD+%%%TD+%'H%%NA>,<%%%ERR(PAR'h)>
			IFN %%%7&%(%%NA,<PAR=OFFSET
					%%%7=0
			(H		%%%5=%%%5+2>
	(h		IFN %%%7&<%%%F1)+%%%F2>,<%%%7=%%%)(7_-2>
			IFN %%%)H7,<DEFINE PAR<OFF)hSET(XCB)>
				IF*N QUICK,<DEFINE P*(AR<OFFSET>>
				*H%%%5=%%%5+<%%%7&3*h>>
		>
		PURGE	+RETURN,RETURN
		+(IFE NAMEV&%%%TD,<+H
			IFN	QUICK,<D+hEFINE RETURN <POP,J XPDP,>>
			IFE,(	QUICK,<DEFINE RE,HTURN <GOTO .CSES>,h>
			PURGE	NAME>-
		IFN NAMEV&%%%-(TD,<
			IFN	QUIC-HK,<DEFINE RETURN -h<POPJ XPDP,>>
		.	IFE	QUICK,<DEFIN.(E RETURN <GOTO .C.HSEP>>
			%%%6(NA.hME,\%%%5)>
			IF/N QUICK,<%%%5=XWA/(C1> 
		IRP PARS,/H<%%%6(PARS,\%%%5)/h>

	>

	

	0%%%1

	PURGE	%%0(%1,%%%2
	PURGE	%0H%%L1,%%%L2,%%%F1,0h%%%F2,%%%NA,%%%MD1,%%%KD,%%%TD,%%%V1(C,%%%VD

	.CREF
gP  @gR
:` ,>gR  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`@ 
, 1h"
	IFL <A2-2>*<13-A>,<PRIN2(TX  ILLEGAL ACCUM2HULATOR USAGE>
	I2hFL A-3,<0>
	IFG3E A-3,<
		%%%AD3(1==0
		IRP B,<I3HFNB<B>,<
			%%%3hAD1==%%%AD1+1B<B4-3>
		>>
		XWD	4(A-2,[%%%AD1]
	>
S@P \P$\`P$&}`P$6&}y`P$7>LP$@BDh P$BDk P$
BDl`P$
BDm@P$>}{woP