x,5 @P C tP C v*7P C v*7P C v:7P C v:7P C v;zP CQ CV<  ps IF2,> I PFGE B, IF0L B, ,[-C2P CJ<Q CJ==rQ `CJ>N8Q CZ P DG<, Q bE0um6P E0w)9P E2]`P E2^>@Q E2u0Q EC8Q EV4Q @EV4=Q EV5P Eg%`P G Q G tI;P G tkyP G uJ9P G" `P G;D Q G;D@Q @G; P H@ H Q H@Q @H P"HL@P#~H-h`P H-iQ H-z Q H-|@P HM`Q HMmQ HMpP He@Q @He}:Q Hf9P HmyQ Ht;P$Hu[P H~ 7Q H~]Q H@Q H+@Q HyQ HQ HP!HHyP @H&+QQ H-i@Q H>-Q @IP I4.: v f IFG v@<$P+^D<B>-^D35>,v`< $P==-1 $LOCw==$LOC+1 > $w P==$P+^D<B> ;Fiw@nd end position iw`n word DFN (xA,$LOC) ;Plain Ax is offset %A=x@=$P ;RH (%NAME) =x` rightmost bit y %%DONE==0 Iy FE <B - ^D18>,< y@;Halfword IFE <y`$P - ^D35>,< ;Rigzht halfword z A==A+1B0 %%Dz@ONE==1 > IFE z`<$P - ^D17>,< ;Le{ft halfword { A==A+1B1 %%D{@ONE==1 > > {` IFE %%DONE,< |;Not a halfword | A==A+1B2 |@ %A==%A+ <<B>_|`^D30> ;Byte size in LH > ze I6;W } r DFN }@A,B ;Check for n}`ame conflict ~ ; and define it ~ the same %A==%B  %A==%I6= r0 $LOC==0 $P==-1 ==0I6N p/ IRP A,< IRP B,< 0 DEFINE TXAB (APC,E) < IFE <p&777777000000>, ;0> IFE <&00P0000777777>,  TDAB AC,[E] 0 > ;END TXYZ P > ;END IRP B p > ;END IRP A > ;END IRP A I6y t0.0X IFGE $t`P,< $P==-1 $LuOC==$LOC+1 ;Jump u to next word > u@ DFN (A,$LOC)u` %A==^D35 $LOC==$LOC+B 1B IpQ I0P Ip rp IF1,<s IFDEF A, PRINs0TX ?A ALREADY DEsPFINED >;END IF1 A==B I5 `I5  I5M `I$tLuP I$uZP I$u]P I$u}P I$vMP I'Q I2-`P %I6|@P I6|I Q I8rHP I8r$P I8rU+P I8rdJP I8sP I8tI3P I8v>9P I?,+  _ IJ&i@Q ILtI6P ILt^P ILuJ9P ILv QP ILv WP ILv2P ILv)7P ILv8;P ILv=1P IN.NV >0s SETZM A SETZM 1+AIZL9 P I['Q K:$P K>5`P KJ$BP KJthbP KK Pps IFN FQTSHR,< IFN $NAQ0ME$-'ERR',< ;SHQPARABLE FOROTS IN QpWRONG PSECT PUSRHJ P,E..A XLISR0T .PSECT F.ERR RP > ;END IFN NAMRpE-ERR IFE $NSAME$-'ERR',< ;SS0HARABLE BUT CORRESPCT PSECT PUSHJ SpP,[ > ;END IFET NAME-ERR > ;ENT0D IFN FTSHR ITPFE FTSHR,< ;NOTpNSHARABLE IS ALWAUYS CORRECT PUSHU0J P, [ > ;END IUPFE FTSHR E..AUp:: ;DEFINE THEV ERROR IF2,V0> ;AVpRG STACK IFNB <WD>,< MOVEI T0,%W0ERARG-1 ;STACK IFWP ANY IRP D,< Wp IFE <<_X-^D18>-P>,< PUSH X0T0,-1+D > ;FIXUPXP FOR STKVAR IXpFN <<_-^D18Y>-P>,< PUSH T0,DY0 > >; END IYPRP > ;END IFNB Yp IF2,> PUSHJ P,ZP%FORER ;ERROR CZpALL BYTE (7)"[B"(19)0 ;'ERROR[0 ARG BLOCK' XW[PD 'A',0 ASCIZ[p \C\ IFE F\TSHR,< ] > ;FIN\0ISH LITERAL I\PFN FTSHR,< IFN\p $NAME$-'ERR',< ] .ENDPS LIST ]0 > ;END IFN NAME-]PERR IFE $NAM]pE$-'ERR',< ] > ;^FINISH FOR OTHER ^0CASES > ;END IFN FTSHR END IFKKP KK`P KO P Kc P L@ L IQ LH P!LL`Q LMQ L$= Q L%6Q @L&) Q L&<`P$L&=Q L&LQ L.,@Q L.LQ L/ Q L6<`P"L>LQ LMiP LdzQ LuXQ LuwP @L @Q L]`Q L\Q @LD:Q @M e0P M&dPP M&eD Q M&eD@Q #M&eD`Q $M2 |`P M2  Cp<A>B<A>B IF2P0,< SEARCH MONSYMp,MACSYM EXTERN .JBAPR,.JBDDT,.JB0FF,.JBHGH,.JBHRL,P.JBHSA,.JBHSM,.JBpOPS EXTERN .JBOVL,.JBPFH,.JBREL,0.JBSA,.JBSYM,.JBTPPC,.JBVER EXTERpN .JBHDA,.JBHRN,.JBREN > ;END IF200 .DIRECT FLBLST DIRECT FLBMQ Q MQxXP MQP MQ :P MR=Q MR&:`P MR> .ARGN.=0 A0IRP B,<.ARGN.=.AAPRGN.+1> PUSH P,ApL XMOVEI L,1+[-B.ARGN.,,0 B0 IRP B,<B>] PBPUSHJ P,A POP PBp,L PURGE .ARGN.  PURGE .ARGN.NDP NHP NLP NPP OI  @O @ @O&` `OO OO @ @OfL@ On @O  `O0  O>|H\ Gp? POPJ P,  POPJ P,ONt{  Qf@ +QeK` D0; IFNB <DPB>,< IFDIF <BDp><.>,< ENTRY AE SIXBIT /B/ E0A: > ;END IFDIEPF IFIDN <B>Ep<.>,< ENTRY A.F SIXBIT /A./ F0A.: > ;END IFFPIDN > ;END IFNBFp IFB <B>,< G ENTRY A SIXBIG0T /A/ A: > ;END IFB  > ;Qb`  D IFNB @<C>,< PRINTX ?HX`L used with more than 2 args - A, B > %%BTS==@<B> & 7B2 %%ID`X==<<B>_-^D18> & 77 ;Get index fi eld if any %%LF@T==<B> & ^O77777`7 IFE <%%IDX>,<PRINTX %Index is  zero for HXL A,@B > IFE <%%B`TS & 3B1>,< PRINTX ?HXL ERROR -  B > IFN <%@%BTS & 1B0>,< H`RL A,%%LFT(%%IDX) > IFN <%% BTS & 1B1>,< HL@L A,%%LFT(%%IDX) > T(%%IDX)Qc r IFNB  <C>,< PRINTX ?HX@R used with more `than 2 args - A, B > %%BTS== <B> & 7B2 %%ID@X==<<B>_-^D18> &` 77 ;Get index field if any %%LF T==<B> & ^O77777@7 IFE <%%IDX>,<`PRINTX %Index is zero for HXR A, B > IFE <%%B@TS & 3B1>,< PRI`NTX ?HXR ERROR - B > IFN <% %BTS & 1B0>,< H@RR A,%%LFT(%%IDX`) > IFN <%%BTS & 1B1>,< HL R A,%%LFT(%%IDX) > T(%%IDX)QcP  @ IFNB  `<C>,< PRINTX ?HXRE used with more than 2 args - A@, B > %%BTS=`=<B> & 7B2 %%IDX==<<B>_-^D18>  & 77 ;Get index f@ield if any %%L`FT==<B> & ^O777777 IFE <%%IDX>, IFE <%%BTS & 3B1>,< P RINTX ?HXRE ERROR@ - B > IFN` <%%BTS & 1B0>,<  HRRE A,%%LFT(% %IDX) > IFN@ <%%BTS & 1B1>,< ` HLRE A,%%LFT(%%IDX) > T(%R5]P RX`P RXhP @R$:P R-j P S  P "S @Q #Sv@P #S  FIFN FT10S HIFN FT20SNp @S,t[RP S,t\YP S,tk9P S,tk:P S,u pP S,u vP S,uwP S,uyP S,u]P S,uk6P S,v)1P S,v[TP S:'Q S<Q S>.,@ aPa08 IFN FbTSHR,< IFN $NAb0ME$-'ERR',< PUSbPHJ P,E..A XLISbpT .PSECT F.ERR c > ;END IFN NAMc0E-ERR IFE $NcPAME$-'ERR',< PUcpSHJ P,[ > ;ENDd IFE NAME-ERR >d0 ;END IFN FTSHR dP IFE FTSHR,< dpPUSHJ P, [ > ;EeND IFE FTSHR Ee0..A:: IFG <ePC>, ;DEFINE ERROR NfUMBER ;(LIf0NK CATCHES MULT DfPEF ERROR NUMBERS)fp IF2,> IFNB gP<F>,< MOVEI T0,%gpERARG-1 IRP Fh,< PUSH T0,F > h0 >; END IFNB IhPF2,>i PUSHJ P,%IOERi0R BYTE (7)"D"iP(10)^DB,^DC(9)ipG XWD 'A',0 j ASCIZ \E\ j0 IFE FTSHR,< ]jP > IFN FTSHR,< jp IFN $NAME$-'ERkR',< .ENDPS Lk0IST > ; END IFkPN NAME-ERR IkpFE $NAME$-'ERR',<l ] > > ;END IFN FTSHR END IF0OCJ==r10,O,C|0 IRP BS?P S?X@P SC& P #SJK@P SJY@P SJmP SJd[@P SKL@P X@ YtYP YtI1P YuVP YukwP Y `Q Y  lP .ARGNlp.==0 IRP D,<.AmRGN.==.ARGN.+1> m0 PUSHJ P, [ mPIFNB <E>,< PUSH mpP,[-1,,E] > nIRP D,< PUSH P,n0D > PUSH P,nP[.ARGN.] PUSHnpJ P,FORER.## oBYTE (7)"B"(19)0o0 ;'ERROR ARG BLOoPCK' XWD 'A',op0 ASCIZ \C\ p ] PURGE .ARGN.  PURGE .AYePQ Y&hQ Y.P Y/ P Y2-`P Y> @ ~`. IFNB <C>,< PRINTX ?LOAD used with more t@han 2 args - A, `B > %%BTS==<B> & 7B2 %%IDX ==<<B>_-^D18> & @^O77 ;Get index f`ield if any %%LFT==<B> & ^O7777 77 IFE <%%IDX>,@ IFE %% BTS,< MOVE A,@B > IFN <%%B`TS & 1B0>,< HRRZ A,%%LFT(%%IDX) > IFN <%%B@TS & 1B1>,< HLR`Z A,%%LFT(%%IDX) > IFN <%%B TS & 1B2>,< %%%@S==<%B>_-^D30 ;S`ize of field %%%P==<%B> & ^O77  ;"P" LDB A,[PO@INT %%%S,%%LFT(%%`IDX),%%%P] > X),%%%P] > YB%@P @YJ,8SP YNv[ P [DSP @[F[TP 1[tqP [tvP [t*7P [tK8P [tXQP [u3P [&v[TQ |[>$PQ [?7 PI IFE <<0B>&777777000000>,p ;> IFE <<B>&0000000777777>, IFE <<pB>_-22 - 777777>,&0777777> ;> IFE <P<B>&777777-77777p7>,_-22> ;> MOVE A,[B]  MOV] ,`P ]?(Q @]J,0P _  P $_ @Q $_v@P %_,tqP _,t{P _,t)QP _,t+P _,t+P _,t8`P _,tI7P _,tI;P _,tJ0P _,tJ9P _,tJ9P _,t\YP _,tj6P _,tkP _,tkyP _,uwP _,uyP _,uHVP _,uJ6P _,u[ZP _,u[rP _,v2P _,v9P _,v WP _,v)1P _,v)2P _,v+`P _,v-P _,v=P _,vH8P _,v[TP _,vi9P _C& P $_JK@P _JY@P _JmP _Jd[@P _K|`P _KL@P `@ `D@ `H@ `L@ `P@ a$:Q aQ a+= 5a2-`P a>Mm C0POINT WID(B),A,POS(B)(aBpP aHt]RP aHuyP aJ~@P aRD P aRFP c}Q @cv@Q c;}Q dU >pw ?p$SEG$==1 .PSECT@ F.AB $NAME$=='A' $NAME$=g'PP gB`P gPtJ9P gPui;P gPu{P gPv8yP gPv[UP gR-P ?gR@Q gR\I3 =poDEFINE A <-B(P)>INE A gR^h9 Pk .L==0 p IRP A,<.L==.L+1> ;COUNT ARGS 0.N==0 IRP A,P< IFNB <A>,< p STKDEF (A,\<.L-.N-1>) ;DEFINE0 NAMED ARG > ;PEND IFNB .N==.pN+1 > ;END IRP  ADJSP P,.L ;0ALLOCATE STACK SPPACE DEFINE UNST= ;DEFINE DEALLOCA=0TOR PURGE .N OR PURGE .N gR~)   h IFNB <@C>,  %%BTS==<B> &@ 7B2 %%IDX==<<`B>_-^D18> & 77 ;Get index field if any %%LFT==<B@> & ^O777777 IF`E <%%IDX>,  @ IFE %%BTS,<  ` MOVEM A,B  > IFN <%%BTS &  1B0>,< HRRM A, @%%LFT(%%IDX) > ` IFN <%%BTS &  1B1>,< HRLM A, %%LFT(%%IDX) > @ IFN <%%BTS &  `1B2>,< %%%S==<% B>_-^D30 ;Size o f field %%%P==< @%B> & ^O77 ;"P"  ` DPB A,[POINT % %%S,%%LFT(%%IDX),%%%P] > X),h@@ hD@ hH@ hL@ hP@ hT@ iPQ i4tYP i4tK8P i4uRP i4v>9P i@,:P i@,<P i@,LP i@,LP i@,LP i@,LP i@-ZP i@-HVP i@-J:P i@-KsP i@.<P i@.<P i@.YP iB y P iSNpQ iX H0 TITLEHP A B FSRCH Hp VMAJOR==>> %VWHO==0 IP IRPC B,< Ip IFLE <"B"-"A">J*<"B"-"Z">, Jp IFLE <"B"-"K0">*<"B"-"9">, Kp IFIDN <B><(>,L<%VMAJOR==VMAJOR L0 VMAJOR==0> LP IFIDN <B><)>,<LpVEDIT==VMAJOR MVMAJOR==%VMAJOR> M0 IFIDN <B><-MP>,<%VMAJOR==VMAJOMpR VMAJOR==0 N %VWHO==-1> > ;N0END IRPC IFN NP%VWHO, DEFIO0NE VER < BYTE (OP3)VWHO(9)VMAJOR(6Op)VMINOR(18)VEDIT P > ;END VER P0PURGE %VMAJOR,%VWHO %VMAJOR,%VWib :pc IFE ;<<B>&77777700000;00>, ;;P> IFE <<B>&0;p00000777777>, <0 TDC A,[B] DC A,[B] ib 8pS IFE 9<<B>&77777700000900>, 9P;> IFE <<B>&9p000000777777>, :0 TDCA A,[B] CA A,[B] ibP 6pC IFE 7<<B>&77777700000700>, 7P;> IFE <<B>&7p000000777777>, 80 TDCE A,[B] CE A,[B] ib` 4p3 IFE 5<<B>&77777700000500>, 5P;> IFE <<B>&5p000000777777>, 60 TDCN A,[B] CN A,[B] ibp "p# IFE #<<B>&77777700000#00>, ;#P> IFE <<B>&0#p00000777777>, $0 TDN A,[B] DN A,[B] ibt  p IFE !<<B>&77777700000!00>, !P;> IFE <<B>&!p000000777777>, "0 TDNA A,[B] NA A,[B] ibtP p IFE <<B>&7777770000000>, P;> IFE <<B>&p000000777777>,  0 TDNE A,[B] NE A,[B] ibu` ps IFE <<B>&7777770000000>, P;> IFE <<B>&p000000777777>, 0 TDNN A,[B] NN A,[B] ibx 2p# IFE 3<<B>&77777700000300>, ;3P> IFE <<B>&03p00000777777>, 40 TDO A,[B] DO A,[B] ib| 0p IFE 1<<B>&77777700000100>, 1P;> IFE <<B>&1p000000777777>, 20 TDOA A,[B] OA A,[B] ib|P .p IFE /<<B>&77777700000/00>, /P;> IFE <<B>&/p000000777777>, 00 TDOE A,[B] OE A,[B] ib}` ,ps IFE -<<B>&77777700000-00>, -P;> IFE <<B>&-p000000777777>, .0 TDON A,[B] ON A,[B] icP *pc IFE +<<B>&77777700000+00>, ;+P> IFE <<B>&0+p00000777777>, ,0 TDZ A,[B] DZ A,[B] icT (pS IFE )<<B>&77777700000)00>, )P;> IFE <<B>&)p000000777777>, *0 TDZA A,[B] ZA A,[B] icTP &pC IFE '<<B>&77777700000'00>, 'P;> IFE <<B>&'p000000777777>, (0 TDZE A,[B] ZE A,[B] icU` $p3 IFE %<<B>&77777700000%00>, %P;> IFE <<B>&%p000000777777>, &0 TDZN A,[B] ZN A,[B] j@ k2-`P k;-PQ kNmP m`P m~+zP o& P ov@P oC& P oJt;ZP oNO P oR P q f@ q6|I Q q6~i4 C dHX xD HRLI x(A,(POINT 7,) ;AlwxHays assume local BP ume local  pP EXTERN ppE..A IFB <B>,<q PUSHJ P,E..A > q0 IFNB <B>,< PUSHqPJ P,[PUSH P,[-1,,qpB] JRST E..A] > JRST E.. Nu ^p IF2, PUSHJ `P,[PUSH P,[-1,,%H`0ALT] JRST E..SNH]  JRST E `P {P 0Q  d0P  4@P  e;@P  e<}P  ej`Q  pQ  ,h2P  ,hzQ ,jP  NK@P  Q  D@P  v;P  v; P  v@P  $(2P  -`Q  .`P  N<Q  d[@P  myP  myQ  MSQ  5rP  6N8Q  tH2P  |k@P  (2P  +@P  @P  F@P  J`P  MI P  MKQ @ MK Q  MK Q  dyP  ~+ Q  &8@P  &:=Q  &mP  &tNQ  &xQ  &~82P  &~=1P  'L@P  '+P  '-3P  ';ZP  'I7P  ' P  2@Q  2=K Q  2MPP  2\,P  2^@P  3m6P  6|I Q  :Y@P  :~PP  ;X`P  >8@P  >:=Q  >mP  ?L@P  ?+P  ?-3P  ?;ZP  ?I7P  ? yP  ? P  B HtQ  B Q  C`P  C}P  C%@P  C% P  F=zP  FmQ  Fv=zQ  J=P  J$]@P  J,9VQ  JxQ  KRP  K[P  NlP  Nl P  Nl P  Nl P  NO P  O@P  O$Q  R Q  SrP  S'`Q  Vd[@P  Vv[ P  W;ZP  Z.+@P  ^ L@P  ^mP  _L@P  _@P  _$@P  bmyQ EH1P F(1P S@P $hhP $hiP $hiP $khP $m(P $m)P %P %{P %LRP %LzP %m6P %y[P >}{woP