Google
 

Trailing-Edge - PDP-10 Archives - BB-4157F-BM_1983 - fortran/tools/macsym.unv
There are 97 other files named macsym.unv in the archive. Click here to see a list.
x,5@P C4@ 
	..NAC==0		
	IRP A,<
	0  .ACV1 (A)>		
P	.ACV3 (\..NAC)		p
	DEFINE ENDAV.<.ENAV1 <A>>V.<C:$S@ N,q
	..TAGF (<JUMPN A,>,) C:$s@ O,y
	..TAGF (<JUMPLE A,>,)C:$y' OP,}
	..TAGF (<JUMPL A,>,) C:%C@ PP-
	..TAGF (<JUMPGE A,>,)C:%I' P-
	..TAGF (<JUMPG A,>,) C:%c@ NP,u
	..TAGF (<JUMPE A,>,) C:&' R-
	..TAGF R0(<JN <A>,<B>,>,)N <A>,<B>,>,C:&G Rp-
	..TAGF S(<JE <A>,<B>,>,)E <A>,<B>,>,C:' !q
	TXZ A,<^-<B>>TXZ A,C:'	' Q-	
	..TAGF (<JXN A,B,>,)C:'G QP-
	..TAGF (<JXE A,B,>,)C:v:g LP,e
	TRNA
	..TAGF (JRST,)	C;< L,a
	..TAGF (JRST,)	..TAGF CO,,@  0N
	..TRR==@10		
	RADIX 8
	`..NV==1			
	IRP A,<
	  .TRV1 ( A)>		
	IFG ..NV-@5,<PRINTX ?TOO MA`NY ARGUMENTS: A>	
	JSP .A16,.ASSE	 T		
	RADIX ..TRR	@		
	DEFINE ENDAS	`.<.ENSV1 <A>>
	.ENSV1 <A>>
	E2 2
	..NA==0 			
	IRP B,<
	@  .BLCL2 B>		
	`PUSH P,[..NA+1,,. .NA+1]	
	PUSHJ P,A		
   SHJ PE3XG @1h	
	..TRR=`=10		
	RADIX 8			
	..NA==2			
	 IRP A,<
	  ..NA@=..NA+1>		
	IRP `A,<
	  .BLSU1(A,\..NA)	
	  ..N A=..NA-1>
	..NV=@=1			
	IRP B,<
	  .TRV1 (B)>		
  DEFINE ENDBS.  <.ENBS1 <A>
		@.ENSV1 <B>> 
	J`SP .A16,.ENTER
	..NV-1,,..NV-1
	RADIX ..TRR1
	EJMj' jx.`wH
W0.==A
W1.==B				;INITk`IALIZE BREAK MASKl
W2.==C
W3.==D
==C
W3.==7>.M0!+6_0B,<
	6a0QAB (6c0    ..SEJZ eX.A	..V22==aex
	..V1==a
	IFNfB <B>,<..V22==Bf8>
REPEAT ..V22-<fXa>+1,<	
	%%W==.fx.V1/^D32	
	%%X==g..V1-%%W*^D32	
	g8IFE C,BRKC1 \"<%gX%W+"0">	
	IFN Cgx,BRKC2 \"<%%W+"0"h>
	..V1==..V1+1
		   >
.V1+1 hX.E	WA.==WA.!<1B<%%X>>
AEJ\4@ i.K	WA.==WAi8.&<-1-1B<%%X>>
&<-1-1B<%%X>>
EJ\: d.#
%%FOO==d8a
	BRK0 (%%FOO,B,0)
 (%%FOO,EJn:g [email protected]
	BRINI. Al`,B,C,D	
	IRPCm E,<	UNBRK. "E"m >	
	IRPC F,<	BRm@KCH. "F">	
	EXPm` W0.,W1.,W2.,W3.		
W1.,W2.,W3.	Ge@ ,GeLR +I  v'3
	..STR0 v0(.DECR0,,<A>,B)DECR0,,<A>,B)I6= J$_
	A==<-1J0B<C>+1B<C-D>> JP
	IF1,<IFDEF %AJp,<PRINTX ?A ALREKADY DEFINED>>
	DK0EFINE %A (OP,AC,KPY,MSK)<
	$A==<ZKp B>		
	OP (<AC>,B'Y,MSK)><AC>I<p #0*-
	..SVLD	#P		
a:!				
  D#pEFINE OD. <
b:!$				
	.POPX>			
  DEFINE LOOP. <$P
	JRST a>		
  $pDEFINE TOP. <a>	%	
  DEFINE ENDLP%0. <b>		
  DEFIN%PE EXIT. <
	JRST b>T. <
	JRST K+\Y`p07'p07$p07'p07!4p07$-op07!UN.,HK+`p079p076p079p0734p076-qp073UNEMK3S@ ,g....UK:$Kg */
	OD.K:%G ,i....UKCm +@2fDEFINE ..E+`P. (LOCN,PTEXT)
,	    <PRINTX Loca, tion 'LOCN': PTEX,@T
	    >
	  ..E,`P.(\.,<A>)
	  PURGE ..EP.
	  KJn9` b8.
	ERJMP	[bXTMSG <? A>
		 JSHLT]
