Trailing-Edge
-
PDP-10 Archives
-
bb-bt99o-bb
-
macsym.unv
There are 97 other files named macsym.unv in the archive. Click here to see a list.
x,Sb@P C4@ P(
..NAC==p0
IRP A,<
.ACV1 (A)>
0 .ACV3 (\..NAC) P
DEFINE ENDAV.<.ENAV1 <A>>V.<C' [H\OP%%IA (A,B,ADD,SUB)(AC:$S@ >#p
..TAGF (<JUMPN A,>,) C:$s@ ?#x
..TAGF (<JUMPLE A,>,)C:$y' ?@#|
..TAGF (<JUMPL A,>,) C:%C@ @@$
..TAGF (<JUMPGE A,>,)C:%I' @$
..TAGF (<JUMPG A,>,) C:%c@ >@#t
..TAGF (<JUMPE A,>,) C:&' B$
..TAGF B (<JN <A>,<B>,>,)N <A>,<B>,>,C:&G B`$
..TAGF C(<JE <A>,<B>,>,)E <A>,<B>,>,C:' 2H
TXZ A,<^-<B>>TXZ A,C:' ' A$
..TAGF (<JXN A,B,>,)C:'G A@$
..TAGF (<JXE A,B,>,)C:v:g <@#d
TRNA
..TAGF (JRST,) C;< <#`
..TAGF (JRST,) ..TAGF CO,,@ z`'j
..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
}H
IFN FTSHOW,..LOC==.
DEFINE WORD(NAM,@NUMB<1>),<
IFN `<..MSK>,<..OFF==..OFF+1>
..MS K==0
FIELDM(N@AM,<.FWORD>)
` ..MSK==0
..OFF==..OFF+NUMB
>
DEFINE NXT@WRD(NUMB<1>),<
`..MSK==0
..OFF=..OFF+NUMB
>
DEFINE FILLER(N@UM),<
..FLG==PO`S(..MSK)
IFE ..MSK,<..FLG==-1>
IFG <^D<NUM>-<^D@35-..FLG>>,<PRINT`X ?FILL TOO BIG IN A STRUCTURE>
...MSK==MASK.(^D@<NUM>,<..FLG+^D<N`UM>>)
IFN FTSHOW,<
PHASE ..O FF
EXP ...MSK@
>
..MSK==..M`SK!...MSK
>
DEFINE HWORD(n am),<
..FLG==0 @
IFE ..MSK&.LH`ALF,<FIELDM(nam,.LHALF)
..FL G==1>
IFE ..FLG@,<..MSK==..MSK!.L`HALF
IFE ..MSK&.RHALF,<FIELD M(nam,.RHALF)
@ ..FLG==1>
IFE ..FLG,<NXTWRD
FIELDM(nam,.LHALF@) >
>
>
`
DEFINE FIELD(NAM,SIZ,POS),<
.. FLG==0
IFB @<POS>,<IFB <SIZ>,`<
...MSK==.RTMSK(<<^-<<..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(NAM,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!0MASK
MSKSTR(0 A'NAM,\..OFFC,M0@ASK)
A.'NAM==0`..OFF
IFN FTSHO1W,<
PHASE A.1 'NAM
EXP A'N1@AM
>
>
DEFI1`NE ENDSTR(LENNAM<2LEN>,LSTNAM<LST>)2 ,<
IFN ..MSK,2@<..OFF==..OFF+1> 2`
A.'LSTNAM==3..OFF
IFN FT3 SHOW,DEPHASE
3@..LOK==..LOK+1
3`IFN ..LOK,<PRINTX4 ? MISSING BEGSTR4 >
IF2,<
I4@FDEF ...MSK,<SUPP4`RESS ...MSK>
5IFDEF ..BITS,<SUP5 PRESS ..BITS>
5@ IFDEF .SIZ,<SUPP5`RESS .SIZ>
IF6DEF ..MSK,<SUPPRE6 SS ..MSK>
IFD6@EF ..OFF,<SUPPRES6`S ..OFF>
IFDE7F ..FLG,<SUPPRESS7 ..FLG>
IFDEF7@ ..LOK,<SUPPRESS 7`..LOK>
IFDEF 8..LOC,<SUPPRESS .8 .LOC>
IFDEF .8@.OLD,<SUPPRESS ..8`OLD>
IFDEF ..9.OLD,<SUPPRESS ..9 .OLD>
>
IF19@,<
IFDEF ...M9`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 @`..LOK,<PRINTX ? NAEW BEGSTR WITHOUTA ENDSTR>>
..LOK==-1
..L/mv0/:BEG
E2 ,*h
..NA==0,
IRP B,<
,@ .BLCL2 B>
,`PUSH P,[..NA+1,,.-.NA+1]
PUSHJ P,A
SHJ PE2|:g ` V
..SVBK
XMOVEI .A16,
a
PUSH P,.A16
@
DEFINE ENDBK.
` <
RET
a:!
.POPX>:!E3XG &@*P
..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' Zh%_
W0.==A
W1.==B ;INIT[PIALIZE BREAK MASK[p
W2.==C
W3.==D
==C
W3.==0%L0/>0B,<
/@0QAB (/D0 ..SEJZ UH%@ ..V22==aUh
..V1==a
IFNVB <B>,<..V22==BV(>
REPEAT ..V22-<VHa>+1,<
%%W==.Vh.V1/^D32
%%X==W..V1-%%W*^D32
W(IFE C,BRKC1 \"<%WH%W+"0">
IFN CWh,BRKC2 \"<%%W+"0"X>
..V1==..V1+1
>
.V1+1 XH%D WA.==WA.!<1B<%%X>>
AEJ\4@ Y%J WA.==WAY(.&<-1-1B<%%X>>
&<-1-1B<%%X>>
EJ\: T%"
%%FOO==T(a
BRK0 (%%FOO,B,0)
(%%FOO,EJn:g \0%m
BRINI. A\P,B,C,D
IRPC\p E,< UNBRK. "E"]>
IRPC F,< BR]0KCH. "F">
EXP]P W0.,W1.,W2.,W3.
W1.,W2.,W3. Ge@ ,GeLR +G@ U(*OP%%CA (A,B,)OP%%CA (AGD XhFOP%%CA (A,B,A)P%%CA (AGDP Vh6OP%%CA (A,B,E)P%%CA (AGDp W(:OP%%CA (A,B,G)P%%CA (AGDy Wh>OP%%CA (A,B,GE)%%CA (AGE@ Uh.OP%%CA (A,B,L)P%%CA (AGEI V(2OP%%CA (A,B,LE)%%CA (AGE` X(BOP%%CA (A,B,N)P%%CA (AG?Z
Hl
ASCIZ /
h
COPYRIGHTQ(C)MDT
ALL RIGHTS RESERVED.
/TS RESERVI \@f
..STR0 \`(.DECR0,,<A>,<B>)CR0,,<A>,<BI6= ph
A==<-1qB<C>+1B<C-D>> q(
IF1,<IFDEF %AqH,<PRINTX ?A ALREqhADY DEFINED>>
DrEFINE %A (OP,AC,r(Y,MSK)<
$A==<ZrH B>
OP (<AC>,B'Y,MSK)><AC>I'7 ]HlOP%%IN (A,B,DIV)%IN (AI<p
t
..SVLD
@
a:!
D
`EFINE OD. <
b:!
.POPX>
@ DEFINE LOOP. <
JRST a>
`DFINE TOP. <a>
DEFINE ENDLP . <b>
DEFIN@E EXIT. <
JRST b>T. <
JRST IKH1 p*
..TMSK==..MASK
..TNAC==.0.NAC-1
REPEAT ..PNAC,<
IFN ..TpMSK,<
..NUM==^L<..TMSK>
..TMSK0==..TMSK-1B<..NUMP>
IFE ..TMSK & p1B<..NUM+1>,<
MOVE ..NUM,-..TNA 0C(P)
..TNAC==. P.TNAC-1>
IFN .. pTMSK & 1B<..NUM+1!>,<
DMOVE ..NU!0M,-..TNAC(P)
.!P.TNAC==..TNAC-2
!p ..TMSK==..TMSK-"1B<..NUM+1>>
>>"0
IFG ..NAC,<ADJSP P,-..NAC>
JSINh1 p)k
IFG ..NAC,<ADJSP P,..NAC>0
..TMSK==..MASK
..TNAC==..NAC-1
REPEAT ..NAC,<
IFN ..TMSK,<
0 ..NUM==^L<..TMSKP>
..TMSK==..TMSpK-1B<..NUM>
IFE ..TMSK & 1B<..NU0M+1>,<
MOVEM .P.NUM,-..TNAC(P)
p ..TNAC==..TNAC-1>
IFN ..TMSK &0 1B<..NUM+1>,<
P DMOVEM ..NUM,-..pTNAC(P)
..TNAC==..TNAC-2
..T0MSK==..TMSK-1B<..NUM+1>>
>>
.K,lz s&
A==<-1s(B<C>+1B<C-D>> sH
IF1,<IFDEF %Ash,<PRINTX ?A ALREtADY DEFINED>>
Dt(EFINE %A (OP,AC,tHY,MSK)<
OP (<ACth>,<@[EP. B'Y]>,MSK)>P. B'Y]>,MK+\Y`p00p004p00$np00UN.,HK+`p00p00
4p00$pp00
UNEMK3S@ #f....U@K7<z w(F
A==C wH
IF1,<IFDEF %whA,<PRINTX ?A ALRxEADY DEFINED>>
x(DEFINE %A (OP,ACxH,Y,MSK)<
OP (<AxhC>,<@[EP. B'Y]>,MSK)>P. B'Y]>,K:$Kg v
OD.K:%G #h....U,<HK@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>
@ IFE "A"-")",<
@@ IFE ..X,<PRIN@`TX %UNEXPECTED RIAGHT PAREN IN EP. A MACRO>
..SC=1A@>
A`IFE ..SC,<
..CON <A>>>B
IFE ..X,<
B ..CON <,0>>
..CB@ON <
>
..GET
>
..GET
KCm ;@+h
DEFIN;`E ..EP. (LOCN,PTE<XT)
<PRINTX< Location 'LOCN':<@ PTEXT
>
<` ..EP.(\.,<A>)
PURGE ..EP.
URGE ..EP.
KJn9` R(%
ERJMP [RHTMSG <? A>
JSHLT]
A>
JKbMi C,<<A>B1+<C>B5+<B>>B1+<Kc S%
IF2,<S(
IRP A,<
IFNSHDEF A,<EXTERN A
SUPPRE A>>>M&. cHOP%%FP (A,B,FADR)FP (AM6. e(OP%%FP (A,B,FDVR)FP (AM2 H<<<A>B<POS(<B>)>>&<B>>M2$*g b&7
..XX==<b0FLD(A,CM%FNC)>+bPB+<Z G>
IFNBbp <D>,<..XX=CM%HPcP!..XX>
IFNB c0<E>,<..XX=CM%DPPcP!..XX>
IFNB <cpF>,<..XX=CM%BRK!d..XX>
..XX
d0IFNB <C>,<C>
dP IFB <C>,<0>
dp IFNB <D>,<POINeT 7,[ASCIZ D]>e0
IFB <D>,<IFePNB <EF>,<0>>
ep IFB <E>,<IFNB f<F>,<0>>
IFNf0B <E>,<POINT 7,[fPASCIZ \E\]>
fpIFNB <F>,<F>
<F>,<F>
M2$HG ^&
..XX==<^0FLD(A,CM%FNC)>+^PB+<0,,F>
IFN^pB <D>,<..XX=CM%H_PP!..XX>
IFNB_0 <E>,<..XX=CM%DP_PP!..XX>
..XX
p IFNB <C>,<C>
`0IFB <C>,<0>
IFNB <D>,<PO`PINT 7,[ASCIZ D`p]>
IFB <D>,<aIFNB <E>,<0>>
a0 IFNB <E>,<POINaPT 7,[ASCIZ \E\]>7,[ASCIZ \E\]>M7. dH$OP%%FP (A,B,FMPR)FP (AM7p Oh%
HRROI .PAC2,[ASCIZ \A\]
MOVEI .AC3,0
SOUTI .AC3,0
M?c@ "h
DEFINE# e(C)<D>
..FO#(RN==A
REPEAT B#H-A+1,<
.FORN1 #h(e)
..FORN=..FORN+1>.FORN=..FM?3@ &4
DEFINE&( %MN1 (B)<C>
&H..FORN==A
.FORN1 (%MN1)
.FM?@ $h*
DEFINE% d (B)<C>
I%(RP A,<
.FORX1 d,A>
.FORX1\MN.dPOP%%FP (A,B,FSBR)FP (AMS{PNF00^O44C==:NJ
..ERR.=c 0
.BSIZ.=Bc@
c`.BPOS.=D
IFN <<A>&<^O<-d1,,770000>>>,<
d MPRNTX(G2BPT,SedPction greater thaj`n 12 bits: A)
k ..ERR.=1
k >
IFN <<C>&<^O<7k@77740,,0>>>,<
k` MPRNTX(G2BPT,Bitls 0 - 12 non-zerol in address fieldl@: C)
..ERR.=l`1
>
IFN <<mE>&<-1,,0>>,<
m MPRNTX(G2BPT,Bitm@s 0-17 non-zero im`n optional field:n E)
..ERR.=1n
>
IFN <.BSn@IZ.&<^O<-1,,77770n`0>>>,<
MPRNTXo(G2BPT,Bytesize go reater than 6 bito@s: B)
..ERR.o`=1
>
IFN <.pBPOS.&<^O<-1,,777p 700>>>,<
MPRNp@TX(G2BPT,Byte offp`set greater than q6 bits: D)
.q .ERR.=1
>
Iq@FN ..ERR.,<-1,-1,q`-1>
IFE ..rERR.,<
IFDIF r <D><>,<<<POINT .r@BSIZ.,E,.BPOS.>!r`1B12>&<^O<777740,s,-1>>>
tIFIDN s <D><>,<<<POINT .s@BSIZ.,E>!1B12>&<s`^O<777740,,-1>>>
<<<t C>_<^O14>>&<^O<37t@0000,,0>>!<<C>&<t`0,,-1>>!<<A>_<^Ou22>>>
>
PURu GE ..ERR.,.BSIZ.,.BPOS.
BSIZ.,1".0 GENBPON{ F`,^
..ERR.=G0
IFN <<A>&<G ^O<-1,,770000>>>,G@<
MPRNTX(GFIWG`M,Section greaterH than 12 bits: AH )
..ERR.=1
H@ >
IFN <<B>&<H`^O<777740,,0>>>,<I
MPRNTX(GFIWMI ,Bits 0 - 12 non-I@zero in address fI`ield: B)
..EJRR.=1
>
IFNJ ..ERR.,<-1,-1,-1J@>
IFE ..J`ERR.,<
<<<B>K_<^O14>>&<^O<3700K 00,,0>>!<<B>&<0,K@,-1>>!<<A>_<^O22K`>>>>
PURGE ..ERR.
PURGE ..ERSNn ^pOP%%IN (A,B,IDIV)IN (AS)` '@"H
JUMPN '`A,b
..SVDF (
DEFINE ..TA( GF (INST,PCT)<
(@INST b'PCT>
(` DEFINE ..TAGE ()INST,PCT)<
INST c'PCT>
STS.:g & "8
PRINTX &@% IFESK. should b&`e changed to IFNJ'E.
IFNJE. <A>.
IFNJE. <A>S9` +@"h
JUMPLE +`A,b
..SVDF ,
DEFINE ..T, AGF (INST,PCT)<
,@ INST b'PCT>
,` DEFINE ..TAGE -(INST,PCT)<
INST c'PCT>
SS<S@ -@"x
JUMPL -`A,b
..SVDF .
DEFINE ..TA. GF (INST,PCT)<
.@INST b'PCT>
.` DEFINE ..TAGE (/INST,PCT)<
INST c'PCT>
STSTS@ !`
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 @!D
IFB <`AB>,<
..SVDF
ERJMP e
JRST c
e:@!
DEFINE ..TA`GF (INST,PCT)<
INST c'PCT>
DEFINE ..TAGE (@INST,PCT)<
INST` d'PCT>
>
IFNB <AB>,<
ERJMP c
@B
JRST d
c:! A
d:!>
c:!SUc@ # ".
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@#
JUMPGE 1`A,b
..SVDF 2
DEFINE ..T2 AGF (INST,PCT)<
2@ INST b'PCT>
2` DEFINE ..TAGE 3(INST,PCT)<
INST c'PCT>
SSdS@ /@#
JUMPG /`A,b
..SVDF 0
DEFINE ..TA0 GF (INST,PCT)<
0@INST b'PCT>
0` DEFINE ..TAGE (1INST,PCT)<
INST c'PCT>
STSq` )@"X
JUMPE )`A,b
..SVDF *
DEFINE ..TA* GF (INST,PCT)<
*@INST b'PCT>
*` DEFINE ..TAGE (+INST,PCT)<
INST c'PCT>
STSt\g @!j
PRINTX `% IFNES. should be changed to IFJE R.
IFJER. <A>,<B>FJER. <A>,Su)' @"
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 !(
IFB < AB>,<
..SVD@F
TRNA
`JRST c
DEFINE ..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@#J
JN <A>7`,<B>,c
..SVD8F
DEFINE .8 .TAGF (INST,PCT)<8@
INST c'PCT> 8`
DEFINE ..TAG9E (INST,PCT)<
I9 NST d'PCT>
ST d'PCT>
S 9`#\
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< `"
IFB <A>,<
..SVDF
JRST b
@DEFINE ..TAGF (IN`ST,PCT)<
INST b'PCT>
DEFI NE ..TAGE (INST,P@CT)<
INST c'PC`T>
>
IFNB <A>,<
JRST b
A
b:!> bSDS@ 3@#(
JXN A,3`B,c
..SVDF 4
DEFINE ..TA4 GF (INST,PCT)<
4@INST c'PCT>
4` DEFINE ..TAGE (5INST,PCT)<
INST d'PCT>
STSEc@ 5@#8
JXE A,5`B,c
..SVDF 6
DEFINE ..TA6 GF (INST,PCT)<
6@INST c'PCT>
6` DEFINE ..TAGE (7INST,PCT)<
INST d'PCT>
STS7-N ]hOP%%IN (A,B,IMUL)IN (AS: Z T
..STR0 Z@(.INCR0,,<A>,<B>)CR0,,<A>,<BS? 2
TXO A,<B>
TXO A,Ut@ o`
..STR1 p(..JAN,<d,<C>>,p <A>,<B>,..STR5)
d:B>,..STR5)U c@
..STR1 c`(..JE,<C>,<A>,<B>,..STR3)A>,<U8 hB
..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@f
..STR1 l`(..JN,<C>,<A>,<B>,..STR4)A>,<UN.,@`p0/}p0/z,p0/}$np0/zUN.,HUN.,HA UN.,HUNEM`p00 p00,p00 $pp00UNEMUNEMA UNEMUNn9hA UNn9hUb( F(J
..JX1==FHB
.IFN ..JX1Fh,ABSOLUTE,<PRINTXG B NOT ABSOLUTE
..JX1==0>
.IGHF ..JX1,ABSOLUTE,Gh<
.IF0 <<..JX1>H-1B0>,<
JUMPGH(E A,C>,<
.IF0HH <<..JX1>+1>,<
Hh JUMPE A,C>,<I
TXNN (A,..JI(X1)
JRST C>>>)
JRST C>>>Ub0 Q(&
..JX1==QHB
.IFN ..JX1Qh,ABSOLUTE,<PRINTXR B NOT ABSOLUTE
..JX1==0>
.IRHF ..JX1,ABSOLUTE,Rh<
.IF0 <<..JX1>S-1B0>,<
JUMPGES( A,C>,<
..ONESHB (..BT,B)
.IShF0 ..BT,<
SETTCM .SAC,A
T(JXN (.SAC,..JX1,THC)>,<
TXNNTh A,..JX1
JRST C>>> Ubp Ihf
..JX1==JB
.IFN ..JX1J(,ABSOLUTE,<PRINTXJH B NOT ABSOLUTE
..JX1==0>
.IKF ..JX1,ABSOLUTE,K(<
.IF0 <<..JX1>KH-1B0>,<
JUMPLKh A,C>,<
.IF0 L<<..JX1>+1>,<
L( JUMPN A,C>,< LH
TXNE (A,..JXLh1)
JRST C>>>)
JRST C>>>Ubx M(
..JX1==MHB
.IFN ..JX1Mh,ABSOLUTE,<PRINTXN B NOT ABSOLUTE
..JX1==0>
.INHF ..JX1,ABSOLUTE,Nh<
.IF0 <<..JX1>O-1B0>,<
JUMPL O(A,C>,<
..ONEBOH (..BT,B)
.IFOh0 ..BT,<
SETCPM .SAC,A
JP(XE (.SAC,..JX1,CPH)>,<
TXNE PhA,..JX1
JRSTC>>> JXF
.BSIZ.=L@A
.BPOS.=C
..ERR.=0
IFMN <<B>&<^O<77774M 0,,0>>>,<
MPRM@NTX(L1BPT,Bits 0 M`- 12 non-zero in Naddress field: BN )
..ERR.=1
N@ >
IFN <.BSIZ.N`&<^O<-1,,777700>>O>,<
MPRNTX(L1O BPT,Bytesize greaO@ter than 6 bits: O`A)
P..ERR.=1
>
IFN <.BPOP S.&<^O<-1,,777700P@>>>,<
MPRNTX(P`L1BPT,Byte offsetQ greater than 6 bQ its: C)
..ERQ@R.=1
>
IQ`FN <..ERR.>,<-1,-R1,-1>
IFE <.R .ERR.>,<
IFIDR@N <C><>,<POINT .R`BSIZ.,B>
IFDSIF <C><>,<POINT S .BSIZ.,B,.BPOS.>S@
>
PURGE ..S`ERR.,.BSIZ.,.BPOS.
BSIZ.,.BPOSXJ
..ERR.=Z`0
.BSIZ.=A[
[ .BPOS.=C
IFN <<B>&<^O<7[@77740,,0>>>,<
[` MPRNTX(L2BPT,Bit\s 0 - 12 non-zero\ in address fieldT : B)
..ERR.=T@1
>
IFN <<T`D>&<-1,,0>>,<
U MPRNTX(L2BPT,BitU s 0-17 non-zero iU@n optional field:U` D)
..ERR.=1V
>
IFN <.BSV IZ.&<^O<-1,,77770V@0>>>,<
MPRNTXV`(L2BPT,Bytesize gWreater than 6 bitW s: A)
..ERR.W@=1
>
IFN <.W`BPOS.&<^O<-1,,777X700>>>,<
MPRNX TX(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.>!` 1B12>&<^O<777740,`@,-1>>>
a@IFIDN ``<C><>,<<<POINT .aBSIZ.,D>!1B12>&<a ^O<777740,,-1>>>
<1B0!<<^O<4a`00037,,-1>>&<B>>b>
>
PURGE b ..ERR.,.BSIZ.,.BPOS.
BSIZ.,.BP1!-P0(B).YN{ C@,2
..ERR.=C`0
IFN <<A>&<D^O<777740,,0>>>,<D
MPRNTX(LFIWMD@,Bits 0 - 12 non-D`zero in address fEield: A)
..EE RR.=1
>
IFNE@ ..ERR.,<-1,-1,-1E`>
IFE ..ERR.,<F1B0!<<^O<400037,,F -1>>&<A>>>
PURGE ..ERR.
PUY$- A`1_<^D35-^L<A>>1_<^D35-^LY>
@ E*
..STR0 E (..LDB,A,B,<C>)LDB,A,B,<C>Y>
I HB
..STR0 H (..LDBE,A,B,<C>)DBE,A,B,<C[i9Q u[^+' 'J
DEFINE'( A (STUFF)<
c'H (<STUFF>,)>
'h DEFINE c (NEW,O(LD)<
DEFINE ((A (STUFF)<
c (H(<STUFF>,<OLD'NEW(h>)>>
DEFINE )B <
DEFINE )(c (NEW,OLD)<OLD>
A ()>
OLD>[3@ B <<<1_<A>>-1>B<B>>_<A>>[8@ !h<1B<<A>-1>-1B<B>><A>-1[>!` "(<<A>-<<A>/<B>>*<B>>A[?7 )h
..MX1*==B
*H.IFN *(..MX1,ABSOLUTE,<
MOVE A,[B]>
*h .IF ..MX1,ABSO+LUTE,<
..MX2==0+(
IFE <..MX1>B+H53,<
..MX2==1+h
MOVEI A,..M,X1>
IFE ..MX2,,(<
IFE <..MX1>,HB17,<
..MX2==,h1
MOVSI A,(.-.MX1)>>
IFE ..-(MX2,<
IFE <<.-H.MX1>B53-^O777777-h>,<
...MX2==1
HRROI A,<..M.(X1>>>
IFE ..MX.H2,<
IFE <<..M.hX1>B17-^O777777B1/7>,<
..MX2==1/(
/hHRLOI A,(../HMX1-^O777777)>>
IFE ..MX2,<
0 MOVE A,[..MX1]>
>,[..MX1[Cm 9 +X
DEFIN9@E ..MP. (LOCN,MTE9`XT,PTEXT)<
:PRINTX Location ': LOCN', Macro 'MTE:@XT': PTEXT
:`>
..MP.(\.,A;,<B>)
PURGE ..MP.
URGE [N^= u(6
A==C uH
IF1,<IFDEF %uhA,<PRINTX ?A ALRvEADY DEFINED>>
v(DEFINE %A (OP,ACvH,Y,MSK)<
$A==<vhZ B>
OP (<AC>,B'Y,MSK)><AC[Vg \HdOP%%IN (A,B,MUL)%IN (A[Xp 0H
MOVE .S0hAC,A
MOVEM .SAC,B
MOVEM .SA[ZI` 1(
MOVX .S1HAC,<A>
MOVEM .SAC,B
MOVEM ._@(Xp Y(X
.XCREF
IFE <<B>_-^D18>Yh,<
.CREF
CAIZC A,<B>
.XCREZ(F
>
IFN <<B>_-ZH^D18>,<
.CREF
Zh CAMC A,[B]
[.XCREF
>
.CREFCREF
>
.CREF_@(YX eH8
.XCREF
IFE <<B>_^D18>,f<
.CREF
CI f(A,(B)
.XCREF
fH>
IFN <<B>_^D18fh>,<
.CREF
C gA,[B]
.XCREF
>
.CREFCREFH
.XCREF
TEST%%=0
IFE <_<<B>_-^D18>-^O77_(7777>,<
IFN <<B_H>&^O777777>,<
T_hEST%%=1
.CREF
` DI A,-<B>
.`(XCREF
>>
IFE TE`HST%%,<
OP%%IN `hA,<B>,C
>
PUaRGE TEST%%
.CREF TEST%%
.CRE_@(Z7 aH
.XCREF
IFE <<B>_-^D18>b,<
.CREF
CI b(A,<B>
.XCREF
>
IFN <<B>_-^Dbh18>,<
.CREF
cC A,[B]
.XCREF
>
.CREFCRE_CL@ ^`x
..STR0 _(.OPST1,<A>,<B>,<C>)<A>,<B>_CLV a
..STR0 a (.OPST2,<A>,<B>,<C>)<A>,<B>_^>@ Y -Jx<..OWGP (\<A>,B,\<C>)>1 -F^O44 B-_^>
G Y`-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= Ph%
IFNB Q<A>,<
TMSG <AQ(>>
CALL JSMSG0>
CALL JSMSG0a4\G
..PGV0=0=.
.JBVER=:^OP137
LOC .JBVEpR
BYTE (3)D(9)A(6)B(18)C
0 .ORG ..PGV0
.ORG ..PGV0
a>Mm h<POINT WID (<B>),A,POS(<B>)>),A,POS(<Ba? (z<^L<<A>&<-<A>>>><<A>&<aKH1 $P*/
..NUM==$p^D15
REPEAT ^D1%6,<
IFN ..MASK%0 & 1B<..NUM>,<
%P POP P,..NUM>
%p..NUM==..NUM-1
>
==..NUM-1
aNh1 "p*!
..TMSK=#=..MASK
REPEAT #0..NAC,<
..NUM=#P=^L<..TMSK>
..#pTMSK==..TMSK-1B<.$.NUM>
PUSH P,..NUM
>
H P,.aR<& v(/2
TXO A,.FR8BY
TXO A,aRd6 u`/.
HRLI A,(POINT 8,0) AdA de ,~e&:x NH$tJRST RSKPvJRST RSKPeN^A eN^gXY ~(
..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 0)/
..DONEP==0
..SACC==0
.p.NAC==0
..MASK==
0
IRP <A>,<
0 IFG A-^D15,<PRI
PNTX ?SAVEAC(A) I
pS ILLEGAL,
CAPINTXU?SAVEAC
IFE A-.SAC,<..SACC==1>
..SYA0C==A
IFN PA-.SAC,<IFE ..MASpK&1B<..SYAC>,<
..MASK==..MASK!01B<..SYAC>
..PNAC==..NAC+1>>
p>
IFE ..SACC,<USRSAV>
IFE ..DO0NE,<
IFLE ..SAPCC,<JSP .SAC,[>
p IFG ..SACC,<CALL [EXCH .SAC,(P)>0
IFG ..NAPC-3,<DSAVAC>
p IFLE ..NAC-3,<IFG ..NAC,<PSAVAC0>>
PUSHJ PP,(.SAC)
pTRNA
AOS -..NAC-..SACC(P)
0 IFG ..NAC-P3,<DRSTAC>
p IFLE ..NAC-3,<IFG ..NAC,<PRSTAC>>0
IFG ..SACPC,<POP P,.SAC>
p POPJ P,]
>
PURGE ..NAC,..TN0AC,..MASK,..TMSK,P..SACC,..NUM,..SMpSK,..DONE,..SYAC
DONE,..SYAC g$;8 W:
..STR1 W (..TQC,,<A>,<B>,..STR4)A>,<B>g%{R S@
..STR1 S`(..TQO,,<A>,<B>,..STR4)A>,<B>g',W O`
..STR1 P(..TQZ,,<A>,<B>,..STR4)A>,<B>g"~s@ (r
....Z=A
....Z=gB8; 0)C
IFE ..DPONE,<
..SMSK==p0
IRP <B>,<
..SYAC==B 0
..SMSK==P..SMSK!1B<..SYAC>p>
IFE ..MASK-..SMSK,<JSP .SAC0,A
..DONE==1>
>
.DONgR$g $
F=:0
T1(=:1
T2=:2
T3=:3H
T4=:4
Q1=:5
Qh2=:6
Q3=:7
P1=:10
P2=:11
P3=:1(2
P4=:13
P5=:14H
P6=:15
CX=:16
P=:17
CX=:16h &Z
..STKR=h@=10
RADIX 8
h` ..STKN==0
IRP iA,<
.STKV1 (i A)>
JSP .A16,.i@XSTKS ;Call intei`rnal routine for jallocation
EXPj ..STKN ;Size ofj@ block to allocatj`e
RADIX ..STKR
DEFINE ENDSV.<.k ENSV1 <A>>
NSV1 <A>>
gR~ L`h
..STR0 M(..DPB,A,B,<C>)DPB,A,B,<C>gV \`OP%%IA (A,B,SUB,ADD)(Ai6tP u*
..STR1 u (..TYNE,,<A>,<B>,..STR3)A>,<Bi6u` x`H
..STR1 y(..TYNN,,<A>,<B>,..STR3)A>,<Bi7p O$z
HRROI .O(AC1,[ASCIZ \A\]
PSOUTZ\A\]
..S`TR1 (..TY,C,<A>,<B>,..STR3)A>,iF ` 0
..STR1 (..TY,CA,<A>,<B>,..STR3)A>iFP $
..S@TR1 (..TY,CE,<A>,<B>,..STR3)A>iF` *
..S TR1 (..TY,CN,<A>,<B>,..STR3)A>iFp z@V
..Sz`TR1 (..TY,N,<A>,<B>,..STR3)A>,iFt |`h
..S}TR1 (..TY,NA,<A>,<B>,..STR3)A>iFtP { \
..S{@TR1 (..TY,NE,<A>,<B>,..STR3)A>iFu` |b
..S| TR1 (..TY,NN,<A>,<B>,..STR3)A>iFx }@n
..S}`TR1 (..TY,O,<A>,<B>,..STR3)A>,iF| `
..STR1 (..TY,OA,<A>,<B>,..STR3)A>iF|P ~ t
..S~@TR1 (..TY,OE,<A>,<B>,..STR3)A>iF}` z
..S TR1 (..TY,ON,<A>,<B>,..STR3)A>iGP @
..S`TR1 (..TY,Z,<A>,<B>,..STR3)A>,iGT `
..STR1 (..TY,ZA,<A>,<B>,..STR3)A>iGTP
..S@TR1 (..TY,ZE,<A>,<B>,..STR3)A>iGU`
..S TR1 (..TY,ZN,<A>,<B>,..STR3)A>iK4@ s'*
..TRR==s 10
RADIX 8
s@..NV==1
IRP s`A,<
.TRV1 (tA)>
JSP .A16,t .XTRST
uEXP .t@.NV-1 ;Size of bt`lock to allocate
RADIX ..TRR
u DEFINE ENDTV.<.ENSV1 <A>>
.Eib >p
..TX(C,A,<B>)..TX(Cib ?H|
..TX(CA,A,<B>).TX(CibP >Ht
..TX(CE,A,<B>).TX(Cib` ?x
..TX(CN,A,<B>).TX(Cibp 8@
..TX(N,A,<B>)..TX(Nibt 9HL
..TX(NA,A,<B>).TX(NibtP 8HD
..TX(NE,A,<B>).TX(Nibu` 9H
..TX(NN,A,<B>).TX(Nibx :P
..TX(O,A,<B>)..TX(Oib| ;H\
..TX(OA,A,<B>).TX(Oib|P :HT
..TX(OE,A,<B>).TX(Oib}` ;X
..TX(ON,A,<B>).TX(OicP <`
..TX(Z,A,<B>)..TX(ZicT =Hl
..TX(ZA,A,<B>).TX(ZicTP <Hd
..TX(ZE,A,<B>).TX(ZicU` =h
..TX(ZN,A,<B>).TX(Zk:*g Th%(
%%FOO==Ua
BRK0 (%%FOO,B,1)
(%%FOO,kO8; (Wm$,I1P$m$,YP#m$-X5Q |m$-Z7Q xm$.zQ po& hv<^L<-<<A>_<^L<A>>>-1>>>q
fC@ g@&<
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 R
A:&@ M@z
..TSIZ M`(..PST,C)
.CASNE ..PST,<<
MOVN EM A,B>,<
HRN@RM A,B>,<
HRN`LM A,B>,<
DPOB A,[POINT WID(<O C>),B,POS(<C>)]>>B,POS(<C>):<;Y t
DEFIN(E ..CNS2 (NEW,OLDH)<
OLD>
..CNS ()>
:L;Y hl
DEFIN
E ..CNS (ARG)<
(..CNS2 <ARG>,>
H
DEFINE ..CNS2
h (NEW,OLD)<
DEF..CNS (ARG)<
<O..CNS2><ARG>,
OLD'NEW>>>
:Mi C@$,
DEFINE C`ELSE. <
..TAGE D(JRST,)
..TAGD F (,<:!>)
SYND@ ..TAGE,..TAGF
D` DEFINE ELSE. <E....U>>
DEFIE NE ENDIF. <
..TE@AGF (,<:!>)
..RSDF>
.:TH p`
..JNA3 (A,C,D)JNA3 :TI q
..TSAC q@(..ACT,C)
.IF0q` ..ACT,<
SETCrM .SAC,C
JXr E (.SAC,D,<B>)>r@,<
JXO (C,D,<B>)>O (C,:TP d <
..TSAC d@(..ACT,B)
.IFd`0 ..ACT,<
..TeSIZ (..PST,C)
e .CASE ..PST,<<e@
SKIPN B
e`JRST A>,<
HRRfZ .SAC,B
JUMf PE .SAC,A>,<
f@HLRZ .SAC,B
f`JUMPE .SAC,A>,<
MOVE .SAC,B
JXE (.SAC,C,<g@A>)>>>,<
JXE (B,C,<A>)>E:U` h``
..TSAC i(..ACT,B)
.IFi 0 ..ACT,<
..Ti@SIZ (..PST,C)
i` .CASE ..PST,<<
SKIPE B
Jj RST A>,<
HRRZj@ .SAC,B
JUMPj`N .SAC,A>,<
HkLRZ .SAC,B
Jk UMPN .SAC,A>,<
k@ MOVE .SAC,B
k` JXN (.SAC,C,<lA>)>>>,<
JXN (B,C,<A>)>N :Uh) nz
..TSAC n (..ACT,B)
.IF0n@ ..ACT,<
SETCn`M .SAC,B
JXoN (.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@ E`<
..TSIZ F(..PST,C)
.CASF E ..PST,<<
MOVF@E A,B>,<
HRRF`Z A,B>,<
HLRGZ A,B>,<
LDBG A,[POINT WID(<G@C>),B,POS(<C>)]>>B,POS(<C>)]:dHR H`b
..TSIZ I(..PST,C)
.CASI E ..PST,<<
MOVI@E A,B>,<
HRRI`E A,B>,<
HLRJE A,B>,<
JSPJ .SAC,[LDB A,[POJ@INT WID(<C>),B,J`POS(<C>)]
K..MSK==MASK.(WID(K C),35)
TXNK@E A,LFTBT.(..MSKK`)
TXO A,^L-..MSK
PURL GE ..MSK
JRST (.SAC)]>> JR:}i1 p
A==<<<p(-<B>>&<B>>&<1B<^L<B>>>>>&<1B<:~yx ]-nIFE 10-8, ] <.%AC!<B>>+ ]@ IFE 10-^D]`10,<.$AC!<B>>0,<.$AC!<B>>;@ ;9 $D
.POPX;LH y(Z
IFNDEF yHC,<PRINTX ?C ISyh NOT DEFINED
zA (<B>,<D>,.FWz(ORD)>
IFDEF CzH,<
IFNDEF %C,<zh
A (<B>,<D{>,C)>
IFDEF %{(C,<
%C (A,<B>,<D>,C)>>;LH {h
..NS==0|
IRP C,<..N|(S=..NS+1>
IFE |H..NS,<PRINTX ?EMP|hTY STRUCTURE LIST}, A>
IFE ..NS-}(1,<
..STR0 }H(A,<B>,<C>,<D}h>)>
IFG ..NS-1,~<
..ICNS
~( ..CNS (<E (A,<~HB>,,>)
IRP C~h,<
IFNDEF C,<PRINTX C NOT (DEFINED>
IFDEHF C,<
IFNDEFh %C,<
..CNS (<,C,D>)>
(IFDEF %C,<
%HC (..STR2,,<D>,hC)>
..CNS (<)>)
..GCNS(
..ICNS
H ..CNS (<E (Ah,<B>>)
IFNDEF %C,<
..CN(S (<,C,D>)>
H IFDEF %C,<
h %C (..STR2,,<D>,C)>>>
..CNS( (<,,)>)
..GCNS>)>)
..GC;LI h
..CNS (<,C,B>).CNS (;LI (4
IFDIF <HD><F>,<
IFNhB <D>,<
A (<B>,D,..MSK) (
IFNB <F>,H<PRINTX C AND Eh ARE IN DIFFERENT WORDS>>
..MS(K==0>
IFNB <HF>,<
..MSK=..MSK!<E>>MSK=..;LJ D
IFDIF <(D><F>,<
IFHNB <D>,<
hA (<B>,D,..MSK)>
..MSK==0> (
IFNB <F>,<
H ..MSK=..MSK!<E>>MSK=..MSK!<;LJ Z
IFDIF < (D><F>,<
IF HNB <D>,<
I hFNB <F>,<
A1 (B,D,..MSK)>
(
IFB <F>,
H<
A2 (B,D
h,..MSK)>>
..MSK==0>
IFNB (<F>,<
..MSK=..MSK!<E>>MSK=;hU ^
SYN END@BK.,a
.PSHX <
SYN a,ENDBK.> SYN a,ENDBK.>;i F$B
SYN ELSF E.,a
SYN ENDIFF@.,b
SYN ..TAGFF`,c
SYN ..TAGE,Gd
.PSHX <
G SYN a,ELSE.
G@SYN b,ENDIF.
G` SYN c,..TAGF
H SYN d,..TAGE>
..INDF
NDF
;k !
SYN OD.@,a
SYN LOOP.,`b
SYN TOP.,c
SYN EXIT.,d
S YN ENDLP.,e
.P@SHX <
SYN a,O`D.
SYN b,LOOP.
SYN c,TOP.
SYN d,EXIT.
@ SYN e,ENDLP.> SYN e,ENDLP.>;$r #l....U2;$s #j....U~.;&` W`N
..TSIZ X(..PST,C)
.IF0X ..PST,<
SETX@CMM B>,<
Y..X`TSAC (..ACT,B)
Y .IF0 ..ACT,<
MOVX .SAC,C
Y@ XORM .SAC,B>,<Y`
..TX(C,B,C)>>..TX(C,B,C);&` T 4
..TSIZ T@(..PST,C)
.CAST`E ..PST,<<
SETUOM B>,<
HLLOSU B>,<
HRROS U@B>,<
..TSAC (U`..ACT,B)
.IFV0 ..ACT,<
MOVXV .SAC,C
IORM V@.SAC,B>,<
..TX (O,B,C)>>>T;&@ P@
..TSIZ P`(..PST,C)
.CAQSE ..PST,<<
SEQ TZM B>,<
HLLQ@ZS B>,<
HRRZQ`S B>,<
..TSRAC (..ACT,B)
R .IF0 ..ACT,<
R@ MOVX .SAC,C
R` ANDCAM .SAC,B>,S<
..TX (Z,B,C)>>>TX (Z,B,;&81 l(l
A==0 lH
..TSA1==<Z Blh>
.IF ..TSA1,mABSOLUTE,<
Im(FE ..TSA1&^O77777mH7777760,<A==1>>
60,<A==1>> ;&:= jh^
A==3 k
IFE <B>+1,<k(A=0>
IFE <B>-kH^O777777,<A==1> kh
IFE <B>-^O777777B17,<A==2>7;&;Q n|
A==0 n(
..TSA1==0
nH IRPC C,<
..nhTSA1=..TSA1+1
oo IFE ..TSA1-B,<
IFIDN <C><oHD>,<
A==1>
;'STOPI>>
..TX13h==C
4(.IFN 4..TX1,ABSOLUTE,<
TDA B,[C]>
4H .IF ..TX1,ABSO5LUTE,<
..TX2=4h=0
IFE <..TX15(&^O777777B17>,<
5H ..TX2==1
5h TRA B,..TX1>
6 IFE ..TX2,<
6(IFE <..TX1&^O77776H77>,<
..TX2==6h1
TLA B,(7..TX1)>>
IFE ..7(TX2,<
IFE <7H<..TX1>B53-^O77777h77>,<
..TX@3 (A,B)>>
IF@(E ..TX2,<
I@HFE <..TX1+1>,<
@h ..TX4 (A,BA)>>
IFE ..TX2,<A(
TDA B,[..TX1]>
>,[.;'` Ah
IFIDN <BA><Z>,<
..B(TX2==1
ANDI BHB,^-..TX1>
IFIBhDN <A><O>,<
C ..TX2==1
CHORC(CMI B,^-..TX1>
IFIDN <A><C>,<Ch
..TX2==1
D EQVI B,^-..TX1>QVI B,^-..TX;' DH.
IFIDN <DhA><NN>,<
..TEX2==1
CAIN BE(,0>
IFIDN <AEH><NE>,<
..TX2Eh==1
CAIE B,0>
CAIE B,0;' J
..TSAC @(..ACT,B)
.IF`0 ..ACT,<
PRIN TX ?TQA - B NOT IN AC>,<
TXA B,C>
TXA;'R u`B
..TSAC v(..ACT,B)
.IFv 0 ..ACT,<
..Jv@X1==C
.IF0 <w..JX1-1B0>,<
Sv`KIPGE B>,<
w .IF0 <..JX1+1>,<w@
SKIPE B>,<
w` MOVE .SAC,B
x TXNE .SAC,C>>>,x <
TXNE B,C>
TXNE B,C>;'W y@ >
..TSAC y`(..ACT,B)
.IFz0 ..ACT,<
..Jz X1==C
.IF0 <@..JX1-1B0>,<
S`KIPL B>,<
.IF0 <..JX1+1>,<
SKIPN B>,<
@ MOVE .SAC,B
`TXNN .SAC,C>>>,<
TXNN B,C>
`P P P 0P d (
.ACV2 (A)
.ACV2 (d@ P(7
IFDEFp A,<.IF A,SYMBOL,<PRINTX ACVAR 0A ALREADY DEFINEDP>>
A==.FPAC+..pNAC
$A==A
IFB <B>,<..NAC0=..NAC+1>
IFNB P<B>,<
...X==Bp
IF2,<.IFN ...X,ABSOLUTE,<PRINTX0 ?ACVAR A, B isP not absolute>>
p ..NAC=..NAC+...X>NAC=..NAC+...Xd` 0(G
IFG A-P.NPAC,<PRINTX ?TOpO MANY ACS USED>
IFLE A-4,<
0 JSP .A16,.SAVA>P
IFG A-4,<
p JSP .A16,.SAV8>JSP .A16,.SAV8>):A ):9:A 9:
d; .+.
IFIDN. <A><.>,<
XMO.@VEI .A16,B
P.`USH P,.A16>
I/FDIF <A><.>,<
/ .IFATM <A>,.BL/@F4
.BLF1==0 /`
IFN .BLF4,<0
.IF %A,0 MACRO,<
.BLF10@==1>
IFNB 0`<B>,<
.BLF1==11>
IFN .BL1 F1,<
LOAD .A1@16,A,B
PUSH 1`P,.A16>>
IFE 2.BLF1,< ;IF WASN2 'T A STRUCTURE RE2@F,
IFN .BLF2`4,<
.BLF32==<<Z A>&17B17>3 -<P>B17
3@.IF .BLF2,ABSOLUT3`E,<
IFE4 .BLF2,<
4 .BLF1==1
4@ .BLF3==<Z 4`A>&777777
PUSH5 P,.BLF3-..NA(P)>5 >>>
IFE .BLF5@1,<
PUSH P,5`A>>
..NA=..NA+1
..NA=..N
d; -@*l
.BLCL1 A
.BLCL1
f=( *@*V
DEFINE *`A<-^OB(.FP)>
$A==<Z A>>
9 hhP
..CSN==iA
..CSC==0
Ii(RP B,<
IFE ..CiHSN-..CSC,<
STihOPI
..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 F{P S@P Z
XLIST(
LOC 0
COPYRTH A
.IFN .,hABSOLUTE,<PRINTX ?.CPYRT, COPYRIGH(T IS NOT ABSOLUTEH>
IFGE .-^Oh22,<PRINTX %COPYRIGHT DOESN'T FIT (IN SINGLE REL BLOHCK>
RELOC
LIST
SALL
LIS,<H ] r
..PST==]@C&<-C>
.IF0 .]`.PST-1,<
SOS ^B>,<
MOVX .SA^ C,-..PST
ADDM .SAC,B> ADDMtH 0(M
IRP A, P<
.ENAV2 (A)> .ENAV2 (A)tI
(Q
.ENAV3 (A)
.ENAV3 tI
P(U
PURGE A,A
PURGE t,h + *\
IRP A,+@<
DEFINE A<....U>>FINE A<.v=H q'
IRP A,q <
.ENSV2 (A)> .ENSV2 (A)v=I q`'
.ENSV3 (A)
.ENSV3 v=I r '
DEFINE A<....U>EFINE vI9A vI9~+H $("
A (\..FORN)
A (\..~. ,
A BP `P \Q X=|RQ &2 gHB
..IFT==ghA
IFE ..IFT,h<
B
..IFT==0h(>
IFN ..IFT,<
C>N ..IFT,<&4 6 +F
IRPC A6@,<
B==0
IFGE6` "A"-"A",<IFLE "7A"-"Z",<B=1>>
IFGE "A"-"0",<7@IFLE "A"-"9",<B7`=1>>
IFE "A"-"8%",<B=1>
IFE "8 A"-"$",<B=1>
8@IFE "A"-".",<B=8`1>
IFE B,<STOPI>>IFE B,<STOP&t<H [`
..PST==[ C&<-C>
.IF0 [@..PST-1,<
AOS [`B>,<
MOVX .S\AC,..PST
ADDM .SAC,B> ADDM&tj7Q ?2DQ x6i2P u6k0P 6k4P 6mtP 6MiTQ @;`P ?= _@
..TSIZ _`(..PST,C)
.IF0` ..PST,<
A B` >,<
..LDB .SA`@C,B,C
A .SAC>C
A .S?= a`
..TSIZ b(..PST,C)
.IF0b ..PST,<
A Bb@>,<
..LDB .SAb`C,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~ K$X
.PSHX1 (.POPX2).PSHX1 B~ K@$\
.POPX4 A
.POPX4 B~ L@$j
A
L`DEFINE .PSHX1 (WCMH,STUFF)<
WCH (M <<STUFF>,<B>>)><STUFF>,<B>>)>B~
L$`
.POPX3 B
.POPX3 C I$H
.PSHX1 (.PSHX2,<A>)1 C I@$L
A (<B>)
A (<BC J$T
DEFINJ E .PSHX1 (WCH,STUJ@FF)<
WCH (<<STUFF>,<A>>)><STUJDP'K%,z !
<<<A>&<B!(>>B<^D70-POS(<B>)>>D70-POS(<B>K%\u B`$
<IFE <<FCILIN.(<A>)&<^-AC >>>,<A>>!<IFN <<C@FILIN.(<A>)&<^-C`A>
>><<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 k`&^
.STKV2 (A)
.STKV2 O%=I l &v
IFB <Bl@>,<..STKN==..STKNl`+1>
IFNB <B>,<m
...X==B
IF2m ,<.IFN ...X,ABSOLm@UTE,<PRINTX ?STKVm`AR A, B is not nabsolute>>
..STn KN==..STKN+...X>
..STKQ==..STKN+n`1
.STKV3 (A,\..STKQ)V3 (A,\.O%=I o '
IFDEFo@ A,<.IF A,SYMBOo`L,<PRINTX STKVAR pA ALREADY DEFINEp D>>
DEFINE A<-p@^OB(P)>
$A==<Z A>>
$A==<Sd u`'.
.TRV2 (A)
.TRV2 (Sd@ v 'B
.TRV3 (v@A,\..NV)
IFB v`<B>,<..NV=..NV+1w>
IFNB <B>,<
w ...X==B
IF2,<w@.IFN ...X,ABSOLUTw`E,<PRINTX ?TRVAR xA, B is not absx olute>>
..NV=..NV+...X>..NV=..Sd` x`'P
IFDEFy A,<.IF A,SYMBOy L,<PRINTX TRVAR y@A ALREADY DEFINEDy`>>
DEFINE A<^OzB(.FP)>
$A==<Z A>>
$A==<b\| h
.XCREF
.XCRF1 <..ACT,.H.CSC,..CSN,..IFT,h..JX1,..MSK,..MX1,..MX2>
.XCRF1 (<..NAC,..NRGS,..NHS,..NV,..PST,..SThKN,..STKQ,..STKR>
.XCRF1 <..TRR,(..TSA1,..TX1,..TXH2,.FP,.FPAC,.NAC,h.SAC,.SAV1>
.XCRF1 <.SAV2,.SAV3,(POINTR,POS,WID,..HCAS1,..CNS,..CNS2h>
.XCRF1 <..DPB,..GNCS,..ICNS,..(JE,..LDB,..STR0,.H.STR1,..STR2>
.hXCRF1 <..STR4,..TQO,..TQZ,..TSAC,.(.TSIZ,..TX,..TY,.HACV1,.ACV2>
.XChRF1 <.ACV3,.CASE,.DECR0,.IF0,.INCR(0,.OPST1,.OPST2,.HSTKV1>
.XCRF1 <h.STKV2,.STKV3,.TRV1,.TRV2,.TRV3>
.CREF
3>
b)H Hn
IRP A,h<
IFDEF A,< .XCREF A>>A,< .cJyA cJycJyA cJyc&,ZA c&,Zc&,zA c&,z>}{woP