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