A>
		 JKc  c.
   IF2,<c8
	IRP A,<
	IFNcXDEF A,<EXTERN A
	SUPPRE A>>>M2  p <<<A>B<POS(B)>>&<B>>POM2$*g r /8
	..XX==<r@FLD(A,CM%FNC)>+r`B+<Z G>
   IFNBs <D>,<..XX=CM%HPs P!..XX>
   IFNB s@<E>,<..XX=CM%DPPs`!..XX>
   IFNB <tF>,<..XX=CM%BRK!t ..XX>
	..XX
   t@IFNB <C>,<C>
 t`  IFB <C>,<0>
 u  IFNB <D>,<POINu T 7,[ASCIZ D]>u@
   IFB <D>,<IFu`NB <EF>,<0>>
 v  IFB <E>,<IFNB v <F>,<0>>
   IFNv@B <E>,<POINT 7,[v`ASCIZ \E\]>
   wIFNB <F>,<F>
    <F>,<F>
 M2$HG n /

	..XX==<n@FLD(A,CM%FNC)>+n`B+<0,,F>
   IFNoB <D>,<..XX=CM%Ho PP!..XX>
   IFNBo@ <E>,<..XX=CM%DPo`P!..XX>
	..XX
p  IFNB <C>,<C>
p@IFB <C>,<0>
   IFNB <D>,<POp`INT 7,[ASCIZ Dq]>
   IFB <D>,<q IFNB <E>,<0>>
 q@  IFNB <E>,<POINq`T 7,[ASCIZ \E\]>7,[ASCIZ \E\]>M7p _x.
	HRROI .`AC2,[ASCIZ \A\]
	MOVEI .AC3,0
	SOUTI .AC3,0
	M?c@ !

  DEFINE0 e(C)<D>
..FOPRN==A
REPEAT Bp-A+1,<
	.FORN1 (e)
	..FORN=..FORN+1>.FORN=..FM?@ !%
  DEFINE0 d (B)<C>
  IPRP A,<
	.FORX1 d,A>
	.FORX1>NFwp..ERR.=0		>P	
	..ENC.=0			
>p	IFE B-7,			
	?? <..ENC.=^O57			
	  IFN D-^O44,<?PIFN D-^O35,<IFN ?pD-^O26,<IFN D-^@O17,<IFN D-^O10,@0
		     	<IFN D@P-1<..ERR.=..ERR.!@p1>>>>>>
	  >
	IAFN B-7,			
	  <A0IFE B-6,
	    <AP..ENC.=^O45			
	Ap    IFN D-^O44,<BIFN D-^O36,<IFN B0D-^O30,<IFN D-^BPO22,<IFN D-^O14,Bp
			<IFN D-6,<ICFN D,<..ERR.=.ERC0R.!1>>>>>>>
	   CP >
	  IFN B-6,	Cp		
	    <IFE B-D^O10,
	      <..D0ENC.=^O50		
	   DP   IFN D-^O44,<IDpFN D-^O34,<IFN ED-^O24,<IFN D-^OE014,<IFN D-4,
		EP	<..ERR.=.ERR.!1>Ep>>>>
	      >
	F    IFN B-^O10,	F0	
	      <IFE BFP-^O11,
		<..ENC.Fp=^O62		
		IFN DG-^O44,<IFN D-^O3G03,<IFN D-^O22,<IGPFN D-^O11,<IFN GpD,
			<..ERR.=..HERR.!1>>>>>
		>
	      IFN B-^OHP11,		
		<IFE B-Hp^O22,
		  <..ENCI.=^O54		
		  IFNI0 B-^O44,<IFN B-IP^O22<IFN B,<..ERIpR.=..ERR.!1>>>
	J	  >
		IFN B-^OJ022,<..ERR.=..ERR.JP!2>	
		>
	     Jp >
	    >
	K>
	IFN <<C>&<-1,,K00>>,<..ERR.=..ERRKP.!4> 
					     Kp
	IFN <<A>&<^O<L-1,,770000>>>,<..L0ERR.=..ERR.!<^O20LP>> 
	IFN ..ERR.,Lp
	  <IFN ..ERR.&M1,<MPRNTX (G1BPT,M0Illegal byte offsMPet: D)>
	  IFN Mp..ERR.&2,<MPRNTX N(G1BPT,Illegal byN0te size: B)>
	 NP IFN ..ERR.&4,
	Np    <MPRNTX (G1BPOT,<Address indexeO0d, indirect, or gOPreater than 18 biOpts: C>)>
	  IFNP ..ERR.&<^O20>,<MP0PRNTX (G1BPT,SectPPion greater than Pp12 bits: A)>
	 Q -1,-1,-1		
	  >Q0
	
	IFE ..ERR.,QP
	  <<<..ENC.+<<QpB>-<<D>/<B>>>>R_<^O36>>!<<C>&<0R0,,-1>>!<<A>_^O<2RP2>>>	
	PURGE ..ERR.,..ENC.
	.E7?3n^O44Nd`NJ
..ERR.=0		^p
	 .BSIZ.=B		
	  .BPOS.=D
	I_0FN <<A>&<^O<-1,,_P770000>>>,
	  <M_pPRNTX(G2BPT,Secti`on greater than 1`02 bits: A)
	  .`P.ERR.=1
	  >
	I`pFN <<C>&<^O<7777a40,,0>>>,
	  <MPa0RNTX(G2BPT,Bits 0aP - 12 non-zero inap address field: bC)
	  ..ERR.=1
b0	  >
	IFN <<E>&bP<-1,,0>>,
	  <MPbpRNTX(G2BPT,Bits 0c-17 non-zero in oc0ptional field: EcP)
	  ..ERR.=1
	cp  >
	IFN <.BSIZ.d&<^O<-1,,777700>>d0>,
	  <MPRNTX(G2dPBPT,Bytesize greadpter than 6 bits: eB)
	e0..ERR.=1
	  >
	IFN <.BPOePS.&<^O<-1,,777700ep>>>,
	  <MPRNTX(fG2BPT,Byte offsetf0 greater than 6 bfPits: D)
	  ..ERfpR.=1
	  >
	IFN g..ERR.,<-1,-1,-1>g0		
	
	IFE ..ERRgP.,
	  <IFDIF <Dgp><>,<<<POINT .BSIhZ.,E,.BPOS.>!1B1h02>&<^O<777740,,-1hP>>>
	  IFIDN <Dhp><>,<<<POINT .BSIiZ.,E>!1B12>&<^O<i0777740,,-1>>>
	 iP   
	    <<<C>_ip<^O14>>&<^O<37000j0,,0>>!<<C>&<0,,j0-1>>!<<A>_<^O22>jP>>
	  >
	PURGE jp..ERR.,.BSIZ.,.BPOS.
	BSIZ.,.BP7A5p0.Kc ON{  0@3,..ERR.=0		0`
	IFN <<A>&<^O<1-1,,770000>>>,
	1   <MPRNTX(GFIWM,S1@ection greater th1`an 12 bits: A)
2	  ..ERR.=1
	  >2 
	IFN <<B>&<^O<2@777740,,0>>>,
	 2` <MPRNTX(GFIWM,Bi3ts 0 - 12 non-zer3 o in address fiel3@d: B)
	  ..ERR.3`=1
	  >
	IFN ..4ERR.,<-1,-1,-1>	
				
	IFE ..ERR4@.,<
	  <<<B>_<^4`O14>>&<^O<370000,5,0>>!<<B>&<0,,-15 >>!<<A>_<^O22>>>5@>
	PURGE ..ERR.
	PURGE..ERR.
	JUMPN 7pA,b		
	..SVDF		8	
   DEFINE ..TA80GF (INST,PCT)<
	8PINST b'PCT>		
 8p  DEFINE ..TAGE (9INST,PCT)<
	INST c'PCT>		
	STS.:g 60+9
	PRINTX 6P% IFESK. should b6pe changed to IFNJ7E.
	IFNJE. <A>.
	IFNJE. <A>S9` ;P+i
	JUMPLE ;pA,b		
	..SVDF	<		
   DEFINE ..T<0AGF (INST,PCT)<
<P	INST b'PCT>		
<p   DEFINE ..TAGE =(INST,PCT)<
	INST c'PCT>		
	SS<S@ =P+y
	JUMPL =pA,b		
	..SVDF		>	
   DEFINE ..TA>0GF (INST,PCT)<
	>PINST b'PCT>		
 >p  DEFINE ..TAGE (?INST,PCT)<
	INST c'PCT>		
	STST\G ,*y

   IFB <,0AB>,<		
	..SVD,PF			
	ERJMP e		,p
	JRST c		
e:-!
   DEFINE ..TA-0GF (INST,PCT)<
	-PINST c'PCT>		
 -p  DEFINE ..TAGE (.INST,PCT)<
	INST.0 d'PCT>		
	>
 .P  IFNB <AB>,<		.p
	ERJMP c		
	/B
	JRST d
c:!	A
d:!>
c:!Sa` AP,
	JUMPGE ApA,b		
	..SVDF	B		
   DEFINE ..TB0AGF (INST,PCT)<
BP	INST b'PCT>		
Bp   DEFINE ..TAGE C(INST,PCT)<
	INST c'PCT>		
	SSdS@ ?P,	
	JUMPG ?pA,b		
	..SVDF		@	
   DEFINE ..TA@0GF (INST,PCT)<
	@PINST b'PCT>		
 @p  DEFINE ..TAGE (AINST,PCT)<
	INST c'PCT>		
	STSq` 9P+Y
	JUMPE 9pA,b		
	..SVDF		:	
   DEFINE ..TA:0GF (INST,PCT)<
	:PINST b'PCT>		
 :p  DEFINE ..TAGE (;INST,PCT)<
	INST c'PCT>		
	STSt\g /P+
	PRINTX /p% IFNES. should b0e changed to IFJE00R.
	IFJER. <A>,<B>FJER. <A>,Su)' 3P+/
   IFB <3pA>,<		
	..SVDF	4		
	ERJMP b
  40 DEFINE ..TAGF (I4PNST,PCT)<
	INST 4pb'PCT>		
   DEF5INE ..TAGE (INST,50PCT)<
	INST c'P5PCT>		
	>
   IFN5pB <A>,<
	ERJMP b
	A
b:!> Sv:g (P*]
   IFB <(pAB>,<		
	..SVD)F			
	TRNA			
	)0JRST c		
   DEF)PINE ..TAGF (INST,)pPCT)<
	INST c'P*CT>		
   DEFINE *0..TAGE (INST,PCT)*P<
	INST d'PCT>	*p	
	>
   IFNB <+AB>,<		
	JRST +0c		
	B
	JRST +Pd
c:!	A
d:!>
c:!	A
d:!>S
S@ GP,K
	JN <A>Gp,<B>,c	
	..SVDHF			
   DEFINE .H0.TAGF (INST,PCT)<HP
	INST c'PCT>		Hp
   DEFINE ..TAGIE (INST,PCT)<
	II0NST d'PCT>		
	ST d'PCT>		
	S Ip,]
	JE <A>J,<B>,c	
	..SVDJ0F			
   DEFINE .JP.TAGF (INST,PCT)<Jp
	INST c'PCT>		K
   DEFINE ..TAGK0E (INST,PCT)<
	IKPNST d'PCT>		
	ST d'PCT>		
	S< 0p+
   IFB <1A>,<		
	..SVDF	10		
	JRST b
   1PDEFINE ..TAGF (IN1pST,PCT)<
	INST 2b'PCT>		
   DEFI20NE ..TAGE (INST,P2PCT)<
	INST c'PC2pT>		
	>
   IFNB3 <A>,<
	JRST b
	A
b:!> bSDS@ CP,)
	JXN A,CpB,c	
	..SVDF		D	
   DEFINE ..TAD0GF (INST,PCT)<
	DPINST c'PCT>		
 Dp  DEFINE ..TAGE (EINST,PCT)<
	INST d'PCT>		
	STSEc@ EP,9
	JXE A,EpB,c	
	..SVDF		F	
   DEFINE ..TAF0GF (INST,PCT)<
	FPINST c'PCT>		
 Fp  DEFINE ..TAGE (GINST,PCT)<
	INST d'PCT>		
	STS:  sp'!
	..STR0 t(.INCR0,,<A>,B)INCR0,,<A>,B)S? P!m
	TXO A,<B>
	TXO A,Ut@ 	0(O
	..STR1 	P(..JAN,<d,<C>>,	p<A>,B,..STR5)
d:B,..STR5)
U }'k
	..STR1 }0(..JE,<C>,<A>,B,..STR3)<A>,U8 P(
	..STR1p(..JN,<C>,<A>,B,..STR3)<A>,U:
	..STR1 (..JNA3,<C>,<A>,B,..STR4)<A>U:~  
P(i
	..STR1 
p(..JNO,<d,<C>>,
d:B,..STR5)
U? (3
	..STR1 0(..JN,<C>,<A>,B,..STR4)<A>,UN.,@`p07p07p07p07,p07-op07UN.,HUN.,HA  UN.,HUNEM`p070p07-p070p07*,p07--qp07*UNEMUNEMA  UNEMUNn9hA  UNn9hUb( 1p#'
	..JX1==2B		
	.IFN ..JX120,ABSOLUTE,<PRINTX2P B NOT ABSOLUTE
		..JX1==0>
	.I3F ..JX1,ABSOLUTE,30<
	.IF0 <<..JX1>3P-1B0>,<	
		JUMPG3pE A,C>,<
	.IF04 <<..JX1>+1>,<	
40	  JUMPE A,C>,<4P	
		TXNN (A,..J4pX1)
		JRST C>>>)
		JRST C>>>Ub0 <p$
	..JX1===B		
	.IFN ..JX1=0,ABSOLUTE,<PRINTX=P B NOT ABSOLUTE
		..JX1==0>
	.I>F ..JX1,ABSOLUTE,>0<
	.IF0 <<..JX1>>P-1B0>,<
		JUMPGE>p A,C>,<
	..ONE?B (..BT,B)	
	.I?0F0 ..BT,<
	  SET?PCM .SAC,A		
	  ?pJXN (.SAC,..JX1,@C)>,< 
	    TXNN@0 A,..JX1	
	    JRST C>>>	    Ubp 50#C
	..JX1==5PB		
	.IFN ..JX15p,ABSOLUTE,<PRINTX6 B NOT ABSOLUTE
		..JX1==0>
	.I6PF ..JX1,ABSOLUTE,6p<
	.IF0 <<..JX1>7-1B0>,<	
		JUMPL70 A,C>,<
	.IF0 7P<<..JX1>+1>,<	
	7p  JUMPN A,C>,<	8
		TXNE (A,..JX801)
		JRST C>>>)
		JRST C>>>Ubx 8p#c
	..JX1==9B		
	.IFN ..JX190,ABSOLUTE,<PRINTX9P B NOT ABSOLUTE
		..JX1==0>
	.I:F ..JX1,ABSOLUTE,:0<
	.IF0 <<..JX1>:P-1B0>,<
		JUMPL :pA,C>,<
	..ONEB; (..BT,B)	
	.IF;00 ..BT,<
	  SETC;PM .SAC,A		
	  J;pXE (.SAC,..JX1,C<)>,< 
	    TXNE <0A,..JX1	
	 JRSTC>>>	.=AJXF	
	.BPOS.=C
	.[email protected].=0		
	IFN <6`<B>&<^O<777740,,70>>>,
	  <MPRNTX7 (L1BPT,Bits 0 - 17@2 non-zero in add7`ress field: B)
8	  ..ERR.=1
	  >8 
	IFN <.BSIZ.&<^8@O<-1,,777700>>>,
	  <MPRNTX(L1BPT9,Bytesize greater9  than 6 bits: A)9@
	  ..ERR.=1
	 9` >
	IFN <.BPOS.&:<^O<-1,,777700>>>: ,
	  <MPRNTX(L1B:@PT,Byte offset gr:`eater than 6 bits;: C)
	  ..ERR.=; 1
	  >
	
	IFN ;@<..ERR.>,<-1,-1,-;`1>
	
	IFE <..ER<R.>,
	  <IFIDN << C><>,<POINT .BSI<@Z.,B>
	  IFDIF <`<C><>,<POINT .BS=IZ.,B,.BPOS.>
	=   >
	PURGE ..ERR=@.,.BSIZ.,.BPOS.
	BSIZ.,.BPOS.
XJ S05nx..ERR.=0		S`
	T.BSIZ.=A		
	  .BPOS.=C
	IT FN <<B>&<^O<7777T@40,,0>>>,
	  <MPT`RNTX(L2BPT,Bits 0U - 12 non-zero inU  address field: U@B)
	  ..ERR.=1
U`	  >
	IFN <<D>&V<-1,,0>>,
	  <MPV RNTX(L2BPT,Bits 0V@-17 non-zero in oV`ptional field: DW)
	  ..ERR.=1
	W   >
	IFN <.BSIZ.W@&<^O<-1,,777700>>W`>,
	  <MPRNTX(L2XBPT,Bytesize greaX ter than 6 bits: X@A)
	X`..ERR.=1
	  >
	IFN <.BPOYS.&<^O<-1,,777700Y >>>,
	  <MPRNTX(Y@L2BPT,Byte offsetY` greater than 6 bZits: C)
	  ..ERZ R.=1
	  >
	IFN [email protected].,<-1,-1,-1>Z`		
	
	IFE ..ERR[.,
	  <IFDIF <C[ ><>,<<<POINT .BSI[@Z.,D,.BPOS.>!1B1[`2>&<^O<777740,,-1\>>>
	  IFIDN <C\ ><>,<<<POINT .BSI\@Z.,D>!1B12>&<^O<\`777740,,-1>>>
	]]   <1B0!<<^O<4000] 37,,-1>>&<B>>>	
	  >
	PURGE ..E]`RR.,.BSIZ.,.BPOS.
	BSIZ.,.BPOS.7@50
	YN{  - 3..ERR.=0		-@
	IFN <<A>&<^O<-`777740,,0>>>,
	 . <MPRNTX(LFIWM,Bi. ts 0 - 12 non-zer.@o in address fiel.`d: A)
	  ..ERR./=1
	  >
	IFN ../ ERR.,<-1,-1,-1>	
	IFE ..ERR.,<1B0/`!<<^O<400037,,-1>0>&<A>>>	
	PURGE ..ERR.
	PURGEY>
@ cp&!
	..STR0d(..LDB,A,B,C)..LDB,A,B,C)[8@ !	<1B<<A>-1>-1B<B>><A>-1[>!` P!
   ..MX1P==B			
.IFN p..MX1,ABSOLUTE,<
	MOVE A,[B]>
0   .IF ..MX1,ABSOPLUTE,<
	..MX2==0p		
	IFE <..MX1>B53,<
	  ..MX2==10
	  MOVEI A,..MPX1>	
	IFE ..MX2,p<		
	IFE <..MX1>B17,<
	  ..MX2==01
	  MOVSI A,(.P.MX1)>>	
	IFE ..pMX2,<		
	IFE <<..MX1>B53-^O7777770>,<
	P..MX2==1
	  HRROI A,<..MpX1>>>	
	IFE ..MX2,<		
	IFE <<..M0X1>B17-^O777777B1P7>,<
	  ..MX2==1p
	0HRLOI A,(..MX1-^O777777)>> 
	IFE ..MX2,<		
P	  MOVE A,[..MX1]>	
  >,[..MX1[Cm ) 2XDEFINE ..M)@P. (LOCN,MTEXT,PT)`EXT)
	    <PRINT*X Location 'LOCN'* , Macro 'MTEXT': *@PTEXT
	    >
	 *` ..MP.(\.,A,<B>+)
	  PURGE ..MP.
	  URGE ..MP.[N^= L0$o
	A==C	LP	
	IF1,<IFDEF %LpA,<PRINTX ?A ALRMEADY DEFINED>>
	M0DEFINE %A (OP,ACMP,Y,MSK)<
	$A==<MpZ B>		
	OP (<AC>,B'Y,MSK)><AC[Xp !c
	MOVE .S0AC,A
	MOVEM .SAC,B
	MOVEM .SA[ZI` p!i
	MOVX .SAC,<A>
	MOVEM .SAC,B
	MOVEM ._CL@ x0'E
	..STR0 xP(.OPST1,<A>,<B>,C)1,<A>,<B>_CLV zP'W
	..STR0 zp(.OPST2,<A>,<B>,C)2,<A>,<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= `x.
   IFNB a<A>,<
	TMSG <Aa8>>
	CALL JSMSG0>
	CALL JSMSG0a4\G x 
	..PGV0==.		
	.JBVER=:^O8137		
	LOC	.JBVEXR		
	BYTE	(3)D(x9)A(6)B(18)C
	.ORG	..PGV0		
.ORG	..PGV0		
a>Mm  {<POINT WID0(B),A,POS(B)>B),A,POS(B)>a? P u<^L<<A>&<-<A>>>><<A>&<dA  de  ,~e&:x ^X-uJRST RSKPwJRST RSKPeN^A  eN^gXY 
 0f
	..TRR==
@10		
	RADIX 8
	
`..NV==1			
	IRP A,<
	  .TRV1 ( A)>		
	IFG ..NV-@5,<PRINTX ?TOO MA`NY ARGUMENTS: A>

	JSP .A16,.SASE
 T		
	RADIX ..TRR
@		
	DEFINE ENDSA
`.<.ENSV1 <A>>
	.ENSV1 <A>>
	g4X1 1G
	.NAC==00
	IRP A,<
	  PPUSH P,A		
	  .NpAC=.NAC+1>		
	.N1==.NAC
	SETMI .0A16,[CAIA	
		AOSP -.N1(P)	
	  IRPp A,<
		.N1=.N1-1
		MOVE A,-.N10(P)>  
		SUB P,[P.NAC,,.NAC]  
		pPOPJ P,]	
	PUSH P,.A16	
	PUSH g$;8 pP'
	..STR1 pp(..TQC,,<A>,B,..STR4)<A>,B,.g%{R m&k
	..STR1 m0(..TQO,,<A>,B,..STR4)<A>,B,.g',W i0&M
	..STR1 iP(..TQZ,,<A>,B,..STR4)<A>,B,.gR$g p #
F=:0
T1=:1
T2=:2
T3=:30
T4=:4
Q1=:5
QP2=:6
Q3=:7
P1=:p10
P2=:11
P3=:12
P4=:13
P5=:140
P6=:15
CX=:16
P=:17
CX=:16x0/S
	..STKR=xP=10		
	RADIX 8
xp	..STKN==0
	IRP yA,<
	  .STKV1 (y0A)>
	JSP .A16,.yPSTKST
	 ..STKN,,yp..STKN
	RADIX ..zSTKR
	DEFINE ENDz0SV.<.ENSV1 <A>>
gR~NSV1<A>>
	..STR0 fp(..DPB,A,B,C)..DPB,A,B,C)i6tP P(w
	..STR1 p(..TYNE,,<A>,B,..STR3)<A>,B,i6u` 0)
	..STR1 P(..TYNN,,<A>,B,..STR3)<A>,B,i7p _-{
	HRROI .8AC1,[ASCIZ \A\]
	PSOUTZ\A\]
	    ..S0TR1 (..TY,C,<A>,B,..STR3)<A>,iF 0)}
	    ..SPTR1 (..TY,CA,<A>,B,..STR3)<A>iFP p)q
	    ..STR1 (..TY,CE,<A>,B,..STR3)<A>iF` P)w
	    ..SpTR1 (..TY,CN,<A>,B,..STR3)<A>iFp )#
	    ..S0TR1 (..TY,N,<A>,B,..STR3)<A>,iFt 0)5
	    ..SPTR1 (..TY,NA,<A>,B,..STR3)<A>iFtP p))
	    ..STR1 (..TY,NE,<A>,B,..STR3)<A>iFu` P)/
	    ..SpTR1 (..TY,NN,<A>,B,..STR3)<A>iFx );
	    ..S0TR1 (..TY,O,<A>,B,..STR3)<A>,iF| 0)M
	    ..SPTR1 (..TY,OA,<A>,B,..STR3)<A>iF|P p)A
	    ..STR1 (..TY,OE,<A>,B,..STR3)<A>iF}` P)G
	    ..SpTR1 (..TY,ON,<A>,B,..STR3)<A>iGP )S
	    ..S0TR1 (..TY,Z,<A>,B,..STR3)<A>,iGT 0)e
	    ..SPTR1 (..TY,ZA,<A>,B,..STR3)<A>iGTP p)Y
	    ..STR1 (..TY,ZE,<A>,B,..STR3)<A>iGU` P)_
	    ..SpTR1 (..TY,ZN,<A>,B,..STR3)<A>iK4@  0
	..TRR==@10		
	RADIX 8
	`..NV==1			
	IRP A,<
	  .TRV1 ( A)>		
	JSP .A16,@.TRSET		
	 ..NV-`1,,..NV-1
	RADIX ..TRR		
	DEFINE  ENDTV.<.ENSV1 <A>>
	.ENSV1 <ib )P"M
		..TX(C,A,<B>)..TX(Cib +"Y
		..TX(CA,A,<B>).TX(CibP *"Q
		..TX(CE,A,<B>).TX(Cib` *P"U
		..TX(CN,A,<B>).TX(Cibp #P"
		..TX(N,A,<B>)..TX(Nibt %")
		..TX(NA,A,<B>).TX(NibtP $"!
		..TX(NE,A,<B>).TX(Nibu` $P"%
		..TX(NN,A,<B>).TX(Nibx %P"-
		..TX(O,A,<B>)..TX(Oib| '"9
		..TX(OA,A,<B>).TX(Oib|P &"1
		..TX(OE,A,<B>).TX(Oib}` &P"5
		..TX(ON,A,<B>).TX(OicP 'P"=
		..TX(Z,A,<B>)..TX(ZicT )"I
		..TX(ZA,A,<B>).TX(ZicTP ("A
		..TX(ZE,A,<B>).TX(ZicU` (P"E
		..TX(ZN,A,<B>).TX(Zk:*g dx.)
%%FOO==ea
	BRK0 (%%FOO,B,1)
 (%%FOO,m$,YP'm$-X5Q |m$-Z7Q xm$.zQ po&   q<^L<-<<A>_<^L<A>>>-1>>>q
fC@ wP/=
	EXTEND A,[XBLT]XTEND q"eJ  P q6~i4 C q? P!u
	TXC A,<B>
	TXC A,:h $
	A:&@ g0&G
	..TSIZ gP(..PST,C)
	.CASgpE ..PST,<<
		MOVhEM A,B>,<
		HRh0RM A,B>,<
		HRhPLM A,B>,<
		DPhpB A,[POINTR (B,C)]>>INTR (B,:<;Y bp&
   DEFINcE ..CNS2 (NEW,OLDc0)<
	  OLD>			
	..CNS ()>			
	:L;Y `P&
   DEFIN`pE ..CNS (ARG)<
	a..CNS2 <ARG>,>
a0
   DEFINE ..CNS2aP (NEW,OLD)<
	DEFapINE ..CNS (ARG)<
	  ..CNS2 <ARG>,b0<OLD'NEW>>>
   OLD'NEW>>>
   :Mi SP--
 DEFINE SpELSE. <
	..TAGE T(JRST,)		
	..TAGT0F (,<:!>)		
	SYNTP ..TAGE,..TAGF	
Tp   DEFINE ELSE. <U....U>>	

 DEFIU0NE ENDIF. <
	..TUPAGF (,<:!>)		
	..RSDF>			
   .:TH 
0(S
	..JNA3 (A,C,D)JNA3 :TI 
p(a
	..TSAC (..ACT,C)
	.IF00 ..ACT,<
	  SETCPM .SAC,C	
	  JXpE (.SAC,D,<B>)>
,<	
	  JXO (C,D,<B>)>O (C,:TP }p(	
	..TSAC ~(..ACT,B)	
	.IF~00 ..ACT,<
	  ..T~PSIZ (..PST,C)	
~p	  .CASE ..PST,<<
		SKIPN B	
		0JRST A>,<
		HRRPZ .SAC,B	
		JUMpPE .SAC,A>,<
		HLRZ .SAC,B	
		0JUMPE .SAC,A>,<
		MOVE .SAC,B	
		JXE (.SAC,C,<A>)>>>,<
	  JXE (B,C,<A>)>E:U` 0(-
	..TSAC P(..ACT,B)	
	.IFp0 ..ACT,<
	  ..TSIZ (..PST,C)
	0  .CASE ..PST,<<
		SKIPE B	
		JpRST A>,<
		HRRZ .SAC,B	
		JUMP0N .SAC,A>,<
		HPLRZ .SAC,B	
		JpUMPN .SAC,A>,<
		MOVE .SAC,B	
0		JXN (.SAC,C,<PA>)>>>,<
	  JXN (B,C,<A>)>N :Uh) P(G
	..TSAC p(..ACT,B)
	.IF0 ..ACT,<
	  SETC0M .SAC,B	
	  JXPN (.SAC,C,<A>)>p,<	
	(mJXF(B,C,<A>)>F (B,:Ukh 
	..JN (A,C,D)..JN (:Uki (q
	..JE (<B>,C,D)JE (<:dH@ dP&1
	..TSIZ dp(..PST,C)
	.CASeE ..PST,<<
		MOVe0E A,B>,<
		HRRePZ A,B>,<
		HLRepZ A,B>,<
		LDBf A,[POINTR (B,C)]>>INTR (B,:}i1 I0$M
	A==<<<IP-<B>>&<B>>&<1B<^L<B>>>>>&<1B<;9 -E
	.POPX;LH N0%
	IFNDEF NPC,<PRINTX ?C ISNp NOT DEFINED
	  OA (<B>,D,.FWORO0D)>	
	IFDEF C,<OP
	IFNDEF %C,<
Op	  A (<B>,D,CP)>	
	IFDEF %C,<P0
	  %C (A,<B>,D,C)>>A,<B>;LH Pp%A

	..NS==0Q			
	IRP C,<..NQ0S=..NS+1>	
	IFE QP..NS,<PRINTX ?EMPQpTY STRUCTURE LISTR, A>
	IFE ..NS-R01,<		
	  ..STR0 RP(A,<B>,<C>,D)Rp>
	IFG ..NS-1,<	S	
	..ICNS			
	.S0.CNS (<E (A,<BSP>,,>) 
	IRP C,<Sp		
	  IFNDEF C,T<PRINTX C NOT DET0FINED>
	  IFDEF TPC,<
	  IFNDEF %TpC,<
	  ..CNS (<U,C,D>)>	
	  IFU0DEF %C,<
	  %CUP (..STR2,,D,C)>Up 
	  ..CNS (<)>)V		
	  ..GCNS		
V0	  ..ICNS		
	  .VP.CNS (<E (A,<BVp>>) 
	  IFNDEF %WC,<
	  ..CNS (<W0,C,D>)>	
	  IFWPDEF %C,<
	  %CWp (..STR2,,D,C)>X>> 
	..CNS (<,,)>)		
	..GCNS>);LI XP%E
	..CNS (<,C,B>).CNS (;LI Y%[

	IFDIF <Y0D><F>,<
	  IFNYPB <D>,<
	    AYp (<B>,D,..MSK)	Z
	    IFNB <F>,Z0<PRINTX C AND EZP ARE IN DIFFERENTZp WORDS>>
	  ..MS[K==0>		
	IFNB <[0F>,<
	  ..MSK=..MSK!<E>>MSK=..;LJ [p%k

	IFDIF <\D><F>,<	
	  IF\0NB <D>,<
	    \PA (<B>,D,..MSK)\p>	
	  ..MSK==0>	]	
	IFNB <F>,<
]0	  ..MSK=..MSK!<E>>MSK=..MSK!<;LJ ]p&

	IFDIF <^D><F>,<	
	  IF^0NB <D>,<
	    I^PFNB <F>,<		
		^pA1 (B,D,..MSK)>_ 
	    IFB <F>,_0<		
		A2 (B,D_P,..MSK)>> 
	  .._pMSK==0>		
	IFNB `<F>,<
	  ..MSK=..MSK!<E>>MSK=;i V-C
	SYN ELSV0E.,a
	SYN ENDIFVP.,b
	SYN ..TAGFVp,c
	SYN ..TAGE,Wd
	.PSHX <
	  W0SYN a,ELSE.
	  WPSYN b,ENDIF.
	 Wp SYN c,..TAGF
	X  SYN d,..TAGE>
	..INDF			
	      NDF			
	   ;k &0*A
	SYN OD.&P,a
	SYN LOOP.,&pb
	SYN TOP.,c
'	SYN EXIT.,d
	.'0PSHX <
	 SYN a,'POD.
	 SYN b,LOO'pP.
	 SYN c,TOP.(
	 SYN d,EXIT.>	 SYN d,EXIT.>;$r ,m....U;$s ,k....U;&` q0'
	..TSIZ qP(..PST,C)
	.IF0qp ..PST,<		
		SETrCMM B>,<	
	rP..r0TSAC (..ACT,B)	
	rp.IF0 ..ACT,<
		MOVX .SAC,C
s		XORM .SAC,B>,<s0
		..TX(C,B,C)>>..TX(C,B,C);&` mp'
	..TSIZ n(..PST,C)
	.CASn0E ..PST,<<
		SETnPOM B>,<
		HLLOSnp B>,<
		HRROS oB>,<
	  ..TSAC (o0..ACT,B)
	  .IFoP0 ..ACT,<
		MOVXop .SAC,C
		IORM p.SAC,B>,<
		..TX (O,B,C)>>>T;&@ j&e
	..TSIZ j0(..PST,C)	
	.CAjPSE ..PST,<<
		SEjpTZM B>,<	
		HLLkZS B>,<	
		HRRZk0S B>,<	
	  ..TSkPAC (..ACT,B)	
	kp  .IF0 ..ACT,<
	l	MOVX .SAC,C	
	l0	ANDCAM .SAC,B>,lP<
		..TX (Z,B,C)>>>TX (Z,B,;&81 EP$7
	A==0		Ep	
	..TSA1==<Z BF>		
	.IF ..TSA1,F0ABSOLUTE,<	
	  IFPFE ..TSA1&^O77777Fp7777760,<A==1>> 
	60,<A==1>> ;&:= D$)
	A==3		D0	
	IFE <B>+1,<DPA=0>	
	IFE <B>-Dp^O777777,<A==1> E
	IFE <B>-^O777777B17,<A==2>7;&;Q G0$G
	A==0		GP	
	..TSA1==0		
Gp	IRPC C,<
	  ..HTSA1=..TSA1+1
	HH0 IFE ..TSA1-B,<
	   IFIDN <C><HpD>,<
		A==1>		
	;'STOPI>>		
   ..TX10==C			
p.IFN P..TX1,ABSOLUTE,<
	TDA B,[C]>
    .IF ..TX1,ABSO PLUTE,<		
	..TX2= 0=0		
	IFE <..TX1 p&^O777777B17>,<
!	  ..TX2==1		
	 !0 TRA B,..TX1>
!P	IFE ..TX2,<		
	!pIFE <..TX1&^O7777"77>,<
	  ..TX2=="01		
	  TLA B,("P..TX1)>>
	IFE .."pTX2,<		
	  IFE <#<..TX1>B53-^O7777#077>,< 
	    ..TX+P3 (A,B)>>	
	IF+pE ..TX2,<		
	  I,FE <..TX1+1>,<	
,0	    ..TX4 (A,B,P)>>
	IFE ..TX2,<,p		
	  TDA B,[..TX1]>	
  >,[.;'` -0"}
	IFIDN <-PA><Z>,<		
	  ..-pTX2==1
	  ANDI .B,^-..TX1>	
	IFI.0DN <A><O>,<		
	.P  ..TX2==1
	/OR.pCMI B,^-..TX1>	
	IFIDN <A><C>,</0		
	  ..TX2==1
/P	  EQVI B,^-..TX1>QVI B,^-..TX;' 0#
	IFIDN <00A><NN>,<
	  ..T0PX2==1
	  CAIN B0p,0>		
	IFIDN <A1><NE>,<
	  ..TX210==1
	  CAIE B,0>
	  CAIE B,0;' !p*
	..TSAC "(..ACT,B)	
	.IF"00 ..ACT,<
		PRIN"PTX ?TQA - B NOT"p IN AC>,<
		TXA B,C>
		TXA;'R 0)
	..TSAC P(..ACT,B)	
	.IFp0 ..ACT,<
	  ..JX1==C
	  .IF0 <P..JX1-1B0>,<
		S0KIPGE B>,<
	   p .IF0 <..JX1+1>,<
		SKIPE B>,<
0		MOVE .SAC,B
	P	TXNE .SAC,C>>>,p<
		TXNE B,C>
		TXNE B,C>;'W *
	..TSAC 0(..ACT,B)	
	.IFP0 ..ACT,<
	  ..JpX1==C
	  .IF0 < ..JX1-1B0>,<
		S 0KIPL B>,<
	 p   P.IF0 <..JX1+1>,<
		SKIPN B>,<
	!	MOVE .SAC,B
		!0TXNN .SAC,C>>>,<
		TXNN B,C>
`P P  P 0P d  00{
	.ACV2 (A)
	.ACV2 (d@ p1
   IFDEF A,<.IF A,SYMBO0L,<PRINTX ACVAR PA ALREADY DEFINEDp>>
	A==.FPAC+..NAC	
	$A==A		
	IFB <B>,<..NACP=..NAC+1>
	IFNB p<B>,<..NAC=..NAC+B>..NAC=..NACd` 01
	IFG A-P.NPAC,<PRINTX ?TOpO MANY ACS USED>
	IFLE A-4,<
	 0 JSP .A16,.SAVA>P	
	IFG A-4,<
	p  JSP .A16,.SAV8>JSP .A16,.SAV8>):A  ):9:A  9:
d; !2.
	  IFIDN!  <A><.>,<
		XMO!@VEI .A16,B	
		P!`USH P,.A16>
	  I"FDIF <A><.>,<
	"   .IFATM <A>,.BL"@F1	
	  IFN .BLF1"`,<
	    .BLF1==0#		
	    .IF %A,# MACRO,<	
		.BLF1#@==1>	
	    IFNB #`<B>,<
		.BLF1==$1>	
	    IFN .BL$ F1,<		
		LOAD .A$@16,A,B
		PUSH $`P,.A16>>
	  IFE %.BLF1,<		;IF WASN% 'T A STRUCTURE RE%@F,
		PUSH P,A>>%`	
	  ..NA=..NA+1
	  ..NA=..NA+1
d;	  @2
	.BLCL1 A
	.BLCL1 
f=( @1n
	DEFINE `A<-^OB(.FP)>
	$A==<Z A>>
	9  B$
	..CSN==B0A
	..CSC==0
	IBPRP B,<
	IFE ..CBpSN-..CSC,<
	  STCOPI
	  ..CAS1 (C0B)>
	..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 ,<H vp'?
	..PST==wC&<-C>
	.IF0 .w0.PST-1,<
		SOS wPB>,<	
		MOVX .SAwpC,-..PST 
		ADDM .SAC,B>		ADDMtH 01%
	IRP A,P<
	  .ENAV2 (A)>	  .ENAV2 (A)tI 1)
	.ENAV3 (A)
	.ENAV3 tI P1-
	PURGE A,A
  PURGE t,h  1t
	IRP A,@<
   DEFINE A<....U>>FINE A<.v=H ~p/y
	IRP A,<
	  .ENSV2 (A)>	  .ENSV2 (A)v=I P/}
	.ENSV3 (A)
	.ENSV3 v=I 0
	DEFINE A<....U>EFINE vI9A  vI9~+H P!
	A (\..FORN)
	A (\..~. !'
	ABP `P =|RQ &2 @p$
	..IFT==AA		
	IFE ..IFT,A0<
	B
	..IFT==0AP>		
	IFN ..IFT,<
	C>N ..IFT,<&4 & 2F
	IRPC A&@,<
	B==0
	IFGE&` "A"-"A",<IFLE "'A"-"Z",<B=1>> 
	IFGE "A"-"0",<'@IFLE "A"-"9",<B'`=1>>
	IFE "A"-"(%",<B=1>
	IFE "( A"-"$",<B=1>
	(@IFE "A"-".",<B=(`1>
	IFE B,<STOPI>>IFE B,<STOP&t<H tP'-
	..PST==tpC&<-C>	
	.IF0 u..PST-1,<
		AOS u0B>,<	
		MOVX .SuPAC,..PST	
		ADDM .SAC,B>		ADDM&tj7Q ?2DQ x6MiTQ @;`P ?= y'Q
	..TSIZ y0(..PST,C)
	.IF0yP ..PST,<
		A Byp>,<	
		..LDB .SAzC,B,C 
		A .SAC>C 
		A .S?=	 {0'e
	..TSIZ {P(..PST,C)
	.IF0{p ..PST,<
		A B|>,<	
		..LDB .SA|0C,B,C
		A .SA|PC
		..DPB .SAC,B,C>DPB .SAC,B~ [-Y
	.PSHX1 (.POPX2).PSHX1 B~	 [P-]
	.POPX4 A
	.POPX4 B~	 \P-k
	A
   \pDEFINE .PSHX1 (WC]H,STUFF)<
	WCH (]0<<STUFF>,<B>>)><STUFF>,<B>>)>B~
 \-a
	.POPX3 B
	.POPX3 C Y-I
	.PSHX1 (.PSHX2,<A>)1 C YP-M
	A (<B>)
	A (<BC	 Z-U
   DEFINZ0E .PSHX1 (WCH,STUZPFF)<
	WCH (<<STUFF>,<A>>)><STUJDP'K%,z 0!<<<A>&<BP>>B<^D70-POS(B)>><^D70-POS(B)>N
0@ N9:A  N9:Nd A" Nd Nd@A" Nd@Nd`A" Nd`NeA  NeNfA  NfO%<ZA  O%<ZO%<zA  O%<zO%=H zp/W
	.STKV2 (A)
	.STKV2 O%=I {0/e
	IFB <B{P>,<..STKN==..STKN{p+1>
	IFNB <B>,<|..STKN==..STKN+B|0>
	..STKQ==..STK|PN+1
	.STKV3 (A,\..STKQ)V3 (A,O%=I }/s
   IFDEF}0 A,<.IF A,SYMBO}PL,<PRINTX STKVAR }pA ALREADY DEFINE~D>>
	DEFINE A<-~0^OB(P)>
	$A==<Z A>>
	$A==<S):A  S):S9:A  S9:Sd  `0
	.TRV2 (A)
	.TRV2 (Sd@  0(
	.TRV3 (@A,\..NV)	
	IFB `<B>,<..NV=..NV+1>
	IFNB <B>,<..NV=..NV+B>,<..Sd` @06
   IFDEF` A,<.IF A,SYMBOL,<PRINTX TRVAR  A ALREADY DEFINED@>>
	DEFINE A<^O`B(.FP)>
	$A==<Z A>>
	$A==<b\| p g
	.XCREF
	.XCRF1 <..ACT,.0.CSC,..CSN,..IFT,P..JX1,..MSK,..MX1p,..MX2>
	.XCRF1 <..NAC,..NRGS,..N0S,..NV,..PST,..STPKN,..STKQ,..STKR>p
	.XCRF1 <..TRR,..TSA1,..TX1,..TX02,.FP,.FPAC,.NAC,P.SAC,.SAV1>
	.XCpRF1 <.SAV2,.SAV3,	POINTR,POS,WID,..	0CAS1,..CNS,..CNS2	P>
	.XCRF1 <..DPB	p,..GNCS,..ICNS,..
JE,..LDB,..STR0,.
0.STR1,..STR2>
	.
PXCRF1 <..STR4,..T
pQO,..TQZ,..TSAC,..TSIZ,..TX,..TY,.0ACV1,.ACV2>
	.XCPRF1 <.ACV3,.CASE,p.DECR0,.IF0,.INCR
0,.OPST1,.OPST2,.
0STKV1>
	.XCRF1 <
P.STKV2,.STKV3,.TR
pV1,.TRV2,.TRV3>
	.CREF
   3>
b)H
	IRP A,
	 IFDEF A,< .XCREF A>>A,< .>}{woP