Google
 

Trailing-Edge - PDP-10 Archives - T10_DECMAIL_MS_V11_FT1_860414 - 10,7/mail/mx/macsym.unv
There are 97 other files named macsym.unv in the archive. Click here to see a list.
x,Qa@P C4@ @8
	..NAC==`0		
	IRP A,<
	  .ACV1 (A)>		
 	.ACV3 (\..NAC)		@
	DEFINE ENDAV.<.ENAV1 <A>>V.<C' Y8%KOP%%IA	(A,B,ADD,SUB)(AC:$S@ ;p3_
	..TAGF (<JUMPN A,>,) C:$s@ <p3g
	..TAGF (<JUMPLE A,>,)C:$y' =03k
	..TAGF (<JUMPL A,>,) C:%C@ >03s
	..TAGF (<JUMPGE A,>,)C:%I' =p3o
	..TAGF (<JUMPG A,>,) C:%c@ <03c
	..TAGF (<JUMPE A,>,) C:&' ?p4
	..TAGF @(<JN <A>,<B>,>,)N <A>,<B>,>,C:&G @P4
	..TAGF @p(<JE <A>,<B>,>,)E <A>,<B>,>,C:' 08#
	TXZ A,<^-<B>>TXZ A,C:'	' >p3w
	..TAGF (<JXN A,B,>,)C:'G ?03{
	..TAGF (<JXE A,B,>,)C:v:g :03S
	TRNA
	..TAGF (JRST,)	C;< 9p3O
	..TAGF (JRST,)	..TAGF CO,,@ xP7Y
	..TRR==xp10		
	RADIX 8
	y..NV==1			
	IRP y0A,<
	  .TRV1 (yPA)>		
	IFG ..NV-yp5,<PRINTX ?TOO MAzNY ARGUMENTS: A>z0
	JSP .A16,.ASSEzPT		
	RADIX ..TRRzp		
	DEFINE ENDAS{.<.ENSV1 <A>>
	.ENSV1 <A>>
	E>= 
	IFN,FTSC==.


DEFINE	WORD(NAM,0NUMB<1>),<
	IFN P<..MSK>,<..OFF==.p.OFF+1> 

	..MSK==0		
	FIELDM(N0AM,<.FWORD>)	

P	..MSK==0		
	..OpFF==..OFF+NUMB	

>

DEFINE	NXT0WRD(NUMB<1>),<
	P..MSK==0
	..OFF=p..OFF+NUMB

>

DEFINE	FILLER(N0UM),<
	..FLG==POPS(..MSK)
	IFE ..pMSK,<..FLG==-1>
	IFG <^D<NUM>-<^D035-..FLG>>,<PRINTPX ?FILL TOO BIG IpN A STRUCTURE>
	...MSK==MASK.(^D0<NUM>,<..FLG+^D<NPUM>>)
	IFN FTSHOpW,<
	  PHASE ..OFF
	  EXP ...MSK0
	>
	..MSK==..MPSK!...MSK
>

p

DEFINE	HWORD(nam),<
	..FLG==0	0	
	IFE ..MSK&.LHPALF,<FIELDM(nam,.pLHALF)
			  ..FLG==1>
	IFE ..FLG0,<..MSK==..MSK!.LPHALF
		   IFE ..pMSK&.RHALF,<FIELDM(nam,.RHALF)
		0		     ..FLG==1>
		   IFE ..FLG,<pNXTWRD
			      FIELDM(nam,.LHALF0) >
		  >
>

P
DEFINE	FIELD(NApM,SIZ,POS),<
	..FLG==0		

	IFB 0<POS>,<IFB <SIZ>,P<
	  ...MSK==.RTpMSK(<<^-<<..MSK>>>>) 
	  IFE ...M0SK,<..OFF==..OFF+P1 
	    ..MSK==0p		
	    ...MSK==-1
	  >
	  FIEL0DM(NAM,<...MSK>)	P
	p..FLG==-1		
	>>

	IFNB <SIZ>,<.SIZ==^D<SIZ>0> 

	IFNB <POS>P,<		
	  FIELDM(NpAM,MASK.(.SIZ,POS)) 
	  ..FLG==-10		
	  ..BITS==MAPSK.(.SIZ,POS) 
	p>

	IFE ..FLG,<IFGE <^D<.SIZ>-^D036>,< 
	  WORD(NPAM,<^D<.SIZ>/^D36p>) 
	  IFN <<^D<.SIZ>-<^D<.SIZ>/^0D36>*^D36>>,<	
	P    FIELD(...,<<^pD<.SIZ>-<^D<.SIZ> /^D36>*^D36>>) 
 0	  >

	  ..FLG= P=-1		
	>>

	IF pE ..FLG,<		
	  .!.BITS==MASK.(^D<.!0SIZ>,<^D<.SIZ>-1>!P) 

	  REPEAT <!p^D36-^D<.SIZ>+1>,"< 
	    IFE ..FL"0G,<	
	      IFE "P<..BITS&..MSK>,< "p
			..MSK==..MSK#!..BITS 
		..FLG#0==-1 
	       > #P

	    IFE ..FL#pG,..BITS==..BITS_$<-1> 
	    >
	 $0 >

	IFE ..FLG,$P<		
	  ..BITS==M$pASK.(^D<.SIZ>,<^D%<.SIZ>-1>) 
	  .%0.OFF==..OFF+1	
	%P  ..MSK==..BITS		%p
	>

	MSKSTR(&A'NAM,\..OFFC,..&0BITS) 
	A.'NAM=&P=..OFF
	IFN FTSH&pOW,<
	  PHASE	A'.'NAM
	  EXP	A''0NAM
	>>

	..OL'PD==..BITS		
	...'pOLD==..BITS		

(>

DEFINE	BIT(N(0AM),<
	..BITS==L(PFTBT.(..OLD)	

(p	IFE ..BITS,<PRIN)TX ?NO ROOM FOR B)0IT IN LAST FIELD>)P

	A%'NAM==..B)pITS_<-<^D35-POS(.*..OLD)>> 
	A.'N*0AM==..OFF		

	M*PSKSTR(A'NAM,\..O*pFFC,..BITS) 
	I+FN FTSHOW,<
	  P+0HASE ..OFF
	  EX+PP A'NAM
	>

	+p..OLD==..OLD&<^-<,..BITS>> 

>
,0
DEFINE	FIELDM(NA,PM,MASK),<
	IFN M,pASK&..MSK,<	
	  -..MSK==0		
	  ..-0OFF==..OFF+1
	>P

	..MSK==..MSK!-pMASK	

	MSKSTR(.A'NAM,\..OFFC,M.0ASK) 
	A.'NAM==.P..OFF
	IFN FTSHO.pW,<
	  PHASE	A./'NAM
	  EXP	A'N/0AM
	>
>

DEFI/PNE ENDSTR(LENNAM</pLEN>,LSTNAM<LST>)0,<

	IFN ..MSK,00<..OFF==..OFF+1> 0P

	A.'LSTNAM==0p..OFF	

	IFN FT1SHOW,DEPHASE

	10..LOK==..LOK+1
	1PIFN ..LOK,<PRINTX1p ? MISSING BEGSTR2>

	IF2,<
	  I20FDEF ...MSK,<SUPP2PRESS ...MSK>
	  2pIFDEF ..BITS,<SUP3PRESS ..BITS>
	 30 IFDEF .SIZ,<SUPP3PRESS .SIZ>
	  IF3pDEF ..MSK,<SUPPRE4SS ..MSK>
	  IFD40EF ..OFF,<SUPPRES4PS ..OFF>
	  IFDE4pF ..FLG,<SUPPRESS5 ..FLG>
	  IFDEF50 ..LOK,<SUPPRESS 5P..LOK>
	  IFDEF 5p..LOC,<SUPPRESS .6.LOC>
	  IFDEF .60.OLD,<SUPPRESS ..6POLD>
	  IFDEF ..6p.OLD,<SUPPRESS ..7.OLD>
	>

	IF170,<
	  IFDEF ...M7PSK,<.XCREF ...MSK7p>
	  IFDEF ..BIT8S,<.XCREF ..BITS>80
	  IFDEF .SIZ,<8P.XCREF .SIZ>
	  8pIFDEF ..MSK,<.XCR9EF ..MSK>
	  IFD90EF ..FLG,<.XCREF 9P..FLG>
	  IFDEF 9p..OFF,<.XCREF ..O:FF>
	  IFDEF ..L:0OK,<.XCREF ..LOK>:P
	  IFDEF ..LOC,:p<.XCREF ..LOC>
	;  IFDEF ..OLD,<.X;0CREF ..OLD>
	  I;PFDEF ...OLD,<.XCR;pEF ...OLD>
	>
<
	PURGE WORD,NXTW<0RD,FILLER,HWORD,F<PIELD,BIT,FIELDM
<p
	A.'LENNAM==..=OFF-B
	IFN FTSH=0OW,<RELOC ..LOC>>=P



	..MSK==0=p		
	..OFF==B		
	A.D==B	

	>0IFDEF ..LOK,<IFL >P..LOK,<PRINTX ? N>pEW BEGSTR WITHOUT? ENDSTR>>

	..LOK==-1


	..L?\(e0?)BEG
	  E2 )p:W
	..NA==0*			
	IRP B,<
	*0  .BLCL2 B>		
	*PPUSH P,[..NA+1,,.*p.NA+1]	
	PUSHJ P,A		
   SHJ PE2|:g P0E
	..SVBK	p		
	XMOVEI .A16,a	
	PUSH P,.A160
  DEFINE ENDBK.P <
	RET			
a:!				
	.POPX>:!E3XG $0:?	
	..TRR=$P=10		
	RADIX 8		$p	
	..NA==2			
	%IRP A,<
	  ..NA%0=..NA+1>		
	IRP %PA,<
	  .BLSU1(%pA,\..NA)	
	  ..N&A=..NA-1>
	..NV=&0=1			
	IRP B,<
	  .TRV1 (B)>		&p
  DEFINE ENDBS.' <.ENBS1 <A>
		'0.ENSV1 <B>> 
	J'PSP .A16,.ENTER
	'p..NV-1,,..NV-1
	RADIX ..TRR1
	EJMj' XX5N
W0.==A
W1.==B				;INITY@IALIZE BREAK MASKY`
W2.==C
W3.==D
==C
W3.==@5;0?-0B,<
	?/0QAB (?30    ..SEJZ S85/	..V22==aSX
	..V1==a
	IFNSxB <B>,<..V22==BT>
REPEAT ..V22-<T8a>+1,<	
	%%W==.TX.V1/^D32	
	%%X==Tx..V1-%%W*^D32	
	UIFE C,BRKC1 \"<%U8%W+"0">	
	IFN CUX,BRKC2 \"<%%W+"0"Ux>
	..V1==..V1+1
		   >
.V1+1 V853	WA.==WA.!<1B<%%X>>
AEJ\4@ Vx59	WA.==WAW.&<-1-1B<%%X>>
&<-1-1B<%%X>>
EJ\: Qx5
%%FOO==Ra
	BRK0 (%%FOO,B,0)
 (%%FOO,EJn:g Z 5\
	BRINI. AZ@,B,C,D	
	IRPCZ` E,<	UNBRK. "E"[>	
	IRPC F,<	BR[ KCH. "F">	
	EXP[@ W0.,W1.,W2.,W3.		
W1.,W2.,W3.	Ge@ ,GeLR +G@ S%OP%%CA (A,B,)OP%%CA (AGD VX%5OP%%CA (A,B,A)P%%CA (AGDP TX%%OP%%CA (A,B,E)P%%CA (AGDp U%)OP%%CA (A,B,G)P%%CA (AGDy  UX%-OP%%CA (A,B,GE)%%CA (AGE@ SX%OP%%CA (A,B,L)P%%CA (AGEI  T%!OP%%CA (A,B,LE)%%CA (AGE` V%1OP%%CA (A,B,N)P%%CA (AG?Z 
8 [
	ASCIZ /
X
COPYRIGHT (C) D
xIGITAL EQUIPMENT CORPORATION A.
8ALL RIGHTS RESERVED.
/TS RESERVI  Z0-U
	..STR0 ZP(.DECR0,,<A>,<B>)CR0,,<A>,<BI6= nX'
	A==<-1nxB<C>+1B<C-D>> o
	IF1,<IFDEF %Ao8,<PRINTX ?A ALREoXADY DEFINED>>
	DoxEFINE %A (OP,AC,pY,MSK)<
	$A==<Zp8 B>		
	OP (<AC>,B'Y,MSK)><AC>I'7 [8%[OP%%IN	(A,B,DIV)%IN	(AI<p 
0c
	..SVLD	
0		
a:!				
  D
PEFINE OD. <
b:!
p				
	.POPX>			
  DEFINE LOOP. <0
	JRST a>		
  PDEFINE TOP. <a>	p	
  DEFINE ENDLP
. <b>		
  DEFIN
0E EXIT. <
	JRST b>T. <
	JRST IKH1 `:
..TMSK==..MASK
..TNAC==. .NAC-1
REPEAT ..@NAC,<
   IFN ..T`MSK,<
	..NUM==^L<..TMSK>
	..TMSK ==..TMSK-1B<..NUM@>
	IFE ..TMSK & `1B<..NUM+1>,<
		MOVE ..NUM,-..TNA C(P)
		..TNAC==.@.TNAC-1>
	IFN ..`TMSK & 1B<..NUM+1>,<
		DMOVE ..NU M,-..TNAC(P)
		.@.TNAC==..TNAC-2
`		..TMSK==..TMSK- 1B<..NUM+1>>
	>>  
IFG ..NAC,<ADJSP P,-..NAC>
JSINh1 `9Z
IFG ..NAC,<ADJSP P,..NAC> 
..TMSK==..MASK
..TNAC==..NAC-1
REPEAT ..NAC,<
   IFN ..TMSK,<
 	..NUM==^L<..TMSK@>
	..TMSK==..TMS`K-1B<..NUM>
	IFE ..TMSK & 1B<..NU M+1>,<
		MOVEM .@.NUM,-..TNAC(P)
`		..TNAC==..TNAC-1>
	IFN ..TMSK &  1B<..NUM+1>,<
	@	DMOVEM ..NUM,-..`TNAC(P)
		..TNAC==..TNAC-2
		..T MSK==..TMSK-1B<..NUM+1>>
	>>
.K,lz px'
	A==<-1qB<C>+1B<C-D>> q8
	IF1,<IFDEF %AqX,<PRINTX ?A ALREqxADY DEFINED>>
	DrEFINE %A (OP,AC,r8Y,MSK)<
	OP (<ACrX>,<@[EP. B'Y]>,MSK)>P. B'Y]>,MK+\Y`p0?rp0?o4p0?r4]p0?oUN.,HK+`p0?~p0?{4p0?~4_p0?{UNEMK3S@ 3U....UZK7<z u'5
	A==C	u8	
	IF1,<IFDEF %uXA,<PRINTX ?A ALRuxEADY DEFINED>>
	vDEFINE %A (OP,ACv8,Y,MSK)<
	OP (<AvXC>,<@[EP. B'Y]>,MSK)>P. B'Y]>,K:$Kg 0e
	OD.K:%G 3W....UD;[K@p ;0<
	..I==0
	..X==0
	MAKRM.;p (..CON,..GET)
	<..CON <EXIND. ..I<0,>
	IRPC A,<
	<P  ..SC==0
	  IFE<p "A"-"@",<..I==1=
			..SC=1>
	  =0IFE "A"-"(",<..C=PON <,>
			..SC=1=p
			..X==1>
	  >IFE "A"-")",<
	>0    IFE ..X,<PRIN>PTX %UNEXPECTED RI>pGHT PAREN IN EP. ?MACRO>
			..SC=1?0>
	?PIFE ..SC,<
	   ..CON <A>>>?p
	IFE ..X,<
	  @..CON <,0>>
	..C@0ON <
>
	..GET
   
>
	..GET
KCm 90;W
	  DEFIN9PE ..EP. (LOCN,PTE9pXT)
	    <PRINTX: Location 'LOCN'::0 PTEXT
	    >
	:P  ..EP.(\.,<A>)
	  PURGE ..EP.
	  URGE ..EP.
KJn9` P5
	ERJMP	[P8TMSG <? A>
		 JSHLT]
A>
		 JKbMi @p<<<A>B1+<C>B5+<B>>B1+<Kc  Px5
   IF2,<Q
	IRP A,<
	IFNQ8DEF A,<EXTERN A
	SUPPRE A>>>M&. a8&OP%%FP	(A,B,FADR)FP	(AM6. bx&OP%%FP	(A,B,FDVR)FP	(AM2  8!s<<<A>B<POS(<B>)>>&<B>>M2$*g `6&
	..XX==<` FLD(A,CM%FNC)>+`@B+<Z G>
   IFNB`` <D>,<..XX=CM%HPaP!..XX>
   IFNB a <E>,<..XX=CM%DPPa@!..XX>
   IFNB <a`F>,<..XX=CM%BRK!b..XX>
	..XX
   b IFNB <C>,<C>
 b@  IFB <C>,<0>
 b`  IFNB <D>,<POINcT 7,[ASCIZ D]>c 
   IFB <D>,<IFc@NB <EF>,<0>>
 c`  IFB <E>,<IFNB d<F>,<0>>
   IFNd B <E>,<POINT 7,[d@ASCIZ \E\]>
   d`IFNB <F>,<F>
    <F>,<F>
 M2$HG \5|

	..XX==<\ FLD(A,CM%FNC)>+\@B+<0,,F>
   IFN\`B <D>,<..XX=CM%H]PP!..XX>
   IFNB]  <E>,<..XX=CM%DP]@P!..XX>
	..XX
]`  IFNB <C>,<C>
^ IFB <C>,<0>
   IFNB <D>,<PO^@INT 7,[ASCIZ D^`]>
   IFB <D>,<_IFNB <E>,<0>>
 _   IFNB <E>,<POIN_@T 7,[ASCIZ \E\]>7,[ASCIZ \E\]>M7. b8&OP%%FP	(A,B,FMPR)FP	(AM7p MX4q
	HRROI .MxAC2,[ASCIZ \A\]
	MOVEI .AC3,0
	SOUTI .AC3,0
	M?c@  X"

  DEFINE x e(C)<D>
..FO!RN==A
REPEAT B!8-A+1,<
	.FORN1 !X(e)
	..FORN=..FORN+1>.FORN=..FM?3@ #x"#
  DEFINE$ %MN1 (B)<C>
	$8..FORN==A		
	.FORN1 (%MN1)
	.FM?@ "X"
  DEFINE"x d (B)<C>
  I#RP A,<
	.FORX1 d,A>
	.FORX1ZMN.ax&OP%%FP	(A,B,FSBR)FP	(AMS{PNF@^O44C==:NJ

	..ERR.=a0		
	  .BSIZ.=Ba0		
	aP.BPOS.=D
	IFN <<A>&<^O<-ap1,,770000>>>,<
	b  MPRNTX(G2BPT,Seb@ction greater thahPn 12 bits: A)
	hp  ..ERR.=1
	i>
	IFN <<C>&<^O<7i077740,,0>>>,<
	 iP MPRNTX(G2BPT,Bitips 0 - 12 non-zeroj in address fieldj0: C)
	  ..ERR.=jP1
	  >
	IFN <<jpE>&<-1,,0>>,<
	 k MPRNTX(G2BPT,Bitk0s 0-17 non-zero ikPn optional field:kp E)
	  ..ERR.=1l
	  >
	IFN <.BSl0IZ.&<^O<-1,,77770lP0>>>,<
	  MPRNTXlp(G2BPT,Bytesize gmreater than 6 bitm0s: B)
	  ..ERR.mP=1
	  >
	IFN <.mpBPOS.&<^O<-1,,777n700>>>,<
	  MPRNn0TX(G2BPT,Byte offnPset greater than np6 bits: D)
	  .o.ERR.=1
	  >
	Io0FN ..ERR.,<-1,-1,oP-1>		
	
	IFE ..opERR.,<
	  IFDIF p<D><>,<<<POINT .p0BSIZ.,E,.BPOS.>!pP1B12>&<^O<777740,pp,-1>>>
	qpIFIDN q<D><>,<<<POINT .q0BSIZ.,E>!1B12>&<qP^O<777740,,-1>>>
	    
	    <<<rC>_<^O14>>&<^O<37r00000,,0>>!<<C>&<rP0,,-1>>!<<A>_<^Orp22>>>
	  >
	PURsGE ..ERR.,.BSIZ.,.BPOS.
	BSIZ.,A>0		GENBPON{  DP<M
	..ERR.=Dp0		
	IFN <<A>&<E^O<-1,,770000>>>,E0<
	  MPRNTX(GFIWEPM,Section greaterEp than 12 bits: AF)
	  ..ERR.=1
	F0  >
	IFN <<B>&<FP^O<777740,,0>>>,<Fp
	  MPRNTX(GFIWMG,Bits 0 - 12 non-G0zero in address fGPield: B)
	  ..EGpRR.=1
	  >
	IFNH ..ERR.,<-1,-1,-1H0>	
				
	IFE ..HPERR.,<
	  <<<B>Hp_<^O14>>&<^O<3700I00,,0>>!<<B>&<0,I0,-1>>!<<A>_<^O22IP>>>>
	PURGE ..ERR.
	PURGE ..ERSNn [x%_OP%%IN	(A,B,IDIV)IN	(AS)` %027
	JUMPN %PA,b		
	..SVDF		%p	
   DEFINE ..TA&GF (INST,PCT)<
	&0INST b'PCT>		
 &P  DEFINE ..TAGE (&pINST,PCT)<
	INST c'PCT>		
	STS.:g $2'
	PRINTX $0% IFESK. should b$Pe changed to IFNJ$pE.
	IFNJE. <A>.
	IFNJE. <A>S9` )02W
	JUMPLE )PA,b		
	..SVDF	)p		
   DEFINE ..T*AGF (INST,PCT)<
*0	INST b'PCT>		
*P   DEFINE ..TAGE *p(INST,PCT)<
	INST c'PCT>		
	SS<S@ +02g
	JUMPL +PA,b		
	..SVDF		+p	
   DEFINE ..TA,GF (INST,PCT)<
	,0INST b'PCT>		
 ,P  DEFINE ..TAGE (,pINST,PCT)<
	INST c'PCT>		
	STSTS@ p1O

   IFB <BC>,<		
	..SVD0F			
	ERJMPA fP		
	JRST d		
pf:!
0DEFINE ..TAGF (INST,PCT)<
	INST d'PCT>		
   DEFINE ..TAGEp (INST,PCT)<
	INST e'PCT>		
	>0
   IFNB <BC>,<P		
	ERJMPA d		p
	C
	JRST e
d:!	B
e:!>
ST\G 013

   IFB <PAB>,<		
	..SVDpF			
	ERJMP e		
	JRST c		
e:0!
   DEFINE ..TAPGF (INST,PCT)<
	pINST c'PCT>		
   DEFINE ..TAGE (0INST,PCT)<
	INSTP d'PCT>		
	>
 p  IFNB <AB>,<		
	ERJMP c		
	0B
	JRST d
c:!	A
d:!>
c:!SUc@ !2
   IFB <!0B>,<		
	..SVDF	!P		
	ERJMPA c
!p   DEFINE ..TAGF "(INST,PCT)<
	INS"0T c'PCT>		
   D"PEFINE ..TAGE (INS"pT,PCT)<
	INST d#'PCT>		
	>
   I#0FNB <B>,<
	ERJM#PPA c
	B
c:!> c
	B
c:!Sa` /03
	JUMPGE /PA,b		
	..SVDF	/p		
   DEFINE ..T0AGF (INST,PCT)<
00	INST b'PCT>		
0P   DEFINE ..TAGE 0p(INST,PCT)<
	INST c'PCT>		
	SSdS@ -02w
	JUMPG -PA,b		
	..SVDF		-p	
   DEFINE ..TA.GF (INST,PCT)<
	.0INST b'PCT>		
 .P  DEFINE ..TAGE (.pINST,PCT)<
	INST c'PCT>		
	STSq` '02G
	JUMPE 'PA,b		
	..SVDF		'p	
   DEFINE ..TA(GF (INST,PCT)<
	(0INST b'PCT>		
 (P  DEFINE ..TAGE ((pINST,PCT)<
	INST c'PCT>		
	STSt\g 01Y
	PRINTX P% IFNES. should bpe changed to IFJER.
	IFJER. <A>,<B>FJER. <A>,Su)' 02
   IFB <PA>,<		
	..SVDF	p		
	ERJMP b
   DEFINE ..TAGF (I0NST,PCT)<
	INST Pb'PCT>		
   DEFpINE ..TAGE (INST, PCT)<
	INST c'P 0CT>		
	>
   IFN PB <A>,<
	ERJMP b
	A
b:!> Sv:g p1
   IFB <AB>,<		
	..SVD0F			
	TRNA			
	PJRST c		
   DEFpINE ..TAGF (INST,PCT)<
	INST c'P0CT>		
   DEFINE P..TAGE (INST,PCT)p<
	INST d'PCT>		
	>
   IFNB <0AB>,<		
	JRST Pc		
	B
	JRST pd
c:!	A
d:!>
c:!	A
d:!>S
S@ 5039
	JN <A>5P,<B>,c	
	..SVD5pF			
   DEFINE .6.TAGF (INST,PCT)<60
	INST c'PCT>		6P
   DEFINE ..TAG6pE (INST,PCT)<
	I7NST d'PCT>		
	ST d'PCT>		
	S 7P3K
	JE <A>7p,<B>,c	
	..SVD8F			
   DEFINE .80.TAGF (INST,PCT)<8P
	INST c'PCT>		8p
   DEFINE ..TAG9E (INST,PCT)<
	I90NST d'PCT>		
	ST d'PCT>		
	S< P1o
   IFB <pA>,<		
	..SVDF			
	JRST b
   0DEFINE ..TAGF (INPST,PCT)<
	INST pb'PCT>		
   DEFINE ..TAGE (INST,P0CT)<
	INST c'PCPT>		
	>
   IFNBp <A>,<
	JRST b
	A
b:!> bSDS@ 103
	JXN A,1PB,c	
	..SVDF		1p	
   DEFINE ..TA2GF (INST,PCT)<
	20INST c'PCT>		
 2P  DEFINE ..TAGE (2pINST,PCT)<
	INST d'PCT>		
	STSEc@ 303'
	JXE A,3PB,c	
	..SVDF		3p	
   DEFINE ..TA4GF (INST,PCT)<
	40INST c'PCT>		
 4P  DEFINE ..TAGE (4pINST,PCT)<
	INST d'PCT>		
	STS7-N Zx%WOP%%IN	(A,B,IMUL)IN	(AS:  X-C
	..STR0 X0(.INCR0,,<A>,<B>)CR0,,<A>,<BS? /x"
	TXO A,<B>
	TXO A,Ut@ mP.q
	..STR1 mp(..JAN,<d,<C>>,n<A>,<B>,..STR5)
d:B>,..STR5)U a0.
	..STR1 aP(..JE,<C>,<A>,<B>,..STR3)A>,<U8 ep.1
	..STR1f(..JN,<C>,<A>,<B>,..STR3)A>,<U:
	..STR1 k0(..JNA3,<C>,<A>,<B>,..STR4)A>U:~  pp/
	..STR1 q(..JNO,<d,<C>>,q0<A>,<B>,..STR5)
d:B>,..STR5)U? j0.U
	..STR1 jP(..JN,<C>,<A>,<B>,..STR4)A>,<UN.,@`p0?lp0?i,p0?l4]p0?iUN.,HUN.,HA  UN.,HUNEM`p0?xp0?u,p0?x4_p0?uUNEMUNEMA  UNEMUNn9hA  UNn9hUb( D$9
	..JX1==D8B		
	.IFN ..JX1DX,ABSOLUTE,<PRINTXDx B NOT ABSOLUTE
		..JX1==0>
	.IE8F ..JX1,ABSOLUTE,EX<
	.IF0 <<..JX1>Ex-1B0>,<	
		JUMPGFE A,C>,<
	.IF0F8 <<..JX1>+1>,<	
FX	  JUMPE A,C>,<Fx	
		TXNN (A,..JGX1)
		JRST C>>>)
		JRST C>>>Ub0 O%
	..JX1==O8B		
	.IFN ..JX1OX,ABSOLUTE,<PRINTXOx B NOT ABSOLUTE
		..JX1==0>
	.IP8F ..JX1,ABSOLUTE,PX<
	.IF0 <<..JX1>Px-1B0>,<
		JUMPGEQ A,C>,<
	..ONEQ8B (..BT,B)	
	.IQXF0 ..BT,<
	  SETQxCM .SAC,A		
	  RJXN (.SAC,..JX1,R8C)>,< 
	    TXNNRX A,..JX1	
	    JRST C>>>	    Ubp GX$U
	..JX1==GxB		
	.IFN ..JX1H,ABSOLUTE,<PRINTXH8 B NOT ABSOLUTE
		..JX1==0>
	.IHxF ..JX1,ABSOLUTE,I<
	.IF0 <<..JX1>I8-1B0>,<	
		JUMPLIX A,C>,<
	.IF0 Ix<<..JX1>+1>,<	
	J  JUMPN A,C>,<	J8
		TXNE (A,..JXJX1)
		JRST C>>>)
		JRST C>>>Ubx K$u
	..JX1==K8B		
	.IFN ..JX1KX,ABSOLUTE,<PRINTXKx B NOT ABSOLUTE
		..JX1==0>
	.IL8F ..JX1,ABSOLUTE,LX<
	.IF0 <<..JX1>Lx-1B0>,<
		JUMPL MA,C>,<
	..ONEBM8 (..BT,B)	
	.IFMX0 ..BT,<
	  SETCMxM .SAC,A		
	  JNXE (.SAC,..JX1,CN8)>,< 
	    TXNE NXA,..JX1	
	JRST C>>>	    JXF
	.BSIZ.=J0A		
	.BPOS.=C
	..ERR.=0		
	IFJpN <<B>&<^O<77774K0,,0>>>,<
	  MPRK0NTX(L1BPT,Bits 0 KP- 12 non-zero in Kpaddress field: BL)
	  ..ERR.=1
	L0  >
	IFN <.BSIZ.LP&<^O<-1,,777700>>Lp>,<
	  MPRNTX(L1MBPT,Bytesize greaM0ter than 6 bits: MPA)
	Mp..ERR.=1
	  >
	IFN <.BPONS.&<^O<-1,,777700N0>>>,<
	  MPRNTX(NPL1BPT,Byte offsetNp greater than 6 bOits: C)
	  ..ERO0R.=1
	  >
	
	IOPFN <..ERR.>,<-1,-Op1,-1>
	
	IFE <.P.ERR.>,<
	  IFIDP0N <C><>,<POINT .PPBSIZ.,B>
	  IFDPpIF <C><>,<POINT Q.BSIZ.,B,.BPOS.>Q0
	  >
	PURGE ..QPERR.,.BSIZ.,.BPOS.
	BSIZ.,.BPOSXJ
	..ERR.=XP0		
	  .BSIZ.=AXp		
	Y.BPOS.=C
	IFN <<B>&<^O<7Y077740,,0>>>,<
	 YP MPRNTX(L2BPT,BitYps 0 - 12 non-zeroZ in address fieldR: B)
	  ..ERR.=R01
	  >
	IFN <<RPD>&<-1,,0>>,<
	 Rp MPRNTX(L2BPT,BitSs 0-17 non-zero iS0n optional field:SP D)
	  ..ERR.=1Sp
	  >
	IFN <.BSTIZ.&<^O<-1,,77770T00>>>,<
	  MPRNTXTP(L2BPT,Bytesize gTpreater than 6 bitUs: A)
	  ..ERR.U0=1
	  >
	IFN <.UPBPOS.&<^O<-1,,777Up700>>>,<
	  MPRNVTX(L2BPT,Byte off\set greater than \06 bits: C)
	  .\P.ERR.=1
	  >
	I\pFN ..ERR.,<-1,-1,]-1>		
	
	IFE ..]0ERR.,<
	  IFDIF ]P<C><>,<<<POINT .]pBSIZ.,D,.BPOS.>!^1B12>&<^O<777740,^0,-1>>>
	 0IFIDN ^P<C><>,<<<POINT .^pBSIZ.,D>!1B12>&<^O<777740,,-1>>>
	    <1B0!<<^O<4_P00037,,-1>>&<B>>_p>	
	  >
	PURGE `..ERR.,.BSIZ.,.BPOS.
	BSIZ.,.BPA=?0(B).YN{  A0<!
	..ERR.=AP0		
	IFN <<A>&<Ap^O<777740,,0>>>,<B
	  MPRNTX(LFIWMB0,Bits 0 - 12 non-BPzero in address fBpield: A)
	  ..ECRR.=1
	  >
	IFNC0 ..ERR.,<-1,-1,-1CP>	
	IFE ..ERR.,<Cp1B0!<<^O<400037,,D-1>>&<A>>>	
	PURGE ..ERR.
	PUY$- ?P+}1_<^D35-^L<A>>1_<^D35-^LY>
@ Bp,
	..STR0 C(..LDB,A,B,<C>)LDB,A,B,<C>Y>
I  Ep,1
	..STR0 F(..LDBE,A,B,<C>)DBE,A,B,<C[i9Q u[^+' $x"9
  DEFINE% A (STUFF)<
	c%8 (<STUFF>,)>

 %X DEFINE c (NEW,O%xLD)<
    DEFINE &A (STUFF)<
	c &8(<STUFF>,<OLD'NEW&X>)>>

  DEFINE &xB <
    DEFINE 'c (NEW,OLD)<OLD>
	A ()>
OLD>[3@ @,<<<1_<A>>-1>B<B>>_<A>>[8@ X!}<1B<<A>-1>-1B<B>><A>-1[>!`  "<<A>-<<A>/<B>>*<B>>A[?7 'X"o
   ..MX1'x==B			
(8.IFN (..MX1,ABSOLUTE,<
	MOVE A,[B]>
(X   .IF ..MX1,ABSO(xLUTE,<
	..MX2==0)		
	IFE <..MX1>B)853,<
	  ..MX2==1)X
	  MOVEI A,..M)xX1>	
	IFE ..MX2,*<		
	IFE <..MX1>*8B17,<
	  ..MX2==*X1
	  MOVSI A,(.*x.MX1)>>	
	IFE ..+MX2,<		
	IFE <<.+8.MX1>B53-^O777777+X>,<
	+x..MX2==1
	  HRROI A,<..M,X1>>>	
	IFE ..MX,82,<		
	IFE <<..M,XX1>B17-^O777777B1,x7>,<
	  ..MX2==1-
	-XHRLOI A,(..-8MX1-^O777777)>> 
	IFE ..MX2,<		
-x	  MOVE A,[..MX1]>	
  >,[..MX1[Cm 7;G
	  DEFIN70E ..MP. (LOCN,MTE7PXT,PTEXT)<
	    7pPRINTX Location '8LOCN', Macro 'MTE80XT': PTEXT
	    8P>
	  ..MP.(\.,A8p,<B>)
	  PURGE ..MP.
	  URGE [N^= s'%
	A==C	s8	
	IF1,<IFDEF %sXA,<PRINTX ?A ALRsxEADY DEFINED>>
	tDEFINE %A (OP,ACt8,Y,MSK)<
	$A==<tXZ B>		
	OP (<AC>,B'Y,MSK)><AC[Vg Z8%SOP%%IN	(A,B,MUL)%IN	(A[Xp .8"u
	MOVE .S.XAC,A
	MOVEM .SAC,B
	MOVEM .SA[ZI` /"{
	MOVX .S/8AC,<A>
	MOVEM .SAC,B
	MOVEM ._@(Xp W%G
	.XCREF
IFE	<<B>_-^D18>WX,<
	.CREF
	CAIWxC	A,<B>
	.XCREXF
>
IFN	<<B>_-X8^D18>,<
	.CREF
XX	CAMC	A,[B]
	Xx.XCREF
>
	.CREFCREF
>
	.CREF_@(YX c8&'
	.XCREF
IFE	<<B>_^D18>,cx<
	.CREF
	CI	dA,(B)
	.XCREF
d8>
IFN	<<B>_^D18dX>,<
	.CREF
	C	dxA,[B]
	.XCREF
>
	.CREFCREF8%w
	.XCREF
	TEST%%=0
IFE	<\x<<B>_-^D18>-^O77]7777>,<
IFN	<<B]8>&^O777777>,<
	T]XEST%%=1
	.CREF
]x	DI	A,-<B>
	.^XCREF
>>
IFE	TE^8ST%%,<
	OP%%IN	^XA,<B>,C
>
	PU^xRGE	TEST%%
	.CREF	TEST%%
	.CRE_@(Z7 _8&
	.XCREF
IFE	<<B>_-^D18>_x,<
	.CREF
	CI	`A,<B>
	.XCREF
>
IFN	<<B>_-^D`X18>,<
	.CREF
	`xC	A,[B]
	.XCREF
>
	.CREFCRE_CL@ \P-g
	..STR0 \p(.OPST1,<A>,<B>,<C>)<A>,<B>_CLV ^p-y
	..STR0 _(.OPST2,<A>,<B>,<C>)<A>,<B>_^>@ W=9h<..OWGP (\<A>,B,\<C>)>A=5^O44 B-_^>
G WP==OWGP. WID(B),A,POS(B)(`@ 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= NX4y
   IFNB Nx<A>,<
	TMSG <AO>>
	CALL JSMSG0>
	CALL JSMSG0a4\G !
	..PGV0= =.		
	.JBVER=:^O@137		
	LOC	.JBVE`R		
	BYTE	(3)D(9)A(6)B(18)C
 	.ORG	..PGV0		
.ORG	..PGV0		
a>Mm X!o<POINT WIDx(<B>),A,POS(<B>)>),A,POS(<Ba? !i<^L<<A>&<-<A>>>><<A>&<aKH1 "@:
	..NUM=="`^D15
	REPEAT ^D1#6,<
		IFN ..MASK#  & 1B<..NUM>,<
	#@	POP P,..NUM>
		#`..NUM==..NUM-1
	>
==..NUM-1
	aNh1  `:
	..TMSK=!=..MASK
	REPEAT ! ..NAC,<
		..NUM=!@=^L<..TMSK>
		..!`TMSK==..TMSK-1B<.".NUM>
		PUSH P,..NUM
	>
H P,.aR<& t?!
	TXO A,.FR8BY
	TXO A,aRd6 sP?
	HRLI A,(POINT 8,0) AdA  de  ,~e&:x L84cJRST RSKPeJRST RSKPeN^A  eN^gXY {p7s
	..TRR==|10		
	RADIX 8
	|0..NV==1			
	IRP |PA,<
	  .TRV1 (|pA)>		
	IFG ..NV-}5,<PRINTX ?TOO MA}0NY ARGUMENTS: A>}P
	JSP .A16,.SASE}pT		
	RADIX ..TRR~		
	DEFINE ENDSA~0.<.ENSV1 <A>>
	.ENSV1 <A>>
	g4X1 	 9

..DONE	@==0
..SACC==0
.	`.NAC==0
..MASK==
0

IRP <A>,<

 	IFG A-^D15,<PRI
@NTX ?SAVEAC(A) I
`S ILLEGAL,
		      PRINTX ?SAVEAC  CAN ONLY BE USED@ ON ACCUMULATORS>`
	IFE A-.SAC,<.
.SACC==1>
	..SYA
 C==A				
	IFN 
@A-.SAC,<IFE ..MAS
`K&1B<..SYAC>,<	
		..MASK==..MASK!
		..=..NAC+1>>
	
IFE ..SACC,<USRSAV>		
IFE ..DO NE,<
  IFLE ..SA@CC,<JSP .SAC,[>
`  IFG ..SACC,<CALL [EXCH .SAC,(P)> 
		    IFG  ..NA@C-3,<DSAVAC>
		 `   IFLE ..NAC-3,<IFG ..NAC,<PSAVAC >>
		    PUSHJ P@,(.SAC)
		      `TRNA
		    AOS -..NAC-..SACC(P)
 		    IFG  ..NAC-@3,<DRSTAC>
		   ` IFLE ..NAC-3,<IFG ..NAC,<PRSTAC>> 
		    IFG ..SAC@C,<POP P,.SAC>
	`	    POPJ P,]
>
PURGE ..NAC,..TN AC,..MASK,..TMSK,@..SACC,..NUM,..SM`SK,..DONE,..SYAC  
DONE,..SYAC g$;8 Tp-)
	..STR1 U(..TQC,,<A>,<B>,..STR4)A>,<B>g%{R Q0-
	..STR1 QP(..TQO,,<A>,<B>,..STR4)A>,<B>g',W MP,o
	..STR1 Mp(..TQZ,,<A>,<B>,..STR4)A>,<B>g"~s@ !a
	....Z=A
	....Z=gB8;  92
	IFE ..D@ONE,<
		..SMSK==`0
		IRP <B>,<
		   ..SYAC==B		 		
		   ..SMSK==@..SMSK!1B<..SYAC>`>		
		IFE ..MASK-..SMSK,<JSP .SAC ,A
				   ..DONE==1>
	>
.DONgR$g x!
F=:0
T1=:1
T2=:2
T3=:38
T4=:4
Q1=:5
QX2=:6
Q3=:7
P1=:x10
P2=:11
P3=:12
P4=:13
P5=:148
P6=:15
CX=:16
P=:17
CX=:16f6I
	..STKR=f0=10		
	RADIX 8
fP	..STKN==0
	IRP fpA,<
	  .STKV1 (gA)>
	JSP .A16,.g0XSTKS		;Call integPrnal routine for gpallocation
	 EXPh ..STKN		;Size ofh0 block to allocathPe
	RADIX ..STKR
	DEFINE ENDSV.<.iENSV1 <A>>
   NSV1 <A>>
   gR~  JP,W
	..STR0 Jp(..DPB,A,B,<C>)DPB,A,B,<C>gV Yx%OOP%%IA	(A,B,SUB,ADD)(Ai6tP rp/
	..STR1 s(..TYNE,,<A>,<B>,..STR3)A>,<Bi6u` vP/7
	..STR1 vp(..TYNN,,<A>,<B>,..STR3)A>,<Bi7p Lx4i
	HRROI .MAC1,[ASCIZ \A\]
	PSOUTZ\A\]
	    ..SPTR1 (..TY,C,<A>,<B>,..STR3)A>,iF P0
	    ..SpTR1 (..TY,CA,<A>,<B>,..STR3)A>iFP 0
	    ..S0TR1 (..TY,CE,<A>,<B>,..STR3)A>iF` p0
	    ..STR1 (..TY,CN,<A>,<B>,..STR3)A>iFp x0/E
	    ..SxPTR1 (..TY,N,<A>,<B>,..STR3)A>,iFt zP/W
	    ..SzpTR1 (..TY,NA,<A>,<B>,..STR3)A>iFtP y/K
	    ..Sy0TR1 (..TY,NE,<A>,<B>,..STR3)A>iFu` yp/Q
	    ..SzTR1 (..TY,NN,<A>,<B>,..STR3)A>iFx {0/]
	    ..S{PTR1 (..TY,O,<A>,<B>,..STR3)A>,iF| }P/o
	    ..S}pTR1 (..TY,OA,<A>,<B>,..STR3)A>iF|P |/c
	    ..S|0TR1 (..TY,OE,<A>,<B>,..STR3)A>iF}` |p/i
	    ..S}TR1 (..TY,ON,<A>,<B>,..STR3)A>iGP ~0/u
	    ..S~PTR1 (..TY,Z,<A>,<B>,..STR3)A>,iGT P0
	    ..SpTR1 (..TY,ZA,<A>,<B>,..STR3)A>iGTP /{
	    ..S0TR1 (..TY,ZE,<A>,<B>,..STR3)A>iGU` p0
	    ..STR1 (..TY,ZN,<A>,<B>,..STR3)A>iK4@ pp7
	..TRR==q10		
	RADIX 8
	q0..NV==1			
	IRP qPA,<
	  .TRV1 (qpA)>		
	JSP .A16,r.XTRST		
	rEXP .r0.NV-1		;Size of brPlock to allocate
	RADIX ..TRR		
s	DEFINE ENDTV.<.ENSV1 <A>>
	.Eib ;x#_
		..TX(C,A,<B>)..TX(Cib =8#k
		..TX(CA,A,<B>).TX(CibP <8#c
		..TX(CE,A,<B>).TX(Cib` <x#g
		..TX(CN,A,<B>).TX(Cibp 5x#/
		..TX(N,A,<B>)..TX(Nibt 78#;
		..TX(NA,A,<B>).TX(NibtP 68#3
		..TX(NE,A,<B>).TX(Nibu` 6x#7
		..TX(NN,A,<B>).TX(Nibx 7x#?
		..TX(O,A,<B>)..TX(Oib| 98#K
		..TX(OA,A,<B>).TX(Oib|P 88#C
		..TX(OE,A,<B>).TX(Oib}` 8x#G
		..TX(ON,A,<B>).TX(OicP 9x#O
		..TX(Z,A,<B>)..TX(ZicT ;8#[
		..TX(ZA,A,<B>).TX(ZicTP :8#S
		..TX(ZE,A,<B>).TX(ZicU` :x#W
		..TX(ZN,A,<B>).TX(Zk:*g RX5
%%FOO==Rxa
	BRK0 (%%FOO,B,1)
 (%%FOO,kO8; 8Fm$,I1P$m$,YP#m$-X5Q |m$-Z7Q xm$.zQ po&  X!e<^L<-<<A>_<^L<A>>>-1>>>q
fC@ e06+
	EXTEND A,[XBLT]XTEND q"eJ  P q6~i4 C q? 0x#
	TXC A,<B>
	TXC A,+Q zjQ |kQ x2 Q N2`Q P2$`Q R2& Q T25 Q V25@Q J2PQ L:`Q f:$Q h:%`Q j:5Q l:5@Q b:`Q dB Q \B$`Q ^B4 Q `B5@Q XBpQ ZJ`Q rJ%@Q tJ5 Q vJ5@Q nKQ p
+Q \
KQ ^
kQ `

Q X
`Q Z
(Q p
HQ r
iQ t
	Q v

Q n$HQ z%	Q |%
Q x2`Q N2$ Q P2%`Q R25 Q T2D`Q V2EQ J2PQ L: Q f:%Q h:4`Q j:D@Q l:EQ b:`Q d:h &A
	A:&@ K0,i
	..TSIZ KP(..PST,C)
	.CASKpE ..PST,<<
		MOVLEM A,B>,<
		HRL0RM A,B>,<
		HRLPLM A,B>,<
		DPLpB A,[POINT WID(<MC>),B,POS(<C>)]>>B,POS(<C>):<;Y x(c
   DEFIN
E ..CNS2 (NEW,OLD
8)<
	  OLD>			
	..CNS ()>			
	:L;Y 	X([
   DEFIN	xE ..CNS (ARG)<
	
..CNS2 <ARG>,>

8
   DEFINE ..CNS2
X (NEW,OLD)<
	DEF
xINE ..CNS (ARG)<
	  ..CNS2 <ARG>,8<OLD'NEW>>>
   OLD'NEW>>>
   :Mi A04
 DEFINE APELSE. <
	..TAGE Ap(JRST,)		
	..TAGBF (,<:!>)		
	SYNB0 ..TAGE,..TAGF	
BP   DEFINE ELSE. <Bp....U>>	

 DEFICNE ENDIF. <
	..TC0AGF (,<:!>)		
	..RSDF>			
   .:TH nP.u
	..JNA3 (A,C,D)JNA3 :TI o/
	..TSAC o0(..ACT,C)
	.IF0oP ..ACT,<
	  SETCopM .SAC,C	
	  JXpE (.SAC,D,<B>)>p0,<	
	  JXO (C,D,<B>)>O (C,:TP b.+
	..TSAC b0(..ACT,B)	
	.IFbP0 ..ACT,<
	  ..TbpSIZ (..PST,C)	
c	  .CASE ..PST,<<c0
		SKIPN B	
		cPJRST A>,<
		HRRcpZ .SAC,B	
		JUMdPE .SAC,A>,<
		d0HLRZ .SAC,B	
		dPJUMPE .SAC,A>,<
		MOVE .SAC,B	
		JXE (.SAC,C,<e0A>)>>>,<
	  JXE (B,C,<A>)>E:U` fP.O
	..TSAC fp(..ACT,B)	
	.IFg0 ..ACT,<
	  ..Tg0SIZ (..PST,C)
	gP  .CASE ..PST,<<
		SKIPE B	
		JhRST A>,<
		HRRZh0 .SAC,B	
		JUMPhPN .SAC,A>,<
		HhpLRZ .SAC,B	
		JiUMPN .SAC,A>,<
i0		MOVE .SAC,B	
iP		JXN (.SAC,C,<ipA>)>>>,<
	  JXN (B,C,<A>)>N :Uh) kp.i
	..TSAC l(..ACT,B)
	.IF0l0 ..ACT,<
	  SETClPM .SAC,B	
	  JXlpN (.SAC,C,<A>)>m,<	
	  JXF (B,C,<A>)>F (B,:Ukh qp/
	..JN (A,C,D)..JN (:Uki r0/
	..JE (<B>,C,D)JE (<:dH@ CP,+
	..TSIZ Cp(..PST,C)
	.CASDE ..PST,<<
		MOVD0E A,B>,<
		HRRDPZ A,B>,<
		HLRDpZ A,B>,<
		LDBE A,[POINT WID(<E0C>),B,POS(<C>)]>>B,POS(<C>)]:dHR FP,Q
	..TSIZ Fp(..PST,C)
	.CASGE ..PST,<<
		MOVG0E A,B>,<
		HRRGPE A,B>,<
		HLRGpE A,B>,<
		JSPH .SAC,[LDB A,[POH0INT WID(<C>),B,HPPOS(<C>)]
			  Hp..MSK==MASK.(WID(IC),35)
			  TXNI0E A,LFTBT.(..MSKIP)	
			  TXO A,^Ip-..MSK	
			  PURJGE ..MSK
			  JRST (.SAC)]>> JR:}i1 mx&q
	A==<<<n-<B>>&<B>>&<1B<^L<B>>>>>&<1B<:~yx Zp=]IFE 10-8, [  <.%AC!<B>>+ [0			     IFE 10-^D[P10,<.$AC!<B>>0,<.$AC!<B>>;@ ;9 43
	.POPX;LH w'I
	IFNDEF w8C,<PRINTX ?C ISwX NOT DEFINED
	  wxA (<B>,<D>,.FWxORD)>	
	IFDEF Cx8,<
	IFNDEF %C,<xX
	  A (<B>,<Dxx>,C)>	
	IFDEF %yC,<
	  %C (A,<B>,<D>,C)>>;LH yX(	

	..NS==0yx			
	IRP C,<..NzS=..NS+1>	
	IFE z8..NS,<PRINTX ?EMPzXTY STRUCTURE LISTzx, A>
	IFE ..NS-{1,<		
	  ..STR0 {8(A,<B>,<C>,<D{X>)>
	IFG ..NS-1,{x<		
	..ICNS			
|	..CNS (<E (A,<|8B>,,>) 
	IRP C|X,<		
	  IFNDEF |xC,<PRINTX C NOT }DEFINED>
	  IFDE}8F C,<
	  IFNDEF}X %C,<
	  ..CNS }x(<,C,D>)>	
	  ~IFDEF %C,<
	  %~8C (..STR2,,<D>,~XC)> 
	  ..CNS (~x<)>)		
	  ..GCNS		
	  ..ICNS		
8	  ..CNS (<E (AX,<B>>) 
	  IFNDxEF %C,<
	  ..CNS (<,C,D>)>	
	8  IFDEF %C,<
	 X %C (..STR2,,<Dx>,C)>>> 
	..CNS (<,,)>)		
	..GCNS>)>)		
	..GC;LI X(
	..CNS (<,C,B>).CNS (;LI (#

	IFDIF <8D><F>,<
	  IFNXB <D>,<
	    Ax (<B>,D,..MSK)	
	    IFNB <F>,8<PRINTX C AND EX ARE IN DIFFERENTx WORDS>>
	  ..MSK==0>		
	IFNB <8F>,<
	  ..MSK=..MSK!<E>>MSK=..;LJ x(3

	IFDIF <D><F>,<	
	  IF8NB <D>,<
	    XA (<B>,D,..MSK)x>	
	  ..MSK==0>		
	IFNB <F>,<
8	  ..MSK=..MSK!<E>>MSK=..MSK!<;LJ x(I

	IFDIF <D><F>,<	
	  IF8NB <D>,<
	    IXFNB <F>,<		
		xA1 (B,D,..MSK)> 
	    IFB <F>,8<		
		A2 (B,DX,..MSK)>> 
	  ..xMSK==0>		
	IFNB 	<F>,<
	  ..MSK=..MSK!<E>>MSK=;hU 	0M
	SYN END	0BK.,a
	.PSHX <
	 SYN a,ENDBK.> SYN a,ENDBK.>;i Cp41
	SYN ELSDE.,a
	SYN ENDIFD0.,b
	SYN ..TAGFDP,c
	SYN ..TAGE,Dpd
	.PSHX <
	  ESYN a,ELSE.
	  E0SYN b,ENDIF.
	 EP SYN c,..TAGF
	Ep  SYN d,..TAGE>
	..INDF			
	      NDF			
	0{;k 

	SYN OD.
	SYN LOOP.,
	SYN TOP.,c
	SYN EXIT.,d
	SYN ENDLP.,e
	.P0SHX <
	 SYN a,OPD.
	 SYN b,LOOPp.
	SYN c,TOP.
	 SYN d,EXIT.
0	 SYN e,ENDLP.> SYN e,ENDLP.>;$r 3[....UD<Q;$s 3Y....UD;\;&` UP-=
	..TSIZ Up(..PST,C)
	.IF0V ..PST,<		
		SETV0CMM B>,<	
	Vp..VPTSAC (..ACT,B)	
	W.IF0 ..ACT,<
		MOVX .SAC,C
W0		XORM .SAC,B>,<WP
		..TX(C,B,C)>>..TX(C,B,C);&` R-#
	..TSIZ R0(..PST,C)
	.CASRPE ..PST,<<
		SETRpOM B>,<
		HLLOSS B>,<
		HRROS S0B>,<
	  ..TSAC (SP..ACT,B)
	  .IFSp0 ..ACT,<
		MOVXT .SAC,C
		IORM T0.SAC,B>,<
		..TX (O,B,C)>>>T;&@ N0-
	..TSIZ NP(..PST,C)	
	.CANpSE ..PST,<<
		SEOTZM B>,<	
		HLLO0ZS B>,<	
		HRRZOPS B>,<	
	  ..TSOpAC (..ACT,B)	
	P  .IF0 ..ACT,<
	P0	MOVX .SAC,C	
	PP	ANDCAM .SAC,B>,Pp<
		..TX (Z,B,C)>>>TX (Z,B,;&81 j&[
	A==0		j8	
	..TSA1==<Z BjX>		
	.IF ..TSA1,jxABSOLUTE,<	
	  IkFE ..TSA1&^O77777k87777760,<A==1>> 
	60,<A==1>> ;&:= hX&M
	A==3		hx	
	IFE <B>+1,<iA=0>	
	IFE <B>-i8^O777777,<A==1> iX
	IFE <B>-^O777777B17,<A==2>7;&;Q kx&k
	A==0		l	
	..TSA1==0		
l8	IRPC C,<
	  ..lXTSA1=..TSA1+1
	mlx IFE ..TSA1-B,<
	   IFIDN <C><m8D>,<
		A==1>		
	;'STOPI>>		
   ..TX11X==C			
2.IFN 1x..TX1,ABSOLUTE,<
	TDA B,[C]>
28   .IF ..TX1,ABSO2xLUTE,<		
	..TX2=2X=0		
	IFE <..TX13&^O777777B17>,<
38	  ..TX2==1		
	 3X TRA B,..TX1>
3x	IFE ..TX2,<		
	4IFE <..TX1&^O77774877>,<
	  ..TX2==4X1		
	  TLA B,(4x..TX1)>>
	IFE ..5TX2,<		
	  IFE <58<..TX1>B53-^O77775X77>,< 
	    ..TX=x3 (A,B)>>	
	IF>E ..TX2,<		
	  I>8FE <..TX1+1>,<	
>X	    ..TX4 (A,B>x)>>
	IFE ..TX2,<?		
	  TDA B,[..TX1]>	
  >,[.;'` ?X$
	IFIDN <?xA><Z>,<		
	  ..@TX2==1
	  ANDI @8B,^-..TX1>	
	IFI@XDN <A><O>,<		
	@x  ..TX2==1
	A8ORACMI B,^-..TX1>	
	IFIDN <A><C>,<AX		
	  ..TX2==1
Ax	  EQVI B,^-..TX1>QVI B,^-..TX;' B8$
	IFIDN <BXA><NN>,<
	  ..TBxX2==1
	  CAIN BC,0>		
	IFIDN <AC8><NE>,<
	  ..TX2CX==1
	  CAIE B,0>
	  CAIE B,0;' 09
	..TSAC 0(..ACT,B)	
	.IFP0 ..ACT,<
		PRINpTX ?TQA - B NOT IN AC>,<
		TXA B,C>
		TXA;'R sP/1
	..TSAC sp(..ACT,B)	
	.IFt0 ..ACT,<
	  ..Jt0X1==C
	  .IF0 <tp..JX1-1B0>,<
		StPKIPGE B>,<
	   u .IF0 <..JX1+1>,<u0
		SKIPE B>,<
uP		MOVE .SAC,B
	up	TXNE .SAC,C>>>,v<
		TXNE B,C>
		TXNE B,C>;'W w00-
	..TSAC wP(..ACT,B)	
	.IFwp0 ..ACT,<
	  ..JxX1==C
	  .IF0 <0..JX1-1B0>,<
		SPKIPL B>,<
	  p.IF0 <..JX1+1>,<
		SKIPN B>,<
	0	MOVE .SAC,B
		PTXNN .SAC,C>>>,<
		TXNN B,C>
`P P  P 0P d  8
	.ACV2 (A)
	.ACV2 (d@ @8&
   IFDEF` A,<.IF A,SYMBOL,<PRINTX ACVAR  A ALREADY DEFINED@>>
	A==.FPAC+..`NAC	
	$A==A		
	IFB <B>,<..NAC =..NAC+1>
	IFNB @<B>,<
	...X==B`
	IF2,<.IFN ...X,ABSOLUTE,<PRINTX  ?ACVAR A, B is@ not absolute>>
`	..NAC=..NAC+...X>NAC=..NAC+...Xd`  86
	IFG A-@.NPAC,<PRINTX ?TO`O MANY ACS USED>
	IFLE A-4,<
	   JSP .A16,.SAVA>@	
	IFG A-4,<
	`  JSP .A16,.SAV8>JSP .A16,.SAV8>):A  ):9:A  9:
d; +p;
	  IFIDN, <A><.>,<
		XMO,0VEI .A16,B	
		P,PUSH P,.A16>
	  I,pFDIF <A><.>,<
	-  .IFATM <A>,.BL-0F4	
	  .BLF1==0	-P	
	  IFN .BLF4,<-p		
	    .IF %A,.MACRO,<	
		.BLF1.0==1>	
	    IFNB .P<B>,<
		.BLF1==.p1>	
	    IFN .BL/F1,<		
		LOAD .A/016,A,B
		PUSH /PP,.A16>>
	  IFE /p.BLF1,<		;IF WASN0'T A STRUCTURE RE00F,
	    IFN .BLF0P4,<		
	     .BLF0p2==<<Z A>&17B17>1-<P>B17 
	      10.IF .BLF2,ABSOLUT1PE,< 
	       IFE1p .BLF2,<		
	    2   .BLF1==1		
	 20      .BLF3==<Z 2PA>&777777
		PUSH2p P,.BLF3-..NA(P)>3>>> 
	  IFE .BLF301,<		
		PUSH P,3PA>>	
	  ..NA=..NA+1
	  ..NA=..N
d;	 +0:[
	.BLCL1 A
	.BLCL1 
f=( (0:E
	DEFINE (PA<-^OB(.FP)>
	$A==<Z A>>
	9  fX&?
	..CSN==fxA
	..CSC==0
	IgRP B,<
	IFE ..Cg8SN-..CSC,<
	  STgXOPI
	  ..CAS1 (gxB)>
	..CSC==..CSC+1>..CSC==..CSD	P ?DP >D)6P D,xP D8YP D8sP D;PP D;QP D;QP D;RP D;RP D;SP 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 FmP S@P Z x s		
	XLIST

	LOC 0
	COPYRT
8 A
     .IFN .,
XABSOLUTE,<PRINTX 
x?.CPYRT, COPYRIGH
X22,<IFGET.-^OPYRIN SINGLE REL BLO8CK>
	RELOC
	LIST
	SALL

	LIS,<H [-a
	..PST==[0C&<-C>
	.IF0 .[P.PST-1,<
		SOS [pB>,<	
		MOVX .SA\C,-..PST 
		ADDM .SAC,B>		ADDMtH  8<
	IRP A,@<
	  .ENAV2 (A)>	  .ENAV2 (A)tI 8@
	.ENAV3 (A)
	.ENAV3 tI @8D
	PURGE A,A
  PURGE t,h ):K
	IRP A,)0<
   DEFINE A<....U>>FINE A<.v=H np6y
	IRP A,o<
	  .ENSV2 (A)>	  .ENSV2 (A)v=I oP6}
	.ENSV3 (A)
	.ENSV3 v=I p7
	DEFINE A<....U>EFINE vI9A  vI9~+H ""
	A (\..FORN)
	A (\..~. "
	A BP `P \Q X=|RQ &2 e8&1
	..IFT==eXA		
	IFE ..IFT,ex<
	B
	..IFT==0f>		
	IFN ..IFT,<
	C>N ..IFT,<&4 4;5
	IRPC A40,<
	B==0
	IFGE4P "A"-"A",<IFLE "4pA"-"Z",<B=1>> 
	IFGE "A"-"0",<50IFLE "A"-"9",<B5P=1>>
	IFE "A"-"5p%",<B=1>
	IFE "6A"-"$",<B=1>
	60IFE "A"-".",<B=6P1>
	IFE B,<STOPI>>IFE B,<STOP&t<H Xp-O
	..PST==YC&<-C>	
	.IF0 Y0..PST-1,<
		AOS YPB>,<	
		MOVX .SYpAC,..PST	
		ADDM .SAC,B>		ADDM&tj7Q ?2DQ x6i2P u6k0P 6k4P 6mtP 6MiTQ @;`P ?= ]0-s
	..TSIZ ]P(..PST,C)
	.IF0]p ..PST,<
		A B^>,<	
		..LDB .SA^0C,B,C 
		A .SAC>C 
		A .S?=	 _P.
	..TSIZ _p(..PST,C)
	.IF0` ..PST,<
		A B`0>,<	
		..LDB .SA`PC,B,C
		A .SA`pC
		..DPB .SAC,B,C>DPB .SAC,A`Q JAd
Q LAd(Q NAd+Q PAdIQ RAdLQ TAdjQ VAdkQ JApQ bAtQ dAt)Q fAtHQ hAtKQ jAtjQ lAtkQ bAQ XAQ ZA*Q \AIQ ^AhQ `AkQ XAQ nA
Q pA+Q rAKQ tAjQ vAkQ nAQ xA+Q zAjQ |AkQ xB~ Hp4G
	.PSHX1 (.POPX2).PSHX1 B~	 I04K
	.POPX4 A
	.POPX4 B~	 J04Y
	A
   JPDEFINE .PSHX1 (WCJpH,STUFF)<
	WCH (K<<STUFF>,<B>>)><STUFF>,<B>>)>B~
 Ip4O
	.POPX3 B
	.POPX3 C Fp47
	.PSHX1 (.PSHX2,<A>)1 C G04;
	A (<B>)
	A (<BC	 Gp4C
   DEFINHE .PSHX1 (WCH,STUH0FF)<
	WCH (<<STUFF>,<A>>)><STUJDP'K%,z x!y<<<A>&<B>>B<^D70-POS(<B>)>>D70-POS(<B>K%\u @P,
<IFE <<F@pILIN.(<A>)&<^-AA>>>,<A>>!<IFN <<A0FILIN.(<A>)&<^-APA>
>><<FILIN.(<<Ap<RGHBT.(<<FILIN.(B<A>)&<^-A>>>)>_B0-1>>!<RGHBT.(A)>)>>>RGHBT.(A)>N
0@ N):A  N):N9:A  N9:Nd A" Nd Nd@A" Nd@Nd`A" Nd`NeA  NeNfA  NfO%=H iP6M
	.STKV2 (A)
	.STKV2 O%=I j6e
	IFB <Bj0>,<..STKN==..STKNjP+1>
	IFNB <B>,<jp
	...X==B
	IF2k,<.IFN ...X,ABSOLk0UTE,<PRINTX ?STKVkPAR A, B is not kpabsolute>>
	..STlKN==..STKN+...X>
	..STKQ==..STKN+lP1
	.STKV3 (A,\..STKQ)V3 (A,\.O%=I m6s
   IFDEFm0 A,<.IF A,SYMBOmPL,<PRINTX STKVAR mpA ALREADY DEFINEnD>>
	DEFINE A<-n0^OB(P)>
	$A==<Z A>>
	$A==<Sd  sP7
	.TRV2 (A)
	.TRV2 (Sd@ t71
	.TRV3 (t0A,\..NV)	
	IFB tP<B>,<..NV=..NV+1tp>
	IFNB <B>,<
u	...X==B
	IF2,<u0.IFN ...X,ABSOLUTuPE,<PRINTX ?TRVAR upA, B is not absvolute>>
	..NV=..NV+...X>..NV=..Sd` vP7?
   IFDEFvp A,<.IF A,SYMBOwL,<PRINTX TRVAR w0A ALREADY DEFINEDwP>>
	DEFINE A<^OwpB(.FP)>
	$A==<Z A>>
	$A==<b\| x!W
	.XCREF
	.XCRF1 <..ACT,.8.CSC,..CSN,..IFT,X..JX1,..MSK,..MX1x,..MX2>
	.XCRF1 <..NAC,..NRGS,..N8S,..NV,..PST,..STXKN,..STKQ,..STKR>x
	.XCRF1 <..TRR,..TSA1,..TX1,..TX82,.FP,.FPAC,.NAC,X.SAC,.SAV1>
	.XCxRF1 <.SAV2,.SAV3,POINTR,POS,WID,..8CAS1,..CNS,..CNS2X>
	.XCRF1 <..DPBx,..GNCS,..ICNS,..JE,..LDB,..STR0,.8.STR1,..STR2>
	.XXCRF1 <..STR4,..TxQO,..TQZ,..TSAC,..TSIZ,..TX,..TY,.8ACV1,.ACV2>
	.XCXRF1 <.ACV3,.CASE,x.DECR0,.IF0,.INCR0,.OPST1,.OPST2,.8STKV1>
	.XCRF1 <X.STKV2,.STKV3,.TRxV1,.TRV2,.TRV3>
	.CREF
   3>
b)H 8!]
	IRP A,X<
	 IFDEF A,< .XCREF A>>A,< .cJyA  cJycJyA  cJyc&,ZA  c&,Zc&,zA  c&,z>}{woP