Trailing-Edge
-
PDP-10 Archives
-
BB-L014Y-BM_1990
-
t20sub/macsym.unv
There are 97 other files named macsym.unv in the archive. Click here to see a list.
x,Uc@P C4@ 08
..NAC==P0
IRP A,<
p .ACV1 (A)>
.ACV3 (\..NAC) 0
DEFINE ENDAV.<.ENAV1 <A>>V.<C' [h%^OP%%IA (A,B,ADD,SUB)(AC:$S@ >`3v
..TAGF (<JUMPN A,>,) C:$s@ ?`3~
..TAGF (<JUMPLE A,>,)C:$y' @ 4
..TAGF (<JUMPL A,>,) C:%C@ A 4
..TAGF (<JUMPGE A,>,)C:%I' @`4
..TAGF (<JUMPG A,>,) C:%c@ ? 3z
..TAGF (<JUMPE A,>,) C:&' B`4
..TAGF C(<JN <A>,<B>,>,)N <A>,<B>,>,C:&G C@4
..TAGF C`(<JE <A>,<B>,>,)E <A>,<B>,>,C:' 2h#
TXZ A,<^-<B>>TXZ A,C:' ' A`4
..TAGF (<JXN A,B,>,)C:'G B 4
..TAGF (<JXE A,B,>,)C:u)' = 3j
..TAGF (ERJMP,)..TAGF C:v:g <`3f
TRNA
..TAGF (JRST,) C;< < 3b
..TAGF (JRST,) ..TAGF CO,,@ {@7p
..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>>
E>= h,
~(
IFN FTS HOW,..LOC==.
@
DEFINE WORD(NAM,`NUMB<1>),<
IFN <..MSK>,<..OFF==. .OFF+1>
..MS@K==0
FIELDM(N`AM,<.FWORD>)
..MSK==0
..O FF==..OFF+NUMB
@
>
DEFINE NXT`WRD(NUMB<1>),<
..MSK==0
..OFF= ..OFF+NUMB
>
@
DEFINE FILLER(N`UM),<
..FLG==POS(..MSK)
IFE .. MSK,<..FLG==-1>
@ IFG <^D<NUM>-<^D`35-..FLG>>,<PRINTX ?FILL TOO BIG I N A STRUCTURE>
@ ...MSK==MASK.(^D`<NUM>,<..FLG+^D<NUM>>)
IFN FTSHO W,<
PHASE ..O@FF
EXP ...MSK`
>
..MSK==..MSK!...MSK
>
DEFINE HWORD(n@am),<
..FLG==0 `
IFE ..MSK&.LHALF,<FIELDM(nam,. LHALF)
..FL@G==1>
IFE ..FLG`,<..MSK==..MSK!.LHALF
IFE .. MSK&.RHALF,<FIELD@M(nam,.RHALF)
` ..FLG==1>
IFE ..FLG,< NXTWRD
@FIELDM(nam,.LHALF`) >
>
>
DEFINE FIELD(NA M,SIZ,POS),<
..@FLG==0
IFB `<POS>,<IFB <SIZ>,<
...MSK==.RT MSK(<<^-<<..MSK>>@>>)
IFE ...M`SK,<..OFF==..OFF+1
..MSK==0
...MSK==@-1
>
FIEL`DM(NAM,<...MSK>)
..FLG==-1
>>
IFNB <SI@Z>,<.SIZ==^D<SIZ>`>
IFNB <POS>,<
FIELDM(N AM,MASK.(.SIZ,POS@))
..FLG==-1`
..BITS==MA SK.(.SIZ,POS)
>
IFE ..FLG,< @IFGE <^D<.SIZ>-^D `36>,<
WORD(N!AM,<^D<.SIZ>/^D36! >)
IFN <<^D<!@.SIZ>-<^D<.SIZ>/^!`D36>*^D36>>,<
" FIELD(...,<<^" D<.SIZ>-<^D<.SIZ>"@/^D36>*^D36>>)
"` >
..FLG=#=-1
>>
IF# E ..FLG,<
.#@.BITS==MASK.(^D<.#`SIZ>,<^D<.SIZ>-1>$)
REPEAT <$ ^D36-^D<.SIZ>+1>,$@<
IFE ..FL$`G,<
IFE %<..BITS&..MSK>,< %
..MSK==..MSK%@!..BITS
..FLG%`==-1
> &
IFE ..FL& G,..BITS==..BITS_&@<-1>
>
&` >
IFE ..FLG,'<
..BITS==M' ASK.(^D<.SIZ>,<^D'@<.SIZ>-1>)
.'`.OFF==..OFF+1
( ..MSK==..BITS (
>
MSKSTR((@A'NAM,\..OFFC,..(`BITS)
A.'NAM=)=..OFF
IFN FTSH) OW,<
PHASE A)@.'NAM
EXP A')`NAM
>>
..OL*D==..BITS
...* OLD==..BITS
*@>
DEFINE BIT(N*`AM),<
..BITS==L+FTBT.(..OLD)
+ IFE ..BITS,<PRIN+@TX ?NO ROOM FOR B+`IT IN LAST FIELD>,
A%'NAM==..B, ITS_<-<^D35-POS(.,@..OLD)>>
A.'N,`AM==..OFF
M-SKSTR(A'NAM,\..O- FFC,..BITS)
I-@FN FTSHOW,<
P-`HASE ..OFF
EX.P A'NAM
>
. ..OLD==..OLD&<^-<.@..BITS>>
>
.`
DEFINE FIELDM(NA/M,MASK),<
IFN M/ ASK&..MSK,<
/@..MSK==0
../`OFF==..OFF+1
>
..MSK==..MSK!0 MASK
MSKSTR(0@A'NAM,\..OFFC,M0`ASK)
A.'NAM==1..OFF
IFN FTSHO1 W,<
PHASE A.1@'NAM
EXP A'N1`AM
>
>
DEFI2NE ENDSTR(LENNAM<2 LEN>,LSTNAM<LST>)2@,<
IFN ..MSK,2`<..OFF==..OFF+1> 3
A.'LSTNAM==3 ..OFF
IFN FT3@SHOW,DEPHASE
3`..LOK==..LOK+1
4IFN ..LOK,<PRINTX4 ? MISSING BEGSTR4@>
IF2,<
I4`FDEF ...MSK,<SUPP5RESS ...MSK>
5 IFDEF ..BITS,<SUP5@PRESS ..BITS>
5` IFDEF .SIZ,<SUPP6RESS .SIZ>
IF6 DEF ..MSK,<SUPPRE6@SS ..MSK>
IFD6`EF ..OFF,<SUPPRES7S ..OFF>
IFDE7 F ..FLG,<SUPPRESS7@ ..FLG>
IFDEF7` ..LOK,<SUPPRESS 8..LOK>
IFDEF 8 ..LOC,<SUPPRESS .8@.LOC>
IFDEF .8`.OLD,<SUPPRESS ..9OLD>
IFDEF ..9 .OLD,<SUPPRESS ..9@.OLD>
>
IF19`,<
IFDEF ...M:SK,<.XCREF ...MSK: >
IFDEF ..BIT:@S,<.XCREF ..BITS>:`
IFDEF .SIZ,<;.XCREF .SIZ>
; IFDEF ..MSK,<.XCR;@EF ..MSK>
IFD;`EF ..FLG,<.XCREF <..FLG>
IFDEF < ..OFF,<.XCREF ..O<@FF>
IFDEF ..L<`OK,<.XCREF ..LOK>=
IFDEF ..LOC,= <.XCREF ..LOC>
=@ IFDEF ..OLD,<.X=`CREF ..OLD>
I>FDEF ...OLD,<.XCR> EF ...OLD>
>
>@
PURGE WORD,NXTW>`RD,FILLER,HWORD,F?IELD,BIT,FIELDM
?
A.'LENNAM==..?@OFF-B
IFN FTSH?`OW,<RELOC ..LOC>>@
..MSK==0@
..OFF==B
A.D==B
@`IFDEF ..LOK,<IFL A..LOK,<PRINTX ? NA EW BEGSTR WITHOUTA@ ENDSTR>>
..LOK==-1
..L?s(x0?@BEG
E2 ,`:n
..NA==0-
IRP B,<
- .BLCL2 B>
-@PUSH P,[..NA+1,,.-`.NA+1]
PUSHJ P,A
SHJ PE2|:g
0X
..SVBK
XMOVEI .A16,
@a
PUSH P,.A16
`
DEFINE ENDBK. <
RET
a:!
.POPX>:!E3XG ' :V
..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' [H5e
W0.==A
W1.==B ;INIT\0IALIZE BREAK MASK\P
W2.==C
W3.==D
==C
W3.==@5R0?D0B,<
?F0QAB (?J0 ..SEJZ V(5F ..V22==aVH
..V1==a
IFNVhB <B>,<..V22==BW>
REPEAT ..V22-<W(a>+1,<
%%W==.WH.V1/^D32
%%X==Wh..V1-%%W*^D32
XIFE C,BRKC1 \"<%X(%W+"0">
IFN CXH,BRKC2 \"<%%W+"0"Xh>
..V1==..V1+1
>
.V1+1 Y(5J WA.==WA.!<1B<%%X>>
AEJ\4@ Yh5P WA.==WAZ.&<-1-1B<%%X>>
&<-1-1B<%%X>>
EJ\: Th5(
%%FOO==Ua
BRK0 (%%FOO,B,0)
(%%FOO,EJn:g ]5s
BRINI. A]0,B,C,D
IRPC]P E,< UNBRK. "E"]p>
IRPC F,< BR^KCH. "F">
EXP^0 W0.,W1.,W2.,W3.
W1.,W2.,W3. Ge@ ,GeLR +G@ UH%,OP%%CA (A,B,)OP%%CA (AGD Y%HOP%%CA (A,B,A)P%%CA (AGDP W%8OP%%CA (A,B,E)P%%CA (AGDp WH%<OP%%CA (A,B,G)P%%CA (AGDy X%@OP%%CA (A,B,GE)%%CA (AGE@ V%0OP%%CA (A,B,L)P%%CA (AGEI VH%4OP%%CA (A,B,LE)%%CA (AGE` XH%DOP%%CA (A,B,N)P%%CA (AG?Z
h n
ASCIZ /
COPYRIGHTQ(c)MDT
ALL RIGHTS RESERVED.
/TS RESERVI \`-h
..STR0 ](.DECR0,,<A>,<B>)CR0,,<A>,<BI6= q'
A==<-1q(B<C>+1B<C-D>> qH
IF1,<IFDEF %Aqh,<PRINTX ?A ALRErADY DEFINED>>
Dr(EFINE %A (OP,AC,rHY,MSK)<
$A==<Zrh B>
OP (<AC>,B'Y,MSK)><AC>I'7 ]h%nOP%%IN (A,B,DIV)%IN (AI<p
@0v
..SVLD
`
a:!
EDNE OD. <
b:!
.POPX>
` DEFINE LOOP. <
JRST a>
DEFINE TOP. <a>
DEFINE ENDLP@. <b>
DEFIN`E EXIT. <
JRST b>T. <
JRST IKH1 P:
..TMSK==p..MASK
..TNAC==..NAC-1
REPEAT ..0NAC,<
IFN ..TPMSK,<
..NUM==^Lp<..TMSK>
..TMSK ==..TMSK-1B<..NUM 0>
IFE ..TMSK & P1B<..NUM+1>,<
pMOVE ..NUM,-..TNA!C(P)
..TNAC==.!0.TNAC-1>
IFN ..!PTMSK & 1B<..NUM+1!p>,<
DMOVE ..NU"M,-..TNAC(P)
."0.TNAC==..TNAC-2
"P ..TMSK==..TMSK-"p1B<..NUM+1>>
>>#
IFG ..NAC,<ADJSP P,-..NAC>
JSINh1 P9q
IFG ..NApC,<ADJSP P,..NAC>
..TMSK==..MASK
..TNAC==..NAC-1
REPEAT ..NAC,<
p IFN ..TMSK,<
..NUM==^L<..TMSK0>
..TMSK==..TMSPK-1B<..NUM>
IFEp ..TMSK & 1B<..NUM+1>,<
MOVEM .0.NUM,-..TNAC(P)
P ..TNAC==..TNAC-p1>
IFN ..TMSK & 1B<..NUM+1>,<
0 DMOVEM ..NUM,-..PTNAC(P)
..TNACp==..TNAC-2
..TMSK==..TMSK-1B<..NUM+1>>
>>
.K,lz s('(
A==<-1sHB<C>+1B<C-D>> sh
IF1,<IFDEF %At,<PRINTX ?A ALREt(ADY DEFINED>>
DtHEFINE %A (OP,AC,thY,MSK)<
OP (<ACu>,<@[EP. B'Y]>,MSK)>P. B'Y]>,MK+\Y`p0@ p0@4p0@ 4tp0@UN.,HK+`p0@p0@4p0@4vp0@UNEMK3S@ 3l....U2K7<z wH'H
A==C wh
IF1,<IFDEF %xA,<PRINTX ?A ALRx(EADY DEFINED>>
xHDEFINE %A (OP,ACxh,Y,MSK)<
OP (<AyC>,<@[EP. B'Y]>,MSK)>P. B'Y]>,K:$Kg 0x
OD.K:%G 3n....Utj7K@p > <
..I==0
..X==0
MAKRM.>` (..CON,..GET)
?..CON <EXIND. ..I? ,>
IRPC A,<
?@ ..SC==0
IFE?` "A"-"@",<..I==1@
..SC=1>
@ IFE "A"-"(",<..C@@ON <,>
..SC=1@`
..X==1>
AIFE "A"-")",<
A IFE ..X,<PRINA@TX %UNEXPECTED RIA`GHT PAREN IN EP. BMACRO>
..SC=1B >
B@IFE ..SC,<
..CON <A>>>B`
IFE ..X,<
C..CON <,0>>
..CC ON <
>
..GET
>
..GET
KCm < ;n
DEFIN<@E ..EP. (LOCN,PTE<`XT)
<PRINTX= Location 'LOCN':= PTEXT
>
=@ ..EP.(\.,<A>)
PURGE ..EP.
URGE ..EP.
KJn9` S5
ERJMP [S(TMSG <? A>
JSHLT]
A>
JKbMi C`<<<A>B1+<C>B5+<B>>B1+<Kc Sh5"
IF2,<T
IRP A,<
IFNT(DEF A,<EXTERN A
SUPPRE A>>>M&. ch&OP%%FP (A,B,FADR)FP (AM6. e(&*OP%%FP (A,B,FDVR)FP (AM2 h"<<<A>B<POS(<B>)>>&<B>>M2$*g bp6=
..XX==<cFLD(A,CM%FNC)>+c0B+<Z G>
IFNBcP <D>,<..XX=CM%HPcpP!..XX>
IFNB d<E>,<..XX=CM%DPPd0!..XX>
IFNB <dPF>,<..XX=CM%BRK!dp..XX>
..XX
eIFNB <C>,<C>
e0 IFB <C>,<0>
eP IFNB <D>,<POINepT 7,[ASCIZ D]>f
IFB <D>,<IFf0NB <EF>,<0>>
fP IFB <E>,<IFNB fp<F>,<0>>
IFNgB <E>,<POINT 7,[g0ASCIZ \E\]>
gPIFNB <F>,<F>
<F>,<F>
M2$HG ^p6
..XX==<_FLD(A,CM%FNC)>+_0B+<0,,F>
IFN_PB <D>,<..XX=CM%H_pPP!..XX>
IFNB` <E>,<..XX=CM%DP`0P!..XX>
..XX
`P IFNB <C>,<C>
aIFB <C>,<0>
IFNB <D>,<POa0INT 7,[ASCIZ DaP]>
IFB <D>,<apIFNB <E>,<0>>
b IFNB <E>,<POINb0T 7,[ASCIZ \E\]>7,[ASCIZ \E\]>M7. dh&&OP%%FP (A,B,FMPR)FP (AM7p PH5
HRROI .PhAC2,[ASCIZ \A\]
MOVEI .AC3,0
SOUTI .AC3,0
M?c@ #"
DEFINE#( e(C)<D>
..FO#HRN==A
REPEAT B#h-A+1,<
.FORN1 $(e)
..FORN=..FORN+1>.FORN=..FM?3@ &("6
DEFINE&H %MN1 (B)<C>
&h..FORN==A
.FORN1 (%MN1)
.FM?@ %",
DEFINE%( d (B)<C>
I%HRP A,<
.FORX1 d,A>
.FORX1]MN.d(&"OP%%FP (A,B,FSBR)FP (AMS{PNF@6^O44C==:NJ
..ERR.=d0
.BSIZ.=Bd
d@.BPOS.=D
IFN <<A>&<^O<-d`1,,770000>>>,<
e MPRNTX(G2BPT,See0ction greater thak@n 12 bits: A)
k` ..ERR.=1
l>
IFN <<C>&<^O<7l 77740,,0>>>,<
l@ MPRNTX(G2BPT,Bitl`s 0 - 12 non-zerom in address fieldm : C)
..ERR.=m@1
>
IFN <<m`E>&<-1,,0>>,<
n MPRNTX(G2BPT,Bitn s 0-17 non-zero in@n optional field:n` E)
..ERR.=1o
>
IFN <.BSo IZ.&<^O<-1,,77770o@0>>>,<
MPRNTXo`(G2BPT,Bytesize gpreater than 6 bitp s: B)
..ERR.p@=1
>
IFN <.p`BPOS.&<^O<-1,,777q700>>>,<
MPRNq TX(G2BPT,Byte offq@set greater than q`6 bits: D)
.r.ERR.=1
>
Ir FN ..ERR.,<-1,-1,r@-1>
IFE ..r`ERR.,<
IFDIF s<D><>,<<<POINT .s BSIZ.,E,.BPOS.>!s@1B12>&<^O<777740,s`,-1>>>
t`IFIDN t<D><>,<<<POINT .t BSIZ.,E>!1B12>&<t@^O<777740,,-1>>>
<<<uC>_<^O14>>&<^O<37u 0000,,0>>!<<C>&<u@0,,-1>>!<<A>_<^Ou`22>>>
>
PURvGE ..ERR.,.BSIZ.,.BPOS.
BSIZ.,A(>0 GENBPON{ G@<d
..ERR.=G`0
IFN <<A>&<H^O<-1,,770000>>>,H <
MPRNTX(GFIWH@M,Section greaterH` than 12 bits: AI)
..ERR.=1
I >
IFN <<B>&<I@^O<777740,,0>>>,<I`
MPRNTX(GFIWMJ,Bits 0 - 12 non-J zero in address fJ@ield: B)
..EJ`RR.=1
>
IFNK ..ERR.,<-1,-1,-1K >
IFE ..K@ERR.,<
<<<B>K`_<^O14>>&<^O<3700L00,,0>>!<<B>&<0,L ,-1>>!<<A>_<^O22L@>>>>
PURGE ..ERR.
PURGE ..ERSNn ^(%rOP%%IN (A,B,IDIV)IN (AS)` '`2J
JUMPN (A,b
..SVDF (
DEFINE ..TA(@GF (INST,PCT)<
(`INST b'PCT>
) DEFINE ..TAGE () INST,PCT)<
INST c'PCT>
STS.:g &@2:
PRINTX &`% IFESK. should b'e changed to IFNJ' E.
IFNJE. <A>.
IFNJE. <A>S9` +`2j
JUMPLE ,A,b
..SVDF ,
DEFINE ..T,@AGF (INST,PCT)<
,` INST b'PCT>
- DEFINE ..TAGE - (INST,PCT)<
INST c'PCT>
SS<S@ -`2z
JUMPL .A,b
..SVDF .
DEFINE ..TA.@GF (INST,PCT)<
.`INST b'PCT>
/ DEFINE ..TAGE (/ INST,PCT)<
INST c'PCT>
STSTS@ 1b
IFB <@BC>,<
..SVD`F
ERJMPA f
JRST d
f:!
`DEFINE ..@TAGF (INST,PCT)<
INST d'PCT>
DEFINE ..TAGE (INST,PCT)<
IN@ST e'PCT>
>`
IFNB <BC>,<
ERJMPA d
C
JRST e
d:! B
e:!>
ST\G `1F
IFB <AB>,<
..SVD F
ERJMP e @
JRST c
e:`!
DEFINE ..TAGF (INST,PCT)<
INST c'PCT>
@ DEFINE ..TAGE (`INST,PCT)<
INST d'PCT>
>
IFNB <AB>,< @
ERJMP c
`B
JRST d
c:! A
d:!>
c:!SUc@ #@20
IFB <#`B>,<
..SVDF $
ERJMPA c
$ DEFINE ..TAGF $@(INST,PCT)<
INS$`T c'PCT>
D%EFINE ..TAGE (INS% T,PCT)<
INST d%@'PCT>
>
I%`FNB <B>,<
ERJM&PA c
B
c:!> c
B
c:!Sa` 1`3
JUMPGE 2A,b
..SVDF 2
DEFINE ..T2@AGF (INST,PCT)<
2` INST b'PCT>
3 DEFINE ..TAGE 3 (INST,PCT)<
INST c'PCT>
SSdS@ /`3
JUMPG 0A,b
..SVDF 0
DEFINE ..TA0@GF (INST,PCT)<
0`INST b'PCT>
1 DEFINE ..TAGE (1 INST,PCT)<
INST c'PCT>
STSq` )`2Z
JUMPE *A,b
..SVDF *
DEFINE ..TA*@GF (INST,PCT)<
*`INST b'PCT>
+ DEFINE ..TAGE (+ INST,PCT)<
INST c'PCT>
STSt\g `1l
PRINTX % IFNES. should b e changed to IFJE@R.
IFJER. <A>,<B>FJER. <A>,Su)' `2
IFB <!A>,<
..SVDF !
ERJMP b
!@ DEFINE ..TAGF (I!`NST,PCT)<
INST "b'PCT>
DEF" INE ..TAGE (INST,"@PCT)<
INST c'P"`CT>
>
IFN#B <A>,<
ERJMP b
A
b:!> Sv:g 1*
IFB <@AB>,<
..SVD`F
TRNA
JRST c
DEF INE ..TAGF (INST,@PCT)<
INST c'P`CT>
DEFINE ..TAGE (INST,PCT) <
INST d'PCT> @
>
IFNB <`AB>,<
JRST c
B
JRST d
c:! A
d:!>
c:! A
d:!>S
S@ 7`3L
JN <A>8,<B>,c
..SVD8 F
DEFINE .8@.TAGF (INST,PCT)<8`
INST c'PCT> 9
DEFINE ..TAG9 E (INST,PCT)<
I9@NST d'PCT>
ST d'PCT>
S :3^
JE <A>: ,<B>,c
..SVD:@F
DEFINE .:`.TAGF (INST,PCT)<;
INST c'PCT> ;
DEFINE ..TAG;@E (INST,PCT)<
I;`NST d'PCT>
ST d'PCT>
S< 2
IFB < A>,<
..SVDF @
JRST b
`DEFINE ..TAGF (INST,PCT)<
INST b'PCT>
DEFI@NE ..TAGE (INST,P`CT)<
INST c'PC T>
>
IFNB <A>,<
JRST b
A
b:!> bSDS@ 3`3*
JXN A,4B,c
..SVDF 4
DEFINE ..TA4@GF (INST,PCT)<
4`INST c'PCT>
5 DEFINE ..TAGE (5 INST,PCT)<
INST d'PCT>
STSEc@ 5`3:
JXE A,6B,c
..SVDF 6
DEFINE ..TA6@GF (INST,PCT)<
6`INST c'PCT>
7 DEFINE ..TAGE (7 INST,PCT)<
INST d'PCT>
STS7-N ](%jOP%%IN (A,B,IMUL)IN (AS: Z@-V
..STR0 Z`(.INCR0,,<A>,<B>)CR0,,<A>,<BS? 2(#
TXO A,<B>
TXO A,Ut@ p/
..STR1 p (..JAN,<d,<C>>,p@<A>,<B>,..STR5)
d:B>,..STR5)U c`.
..STR1 d(..JE,<C>,<A>,<B>,..STR3)A>,<U8 h .D
..STR1h@(..JN,<C>,<A>,<B>,..STR3)A>,<U:
..STR1 m`(..JNA3,<C>,<A>,<B>,..STR4)A>U:~ s /
..STR1 s@(..JNO,<d,<C>>,s`<A>,<B>,..STR5)
d:B>,..STR5)U? l`.h
..STR1 m(..JN,<C>,<A>,<B>,..STR4)A>,<UN.,@`p0@p0@,p0@4tp0@UN.,HUN.,HA UN.,HUNEM`p0@p0@
,p0@4vp0@
UNEMUNEMA UNEMUNn9hA UNn9hUb( FH$L
..JX1==FhB
.IFN ..JX1G,ABSOLUTE,<PRINTXG( B NOT ABSOLUTE
..JX1==0>
.IGhF ..JX1,ABSOLUTE,H<
.IF0 <<..JX1>H(-1B0>,<
JUMPGHHE A,C>,<
.IF0Hh <<..JX1>+1>,<
I JUMPE A,C>,<I(
TXNN (A,..JIHX1)
JRST C>>>)
JRST C>>>Ub0 QH%(
..JX1==QhB
.IFN ..JX1R,ABSOLUTE,<PRINTXR( B NOT ABSOLUTE
..JX1==0>
.IRhF ..JX1,ABSOLUTE,S<
.IF0 <<..JX1>S(-1B0>,<
JUMPGESH A,C>,<
..ONEShB (..BT,B)
.ITF0 ..BT,<
SETT(CM .SAC,A
THJXN (.SAC,..JX1,ThC)>,<
TXNNU A,..JX1
JRST C>>> Ubp J$h
..JX1==J(B
.IFN ..JX1JH,ABSOLUTE,<PRINTXJh B NOT ABSOLUTE
..JX1==0>
.IK(F ..JX1,ABSOLUTE,KH<
.IF0 <<..JX1>Kh-1B0>,<
JUMPLL A,C>,<
.IF0 L(<<..JX1>+1>,<
LH JUMPN A,C>,< Lh
TXNE (A,..JXM1)
JRST C>>>)
JRST C>>>Ubx MH%
..JX1==MhB
.IFN ..JX1N,ABSOLUTE,<PRINTXN( B NOT ABSOLUTE
..JX1==0>
.INhF ..JX1,ABSOLUTE,O<
.IF0 <<..JX1>O(-1B0>,<
JUMPL OHA,C>,<
..ONEBOh (..BT,B)
.IFP0 ..BT,<
SETCP(M .SAC,A
JPHXE (.SAC,..JX1,CPh)>,<
TXNE QA,..JX1
JRSTC>>> JXF
.BSIZ.=M A
.BPOS.=C
..ERR.=0
IFM`N <<B>&<^O<77774N0,,0>>>,<
MPRN NTX(L1BPT,Bits 0 N@- 12 non-zero in N`address field: BO)
..ERR.=1
O >
IFN <.BSIZ.O@&<^O<-1,,777700>>O`>,<
MPRNTX(L1PBPT,Bytesize greaP ter than 6 bits: P@A)
P`..ERR.=1
>
IFN <.BPOQS.&<^O<-1,,777700Q >>>,<
MPRNTX(Q@L1BPT,Byte offsetQ` greater than 6 bRits: C)
..ERR R.=1
>
IR@FN <..ERR.>,<-1,-R`1,-1>
IFE <.S.ERR.>,<
IFIDS N <C><>,<POINT .S@BSIZ.,B>
IFDS`IF <C><>,<POINT T.BSIZ.,B,.BPOS.>T
>
PURGE ..T@ERR.,.BSIZ.,.BPOS.
BSIZ.,.BPOSXJ
..ERR.=[@0
.BSIZ.=A[`
\.BPOS.=C
IFN <<B>&<^O<7\ 77740,,0>>>,<
\@ MPRNTX(L2BPT,Bit\`s 0 - 12 non-zero] in address fieldU: B)
..ERR.=U 1
>
IFN <<U@D>&<-1,,0>>,<
U` MPRNTX(L2BPT,BitVs 0-17 non-zero iV n optional field:V@ D)
..ERR.=1V`
>
IFN <.BSWIZ.&<^O<-1,,77770W 0>>>,<
MPRNTXW@(L2BPT,Bytesize gW`reater than 6 bitXs: A)
..ERR.X =1
>
IFN <.X@BPOS.&<^O<-1,,777X`700>>>,<
MPRNYTX(L2BPT,Byte off_set greater than _ 6 bits: C)
._@.ERR.=1
>
I_`FN ..ERR.,<-1,-1,`-1>
IFE ..` ERR.,<
IFDIF `@<C><>,<<<POINT .``BSIZ.,D,.BPOS.>!a1B12>&<^O<777740,a ,-1>>>
b IFIDN a@<C><>,<<<POINT .a`BSIZ.,D>!1B12>&<b^O<777740,,-1>>>
<1B0!<<^O<4b@00037,,-1>>&<B>>b`>
>
PURGE c..ERR.,.BSIZ.,.BPOS.
BSIZ.,.BPA'=V0(B).YN{ D <8
..ERR.=D@0
IFN <<A>&<D`^O<777740,,0>>>,<E
MPRNTX(LFIWME ,Bits 0 - 12 non-E@zero in address fE`ield: A)
..EFRR.=1
>
IFNF ..ERR.,<-1,-1,-1F@>
IFE ..ERR.,<F`1B0!<<^O<400037,,G-1>>&<A>>>
PURGE ..ERR.
PUY$- B,1_<^D35-^L<A>>1_<^D35-^LY>
@ E ,,
..STR0 E@(..LDB,A,B,<C>)LDB,A,B,<C>Y>
I H ,D
..STR0 H@(..LDBE,A,B,<C>)DBE,A,B,<C[i9Q ~[^+' '("L
DEFINE'H A (STUFF)<
c'h (<STUFF>,)>
( DEFINE c (NEW,O((LD)<
DEFINE (HA (STUFF)<
c (h(<STUFF>,<OLD'NEW)>)>>
DEFINE )(B <
DEFINE )Hc (NEW,OLD)<OLD>
A ()>
OLD>[3@ B@,<<<1_<A>>-1>B<B>>_<A>>[8@ ""<1B<<A>-1>-1B<B>><A>-1[>!` "H"<<A>-<<A>/<B>>*<B>>A[?7 *#
..MX1*(==B
*h.IFN *H..MX1,ABSOLUTE,<
MOVE A,[B]>
+ .IF ..MX1,ABSO+(LUTE,<
..MX2==0+H
IFE <..MX1>B+h53,<
..MX2==1,
MOVEI A,..M,(X1>
IFE ..MX2,,H<
IFE <..MX1>,hB17,<
..MX2==-1
MOVSI A,(.-(.MX1)>>
IFE ..-HMX2,<
IFE <<.-h.MX1>B53-^O777777.>,<
.(..MX2==1
HRROI A,<..M.HX1>>>
IFE ..MX.h2,<
IFE <<..M/X1>B17-^O777777B1/(7>,<
..MX2==1/H
0HRLOI A,(../hMX1-^O777777)>>
IFE ..MX2,<
0( MOVE A,[..MX1]>
>,[..MX1[Cm :;^
DEFIN: E ..MP. (LOCN,MTE:@XT,PTEXT)<
:`PRINTX Location ';LOCN', Macro 'MTE; XT': PTEXT
;@>
..MP.(\.,A;`,<B>)
PURGE ..MP.
URGE [N^= uH'8
A==C uh
IF1,<IFDEF %vA,<PRINTX ?A ALRv(EADY DEFINED>>
vHDEFINE %A (OP,ACvh,Y,MSK)<
$A==<wZ B>
OP (<AC>,B'Y,MSK)><AC[Vg \h%fOP%%IN (A,B,MUL)%IN (A[Xp 0h#
MOVE .S1AC,A
MOVEM .SAC,B
MOVEM .SA[ZI` 1H#
MOVX .S1hAC,<A>
MOVEM .SAC,B
MOVEM ._@(Xp YH%Z
.XCREF
IFE <<B>_-^D18>Z,<
.CREF
CAIZ(C A,<B>
.XCREZHF
>
IFN <<B>_-Zh^D18>,<
.CREF
[ CAMC A,[B]
[(.XCREF
>
.CREFCREF
>
.CREF_@(YX eh&:
.XCREF
IFE <<B>_^D18>,f(<
.CREF
CI fHA,(B)
.XCREF
fh>
IFN <<B>_^D18g>,<
.CREF
C g(A,[B]
.XCREF
>
.CREFCREFh&
.XCREF
TEST%%=0
IFE <_(<<B>_-^D18>-^O77_H7777>,<
IFN <<B_h>&^O777777>,<
T`EST%%=1
.CREF
`( DI A,-<B>
.`HXCREF
>>
IFE TE`hST%%,<
OP%%IN aA,<B>,C
>
PUa(RGE TEST%%
.CREF TEST%%
.CRE_@(Z7 ah&
.XCREF
IFE <<B>_-^D18>b(,<
.CREF
CI bHA,<B>
.XCREF
>
IFN <<B>_-^Dc18>,<
.CREF
c(C A,[B]
.XCREF
>
.CREFCRE_CL@ _-z
..STR0 _ (.OPST1,<A>,<B>,<C>)<A>,<B>_CLV a .
..STR0 a@(.OPST2,<A>,<B>,<C>)<A>,<B>_^>@ Z=PX<..OWGP (\<A>,B,\<C>)>A&=L^O44 B-_^>
G Z@=TOWGP. 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= QH5
IFNB Qh<A>,<
TMSG <AR>>
CALL JSMSG0>
CALL JSMSG0a4\G 0!
..PGV0=P=.
.JBVER=:^Op137
LOC .JBVER
BYTE (3)D(09)A(6)B(18)C
P .ORG ..PGV0
.ORG ..PGV0
a>Mm "<POINT WID ((<B>),A,POS(<B>)>),A,POS(<Ba? H!|<^L<<A>&<-<A>>>><<A>&<aKH1 %0:5
..NUM==%P^D15
REPEAT ^D1%p6,<
IFN ..MASK& & 1B<..NUM>,<
&0 POP P,..NUM>
&P..NUM==..NUM-1
>
==..NUM-1
aNh1 #P:'
..TMSK=#p=..MASK
REPEAT $..NAC,<
..NUM=$0=^L<..TMSK>
..$PTMSK==..TMSK-1B<.$p.NUM>
PUSH P,..NUM
>
H P,.aR<& w?8
TXO A,.FR8BY
TXO A,aRd6 v@?4
HRLI A,(POINT 8,0) AdA de ,~e&:x O(4zJRST RSKP|JRST RSKPeN^A eN^gXY ~`8
..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
95
..DONE
0==0
..SACC==0
.
P.NAC==0
..MASK==
p0
IRP <A>,<
IFG?A-^D15,<PRI
PINTX ?SAVEAC CAN ONLY BE USED0 ON ACCUMULATORS>P
IFE A-.SAC,<.p.SACC==1>
..SYAC==A
IFN 0A-.SAC,<IFE ..MASPK&1B<..SYAC>,<
p ..MASK==..MASK!1B<..SYAC>
..0NAC==..NAC+1>>
P>
IFE ..SACC,<USpRSAV>
IFE ..DONE,<
IFLE ..SA0CC,<JSP .SAC,[>
P IFG ..SACC,<CALpL [EXCH .SAC,(P)>
IFG ..NA0C-3,<DSAVAC>
P IFLE ..NAC-3,<pIFG ..NAC,<PSAVAC>>
PUSHJ P0,(.SAC)
PTRNA
AOS -p..NAC-..SACC(P)
IFG ..NAC-03,<DRSTAC>
P IFLE ..NAC-3,<IFpG ..NAC,<PRSTAC>>
IFG ..SAC0C,<POP P,.SAC>
P POPJ P,]
>p
PURGE ..NAC,..TNAC,..MASK,..TMSK,0..SACC,..NUM,..SMPSK,..DONE,..SYAC
DONE,..SYAC g$;8 W -<
..STR1 W@(..TQC,,<A>,<B>,..STR4)A>,<B>g%{R S`-
..STR1 T(..TQO,,<A>,<B>,..STR4)A>,<B>g',W P-
..STR1 P (..TQZ,,<A>,<B>,..STR4)A>,<B>g"~s@ H!t
....Z=A
....Z=gB8; 9I
IFE ..D0ONE,<
..SMSK==P0
IRP <B>,<
p ..SYAC==B
..SMSK==0..SMSK!1B<..SYAC>P>
IFE ..MASKp-..SMSK,<JSP .SAC,A
..DONE==1>
>
.DONgR$g (!&
F=:0
T1H=:1
T2=:2
T3=:3h
T4=:4
Q1=:5
Q2=:6
Q3=:7
P1=:(10
P2=:11
P3=:1H2
P4=:13
P5=:14h
P6=:15
CX=:16
P=:17
CX=:16i6`
..STKR=i =10
RADIX 8
i@ ..STKN==0
IRP i`A,<
.STKV1 (jA)>
JSP .A16,.j XSTKS ;Call intej@rnal routine for j`allocation
EXPk ..STKN ;Size ofk block to allocatk@e
RADIX ..STKR
DEFINE ENDSV.<.lENSV1 <A>>
NSV1 <A>>
gR~ M,j
..STR0 M (..DPB,A,B,<C>)DPB,A,B,<C>gV \(%bOP%%IA (A,B,SUB,ADD)(Ai6tP u /,
..STR1 u@(..TYNE,,<A>,<B>,..STR3)A>,<Bi6u` y/J
..STR1 y (..TYNN,,<A>,<B>,..STR3)A>,<Bi7p Oh5
HRROI .PAC1,[ASCIZ \A\]
PSOUTZ\A\]
..STR1 (..TY,C,<A>,<B>,..STR3)A>,iF 02
..S TR1 (..TY,CA,<A>,<B>,..STR3)A>iFP @0&
..S`TR1 (..TY,CE,<A>,<B>,..STR3)A>iF` 0,
..S@TR1 (..TY,CN,<A>,<B>,..STR3)A>iFp z`/X
..S{TR1 (..TY,N,<A>,<B>,..STR3)A>,iFt }/j
..S} TR1 (..TY,NA,<A>,<B>,..STR3)A>iFtP {@/^
..S{`TR1 (..TY,NE,<A>,<B>,..STR3)A>iFu` | /d
..S|@TR1 (..TY,NN,<A>,<B>,..STR3)A>iFx }`/p
..S~TR1 (..TY,O,<A>,<B>,..STR3)A>,iF| 0
..S TR1 (..TY,OA,<A>,<B>,..STR3)A>iF|P ~@/v
..S~`TR1 (..TY,OE,<A>,<B>,..STR3)A>iF}` /|
..S@TR1 (..TY,ON,<A>,<B>,..STR3)A>iGP `0
..STR1 (..TY,Z,<A>,<B>,..STR3)A>,iGT 0
..S TR1 (..TY,ZA,<A>,<B>,..STR3)A>iGTP @0
..S`TR1 (..TY,ZE,<A>,<B>,..STR3)A>iGU` 0
..S@TR1 (..TY,ZN,<A>,<B>,..STR3)A>iK4@ s`70
..TRR==t10
RADIX 8
t ..NV==1
IRP t@A,<
.TRV1 (t`A)>
JSP .A16,u.XTRST
uEXP .u .NV-1 ;Size of bu@lock to allocate
RADIX ..TRR
v DEFINE ENDTV.<.ENSV1 <A>>
.Eib >(#r
..TX(C,A,<B>)..TX(Cib ?h#~
..TX(CA,A,<B>).TX(CibP >h#v
..TX(CE,A,<B>).TX(Cib` ?(#z
..TX(CN,A,<B>).TX(Cibp 8(#B
..TX(N,A,<B>)..TX(Nibt 9h#N
..TX(NA,A,<B>).TX(NibtP 8h#F
..TX(NE,A,<B>).TX(Nibu` 9(#J
..TX(NN,A,<B>).TX(Nibx :(#R
..TX(O,A,<B>)..TX(Oib| ;h#^
..TX(OA,A,<B>).TX(Oib|P :h#V
..TX(OE,A,<B>).TX(Oib}` ;(#Z
..TX(ON,A,<B>).TX(OicP <(#b
..TX(Z,A,<B>)..TX(ZicT =h#n
..TX(ZA,A,<B>).TX(ZicTP <h#f
..TX(ZE,A,<B>).TX(ZicU` =(#j
..TX(ZN,A,<B>).TX(Zk:*g UH5.
%%FOO==Uha
BRK0 (%%FOO,B,1)
(%%FOO,kO8; 8]m$,I1P$m$,YP#m$-X5Q |m$-Z7Q xm$.zQ po& !x<^L<-<<A>_<^L<A>>>-1>>>q
fC@ h 6B
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 &T
A:&@ M`,|
..TSIZ N(..PST,C)
.CASN E ..PST,<<
MOVN@EM A,B>,<
HRN`RM A,B>,<
HROLM A,B>,<
DPO B A,[POINT WID(<O@C>),B,POS(<C>)]>>B,POS(<C>):<;Y ((v
DEFINHE ..CNS2 (NEW,OLDh)<
OLD>
..CNS ()>
:L;Y
(n
DEFIN
(E ..CNS (ARG)<
H..CNS2 <ARG>,>
h
(DEFINED..CNS2
DEF..CNS (ARG)<
<O..CNS2><ARG>,
OLD'NEW>>>
:Mi D 42
DEFINE D@ELSE. <
..TAGE D`(JRST,)
..TAGEF (,<:!>)
SYNE ..TAGE,..TAGF
E@ DEFINE ELSE. <E`....U>>
DEFIFNE ENDIF. <
..TF AGF (,<:!>)
..RSDF>
.:TH q/
..JNA3 (A,C,D)JNA3 :TI q@/
..TSAC q`(..ACT,C)
.IF0r ..ACT,<
SETCr M .SAC,C
JXr@E (.SAC,D,<B>)>r`,<
JXO (C,D,<B>)>O (C,:TP d@.>
..TSAC d`(..ACT,B)
.IFe0 ..ACT,<
..Te SIZ (..PST,C)
e@ .CASE ..PST,<<e`
SKIPN B
fJRST A>,<
HRRf Z .SAC,B
JUMf@PE .SAC,A>,<
f`HLRZ .SAC,B
gJUMPE .SAC,A>,<
MOVE .SAC,B
JXE (.SAC,C,<g`A>)>>>,<
JXE (B,C,<A>)>E:U` i.b
..TSAC i (..ACT,B)
.IFi@0 ..ACT,<
..Ti`SIZ (..PST,C)
j .CASE ..PST,<<
SKIPE B
Jj@RST A>,<
HRRZj` .SAC,B
JUMPkN .SAC,A>,<
Hk LRZ .SAC,B
Jk@UMPN .SAC,A>,<
k` MOVE .SAC,B
l JXN (.SAC,C,<l A>)>>>,<
JXN (B,C,<A>)>N :Uh) n .|
..TSAC n@(..ACT,B)
.IF0n` ..ACT,<
SETCoM .SAC,B
JXo N (.SAC,C,<A>)>o@,<
JXF (B,C,<A>)>F (B,:Ukh t /"
..JN (A,C,D)..JN (:Uki t`/&
..JE (<B>,C,D)JE (<:dH@ F,>
..TSIZ F (..PST,C)
.CASF@E ..PST,<<
MOVF`E A,B>,<
HRRGZ A,B>,<
HLRG Z A,B>,<
LDBG@ A,[POINT WID(<G`C>),B,POS(<C>)]>>B,POS(<C>)]:dHR I,d
..TSIZ I (..PST,C)
.CASI@E ..PST,<<
MOVI`E A,B>,<
HRRJE A,B>,<
HLRJ E A,B>,<
JSPJ@ .SAC,[LDB A,[POJ`INT WID(<C>),B,KPOS(<C>)]
K ..MSK==MASK.(WID(K@C),35)
TXNK`E A,LFTBT.(..MSKL)
TXO A,^L -..MSK
PURL@GE ..MSK
JRST (.SAC)]>> JR:}i1 p('
A==<<<pH-<B>>&<B>>&<1B<^L<B>>>>>&<1B<:~yx ]`=tIFE 10-8, ^ <.%AC!<B>>+ ^ IFE 10-^D^@10,<.$AC!<B>>0,<.$AC!<B>>;@ ;9 4J
.POPX;LH yH'\
IFNDEF yhC,<PRINTX ?C ISz NOT DEFINED
z(A (<B>,<D>,.FWzHORD)>
IFDEF Czh,<
IFNDEF %C,<{
A (<B>,<D{(>,C)>
IFDEF %{HC,<
%C (A,<B>,<D>,C)>>;LH |(
..NS==0|(
IRP C,<..N|HS=..NS+1>
IFE |h..NS,<PRINTX ?EMP}TY STRUCTURE LIST}(, A>
IFE ..NS-}H1,<
..STR0 }h(A,<B>,<C>,<D~>)>
IFG ..NS-1,~(<
..ICNS
~H ..CNS (<E (A,<~hB>,,>)
IRP C,<
IFNDEF (C,<PRINTX C NOT HDEFINED>
IFDEhF C,<
IFNDEF %C,<
..CNS ((<,C,D>)>
HIFDEF %C,<
%hC (..STR2,,<D>,C)>
..CNS ((<)>)
..GCNSH
..ICNS
h ..CNS (<E (A,<B>>)
IFND(EF %C,<
..CNHS (<,C,D>)>
h IFDEF %C,<
%C (..STR2,,<D(>,C)>>>
..CNSH (<,,)>)
..GCNS>)>)
..GC;LI (
..CNS (<,C,B>).CNS (;LI H(6
IFDIF <hD><F>,<
IFNB <D>,<
A( (<B>,D,..MSK) H
IFNB <F>,h<PRINTX C AND E ARE IN DIFFERENT( WORDS>>
..MSHK==0>
IFNB <hF>,<
..MSK=..MSK!<E>>MSK=..;LJ ((F
IFDIF <HD><F>,<
IFhNB <D>,<
A (<B>,D,..MSK)(>
..MSK==0> H
IFNB <F>,<
h ..MSK=..MSK!<E>>MSK=..MSK!<;LJ ((\
IFDIF < HD><F>,<
IF hNB <D>,<
I
FNB <F>,<
(A1 (B,D,..MSK)>
H
IFB <F>,
h<
A2 (B,D,..MSK)>>
..(MSK==0>
IFNB H<F>,<
..MSK=..MSK!<E>>MSK=;hU @0`
SYN END`BK.,a
.PSHX <
SYN a,ENDBK.> SYN a,ENDBK.>;i F`4H
SYN ELSGE.,a
SYN ENDIFG .,b
SYN ..TAGFG@,c
SYN ..TAGE,G`d
.PSHX <
HSYN a,ELSE.
H SYN b,ENDIF.
H@ SYN c,..TAGF
H` SYN d,..TAGE>
..INDF
NDF
;k @1
SYN OD.`,a
SYN LOOP.,b
SYN TOP.,c
SYN EXIT.,d
S@YN ENDLP.,e
.P`SHX <
SYN a,OD.
SYN b,LOOP .
SYN c,TOP.
SYN d,EXIT.
` SYN e,ENDLP.> SYN e,ENDLP.>;$r 3r....Uk4;$s 3p....Ui2;&` X-P
..TSIZ X (..PST,C)
.IF0X@ ..PST,<
SETX`CMM B>,<
Y ..YTSAC (..ACT,B)
Y@.IF0 ..ACT,<
MOVX .SAC,C
Y` XORM .SAC,B>,<Z
..TX(C,B,C)>>..TX(C,B,C);&` T@-6
..TSIZ T`(..PST,C)
.CASUE ..PST,<<
SETU OM B>,<
HLLOSU@ B>,<
HRROS U`B>,<
..TSAC (V..ACT,B)
.IFV 0 ..ACT,<
MOVXV@ .SAC,C
IORM V`.SAC,B>,<
..TX (O,B,C)>>>T;&@ P`-
..TSIZ Q(..PST,C)
.CAQ SE ..PST,<<
SEQ@TZM B>,<
HLLQ`ZS B>,<
HRRZRS B>,<
..TSR AC (..ACT,B)
R@ .IF0 ..ACT,<
R` MOVX .SAC,C
S ANDCAM .SAC,B>,S <
..TX (Z,B,C)>>>TX (Z,B,;&81 lH&n
A==0 lh
..TSA1==<Z Bm>
.IF ..TSA1,m(ABSOLUTE,<
ImHFE ..TSA1&^O77777mh7777760,<A==1>>
60,<A==1>> ;&:= k&`
A==3 k(
IFE <B>+1,<kHA=0>
IFE <B>-kh^O777777,<A==1> l
IFE <B>-^O777777B17,<A==2>7;&;Q n(&~
A==0 nH
..TSA1==0
nh IRPC C,<
..oTSA1=..TSA1+1
oo( IFE ..TSA1-B,<
IFIDN <C><ohD>,<
A==1>
;'STOPI>>
..TX14==C
4H.IFN 4(..TX1,ABSOLUTE,<
TDA B,[C]>
4h .IF ..TX1,ABSO5(LUTE,<
..TX2=5=0
IFE <..TX15H&^O777777B17>,<
5h ..TX2==1
6 TRA B,..TX1>
6( IFE ..TX2,<
6HIFE <..TX1&^O77776h77>,<
..TX2==71
TLA B,(7(..TX1)>>
IFE ..7HTX2,<
IFE <7h<..TX1>B53-^O7777877>,<
..TX@(3 (A,B)>>
IF@HE ..TX2,<
I@hFE <..TX1+1>,<
A ..TX4 (A,BA()>>
IFE ..TX2,<AH
TDA B,[..TX1]>
>,[.;'` B$"
IFIDN <B(A><Z>,<
..BHTX2==1
ANDI BhB,^-..TX1>
IFICDN <A><O>,<
C( ..TX2==1
ChORCHCMI B,^-..TX1>
IFIDN <A><C>,<D
..TX2==1
D( EQVI B,^-..TX1>QVI B,^-..TX;' Dh$0
IFIDN <EA><NN>,<
..TE(X2==1
CAIN BEH,0>
IFIDN <AEh><NE>,<
..TX2F==1
CAIE B,0>
CAIE B,0;' @0L
..TSAC `(..ACT,B)
.IF 0 ..ACT,<
PRIN TX ?TQA - B NOT @ IN AC>,<
TXA B,C>
TXA;'R v/D
..TSAC v (..ACT,B)
.IFv@0 ..ACT,<
..Jv`X1==C
.IF0 <w ..JX1-1B0>,<
SwKIPGE B>,<
w@ .IF0 <..JX1+1>,<w`
SKIPE B>,<
x MOVE .SAC,B
x TXNE .SAC,C>>>,x@<
TXNE B,C>
TXNE B,C>;'W y`0@
..TSAC z(..ACT,B)
.IFz 0 ..ACT,<
..Jz@X1==C
.IF0 <`..JX1-1B0>,<
SKIPL B>,<
@ .IF0 <..JX1+1>,<
SKIPN B>,<
` MOVE .SAC,B
TXNN .SAC,C>>>,<
TXNN B,C>
`P P P 0P d p8
.ACV2 (A)
.ACV2 (d@ 08=
IFDEFP A,<.IF A,SYMBOpL,<PRINTX ACVAR A ALREADY DEFINED0>>
A==.FPAC+..PNAC
$A==A
IFB <B>,<..NAC=..NAC+1>
IFNB 0<B>,<
...X==BP
IF2,<.IFN ...Xp,ABSOLUTE,<PRINTX ?ACVAR A, B is0 not absolute>>
P ..NAC=..NAC+...X>NAC=..NAC+...Xd` 8M
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; .`;4
IFIDN/ <A><.>,<
XMO/ VEI .A16,B
P/@USH P,.A16>
I/`FDIF <A><.>,<
0 .IFATM <A>,.BL0 F4
.BLF1==0 0@
IFN .BLF4,<0`
.IF %A,1MACRO,<
.BLF11 ==1>
IFNB 1@<B>,<
.BLF1==1`1>
IFN .BL2F1,<
LOAD .A2 16,A,B
PUSH 2@P,.A16>>
IFE 2`.BLF1,< ;IF WASN3'T A STRUCTURE RE3 F,
IFN .BLF3@4,<
.BLF3`2==<<Z A>&17B17>4-<P>B17
4 .IF .BLF2,ABSOLUT4@E,<
IFE4` .BLF2,<
5 .BLF1==1
5 .BLF3==<Z 5@A>&777777
PUSH5` P,.BLF3-..NA(P)>6>>>
IFE .BLF6 1,<
PUSH P,6@A>>
..NA=..NA+1
..NA=..N
d; . :r
.BLCL1 A
.BLCL1
f=( + :\
DEFINE +@A<-^OB(.FP)>
$A==<Z A>>
9 i&R
..CSN==i(A
..CSC==0
IiHRP B,<
IFE ..CihSN-..CSC,<
STjOPI
..CAS1 (j(B)>
..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 (!
XLISTH
LOC 0
COPYRTh A
.IFN .,ABSOLUTE,<PRINTX (?.CPYRT, COPYRIGHHT IS NOT ABSOLUTEh>
IFGE .-^O22,<PRINTX %COPYR(IGHT DOESN'T FIT HIN SINGLE REL BLOhCK>
RELOC
LIST
SALL
LIS,<H ]@-t
..PST==]`C&<-C>
.IF0 .^.PST-1,<
SOS ^ B>,<
MOVX .SA^@C,-..PST
ADDM .SAC,B> ADDMtH
8S
IRP A,
0<
.ENAV2 (A)> .ENAV2 (A)tI
p8W
.ENAV3 (A)
.ENAV3 tI 08[
PURGE A,A
PURGE t,h ,:b
IRP A,, <
DEFINE A<....U>>FINE A<.v=H q`7
IRP A,r<
.ENSV2 (A)> .ENSV2 (A)v=I r@7
.ENSV3 (A)
.ENSV3 v=I s7
DEFINE A<....U>EFINE vI9A vI9~+H $H"$
A (\..FORN)
A (\..~. ".
A BP `P \Q X=|RQ &2 gh&D
..IFT==hA
IFE ..IFT,h(<
B
..IFT==0hH>
IFN ..IFT,<
C>N ..IFT,<&4 7;L
IRPC A7 ,<
B==0
IFGE7@ "A"-"A",<IFLE "7`A"-"Z",<B=1>>
IFGE "A"-"0",<8 IFLE "A"-"9",<B8@=1>>
IFE "A"-"8`%",<B=1>
IFE "9A"-"$",<B=1>
9 IFE "A"-".",<B=9@1>
IFE B,<STOPI>>IFE B,<STOP&t<H [ -b
..PST==[@C&<-C>
.IF0 [`..PST-1,<
AOS \B>,<
MOVX .S\ AC,..PST
ADDM .SAC,B> ADDM&tj7Q ?2DQ x6i2P ~6k0P 6k4P 6mtP 6MiTQ @;`P ?= _`.
..TSIZ `(..PST,C)
.IF0` ..PST,<
A B`@>,<
..LDB .SA``C,B,C
A .SAC>C
A .S?= b.
..TSIZ b (..PST,C)
.IF0b@ ..PST,<
A Bb`>,<
..LDB .SAcC,B,C
A .SAc C
..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~ K`4^
.PSHX1 (.POPX2).PSHX1 B~ L 4b
.POPX4 A
.POPX4 B~ M 4p
A
M@DEFINE .PSHX1 (WCM`H,STUFF)<
WCH (N<<STUFF>,<B>>)><STUFF>,<B>>)>B~
L`4f
.POPX3 B
.POPX3 C I`4N
.PSHX1 (.PSHX2,<A>)1 C J 4R
A (<B>)
A (<BC J`4Z
DEFINKE .PSHX1 (WCH,STUK FF)<
WCH (<<STUFF>,<A>>)><STUJDP'K%,z !("
<<<A>&<B!H>>B<^D70-POS(<B>)>>D70-POS(<B>K%\u C,&
<IFE <<FC ILIN.(<A>)&<^-AC@>>>,<A>>!<IFN <<C`FILIN.(<A>)&<^-DA>
>><<FILIN.(<<D <RGHBT.(<<FILIN.(D@<A>)&<^-A>>>)>_D`-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 l@6d
.STKV2 (A)
.STKV2 O%=I m6|
IFB <Bm >,<..STKN==..STKNm@+1>
IFNB <B>,<m`
...X==B
IF2n,<.IFN ...X,ABSOLn UTE,<PRINTX ?STKVn@AR A, B is not n`absolute>>
..SToKN==..STKN+...X>
..STKQ==..STKN+o@1
.STKV3 (A,\..STKQ)V3 (A,\.O%=I p7
IFDEFp A,<.IF A,SYMBOp@L,<PRINTX STKVAR p`A ALREADY DEFINEqD>>
DEFINE A<-q ^OB(P)>
$A==<Z A>>
$A==<Sd v@74
.TRV2 (A)
.TRV2 (Sd@ w7H
.TRV3 (w A,\..NV)
IFB w@<B>,<..NV=..NV+1w`>
IFNB <B>,<
x ...X==B
IF2,<x .IFN ...X,ABSOLUTx@E,<PRINTX ?TRVAR x`A, B is not absyolute>>
..NV=..NV+...X>..NV=..Sd` y@7V
IFDEFy` A,<.IF A,SYMBOzL,<PRINTX TRVAR z A ALREADY DEFINEDz@>>
DEFINE A<^Oz`B(.FP)>
$A==<Z A>>
$A==<b\| (!j
.XCREF
.XCRF1 <..ACT,.h.CSC,..CSN,..IFT,..JX1,..MSK,..MX1(,..MX2>
.XCRF1 H<..NAC,..NRGS,..NhS,..NV,..PST,..STKN,..STKQ,..STKR>(
.XCRF1 <..TRR,H..TSA1,..TX1,..TXh2,.FP,.FPAC,.NAC,.SAC,.SAV1>
.XC(RF1 <.SAV2,.SAV3,HPOINTR,POS,WID,..hCAS1,..CNS,..CNS2>
.XCRF1 <..DPB(,..GNCS,..ICNS,..HJE,..LDB,..STR0,.h.STR1,..STR2>
.XCRF1 <..STR4,..T(QO,..TQZ,..TSAC,.H.TSIZ,..TX,..TY,.hACV1,.ACV2>
.XCRF1 <.ACV3,.CASE,(.DECR0,.IF0,.INCRH0,.OPST1,.OPST2,.hSTKV1>
.XCRF1 <.STKV2,.STKV3,.TR(V1,.TRV2,.TRV3>
.CREF
3>
b)H h!p
IRP A,<
IFDEF A,< .XCREF A>>A,< .cJyA cJycJyA cJyc&,ZA c&,Zc&,zA c&,z>}{woP