Trailing-Edge
-
PDP-10 Archives
-
bb-h137f-bm
-
new-subsys/macsym.unv
There are 97 other files named macsym.unv in the archive. Click here to see a list.
x,Sb@P C4@ `8
..NAC==0
IRP A,<
.ACV1 (A)>
@ .ACV3 (\..NAC) `
DEFINE ENDAV.<.ENAV1 <A>>V.<C' [X%]OP%%IA (A,B,ADD,SUB)(AC:$S@ >3q
..TAGF (<JUMPN A,>,) C:$s@ ?3y
..TAGF (<JUMPLE A,>,)C:$y' ?P3}
..TAGF (<JUMPL A,>,) C:%C@ @P4
..TAGF (<JUMPGE A,>,)C:%I' @4
..TAGF (<JUMPG A,>,) C:%c@ >P3u
..TAGF (<JUMPE A,>,) C:&' B4
..TAGF B0(<JN <A>,<B>,>,)N <A>,<B>,>,C:&G Bp4
..TAGF C(<JE <A>,<B>,>,)E <A>,<B>,>,C:' 2X#
TXZ A,<^-<B>>TXZ A,C:' ' A4
..TAGF (<JXN A,B,>,)C:'G AP4
..TAGF (<JXE A,B,>,)C:v:g <P3e
TRNA
..TAGF (JRST,) C;< <3a
..TAGF (JRST,) ..TAGF CO,,@ zp7k
..TRR=={10
RADIX 8
{0..NV==1
IRP {PA,<
.TRV1 ({pA)>
IFG ..NV-|5,<PRINTX ?TOO MA|0NY ARGUMENTS: A>|P
JSP .A16,.ASSE|pT
RADIX ..TRR}
DEFINE ENDAS}0.<.ENSV1 <A>>
.ENSV1 <A>>
E>= X,}X
IFN FTSHOW,..LOC==.
0
DEFINE WORD(NAM,PNUMB<1>),<
IFN p<..MSK>,<..OFF==..OFF+1>
..MS0K==0
FIELDM(NPAM,<.FWORD>)
p ..MSK==0
..OFF==..OFF+NUMB
0
>
DEFINE NXTPWRD(NUMB<1>),<
p..MSK==0
..OFF=..OFF+NUMB
>
0
DEFINE FILLER(NPUM),<
..FLG==POpS(..MSK)
IFE ..MSK,<..FLG==-1>
0 IFG <^D<NUM>-<^DP35-..FLG>>,<PRINTpX ?FILL TOO BIG IN A STRUCTURE>
0 ...MSK==MASK.(^DP<NUM>,<..FLG+^D<NpUM>>)
IFN FTSHOW,<
PHASE ..O0FF
EXP ...MSKP
>
..MSK==..MpSK!...MSK
>
DEFINE HWORD(n0am),<
..FLG==0 P
IFE ..MSK&.LHpALF,<FIELDM(nam,.LHALF)
..FL0G==1>
IFE ..FLGP,<..MSK==..MSK!.LpHALF
IFE ..MSK&.RHALF,<FIELD0M(nam,.RHALF)
P ..FLG==1>
IFE ..FLG,<NXTWRD
0FIELDM(nam,.LHALFP) >
>
>
p
DEFINE FIELD(NAM,SIZ,POS),<
..0FLG==0
IFB P<POS>,<IFB <SIZ>,p<
...MSK==.RTMSK(<<^-<<..MSK>>0>>)
IFE ...MPSK,<..OFF==..OFF+p1
..MSK==0
...MSK==0-1
>
FIELPDM(NAM,<...MSK>) p
..FLG==-1
>>
IFNB <SI0Z>,<.SIZ==^D<SIZ>P>
IFNB <POS>p,<
FIELDM(NAM,MASK.(.SIZ,POS0))
..FLG==-1P
..BITS==MApSK.(.SIZ,POS)
>
IFE ..FLG,< 0IFGE <^D<.SIZ>-^D P36>,<
WORD(N pAM,<^D<.SIZ>/^D36!>)
IFN <<^D<!0.SIZ>-<^D<.SIZ>/^!PD36>*^D36>>,<
!p FIELD(...,<<^"D<.SIZ>-<^D<.SIZ>"0/^D36>*^D36>>)
"P >
..FLG="p=-1
>>
IF#E ..FLG,<
.#0.BITS==MASK.(^D<.#PSIZ>,<^D<.SIZ>-1>#p)
REPEAT <$^D36-^D<.SIZ>+1>,$0<
IFE ..FL$PG,<
IFE $p<..BITS&..MSK>,< %
..MSK==..MSK%0!..BITS
..FLG%P==-1
> %p
IFE ..FL&G,..BITS==..BITS_&0<-1>
>
&P >
IFE ..FLG,&p<
..BITS==M'ASK.(^D<.SIZ>,<^D'0<.SIZ>-1>)
.'P.OFF==..OFF+1
'p ..MSK==..BITS (
>
MSKSTR((0A'NAM,\..OFFC,..(PBITS)
A.'NAM=(p=..OFF
IFN FTSH)OW,<
PHASE A)0.'NAM
EXP A')PNAM
>>
..OL)pD==..BITS
...*OLD==..BITS
*0>
DEFINE BIT(N*PAM),<
..BITS==L*pFTBT.(..OLD)
+ IFE ..BITS,<PRIN+0TX ?NO ROOM FOR B+PIT IN LAST FIELD>+p
A%'NAM==..B,ITS_<-<^D35-POS(.,0..OLD)>>
A.'N,PAM==..OFF
M,pSKSTR(A'NAM,\..O-FFC,..BITS)
I-0FN FTSHOW,<
P-PHASE ..OFF
EX-pP A'NAM
>
...OLD==..OLD&<^-<.0..BITS>>
>
.P
DEFINE FIELDM(NA.pM,MASK),<
IFN M/ASK&..MSK,<
/0..MSK==0
../POFF==..OFF+1
>p
..MSK==..MSK!0MASK
MSKSTR(00A'NAM,\..OFFC,M0PASK)
A.'NAM==0p..OFF
IFN FTSHO1W,<
PHASE A.10'NAM
EXP A'N1PAM
>
>
DEFI1pNE ENDSTR(LENNAM<2LEN>,LSTNAM<LST>)20,<
IFN ..MSK,2P<..OFF==..OFF+1> 2p
A.'LSTNAM==3..OFF
IFN FT30SHOW,DEPHASE
3P..LOK==..LOK+1
3pIFN ..LOK,<PRINTX4 ? MISSING BEGSTR40>
IF2,<
I4PFDEF ...MSK,<SUPP4pRESS ...MSK>
5IFDEF ..BITS,<SUP50PRESS ..BITS>
5P IFDEF .SIZ,<SUPP5pRESS .SIZ>
IF6DEF ..MSK,<SUPPRE60SS ..MSK>
IFD6PEF ..OFF,<SUPPRES6pS ..OFF>
IFDE7F ..FLG,<SUPPRESS70 ..FLG>
IFDEF7P ..LOK,<SUPPRESS 7p..LOK>
IFDEF 8..LOC,<SUPPRESS .80.LOC>
IFDEF .8P.OLD,<SUPPRESS ..8pOLD>
IFDEF ..9.OLD,<SUPPRESS ..90.OLD>
>
IF19P,<
IFDEF ...M9pSK,<.XCREF ...MSK:>
IFDEF ..BIT:0S,<.XCREF ..BITS>:P
IFDEF .SIZ,<:p.XCREF .SIZ>
;IFDEF ..MSK,<.XCR;0EF ..MSK>
IFD;PEF ..FLG,<.XCREF ;p..FLG>
IFDEF <..OFF,<.XCREF ..O<0FF>
IFDEF ..L<POK,<.XCREF ..LOK><p
IFDEF ..LOC,=<.XCREF ..LOC>
=0 IFDEF ..OLD,<.X=PCREF ..OLD>
I=pFDEF ...OLD,<.XCR>EF ...OLD>
>
>0
PURGE WORD,NXTW>PRD,FILLER,HWORD,F>pIELD,BIT,FIELDM
?
A.'LENNAM==..?0OFF-B
IFN FTSH?POW,<RELOC ..LOC>>?p
..MSK==0@
..OFF==B
A.D==B
@PIFDEF ..LOK,<IFL @p..LOK,<PRINTX ? NAEW BEGSTR WITHOUTA0 ENDSTR>>
..LOK==-1
..L?n(w0?;BEG
E2 ,:i
..NA==0,0
IRP B,<
,P .BLCL2 B>
,pPUSH P,[..NA+1,,.-.NA+1]
PUSHJ P,A
SHJ PE2|:g p0W
..SVBK
XMOVEI .A16,
0a
PUSH P,.A16
P
DEFINE ENDBK.
p <
RET
a:!
.POPX>:!E3XG &P:Q
..TRR=&p=10
RADIX 8 '
..NA==2
'0IRP A,<
..NA'P=..NA+1>
IRP 'pA,<
.BLSU1((A,\..NA)
..N(0A=..NA-1>
..NV=(P=1
IRP B,<
.TRV1 (B)> )
DEFINE ENDBS.)0 <.ENBS1 <A>
)P.ENSV1 <B>>
J)pSP .A16,.ENTER
*..NV-1,,..NV-1
RADIX ..TRR1
EJMj' Zx5`0
W0.==A
W1.==B ;INIT[`IALIZE BREAK MASK\
W2.==C
W3.==D
==C
W3.==@5M0??0B,<
?A0QAB (?E0 ..SEJZ UX5A ..V22==aUx
..V1==a
IFNVB <B>,<..V22==BV8>
REPEAT ..V22-<VXa>+1,<
%%W==.Vx.V1/^D32
%%X==W..V1-%%W*^D32
W8IFE C,BRKC1 \"<%WX%W+"0">
IFN CWx,BRKC2 \"<%%W+"0"X>
..V1==..V1+1
>
.V1+1 XX5E WA.==WA.!<1B<%%X>>
AEJ\4@ Y5K WA.==WAY8.&<-1-1B<%%X>>
&<-1-1B<%%X>>
EJ\: T5#
%%FOO==T8a
BRK0 (%%FOO,B,0)
(%%FOO,EJn:g \@5n
BRINI. A\`,B,C,D
IRPC] E,< UNBRK. "E"] >
IRPC F,< BR]@KCH. "F">
EXP]` W0.,W1.,W2.,W3.
W1.,W2.,W3. Ge@ ,GeLR +G@ U8%+OP%%CA (A,B,)OP%%CA (AGD Xx%GOP%%CA (A,B,A)P%%CA (AGDP Vx%7OP%%CA (A,B,E)P%%CA (AGDp W8%;OP%%CA (A,B,G)P%%CA (AGDy Wx%?OP%%CA (A,B,GE)%%CA (AGE@ Ux%/OP%%CA (A,B,L)P%%CA (AGEI V8%3OP%%CA (A,B,LE)%%CA (AGE` X8%COP%%CA (A,B,N)P%%CA (AG?Z
X m
ASCIZ /
x
COPYRIGHTQ(c)MDT
ALL RIGHTS RESERVED.
/TS RESERVI \P-g
..STR0 \p(.DECR0,,<A>,<B>)CR0,,<A>,<BI6= px'
A==<-1qB<C>+1B<C-D>> q8
IF1,<IFDEF %AqX,<PRINTX ?A ALREqxADY DEFINED>>
DrEFINE %A (OP,AC,r8Y,MSK)<
$A==<ZrX B>
OP (<AC>,B'Y,MSK)><AC>I'7 ]X%mOP%%IN (A,B,DIV)%IN (AI<p
00u
..SVLD
P
a:!
D
pEFINE OD. <
b:!
.POPX>
P DEFINE LOOP. <
JRST a>
pDFINE TOP. <a>
DEFINE ENDLP0. <b>
DEFINPE EXIT. <
JRST b>T. <
JRST IKH1 :
..TMSK== ..MASK
..TNAC==.@.NAC-1
REPEAT ..`NAC,<
IFN ..TMSK,<
..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 9l
IFG ..NA C,<ADJSP P,..NAC>@
..TMSK==..MASK
..TNAC==..NAC-1
REPEAT ..NAC,<
IFN ..TMSK,<
@ ..NUM==^L<..TMSK`>
..TMSK==..TMSK-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 s''
A==<-1s8B<C>+1B<C-D>> sX
IF1,<IFDEF %Asx,<PRINTX ?A ALREtADY DEFINED>>
Dt8EFINE %A (OP,AC,tXY,MSK)<
OP(<ACtx>,<@[EP.B'Y]>,MSK)>P.qB'Y]>,MK+\Y`p0@p0@4p0@4op0@UN.,HK+`p0@p0@
A==C wX
IF1,<IFDEF %wxA,<PRINTX ?A ALRxEADY DEFINED>>
x8DEFINE %A (OP,ACxX,Y,MSK)<
OP (<AxxC>,<@[EP. B'Y]>,MSK)>P. B'Y]>,K:$Kg 0w
OD.K:%G 3i....U~+HK@p =P<
..I==0
..X==0
MAKRM.> (..CON,..GET)
>0..CON <EXIND. ..I>P,>
IRPC A,<
>p ..SC==0
IFE? "A"-"@",<..I==1?0
..SC=1>
?PIFE "A"-"(",<..C?pON <,>
..SC=1@
..X==1>
@0IFE "A"-")",<
@P IFE ..X,<PRIN@pTX %UNEXPECTED RIAGHT PAREN IN EP. A0MACRO>
..SC=1AP>
ApIFE ..SC,<
..CON <A>>>B
IFE ..X,<
B0..CON <,0>>
..CBPON <
>
..GET
>
..GET
KCm ;P;i
DEFIN;pE ..EP. (LOCN,PTE<XT)
<PRINTX<0 Location 'LOCN':<P PTEXT
>
<p ..EP.(\.,<A>)
PURGE ..EP.
URGE ..EP.
KJn9` R85
ERJMP [RXTMSG <? A>
JSHLT]
A>
JKbMi C<<<A>B1+<C>B5+<B>>B1+<Kc S5
IF2,<S8
IRP A,<
IFNSXDEF A,<EXTERN A
SUPPRE A>>>M&. cX&OP%%FP (A,B,FADR)FP (AM6. e&)OP%%FP (A,B,FDVR)FP (AM2 X"<<<A>B<POS(<B>)>>&<B>>M2$*g b 68
..XX==<b@FLD(A,CM%FNC)>+b`B+<Z G>
IFNBc <D>,<..XX=CM%HPc P!..XX>
IFNB c@<E>,<..XX=CM%DPPc`!..XX>
IFNB <dF>,<..XX=CM%BRK!d ..XX>
..XX
d@IFNB <C>,<C>
d` IFB <C>,<0>
e IFNB <D>,<POINe T 7,[ASCIZ D]>e@
IFB <D>,<IFe`NB <EF>,<0>>
f IFB <E>,<IFNB f <F>,<0>>
IFNf@B <E>,<POINT 7,[f`ASCIZ \E\]>
gIFNB <F>,<F>
<F>,<F>
M2$HG ^ 6
..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 Da]>
IFB <D>,<a IFNB <E>,<0>>
a@ IFNB <E>,<POINa`T 7,[ASCIZ \E\]>7,[ASCIZ \E\]>M7. dX&%OP%%FP (A,B,FMPR)FP (AM7p Ox5
HRROI .PAC2,[ASCIZ \A\]
MOVEI .AC3,0
SOUTI .AC3,0
M?c@ "x"
DEFINE# e(C)<D>
..FO#8RN==A
REPEAT B#X-A+1,<
.FORN1 #x(e)
..FORN=..FORN+1>.FORN=..FM?3@ &"5
DEFINE&8 %MN1 (B)<C>
&X..FORN==A
.FORN1 (%MN1)
.FM?@ $x"+
DEFINE% d (B)<C>
I%8RP A,<
.FORX1 d,A>
.FORX1\MN.d&!OP%%FP (A,B,FSBR)FP (AMS{PNF@1^O44C==:NJ
..ERR.=c00
.BSIZ.=BcP
cp.BPOS.=D
IFN <<A>&<^O<-d1,,770000>>>,<
d0 MPRNTX(G2BPT,Sed`ction greater thajpn 12 bits: A)
k ..ERR.=1
k0>
IFN <<C>&<^O<7kP77740,,0>>>,<
kp MPRNTX(G2BPT,Bitls 0 - 12 non-zerol0 in address fieldlP: C)
..ERR.=lp1
>
IFN <<mE>&<-1,,0>>,<
m0 MPRNTX(G2BPT,BitmPs 0-17 non-zero impn optional field:n E)
..ERR.=1n0
>
IFN <.BSnPIZ.&<^O<-1,,77770np0>>>,<
MPRNTXo(G2BPT,Bytesize go0reater than 6 bitoPs: B)
..ERR.op=1
>
IFN <.pBPOS.&<^O<-1,,777p0700>>>,<
MPRNpPTX(G2BPT,Byte offppset greater than q6 bits: D)
.q0.ERR.=1
>
IqPFN ..ERR.,<-1,-1,qp-1>
IFE ..rERR.,<
IFDIF r0<D><>,<<<POINT .rPBSIZ.,E,.BPOS.>!rp1B12>&<^O<777740,s,-1>>>
tIFIDN s0<D><>,<<<POINT .sPBSIZ.,E>!1B12>&<sp^O<777740,,-1>>>
<<<t0C>_<^O14>>&<^O<37tP0000,,0>>!<<C>&<tp0,,-1>>!<<A>_<^Ou22>>>
>
PURu0GE ..ERR.,.BSIZ.,.BPOS.
BSIZ.,A#>0 GENBPON{ Fp<_
..ERR.=G0
IFN <<A>&<G0^O<-1,,770000>>>,GP<
MPRNTX(GFIWGpM,Section greaterH than 12 bits: AH0)
..ERR.=1
HP >
IFN <<B>&<Hp^O<777740,,0>>>,<I
MPRNTX(GFIWMI0,Bits 0 - 12 non-IPzero in address fIpield: B)
..EJRR.=1
>
IFNJ0 ..ERR.,<-1,-1,-1JP>
IFE ..JpERR.,<
<<<B>K_<^O14>>&<^O<3700K000,,0>>!<<B>&<0,KP,-1>>!<<A>_<^O22Kp>>>>
PURGE ..ERR.
PURGE ..ERSNn ^%qOP%%IN (A,B,IDIV)IN (AS)` 'P2I
JUMPN 'pA,b
..SVDF (
DEFINE ..TA(0GF (INST,PCT)<
(PINST b'PCT>
(p DEFINE ..TAGE ()INST,PCT)<
INST c'PCT>
STS.:g &029
PRINTX &P% IFESK. should b&pe changed to IFNJ'E.
IFNJE. <A>.
IFNJE. <A>S9` +P2i
JUMPLE +pA,b
..SVDF ,
DEFINE ..T,0AGF (INST,PCT)<
,P INST b'PCT>
,p DEFINE ..TAGE -(INST,PCT)<
INST c'PCT>
SS<S@ -P2y
JUMPL -pA,b
..SVDF .
DEFINE ..TA.0GF (INST,PCT)<
.PINST b'PCT>
.p DEFINE ..TAGE (/INST,PCT)<
INST c'PCT>
STSTS@ 1a
IFB <0BC>,<
..SVDPF
ERJMPA fp
JRST d
f:!
PDEFINE ..0TAGF (INST,PCT)<
INST d'PCT>
DEFINE ..TAGE (INST,PCT)<
IN0ST e'PCT>
>P
IFNB <BC>,<p
ERJMPA d
C
JRST e
d:! B
e:!>
ST\G P1E
IFB <pAB>,<
..SVDF
ERJMP e 0
JRST c
e:P!
DEFINE ..TApGF (INST,PCT)<
INST c'PCT>
0 DEFINE ..TAGE (PINST,PCT)<
INSTp d'PCT>
>
IFNB <AB>,< 0
ERJMP c
PB
JRST d
c:! A
d:!>
c:!SUc@ #02/
IFB <#PB>,<
..SVDF #p
ERJMPA c
$ DEFINE ..TAGF $0(INST,PCT)<
INS$PT c'PCT>
D$pEFINE ..TAGE (INS%T,PCT)<
INST d%0'PCT>
>
I%PFNB <B>,<
ERJM%pPA c
B
c:!> c
B
c:!Sa` 1P3
JUMPGE 1pA,b
..SVDF 2
DEFINE ..T20AGF (INST,PCT)<
2P INST b'PCT>
2p DEFINE ..TAGE 3(INST,PCT)<
INST c'PCT>
SSdS@ /P3
JUMPG /pA,b
..SVDF 0
DEFINE ..TA00GF (INST,PCT)<
0PINST b'PCT>
0p DEFINE ..TAGE (1INST,PCT)<
INST c'PCT>
STSq` )P2Y
JUMPE )pA,b
..SVDF *
DEFINE ..TA*0GF (INST,PCT)<
*PINST b'PCT>
*p DEFINE ..TAGE (+INST,PCT)<
INST c'PCT>
STSt\g P1k
PRINTX p% IFNES. should be changed to IFJE0R.
IFJER. <A>,<B>FJER. <A>,Su)' P2
IFB < pA>,<
..SVDF !
ERJMP b
!0 DEFINE ..TAGF (I!PNST,PCT)<
INST !pb'PCT>
DEF"INE ..TAGE (INST,"0PCT)<
INST c'P"PCT>
>
IFN"pB <A>,<
ERJMP b
A
b:!> Sv:g 1)
IFB <0AB>,<
..SVDPF
TRNA
pJRST c
DEFINE ..TAGF (INST,0PCT)<
INST c'PPCT>
DEFINE p..TAGE (INST,PCT)<
INST d'PCT> 0
>
IFNB <PAB>,<
JRST pc
B
JRST d
c:! A
d:!>
c:! A
d:!>S
S@ 7P3K
JN <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 9p3]
JE <A>:,<B>,c
..SVD:0F
DEFINE .:P.TAGF (INST,PCT)<:p
INST c'PCT> ;
DEFINE ..TAG;0E (INST,PCT)<
I;PNST d'PCT>
ST d'PCT>
S< p2
IFB <A>,<
..SVDF 0
JRST b
PDEFINE ..TAGF (INpST,PCT)<
INST b'PCT>
DEFI0NE ..TAGE (INST,PPCT)<
INST c'PCpT>
>
IFNB <A>,<
JRST b
A
b:!> bSDS@ 3P3)
JXN A,3pB,c
..SVDF 4
DEFINE ..TA40GF (INST,PCT)<
4PINST c'PCT>
4p DEFINE ..TAGE (5INST,PCT)<
INST d'PCT>
STSEc@ 5P39
JXE A,5pB,c
..SVDF 6
DEFINE ..TA60GF (INST,PCT)<
6PINST c'PCT>
6p DEFINE ..TAGE (7INST,PCT)<
INST d'PCT>
STS7-N ]%iOP%%IN (A,B,IMUL)IN (AS: Z0-U
..STR0 ZP(.INCR0,,<A>,<B>)CR0,,<A>,<BS? 2#
TXO A,<B>
TXO A,Ut@ op/
..STR1 p(..JAN,<d,<C>>,p0<A>,<B>,..STR5)
d:B>,..STR5)U cP.
..STR1 cp(..JE,<C>,<A>,<B>,..STR3)A>,<U8 h.C
..STR1h0(..JN,<C>,<A>,<B>,..STR3)A>,<U:
..STR1 mP(..JNA3,<C>,<A>,<B>,..STR4)A>U:~ s/
..STR1 s0(..JNO,<d,<C>>,sP<A>,<B>,..STR5)
d:B>,..STR5)U? lP.g
..STR1 lp(..JN,<C>,<A>,<B>,..STR4)A>,<UN.,@`p0?~p0?{,p0?~4op0?{UN.,HUN.,HA UN.,HUNEM`p0@
p0@,p0@
4qp0@UNEMUNEMA UNEMUNn9hA UNn9hUb( F8$K
..JX1==FXB
.IFN ..JX1Fx,ABSOLUTE,<PRINTXG B NOT ABSOLUTE
..JX1==0>
.IGXF ..JX1,ABSOLUTE,Gx<
.IF0 <<..JX1>H-1B0>,<
JUMPGH8E A,C>,<
.IF0HX <<..JX1>+1>,<
Hx JUMPE A,C>,<I
TXNN (A,..JI8X1)
JRST C>>>)
JRST C>>>Ub0 Q8%'
..JX1==QXB
.IFN ..JX1Qx,ABSOLUTE,<PRINTXR B NOT ABSOLUTE
..JX1==0>
.IRXF ..JX1,ABSOLUTE,Rx<
.IF0 <<..JX1>S-1B0>,<
JUMPGES8 A,C>,<
..ONESXB (..BT,B)
.ISxF0 ..BT,<
SETTCM .SAC,A
T8JXN (.SAC,..JX1,TXC)>,<
TXNNTx A,..JX1
JRST C>>> Ubp Ix$g
..JX1==JB
.IFN ..JX1J8,ABSOLUTE,<PRINTXJX B NOT ABSOLUTE
..JX1==0>
.IKF ..JX1,ABSOLUTE,K8<
.IF0 <<..JX1>KX-1B0>,<
JUMPLKx A,C>,<
.IF0 L<<..JX1>+1>,<
L8 JUMPN A,C>,< LX
TXNE (A,..JXLx1)
JRST C>>>)
JRST C>>>Ubx M8%
..JX1==MXB
.IFN ..JX1Mx,ABSOLUTE,<PRINTXN B NOT ABSOLUTE
..JX1==0>
.INXF ..JX1,ABSOLUTE,Nx<
.IF0 <<..JX1>O-1B0>,<
JUMPL O8A,C>,<
..ONEBOX (..BT,B)
.IFOx0 ..BT,<
SETCPM .SAC,A
JP8XE (.SAC,..JX1,CPX)>,<
TXNE PxA,..JX1
JRSTC>>> JXF
.BSIZ.=LPA
.BPOS.=C
..ERR.=0
IFMN <<B>&<^O<77774M00,,0>>>,<
MPRMPNTX(L1BPT,Bits 0 Mp- 12 non-zero in Naddress field: BN0)
..ERR.=1
NP >
IFN <.BSIZ.Np&<^O<-1,,777700>>O>,<
MPRNTX(L1O0BPT,Bytesize greaOPter than 6 bits: OpA)
P..ERR.=1
>
IFN <.BPOP0S.&<^O<-1,,777700PP>>>,<
MPRNTX(PpL1BPT,Byte offsetQ greater than 6 bQ0its: C)
..ERQPR.=1
>
IQpFN <..ERR.>,<-1,-R1,-1>
IFE <.R0.ERR.>,<
IFIDRPN <C><>,<POINT .RpBSIZ.,B>
IFDSIF <C><>,<POINT S0.BSIZ.,B,.BPOS.>SP
>
PURGE ..SpERR.,.BSIZ.,.BPOS.
BSIZ.,.BPOSXJ
..ERR.=Zp0
.BSIZ.=A[
[0.BPOS.=C
IFN <<B>&<^O<7[P77740,,0>>>,<
[p MPRNTX(L2BPT,Bit\s 0 - 12 non-zero\0 in address fieldT0: B)
..ERR.=TP1
>
IFN <<TpD>&<-1,,0>>,<
U MPRNTX(L2BPT,BitU0s 0-17 non-zero iUPn optional field:Up D)
..ERR.=1V
>
IFN <.BSV0IZ.&<^O<-1,,77770VP0>>>,<
MPRNTXVp(L2BPT,Bytesize gWreater than 6 bitW0s: A)
..ERR.WP=1
>
IFN <.WpBPOS.&<^O<-1,,777X700>>>,<
MPRNX0TX(L2BPT,Byte off^0set greater than ^P6 bits: C)
.^p.ERR.=1
>
I_FN ..ERR.,<-1,-1,_0-1>
IFE .._PERR.,<
IFDIF _p<C><>,<<<POINT .`BSIZ.,D,.BPOS.>!`01B12>&<^O<777740,`P,-1>>>
aPIFIDN `p<C><>,<<<POINT .aBSIZ.,D>!1B12>&<a0^O<777740,,-1>>>
<1B0!<<^O<4ap00037,,-1>>&<B>>b>
>
PURGE b0..ERR.,.BSIZ.,.BPOS.
BSIZ.,.BPA"=Q0(B).YN{ CP<3
..ERR.=Cp0
IFN <<A>&<D^O<777740,,0>>>,<D0
MPRNTX(LFIWMDP,Bits 0 - 12 non-Dpzero in address fEield: A)
..EE0RR.=1
>
IFNEP ..ERR.,<-1,-1,-1Ep>
IFE ..ERR.,<F1B0!<<^O<400037,,F0-1>>&<A>>>
PURGE ..ERR.
PUY$- Ap,1_<^D35-^L<A>>1_<^D35-^LY>
@ E,+
..STR0 E0(..LDB,A,B,<C>)LDB,A,B,<C>Y>
I H,C
..STR0 H0(..LDBE,A,B,<C>)DBE,A,B,<C[i9Q ~[^+' '"K
DEFINE'8 A (STUFF)<
c'X (<STUFF>,)>
'x DEFINE c (NEW,O(LD)<
DEFINE (8A (STUFF)<
c (X(<STUFF>,<OLD'NEW(x>)>>
DEFINE )B <
DEFINE )8c (NEW,OLD)<OLD>
A ()>
OLD>[3@ B0,<<<1_<A>>-1>B<B>>_<A>>[8@ !x"<1B<<A>-1>-1B<B>><A>-1[>!` "8"<<A>-<<A>/<B>>*<B>>A[?7 )x#
..MX1*==B
*X.IFN *8..MX1,ABSOLUTE,<
MOVE A,[B]>
*x .IF ..MX1,ABSO+LUTE,<
..MX2==0+8
IFE <..MX1>B+X53,<
..MX2==1+x
MOVEI A,..M,X1>
IFE ..MX2,,8<
IFE <..MX1>,XB17,<
..MX2==,x1
MOVSI A,(.-.MX1)>>
IFE ..-8MX2,<
IFE <<.-X.MX1>B53-^O777777-x>,<
...MX2==1
HRROI A,<..M.8X1>>>
IFE ..MX.X2,<
IFE <<..M.xX1>B17-^O777777B1/7>,<
..MX2==1/8
/xHRLOI A,(../XMX1-^O777777)>>
IFE ..MX2,<
0 MOVE A,[..MX1]>
>,[..MX1[Cm 90;Y
DEFIN9PE ..MP. (LOCN,MTE9pXT,PTEXT)<
:PRINTX Location ':0LOCN', Macro 'MTE:PXT': PTEXT
:p>
..MP.(\.,A;,<B>)
PURGE ..MP.
URGE [N^= u8'7
A==C uX
IF1,<IFDEF %uxA,<PRINTX ?A ALRvEADY DEFINED>>
v8DEFINE %A (OP,ACvX,Y,MSK)<
$A==<vxZ B>
OP (<AC>,B'Y,MSK)><AC[Vg \X%eOP%%IN (A,B,MUL)%IN (A[Xp 0X#
MOVE .S0xAC,A
MOVEM .SAC,B
MOVEM .SA[ZI` 18#
MOVX .S1XAC,<A>
MOVEM .SAC,B
MOVEM ._@(Xp Y8%Y
.XCREF
IFE <<B>_-^D18>Yx,<
.CREF
CAIZC A,<B>
.XCREZ8F
>
IFN <<B>_-ZX^D18>,<
.CREF
Zx CAMC A,[B]
[.XCREF
>
.CREFCREF
>
.CREF_@(YX eX&9
.XCREF
IFE <<B>_^D18>,f<
.CREF
CI f8A,(B)
.XCREF
fX>
IFN <<B>_^D18fx>,<
.CREF
C gA,[B]
.XCREF
>
.CREFCREFX&
.XCREF
TEST%%=0
IFE <_<<B>_-^D18>-^O77_87777>,<
IFN <<B_X>&^O777777>,<
T_xEST%%=1
.CREF
` DI A,-<B>
.`8XCREF
>>
IFE TE`XST%%,<
OP%%IN `xA,<B>,C
>
PUaRGE TEST%%
.CREF TEST%%
.CRE_@(Z7 aX&
.XCREF
IFE <<B>_-^D18>b,<
.CREF
CI b8A,<B>
.XCREF
>
IFN <<B>_-^Dbx18>,<
.CREF
cC A,[B]
.XCREF
>
.CREFCRE_CL@ ^p-y
..STR0 _(.OPST1,<A>,<B>,<C>)<A>,<B>_CLV a.
..STR0 a0(.OPST2,<A>,<B>,<C>)<A>,<B>_^>@ Y0=K<..OWGP (\<A>,B,\<C>)>A!=G^O44 B-_^>
G Yp=OOWGP. 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= Px5
IFNB Q<A>,<
TMSG <AQ8>>
CALL JSMSG0>
CALL JSMSG0a4\G !
..PGV0=@=.
.JBVER=:^O`137
LOC .JBVER
BYTE (3)D( 9)A(6)B(18)C
@ .ORG ..PGV0
.ORG ..PGV0
a>Mm x"<POINT WID (<B>),A,POS(<B>)>),A,POS(<Ba? 8!{<^L<<A>&<-<A>>>><<A>&<aKH1 $`:0
..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<& v8?3
TXO A,.FR8BY
TXO A,aRd6 up?/
HRLI A,(POINT 8,0) AdA de ,~e&:x NX4uJRST RSKPwJRST RSKPeN^A eN^gXY ~8
..TRR==~010
RADIX 8
~P..NV==1
IRP ~pA,<
.TRV1 (A)>
IFG ..NV-05,<PRINTX ?TOO MAPNY ARGUMENTS: A>p
JSP .A16,.SASET
RADIX ..TRR0
DEFINE ENDSAP.<.ENSV1 <A>>
.ENSV1 <A>>
g4X1 @90
..DONE`==0
..SACC==0
.
.NAC==0
..MASK==
0
IRP <A>,<
@ IFG A-^D15,<PRI
`NTXL?SAVEAC(A) I
CAPINTXU?SAVEAC
IFE A-.SAC,<. .SACC==1>
..SYA@C==A
IFN `A-.SAC,<IFE ..MASK&1B<..SYAC>,<
..MASK==..MASK!@1B<..SYAC>
..`NAC==..NAC+1>>
>
IFE ..SACC,<US RSAV>
IFE ..DO@NE,<
IFLE ..SA`CC,<JSP .SAC,[>
IFG ..SACC,<CAL L [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,<IF G ..NAC,<PRSTAC>>@
IFG ..SAC`C,<POP P,.SAC>
POPJ P,]
>
PURGE ..NAC,..TN@AC,..MASK,..TMSK,`..SACC,..NUM,..SMSK,..DONE,..SYAC
DONE,..SYAC g$;8 W-;
..STR1 W0(..TQC,,<A>,<B>,..STR4)A>,<B>g%{R SP-
..STR1 Sp(..TQO,,<A>,<B>,..STR4)A>,<B>g',W Op-
..STR1 P(..TQZ,,<A>,<B>,..STR4)A>,<B>g"~s@ 8!s
....Z=A
....Z=gB8; @9D
IFE ..D`ONE,<
..SMSK==0
IRP <B>,<
..SYAC==B @
..SMSK==`..SMSK!1B<..SYAC>>
IFE ..MASK -..SMSK,<JSP .SAC@,A
..DONE==1>
>
.DONgR$g !%
F=:0
T18=:1
T2=:2
T3=:3X
T4=:4
Q1=:5
Qx2=:6
Q3=:7
P1=:10
P2=:11
P3=:182
P4=:13
P5=:14X
P6=:15
CX=:16
P=:17
CX=:16h06[
..STKR=hP=10
RADIX 8
hp ..STKN==0
IRP iA,<
.STKV1 (i0A)>
JSP .A16,.iPXSTKS ;Call inteiprnal routine for jallocation
EXPj0 ..STKN ;Size ofjP block to allocatjpe
RADIX ..STKR
DEFINE ENDSV.<.k0ENSV1 <A>>
NSV1 <A>>
gR~ Lp,i
..STR0 M(..DPB,A,B,<C>)DPB,A,B,<C>gV \%aOP%%IA (A,B,SUB,ADD)(Ai6tP u/+
..STR1 u0(..TYNE,,<A>,<B>,..STR3)A>,<Bi6u` xp/I
..STR1 y(..TYNN,,<A>,<B>,..STR3)A>,<Bi7p O4{
HRROI .O8AC1,[ASCIZ \A\]
PSOUTZ\A\]
..SpTR1 (..TY,C,<A>,<B>,..STR3)A>,iF p01
..STR1 (..TY,CA,<A>,<B>,..STR3)A>iFP 00%
..SPTR1 (..TY,CE,<A>,<B>,..STR3)A>iF` 0+
..S0TR1 (..TY,CN,<A>,<B>,..STR3)A>iFp zP/W
..SzpTR1 (..TY,N,<A>,<B>,..STR3)A>,iFt |p/i
..S}TR1 (..TY,NA,<A>,<B>,..STR3)A>iFtP {0/]
..S{PTR1 (..TY,NE,<A>,<B>,..STR3)A>iFu` |/c
..S|0TR1 (..TY,NN,<A>,<B>,..STR3)A>iFx }P/o
..S}pTR1 (..TY,O,<A>,<B>,..STR3)A>,iF| p0
..STR1 (..TY,OA,<A>,<B>,..STR3)A>iF|P ~0/u
..S~PTR1 (..TY,OE,<A>,<B>,..STR3)A>iF}` /{
..S0TR1 (..TY,ON,<A>,<B>,..STR3)A>iGP P0
..SpTR1 (..TY,Z,<A>,<B>,..STR3)A>,iGT p0
..STR1 (..TY,ZA,<A>,<B>,..STR3)A>iGTP 00
..SPTR1 (..TY,ZE,<A>,<B>,..STR3)A>iGU` 0
..S0TR1 (..TY,ZN,<A>,<B>,..STR3)A>iK4@ s7+
..TRR==s010
RADIX 8
sP..NV==1
IRP spA,<
.TRV1 (tA)>
JSP .A16,t0.XTRST
uEXP .tP.NV-1 ;Size of btplock to allocate
RADIX ..TRR
u0 DEFINE ENDTV.<.ENSV1 <A>>
.Eib >#q
..TX(C,A,<B>)..TX(Cib ?X#}
..TX(CA,A,<B>).TX(CibP >X#u
..TX(CE,A,<B>).TX(Cib` ?#y
..TX(CN,A,<B>).TX(Cibp 8#A
..TX(N,A,<B>)..TX(Nibt 9X#M
..TX(NA,A,<B>).TX(NibtP 8X#E
..TX(NE,A,<B>).TX(Nibu` 9#I
..TX(NN,A,<B>).TX(Nibx :#Q
..TX(O,A,<B>)..TX(Oib| ;X#]
..TX(OA,A,<B>).TX(Oib|P :X#U
..TX(OE,A,<B>).TX(Oib}` ;#Y
..TX(ON,A,<B>).TX(OicP <#a
..TX(Z,A,<B>)..TX(ZicT =X#m
..TX(ZA,A,<B>).TX(ZicTP <X#e
..TX(ZE,A,<B>).TX(ZicU` =#i
..TX(ZN,A,<B>).TX(Zk:*g Tx5)
%%FOO==Ua
BRK0 (%%FOO,B,1)
(%%FOO,kO8; 8Xm$,I1P$m$,YP#m$-X5Q |m$-Z7Q xm$.zQ po& x!w<^L<-<<A>_<^L<A>>>-1>>>q
fC@ gP6=
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:&@ MP,{
..TSIZ Mp(..PST,C)
.CASNE ..PST,<<
MOVN0EM A,B>,<
HRNPRM A,B>,<
HRNpLM A,B>,<
DPOB A,[POINT WID(<O0C>),B,POS(<C>)]>>B,POS(<C>):<;Y (u
DEFIN8E ..CNS2 (NEW,OLDX)<
OLD>
..CNS ()>
:L;Y x(m
DEFIN
E ..CNS (ARG)<
8..CNS2 <ARG>,>
X
DEFINE ..CNS2
x (NEW,OLD)<
DEF..CNS (ARG)<
<O..CNS2><ARG>,
OLD'NEW>>>
:Mi CP4-
DEFINE CpELSE. <
..TAGE D(JRST,)
..TAGD0F (,<:!>)
SYNDP ..TAGE,..TAGF
Dp DEFINE ELSE. <E....U>>
DEFIE0NE ENDIF. <
..TEPAGF (,<:!>)
..RSDF>
.:TH pp/
..JNA3 (A,C,D)JNA3 :TI q0/
..TSAC qP(..ACT,C)
.IF0qp ..ACT,<
SETCrM .SAC,C
JXr0E (.SAC,D,<B>)>rP,<
JXO (C,D,<B>)>O (C,:TP d0.=
..TSAC dP(..ACT,B)
.IFdp0 ..ACT,<
..TeSIZ (..PST,C)
e0 .CASE ..PST,<<eP
SKIPN B
epJRST A>,<
HRRfZ .SAC,B
JUMf0PE .SAC,A>,<
fPHLRZ .SAC,B
fpJUMPE .SAC,A>,<
MOVE .SAC,B
JXE (.SAC,C,<gPA>)>>>,<
JXE (B,C,<A>)>E:U` hp.a
..TSAC i(..ACT,B)
.IFi00 ..ACT,<
..TiPSIZ (..PST,C)
ip .CASE ..PST,<<
SKIPE B
Jj0RST A>,<
HRRZjP .SAC,B
JUMPjpN .SAC,A>,<
HkLRZ .SAC,B
Jk0UMPN .SAC,A>,<
kP MOVE .SAC,B
kp JXN (.SAC,C,<lA>)>>>,<
JXN (B,C,<A>)>N :Uh) n.{
..TSAC n0(..ACT,B)
.IF0nP ..ACT,<
SETCnpM .SAC,B
JXoN (.SAC,C,<A>)>o0,<
JXF (B,C,<A>)>F (B,:Ukh t/!
..JN (A,C,D)..JN (:Uki tP/%
..JE (<B>,C,D)JE (<:dH@ Ep,=
..TSIZ F(..PST,C)
.CASF0E ..PST,<<
MOVFPE A,B>,<
HRRFpZ A,B>,<
HLRGZ A,B>,<
LDBG0 A,[POINT WID(<GPC>),B,POS(<C>)]>>B,POS(<C>)]:dHR Hp,c
..TSIZ I(..PST,C)
.CASI0E ..PST,<<
MOVIPE A,B>,<
HRRIpE A,B>,<
HLRJE A,B>,<
JSPJ0 .SAC,[LDB A,[POJPINT WID(<C>),B,JpPOS(<C>)]
K..MSK==MASK.(WID(K0C),35)
TXNKPE A,LFTBT.(..MSKKp)
TXO A,^L-..MSK
PURL0GE ..MSK
JRST (.SAC)]>> JR:}i1 p'
A==<<<p8-<B>>&<B>>&<1B<^L<B>>>>>&<1B<:~yx ]=oIFE 10-8, ]0 <.%AC!<B>>+ ]P IFE 10-^D]p10,<.$AC!<B>>0,<.$AC!<B>>;@ ;9 4E
.POPX;LH y8'[
IFNDEF yXC,<PRINTX ?C ISyx NOT DEFINED
zA (<B>,<D>,.FWz8ORD)>
IFDEF CzX,<
IFNDEF %C,<zx
A (<B>,<D{>,C)>
IFDEF %{8C,<
%C (A,<B>,<D>,C)>>;LH {x(
..NS==0|
IRP C,<..N|8S=..NS+1>
IFE |X..NS,<PRINTX ?EMP|xTY STRUCTURE LIST}, A>
IFE ..NS-}81,<
..STR0 }X(A,<B>,<C>,<D}x>)>
IFG ..NS-1,~<
..ICNS
~8 ..CNS (<E (A,<~XB>,,>)
IRP C~x,<
IFNDEF C,<PRINTX C NOT 8DEFINED>
IFDEXF C,<
IFNDEFx %C,<
..CNS (<,C,D>)>
8IFDEF %C,<
%XC (..STR2,,<D>,xC)>
..CNS (<)>)
..GCNS8
..ICNS
X ..CNS (<E (Ax,<B>>)
IFNDEF %C,<
..CN8S (<,C,D>)>
X IFDEF %C,<
x %C (..STR2,,<D>,C)>>>
..CNS8 (<,,)>)
..GCNS>)>)
..GC;LI x(
..CNS (<,C,B>).CNS (;LI 8(5
IFDIF <XD><F>,<
IFNxB <D>,<
A (<B>,D,..MSK) 8
IFNB <F>,X<PRINTX C AND Ex ARE IN DIFFERENT WORDS>>
..MS8K==0>
IFNB <XF>,<
..MSK=..MSK!<E>>MSK=..;LJ (E
IFDIF <8D><F>,<
IFXNB <D>,<
xA (<B>,D,..MSK)>
..MSK==0> 8
IFNB <F>,<
X ..MSK=..MSK!<E>>MSK=..MSK!<;LJ ([
IFDIF < 8D><F>,<
IF XNB <D>,<
I xFNB <F>,<
A1 (B,D,..MSK)>
8
IFB <F>,
X<
A2 (B,D
x,..MSK)>>
..MSK==0>
IFNB 8<F>,<
..MSK=..MSK!<E>>MSK=;hU 00_
SYN ENDPBK.,a
.PSHX <
SYN a,ENDBK.> SYN a,ENDBK.>;i F4C
SYN ELSF0E.,a
SYN ENDIFFP.,b
SYN ..TAGFFp,c
SYN ..TAGE,Gd
.PSHX <
G0SYN a,ELSE.
GPSYN b,ENDIF.
Gp SYN c,..TAGF
H SYN d,..TAGE>
..INDF
NDF
;k 01
SYN OD.P,a
SYN LOOP.,pb
SYN TOP.,c
SYN EXIT.,d
S0YN ENDLP.,e
.PPSHX <
SYN a,OpD.
SYN b,LOOP.
SYN c,TOP.
SYN d,EXIT.
P SYN e,ENDLP.> SYN e,ENDLP.>;$r 3m....Ut<H;$s 3k....U=|R;&` Wp-O
..TSIZ X(..PST,C)
.IF0X0 ..PST,<
SETXPCMM B>,<
Y..XpTSAC (..ACT,B)
Y0.IF0 ..ACT,<
MOVX .SAC,C
YP XORM .SAC,B>,<Yp
..TX(C,B,C)>>..TX(C,B,C);&` T0-5
..TSIZ TP(..PST,C)
.CASTpE ..PST,<<
SETUOM B>,<
HLLOSU0 B>,<
HRROS UPB>,<
..TSAC (Up..ACT,B)
.IFV0 ..ACT,<
MOVXV0 .SAC,C
IORM VP.SAC,B>,<
..TX (O,B,C)>>>T;&@ PP-
..TSIZ Pp(..PST,C)
.CAQSE ..PST,<<
SEQ0TZM B>,<
HLLQPZS B>,<
HRRZQpS B>,<
..TSRAC (..ACT,B)
R0 .IF0 ..ACT,<
RP MOVX .SAC,C
Rp ANDCAM .SAC,B>,S<
..TX (Z,B,C)>>>TX (Z,B,;&81 l8&m
A==0 lX
..TSA1==<Z Blx>
.IF ..TSA1,mABSOLUTE,<
Im8FE ..TSA1&^O77777mX7777760,<A==1>>
60,<A==1>> ;&:= jx&_
A==3 k
IFE <B>+1,<k8A=0>
IFE <B>-kX^O777777,<A==1> kx
IFE <B>-^O777777B17,<A==2>7;&;Q n&}
A==0 n8
..TSA1==0
nX IRPC C,<
..nxTSA1=..TSA1+1
oo IFE ..TSA1-B,<
IFIDN <C><oXD>,<
A==1>
;'STOPI>>
..TX13x==C
48.IFN 4..TX1,ABSOLUTE,<
TDA B,[C]>
4X .IF ..TX1,ABSO5LUTE,<
..TX2=4x=0
IFE <..TX158&^O777777B17>,<
5X ..TX2==1
5x TRA B,..TX1>
6 IFE ..TX2,<
68IFE <..TX1&^O77776X77>,<
..TX2==6x1
TLA B,(7..TX1)>>
IFE ..78TX2,<
IFE <7X<..TX1>B53-^O77777x77>,<
..TX@3 (A,B)>>
IF@8E ..TX2,<
I@XFE <..TX1+1>,<
@x ..TX4 (A,BA)>>
IFE ..TX2,<A8
TDA B,[..TX1]>
>,[.;'` Ax$!
IFIDN <BA><Z>,<
..B8TX2==1
ANDI BXB,^-..TX1>
IFIBxDN <A><O>,<
C ..TX2==1
CXORC8CMI B,^-..TX1>
IFIDN <A><C>,<Cx
..TX2==1
D EQVI B,^-..TX1>QVI B,^-..TX;' DX$/
IFIDN <DxA><NN>,<
..TEX2==1
CAIN BE8,0>
IFIDN <AEX><NE>,<
..TX2Ex==1
CAIE B,0>
CAIE B,0;' 00K
..TSAC P(..ACT,B)
.IFp0 ..ACT,<
PRIN TX ?TQA - B NOT 0 IN AC>,<
TXA B,C>
TXA;'R up/C
..TSAC v(..ACT,B)
.IFv00 ..ACT,<
..JvPX1==C
.IF0 <w..JX1-1B0>,<
SvpKIPGE B>,<
w0 .IF0 <..JX1+1>,<wP
SKIPE B>,<
wp MOVE .SAC,B
x TXNE .SAC,C>>>,x0<
TXNE B,C>
TXNE B,C>;'W yP0?
..TSAC yp(..ACT,B)
.IFz0 ..ACT,<
..Jz0X1==C
.IF0 <P..JX1-1B0>,<
SpKIPL B>,<
0 .IF0 <..JX1+1>,<
SKIPN B>,<
P MOVE .SAC,B
pTXNN .SAC,C>>>,<
TXNN B,C>
`P P P 0P d 8
.ACV2 (A)
.ACV2 (d@ `88
IFDEF A,<.IF A,SYMBO L,<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` @8H
IFG A-`.NPAC,<PRINTX ?TOO MANY ACS USED>
IFLE A-4,<
@ JSP .A16,.SAVA>`
IFG A-4,<
JSP .A16,.SAV8>JSP .A16,.SAV8>):A ):9:A 9:
d; .;/
IFIDN.0 <A><.>,<
XMO.PVEI .A16,B
P.pUSH P,.A16>
I/FDIF <A><.>,<
/0 .IFATM <A>,.BL/PF4
.BLF1==0 /p
IFN .BLF4,<0
.IF %A,00MACRO,<
.BLF10P==1>
IFNB 0p<B>,<
.BLF1==11>
IFN .BL10F1,<
LOAD .A1P16,A,B
PUSH 1pP,.A16>>
IFE 2.BLF1,< ;IF WASN20'T A STRUCTURE RE2PF,
IFN .BLF2p4,<
.BLF32==<<Z A>&17B17>30-<P>B17
3P.IF .BLF2,ABSOLUT3pE,<
IFE4 .BLF2,<
40 .BLF1==1
4P .BLF3==<Z 4pA>&777777
PUSH5 P,.BLF3-..NA(P)>50>>>
IFE .BLF5P1,<
PUSH P,5pA>>
..NA=..NA+1
..NA=..N
d; -P:m
.BLCL1 A
.BLCL1
f=( *P:W
DEFINE *pA<-^OB(.FP)>
$A==<Z A>>
9 hx&Q
..CSN==iA
..CSC==0
Ii8RP B,<
IFE ..CiXSN-..CSC,<
STixOPI
..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 DI6P ?D\qP FH1P FmP S@P Z !
XLIST8
LOC 0
COPYRTX A
.IFN .,xABSOLUTE,<PRINTX ?.CPYRT, COPYRIGH8T IS NOT ABSOLUTEX>
IFGE .-^Ox22,<PRINTX %COPYRIGHT DOESN'T FIT 8IN SINGLE REL BLOXCK>
RELOC
LIST
SALL
LIS,<H ]0-s
..PST==]PC&<-C>
.IF0 .]p.PST-1,<
SOS ^B>,<
MOVX .SA^0C,-..PST
ADDM .SAC,B> ADDMtH @8N
IRP A, `<
.ENAV2 (A)> .ENAV2 (A)tI
8R
.ENAV3 (A)
.ENAV3 tI
`8V
PURGE A,A
PURGE t,h +0:]
IRP A,+P<
DEFINE A<....U>>FINE A<.v=H q7
IRP A,q0<
.ENSV2 (A)> .ENSV2 (A)v=I qp7
.ENSV3 (A)
.ENSV3 v=I r07
DEFINE A<....U>EFINE vI9A vI9~+H $8"#
A (\..FORN)
A (\..~. "-
A BP `P \Q X=|RQ &2 gX&C
..IFT==gxA
IFE ..IFT,h<
B
..IFT==0h8>
IFN ..IFT,<
C>N ..IFT,<&4 60;G
IRPC A6P,<
B==0
IFGE6p "A"-"A",<IFLE "7A"-"Z",<B=1>>
IFGE "A"-"0",<7PIFLE "A"-"9",<B7p=1>>
IFE "A"-"8%",<B=1>
IFE "80A"-"$",<B=1>
8PIFE "A"-".",<B=8p1>
IFE B,<STOPI>>IFE B,<STOP&t<H [-a
..PST==[0C&<-C>
.IF0 [P..PST-1,<
AOS [pB>,<
MOVX .S\AC,..PST
ADDM .SAC,B> ADDM&tj7Q ?2DQ x6i2P ~6k0P 6k4P 6mtP 6MiTQ @;`P ?= _P.
..TSIZ _p(..PST,C)
.IF0` ..PST,<
A B`0>,<
..LDB .SA`PC,B,C
A .SAC>C
A .S?= ap.
..TSIZ b(..PST,C)
.IF0b0 ..PST,<
A BbP>,<
..LDB .SAbpC,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~ K4Y
.PSHX1 (.POPX2).PSHX1 B~ KP4]
.POPX4 A
.POPX4 B~ LP4k
A
LpDEFINE .PSHX1 (WCMH,STUFF)<
WCH (M0<<STUFF>,<B>>)><STUFF>,<B>>)>B~
L4a
.POPX3 B
.POPX3 C I4I
.PSHX1 (.PSHX2,<A>)1 C IP4M
A (<B>)
A (<BC J4U
DEFINJ0E .PSHX1 (WCH,STUJPFF)<
WCH (<<STUFF>,<A>>)><STUJDP'K%,z !"<<<A>&<B!8>>B<^D70-POS(<B>)>>D70-POS(<B>K%\u Bp,%
<IFE <<FCILIN.(<A>)&<^-AC0>>>,<A>>!<IFN <<CPFILIN.(<A>)&<^-CpA>
>><<FILIN.(<<D<RGHBT.(<<FILIN.(D0<A>)&<^-A>>>)>_DP-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 kp6_
.STKV2 (A)
.STKV2 O%=I l06w
IFB <BlP>,<..STKN==..STKNlp+1>
IFNB <B>,<m
...X==B
IF2m0,<.IFN ...X,ABSOLmPUTE,<PRINTX ?STKVmpAR A, B is not nabsolute>>
..STn0KN==..STKN+...X>
..STKQ==..STKN+np1
.STKV3 (A,\..STKQ)V3 (A,\.O%=I o07
IFDEFoP A,<.IF A,SYMBOopL,<PRINTX STKVAR pA ALREADY DEFINEp0D>>
DEFINE A<-pP^OB(P)>
$A==<Z A>>
$A==<Sd up7/
.TRV2 (A)
.TRV2 (Sd@ v07C
.TRV3 (vPA,\..NV)
IFB vp<B>,<..NV=..NV+1w>
IFNB <B>,<
w0 ...X==B
IF2,<wP.IFN ...X,ABSOLUTwpE,<PRINTX ?TRVAR xA, B is not absx0olute>>
..NV=..NV+...X>..NV=..Sd` xp7Q
IFDEFy A,<.IF A,SYMBOy0L,<PRINTX TRVAR yPA ALREADY DEFINEDyp>>
DEFINE A<^OzB(.FP)>
$A==<Z A>>
$A==<b\| !i
.XCREF
.XCRF1 <..ACT,.X.CSC,..CSN,..IFT,x..JX1,..MSK,..MX1,..MX2>
.XCRF1 8<..NAC,..NRGS,..NXS,..NV,..PST,..STxKN,..STKQ,..STKR>
.XCRF1 <..TRR,8..TSA1,..TX1,..TXX2,.FP,.FPAC,.NAC,x.SAC,.SAV1>
.XCRF1 <.SAV2,.SAV3,8POINTR,POS,WID,..XCAS1,..CNS,..CNS2x>
.XCRF1 <..DPB,..GNCS,..ICNS,..8JE,..LDB,..STR0,.X.STR1,..STR2>
.xXCRF1 <..STR4,..TQO,..TQZ,..TSAC,.8.TSIZ,..TX,..TY,.XACV1,.ACV2>
.XCxRF1 <.ACV3,.CASE,.DECR0,.IF0,.INCR80,.OPST1,.OPST2,.XSTKV1>
.XCRF1 <x.STKV2,.STKV3,.TRV1,.TRV2,.TRV3>
.CREF
3>
b)H X!o
IRP A,x<
IFDEF A,< .XCREF A>>A,< .cJyA cJycJyA cJyc&,ZA c&,Zc&,zA c&,z>}{woP