Google
 

Trailing-Edge - PDP-10 Archives - bb-l014t-bm_tops20_v7_0_atpch20 - autopatch/macsym.unv
There are 97 other files named macsym.unv in the archive. Click here to see a list.
x,Sc@P C4@ X8
	..NAC==x0		
	IRP A,<
	  .ACV1 (A)>		
8	.ACV3 (\..NAC)		X
	DEFINE ENDAV.<.ENAV1 <A>>V.<C' [P%]OP%%IA	(A,B,ADD,SUB)(AC:$S@ >3p
	..TAGF (<JUMPN A,>,) C:$s@ ?3x
	..TAGF (<JUMPLE A,>,)C:$y' ?H3|
	..TAGF (<JUMPL A,>,) C:%C@ @H4
	..TAGF (<JUMPGE A,>,)C:%I' @4
	..TAGF (<JUMPG A,>,) C:%c@ >H3t
	..TAGF (<JUMPE A,>,) C:&' B4
	..TAGF B((<JN <A>,<B>,>,)N <A>,<B>,>,C:&G Bh4
	..TAGF C(<JE <A>,<B>,>,)E <A>,<B>,>,C:' 2P#
	TXZ A,<^-<B>>TXZ A,C:'	' A4
	..TAGF (<JXN A,B,>,)C:'G AH4

	..TAGF (<JXE A,B,>,)C:v:g <H3d
	TRNA
	..TAGF (JRST,)	C;< <3`
	..TAGF (JRST,)	..TAGF CO,,@ zh7j
	..TRR=={10		
	RADIX 8
	{(..NV==1			
	IRP {HA,<
	  .TRV1 ({hA)>		
	IFG ..NV-|5,<PRINTX ?TOO MA|(NY ARGUMENTS: A>|H
	JSP .A16,.ASSE|hT		
	RADIX ..TRR}		
	DEFINE ENDAS}(.<.ENSV1 <A>>
	.ENSV1 <A>>
	E>= P,
}P
	IFN FTSHOW,..LOC==.

(
DEFINE	WORD(NAM,HNUMB<1>),<
	IFN h<..MSK>,<..OFF==..OFF+1> 

	..MS(K==0		
	FIELDM(NHAM,<.FWORD>)	

h	..MSK==0		
	..OFF==..OFF+NUMB	
(
>

DEFINE	NXTHWRD(NUMB<1>),<
	h..MSK==0
	..OFF=..OFF+NUMB

>
(
DEFINE	FILLER(NHUM),<
	..FLG==POhS(..MSK)
	IFE ..MSK,<..FLG==-1>
(	IFG <^D<NUM>-<^DH35-..FLG>>,<PRINThX ?FILL TOO BIG IN A STRUCTURE>
(	...MSK==MASK.(^DH<NUM>,<..FLG+^D<NhUM>>)
	IFN FTSHOW,<
	  PHASE ..O(FF
	  EXP ...MSKH
	>
	..MSK==..MhSK!...MSK
>



DEFINE	HWORD(n(am),<
	..FLG==0	H	
	IFE ..MSK&.LHhALF,<FIELDM(nam,.LHALF)
			  ..FL(G==1>
	IFE ..FLGH,<..MSK==..MSK!.LhHALF
		   IFE ..MSK&.RHALF,<FIELD(M(nam,.RHALF)
		H		     ..FLG==1>
		   IFE ..FLG,<NXTWRD
			      (FIELDM(nam,.LHALFH) >
		  >
>

h
DEFINE	FIELD(NAM,SIZ,POS),<
	..(FLG==0		

	IFB H<POS>,<IFB <SIZ>,h<
	  ...MSK==.RTMSK(<<^-<<..MSK>>(>>) 
	  IFE ...MHSK,<..OFF==..OFF+h1 
	    ..MSK==0		
	    ...MSK==(-1
	  >
	  FIELHDM(NAM,<...MSK>)	h
	..FLG==-1		
	>>

	IFNB <SI(Z>,<.SIZ==^D<SIZ>H> 

	IFNB <POS>h,<		
	  FIELDM(NAM,MASK.(.SIZ,POS()) 
	  ..FLG==-1H		
	  ..BITS==MAhSK.(.SIZ,POS) 
	 >

	IFE ..FLG,< (IFGE <^D<.SIZ>-^D H36>,< 
	  WORD(N hAM,<^D<.SIZ>/^D36!>) 
	  IFN <<^D<!(.SIZ>-<^D<.SIZ>/^!HD36>*^D36>>,<	
	!h    FIELD(...,<<^"D<.SIZ>-<^D<.SIZ>"(/^D36>*^D36>>) 
"H	  >

	  ..FLG="h=-1		
	>>

	IF#E ..FLG,<		
	  .#(.BITS==MASK.(^D<.#HSIZ>,<^D<.SIZ>-1>#h) 

	  REPEAT <$^D36-^D<.SIZ>+1>,$(< 
	    IFE ..FL$HG,<	
	      IFE $h<..BITS&..MSK>,< %
			..MSK==..MSK%(!..BITS 
		..FLG%H==-1 
	       > %h

	    IFE ..FL&G,..BITS==..BITS_&(<-1> 
	    >
	 &H >

	IFE ..FLG,&h<		
	  ..BITS==M'ASK.(^D<.SIZ>,<^D'(<.SIZ>-1>) 
	  .'H.OFF==..OFF+1	
	'h  ..MSK==..BITS		(
	>

	MSKSTR(((A'NAM,\..OFFC,..(HBITS) 
	A.'NAM=(h=..OFF
	IFN FTSH)OW,<
	  PHASE	A)(.'NAM
	  EXP	A')HNAM
	>>

	..OL)hD==..BITS		
	...*OLD==..BITS		

*(>

DEFINE	BIT(N*HAM),<
	..BITS==L*hFTBT.(..OLD)	

+	IFE ..BITS,<PRIN+(TX ?NO ROOM FOR B+HIT IN LAST FIELD>+h

	A%'NAM==..B,ITS_<-<^D35-POS(.,(..OLD)>> 
	A.'N,HAM==..OFF		

	M,hSKSTR(A'NAM,\..O-FFC,..BITS) 
	I-(FN FTSHOW,<
	  P-HHASE ..OFF
	  EX-hP A'NAM
	>

	...OLD==..OLD&<^-<.(..BITS>> 

>
.H
DEFINE	FIELDM(NA.hM,MASK),<
	IFN M/ASK&..MSK,<	
	  /(..MSK==0		
	  ../HOFF==..OFF+1
	>h

	..MSK==..MSK!0MASK	

	MSKSTR(0(A'NAM,\..OFFC,M0HASK) 
	A.'NAM==0h..OFF
	IFN FTSHO1W,<
	  PHASE	A.1('NAM
	  EXP	A'N1HAM
	>
>

DEFI1hNE ENDSTR(LENNAM<2LEN>,LSTNAM<LST>)2(,<

	IFN ..MSK,2H<..OFF==..OFF+1> 2h

	A.'LSTNAM==3..OFF	

	IFN FT3(SHOW,DEPHASE

	3H..LOK==..LOK+1
	3hIFN ..LOK,<PRINTX4 ? MISSING BEGSTR4(>

	IF2,<
	  I4HFDEF ...MSK,<SUPP4hRESS ...MSK>
	  5IFDEF ..BITS,<SUP5(PRESS ..BITS>
	 5H IFDEF .SIZ,<SUPP5hRESS .SIZ>
	  IF6DEF ..MSK,<SUPPRE6(SS ..MSK>
	  IFD6HEF ..OFF,<SUPPRES6hS ..OFF>
	  IFDE7F ..FLG,<SUPPRESS7( ..FLG>
	  IFDEF7H ..LOK,<SUPPRESS 7h..LOK>
	  IFDEF 8..LOC,<SUPPRESS .8(.LOC>
	  IFDEF .8H.OLD,<SUPPRESS ..8hOLD>
	  IFDEF ..9.OLD,<SUPPRESS ..9(.OLD>
	>

	IF19H,<
	  IFDEF ...M9hSK,<.XCREF ...MSK:>
	  IFDEF ..BIT:(S,<.XCREF ..BITS>:H
	  IFDEF .SIZ,<:h.XCREF .SIZ>
	  ;IFDEF ..MSK,<.XCR;(EF ..MSK>
	  IFD;HEF ..FLG,<.XCREF ;h..FLG>
	  IFDEF <..OFF,<.XCREF ..O<(FF>
	  IFDEF ..L<HOK,<.XCREF ..LOK><h
	  IFDEF ..LOC,=<.XCREF ..LOC>
	=(  IFDEF ..OLD,<.X=HCREF ..OLD>
	  I=hFDEF ...OLD,<.XCR>EF ...OLD>
	>
>(
	PURGE WORD,NXTW>HRD,FILLER,HWORD,F>hIELD,BIT,FIELDM
?
	A.'LENNAM==..?(OFF-B
	IFN FTSH?HOW,<RELOC ..LOC>>?h



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

	@HIFDEF ..LOK,<IFL @h..LOK,<PRINTX ? NAEW BEGSTR WITHOUTA( ENDSTR>>

	..LOK==-1


	..L?n(w0?;BEG
	  E2 ,:h
	..NA==0,(			
	IRP B,<
	,H  .BLCL2 B>		
	,hPUSH P,[..NA+1,,.-.NA+1]	
	PUSHJ P,A		
   SHJ PE2|:g 	h0V
	..SVBK	
		
	XMOVEI .A16,
(a	
	PUSH P,.A16
H
  DEFINE ENDBK.
h <
	RET			
a:!				
	.POPX>:!E3XG &H:P	
	..TRR=&h=10		
	RADIX 8		'	
	..NA==2			
	'(IRP A,<
	  ..NA'H=..NA+1>		
	IRP 'hA,<
	  .BLSU1((A,\..NA)	
	  ..N((A=..NA-1>
	..NV=(H=1			
	IRP B,<
	  .TRV1 (B)>		)
  DEFINE ENDBS.)( <.ENBS1 <A>
		)H.ENSV1 <B>> 
	J)hSP .A16,.ENTER
	*..NV-1,,..NV-1
	RADIX ..TRR1
	EJMj' Zp5_(
W0.==A
W1.==B				;INIT[XIALIZE BREAK MASK[x
W2.==C
W3.==D
==C
W3.==@5M0??0B,<
	?A0QAB (?E0    ..SEJZ UP5A	..V22==aUp
	..V1==a
	IFNVB <B>,<..V22==BV0>
REPEAT ..V22-<VPa>+1,<	
	%%W==.Vp.V1/^D32	
	%%X==W..V1-%%W*^D32	
	W0IFE C,BRKC1 \"<%WP%W+"0">	
	IFN CWp,BRKC2 \"<%%W+"0"X>
	..V1==..V1+1
		   >
.V1+1 XP5E	WA.==WA.!<1B<%%X>>
AEJ\4@ Y5K	WA.==WAY0.&<-1-1B<%%X>>
&<-1-1B<%%X>>
EJ\: T5#
%%FOO==T0a
	BRK0 (%%FOO,B,0)
 (%%FOO,EJn:g \85m
	BRINI. A\X,B,C,D	
	IRPC\x E,<	UNBRK. "E"]>	
	IRPC F,<	BR]8KCH. "F">	
	EXP]X W0.,W1.,W2.,W3.		
W1.,W2.,W3.	Ge@ ,GeLR +G@ U0%+OP%%CA (A,B,)OP%%CA (AGD Xp%GOP%%CA (A,B,A)P%%CA (AGDP Vp%7OP%%CA (A,B,E)P%%CA (AGDp W0%;OP%%CA (A,B,G)P%%CA (AGDy  Wp%?OP%%CA (A,B,GE)%%CA (AGE@ Up%/OP%%CA (A,B,L)P%%CA (AGEI  V0%3OP%%CA (A,B,LE)%%CA (AGE` X0%COP%%CA (A,B,N)P%%CA (AG?Z 
P m
	ASCIZ /
p
COPYRIGHTQ(c)MDT 
ALL RIGHTS RESERVED.
/TS RESERVI  \H-f
	..STR0 \h(.DECR0,,<A>,<B>)CR0,,<A>,<BI6= pp'
	A==<-1qB<C>+1B<C-D>> q0
	IF1,<IFDEF %AqP,<PRINTX ?A ALREqpADY DEFINED>>
	DrEFINE %A (OP,AC,r0Y,MSK)<
	$A==<ZrP B>		
	OP (<AC>,B'Y,MSK)><AC>I'7 ]P%mOP%%IN	(A,B,DIV)%IN	(AI<p 
(0t
	..SVLD	
H		
a:!				
  D
hEFINE OD. <
b:!
	.POPX>			
H DEFINE LOOP. <
	JRST a>		
hDFINE TOP. <a>		
  DEFINE ENDLP(. <b>		
  DEFINHE EXIT. <
	JRST b>T. <
	JRST IKH1 x:
..TMSK==..MASK
..TNAC==.8.NAC-1
REPEAT ..XNAC,<
   IFN ..TxMSK,<
	..NUM==^L<..TMSK>
	..TMSK8==..TMSK-1B<..NUMX>
	IFE ..TMSK & x1B<..NUM+1>,<
		 MOVE ..NUM,-..TNA 8C(P)
		..TNAC==. X.TNAC-1>
	IFN .. xTMSK & 1B<..NUM+1!>,<
		DMOVE ..NU!8M,-..TNAC(P)
		.!X.TNAC==..TNAC-2
!x		..TMSK==..TMSK-"1B<..NUM+1>>
	>>"8
IFG ..NAC,<ADJSP P,-..NAC>
JSINh1 x9k
IFG ..NAC,<ADJSP P,..NAC>8
..TMSK==..MASK
..TNAC==..NAC-1
REPEAT ..NAC,<
   IFN ..TMSK,<
8	..NUM==^L<..TMSKX>
	..TMSK==..TMSxK-1B<..NUM>
	IFE ..TMSK & 1B<..NU8M+1>,<
		MOVEM .X.NUM,-..TNAC(P)
x		..TNAC==..TNAC-1>
	IFN ..TMSK &8 1B<..NUM+1>,<
	X	DMOVEM ..NUM,-..xTNAC(P)
		..TNAC==..TNAC-2
		..T8MSK==..TMSK-1B<..NUM+1>>
	>>
.K,lz s''
	A==<-1s0B<C>+1B<C-D>> sP
	IF1,<IFDEF %Asp,<PRINTX ?A ALREtADY DEFINED>>
	Dt0EFINE %A (OP,AC,tPY,MSK)<
	OP (<ACtp>,<@[EP. B'Y]>,MSK)>P. B'Y]>,MK+\Y`p0@p0@4p0@4np0@UN.,HK+`p0@p0@
4p0@4pp0@
UNEMK3S@ 3f....UK7<z w0'G
	A==C	wP	
	IF1,<IFDEF %wpA,<PRINTX ?A ALRxEADY DEFINED>>
	x0DEFINE %A (OP,ACxP,Y,MSK)<
	OP (<AxpC>,<@[EP. B'Y]>,MSK)>P. B'Y]>,K:$Kg 0v
	OD.K:%G 3h....U-jK@p =H<
	..I==0
	..X==0
	MAKRM.> (..CON,..GET)
	>(..CON <EXIND. ..I>H,>
	IRPC A,<
	>h  ..SC==0
	  IFE? "A"-"@",<..I==1?(
			..SC=1>
	  ?HIFE "A"-"(",<..C?hON <,>
			..SC=1@
			..X==1>
	  @(IFE "A"-")",<
	@H    IFE ..X,<PRIN@hTX %UNEXPECTED RIAGHT PAREN IN EP. A(MACRO>
			..SC=1AH>
	AhIFE ..SC,<
	   ..CON <A>>>B
	IFE ..X,<
	  B(..CON <,0>>
	..CBHON <
>
	..GET
   
>
	..GET
KCm ;H;h
	  DEFIN;hE ..EP. (LOCN,PTE<XT)
	    <PRINTX<( Location 'LOCN':<H PTEXT
	    >
	<h  ..EP.(\.,<A>)
	  PURGE ..EP.
	  URGE ..EP.
KJn9` R05
	ERJMP	[RPTMSG <? A>
		 JSHLT]
A>
		 JKbMi C<<<A>B1+<C>B5+<B>>B1+<Kc  S5
   IF2,<S0
	IRP A,<
	IFNSPDEF A,<EXTERN A
	SUPPRE A>>>M&. cP&OP%%FP	(A,B,FADR)FP	(AM6. e&)OP%%FP	(A,B,FDVR)FP	(AM2   P"<<<A>B<POS(<B>)>>&<B>>M2$*g b67
	..XX==<b8FLD(A,CM%FNC)>+bXB+<Z G>
   IFNBbx <D>,<..XX=CM%HPcP!..XX>
   IFNB c8<E>,<..XX=CM%DPPcX!..XX>
   IFNB <cxF>,<..XX=CM%BRK!d..XX>
	..XX
   d8IFNB <C>,<C>
 dX  IFB <C>,<0>
 dx  IFNB <D>,<POINeT 7,[ASCIZ D]>e8
   IFB <D>,<IFeXNB <EF>,<0>>
 ex  IFB <E>,<IFNB f<F>,<0>>
   IFNf8B <E>,<POINT 7,[fXASCIZ \E\]>
   fxIFNB <F>,<F>
    <F>,<F>
M2$HG ^6

	..XX==<^8FLD(A,CM%FNC)>+^XB+<0,,F>
   IFN^xB <D>,<..XX=CM%H_PP!..XX>
   IFNB_8 <E>,<..XX=CM%DP_XP!..XX>
	..XX
x  IFNB <C>,<C>
`8IFB <C>,<0>
   IFNB <D>,<PO`XINT 7,[ASCIZ D`x]>
   IFB <D>,<aIFNB <E>,<0>>
 a8  IFNB <E>,<POINaXT 7,[ASCIZ \E\]>7,[ASCIZ \E\]>M7. dP&%OP%%FP	(A,B,FMPR)FP	(AM7p Op5
	HRROI .PAC2,[ASCIZ \A\]
	MOVEI .AC3,0
	SOUTI .AC3,0
	M?c@ "p"

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

	..ERR.=c(0		
	  .BSIZ.=BcH		
	ch.BPOS.=D
	IFN <<A>&<^O<-d1,,770000>>>,<
	d(  MPRNTX(G2BPT,SedXction greater thajhn 12 bits: A)
	k  ..ERR.=1
	k(>
	IFN <<C>&<^O<7kH77740,,0>>>,<
	 kh MPRNTX(G2BPT,Bitls 0 - 12 non-zerol( in address fieldlH: C)
	  ..ERR.=lh1
	  >
	IFN <<mE>&<-1,,0>>,<
	 m( MPRNTX(G2BPT,BitmHs 0-17 non-zero imhn optional field:n E)
	  ..ERR.=1n(
	  >
	IFN <.BSnHIZ.&<^O<-1,,77770nh0>>>,<
	  MPRNTXo(G2BPT,Bytesize go(reater than 6 bitoHs: B)
	  ..ERR.oh=1
	  >
	IFN <.pBPOS.&<^O<-1,,777p(700>>>,<
	  MPRNpHTX(G2BPT,Byte offphset greater than q6 bits: D)
	  .q(.ERR.=1
	  >
	IqHFN ..ERR.,<-1,-1,qh-1>		
	
	IFE ..rERR.,<
	  IFDIF r(<D><>,<<<POINT .rHBSIZ.,E,.BPOS.>!rh1B12>&<^O<777740,s,-1>>>
	tIFIDN s(<D><>,<<<POINT .sHBSIZ.,E>!1B12>&<sh^O<777740,,-1>>>
	    
	    <<<t(C>_<^O14>>&<^O<37tH0000,,0>>!<<C>&<th0,,-1>>!<<A>_<^Ou22>>>
	  >
	PURu(GE ..ERR.,.BSIZ.,.BPOS.
	BSIZ.,A">0		GENBPON{  Fh<^
	..ERR.=G0		
	IFN <<A>&<G(^O<-1,,770000>>>,GH<
	  MPRNTX(GFIWGhM,Section greaterH than 12 bits: AH()
	  ..ERR.=1
	HH  >
	IFN <<B>&<Hh^O<777740,,0>>>,<I
	  MPRNTX(GFIWMI(,Bits 0 - 12 non-IHzero in address fIhield: B)
	  ..EJRR.=1
	  >
	IFNJ( ..ERR.,<-1,-1,-1JH>	
				
	IFE ..JhERR.,<
	  <<<B>K_<^O14>>&<^O<3700K(00,,0>>!<<B>&<0,KH,-1>>!<<A>_<^O22Kh>>>>
	PURGE ..ERR.
	PURGE ..ERSNn ^%qOP%%IN	(A,B,IDIV)IN	(AS)` 'H2H
	JUMPN 'hA,b		
	..SVDF		(	
   DEFINE ..TA((GF (INST,PCT)<
	(HINST b'PCT>		
 (h  DEFINE ..TAGE ()INST,PCT)<
	INST c'PCT>		
	STS.:g &(28
	PRINTX &H% IFESK. should b&he changed to IFNJ'E.
	IFNJE. <A>.
	IFNJE. <A>S9` +H2h
	JUMPLE +hA,b		
	..SVDF	,		
   DEFINE ..T,(AGF (INST,PCT)<
,H	INST b'PCT>		
,h   DEFINE ..TAGE -(INST,PCT)<
	INST c'PCT>		
	SS<S@ -H2x
	JUMPL -hA,b		
	..SVDF		.	
   DEFINE ..TA.(GF (INST,PCT)<
	.HINST b'PCT>		
 .h  DEFINE ..TAGE (/INST,PCT)<
	INST c'PCT>		
	STSTS@ 1`

   IFB <(BC>,<		
	..SVDHF			
	ERJMPA fh		
	JRST d		
f:!
HDEFINE ..(TAGF (INST,PCT)<
	INST d'PCT>		
   DEFINE ..TAGE (INST,PCT)<
	IN(ST e'PCT>		
	>H
   IFNB <BC>,<h		
	ERJMPA d		
	C
	JRST e
d:!	B
e:!>
ST\G H1D

   IFB <hAB>,<		
	..SVDF			
	ERJMP e		(
	JRST c		
e:H!
   DEFINE ..TAhGF (INST,PCT)<
	INST c'PCT>		
 (  DEFINE ..TAGE (HINST,PCT)<
	INSTh d'PCT>		
	>
   IFNB <AB>,<		(
	ERJMP c		
	HB
	JRST d
c:!	A
d:!>
c:!SUc@ #(2.
   IFB <#HB>,<		
	..SVDF	#h		
	ERJMPA c
$   DEFINE ..TAGF $((INST,PCT)<
	INS$HT c'PCT>		
   D$hEFINE ..TAGE (INS%T,PCT)<
	INST d%('PCT>		
	>
   I%HFNB <B>,<
	ERJM%hPA c
	B
c:!> c
	B
c:!Sa` 1H3
	JUMPGE 1hA,b		
	..SVDF	2		
   DEFINE ..T2(AGF (INST,PCT)<
2H	INST b'PCT>		
2h   DEFINE ..TAGE 3(INST,PCT)<
	INST c'PCT>		
	SSdS@ /H3
	JUMPG /hA,b		
	..SVDF		0	
   DEFINE ..TA0(GF (INST,PCT)<
	0HINST b'PCT>		
 0h  DEFINE ..TAGE (1INST,PCT)<
	INST c'PCT>		
	STSq` )H2X
	JUMPE )hA,b		
	..SVDF		*	
   DEFINE ..TA*(GF (INST,PCT)<
	*HINST b'PCT>		
 *h  DEFINE ..TAGE (+INST,PCT)<
	INST c'PCT>		
	STSt\g H1j
	PRINTX h% IFNES. should be changed to IFJE(R.
	IFJER. <A>,<B>FJER. <A>,Su)'  H2
   IFB < hA>,<		
	..SVDF	!		
	ERJMP b
  !( DEFINE ..TAGF (I!HNST,PCT)<
	INST !hb'PCT>		
   DEF"INE ..TAGE (INST,"(PCT)<
	INST c'P"HCT>		
	>
   IFN"hB <A>,<
	ERJMP b
	A
b:!> Sv:g 1(
   IFB <(AB>,<		
	..SVDHF			
	TRNA			
	hJRST c		
   DEFINE ..TAGF (INST,(PCT)<
	INST c'PHCT>		
   DEFINE h..TAGE (INST,PCT)<
	INST d'PCT>	(	
	>
   IFNB <HAB>,<		
	JRST hc		
	B
	JRST d
c:!	A
d:!>
c:!	A
d:!>S
S@ 7H3J
	JN <A>7h,<B>,c	
	..SVD8F			
   DEFINE .8(.TAGF (INST,PCT)<8H
	INST c'PCT>		8h
   DEFINE ..TAG9E (INST,PCT)<
	I9(NST d'PCT>		
	ST d'PCT>		
	S 9h3\
	JE <A>:,<B>,c	
	..SVD:(F			
   DEFINE .:H.TAGF (INST,PCT)<:h
	INST c'PCT>		;
   DEFINE ..TAG;(E (INST,PCT)<
	I;HNST d'PCT>		
	ST d'PCT>		
	S< h2
   IFB <A>,<		
	..SVDF	(		
	JRST b
   HDEFINE ..TAGF (INhST,PCT)<
	INST b'PCT>		
   DEFI(NE ..TAGE (INST,PHCT)<
	INST c'PChT>		
	>
   IFNB  <A>,<
	JRST b
	A
b:!> bSDS@ 3H3(
	JXN A,3hB,c	
	..SVDF		4	
   DEFINE ..TA4(GF (INST,PCT)<
	4HINST c'PCT>		
 4h  DEFINE ..TAGE (5INST,PCT)<
	INST d'PCT>		
	STSEc@ 5H38
	JXE A,5hB,c	
	..SVDF		6	
   DEFINE ..TA6(GF (INST,PCT)<
	6HINST c'PCT>		
 6h  DEFINE ..TAGE (7INST,PCT)<
	INST d'PCT>		
	STS7-N ]%iOP%%IN	(A,B,IMUL)IN	(AS:  Z(-T
	..STR0 ZH(.INCR0,,<A>,<B>)CR0,,<A>,<BS? 2#
	TXO A,<B>
	TXO A,Ut@ oh/
	..STR1 p(..JAN,<d,<C>>,p(<A>,<B>,..STR5)
d:B>,..STR5)U cH.
	..STR1 ch(..JE,<C>,<A>,<B>,..STR3)A>,<U8 h.B
	..STR1h((..JN,<C>,<A>,<B>,..STR3)A>,<U:
	..STR1 mH(..JNA3,<C>,<A>,<B>,..STR4)A>U:~  s/
	..STR1 s((..JNO,<d,<C>>,sH<A>,<B>,..STR5)
d:B>,..STR5)U? lH.f
	..STR1 lh(..JN,<C>,<A>,<B>,..STR4)A>,<UN.,@`p0?}p0?z,p0?}4np0?zUN.,HUN.,HA  UN.,HUNEM`p0@	p0@,p0@	4pp0@UNEMUNEMA  UNEMUNn9hA  UNn9hUb( F0$K
	..JX1==FPB		
	.IFN ..JX1Fp,ABSOLUTE,<PRINTXG B NOT ABSOLUTE
		..JX1==0>
	.IGPF ..JX1,ABSOLUTE,Gp<
	.IF0 <<..JX1>H-1B0>,<	
		JUMPGH0E A,C>,<
	.IF0HP <<..JX1>+1>,<	
Hp	  JUMPE A,C>,<I	
		TXNN (A,..JI0X1)
		JRST C>>>)
		JRST C>>>Ub0 Q0%'
	..JX1==QPB		
	.IFN ..JX1Qp,ABSOLUTE,<PRINTXR B NOT ABSOLUTE
		..JX1==0>
	.IRPF ..JX1,ABSOLUTE,Rp<
	.IF0 <<..JX1>S-1B0>,<
		JUMPGES0 A,C>,<
	..ONESPB (..BT,B)	
	.ISpF0 ..BT,<
	  SETTCM .SAC,A		
	  T0JXN (.SAC,..JX1,TPC)>,< 
	    TXNNTp A,..JX1	
	    JRST C>>>	    Ubp Ip$g
	..JX1==JB		
	.IFN ..JX1J0,ABSOLUTE,<PRINTXJP B NOT ABSOLUTE
		..JX1==0>
	.IKF ..JX1,ABSOLUTE,K0<
	.IF0 <<..JX1>KP-1B0>,<	
		JUMPLKp A,C>,<
	.IF0 L<<..JX1>+1>,<	
	L0  JUMPN A,C>,<	LP
		TXNE (A,..JXLp1)
		JRST C>>>)
		JRST C>>>Ubx M0%
	..JX1==MPB		
	.IFN ..JX1Mp,ABSOLUTE,<PRINTXN B NOT ABSOLUTE
		..JX1==0>
	.INPF ..JX1,ABSOLUTE,Np<
	.IF0 <<..JX1>O-1B0>,<
		JUMPL O0A,C>,<
	..ONEBOP (..BT,B)	
	.IFOp0 ..BT,<
	  SETCPM .SAC,A		
	  JP0XE (.SAC,..JX1,CPP)>,< 
	    TXNE PpA,..JX1	
	 JRSTC>>>	    JXF
	.BSIZ.=LHA		
	.BPOS.=C
	..ERR.=0		
	IFMN <<B>&<^O<77774M(0,,0>>>,<
	  MPRMHNTX(L1BPT,Bits 0 Mh- 12 non-zero in Naddress field: BN()
	  ..ERR.=1
	NH  >
	IFN <.BSIZ.Nh&<^O<-1,,777700>>O>,<
	  MPRNTX(L1O(BPT,Bytesize greaOHter than 6 bits: OhA)
	P..ERR.=1
	  >
	IFN <.BPOP(S.&<^O<-1,,777700PH>>>,<
	  MPRNTX(PhL1BPT,Byte offsetQ greater than 6 bQ(its: C)
	  ..ERQHR.=1
	  >
	
	IQhFN <..ERR.>,<-1,-R1,-1>
	
	IFE <.R(.ERR.>,<
	  IFIDRHN <C><>,<POINT .RhBSIZ.,B>
	  IFDSIF <C><>,<POINT S(.BSIZ.,B,.BPOS.>SH
	  >
	PURGE ..ShERR.,.BSIZ.,.BPOS.
	BSIZ.,.BPOSXJ
	..ERR.=Zh0		
	  .BSIZ.=A[		
	[(.BPOS.=C
	IFN <<B>&<^O<7[H77740,,0>>>,<
	 [h MPRNTX(L2BPT,Bit\s 0 - 12 non-zero\( in address fieldT(: B)
	  ..ERR.=TH1
	  >
	IFN <<ThD>&<-1,,0>>,<
	 U MPRNTX(L2BPT,BitU(s 0-17 non-zero iUHn optional field:Uh D)
	  ..ERR.=1V
	  >
	IFN <.BSV(IZ.&<^O<-1,,77770VH0>>>,<
	  MPRNTXVh(L2BPT,Bytesize gWreater than 6 bitW(s: A)
	  ..ERR.WH=1
	  >
	IFN <.WhBPOS.&<^O<-1,,777X700>>>,<
	  MPRNX(TX(L2BPT,Byte off^(set greater than ^H6 bits: C)
	  .^h.ERR.=1
	  >
	I_FN ..ERR.,<-1,-1,_(-1>		
	
	IFE .._HERR.,<
	  IFDIF _h<C><>,<<<POINT .`BSIZ.,D,.BPOS.>!`(1B12>&<^O<777740,`H,-1>>>
	aHIFIDN `h<C><>,<<<POINT .aBSIZ.,D>!1B12>&<a(^O<777740,,-1>>>
	    <1B0!<<^O<4ah00037,,-1>>&<B>>b>	
	  >
	PURGE b(..ERR.,.BSIZ.,.BPOS.
	BSIZ.,.BPA!=P0(B).YN{  CH<2
	..ERR.=Ch0		
	IFN <<A>&<D^O<777740,,0>>>,<D(
	  MPRNTX(LFIWMDH,Bits 0 - 12 non-Dhzero in address fEield: A)
	  ..EE(RR.=1
	  >
	IFNEH ..ERR.,<-1,-1,-1Eh>	
	IFE ..ERR.,<F1B0!<<^O<400037,,F(-1>>&<A>>>	
	PURGE ..ERR.
	PUY$- Ah,1_<^D35-^L<A>>1_<^D35-^LY>
@ E,*
	..STR0 E((..LDB,A,B,<C>)LDB,A,B,<C>Y>
I  H,B
	..STR0 H((..LDBE,A,B,<C>)DBE,A,B,<C[i9Q ~[^+' '"K
  DEFINE'0 A (STUFF)<
	c'P (<STUFF>,)>

 'p DEFINE c (NEW,O(LD)<
    DEFINE (0A (STUFF)<
	c (P(<STUFF>,<OLD'NEW(p>)>>

  DEFINE )B <
    DEFINE )0c (NEW,OLD)<OLD>
	A ()>
OLD>[3@ B(,<<<1_<A>>-1>B<B>>_<A>>[8@ !p"<1B<<A>-1>-1B<B>><A>-1[>!` "0"<<A>-<<A>/<B>>*<B>>A[?7 )p#
   ..MX1*==B			
*P.IFN *0..MX1,ABSOLUTE,<
	MOVE A,[B]>
*p   .IF ..MX1,ABSO+LUTE,<
	..MX2==0+0		
	IFE <..MX1>B+P53,<
	  ..MX2==1+p
	  MOVEI A,..M,X1>	
	IFE ..MX2,,0<		
	IFE <..MX1>,PB17,<
	  ..MX2==,p1
	  MOVSI A,(.-.MX1)>>	
	IFE ..-0MX2,<		
	IFE <<.-P.MX1>B53-^O777777-p>,<
	...MX2==1
	  HRROI A,<..M.0X1>>>	
	IFE ..MX.P2,<		
	IFE <<..M.pX1>B17-^O777777B1/7>,<
	  ..MX2==1/0
	/pHRLOI A,(../PMX1-^O777777)>> 
	IFE ..MX2,<		
0	  MOVE A,[..MX1]>	
  >,[..MX1[Cm 9(;X
	  DEFIN9HE ..MP. (LOCN,MTE9hXT,PTEXT)<
	    :PRINTX Location ':(LOCN', Macro 'MTE:HXT': PTEXT
	    :h>
	  ..MP.(\.,A;,<B>)
	  PURGE ..MP.
	  URGE [N^= u0'7
	A==C	uP	
	IF1,<IFDEF %upA,<PRINTX ?A ALRvEADY DEFINED>>
	v0DEFINE %A (OP,ACvP,Y,MSK)<
	$A==<vpZ B>		
	OP (<AC>,B'Y,MSK)><AC[Vg \P%eOP%%IN	(A,B,MUL)%IN	(A[Xp 0P#
	MOVE .S0pAC,A
	MOVEM .SAC,B
	MOVEM .SA[ZI` 10#
	MOVX .S1PAC,<A>
	MOVEM .SAC,B
	MOVEM ._@(Xp Y0%Y
	.XCREF
IFE	<<B>_-^D18>Yp,<
	.CREF
	CAIZC	A,<B>
	.XCREZ0F
>
IFN	<<B>_-ZP^D18>,<
	.CREF
Zp	CAMC	A,[B]
	[.XCREF
>
	.CREFCREF
>
	.CREF_@(YX eP&9
	.XCREF
IFE	<<B>_^D18>,f<
	.CREF
	CI	f0A,(B)
	.XCREF
fP>
IFN	<<B>_^D18fp>,<
	.CREF
	C	gA,[B]
	.XCREF
>
	.CREFCREFP&	
	.XCREF
	TEST%%=0
IFE	<_<<B>_-^D18>-^O77_07777>,<
IFN	<<B_P>&^O777777>,<
	T_pEST%%=1
	.CREF
`	DI	A,-<B>
	.`0XCREF
>>
IFE	TE`PST%%,<
	OP%%IN	`pA,<B>,C
>
	PUaRGE	TEST%%
	.CREF	TEST%%
	.CRE_@(Z7 aP&
	.XCREF
IFE	<<B>_-^D18>b,<
	.CREF
	CI	b0A,<B>
	.XCREF
>
IFN	<<B>_-^Dbp18>,<
	.CREF
	cC	A,[B]
	.XCREF
>
	.CREFCRE_CL@ ^h-x
	..STR0 _(.OPST1,<A>,<B>,<C>)<A>,<B>_CLV a.

	..STR0 a((.OPST2,<A>,<B>,<C>)<A>,<B>_^>@ Y(=J<..OWGP (\<A>,B,\<C>)>A =F^O44 B-_^>
G Yh=NOWGP. 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= Pp5
   IFNB Q<A>,<
	TMSG <AQ0>>
	CALL JSMSG0>
	CALL JSMSG0a4\G !
	..PGV0=8=.		
	.JBVER=:^OX137		
	LOC	.JBVExR		
	BYTE	(3)D(9)A(6)B(18)C
8	.ORG	..PGV0		
.ORG	..PGV0		
a>Mm p"<POINT WID (<B>),A,POS(<B>)>),A,POS(<Ba? 0!{<^L<<A>&<-<A>>>><<A>&<aKH1 $X:/
	..NUM==$x^D15
	REPEAT ^D1%6,<
		IFN ..MASK%8 & 1B<..NUM>,<
	%X	POP P,..NUM>
		%x..NUM==..NUM-1
	>
==..NUM-1
	aNh1 "x:!
	..TMSK=#=..MASK
	REPEAT #8..NAC,<
		..NUM=#X=^L<..TMSK>
		..#xTMSK==..TMSK-1B<.$.NUM>
		PUSH P,..NUM
	>
H P,.aR<& v0?3
	TXO A,.FR8BY
	TXO A,aRd6 uh?.
	HRLI A,(POINT 8,0) AdA  de  ,~e&:x NP4uJRST RSKPwJRST RSKPeN^A  eN^gXY ~8
	..TRR==~(10		
	RADIX 8
	~H..NV==1			
	IRP ~hA,<
	  .TRV1 (A)>		
	IFG ..NV-(5,<PRINTX ?TOO MAHNY ARGUMENTS: A>h
	JSP .A16,.SASET		
	RADIX ..TRR(		
	DEFINE ENDSAH.<.ENSV1 <A>>
	.ENSV1 <A>>
	g4X1 89/

..DONEX==0
..SACC==0
.x.NAC==0
..MASK==
0

IRP <A>,<

8	IFG A-^D15,<PRI
XNTX ?SAVEAC(A) I
xS ILLEGAL,
		CAPINTXU?SAVEAC
	IFE A-.SAC,<..SACC==1>
	..SYA8C==A				
	IFN XA-.SAC,<IFE ..MASxK&1B<..SYAC>,<	
		..MASK==..MASK!81B<..SYAC>	
		..XNAC==..NAC+1>>
	x>
IFE ..SACC,<USRSAV>		
IFE ..DO8NE,<
  IFLE ..SAXCC,<JSP .SAC,[>
x  IFG ..SACC,<CALL [EXCH .SAC,(P)>8
		    IFG  ..NAXC-3,<DSAVAC>
		 x   IFLE ..NAC-3,<IFG ..NAC,<PSAVAC8>>
		    PUSHJ PX,(.SAC)
		      xTRNA
		    AOS -..NAC-..SACC(P)
8		    IFG  ..NAC-X3,<DRSTAC>
		   x IFLE ..NAC-3,<IFG ..NAC,<PRSTAC>>8
		    IFG ..SACXC,<POP P,.SAC>
	x	    POPJ P,]
>
PURGE ..NAC,..TN8AC,..MASK,..TMSK,X..SACC,..NUM,..SMxSK,..DONE,..SYAC  
DONE,..SYAC g$;8 W-:
	..STR1 W((..TQC,,<A>,<B>,..STR4)A>,<B>g%{R SH-
	..STR1 Sh(..TQO,,<A>,<B>,..STR4)A>,<B>g',W Oh-
	..STR1 P(..TQZ,,<A>,<B>,..STR4)A>,<B>g"~s@ 0!s
	....Z=A
	....Z=gB8; 89C
	IFE ..DXONE,<
		..SMSK==x0
		IRP <B>,<
		   ..SYAC==B		8		
		   ..SMSK==X..SMSK!1B<..SYAC>x>		
		IFE ..MASK-..SMSK,<JSP .SAC8,A
				   ..DONE==1>
	>
.DONgR$g !%
F=:0
T10=:1
T2=:2
T3=:3P
T4=:4
Q1=:5
Qp2=:6
Q3=:7
P1=:10
P2=:11
P3=:102
P4=:13
P5=:14P
P6=:15
CX=:16
P=:17
CX=:16h(6Z
	..STKR=hH=10		
	RADIX 8
hh	..STKN==0
	IRP iA,<
	  .STKV1 (i(A)>
	JSP .A16,.iHXSTKS		;Call inteihrnal routine for jallocation
	 EXPj( ..STKN		;Size ofjH block to allocatjhe
	RADIX ..STKR
	DEFINE ENDSV.<.k(ENSV1 <A>>
   NSV1 <A>>
   gR~  Lh,h
	..STR0 M(..DPB,A,B,<C>)DPB,A,B,<C>gV \%aOP%%IA	(A,B,SUB,ADD)(Ai6tP u/*
	..STR1 u((..TYNE,,<A>,<B>,..STR3)A>,<Bi6u` xh/H
	..STR1 y(..TYNN,,<A>,<B>,..STR3)A>,<Bi7p O4{
	HRROI .O0AC1,[ASCIZ \A\]
	PSOUTZ\A\]
	    ..ShTR1 (..TY,C,<A>,<B>,..STR3)A>,iF h00
	    ..STR1 (..TY,CA,<A>,<B>,..STR3)A>iFP (0$
	    ..SHTR1 (..TY,CE,<A>,<B>,..STR3)A>iF` 0*
	    ..S(TR1 (..TY,CN,<A>,<B>,..STR3)A>iFp zH/V
	    ..SzhTR1 (..TY,N,<A>,<B>,..STR3)A>,iFt |h/h
	    ..S}TR1 (..TY,NA,<A>,<B>,..STR3)A>iFtP {(/\
	    ..S{HTR1 (..TY,NE,<A>,<B>,..STR3)A>iFu` |/b
	    ..S|(TR1 (..TY,NN,<A>,<B>,..STR3)A>iFx }H/n
	    ..S}hTR1 (..TY,O,<A>,<B>,..STR3)A>,iF| h0
	    ..STR1 (..TY,OA,<A>,<B>,..STR3)A>iF|P ~(/t
	    ..S~HTR1 (..TY,OE,<A>,<B>,..STR3)A>iF}` /z
	    ..S(TR1 (..TY,ON,<A>,<B>,..STR3)A>iGP H0
	    ..ShTR1 (..TY,Z,<A>,<B>,..STR3)A>,iGT h0
	    ..STR1 (..TY,ZA,<A>,<B>,..STR3)A>iGTP (0

	    ..SHTR1 (..TY,ZE,<A>,<B>,..STR3)A>iGU` 0
	    ..S(TR1 (..TY,ZN,<A>,<B>,..STR3)A>iK4@ s7*
	..TRR==s(10		
	RADIX 8
	sH..NV==1			
	IRP shA,<
	  .TRV1 (tA)>		
	JSP .A16,t(.XTRST		
	uEXP .tH.NV-1		;Size of bthlock to allocate
	RADIX ..TRR		
u(	DEFINE ENDTV.<.ENSV1 <A>>
	.Eib >#q
		..TX(C,A,<B>)..TX(Cib ?P#}
		..TX(CA,A,<B>).TX(CibP >P#u
		..TX(CE,A,<B>).TX(Cib` ?#y
		..TX(CN,A,<B>).TX(Cibp 8#A
		..TX(N,A,<B>)..TX(Nibt 9P#M
		..TX(NA,A,<B>).TX(NibtP 8P#E
		..TX(NE,A,<B>).TX(Nibu` 9#I
		..TX(NN,A,<B>).TX(Nibx :#Q
		..TX(O,A,<B>)..TX(Oib| ;P#]
		..TX(OA,A,<B>).TX(Oib|P :P#U
		..TX(OE,A,<B>).TX(Oib}` ;#Y
		..TX(ON,A,<B>).TX(OicP <#a
		..TX(Z,A,<B>)..TX(ZicT =P#m
		..TX(ZA,A,<B>).TX(ZicTP <P#e
		..TX(ZE,A,<B>).TX(ZicU` =#i
		..TX(ZN,A,<B>).TX(Zk:*g Tp5)
%%FOO==Ua
	BRK0 (%%FOO,B,1)
 (%%FOO,kO8; 8Wm$,I1P$m$,YP#m$-X5Q |m$-Z7Q xm$.zQ po&  p!w<^L<-<<A>_<^L<A>>>-1>>>q
fC@ gH6<
	EXTEND A,[XBLT]XTEND q"eJ  P q6~i4 C q? 3#
	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 &S
	A:&@ MH,z
	..TSIZ Mh(..PST,C)
	.CASNE ..PST,<<
		MOVN(EM A,B>,<
		HRNHRM A,B>,<
		HRNhLM A,B>,<
		DPOB A,[POINT WID(<O(C>),B,POS(<C>)]>>B,POS(<C>):<;Y (u
   DEFIN0E ..CNS2 (NEW,OLDP)<
	  OLD>			
	..CNS ()>			
	:L;Y p(m
   DEFIN
E ..CNS (ARG)<
	
0..CNS2 <ARG>,>

P
   DEFINE ..CNS2
p (NEW,OLD)<
	DEF..CNS (ARG)<
	<O..CNS2><ARG>,
   OLD'NEW>>>
   :Mi CH4,
 DEFINE ChELSE. <
	..TAGE D(JRST,)		
	..TAGD(F (,<:!>)		
	SYNDH ..TAGE,..TAGF	
Dh   DEFINE ELSE. <E....U>>	

 DEFIE(NE ENDIF. <
	..TEHAGF (,<:!>)		
	..RSDF>			
   .:TH ph/
	..JNA3 (A,C,D)JNA3 :TI q(/
	..TSAC qH(..ACT,C)
	.IF0qh ..ACT,<
	  SETCrM .SAC,C	
	  JXr(E (.SAC,D,<B>)>rH,<	
	  JXO (C,D,<B>)>O (C,:TP d(.<
	..TSAC dH(..ACT,B)	
	.IFdh0 ..ACT,<
	  ..TeSIZ (..PST,C)	
e(	  .CASE ..PST,<<eH
		SKIPN B	
		ehJRST A>,<
		HRRfZ .SAC,B	
		JUMf(PE .SAC,A>,<
		fHHLRZ .SAC,B	
		fhJUMPE .SAC,A>,<
		MOVE .SAC,B	
		JXE (.SAC,C,<gHA>)>>>,<
	  JXE (B,C,<A>)>E:U` hh.`
	..TSAC i(..ACT,B)	
	.IFi(0 ..ACT,<
	  ..TiHSIZ (..PST,C)
	ih  .CASE ..PST,<<
		SKIPE B	
		Jj(RST A>,<
		HRRZjH .SAC,B	
		JUMPjhN .SAC,A>,<
		HkLRZ .SAC,B	
		Jk(UMPN .SAC,A>,<
kH		MOVE .SAC,B	
kh		JXN (.SAC,C,<lA>)>>>,<
	  JXN (B,C,<A>)>N :Uh) n.z
	..TSAC n((..ACT,B)
	.IF0nH ..ACT,<
	  SETCnhM .SAC,B	
	  JXoN (.SAC,C,<A>)>o(,<	
	  JXF (B,C,<A>)>F (B,:Ukh t/ 
	..JN (A,C,D)..JN (:Uki tH/$
	..JE (<B>,C,D)JE (<:dH@ Eh,<
	..TSIZ F(..PST,C)
	.CASF(E ..PST,<<
		MOVFHE A,B>,<
		HRRFhZ A,B>,<
		HLRGZ A,B>,<
		LDBG( A,[POINT WID(<GHC>),B,POS(<C>)]>>B,POS(<C>)]:dHR Hh,b
	..TSIZ I(..PST,C)
	.CASI(E ..PST,<<
		MOVIHE A,B>,<
		HRRIhE A,B>,<
		HLRJE A,B>,<
		JSPJ( .SAC,[LDB A,[POJHINT WID(<C>),B,JhPOS(<C>)]
			  K..MSK==MASK.(WID(K(C),35)
			  TXNKHE A,LFTBT.(..MSKKh)	
			  TXO A,^L-..MSK	
			  PURL(GE ..MSK
			  JRST (.SAC)]>> JR:}i1 p'
	A==<<<p0-<B>>&<B>>&<1B<^L<B>>>>>&<1B<:~yx ]=nIFE 10-8, ](  <.%AC!<B>>+ ]H			     IFE 10-^D]h10,<.$AC!<B>>0,<.$AC!<B>>;@ ;9 4D
	.POPX;LH y0'[
	IFNDEF yPC,<PRINTX ?C ISyp NOT DEFINED
	  zA (<B>,<D>,.FWz0ORD)>	
	IFDEF CzP,<
	IFNDEF %C,<zp
	  A (<B>,<D{>,C)>	
	IFDEF %{0C,<
	  %C (A,<B>,<D>,C)>>;LH {p(

	..NS==0|			
	IRP C,<..N|0S=..NS+1>	
	IFE |P..NS,<PRINTX ?EMP|pTY STRUCTURE LIST}, A>
	IFE ..NS-}01,<		
	  ..STR0 }P(A,<B>,<C>,<D}p>)>
	IFG ..NS-1,~<		
	..ICNS			
~0	..CNS (<E (A,<~PB>,,>) 
	IRP C~p,<		
	  IFNDEF C,<PRINTX C NOT 0DEFINED>
	  IFDEPF C,<
	  IFNDEFp %C,<
	  ..CNS (<,C,D>)>	
	  0IFDEF %C,<
	  %PC (..STR2,,<D>,pC)> 
	  ..CNS (<)>)		
	  ..GCNS0		
	  ..ICNS		
P	  ..CNS (<E (Ap,<B>>) 
	  IFNDEF %C,<
	  ..CN0S (<,C,D>)>	
	P  IFDEF %C,<
	 p %C (..STR2,,<D>,C)>>> 
	..CNS0 (<,,)>)		
	..GCNS>)>)		
	..GC;LI p(
	..CNS (<,C,B>).CNS (;LI 0(5

	IFDIF <PD><F>,<
	  IFNpB <D>,<
	    A (<B>,D,..MSK)	0
	    IFNB <F>,P<PRINTX C AND Ep ARE IN DIFFERENT WORDS>>
	  ..MS0K==0>		
	IFNB <PF>,<
	  ..MSK=..MSK!<E>>MSK=..;LJ (E

	IFDIF <0D><F>,<	
	  IFPNB <D>,<
	    pA (<B>,D,..MSK)>	
	  ..MSK==0>	0	
	IFNB <F>,<
P	  ..MSK=..MSK!<E>>MSK=..MSK!<;LJ 	([

	IFDIF <	0D><F>,<	
	  IF	PNB <D>,<
	    I	pFNB <F>,<		
		
A1 (B,D,..MSK)>
0 
	    IFB <F>,
P<		
		A2 (B,D
p,..MSK)>> 
	  ..MSK==0>		
	IFNB 0<F>,<
	  ..MSK=..MSK!<E>>MSK=;hU (0^
	SYN ENDHBK.,a
	.PSHX <
	 SYN a,ENDBK.> SYN a,ENDBK.>;i F4B
	SYN ELSF(E.,a
	SYN ENDIFFH.,b
	SYN ..TAGFFh,c
	SYN ..TAGE,Gd
	.PSHX <
	  G(SYN a,ELSE.
	  GHSYN b,ENDIF.
	 Gh SYN c,..TAGF
	H  SYN d,..TAGE>
	..INDF			
	      NDF			
	   ;k (1


	SYN OD.H,a
	SYN LOOP.,hb
	SYN TOP.,c
	SYN EXIT.,d
	S(YN ENDLP.,e
	.PHSHX <
	 SYN a,OhD.
	 SYN b,LOOP.
	SYN c,TOP.
	 SYN d,EXIT.
H	 SYN e,ENDLP.> SYN e,ENDLP.>;$r 3l....U&=;$s 3j....U"/;&` Wh-N
	..TSIZ X(..PST,C)
	.IF0X( ..PST,<		
		SETXHCMM B>,<	
	Y..XhTSAC (..ACT,B)	
	Y(.IF0 ..ACT,<
		MOVX .SAC,C
YH		XORM .SAC,B>,<Yh
		..TX(C,B,C)>>..TX(C,B,C);&` T(-4
	..TSIZ TH(..PST,C)
	.CASThE ..PST,<<
		SETUOM B>,<
		HLLOSU( B>,<
		HRROS UHB>,<
	  ..TSAC (Uh..ACT,B)
	  .IFV0 ..ACT,<
		MOVXV( .SAC,C
		IORM VH.SAC,B>,<
		..TX (O,B,C)>>>T;&@ PH-
	..TSIZ Ph(..PST,C)	
	.CAQSE ..PST,<<
		SEQ(TZM B>,<	
		HLLQHZS B>,<	
		HRRZQhS B>,<	
	  ..TSRAC (..ACT,B)	
	R(  .IF0 ..ACT,<
	RH	MOVX .SAC,C	
	Rh	ANDCAM .SAC,B>,S<
		..TX (Z,B,C)>>>TX (Z,B,;&81 l0&m
	A==0		lP	
	..TSA1==<Z Blp>		
	.IF ..TSA1,mABSOLUTE,<	
	  Im0FE ..TSA1&^O77777mP7777760,<A==1>> 
	60,<A==1>> ;&:= jp&_
	A==3		k	
	IFE <B>+1,<k0A=0>	
	IFE <B>-kP^O777777,<A==1> kp
	IFE <B>-^O777777B17,<A==2>7;&;Q n&}
	A==0		n0	
	..TSA1==0		
nP	IRPC C,<
	  ..npTSA1=..TSA1+1
	oo IFE ..TSA1-B,<
	   IFIDN <C><oPD>,<
		A==1>		
	;'STOPI>>		
   ..TX13p==C			
40.IFN 4..TX1,ABSOLUTE,<
	TDA B,[C]>
4P   .IF ..TX1,ABSO5LUTE,<		
	..TX2=4p=0		
	IFE <..TX150&^O777777B17>,<
5P	  ..TX2==1		
	 5p TRA B,..TX1>
6	IFE ..TX2,<		
	60IFE <..TX1&^O77776P77>,<
	  ..TX2==6p1		
	  TLA B,(7..TX1)>>
	IFE ..70TX2,<		
	  IFE <7P<..TX1>B53-^O77777p77>,< 
	    ..TX@3 (A,B)>>	
	IF@0E ..TX2,<		
	  I@PFE <..TX1+1>,<	
@p	    ..TX4 (A,BA)>>
	IFE ..TX2,<A0		
	  TDA B,[..TX1]>	
  >,[.;'` Ap$!
	IFIDN <BA><Z>,<		
	  ..B0TX2==1
	  ANDI BPB,^-..TX1>	
	IFIBpDN <A><O>,<		
	C  ..TX2==1
	CPORC0CMI B,^-..TX1>	
	IFIDN <A><C>,<Cp		
	  ..TX2==1
D	  EQVI B,^-..TX1>QVI B,^-..TX;' DP$/
	IFIDN <DpA><NN>,<
	  ..TEX2==1
	  CAIN BE0,0>		
	IFIDN <AEP><NE>,<
	  ..TX2Ep==1
	  CAIE B,0>
	  CAIE B,0;' (0J
	..TSAC H(..ACT,B)	
	.IFh0 ..ACT,<
		PRIN	TX ?TQA - B NOT	( IN AC>,<
		TXA B,C>
		TXA;'R uh/B
	..TSAC v(..ACT,B)	
	.IFv(0 ..ACT,<
	  ..JvHX1==C
	  .IF0 <w..JX1-1B0>,<
		SvhKIPGE B>,<
	   w( .IF0 <..JX1+1>,<wH
		SKIPE B>,<
wh		MOVE .SAC,B
	x	TXNE .SAC,C>>>,x(<
		TXNE B,C>
		TXNE B,C>;'W yH0>
	..TSAC yh(..ACT,B)	
	.IFz0 ..ACT,<
	  ..Jz(X1==C
	  .IF0 <H..JX1-1B0>,<
		ShKIPL B>,<
	(  .IF0 <..JX1+1>,<
		SKIPN B>,<
	H	MOVE .SAC,B
		hTXNN .SAC,C>>>,<
		TXNN B,C>
`P P  P 0P d  8
	.ACV2 (A)
	.ACV2 (d@ X87
   IFDEFx A,<.IF A,SYMBOL,<PRINTX ACVAR 8A ALREADY DEFINEDX>>
	A==.FPAC+..xNAC	
	$A==A		
	IFB <B>,<..NAC8=..NAC+1>
	IFNB X<B>,<
	...X==Bx
	IF2,<.IFN ...X,ABSOLUTE,<PRINTX8 ?ACVAR A, B isX not absolute>>
x	..NAC=..NAC+...X>NAC=..NAC+...Xd` 88G
	IFG A-X.NPAC,<PRINTX ?TOxO MANY ACS USED>
	IFLE A-4,<
	 8 JSP .A16,.SAVA>X	
	IFG A-4,<
	x  JSP .A16,.SAV8>JSP .A16,.SAV8>):A  ):9:A  9:
d; .;.
	  IFIDN.( <A><.>,<
		XMO.HVEI .A16,B	
		P.hUSH P,.A16>
	  I/FDIF <A><.>,<
	/(  .IFATM <A>,.BL/HF4	
	  .BLF1==0	/h	
	  IFN .BLF4,<0		
	    .IF %A,0(MACRO,<	
		.BLF10H==1>	
	    IFNB 0h<B>,<
		.BLF1==11>	
	    IFN .BL1(F1,<		
		LOAD .A1H16,A,B
		PUSH 1hP,.A16>>
	  IFE 2.BLF1,<		;IF WASN2('T A STRUCTURE RE2HF,
	    IFN .BLF2h4,<		
	     .BLF32==<<Z A>&17B17>3(-<P>B17 
	      3H.IF .BLF2,ABSOLUT3hE,< 
	       IFE4 .BLF2,<		
	    4(   .BLF1==1		
	 4H      .BLF3==<Z 4hA>&777777
		PUSH5 P,.BLF3-..NA(P)>5(>>> 
	  IFE .BLF5H1,<		
		PUSH P,5hA>>	
	  ..NA=..NA+1
	  ..NA=..N
d;	 -H:l
	.BLCL1 A
	.BLCL1 
f=( *H:V
	DEFINE *hA<-^OB(.FP)>
	$A==<Z A>>
	9  hp&Q
	..CSN==iA
	..CSC==0
	Ii0RP B,<
	IFE ..CiPSN-..CSC,<
	  STipOPI
	  ..CAS1 (jB)>
	..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 DH9P DI6P ?D\qP FH1P FmP S@P Z !		
	XLIST0
	LOC 0
	COPYRTP A
     .IFN .,pABSOLUTE,<PRINTX ?.CPYRT, COPYRIGH0T IS NOT ABSOLUTEP>
     IFGE .-^Op22,<PRINTX %COPYRIGHT DOESN'T FIT 0IN SINGLE REL BLOPCK>
	RELOC
	LIST
	SALL

	LIS,<H ](-r
	..PST==]HC&<-C>
	.IF0 .]h.PST-1,<
		SOS ^B>,<	
		MOVX .SA^(C,-..PST 
		ADDM .SAC,B>		ADDMtH 	88M
	IRP A,	X<
	  .ENAV2 (A)>	  .ENAV2 (A)tI 
8Q
	.ENAV3 (A)
	.ENAV3 tI 
X8U
	PURGE A,A
  PURGE t,h +(:\
	IRP A,+H<
   DEFINE A<....U>>FINE A<.v=H q7

	IRP A,q(<
	  .ENSV2 (A)>	  .ENSV2 (A)v=I qh7
	.ENSV3 (A)
	.ENSV3 v=I r(7
	DEFINE A<....U>EFINE vI9A  vI9~+H $0"#
	A (\..FORN)
	A (\..~. "-
	A BP `P \Q X=|RQ &2 gP&C
	..IFT==gpA		
	IFE ..IFT,h<
	B
	..IFT==0h0>		
	IFN ..IFT,<
	C>N ..IFT,<&4 6(;F
	IRPC A6H,<
	B==0
	IFGE6h "A"-"A",<IFLE "7A"-"Z",<B=1>> 
	IFGE "A"-"0",<7HIFLE "A"-"9",<B7h=1>>
	IFE "A"-"8%",<B=1>
	IFE "8(A"-"$",<B=1>
	8HIFE "A"-".",<B=8h1>
	IFE B,<STOPI>>IFE B,<STOP&t<H [-`
	..PST==[(C&<-C>	
	.IF0 [H..PST-1,<
		AOS [hB>,<	
		MOVX .S\AC,..PST	
		ADDM .SAC,B>		ADDM&tj7Q ?2DQ x6i2P ~6k0P 6k4P 6mtP 6MiTQ @;`P ?= _H.
	..TSIZ _h(..PST,C)
	.IF0` ..PST,<
		A B`(>,<	
		..LDB .SA`HC,B,C 
		A .SAC>C 
		A .S?=	 ah.
	..TSIZ b(..PST,C)
	.IF0b( ..PST,<
		A BbH>,<	
		..LDB .SAbhC,B,C
		A .SAcC
		..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~ K4X
	.PSHX1 (.POPX2).PSHX1 B~	 KH4\
	.POPX4 A
	.POPX4 B~	 LH4j
	A
   LhDEFINE .PSHX1 (WCMH,STUFF)<
	WCH (M(<<STUFF>,<B>>)><STUFF>,<B>>)>B~
 L4`
	.POPX3 B
	.POPX3 C I4H
	.PSHX1 (.PSHX2,<A>)1 C IH4L
	A (<B>)
	A (<BC	 J4T
   DEFINJ(E .PSHX1 (WCH,STUJHFF)<
	WCH (<<STUFF>,<A>>)><STUJDP'K%,z !"<<<A>&<B!0>>B<^D70-POS(<B>)>>D70-POS(<B>K%\u Bh,$
<IFE <<FCILIN.(<A>)&<^-AC(>>>,<A>>!<IFN <<CHFILIN.(<A>)&<^-ChA>
>><<FILIN.(<<D<RGHBT.(<<FILIN.(D(<A>)&<^-A>>>)>_DH-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 kh6^
	.STKV2 (A)
	.STKV2 O%=I l(6v
	IFB <BlH>,<..STKN==..STKNlh+1>
	IFNB <B>,<m
	...X==B
	IF2m(,<.IFN ...X,ABSOLmHUTE,<PRINTX ?STKVmhAR A, B is not nabsolute>>
	..STn(KN==..STKN+...X>
	..STKQ==..STKN+nh1
	.STKV3 (A,\..STKQ)V3 (A,\.O%=I o(7
   IFDEFoH A,<.IF A,SYMBOohL,<PRINTX STKVAR pA ALREADY DEFINEp(D>>
	DEFINE A<-pH^OB(P)>
	$A==<Z A>>
	$A==<Sd  uh7.
	.TRV2 (A)
	.TRV2 (Sd@ v(7B
	.TRV3 (vHA,\..NV)	
	IFB vh<B>,<..NV=..NV+1w>
	IFNB <B>,<
w(	...X==B
	IF2,<wH.IFN ...X,ABSOLUTwhE,<PRINTX ?TRVAR xA, B is not absx(olute>>
	..NV=..NV+...X>..NV=..Sd` xh7P
   IFDEFy A,<.IF A,SYMBOy(L,<PRINTX TRVAR yHA ALREADY DEFINEDyh>>
	DEFINE A<^OzB(.FP)>
	$A==<Z A>>
	$A==<b\| !i
	.XCREF
	.XCRF1 <..ACT,.P.CSC,..CSN,..IFT,p..JX1,..MSK,..MX1,..MX2>
	.XCRF1 0<..NAC,..NRGS,..NPS,..NV,..PST,..STpKN,..STKQ,..STKR>
	.XCRF1 <..TRR,0..TSA1,..TX1,..TXP2,.FP,.FPAC,.NAC,p.SAC,.SAV1>
	.XCRF1 <.SAV2,.SAV3,0POINTR,POS,WID,..PCAS1,..CNS,..CNS2p>
	.XCRF1 <..DPB,..GNCS,..ICNS,..0JE,..LDB,..STR0,.P.STR1,..STR2>
	.pXCRF1 <..STR4,..TQO,..TQZ,..TSAC,.0.TSIZ,..TX,..TY,.PACV1,.ACV2>
	.XCpRF1 <.ACV3,.CASE,.DECR0,.IF0,.INCR00,.OPST1,.OPST2,.PSTKV1>
	.XCRF1 <p.STKV2,.STKV3,.TRV1,.TRV2,.TRV3>
	.CREF
   3>
b)H P!o
	IRP A,p<
	 IFDEF A,< .XCREF A>>A,< .cJyA  cJycJyA  cJyc&,ZA  c&,Zc&,zA  c&,z>}{woP