Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-04 - decus/20-0132/macten.unv
There are 93 other files named macten.unv in the archive. Click here to see a list.
xO@P C' 0POP%%IA	(A,B,ADD,SUB)(AC2L{G P	<^D35-<^L<pRGHBT.(A)>>+<^D37*<<^L<RGHBT.(A)>>/^D36>>>.(A)C:' iITXZ	A,-1-<B>TXZ	A,-1-ES| P	
	REPEAT	p3,<
	TXCE	A,1B<B>!1B<C>
>B<G@ *0
SOP%%CA (A,B,)OP%%CA (AGD -p
oOP%%CA (A,B,A)P%%CA (AGDP +p
_OP%%CA (A,B,E)P%%CA (AGDp ,0
cOP%%CA (A,B,G)P%%CA (AGDy  ,p
gOP%%CA (A,B,GE)%%CA (AGE@ *p
WOP%%CA (A,B,L)P%%CA (AGEI  +0
[OP%%CA (A,B,LE)%%CA (AGE` -0
kOP%%CA (A,B,N)P%%CA (AG&tkg p	
	DEFINE	INFO.(OPCODE,NEWA0RG)<
	OPCODE	NEWARG>	OPCODE	NEWG>vC@ ALALL

		0	   PAGE	;(CONTINPUED ON NEXT PAGE)p
			   SALL	;(CONTINUED FROM PREVIOUS PAGE)
REVI6= 	Y
	..OLD==010
	..TYP==3
IFPE <C>+1,..TYP==0p
IFE <C>-^O777777,..TYP==1
IFE 0<C>-^O777777B17,P..TYP==2
..POS==pPOS(<C>)
..WID==WID(<C>)
	RADI0X	10
	DF%%ST (\.P.TYP,A,<B>,\..PpOS,\..WID)
	PURGE	..OLD,..TYP,..POS,..WIDTYP,..PI(\z P	q

	RADIX	.p.OLD
DEFINE	B (OPS,AC,E),<
	..C0==0
	IRP OPS,<
P		IFE A-..C,<
	p		STOPI
			IFN 3-..C, OPS <AC>,C0'E
			IFE 3-..C,P OPS <AC>,[POINT pE,C'E,D]
		>
	..C==..C+1>
	PURGE	..C>

	PI'7 2POP%%IN	(A,B,DIV)%IN	(AKc  P)
	IRP	A,p<
	IF2,<	IFNDEF	A,<EXTERN A> >>,<EXTERN A> >>M&. 7p?OP%%FA	(A,B,FADR,FSBR)AM6. 90KOP%%FP	(A,B,FDVR)FP	(AM&eG py<<A>!<<LFTBT.(A)>-<RGHBT.(A)>>>-<RGHBT.M7. 8pGOP%%FP	(A,B,FMPR)FP	(AMH(X6 P	=
	DEFINE	A,<-^OB(P)>
MJ p	9
	OLD%%%==10	;
	RADIX	8
0	N%%%==0		;
IRP PA,<
	FR%%AM (Ap,\<N%%%+1>)	;
	N%%%==N%%%+1		;
>0
	ADD	P,[N%%%,,NP%%%]	;
	PUSHJ	P,pb		;
	  SKIPA
	AOS	-N%%%(P)	;
0	SUB	P,[N%%%,,N%%P%]	;
	POPJ	P,		;p
b:
	RADIX	OLD%%%
	PURGE	N%%%,OLD%%%
E	N%%%,MN. 80COP%%FA	(A,B,FSBR,FADR)AM\u|RQ O2|  P5
	IRP	A,p<
	IF2,<	IFDEF	A,<INTERN A>
		0IFNDEF	A,<EXTERNP A>
		SUPPRE	A>>
		SUPPRE	ASNn 3OP%%IN	(A,B,IDIV)IN	(AS7-N 2OP%%IN	(A,B,IMUL)IN	(AS;k 0	<<<A>B<POS(<B>)>>&<B>>S? hPETXO	A,<B>TXO	A,<BUVn	 {0wIFE <<B>_{P1>,<
IFE <B>,<
	JUMP	A,D
>
|IFN <B>,<
IFE <|0<C>&<B>>,<
	JU|PMPL	A,D
>
IFN|p <<C>&<B>>,<
	}JUMPGE	A,D
>>>}0
IFN <<B>1>,<
	TXCA	A,<<C>&<}pB>>
	JRST	.+5
~	TXCE	A,<<C>&<~0B>>
	JRST	D
	T~PXNE	A,<<-<C>-1>~p&<B>>
	JRST	D
>>>
	JRST	D
' w0W
IFE <<BwP>_1>,<
IFE <B>,wp<
	JUMPA	A,D
x>
IFN <B>,<
IFx0E <<C>&<B>>,<
xP	JUMPGE	A,D
>xp
IFN <<C>&<B>>,y<
	JUMPL	A,D
y0>>>
IFN <<B>_1>yP,<
	TXCA	A,<<Cyp>&<B>>
	JRST	.+z5
	TXCE	A,<<C>z0&<B>>
	JRST	.+3zP
	TXNN	A,<<-<Czp>-1>&<B>>
	JRST	D
>>>
	JRSTUVn
 0?
IFDIF <PB><C>,<
	JFCL	1p,.+1		;
	JRST	.+1		;
IFNB <B>,<0	JFCL	1,B
  IFNPB <C>,<IFIDN <Cp><D>,<IFIDN <D><E>,< JRST	C>>>0>
IFB <B>,<	JFCPL	1,i
  IFIDN <pC><D>,<IFIDN <D><E>,< JRST	C>0>>
>;<><>

IFDPIF <C><D>,<
	HpRLOI	A,-2		;
IFNB <C>,<	AOBJP	0A,C
  IFNB <D>P,<IFIDN <D><E>,p<JRST	D>>>
IFB <C>,<IFDIF <D><0E>,<AOBJP A,i>P
	    IFIDN <D>p<E>,<AOBJN A,D>>
>;<><>

IFD0IF <D><E>,<
	IPF2,<IFE A,<PRINTpX ? A MUST BE NON-ZERO IN JUMPPT>0>
	MOVEI	A,0		;P
	BLT	A,0		;
IpFNB <D>,<	JUMPE	A,D
  IFNB <E0>,<	JRST	E>>
IFPB <D>,<	JUMPN	Ap,E>
>;<><>

i:
>;<><>

Y$- 0s<1B<^L<A>>><1B<^L<A>Y tQ xY>
C@ P	w B (<MOVEp,HRRZ,HLRZ,LDB>,<A>,<C>)LDB>,<YO%yG PM
	IFNDEF	pLSTIN.,	LSTIN.==0	
IFE LSTIN.,<
		0IFB <A>,	.XCREF
			XLIST>
LSTIN.==LSTIN.+1
INYO%{G 
W
IFG LSTI
0N., LSTIN.==LSTIN
P.-1
IFLE LSTIN.,
p<	.CREF
		LIST>
CREF
		LIST>1<A>>-1>B<B>><A>>[?7 !0
9
	.XCREF
	TEST%%=0
IFE	<!p<B>_-^D18>,<
	T"EST%%=1
	.CREF
"0	MOVEI	A,<B>
	"P.XCREF
>
IFN	<"pB>,<
IFE	<<B>_^#D18>,<
	TEST%%=1#0
	.CREF
	MOVSI	#PA,(B)
	.XCREF
>
IFE	<<<B>-^$D18>-^O777777>,<
	TEST%%=1
	.CRE$PF
	HRROI	A,<B>$p
	.XCREF
>
IFE%	TEST%%,<
IFE	<<%0<B>_^D18>-^O7777%P77B17>,<
	TEST%%%p=1
	.CREF
	HRLO&I	A,(<B>-^O7777&077)
	.XCREF
>
&PIFE	TEST%%,<
	.C&pREF
	MOVE	A,[B']
>>>
	PURGE	TEST%%
	.CREF	TE[Vg,1P)%IN	(A] P
	IFNDEF	A,<A==B>
F	]` p
	IFNDEF	A,<A==B>
	SHOW.	(A)

	SHO_@(Xp .0
	.XCREF
IFE	<<B>_-^D18>.p,<
	.CREF
	CAI/C	A,<B>
	.XCRE/0F
>
IFN	<<B>_-/P^D18>,<
	.CREF
/p	CAMC	A,[B]
	0.XCREF
>
	.CREFCREF
>
	.CREF_@(YP 9p_
	.XCREF
IFE	<<<B>_^D18>:0-^O777777B17>,<
:P	.CREF
	DI	A,(:p-<B>)
	.XCREF
;>
IFN	<<<B>_^D1;08>-^O777777B17>,<;P
	OP%%FP	A,<B>;p,C
>
	.CREF
C
>
	.CREF
_@(YX <0o
	.XCREF
IFE	<<B>_^D18>,<p<
	.CREF
	CI	=A,(B)
	.XCREF
=0>
IFN	<<B>_^D18=P>,<
	.CREF
	C	=pA,[B]
	.XCREF
>
	.CREFCREFP+
	.XCREF
IFE	<<<B>_-^D184>-^O777777>,<
	.40CREF
	DI	A,-<4PB>
	.XCREF
>
I4pFN	<<<B>_-^D18>-5^O777777>,<
	OP%50%IN	A,<B>,C
>
	.CREF>,C
>_@(Z7 5p;
	.XCREF
IFE	<<B>_-^D18>60,<
	.CREF
	CI	6PA,<B>
	.XCREF
>
IFN	<<B>_-^D718>,<
	.CREF
	70C	A,[B]
	.XCREF
>
	.CREFCRE_@(] dA

	.XCREF
IFN <<A>&^O7777dP77777760>, PRINTXdp ? A IS NOT AN AeCCUMULATOR

	TEe0MP%%=0
IFE	<<B>eP_^D18>,<
IFN	<Bep>,<
	TEMP%%=1
	f.CREF
	C	A,(Bf0)
	.XCREF
>>
IfPFE	<<B>_-^D18>,<fp
	TEMP%%=1
	.CRgEF
	D	A,<B>
g0	.XCREF
>
IFE	TgPEMP%%,<
	.CREF
gp	E	A,[B]
>
	hPURGE	TEMP%%
	.CREF	TEMP%%
	.Ca
tTQ  a
tQ a
t*9Q a
t>(Q  a
t>(Q a
tk{Q a
tm3Q a
uJ8Q @a
uiQ a
u}SQ @a
vZ7Q a
v\yQ a*n	r 5 a*n 4`a+= +a+= +a+ - a+-\ 4@a+-\ 5`a+-\ 4 a+-\ 5@a>Mm 
Pg<POINT	WID
p(B),A,POS(B)>B),A,POS(B)>a?H6 +a? pa<^L<A>+^L
<-<<A>_<^L<A>>>-1>-1><^L<A>>>e$YG p	
	DEFINE	INFO.(OPCODE,NEWA0RG)<
	OPCODE	<A
	NEWARG>>	<AeD-><<A>&-<Ae tP'g"~s@ 	.XCREF
	0EXP	<A>
	.ORG	.-1
			.CREFG	.gR~#@ 0	} B (<MOVEPM,HRRM,HRLM,DPB>,<A>,<C>)DPB>,gR~)  'P
O
IFE <D>'p,<	SETZM	B>	;
I(FE <D>+1,<	SETOM(0	B>	;
IFN <D>*(P<<D>+1>,<MOVX	A(p,<D>	;
		   MOV)EM A,B>	;
IFNB)0 <C>,<			;
	MOV)PE	A,[B,,B+1]
)p	BLT	A,C		;
>BLT	A,C		;
>gV 1	OP%%IA	(A,B,SUB,ADD)(Aib Gp
	.XCREF
IFB <B>, TXC	(<`0^O37777777&A>,1B`P<A_-^D30>)
IFNB`p <B>,<
IFN <<Aa>&^O777777777760>a0, PRINTX ? A IS aPNOT AN ACCUMULATOapR
IFE	<<<B>_-^Db18>-^O777777>,<
b0	.CREF
	EQVI	A,bP<,,-1-<B>>
	.XCbpREF>
IFN	<<<B>_c-^D18>-^O777777>,c0<
	OP%%TX	A,<BcP>,TLC,TRC,TDC
>>	.CREFC,TDC
>>ib ^
	.XCREF
IFB  <B>,	OP%%T^PX	<^O37777777&A>^p,1B<A_-^D30>,TLC_A,TRCA,TDCA
IFNB_0 <B>,	OP%%TX	A,_P<B>,TLCA,TRCA,TDCA
	.CREF
,TDibP Z
	.XCREF
IFB  <B>,	OP%%TZPX	<^O37777777&A>Zp,1B<A_-^D30>,TLC[E,TRCE,TDCE
IFNB[0 <B>,	OP%%TX	A,[P<B>,TLCE,TRCE,TDCE
	.CREF
,TDib` \
	.XCREF
IFB  <B>,	OP%%T\PX	<^O37777777&A>\p,1B<A_-^D30>,TLC]N,TRCN,TDCN
IFNB]0 <B>,	OP%%TX	A,]P<B>,TLCN,TRCN,TDCN
	.CREF
,TDibp >0w
IFB <B>>P, JFCL	0
IFNB <>pB>, TRN	A,<,,<B>>
N	A,<,,<Bibt L
m
	.XCREF
IFB  <B>,	OP%%TLPX	<^O37777777&A>Lp,1B<A_-^D30>,TLNMA,TRNA,TDNA
IFNBM0 <B>,	OP%%TX	A,MP<B>,TLNA,TRNA,TDNA
	.CREF
,TDibtC@ sp7
IFE <<Bt>_<1+^L<B>>>,<
t0IFE <<B>&<C>>,<tP
	TXNN	A,<B>
tp>
IFN <<B>&<C>u>,<
	TXNE	A,<Bu0>
>>
IFN <<B>_uP<1+^L<B>>>,<
	TupXCA	A,<<C>&<B>v>
	JRST	.+4
	TXv0CE	A,<<C>&<B>>vP
	JRST	.+3
	TXNvpN	A,<<-<C>-1>&<B>>
>C>-1>&<ibtP H
M
	.XCREF
IFB  <B>,	OP%%THPX	<^O37777777&A>Hp,1B<A_-^D30>,TLNIE,TRNE,TDNE
IFNBI0 <B>,	OP%%TX	A,IP<B>,TLNE,TRNE,TDNE
	.CREF
,TDibu@ p0
IFE <<BpP>_<1+^L<B>>>,<
ppIFE <<B>&<C>>,<q
	TXNE	A,<B>
q0>
IFN <<B>&<C>qP>,<
	TXNN	A,<Bqp>
>>
IFN <<B>_r<1+^L<B>>>,<
	Tr0XCA	A,<<C>&<B>rP>
	JRST	.+4
	TXrpCE	A,<<C>&<B>>s
	JRST	.+2
	TXNs0E	A,<<-<C>-1>&<B>>
>C>-1>&<ibu` J
]
	.XCREF
IFB  <B>,	OP%%TJPX	<^O37777777&A>Jp,1B<A_-^D30>,TLNKN,TRNN,TDNN
IFNBK0 <B>,	OP%%TX	A,KP<B>,TLNN,TRNN,TDNN
	.CREF
,TDibx CP
;
	.XCREF
IFB <B>, TXO	(<D^O37777777&A>,1BD0<A_-^D30>)
IFNBDP <B>,<
IFN <<ADp>&^O777777777760>E, PRINTX ? A IS E0NOT AN ACCUMULATOEPR
IFE	<<<B>_-^DEp18>-^O777777>,<
F	.CREF
	ORCMI	AF0,<,,-1-<B>>
	.XFPCREF>
IFN	<<<B>Fp_-^D18>-^O777777>G,<
	OP%%TX	A,<G0B>,TLO,TRO,TDO
>>	.CREFO,TDO
>ib| X
	.XCREF
IFB  <B>,	OP%%TXPX	<^O37777777&A>Xp,1B<A_-^D30>,TLOYA,TROA,TDOA
IFNBY0 <B>,	OP%%TX	A,YP<B>,TLOA,TROA,TDOA
	.CREF
,TDib|P T
	.XCREF
IFB  <B>,	OP%%TTPX	<^O37777777&A>Tp,1B<A_-^D30>,TLOUE,TROE,TDOE
IFNBU0 <B>,	OP%%TX	A,UP<B>,TLOE,TROE,TDOE
	.CREF
,TDib}` V
	.XCREF
IFB  <B>,	OP%%TVPX	<^O37777777&A>Vp,1B<A_-^D30>,TLOWN,TRON,TDON
IFNBW0 <B>,	OP%%TX	A,WP<B>,TLON,TRON,TDON
	.CREF
,TDicP ?0

	.XCREF
IFB <B>, TXZ	(<?p^O37777777&A>,1B@<A_-^D30>)
IFNB@0 <B>,<
IFN <<A@P>&^O777777777760>@p, PRINTX ? A IS ANOT AN ACCUMULATOAPR
IFE	<<<B>_-^DA018>-^O777777>,<
Ap	.CREF
	ANDI	A,B<,,-1-<B>>
	.XCB0REF>
IFN	<<<B>_BP-^D18>-^O777777>,Bp<
	OP%%TX	A,<BC>,TLZ,TRZ,TDZ
>>	.CREFZ,TDZ
>>icT R
	.XCREF
IFB  <B>,	OP%%TRPX	<^O37777777&A>Rp,1B<A_-^D30>,TLZSA,TRZA,TDZA
IFNBS0 <B>,	OP%%TX	A,SP<B>,TLZA,TRZA,TDZA
	.CREF
,TDicTP N
}
	.XCREF
IFB  <B>,	OP%%TNPX	<^O37777777&A>Np,1B<A_-^D30>,TLZOE,TRZE,TDZE
IFNBO0 <B>,	OP%%TX	A,OP<B>,TLZE,TRZE,TDZE
	.CREF
,TDicU` P
	.XCREF
IFB  <B>,	OP%%TPPX	<^O37777777&A>Pp,1B<A_-^D30>,TLZQN,TRZN,TDZN
IFNBQ0 <B>,	OP%%TX	A,QP<B>,TLZN,TRZN,TDZN
	.CREF
,TDif` o
	MOVX	Ao0,1B<B_-^D30>
	.oPXCREF
	<XORM	A,op>!<37777777&B>
	.CREF
7&B>
iftS@ jW
	MOVX	Aj0,1B<B_-^D30>
	.jPXCREF
	<TDNE	A,jp>!<37777777&B>
	.CREF
7&B>
ifuc@ k0a
	MOVX	AkP,1B<B_-^D30>
	.kpXCREF
	<TDNN	A,l>!<37777777&B>
	.CREF
7&B>
ify` lPk
	MOVX	Alp,1B<B_-^D30>
	.mXCREF
	<IORM	A,m0>!<37777777&B>
	.CREF
7&B>
igQ` mpu
	MOVX	An,1B<B_-^D30>
	.n0XCREF
	<ANDCAM	nPA,>!<37777777&B>
	.CREF
7&B>mHtYP'mHuZ7Q xmHvi9Q |mHvzQ pmKc@ PBYTE (3)ApWHO (9)AVER (6)AMIN (18)AEDTo&  0[<^L<-<<A>_<^L<A>>>-1>>>q? iPMTXC	A,<B>TXC	A,<Bq@ P!
	INTERN	pA
	IFB  <C>,<A==B>
	IFNB <C>,<A=B>
 <Cus@  
 B (<SETZ 0M,HLLZS,HRRZS,<PR PINTX ?CAN'T ZERO  pBYTE>>,<A>,<C>)TE>>,<A>,<C>)
lzQ 
D	P ?DP >D)6P D8YP D8sP D;PP D;QP D;QP D;RP D;RP D;SP D;TP D;WP D;WP D;XP D;XP D;YP 	D;YP 	D;ZP 
D;ZP 
D;[P D;[P D;\P 
D;\P 
D;]P D<ZP D=7P DI6P ?D\qP S@Q &tj7Q ?6MiTQ @O,pP O,tP O,vP O,P j.+jP >}{woP