x ,5/@P BD@ BE@ BH@ BL@ BP@ BT@ BX@ B\@ C|i@P C}`P C}pP C&= eP./ SepETONE(STOPS,A);* (STOPS,A);*C;L`P CJ$X`A CJ$X`CK P CL '| $BTYPE==($AS $POP($TYPES,H$T) $DEFTF(\$T) $PUSH($AS,$T) E=@ SX% $PUSH($BEGIN,0) USH($BE2\)3P E2\[RP E2|:vA E2|:vEB @P EZP"G@A G@G"\YP G&` v@G' v G2H w G2~9  P05  IFB <APP>,< SETZ PpT, > IFNB <QA>,< MOVQ0EI T,A(REV) >QP PUSHJ SP,.CLOSE HJ SPG3 w@G>$P .? i%pG>n9P G>n PA G>n PG>vH1A G>vH1GJ,`P GJH v`GJ` wGW+A GW+I 9 P I H)T $ITEM==0h IFN $STOPPER, $ITEM==$ITEM!h$SBIT .A==$SBIT $SBIT==$SBIT_1>( IFN $KWSTST,<H$ITEM==$ITEM!KWSThST> IFN $SYMSTST,<$ITEM==$ITEM!SY(MSTST> IFN $DECSHPEC,<$ITEM==$ITEMh!DECSPEC> IFN $EXPCONT,<$ITEM==$I(TEM!EXPCONT> RHADIX 10 IFNB <Bh>,<$PRIOR==B> IFNB <C>,<$DC==C(> IFNB <D>,<$DIHSC==D> RADIX 8 h IFNB <E>,<$ITEM==$ITEM!E> $I(TEM==$ITEM!$DC!<$HPRIOR_4>!<$DISC_^hD8> EXTERN ZA INTERN L$A,R$(A L$A==$ITEM_H-^D18 R$A==$ITEM&777777A==$ITEIH9P I  X(  SOS A;*  SI<Q I4+w 80+Q DEFINE 8PA(BITS) < IF8pN $BTYPE-$AS,IFE $BTYPE-$AS9p,>OTO TRUI5hW :P+c DEFINE :pA(BITS) < IF;N $BTYPE-$AS,IFE $BTYPE-$AS<,>OTO TRUI696 PP- DEFINE PpASEL(SITE) < Q SELTH==ASELTHQ0 TDNE DELQP,STOPS;* QpGOTO .+4+SELTH;* R TEST(E,FL,ERRLR0);* PUSHJRP SP,.ERR;* ASRpELECT(SITE);* S GOTO .-4-SELTH;* > SELI6I9 j0.[ DEFINE jPA(REG) < Tjp.INIT(REG) k TLNE T.REGZ,B;k0* GOTO FALSE;* > FAI`P Id[ @p, IFN $BTAYPE-$AS,IFEAp $BTYPE-$AS,GOTO TRUE;* >Iei6 Bp,# IFN $BTCYPE-$AS,IFECp $BTYPE-$AS,GOTO TRUE;* >I0 )XR$A_-10&37R$A_-10&3I< {H'b $POP($TY{hPES,$T) $UNDEFTF|($FCNT) $PLAB(,\$T) $PUSH($DO,$T) $PUSH($DOIC.: p K2H w`K3P sH'0 $POP($TYshPES,$T); UNSTACK tLAST ITEM $JLAB(t(,\$T); GENERATtHE THE JUMP PAST TthHE ELSE PART $PUuSH($ELSE,$T); STAu(CK AWAY THE ELSE uHLABEL. $PLAB(uh,\$T); PLACE LABEvL FOR ELSE DESTINATION.  DESTINK6NHw R5 IFB <AR0>,< SETZIRP T2, > IFNBRp <A>,< MSOVE T2,A > S0 PUSHJ SP,.EMITCODE SP,.EK:$;r .A i`K:$@ _&6 $POP($TY_(PES,$T) IFE $TYP_HES-$LOC,< $.==$L_hCNT SUB S`P,[XWD $.,$.];* `(IFN $PLEVEL-PMAX,`H<; UPDATE DISPLAY`h $T==DBASE+$PLEVaEL-1 POP a(SP,$T;* > $POP(aH$TYPES,$T) > IFEah $TYPES-$REGIS,< b REPEAT $LRCNT,< b($T==RBASE-$T bH POP SP,$T;* bh$POP($TYPES,$T)>>c IFE $TYPES-$NEWc(,< POP SPcH,LCOMPNAME;* ch POP SP,LLEXEXd;* $POP($TYPES,$d(T) > IFN $$SP,<dH $EXAMINE($TYPESdh,$T) IFE $TYPES-e$PROC,< Pe(OPJ SP,0;* $POP(eH$TYPES,$RCNT) $PehOP($LCNT,$LRCNT) f $POP($NEWCT,$NEWf(CT) $PLEVEL==$PLfHEVEL-1 >> IFE $fh$SP,< $ENDALL >P,< $ENDALL >KK`P KK@P KK=Q KN-@ XP-U SELTH=Xp=ESELTH TYDNE DEL,STOPS;* Y0 GOTO .+4+SYPELTH;* TEST(E,YpFL,ERRL);* Z PUSHJ SP,.ERR;*Z0 ESELECT(A);*ZP GOTO .-4-SELTH;* .-4KN-I1 LP,m LLpDB T,DCBYTE;* M PUSHJ SP,@ETM0ABLE(T);* MP NOOP .ESEL!A;* P .ESEL!A;* KN-MP Kc;wQ @Kc+q 5X#52 %EXPROC(5x<A,B,C,D,E,6F,G,H,I,J,K,68L,M,N,O,P,Q6X,R,S,T,U,V,W,X,Y>) V,Kc[SQ aL:@ 6p3; H7LLZ A,LEXEX-B+S70YM;* TLZ A,$LEXSA;*  L:` 7p3A M8OVE A,LEXEX+1-B+SYM;* X+1-BL:%q 5P33 M5pOVE A,OP;* 6 ANDI A,$OPDSC60;* LSH A,-10;* LSH AL:exw 53) HRRZ A,B;* HL; 8P3I H8pLLZ A,LEXEX-B+S9YM;* TLZ A,$LEXBL;*  L;&(7 3p3% H4LRZ A,B;* 40 ANDI A,$TRANK4P;* LSH A,-14;* LSH AL;' 2p3 H3LRZ A,B;* 30 ANDI A,$TYPE;* I A,$TYPE;MM@ aP. PapUSHJ SP,.FAIL;* b RADIX 10;* XLIb0ST XWD <.bP.B>!<..C>,A;* bp LIST RADIX 8;*  RADIX 8;M\P :#Y2 %FAKE(<:8A,B,C,D,E,F,:XG,H,I,J,K,L:x,M,N,O,P,Q,;R,S,T,U,V,W,X,Y>) V,W,M {8A M {8M d^A M d^M 9A M 9M$: b06REOPEN(A)bP MOVE T2,bpA PUSHJ cSP,.FETCH MOVE A,T4  M$ vH'J $POP($TYvhPES,$T); UNSTACK wLAST ITEM IFE $Tw(YPES-$ELSE<; WE HwHAD AN ELSE PART wh$PLAB(,\$T); PxALE THE SKIP LABEx(L > IFE $TYPES-xH$THEN,<; WE ONLY xhHAD A THEN PART y$PLAB(,\$T); Py(LACE THE FALSE LABEL. >FALSE LAM'DY >3{ IFNB <>0A>,< MOVE>P T,A;* > IFN>pB <B>,< ?MOVE T1,B;* > ?0 PUSHJ SP,.ABSFIX;* SP,M'D ?p4  IFNB <@A>,< MOVE@0 T,A;* > IFN@PB <B>,< @pMOVE T1,B;* > A PUSHJ SP,.ADDFIX;* SP,M'F)6 ;P3m IFNB <;pA>,< MOVE< T,A;* > IFB<0 <B>,< P IFNB <B>,<= MOVE T1,=0B;* PUSH=PJ SP,.ADRFIX;* >P,.ADRFIX;* M'F\A M'F\M0P M:d]RA M:d]RM?X6 ]%t $T==$LCN](T+$LRCNT+$NEWCT ]HIFN <$PLEVEL-PMAX]h>*$LCNT,< ; ACCOU^NT FOR PUSHED DIS^(PLAY REG $T==$T+^H1 > $DEFST(A,\$T,\SP); (A,\M?x9 7#A2 %FORWARD78(<A,B,C,D,E,7XF,G,H,I,J,K7x,L,M,N,O,P,8Q,R,S,T,U,V,W,X,Y>) V,MN-I1 OP- LOpDB T,DCBYTE;* P PUSHJ SP,@FTABLE(T);* @FTO h)A==BVBIT  BVBIT==BVBIT_1 VBIT==BVBIT_1 O>d@P O?%p +QtKA QtKS p' $BTYPE==p($IF $LABCNT==$LApHBCNT+1 $PUSH($IFph,$LABCNT) $DEFTF(\$LABCNT)DEFTFS:  (  AOS A;*  AS:$^A S:$^U>M` H4I IFNB <H0A>,< MOVEHP T,A;* > Hp HLRZM T,CAX;* I PUSHJ SP,.RAFIX;*  SP,WA WW&eH< J04S SETOM CAX;*  SW_LzQ X iP X,PP X<`P XYtP X{vP XySP X{P %X{ P X{8P X{@P X%@P X%pP  X%}P X-LrP X-iP @X-y@P!X.P X.@P X/ P X5|@P X5|[P X=}P X>I P X>L@P XL`P XM\P XMmP XdRP Xd,PP Xd\ P XeRP XeySP Xe{@P Xe{SP Xf9P Xf<`P XmZP XtPP Xu}P X~ P X~{@P X 2P XM9P X}`P X+qP X,PP XX6P X[ P X9P X0P XH9P XI8P"XLTP Xz:P X% 7P DX%2P X-Z7P X-mP$X. P X4P X= 6P YA YYT Jp4[ MKOVEI T,A13+1;* K0 MOVEM T,LAC;* OVEM T,LACY)9 Lp4k MMOVE T,A;* M0 MOVEM T,LAC;* OVEM T,LAC;* Y8; Kp4c MLOVE T,LAC;* L0 MOVEM T,A;* MOVEM T,A;* Y}\A Y}\YD+A YD+YD^A YD^Y @ s@Y&` t Yn tY  s`Y&t[WA Y&t[WY'KwP Y2/ @ W05M IFNB <WPB>,< MOVEWpI T1,B > IXFB <A>,< X0 HRLI T1,_-22 >Xp IFNB <A>,< Y HRLI T1,_-22 YP > PUSHJ SP,.LOAD SHJY> H` \p5y IFNB <]B>,< MOVE]0I T1,B > I]PFB <A>,< ]p HRLI T1,_-22 ^0> IFNB <A>,< ^P HRLI T1,<^pSETCM 0,(A)>_-22_ > PUSHJ SP,.LOAD SY> K@ Z5c IFNB <Z0B>,< MOVEZPI T1,B > IZpFB <A>,< [ HRLI T1,_-22 >[P IFNB <A>,< [p HRLI T1,_-22 \0 > PUSHJ SP,.LOAD SHJY> ;X#e2 %LOCAL(<;xA,B,C,D,E,F<,G,H,I,J,K,<8L,M,N,O,P,Q,) V,WY>~ }h't $LABCNT=~=$LABCNT+1 $PLAB~((,\$LABCNT) $~HPUSH($LOOP,$LABCNT)($LOOP,$LABCNY?P YC.: p YN-@ [-i SELTH=[0=LSELTH T[PDNE DEL,STOPS;* [p GOTO .+4+S\ELTH;* TEST(E,\0FL,ERRL);* \P PUSHJ SP,.ERR;*\p LSELECT(A);*] GOTO .-4-SELTH;* .-4YN-I1 N,y LN0DB T,DCBYTE;* NP PUSHJ SP,@LTNpABLE(T);* O NOOP .LSEL!A;* P .LSEL!A;* YN-MP [:  :P3Y M:pOVE T,[A];* ; PUSHJ SP,.MABS;* J SP,.MAB[ K 9P3Q P9pUSHJ SP,.PCALL;* : NOOP A;*  NOOP A;*[> cP6! PcpUSHJ SP,.MOB;* d NOOP A;*  NOOP A;* [>&[ X(q Q.A==$Qx; EXTERNAL B.A; INTERNAL C.A,Q8.A; C.A: DEXFINE $BASE x %TITLE(A,ALGOL COMPILER MODUL8E A) ; SET UPX SOME CHECKS: x$CHKDEF() ;8 SET UP ASSEMBLY XTIME VARIABLES: x $ECNT==0 ; NUMBER OF MACRO ERR8ORS FOUND $LABCNXT==0 ; UNIQUE LAxBEL COUNTER $$SP==0 ; ASSEMBLY 8TIME STACK POINTEXR $$SPMAX==0 ; xRECORD OF MAX OF  $$SP $PLEVEL==0  8 ; DEPTH OF PROCE XDURE NESTING $AL xLOW==0 ; RECORD  OF WHICH CONSTRUC 8TS ARE ALLOWED  X ; COUNTERS USED  xFOR SPACE ALLOCAT ION: $NEWCT==0 8 ; LEFTOP REGIST XER $LCNT==0 ;  xLOCALS $LRCNT==0  ; REGISTERS LOC 8AL TO PROCEDURES  X $RCNT==0 ; REG xISTERS LOCAL TO C URRENT PROCEDURE  8 $MCNT==0 ; LOW X SEGMENT AREA FOR x OWNS AND NON STACK ; VERSION LOCALS SION ]I A ]I ]6I A ]6I ]I A ]I ]-@A ]-@]-I6 -mP @]>~ + ]?&= SP-+ IFN $BTSpYPE-$AS,< T TDNE DEL,STOPS;*T0 GOTO FALTPSE;* >IFE $BTYPTpE-$AS,< TUDNN DEL,STOPS;* U0 GOTO TRUE;* >GOTO TRUE;]?&KxQ `z]OMPA ]OMP_M0P _(,\$T) $PLAB(,\$T) $PLAB(_@A _@_RD[@P _^p I8$O $OWNN(<IXA,B,C,D,E,F,IxG,H,I,J,K,L>) I,J,K,La P a NI P a3-j` Sp5) IFB <AT>,< SETZIT0 T2, > IFNBTP <A>,< MTpOVE T2,A > U PUSHJ SP,.PLUNK HJ SP,.Pa3-jt UP57 IFB <AUp>,< SETZIV T2, > IFNBV0 <A>,< MVPOVE T2,A > Vp PUSHJ SP,.IPLUNK J SP,.Ia6P a?>$  ua?>$@ u a?>$` u@a?>% u`a?>%  vaJ,h1A aJ,h1aJ|92 O% $PLEVEL=O8=$PLEVEL+1 IFG $OXPLEVEL-PMAX,< $EOxRROR() > $PUSHPX($NEWCT,$NEWCT) Px$PUSH($LCNT,$LRCNQT) $PUSH($PROC,$Q8RCNT) $LRCNT==0 QX $LCNT==0 $RCNT=Qx=0 $NEWCT==0 RIFNDEF A,< DEFIR8NE A < RXPUSHJ SP,.A;* >Rx> .A:;* S INTERN .A;*  INTERN .aJ~:tA aJ~:td iP#22d,PP!d<`P dYtP d{vP" dySP d{P d{ P d{8P" d{@P d%@P Rd%pP d%}P ld-LrP d-iP d-y@P d.P#-Bd.@P#5d/ P d5|@P d5|[P Bd=}P d>I P!)Bd>L@P!#BdL`P dM\P!4"dMmP" ddRP cdd,PP `dd\ P!'BdeRP deySP de{@P de{SP!hdf9P adf<`P!!BdmZP JdtPP#/Bdu}P 1:d~ P#3*d~{@P !d 2P dM9P#Jd}`P Zd+qP!&d,PP dX6P" d[ P Rd9P d0P dH9P RdI8P dLTP" dz:P!Gd% 7P d%2P# Rd-Z7P Rd-mP d. P Rd4P dd= 6P eA ee 9 P e=z 8X#M2 %REGISTE8xR(<A,B,C,D,E9,F,G,H,I,J,98K,L,M,N,O,P,9XQ,R,S,T,U,V,W,X,Y>) Ve~ 7 NP4 IFB <ANp>,< SETZ OT, > IFNB <O0A>,< MOVOPEI T,A(REV) >Op PUSHJ SP,.REOPEN J SPeKx f0.5 MfPOVE STOPS,A;* E STOPS,A;* e0P e4\@ Mp4q MNOVNI REV,SYM;* NI REV,SYM;* e24M@ t`e268@ t@e6P f:@ /3 M/0OVE T,LEXEX;* /P TLZ T,$LEXBL/p;* OR T,0A;* MOVEM T,LEXEX;* EMf:` 0P3 M0pOVEM A,LEXEX+1;* A,LEXEX+1;*f; 103 M1POVE T,LEXEX;* 1p TLZ T,$LEXSA2;* OR T,20A;* MOVEM T,LEXEX;* EMg ( $POP($TY(PES,$T) $PLAB(,\$T) $UNDEFTF($TCNT)$UNDEFTF(g4\z dp.) MeOVEM STOPS,A;* M STOPS,A;* gl\Y c0.# PcPUSHJ SP,.SEMERR;*cp XLIST RADIX 10d;* XWD Bd0,A;* RADIX 8;* LIST IX 8;* g$` X( SETZM A;*  Sg%{R 50+3 $HALVE(5PB); IFN LH,< 5p TLO A,LH;6* >IFN RH,< 60 IORI A,RH;* >ORI A,RH;*g&= g.= Sg0AVESTOPS(A);* gP ADDSTOPS(B);* DSTOPS(Bg&@ ( SETOM A;*  Sg')9 6p+? $HALVE(7B); IFN LH,< 70 TLZ A,LH;7P* >IFN RH,< 7p ANDCMI A,RH;* >CMI A,RHg Lr Ip,O SETZERO(FL,A) TZEROg2F0 Up. IF DEL ]PEQ LEFT BRACKET ]p CAME DEL,Z^LBRA;* GO^0TO FALSE;* THE^PN BEGIN ^pSBRACK; N_OOP .SSEL; EN_0DD; FI; IF DE_PL EQ DOT _pCAME DEL,ZDOT;* ` GOTO FALSE`0;* THEN BE`PGIN SDOT; `p NOOP .SSEL;a ENDD; FI;  ENDD; FI; gBe F4= HF0RRZ T,RA;* FP HRL T,CAX;* Fp MOVEM T,A;*G HRLZI T,G0_-22;* GP PUSHJ SP,.MABS;* J SP,.MgN-@ V-A SELTH=V0=SSELTH TVPDNE DEL,STOPS;* Vp GOTO .+4+SWELTH;* TEST(E,W0FL,ERRL);* WP PUSHJ SP,.ERR;*Wp SSELECT(A);*X GOTO .-4-SELTH;* .-4gN-I1 J0,a TJPRNN FL,TRPOFF;* Jp PUSHJ SP,.KESBLK##;* K0 LDB T,DCBYTE;* KP PUSHJ SP,@KpSTABLE(T);* L NOOP .SSEL!A;* P .SSEL!A;gN-MP gRI6 IP4O HIpRLZI SYM,$STMT!A;* M,$STMT!AgR A gR gR~ `P gSyP gSI1P gSY  Ep,/ SETONE(FL,A) ETONE(gS: 6#0(SYM)gS: 6%1(SYM)gWwP gW rP gW |P gfhP gfn)9 Cp4- MDOVEM LOP,SYM;* D0 MOVE T,LLEXDPEX;* MOVEDpM T,LEXEX;* E MOVE T,LCOMPNAE0ME;* MOVEEPM T,COMPNAME;* T,COMPNAME;* gfn8; AP4 MApOVEM SYM,LOP;* B MOVE T,LEXEB0X;* MOVEMBP T,LLEXEX;* Bp MOVE T,COMPNAMCE;* MOVEMC0 T,LCOMPNAME;* ,LCOMPNAME;* gfn=Q hP h: 8` 00  T.INITP(A) TLNEp T.REGZ,$AMAC;*  GOTO FALSE;* OTO FALSEh: P P17 T.INIT(pA) TLNN T.REGZ,$ARR!$ARC;0* TLNN T.PREGZ,$DECL;* p GOTO FALSE;* GOTO FALSE;* h:*: xp/M T.INITy(A) TLNEy0 T.REGZ,$ARC;* yP GOTO FALSE;* OTO FALSE;h:,@ 0+ T.INIT(0A) TLNE PT.REGZ,$KIND;* p TLNE T.REGZ,$KIND-$ARR;* 0 GOTO FALSE;* GOTO FALSE;*h: rP/ T.INITrp(A) TLNEs T.REGZ,$TYPE-$B;s0* GOTO FALSE;* OTO FAh: l/ T.INITqP(A) TLNEqp T.REGZ,$TYPE-$C;r* GOTO FALSE;* OTO FAh:yr 01A T.INIT(PA) TLNN pT.REGZ,$SINGLE  GOTO FALSE  GOTO FALSE h:{Y P0 T.INITp(A) TLNE T.REGZ,$CONST;* 0 GOTO FALSE;* OTO FALSh:$Xv 01) T.INIT(PA) TLNN pT.REGZ,$DECL;$  GOTO FALSE;$ GOTO FALSE;h:/  l00 T.INIT(|PA) TLNE pT.REGZ,$KIND;*  TLNE T.REGZ0,$KIND-$EXP;* P GOTO FALSE;* GOTO FALSE;*h:5{@  p0 T.INIT(A) TLNE 0T.REGZ,000400;* P TLNN T.REGpZ,000100;*  GOTO FALSE;* 0 TLNE T.REGZP,000200;* p GOTO FALSE;* GOTO FALSE;* h:5|V p1 T.INIT(A) TLNE 0T.REGZ,000300 P TLNN T.REGZ,p000400 GOTO FALSE  GOh:5}@ 01 T.INIT(PA) TLNE pT.REGZ,000400;*  TLNN T.REG0Z,000200;* P GOTO FALSE;* p TLNE T.REGZ,000100;* 0 GOTO FALSE;* GOTO FALSE;* h:5}`  0k T.INIT( 0A) TLNE  PT.REGZ,$STATUS;*  p TLNE T.RE GZ,$STATUS-$FOW;* 0 GOTO FALSE;* GOTO FALh:H kp.s T.INITmp(A) TLNEn T.REGZ,$TYPE-$I;n0* GOTO FALSE;* OTO FAh:M[  p/u T.INIT~(A) TLNE~0 T.REGZ,$AM-$IMM;~P* GOTO FALSE;* OTO FAh:Mj: hP.O IFIDN <hp$BTYPE><$AS>,<$ERiROR TEST CANT BE i0USED IN AS> IFiPB <A>, IFNB <A>,<T.REGZ==A>  FALSE;* >IFE $>0BTYPE-$AS,P,T,A) GOTO TRUE;* >GOi@ 3p+' $HALVE(4C) IFN LH,< 40 TLNA B,LH4P;* >IFN RH,< 4p TRNA B,RH;* >NA B,RHi F0,= IFN $BTFPYPE-$AS,IFE G0$BTYPE-$AS,i"-` q(' $UNDEFTFqH($FCNT) $POP($TYqhPES,$T); UNSTACK rLAST ITEM $PLAB(r(,\$T); AND PLArHCE IT HERE $PUSHrh($THEN,$T); AND CsHANGE TYPE TO THEN. TYPE TO THEi#-j`A i#-j`i8th 'p2I T(LNE A,$AM-$ACC;*(0 GOTO TRU(PE;* TRNN (pA,777777;* ) GOTO FALSE;* GOTO FALSE;* i8tq )P2Q T)pLNN A,$AM-$ACC;** GOTO FALSE;* GOTO FALi8tT &p2; T'LNN A,$ARC;* '0 GOTO FALSE;* GOTO FALSE;*i8t  $P2) T$pLNN A,$TYPE-$B;*% GOTO FALSE;* GOTO FALi8u !P2 T!pLNN A,$TYPE-$I;*" GOTO FALSE;* GOTO FALi8u@ %P23 T.INIT(%pA) TLNN &T.REGZ,$TYPE-$L;*&0 GOTO FALSE;* GOTO FALi8uL@ #P2! T#pLNN A,$TYPE-$LR;$* GOTO FALSE;* GOTO FAi8u| ,p2m M-OVE T,OP;* -0 CAMN T,A;* -P GOTO FALSE;* GOTO FALSE;*i8v  "P2 T"pLNN A,$TYPE-$R;*# GOTO FALSE;* GOTO FALi8v:7 *P2Y T*pLNN A,$SINGLE;* + GOTO FALSE;* GOTO FALSi8vKx .2u T.0EST(N,STOPS,NOTTO.PP);* GOTO FALSE;* GOTOi8vj9 +P2c T.INIT(+pA) TLNN ,T.REGZ,777770;* ,0 JUMPN T.REGZ,FALSE;* REi:-@ ?, IFN $BT?0YPE-$AS,IFE $@BTYPE-$AS,GOi:<  H,K IFN $BTH0YPE-$AS,IFE I$BTYPE-$AS,i>@ _P6 IFE A-_p1, < PUSH`J SP,.TOCT1 >`0 IFE A-2, < `P PUSHJ SP,.T`pOCT2 > IFNB a<B>,< TLa0Z B,$AM aPTLO B,$CT ap HRR B,T2 > R B,T2 > iJd@P iJd P!iJeySP iJ}`P @iKySP o"MI  yh'X $BTYPE==z$WHILE $LABCNT==z($LABCNT+1 $PLAB(zH,\$LABCNT) $PzhUSH($WHILE,$LABCN{T) $DEFTF(\$LABCNT)DEFTF(\$LABCut@A ut@u() > CONSTR E9 >$ IF1,< IRP>8 A,< IFB <A>,>X IFNB <>xA>,< IFNDEF A,< ? $ERROR(< A HAS ?8NOT BEEN GIVEN A ?XVALUE >,) > IFD?xEF A,< $T== A&7@77777777760 IFN @8$T,< $ERROR(< A@X HAS AN INVALID VALUE >,) >>>>> }lzP   P  P  ,;P  , A ,k 0x#DEFINE A <-B(C)>  A ,lz 08#DEFINE A <@-B(C)> A ,m mH&| ; MACRO TmhO DEFINE THE TRUEn AND FALSE LABELSn( $TCNT==0 $FCNTnH==0 DEFINE TRUnhE < $AT;* $TCNTo==$TCNT+1 > o(DEFINE FALSE < $oHAF;* $FCNT==$FCNT+1 >CNT==$FCN -Lz B8$PURGE $SA PURGE $SA N8`P  xP  M`P$ f9 P  tH6 Bx$ $Q==$MCNCT; IF2,< $T==0 C8 REPEAT $$SPMAX,<CX$DELSTACK(\$T) $CxT==$T+1> > XLIST LIT LIST S tIP  +y 1x# IF1,< P2RINTX ******ERROR28 A ****** > $ECNT==$ECNT+1 E D4 *X"Y $GET(\$$*xSP) A==$ITEM_-^+D18 B==$ITEM&777777 =$ITEM&77 FwP HP  OP .@ )8"K $ITEM==$SA  $ITEM==$S " MR )()e LH==<Ax>_-^D18 RH==<A0>&777777 IFN LH*RH,<$ERROR(BOTH )HALVES OF IMMEDIAXTE ARE NON-ZERO) >E NON-ZERO) &%P &0P  &mPP &tH`P  'P '$[ Q C5 *d@ hh&L ; GENERAiTE A JUMP TO THEi( CREATED LABEL iH JRST $BA;*  JRST $BA; />=P 2/VP'~ 2/ pP  2|0P @ 2}iqP 2}|P  7pP" 7-M 2x#' DEFINE3 A(A,B,C,D,E,F,G38,H,I,J,K,L,A1,A2,3XA3,A4,A5,A6,A7,A83x,A9,B1,B2,B3,B4) 4 < %A() >1,B2,B3 :.pP! :/ P > P  >$;xP" >&+xP! ?LqP  ?LxP  ? TP x ?=k@ Gx$G IRP A,< H IFB <A>, IFNB <A>,< HXA==$MCNT+$BASE Hx$MCNT==$MCNT+1 >>NT==$MCNT+1 > B@P  BEP ~ B`P  Bd@ g(&B ; PLACE gHA CREATED LABEL ghFORMED BY CONCATEhNATING A AND BLAh(L $BA: ;* XALL BA: B~ -X"{; UNSTACK -xTWO HALF WORDS I.FE $$SP,<$ERROR(<.8STACK UNDERFLOW>).X> IFN $$SP,< $G.xET(\$$SP) A==$I/TEM_-^D18 B==$I/8TEM&777777 $$SP==$$SP-1 >$$SP= CZ 18#  PRINTX A B  PRINTX  CyP  Cx`P C`P C& P  C.: +X"i; PUSH TWO+x HALF WORDS ONTO ,THE STACK $$SP==,8$$SP+1 IFG $$SP-,X$$SPMAX,<$$SPMAX=,x=$$SP > $ITEM== -XWD A,B $PUT(\$$SP)  $PUT(\ C.@ )x"O $SA== $ITEM  $SA== $I C4P  JP  J,z9P J-@P  J-LP @ NP @ NP N-I@P N.,VP$ N.Hw A$ $T==1 IRA8P A,< IFB <A>AX, IFNB <AxA>,< $A==$T $T==$T_1 >>T $ NMivP OP O P  O$uP  O%\zP!r O%|P OM\zP PP" RD[@P  SUP 0 VtI3 j&h ; REMOVE j(TRUE AND FALSE DEjHFS. IFE A,<$ERRjhOR()k(> DEFINE TRUE<kH ERROR;* $ERROR(kh) > DEFINE FlHALSE< ERROR;* $ElhRROR() >XPRE ^EP  `P$ F W D8$/ IRP A,< DX IFB <A>, IFNB <A>,< E IFNDEF A,< DE8EFINE A < EX PUSHJ SP,.A;*Ex >> EXTERNAL .A; >>TERNAL .  9  T(%*$T==0 IRPTH A,< IFB <A>,<ThSTOPI> IFNB <A>U,< $DEFLC (A,\$U(T,\DBASE) $T==$T+1 >>) $T==$T ~-p F8$; IRP A,<FX IFB <A>, IFNB <A>G,< DEFINE A G8< PUSHJ SP,.A;* >>>J S 2|86 Uh%d IFN $PLEVVEL-PMAX,< $T==V(DBASE+$PLEVEL-1 VH> IFE $PLEVEL-PMVhAX,< ;ACCESS LOCAWLS BY STACK POINTW(ER $T==SP > IRWHP A,< IFB <A>Wh, IFNB <XA>,< $DEFLC(X(A,\$LCNT,\$T) $LXHCNT==$LCNT+1 >> Xh; END OF IRP IFGY $LCNT,< $PUSH($Y(LOC,0) IFN $PLEVYHEL-PMAX,< ; SAVE YhOLD DISPLAY Z PUSH SP,$T;* Z( HRLI $T,(SZHP);* > $.==$LCNZhT ADD SP,[[XWD $.,$.];* [( JUMPL SP,.+2[H;* JSR .S[hTOVERFLOW;* IFN \$PLEVEL-PMAX,< ; \(SET UP NEW DISPLA\HY HRR $T,SP;* >>HRR $T, J,z9 J8$i IRP A,JX< IFB <A>, IFNB <A>,<K A==RBASE-$RCNTK8 $PUSH($REGIS,$RKXCNT) PUSHKx SP,A;* $RCNT==L$RCNT+1 $LRCNT==L8$LRCNT+1 >> ; ENLXD OF IRP IFG $RCLxNT-RMAX,< $ERROR(M)> R VuR @ JUNIVERSAL `A - B, 1.2(310) , EUROPEAN SOFTWA RE ENGINEERING, SEP-74 ERING, S:$[P :4P @:6*2P :6h9P :DRP :N[`P 0:tI6P :v>6P ;yZP ; P }KwQ }PQ S@P ,}{woP