Trailing-Edge
-
PDP-10 Archives
-
bb-y390n-bm_tops20_v41_atpch_19
-
autopatch/macsym.unv
There are 97 other files named macsym.unv in the archive. Click here to see a list.
x,S@P C4@ P1U
..NAC==p0
IRP A,<
.ACV1 (A)>
0 .ACV3 (\..NAC) P
DEFINE ENDAV.<.ENAV1 <A>>V.<C:$S@ Yp-O
..TAGF (<JUMPN A,>,) C:$s@ Zp-W
..TAGF (<JUMPLE A,>,)C:$y' [0-[
..TAGF (<JUMPL A,>,) C:%C@ \0-c
..TAGF (<JUMPGE A,>,)C:%I' [p-_
..TAGF (<JUMPG A,>,) C:%c@ Z0-S
..TAGF (<JUMPE A,>,) C:&' ]p-q
..TAGF ^(<JN <A>,<B>,>,)N <A>,<B>,>,C:&G ^P-w
..TAGF ^p(<JE <A>,<B>,>,)E <A>,<B>,>,C:' )p"O
TXZ A,<^-<B>>TXZ A,C:' ' \p-g
..TAGF (<JXN A,B,>,)C:'G ]0-k
..TAGF (<JXE A,B,>,)C:v:g X0-C
TRNA
..TAGF (JRST,) C;< Wp-?
..TAGF (JRST,) ..TAGF CO,,@ 1,
..TRR== 10
RADIX 8
@..NV==1
IRP `A,<
.TRV1 (A)>
IFG ..NV- 5,<PRINTX ?TOO MA@NY ARGUMENTS: A>`
JSP .A16,.ASSET
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 % 2F
..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' vX/>h
W0.==A
W1.==B ;INITw@IALIZE BREAK MASKw`
W2.==C
W3.==D
==C
W3.==8/+0h))7=0B,<
7?0QAB (7A0 ..SEJZ q8/ ..V22==aqX
..V1==a
IFNqxB <B>,<..V22==Br>
REPEAT ..V22-<r8a>+1,<
%%W==.rX.V1/^D32
%%X==rx..V1-%%W*^D32
sIFE C,BRKC1 \"<%s8%W+"0">
IFN CsX,BRKC2 \"<%%W+"0"sx>
..V1==..V1+1
>
.V1+1 t8/# WA.==WA.!<1B<%%X>>
AEJ\4@ tx/) WA.==WAu.&<-1-1B<%%X>>
&<-1-1B<%%X>>
EJ\: ox/
%%FOO==pa
BRK0 (%%FOO,B,0)
(%%FOO,EJn:g x /L
BRINI. Ax@,B,C,D
IRPCx` E,< UNBRK. "E"y>
IRPC F,< BRy KCH. "F">
EXPy@ W0.,W1.,W2.,W3.
W1.,W2.,W3. Ge@ ,GeLR +I p(
..STR0 (.DECR0,,<A>,B)DECR0,,<A>,B)I6= Up%=
A==<-1VB<C>+1B<C-D>> V0
IF1,<IFDEF %AVP,<PRINTX ?A ALREVpADY DEFINED>>
DWEFINE %A (OP,AC,W0Y,MSK)<
$A==<ZWP B>
OP (<AC>,B'Y,MSK)><AC>I<p /+
..SVLD /0
a:!
D/PEFINE OD. <
b:!/p
.POPX>
DEFINE LOOP. <00
JRST a>
0PDEFINE TOP. <a> 0p
DEFINE ENDLP1. <b>
DEFIN10E EXIT. <
JRST b>T. <
JRST K+\Y`p07p07|4p07.Mp07|UN.,HK+`p08p084p08.Op08UNEMK3S@ -E....UK:$Kg +
OD.PK:%G -G....UKCm 7 3DDEFINE ..E7@P. (LOCN,PTEXT)
7` <PRINTX Loca8tion 'LOCN': PTEX8 T
>
..E8@P.(\.,<A>)
PURGE ..EP.
KJn9` n.s
ERJMP [n8TMSG <? A>
JSHLT]
A>
JKc nx.{
IF2,<o
IRP A,<
IFNo8DEF A,<EXTERN A
SUPPRE A>>>M2 P!]<<<A>B<POS(B)>>&<B>>POM2$*g ~0
..XX==<~ FLD(A,CM%FNC)>+~@B+<Z G>
IFNB~` <D>,<..XX=CM%HPP!..XX>
IFNB <E>,<..XX=CM%DPP@!..XX>
IFNB <`F>,<..XX=CM%BRK!..XX>
..XX
IFNB <C>,<C>
@ IFB <C>,<0>
` IFNB <D>,<POINT 7,[ASCIZ D]>
IFB <D>,<IF@NB <EF>,<0>>
` IFB <E>,<IFNB <F>,<0>>
IFN B <E>,<POINT 7,[@ASCIZ \E\]>
`IFNB <F>,<F>
<F>,<F>
M2$HG z/l
..XX==<z FLD(A,CM%FNC)>+z@B+<0,,F>
IFNz`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\]>M7p kX.a
HRROI .kxAC2,[ASCIZ \A\]
MOVEI .AC3,0
SOUTI .AC3,0
M?c@ p!w
DEFINE e(C)<D>
..FO0RN==A
REPEAT BP-A+1,<
.FORN1 p(e)
..FORN=..FORN+1>.FORN=..FM?@ p"
DEFINE d (B)<C>
I 0RP A,<
.FORX1 d,A>
.FORX1JNF..ERR.=0 J0
..ENC.=0
JP IFE B-7,
KJp <..ENC.=^O57
IFN D-^O44,<K0IFN D-^O35,<IFN KPD-^O26,<IFN D-^KpO17,<IFN D-^O10,L
<IFN DL0-1<..ERR.=..ERR.!LP1>>>>>>
>
ILpFN B-7,
<MIFE B-6,
<M0..ENC.=^O45
MP IFN D-^O44,<MpIFN D-^O36,<IFN ND-^O30,<IFN D-^N0O22,<IFN D-^O14,NP
<IFN D-6,<INpFN D,<..ERR.=.EROR.!1>>>>>>>
O0 >
IFN B-6, OP
<IFE B-Op^O10,
<..PENC.=^O50
P0 IFN D-^O44,<IPPFN D-^O34,<IFN PpD-^O24,<IFN D-^OQ14,<IFN D-4,
Q0 <..ERR.=.ERR.!1>QP>>>>
>
Qp IFN B-^O10, R
<IFE BR0-^O11,
<..ENC.RP=^O62
IFN DRp-^O44,<IFN D-^O3S3,<IFN D-^O22,<IS0FN D-^O11,<IFN SPD,
<..ERR.=..SpERR.!1>>>>>
>
IFN B-^OT011,
<IFE B-TP^O22,
<..ENCTp.=^O54
IFNU B-^O44,<IFN B-U0^O22<IFN B,<..ERUPR.=..ERR.!1>>>
Up >
IFN B-^OV22,<..ERR.=..ERR.V0!2>
>
VP >
>
Vp>
IFN <<C>&<-1,,W0>>,<..ERR.=..ERRW0.!4>
WP
IFN <<A>&<^O<Wp-1,,770000>>>,<..XERR.=..ERR.!<^O20X0>>
IFN ..ERR.,XP
<IFN ..ERR.&Xp1,<MPRNTX (G1BPT,YIllegal byte offsY0et: D)>
IFN YP..ERR.&2,<MPRNTX Yp(G1BPT,Illegal byZte size: B)>
Z0 IFN ..ERR.&4,
ZP <MPRNTX (G1BPZpT,<Address indexe[d, indirect, or g[0reater than 18 bi[Pts: C>)>
IFN[p ..ERR.&<^O20>,<M\PRNTX (G1BPT,Sect\0ion greater than \P12 bits: A)>
\p -1,-1,-1
>]
IFE ..ERR.,]0
<<<..ENC.+<<]PB>-<<D>/<B>>>>]p_<^O36>>!<<C>&<0^,,-1>>!<<A>_^O<2^02>>>
PURGE ..ERR.,..ENC.
.E84L^O44NJ
..ERR.=0 jP
jp.BSIZ.=B
.BPOS.=D
IkFN <<A>&<^O<-1,,k0770000>>>,
<MkPPRNTX(G2BPT,Sectikpon greater than 1l2 bits: A)
.l0.ERR.=1
>
IlPFN <<C>&<^O<7777lp40,,0>>>,
<MPmRNTX(G2BPT,Bits 0m0 - 12 non-zero inmP address field: mpC)
..ERR.=1
n >
IFN <<E>&n0<-1,,0>>,
<MPnPRNTX(G2BPT,Bits 0np-17 non-zero in ooptional field: Eo0)
..ERR.=1
oP >
IFN <.BSIZ.op&<^O<-1,,777700>>p>,
<MPRNTX(G2p0BPT,Bytesize greapPter than 6 bits: ppB)
q..ERR.=1
>
IFN <.BPOq0S.&<^O<-1,,777700qP>>>,
<MPRNTX(qpG2BPT,Byte offsetr greater than 6 br0its: D)
..ERrPR.=1
>
IFN rp..ERR.,<-1,-1,-1>s
IFE ..ERRs0.,
<IFDIF <DsP><>,<<<POINT .BSIspZ.,E,.BPOS.>!1B1t2>&<^O<777740,,-1t0>>>
IFIDN <DtP><>,<<<POINT .BSItpZ.,E>!1B12>&<^O<u777740,,-1>>>
u0
<<<C>_uP<^O14>>&<^O<37000up0,,0>>!<<C>&<0,,v-1>>!<<A>_<^O22>v0>>
>
PURGE vP..ERR.,.BSIZ.,.BPOS.
BSIZ.,.BP86N0*iFu`ON{ < 4
..ERR.=0 <@
IFN <<A>&<^O<<`-1,,770000>>>,
= <MPRNTX(GFIWM,S= ection greater th=@an 12 bits: A)
=` ..ERR.=1
>>
IFN <<B>&<^O<> 777740,,0>>>,
>@ <MPRNTX(GFIWM,Bi>`ts 0 - 12 non-zer?o in address fiel? d: B)
..ERR.?@=1
>
IFN ..?`ERR.,<-1,-1,-1>
IFE ..ERR@ .,<
<<<B>_<^@@O14>>&<^O<370000,@`,0>>!<<B>&<0,,-1A>>!<<A>_<^O22>>>A >
PURGE ..ERR.
PURGE..ERR.
JUMPN CPA,b
..SVDF Cp
DEFINE ..TADGF (INST,PCT)<
D0INST b'PCT>
DP DEFINE ..TAGE (DpINST,PCT)<
INST c'PCT>
STS.:g B,
PRINTX B0% IFESK. should bBPe changed to IFNJBpE.
IFNJE. <A>.
IFNJE. <A>S9` G0,G
JUMPLE GPA,b
..SVDF Gp
DEFINE ..THAGF (INST,PCT)<
H0 INST b'PCT>
HP DEFINE ..TAGE Hp(INST,PCT)<
INST c'PCT>
SS<S@ I0,W
JUMPL IPA,b
..SVDF Ip
DEFINE ..TAJGF (INST,PCT)<
J0INST b'PCT>
JP DEFINE ..TAGE (JpINST,PCT)<
INST c'PCT>
STST\G 7p+W
IFB <8AB>,<
..SVD80F
ERJMP e 8P
JRST c
e:8p!
DEFINE ..TA9GF (INST,PCT)<
90INST c'PCT>
9P DEFINE ..TAGE (9pINST,PCT)<
INST: d'PCT>
>
:0 IFNB <AB>,< :P
ERJMP c
:pB
JRST d
c:! A
d:!>
c:!Sa` M0,w
JUMPGE MPA,b
..SVDF Mp
DEFINE ..TNAGF (INST,PCT)<
N0 INST b'PCT>
NP DEFINE ..TAGE Np(INST,PCT)<
INST c'PCT>
SSdS@ K0,g
JUMPG KPA,b
..SVDF Kp
DEFINE ..TALGF (INST,PCT)<
L0INST b'PCT>
LP DEFINE ..TAGE (LpINST,PCT)<
INST c'PCT>
STSq` E0,7
JUMPE EPA,b
..SVDF Ep
DEFINE ..TAFGF (INST,PCT)<
F0INST b'PCT>
FP DEFINE ..TAGE (FpINST,PCT)<
INST c'PCT>
STSt\g ;0+a
PRINTX ;P% IFNES. should b;pe changed to IFJE<R.
IFJER. <A>,<B>FJER. <A>,Su)' ?0,
IFB <?PA>,<
..SVDF ?p
ERJMP b
@ DEFINE ..TAGF (I@0NST,PCT)<
INST @Pb'PCT>
DEF@pINE ..TAGE (INST,APCT)<
INST c'PA0CT>
>
IFNAPB <A>,<
ERJMP b
A
b:!> Sv:g 40+;
IFB <4PAB>,<
..SVD4pF
TRNA
5JRST c
DEF50INE ..TAGF (INST,5PPCT)<
INST c'P5pCT>
DEFINE 6..TAGE (INST,PCT)60<
INST d'PCT> 6P
>
IFNB <6pAB>,<
JRST 7c
B
JRST 70d
c:! A
d:!>
c:! A
d:!>S
S@ S0-)
JN <A>SP,<B>,c
..SVDSpF
DEFINE .T.TAGF (INST,PCT)<T0
INST c'PCT> TP
DEFINE ..TAGTpE (INST,PCT)<
IUNST d'PCT>
ST d'PCT>
S UP-;
JE <A>Up,<B>,c
..SVDVF
DEFINE .V0.TAGF (INST,PCT)<VP
INST c'PCT> Vp
DEFINE ..TAGWE (INST,PCT)<
IW0NST d'PCT>
ST d'PCT>
S< <P+w
IFB <<pA>,<
..SVDF =
JRST b
=0DEFINE ..TAGF (IN=PST,PCT)<
INST =pb'PCT>
DEFI>NE ..TAGE (INST,P>0CT)<
INST c'PC>PT>
>
IFNB>p <A>,<
JRST b
A
b:!> bSDS@ O0-
JXN A,OPB,c
..SVDF Op
DEFINE ..TAPGF (INST,PCT)<
P0INST c'PCT>
PP DEFINE ..TAGE (PpINST,PCT)<
INST d'PCT>
STSEc@ Q0-
JXE A,QPB,c
..SVDF Qp
DEFINE ..TARGF (INST,PCT)<
R0INST c'PCT>
RP DEFINE ..TAGE (RpINST,PCT)<
INST d'PCT>
STS: P'
..STR0 p(.INCR0,,<A>,B)INCR0,,<A>,B)S? )0"K
TXO A,<B>
TXO A,Ut@ )-
..STR1 0(..JAN,<d,<C>>,P<A>,B,..STR5)
d:B,..STR5)
U p(I
..STR1 (..JE,<C>,<A>,B,..STR3)<A>,U8
..STR1<C>,<A>,B,..STR3)<A>,U:
..STR1 p(..JNA3,<C>,<A>,B,..STR4)<A>U:~ 0)G
..STR1 P(..JNO,<d,<C>>,p<A>,B,..STR5)
d:B,..STR5)
U? p)
..STR1 (..JN,<C>,<A>,B,..STR4)<A>,UN.,@`p07yp07v,p07y.Mp07vUN.,HUN.,HA UN.,HUNEM`p08p08,p08.Op08UNEMUNEMA UNEMUNn9hA UNn9hUb( =P$
..JX1===pB
.IFN ..JX1>,ABSOLUTE,<PRINTX>0 B NOT ABSOLUTE
..JX1==0>
.I>pF ..JX1,ABSOLUTE,?<
.IF0 <<..JX1>?0-1B0>,<
JUMPG?PE A,C>,<
.IF0?p <<..JX1>+1>,<
@ JUMPE A,C>,<@0
TXNN (A,..J@PX1)
JRST C>>>)
JRST C>>>Ub0 HP$a
..JX1==HpB
.IFN ..JX1I,ABSOLUTE,<PRINTXI0 B NOT ABSOLUTE
..JX1==0>
.IIpF ..JX1,ABSOLUTE,J<
.IF0 <<..JX1>J0-1B0>,<
JUMPGEJP A,C>,<
..ONEJpB (..BT,B)
.IKF0 ..BT,<
SETK0CM .SAC,A
KPJXN (.SAC,..JX1,KpC)>,<
TXNNL A,..JX1
JRST C>>> Ubp A$!
..JX1==A0B
.IFN ..JX1AP,ABSOLUTE,<PRINTXAp B NOT ABSOLUTE
..JX1==0>
.IB0F ..JX1,ABSOLUTE,BP<
.IF0 <<..JX1>Bp-1B0>,<
JUMPLC A,C>,<
.IF0 C0<<..JX1>+1>,<
CP JUMPN A,C>,< Cp
TXNE (A,..JXD1)
JRST C>>>)
JRST C>>>Ubx DP$A
..JX1==DpB
.IFN ..JX1E,ABSOLUTE,<PRINTXE0 B NOT ABSOLUTE
..JX1==0>
.IEpF ..JX1,ABSOLUTE,F<
.IF0 <<..JX1>F0-1B0>,<
JUMPL FPA,C>,<
..ONEBFp (..BT,B)
.IFG0 ..BT,<
SETCG0M .SAC,A
JGPXE (.SAC,..JX1,CGp)>,<
TXNE HA,..JX1
JRSTC>>> .=AJXF
.BPOS.=C
.B .ERR.=0
IFN <B@<B>&<^O<777740,,B`0>>>,
<MPRNTXC(L1BPT,Bits 0 - 1C 2 non-zero in addC@ress field: B)
C` ..ERR.=1
>D
IFN <.BSIZ.&<^D O<-1,,777700>>>,
<MPRNTX(L1BPTD`,Bytesize greaterE than 6 bits: A)E
..ERR.=1
E@ >
IFN <.BPOS.&E`<^O<-1,,777700>>>F,
<MPRNTX(L1BF PT,Byte offset grF@eater than 6 bitsF`: C)
..ERR.=G1
>
IFN G <..ERR.>,<-1,-1,-G@1>
IFE <..ERG`R.>,
<IFIDN <HC><>,<POINT .BSIH Z.,B>
IFDIF H@<C><>,<POINT .BSH`IZ.,B,.BPOS.>
I >
PURGE ..ERRI .,.BSIZ.,.BPOS.
BSIZ.,.BPOS.
XJ 6L ..ERR.=0 @
`.BSIZ.=A
.BPOS.=C
I`FN <<B>&<^O<7777` 40,,0>>>,
<MP`@RNTX(L2BPT,Bits 0`` - 12 non-zero ina address field: a B)
..ERR.=1
a@ >
IFN <<D>&a`<-1,,0>>,
<MPbRNTX(L2BPT,Bits 0b -17 non-zero in ob@ptional field: Db`)
..ERR.=1
c >
IFN <.BSIZ.c &<^O<-1,,777700>>c@>,
<MPRNTX(L2c`BPT,Bytesize greadter than 6 bits: d A)
d@..ERR.=1
>
IFN <.BPOd`S.&<^O<-1,,777700e>>>,
<MPRNTX(e L2BPT,Byte offsete@ greater than 6 be`its: C)
..ERfR.=1
>
IFN f ..ERR.,<-1,-1,-1>f@
IFE ..ERRf`.,
<IFDIF <Cg><>,<<<POINT .BSIg Z.,D,.BPOS.>!1B1g@2>&<^O<777740,,-1g`>>>
IFIDN <Ch><>,<<<POINT .BSIh Z.,D>!1B12>&<^O<h@777740,,-1>>>
ih` <1B0!<<^O<4000i37,,-1>>&<B>>>
>
PURGE ..Ei@RR.,.BSIZ.,.BPOS.
BSIZ.,.BPOS.85u0
c@YN{ 93^..ERR.=0 9
IFN <<A>&<^O<9@777740,,0>>>,
9` <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>;`>&<A>>>
PURGE ..ERR.
PURGEY>
@ oP&
..STR0 op(..LDB,A,B,C)..LDB,A,B,C)[8@ p!g<1B<<A>-1>-1B<B>><A>-1[>!` 0!k<<A>-<<A>/<B>>*<B>>A[?7 !";
..MX1!0==B
!p.IFN !P..MX1,ABSOLUTE,<
MOVE A,[B]>
" .IF ..MX1,ABSO"0LUTE,<
..MX2==0"P
IFE <..MX1>B"p53,<
..MX2==1#
MOVEI A,..M#0X1>
IFE ..MX2,#P<
IFE <..MX1>#pB17,<
..MX2==$1
MOVSI A,(.$0.MX1)>>
IFE ..$PMX2,<
IFE <<.$p.MX1>B53-^O777777%>,<
%0..MX2==1
HRROI A,<..M%PX1>>>
IFE ..MX%p2,<
IFE <<..M&X1>B17-^O777777B1&07>,<
..MX2==1&P
'HRLOI A,(..&pMX1-^O777777)>>
IFE ..MX2,<
'0 MOVE A,[..MX1]>
>,[..MX1[Cm 536DEFINE ..M5 P. (LOCN,MTEXT,PT5@EXT)
<PRINT5`X Location 'LOCN'6, Macro 'MTEXT': 6 PTEXT
>
6@ ..MP.(\.,A,<B>6`)
PURGE ..MP.
URGE ..MP.[N^= X%M
A==C X0
IF1,<IFDEF %XPA,<PRINTX ?A ALRXpEADY DEFINED>>
YDEFINE %A (OP,ACY0,Y,MSK)<
$A==<YPZ B>
OP (<AC>,B'Y,MSK)><AC[Xp 'p"A
MOVE .S(AC,A
MOVEM .SAC,B
MOVEM .SA[ZI` (P"G
MOVX .S(pAC,<A>
MOVEM .SAC,B
MOVEM ._CL@ (#
..STR0 0(.OPST1,<A>,<B>,C)1,<A>,<B>_CLV 0(5
..STR0 P(.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= lX.i
IFNB lx<A>,<
TMSG <Am>>
CALL JSMSG0>
CALL JSMSG0a4\G
X o
..PGV0=
x=.
.JBVER=:^O
LOC .JBVE
BYTE (3)D()C
.ORG ..PGV0
.ORG ..PGV0
a>Mm p!Y<POINT WID(B),A,POS(B)>B),A,POS(B)>a? 0!S<^L<<A>&<-<A>>>><<A>&<dA de ,~e&:x j8.SJRST RSKPUJRST RSKPeN^A eN^gXY 1D
..TRR== 10
RADIX 8
@..NV==1
IRP `A,<
.TRV1 (A)>
IFG ..NV- 5,<PRINTX ?TOO MA@NY ARGUMENTS: A>`
JSP .A16,.SASET
RADIX ..TRR
DEFINE ENDSA@.<.ENSV1 <A>>
.ENSV1 <A>>
g4X1 !p2%
.NAC==0"
IRP A,<
P"0USH P,A
.N"PAC=.NAC+1>
.N"p1==.NAC
SETMI .#A16,[CAIA
AOS#0 -.N1(P)
IRP#P A,<
.N1=.N1-#p1
MOVE A,-.N1$(P)>
SUB P,[$0.NAC,,.NAC]
$PPOPJ P,]
PUSH P,.A16
PUSH g$;8 |0'e
..STR1 |P(..TQC,,<A>,B,..STR4)<A>,B,.g%{R xp'I
..STR1 y(..TQO,,<A>,B,..STR4)<A>,B,.g',W u'+
..STR1 u0(..TQZ,,<A>,B,..STR4)<A>,B,.gR$g P!
F=:0
T1p=:1
T2=:2
T3=:3
T4=:4
Q1=:5
Q02=:6
Q3=:7
P1=:P10
P2=:11
P3=:1p2
P4=:13
P5=:14
P6=:15
CX=:16
P=:17
CX=:1601
..STKR=0=10
RADIX 8
P ..STKN==0
IRP pA,<
.STKV1 (A)>
JSP .A16,.0STKST
..STKN,,P..STKN
RADIX ..pSTKR
DEFINE ENDSV.<.ENSV1 <A>>
gR~NSV1<A>>
..STR0 rP(..DPB,A,B,C)..DPB,A,B,C)i6tP 0)U
..STR1 P(..TYNE,,<A>,B,..STR3)<A>,B,i6u` )s
..STR1 0(..TYNN,,<A>,B,..STR3)<A>,B,i7p jx.Y
HRROI .kAC1,[ASCIZ \A\]
PSOUTZ\A\]
..S)TR1 (..TY,C,<A>,B,..STR3)<A>,iF +*[
..S+0TR1 (..TY,CA,<A>,B,..STR3)<A>iFP )P*O
..S)pTR1 (..TY,CE,<A>,B,..STR3)<A>iF` *0*U
..S*PTR1 (..TY,CN,<A>,B,..STR3)<A>iFp p*
..S TR1 (..TY,N,<A>,B,..STR3)<A>,iFt "*
..S"0TR1 (..TY,NA,<A>,B,..STR3)<A>iFtP P*
..S pTR1 (..TY,NE,<A>,B,..STR3)<A>iFu` !0*
..S!PTR1 (..TY,NN,<A>,B,..STR3)<A>iFx "p*
..S#TR1 (..TY,O,<A>,B,..STR3)<A>,iF| %*+
..S%0TR1 (..TY,OA,<A>,B,..STR3)<A>iF|P #P*
..S#pTR1 (..TY,OE,<A>,B,..STR3)<A>iF}` $0*%
..S$PTR1 (..TY,ON,<A>,B,..STR3)<A>iGP %p*1
..S&TR1 (..TY,Z,<A>,B,..STR3)<A>,iGT (*C
..S(0TR1 (..TY,ZA,<A>,B,..STR3)<A>iGTP &P*7
..S&pTR1 (..TY,ZE,<A>,B,..STR3)<A>iGU` '0*=
0x..S'PTR1 (..TY,ZN,<A>,B,..STR3)<A>iK4@
..TRR==
RADIX 8
.NV==1
IRP<
.TRV1 (A)>
JSP .A16, .TRSET
..NV-@1,,..NV-1
RADIX` ..TRR
DEFINE ENDTV.<.ENSV1 <A>>
.ENSV1 <ib 50#+
..TX(C,A,<B>)..TX(Cib 6p#7
..TX(CA,A,<B>).TX(CibP 5p#/
..TX(CE,A,<B>).TX(Cib` 60#3
..TX(CN,A,<B>).TX(Cibp /0"{
..TX(N,A,<B>)..TX(Nibt 0p#
..TX(NA,A,<B>).TX(NibtP /p"
..TX(NE,A,<B>).TX(Nibu` 00#
..TX(NN,A,<B>).TX(Nibx 10#
..TX(O,A,<B>)..TX(Oib| 2p#
..TX(OA,A,<B>).TX(Oib|P 1p#
..TX(OE,A,<B>).TX(Oib}` 20#
..TX(ON,A,<B>).TX(OicP 30#
..TX(Z,A,<B>)..TX(ZicT 4p#'
..TX(ZA,A,<B>).TX(ZicTP 3p#
..TX(ZE,A,<B>).TX(ZicU` 40##
..TX(ZN,A,<B>).TX(Zk:*g pX/
%%FOO==pxa
BRK0 (%%FOO,B,1)
(%%FOO,m$,I1P$m$,YP#m$-X5Q |m$-Z7Q xm$.zQ po& p!O<^L<-<<A>_<^L<A>>>-1>>>q
fC@ 00
EXTEND A,[XBLT]XTEND q"eJ P q6~i4 C q? *0"S
TXC A,<B>
TXC A,:h ${
A:&@ s'%
..TSIZ s0(..PST,C)
.CASsPE ..PST,<<
MOVspEM A,B>,<
HRtRM A,B>,<
HRt0LM A,B>,<
DPtPB A,[POINTR (B,C)]>>INTR (B,:<;Y nP&y
DEFINnpE ..CNS2 (NEW,OLDo)<
OLD>
..CNS ()>
:L;Y l0&q
DEFINlPE ..CNS (ARG)<
lp..CNS2 <ARG>,>
m
DEFINE ..CNS2m0 (NEW,OLD)<
DEFmPINE ..CNS (ARG)<
..CNS2 <ARG>,n<OLD'NEW>>>
OLD'NEW>>>
:Mi _0.
DEFINE _PELSE. <
..TAGE _p(JRST,)
..TAG`F (,<:!>)
SYN`0 ..TAGE,..TAGF
`P DEFINE ELSE. <`p....U>>
DEFIaNE ENDIF. <
..Ta0AGF (,<:!>)
..RSDF>
.:TH )1
..JNA3 (A,C,D)JNA3 :TI P)?
..TSAC p(..ACT,C)
.IF0 ..ACT,<
SETC0M .SAC,C
JXPE (.SAC,D,<B>)>p,<
JXO (C,D,<B>)>O (C,:TP P(g
..TSAC p(..ACT,B)
.IF
0 ..ACT,<
..T
0SIZ (..PST,C)
P .CASE ..PST,<<
p
SKIPN B
JRST A>,<
HRR0Z .SAC,B
JUMPPE .SAC,A>,<
pHLRZ .SAC,B
JUMPE .SAC,A>,<
0
MOVE .SAC,B
P
JXE (.SAC,C,<
pA>)>>>,<
JXE (B,C,<A>)>E:U` )
..TSAC 0(..ACT,B)
.IFP0 ..ACT,<
..TpSIZ (..PST,C)
.CASE ..PST,<<
SKIPE B
JPRST A>,<
HRRZp .SAC,B
JUMPN .SAC,A>,<
H0LRZ .SAC,B
JPUMPN .SAC,A>,<
p MOVE .SAC,B
JXN (.SAC,C,<0A>)>>>,<
JXN (B,C,<A>)>N :Uh) 0)%
..TSAC P(..ACT,B)
.IF0p ..ACT,<
SETCM .SAC,B
JX0N (.SAC,C,<A>)>P,<
JXF (B,C,<A>)>F (B,:Ukh 0)K
..JN (A,C,D)..JN (:Uki p)O
..JE (<B>,C,D)JE (<:dH@ p0'
..TSIZ pP(..PST,C)
.CASppE ..PST,<<
MOVqE A,B>,<
HRRq0Z A,B>,<
HLRqPZ A,B>,<
LDBqp A,[POINTR (B,C)]>>INTR (B,:}i1 U%+
A==<<<U0-<B>>&<B>>&<1B<^L<B>>>>>&<1B<;9 .#
.POPX;LH Z%a
IFNDEF Z0C,<PRINTX ?C ISZP NOT DEFINED
ZpA (<B>,D,.FWOR[D)>
IFDEF C,<[0
IFNDEF %C,<
[P A (<B>,D,C[p)>
IFDEF %C,<\
%C (A,<B>,D,C)>>A,<B>;LH \P&
..NS==0\p
IRP C,<..N]S=..NS+1>
IFE ]0..NS,<PRINTX ?EMP]PTY STRUCTURE LIST]p, A>
IFE ..NS-^1,<
..STR0 ^0(A,<B>,<C>,D)^P>
IFG ..NS-1,< ^p
..ICNS
._.CNS (<E (A,<B_0>,,>)
IRP C,<_P
IFNDEF C,_p<PRINTX C NOT DE`FINED>
IFDEF `0C,<
IFNDEF %`PC,<
..CNS (<`p,C,D>)>
IFaDEF %C,<
%Ca0 (..STR2,,D,C)>aP
..CNS (<)>)ap
..GCNS
b ..ICNS
.b0.CNS (<E (A,<BbP>>)
IFNDEF %bpC,<
..CNS (<c,C,D>)>
IFc0DEF %C,<
%CcP (..STR2,,D,C)>cp>>
..CNS (<,,)>)
..GCNS>);LI d0&#
..CNS (<,C,B>).CNS (;LI dp&9
IFDIF <eD><F>,<
IFNe0B <D>,<
AeP (<B>,D,..MSK) ep
IFNB <F>,f<PRINTX C AND Ef0 ARE IN DIFFERENTfP WORDS>>
..MSfpK==0>
IFNB <gF>,<
..MSK=..MSK!<E>>MSK=..;LJ gP&I
IFDIF <gpD><F>,<
IFhNB <D>,<
h0A (<B>,D,..MSK)hP>
..MSK==0> hp
IFNB <F>,<
i ..MSK=..MSK!<E>>MSK=..MSK!<;LJ iP&_
IFDIF <ipD><F>,<
IFjNB <D>,<
Ij0FNB <F>,<
jPA1 (B,D,..MSK)>jp
IFB <F>,k<
A2 (B,Dk0,..MSK)>>
..kPMSK==0>
IFNB kp<F>,<
..MSK=..MSK!<E>>MSK=;i ap.!
SYN ELSbE.,a
SYN ENDIFb0.,b
SYN ..TAGFbP,c
SYN ..TAGE,bpd
.PSHX <
cSYN a,ELSE.
c0SYN b,ENDIF.
cP SYN c,..TAGF
cp SYN d,..TAGE>
..INDF
NDF
;k 2+
SYN OD.20,a
SYN LOOP.,2Pb
SYN TOP.,c
2p SYN EXIT.,d
.3PSHX <
SYN a,30OD.
SYN b,LOO3PP.
SYN c,TOP.3p
SYN d,EXIT.> SYN d,EXIT.>;$r -K....U;$s -I....U;&` }'y
..TSIZ }0(..PST,C)
.IF0}P ..PST,<
SET}pCMM B>,<
~0..~TSAC (..ACT,B)
~P.IF0 ..ACT,<
MOVX .SAC,C
~p XORM .SAC,B>,<
..TX(C,B,C)>>..TX(C,B,C);&` yP'_
..TSIZ yp(..PST,C)
.CASzE ..PST,<<
SETz0OM B>,<
HLLOSzP B>,<
HRROS zpB>,<
..TSAC ({..ACT,B)
.IF{00 ..ACT,<
MOVX{P .SAC,C
IORM {p.SAC,B>,<
..TX (O,B,C)>>>T;&@ up'C
..TSIZ v(..PST,C)
.CAv0SE ..PST,<<
SEvPTZM B>,<
HLLvpZS B>,<
HRRZwS B>,<
..TSw0AC (..ACT,B)
wP .IF0 ..ACT,<
wp MOVX .SAC,C
x ANDCAM .SAC,B>,x0<
..TX (Z,B,C)>>>TX (Z,B,;&81 Q0%
A==0 QP
..TSA1==<Z BQp>
.IF ..TSA1,RABSOLUTE,<
IR0FE ..TSA1&^O77777RP7777760,<A==1>>
60,<A==1>> ;&:= Op%
A==3 P
IFE <B>+1,<P0A=0>
IFE <B>-PP^O777777,<A==1> Pp
IFE <B>-^O777777B17,<A==2>7;&;Q S%%
A==0 S0
..TSA1==0
SP IRPC C,<
..SpTSA1=..TSA1+1
TT IFE ..TSA1-B,<
IFIDN <C><TPD>,<
A==1>
;'STOPI>>
..TX1+==C
+P.IFN +0..TX1,ABSOLUTE,<
TDA B,[C]>
+p .IF ..TX1,ABSO,0LUTE,<
..TX2=,=0
IFE <..TX1,P&^O777777B17>,<
,p ..TX2==1
- TRA B,..TX1>
-0 IFE ..TX2,<
-PIFE <..TX1&^O7777-p77>,<
..TX2==.1
TLA B,(.0..TX1)>>
IFE ...PTX2,<
IFE <.p<..TX1>B53-^O7777/77>,<
..TX703 (A,B)>>
IF7PE ..TX2,<
I7pFE <..TX1+1>,<
8 ..TX4 (A,B80)>>
IFE ..TX2,<8P
TDA B,[..TX1]>
>,[.;'` 9#[
IFIDN <90A><Z>,<
..9PTX2==1
ANDI 9pB,^-..TX1>
IFI:DN <A><O>,<
:0 ..TX2==1
:pOR:PCMI B,^-..TX1>
IFIDN <A><C>,<;
..TX2==1
;0 EQVI B,^-..TX1>QVI B,^-..TX;' ;p#i
IFIDN <<A><NN>,<
..T<0X2==1
CAIN B<P,0>
IFIDN <A<p><NE>,<
..TX2===1
CAIE B,0>
CAIE B,0;' -P*u
..TSAC -p(..ACT,B)
.IF.0 ..ACT,<
PRIN.0TX ?TQA - B NOT.P IN AC>,<
TXA B,C>
TXA;'R )m
..TSAC 0(..ACT,B)
.IFP0 ..ACT,<
..JpX1==C
.IF0 <0..JX1-1B0>,<
SKIPGE B>,<
P .IF0 <..JX1+1>,<p
SKIPE B>,<
MOVE .SAC,B
0 TXNE .SAC,C>>>,P<
TXNE B,C>
TXNE B,C>;'W p*i
..TSAC (..ACT,B)
.IF00 ..ACT,<
..JPX1==C
.IF0 <+p..JX1-1B0>,<
S,KIPL B>,<
,P ,0.IF0 <..JX1+1>,<
SKIPN B>,<
,p MOVE .SAC,B
-TXNN .SAC,C>>>,<
TXNN B,C>
`P P P 0P d 1Y
.ACV2 (A)
.ACV2 (d@ P1m
IFDEFp A,<.IF A,SYMBOL,<PRINTX ACVAR 0A ALREADY DEFINEDP>>
A==.FPAC+..pNAC
$A==A
IFB <B>,<..NAC0=..NAC+1>
IFNB P<B>,<..NAC=..NAC+B>..NAC=..NACd` 1}
IFG A-0.NPAC,<PRINTX ?TOPO MANY ACS USED>
IFLE A-4,<
JSP .A16,.SAVA>0
IFG A-4,<
P JSP .A16,.SAV8>JSP .A16,.SAV8>):A ):9:A 9:
d; ,`3
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 .BL0F1,<
LOAD .A0 16,A,B
PUSH 0@P,.A16>>
IFE 0`.BLF1,< ;IF WASN1'T A STRUCTURE RE1 F,
PUSH P,A>>1@
..NA=..NA+1
..NA=..NA+1
d; , 2b
.BLCL1 A
.BLCL1
f=( ) 2L
DEFINE )@A<-^OB(.FP)>
$A==<Z A>>
9 Mp$y
..CSN==NA
..CSC==0
IN0RP B,<
IFE ..CNPSN-..CSC,<
STNpOPI
..CAS1 (OB)>
..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 P(
..PST==pC&<-C>
.IF0 ..PST-1,<
SOS 0B>,<
MOVX .SAPC,-..PST
ADDM .SAC,B> ADDMtH 2
IRP A, 0<
.ENAV2 (A)> .ENAV2 (A)tI p2
.ENAV3 (A)
.ENAV3 tI !02
PURGE A,A
PURGE t,h *2R
IRP A,* <
DEFINE A<....U>>FINE A<.v=H
P0W
IRP A,
p<
.ENSV2 (A)> .ENSV2 (A)v=I 00[
.ENSV3 (A)
.ENSV3 v=I p0_
DEFINE A<....U>EFINE vI9A vI9~+H 0!{
A (\..FORN)
A (\..~. "
A BP `P =|RQ &2 LP$k
..IFT==LpA
IFE ..IFT,M<
B
..IFT==0M0>
IFN ..IFT,<
C>N ..IFT,<&4 23$
IRPC A2 ,<
B==0
IFGE2@ "A"-"A",<IFLE "2`A"-"Z",<B=1>>
IFGE "A"-"0",<3 IFLE "A"-"9",<B3@=1>>
IFE "A"-"3`%",<B=1>
IFE "4A"-"$",<B=1>
4 IFE "A"-".",<B=4@1>
IFE B,<STOPI>>IFE B,<STOP&t<H 0(
..PST==PC&<-C>
.IF0 p..PST-1,<
AOS B>,<
MOVX .S0AC,..PST
ADDM .SAC,B> ADDM&tj7Q ?2DQ x6MiTQ @;`P ?= p(/
..TSIZ (..PST,C)
.IF00 ..PST,<
A BP>,<
..LDB .SApC,B,C
A .SAC>C
A .S?= (C
..TSIZ 0(..PST,C)
.IF0P ..PST,<
A Bp>,<
..LDB .SAC,B,C
A .SA0C
..DPB .SAC,B,C>DPB .SAC,B~ fp.7
.PSHX1 (.POPX2).PSHX1 B~ g0.;
.POPX4 A
.POPX4 B~ h0.I
A
hPDEFINE .PSHX1 (WChpH,STUFF)<
WCH (i<<STUFF>,<B>>)><STUFF>,<B>>)>B~
gp.?
.POPX3 B
.POPX3 C dp.'
.PSHX1 (.PSHX2,<A>)1 C e0.+
A (<B>)
A (<BC ep.3
DEFINfE .PSHX1 (WCH,STUf0FF)<
WCH (<<STUFF>,<A>>)><STUJDP'K%,z !c<<<A>&<B0>>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 P05
.STKV2 (A)
.STKV2 O%=I 0C
IFB <B0>,<..STKN==..STKNP+1>
IFNB <B>,<p..STKN==..STKN+B>
..STKQ==..STK0N+1
.STKV3 (A,\..STKQ)V3 (A,O%=I p0Q
IFDEF A,<.IF A,SYMBO 0L,<PRINTX STKVAR PA ALREADY DEFINE pD>>
DEFINE A<-
^OB(P)>
$A==<Z A>>
$A==<S):A S):S9:A S9:Sd @0|
.TRV2 (A)
.TRV2 (Sd@ 1
.TRV3 ( A,\..NV)
IFB @<B>,<..NV=..NV+1`>
IFNB <B>,<..NV=..NV+B>,<..Sd` 1
IFDEF@ A,<.IF A,SYMBO`L,<PRINTX TRVAR A ALREADY DEFINED >>
DEFINE A<^O@B(.FP)>
$A==<Z A>>
$A==<b\| P!E
.XCREF
.XCRF1 <..ACT,..CSC,..CSN,..IFT,0..JX1,..MSK,..MX1P,..MX2>
.XCRF1 p<..NAC,..NRGS,..NS,..NV,..PST,..ST0KN,..STKQ,..STKR>P
.XCRF1 <..TRR,p..TSA1,..TX1,..TX2,.FP,.FPAC,.NAC,0.SAC,.SAV1>
.XCPRF1 <.SAV2,.SAV3,pPOINTR,POS,WID,..CAS1,..CNS,..CNS20>
.XCRF1 <..DPBP,..GNCS,..ICNS,..pJE,..LDB,..STR0,..STR1,..STR2>
.0XCRF1 <..STR4,..TPQO,..TQZ,..TSAC,.p.TSIZ,..TX,..TY,.ACV1,.ACV2>
.XC0RF1 <.ACV3,.CASE,P.DECR0,.IF0,.INCRp0,.OPST1,.OPST2,.STKV1>
.XCRF1 <0.STKV2,.STKV3,.TRPV1,.TRV2,.TRV3>
.CREF
3>
b)H !K
IRP A,0<
IFDEF A,< .XCREF A>>A,< .>}{woP