?C & ;  { ^^ [ CC S@`v @ †D" @@@BbB……S"BSG9@>9@@.>9@D9@D9%@J9@9@. ;@ ;@uL`;@{L}@kQp@.kQr@QL@ R`;@.kQrY@,@w.,@kQ@x@kЎHH.IHrHKHK` H K H.KHK%HKKHK[MHKQH}.KQH@KRHK RHKwHKyH.KzH@K[H K-HC`OHC`OH.C`OHC`OHC`OHC`OHC`OHl.9@.>9@@>9@D9@D9%@J9@.9@uL`;@{L}@iYy@d^@.C`""@C`O@C`O@C`O@C`O@.C`O@C`O@C`O@ Ba(D`h.q!`h{L}h R`;h4W+hXph.iYyhZdh/d@hz$w~hBa@(P.; 9h; P9hp>9@hp>9hpD9h.D9%hJ9hp9h>Ba( ;h. ;h W+@Xp@.iYy@Zd@d^@C`O@C`O@.C`O@C`O@C`O@C`O@C`O@.C`O@C`O@C`O@C`O@C`O@S.C`O@C`O@C`O@/d@@fZ@.p<@pp@Uq@Xq}@$w~@.|~K@*@(h g h ghhhzh`b.%@  @@. C`OC`OC`O!C`O)C`Oq.&`@%@@ @t@ @vD 3& C`O PsHnH=.sH(Ba(Ba(`hbf.q!`hd{L}hiYyh/d@hV$w~h|D.Ba@(; 9hR; Pk ht.kh|@h(hPt!h"!hc."Wh-`h8Zhd^hp9hN>9@hN>9hND9htD9%hH.J9hN9h Ba(Ba@(Ba(F.Ba( /d@@fZ@.p<@pp@Uq@$w~@|~K@.*@(8 g h ghh8zh0.@  @@`D D ^. C`OC`OC`O!C`O)C`Oq.&J J Y & C`OC`OC`O#C`O[.L   v .C`O C`OC`OC`O%C`Ow.r@@ @ @P @ 0c.C`OC`OC`O kQphkQrhQLhC`""h.Ba@(Ba( Ba(""`h8uL`;h.fZh0UqhN|~KhBaw(Bahx.qQW(Z&}h.~h t!@Qht!ph.&hhThXq}hyshX:(8.X:;d(X:vL("f(0s;hzKs;hy.;d((vL(Hq(R(tBa\}h`l.fuLhlzw(w( w(@Ԁ|(.r (rh(rBx(kQBa( qQW(9Ba05-01A fx %"tC`OC`O#C`O.L D J J .C`O C`OC`OC`O%C`O.rY    '.C`OC`OC`OC`O'C`Om. v @@ @ @P @. C`OC`OC`O!C`O)C`Ok. 0 eoov& C`OC`OC`O#C`OY.t .C`O C`OC`OC`O%C`Ow. f""`huL`;hfZhUqh .|~KhBaw(BahqQW(d&}h, .~h &hZTh C`""h\ysh.X:(@X:;d(fX:vL(f(0s;h.zKs;h;d((vL(Hq(rR(2A.Ba\}hfuLhlzw(w( w(0.Ԁ|(r (rh(rBx(w(NBkQBa( qQW(Ba05-01A fx %x X: X:vL;dJ %x X:;d X:vLC`O'C`Ow. eoovt;. C`OC`OC`O!C`O)C`Oe. P)& C`OC`OC`O#C`OU.;.C`O C`OC`OC`O%C`O.    s.C`OC`OC`OC`O'C`O}.0 %@ % @. C`OC`OC`O!C`O)C`Or.V   X: X:vL";dF %"t X:;d X:vL"vL %"t X:vL X:vL"Ԁ| ABEILMNOPQRTUZr  rh rBx r  rh rBx r  rh rBx r  rh rBx r P;.C`OC`OC`OC`O'C`Ou.0  . C`OC`OC`O!C`O)C`Ou.V%& C`OC`OC`O#C`Oc.|  % %.C`O C`OC`OC`O%C`O5.@ % @  ~@r.C`OC`OC`OC`O'C`Ov.~@~%@\!%z)&dvL# %x X:vL X:vLwN  u. qQW qQWN qQW qQW qQW  . qQW qQW qQW qQW qQW  F v . qQW qQW qQWF qQWv qQW / ~ . qQW qQW qQW~ qQW qQW q(  & x. qQW qQW qQW& qQW qQW2 BV. qQW qQW qQW qQWB qQWV{< D. qQW qQW\!42}s: s: & C`OC`OC`O#C`O].|:@@AS@S.C`O C`OC`OC`O%C`O. @OX OX Y[q`".C`OC`OC`OC`O'C`O}.r@ r @r r s=. C`OC`OC`O!C`O)C`Os.sw w ;ww& C`OC`OC`O#C`O`.www z@Yz.C`O  rh rBx  r   rh   rBx   r   rh   rBx   r  rh rBx r  rh rBx r   wrht @ w@rBxa . C`OC`OC`O!C`O)C`O.z'Kz( z42}s: s: & C`OC`OC`O#C`O^.:@@AK@K5.C`O C`OC`OC`O%C`O[.: &@K8@K09@KK@KK@6.C`OC`OC`OC`O'C`O.`K@K@K@Kf@K. C`OC`OC`O!C`O)C`O.K zQD @R@@R@8@ S & C`OC`OC`O#C`O qQW qQWD kQBa F2\ qQW qQW2Ԁ|R ABEILMNOPQRTUZr  rh rBx r  rh rBx  r  rh rBx r  rh rBx r   wrh~ 0 wC`OC`OC`O%C`O.: d }Q.C`OC`OC`OC`O'C`Ox.`;1;B;\E\XH ; 9; P<= "k H.i}֯֯$k |@`$q!`m.֯x֯֯ׯ}گ^$t!t!C`""C`""&!.rޯp!P$^h$""`"WC`"" C`""(-`[.l!nnn!n%r   lzwrh  lzwrBx r   wrhe   w rBxr r  pj Hqprh J HqrBx r   g rhI  ghrBxV r  F Hqrh{ < HqrBx R;.@S%@S@S @pTpT.C`O C`OC`OC`O%C`O4.@8 T@pT@T%@OX 9.C`OC`OC`OC`O'C`O&.OX OXOX%Y[q`"y. C`OC`OC`O!C`O)C`Ot.r@ r @r r s`& C`OC`OC`O#C`Oa.Dssw w ;w.C`O C`OC`OC`O%C`O.jwww0rBx{ r    lzwrh    lzwrBx   r    wrh o   w rBx   r  H HqHrh h| HqhrBx r   g rhS  ghrBx` wJ; Jn < qQWn qQW %R  8Z0949%"59@j.n+n,n.nKnK$69 7979@79}$<9Y.Dn Nn&XnHXn[nf$<9@<9}>9>9@&>9.j}n}nq%zd$D9D9%J9 9(C`""e.zxd鰼Ry   C`""uL`;{L}"C`"". , |1q34,   @-OL.kQBa Hqf R@kQBaH,$I@ F E!z.Ԁ|I Ԁ|@RR R.H1   >  =. r rh rBxf &Hqn   kQBa Ba Ba . h!; t  S! Sf@. qQWh Ԁ|; qQWt X:  (R@N.2@0ŗ . . ҕ w%.C`OC`OC`OC`O'C`O.w@8wK wwy?. C`OC`OC`O!C`O)C`Oo.~Lyyyy@yh& C`OC`OC`O#C`O.@y@y &@y&@y`'@y.C`O C`OC`OC`O%C`O.@y@y@yfy.C`OC`OC`OC`O'C`O.(y} z@ z@ z%@Yz T. C`OC`OC` qQW>.L!   L*LkQBa Hq"f&R*&@ 1  . Ԁ|@ R r rh rBx(H  6  D .fR Hq "Ba Ba . Z!; .`S! S. qQWZ Ԁ|; qQW. X:` &R.2f 0ŗ`. R R R R (X:`,X L. ҕ? $iYyC`""d^/d@&fZp.ѱձ@Qձ g,k$p<ppUq C`""($w~()~ q |~K*!& R@ X:  Hq. X: (X?   t 7_h t . X:  qQWt qQWh X:  X:t&xr  &f  R. qQWr X:  Hq qQW HqK.ff 5% H& qQW X: X: "X:._ f j,X^ . qQW X:j R, "X:X &X:^zdh }d. qQWz X:d X:h X:  X:"  _ "O!C`O)C`O!.Nz d & C`OC`OC`O#C`O\.t@ %@}j@x;1;,C`O C`OC`OC`O&; 9#.B;\E\XHi}}$; P<= k  k(|@.֯֯֯x `q!`"t!.֯֯ׯ}گrޯp!$t! t!@Qt!p!$""`V. P$^l!n$#` ._Z:. Hq X:L X:` qQW. $qQWZ|L 4L . X:L X: qQW4 X:L Hq.p&f  pff 5& qQWp Hq qQWp X:M.% _ |f:& X: X: qQW| &X::@ <FJ L}O. X:@ qQW< X:F X:J X:L"d p_ |. X: X: Hq qQWp qQW|$ _  N$.kQBaYBa\}@Ba@X.fuL@(Ba(qQW(kQBa(X:(kQBa$"7 "w ""X:X:$XT" %.kQBakQBa kQBakQBa kQBa"s.    @e !hBa\} kQBa(Ba\}b.Bd& "  % d& "&d kQBa"kQBa"d (kQBa"&"h ".%~_. X: Hq qQW qQW X:~"  N ;. X: X: X: Hq qQWqQWxx ,] kQBa Ba,Ba,, $ 4 . Ԁ| X: qQW X:$ qQW4 B$  4 3 i. Ԁ|$ qQW X: qQW4 Ԁ|3nX  l   p . qQW X: qQWl X:  qQWp &nj  t ~ <. X:j X:t &"Wt't'-`&8Z.2nn!n%n+i$0949%59@j 69(79.Xn,n.nKnKn N9 79@79}<9"<9@x.~n&XnHXn[n}n}$<9} >9>9@>9$D9 .nq%zdzxd$D9%J99 ;& ;K.Ry   ,-$uL`;{L}kQp kQr(QL. |1q34 </. Ԁ| X: X: Ԁ|$ X:> L3B  &` *. Ԁ|3 X: qQW& X:` qQW*1qQWl lDdR BadBaddB  cHq} $:. R R X:$ X:: X:Ԁ|. ERRORS DET(kQBakQBakQBa kQBa kQBa"."x%!? d"f* kQBa" x Ba$d (kQBa".7 % @ j&d" +d "kQBa"&d& " ng,d kQBa"kQBaBa\} kQBan.Se   n""5 ("kQBan kQBa" kQBa".!燖% w& @  M"Ba\}BafuLkQBa.8  &   `@ X^)Hq qQW~ kQBa ! vL t* . X: qQWv X:L qQWt R*v t 5'. qQWv X: qQWt R qQW~~  kQBa BaBaB  Hq}@6J,. R@ R6 RJ R, X:" Z X:Z X:Ԁ|. ERRORS DETECTED: FREE CORE: . %5WORDS # MACRO VR05-01A )R ( @  R`;W+Xp"iYy.\,:ѱѱS$Zd d^/d@fZ$p<.<ձ@Qձ g,)~h$ppUqXq}$w~&|~Kb q *+ECTED: FREE CORE: . %5WORDS # MACRO VP05-01A +qQWp pDx: BaxBax.xQ$H&/57  C3`.`f_  &ҕ _ . X: qQW X: $X:;d (X:;d(R $    V. X: X:;d X:vL X:vL X:  Wa. X: X: X: qQW X:_ | X:vL qQW|qQWt8 tD  ؙؙBa tt tykQBa g. Baz#B&f- qQW"Ba\}.F @7w  |&&f  Ba.lrw lwfHVmXBa\}(Ba.H Hb ""5 7""& 0 %,x X:x6-sz% qQW}  kQBa BaBaq. TQ$H&/59  C5 qQWT.``f_ @(ҕ _ & X: qQW@ X: &X:;d" JR  H . X:;d qQWJ X: X:;d qQWH.   . X:vL X:vL X: X: X:$@ , W_ M. X: qQW, X: X:vL qQW~qQW. .TITLE PST V05-01A PERMANENT SYMBOL TABLE .IDENT /05.01A/ ; COPYRIGHT 1972,1973 DIGITAL EQUIPMENT CORPORATION ; 15 NOV 72 .GLOBL PSTBAS, PSTTOP ;LIMITS .GLOBL WRDSYM ;POINTER TO .WORD DR1= 200 ;DESTRUCTIVE REFERENCE IN FIRST FIELD DR2= 100 ;DESTRUCTIVE REFERENCE IN SECOND FIELD .GLOBL DFLGEV, DFLGBM, DFLCND, DFLMAC, DFLSMC DFLGEV= 020 ;DIRECTIVE REQUIRES EVEN LOCATION DFLGBM= 010 ;DIRECTIVE USES BYTE MODE DFLCND= 004 ;CONDITIONAL DIRECTIVE DFLMAC= 002 ;M/BaBa.  $)x RR qQWx $X:;& J&qQWx xD2y Ba2Ba22 &WqQW|.|ff    H X:;d  6  X:;dHq  qQWL r D<& X: X:L Ba<Ba<<  p '. X: Hq qQWp X: X:0.t^( HghX(zzl.z  7 wy .w 7c u w  7w 8Fc u .w ĝZ77| x $(. &V ߋ    V>.7> 2w& B .820@p D A  &DCc20p.^  w Fw  w 1 x kQBa BaBa. T  $) R qQWT qQW &X:&R J&`qQW 4> kQBa Ba4Ba474 &UqQW.ff    ,. X:;d"X:(R,$PR {.X:P X:X:RX: Hq*|r  N ,   & X:|X:rX:;d2ACRO DIRECTIVE DFLSMC= 001 ;MCALL .IF DF PAL11R ;PAL11R SUBSET XMACRO= 0 X40= 0 X45= 0 .ENDC .IIF DF X40&X45, XFLTG= 0 .IIF DF XMACRO, XSML= 0 .MACRO OPCDEF NAME, CLASS, VALUE, FLAGS, COND .IF NB .IF DF COND .MEXIT .ENDC .ENDC .RAD50 /NAME/ .BYTE FLAGS+0 .GLOBL OPCL'CLASS .BYTE 200+OPCL'CLASS .WORD VALUE .ENDM .MACRO DIRDEF NAME, FLAGS, COND .RAD50 /.'NAME/ .BYTE FLAGS+0, 0 .IF NB .IF DF COND .GLOBL OPCERR .WORD OPCERR .MEXIT .3a"R _ $ . X: X:;d X:$ X: HqGqQW Dl BalBalG l . qQW X: X: X: X:$ _?. X: X:$ X:;d qQWqQWW2 T&$ X:2 X:$HqskQ4dlzw PA`   qQWqQW( 7  7` 7 .X:4 ' 7.  &w \w wXw .w  fw  w 7 w.twhw   % E e n  &.wh J _ =w ZJ C  _ .w N< w F5 w > w 6w > .B7 w 07 w (7 7 R _ ^R "_ .hw7  ww (b wY.w w A B` %m. w| 7wr~.5HqqQWSt  l >. X:t X:  kQBa Ba>Ba>> " "'". X:" Hq qQW X:" X:""T _  ?. X: X:;d X: X: HqqQW @  n kQBa BanBan n z z|. qQW  X:z X: X:z X:|~ _C. X:~ X: X:;d qQWqQW6ENDC .ENDC .GLOBL NAME .WORD NAME .ENDM PSTBAS: ;BASE OPCDEF , 01, 170600, DR1, X45 OPCDEF , 01, 170600, DR1, X45 OPCDEF , 01, 005500, DR1 OPCDEF , 01, 105500, DR1 OPCDEF , 02, 060000, DR2 OPCDEF , 11, 172000, DR2, X45 OPCDEF , 11, 172000, DR2, X45 OPCDEF , 09, 072000, DR2, X40&X45 OPCDEF , 09, 073000, DR2, X40&X45 OPCDEF , 01, 006300, DR1 OPCDEF , 01, 106300, DR1 OPCDEF ,7vLX:;d X:;d  X:;d= 7 7  7 .X:;d X:;d X:;dX:X:;d" 2-. X:X:vL X:X:vL X:2),($ /5'U @$. X:$ X:;dX:/X:vL "X:$.L$] fU &D D` & X:$ X:;d X:;dX:vLX.rW! W! W!  RE@5@8X:;d "Hq. JU  5X:vL"X:Hwh{ E 74whd  4.E t4P 4Iw 2-144U.&$% w  =w *l.L7( 4=w e0w , 4.rw %@w keK.=w @w lwww.=w  w  xw >Ae0w .,w \VZw J- . BF74@ .< n  4.0w ?w (7 E &  X: X:HqkQ4dlzw PA`  ( qQW(qQW(I,( , 7"   7` 7 X. X:"vLX:;d X:;d $X:;d%L 7 7  7 .X:;d X:;d X:;dX:X:;d"b R m. X:X:vL X:RX:vL X:;da(v~ 5'U _.X: X: X:X:;dX:,@G 01, 006200, DR1 OPCDEF , 01, 106200, DR1 OPCDEF , 04, 103000, OPCDEF , 04, 103400, OPCDEF , 04, 001400, OPCDEF , 04, 002000, OPCDEF , 04, 003000, OPCDEF , 04, 101000, OPCDEF , 04, 103000, OPCDEF , 02, 040000, DR2 OPCDEF , 02, 140000, DR2 OPCDEF , 02, 050000, DR2 OPCDEF , 02, 150000, DR2 OPCDEF , 02, 030000, OPCDEF , 02, 130000, OPCDEF , 04, 003400, OPCDEFF$X: $F7$ ..X:F X: X:X:;dX:;d c& 7 U& .X:;dR HqX:vL X: * ; !55 .X:X:X:vLX: X:vLB&<%5: 5:!.X:<X::X:;dX:vL X::i8 =: Ν. X:X:vL  X:: X:vLX:](Np~Bҕ ~H. Ԁ|p X:""""""" """""""""""""""""""""""""DDDDD@DDDDDDDDDDDDDDDD@DDDDDDDDDDDD""""DDDDDDDDDDDDDDDDDDDDDDDDDADDB CkQr^ A  g^  &kQr^ , gd^ kQBa^  ( gkQ *st^^ , `&%^ ud&S^ w{ZqQ^ #ZU^ oW^ O^ P^ (P^ 4}}kQ @ MkQ + 1`TkQ gEkQ !"3$DDDDDDDDDDDDDDDDD !"3FBı8a ͋,L  Bw&B ` % & }&*C$$Βe E%>k  aʋaՀ$ & * P$ ΋Ί   ΋   d Ί  ( 1'u  Q$f $5@ U C΋ Cb M΋U@ U &  B" .&0 M I] RU*.X:vL X: X:X:;dX:;dQ. /D D` W! W! W!  X:vL(X:;d .RE@. 5@5@de J Hq.X:d{.U  &5d>. X:vLX:;dX: X:&&X:d,,7  w .X: X: X:;dX:;d  X:;dP.P! ! fJJQ$ . X: RJ RJX: X:;d:.J~X: X:~ "X: n PE? .X:vL X: X:vL X:X:vL .~ %    D. X:~ X: X:vL X: $X:vL+. 5?ʕ'5@ʕG ~ X: $X:~ (X:;d.H H5:<ҕ ~ &X::X:;d X:;d &X:~.>B~H? 5$:. X: X:vL X:~X:vL$X::,  7 7K , 04, 103400, OPCDEF , 04, 101400, OPCDEF , 04, 002400, OPCDEF , 04, 100400, OPCDEF , 04, 001000, OPCDEF , 04, 100000, OPCDEF , 00, 000003, , X45 OPCDEF
, 04, 000400, OPCDEF , 04, 102000, OPCDEF , 04, 102400, OPCDEF , 00, 000257, OPCDEF , 00, 170000, , X45 OPCDEF , 00, 000241, OPCDEF , 00, 000250, OPCDEF , 01, 005000, DR1 OPCDEF , 01, 105000, Lw 7 7.V7     w %0 %7E .|`  1  W ֆ   T(m7 yTd~`'.Td ~"`.zvZ).. z vZP.6F*n7iP*  6F*.D F 7B7<%40 ."("w %=w . w &.H w w wwMv D +f  -X:"X:.  ⋁wU5X:X:"X:vL.A RU R wV l X:RX:vL"7 .U& & .R Hq.X:vLX:&X:.K +E5  Z55.X: X:vLX:X:vL"X:Z (X 5X.X:X X:;dX:vL X:X X:"@ 5XEND9.X:X:X: X:vL &BaBa(E ы R_B . X: Ԁ| X:vL "qQWBqQWB B&w r qQWqQWD.D] W!:!W!=w6w/X:;d X:;d!.j  5U" Hqz X:"u DX:vL BaBa( W!= W!:"6 ] X:qQWL.-ODR1 OPCDEF , 01, 170400, DR1, X45 OPCDEF , 01, 170400, DR1, X45 OPCDEF , 00, 000242, OPCDEF , 00, 000244, OPCDEF , 02, 020000, OPCDEF , 02, 120000, OPCDEF , 11, 173400, , X45 OPCDEF , 11, 173400, , X45 OPCDEF , 00, 000254, OPCDEF , 01, 005100, DR1 OPCDEF , 01, 105100, DR1 OPCDEF , 01, 005300, DR1 OPCDEF , 01, 105300, DR1 OPCDEF
, 07, 071000, DR2, X40&X45 OPCDP  .n 7mw B.w %/w \.  p  L eDv (D.  !RB !R=L !6RR!.4D4 V  !4Dh4 V D V D"h&V.,% w 0  @w @r.R % % w  ww .x D  &.C@AEPA&fw w /w Q=X.X:vL rBx X:XX:vLX:XV.Z Ν5X ҕ .X:vLX:X:X Ԁ| X:]"   R. X: X: X:X:vL X:R* XL?  %5>.X:vL  X:X:vL X: X:.XY     0.X:X X:vL X: X:vL $X:/.5?ʕ'5@ʕG H H X: X:;d.5XR 4F5 EU P&X:HqX:&X:-.5-ʭUUJ8U X:X:X:vL" D.X:vL X:;d X:vL BaBa."ff5 :FU&4y X: X:vL$.&EU_"J U@L. Hq X: X: &X:vLqQWL. 55 U5u, X: X:,"X:vL&,.  SEF , 11, 174400, DR2, X45 OPCDEF , 11, 174400, DR2, X45 OPCDEF , 06, 104000, OPCDEF , 03, 075000, DR1, X40 OPCDEF , 03, 075030, DR1, X40 OPCDEF , 03, 075020, DR1, X40 OPCDEF , 03, 075010, DR1, X40 OPCDEF , 00, 000000, OPCDEF , 01, 005200, DR1 OPCDEF , 01, 105200, DR1 OPCDEF , 00, 000004, OPCDEF , 01, 000100, OPCDEF , 05, 004000, DR1 OPCDEF , 11, 177400, DR2, X45 OPCDET.w Nw   ` A.E ` \ L @. w w 73U(E; .6w h7JE ".\  pVw Z׭V \.U .7w Djŝbŝ^.EwDt w8t!D (Dp. w w Jv w w @e %kU ҕ  e.X:XX:;dX:;d X: (X:R.. L :?  5$XV.X:vL X:X:vL R(X:X.T  7 7 &X:X:X: $X:.zH H5X  ʕ  X:;dX:X X:.ҕ 5X  ҕ 5 X: X:vLX:X.5X  5?ҕ'5@ X:vL X:X.GV&  w2Ew &X:vLkQBaX:vL&X:vL.B & f AfE, | Ί Hq Hq$|h 1P  r Hq"$DDDD@HqQW|.| 5UE &X:vLX: X:&X:"&  UEDLWX:vL BaLBaL.LF& .  2 X:vL "qQW r2 WF , 11, 177400, DR2, X45 OPCDEF , 14, 177000, DR2, X45 OPCDEF , 14, 177000, DR2, X45 OPCDEF , 14, 177000, DR2, X45 OPCDEF , 14, 177000, DR2, X45 OPCDEF , 11, 172400, DR2, X45 OPCDEF , 14, 176400, DR2, X45 OPCDEF , 11, 172400, DR2, X45 OPCDEF , 01, 170100, , X45 OPCDEF , 00, 170004, , X45 OPCDEF , 00, 170003, , X45 OPCDEF , 10, 006400, , X45 OPCDEF , 01, 106500, , XXv w .ĕtD72 VVw Bw .P DVV.@e` w ;w ĝDw w &D.fw"f&f  ".4Dh "D$h.D pt7p7ttDptp t$t.w rt5ppgpbt tpp p&t%.V  <hD !%hD!.$ & &e N Yҕ    sR"X:vL (kQBa E BaBa,E $ы R@ P : W. X:$ Ԁ| X:vL qQWP $qQW:":  _. qQW: X: X: R qQW   qQWqQWi Rw rs qQWqQW.]? W!:GW!=w Z X:;d X:;d!.< fw B  Xw $ W!$.bZqQWF & 6 (Hh X:vL Hq6Hq66@#-(<. qQW qQW qQW qQWqQW. UUUDW!( U  X:vL.? W!+"U65U0 '."W!(5% 5FUU7X:FP.H05UEffff !X:vLy.nPU0.2 U" W!)wU X:vLw_ I qQW[45 OPCDEF , 01, 006500, , X45 OPCDEF , 11, 171400, DR2, X45 OPCDEF , 11, 171400, DR2, X45 OPCDEF , 02, 010000, DR2 OPCDEF , 02, 110000, DR2 OPCDEF , 01, 106600, DR1, X45 OPCDEF , 01, 006600, DR1, X45 OPCDEF , 07, 070000, DR2, X40&X45 OPCDEF , 11, 171000, DR2, X45 OPCDEF , 11, 171000, DR2, X45 OPCDEF , 01, 005400, DR1 OPCDEF , 01, 105400, DR1 OPCDEF , 01, 170700, DR1, X45 O\@ e0w & .J  4 : 4.p t7vprE[t vpr. w   w ׭ . r ^w Uw wl rB. nj  7,4XR4-P 4 4O. Dw@ 78 %(!..  %??  & >.T   w N%w 7  .z 7] W!: j5U  $ X:X:;dj X:vL;. .  5U" Hq.z X:"8 &X:vL kQBa BaBaO.  . V0. HW!= W!. qQW Hq. qQWV Hq. qQWHl &: D  & qQWD qQW X:qQW.-(   p 5 EX:Hq$X:.U P5-ʭU^qQWH.FR ˵@0Q˵ /ы+ Ԁ|RX:;d$X:.FX˵@ Qыʋы &  Ԁ|XX:4, e m77  m 7 m. r X:X:rBx"X:H. ыJ ԋ  |X:X:vL(. ՀԀ|RR fBa@5.*45U@JU X: X: X:vL &  .:_PCDEF , 01, 170700, DR1, X45 OPCDEF , 00, 000240, OPCDEF , 00, 000005, OPCDEF , 01, 006100, DR1 OPCDEF , 01, 106100, DR1 OPCDEF , 01, 006000, DR1 OPCDEF , 01, 106000, DR1 OPCDEF , 00, 000002, OPCDEF , 03, 000200, DR1 OPCDEF , 00, 000006, , X45 OPCDEF , 01, 005600, DR1 OPCDEF , 01, 105600, DR1 OPCDEF , 00, 000277, OPCDEF , 00, 000261, OPCDEF , 00, 000270, `w Z e0w ,w . w p.  Cå å$ נA  .  e` F  O &F y.  Ëנe ee e 58 ѐ  @(~ N .N ODT-11R V05-0t 1ABEu | b.| *;/\ $G _<^,OWEBP@>SRC-FI!XASPMM CFRB  .  4 .aU:& X:X:X:&X:vL. ^U ( w .X:vLX:;dX:vL &kQBa (Ba8Ba{* Dff D5  . qQWD X: qQWD X:vL "qQW ."BU& EU_"  . qQWB qQW Hq "qQW (X:HU@ & X: X:vL qQW qQW,., 55 U56, X: X:,"X:vL&,b"_:. X:;d X: X:" qQW:f G  ( X:(Ba@>> >  ~. qQW> Hq X: Hq X:%*R> " ߗU J:W. qQW> qQW" rBx X: X:t _8& X: X: qQW8qQW:o :D~e Ba@~Ba@~m~   5F& X: X: X:Fw : qQW:qQW> >DK Ba@ΔBa@ΔAc OPCDEF , 00, 170011, , X45 OPCDEF , 00, 170001, , X45 OPCDEF , 00, 170002, , X45 OPCDEF , 00, 170012, , X45 OPCDEF , 00, 000262, OPCDEF , 00, 000264, OPCDEF , 08, 077000, DR1, X45 OPCDEF , 13, 000230, , X45 OPCDEF , 00, 170005, , X45 OPCDEF , 00, 170006, , X45 OPCDEF , 12, 176000, DR2, X45 OPCDEF , 12, 175400, DR2, X45 OPCDEF , 12, 175400, DR2, X45 OPCDEF <e.R  &  w wE&X:vLkQBaX:vL"X:vL.xw & f  AfE J >X:vL Hq Hq!. "w Ί  1P  @"" X:vLr $r .E%P%E% 5E%.pE%E%% A A 5U@X:vLHq.~~~~D~T~Dh~JJ~^~JbqQW"$." 0f$  > " <_M. X: X: qQW> qQW" qQW<< n  qQWn Ba.   2 _U*. qQW qQW X:vL $X:* (X:a., v Jҋ& ɕ . X:, qQWv X: X: X:_  X:Ba|.|$ R5& c5 :+ߋ. X:;d$ X: X:;dc "X:: (X:.(^B v  - . Ԁg, 12, 176000, DR2, X45 OPCDEF , 12, 175400, DR2, X45 OPCDEF , 12, 175400, DR2, X45 OPCDEF , 12, 174000, DR2, X45 OPCDEF , 12, 175000, DR2, X45 OPCDEF , 12, 174000, DR2, X45 OPCDEF , 01, 170200, DR1, X45 OPCDEF , 00, 170007, , X45 OPCDEF , 01, 170300, DR1, X45 OPCDEF , 02, 160000, DR2 OPCDEF , 11, 173000, DR2, X45 OPCDEF , 11, 173000, DR2, X45 OPCDEF , 01, 000300, DR1 OPCDEF h.e^q X@aKY@" @. :@y@%k@%@%@.%2@%":@%xd@%y@&@Y.&Z@k@@@:@.@@@U%@*}@.""@%w@U(@-@{38@.8Q@t::@A @EQ@Ev,@.;K@KbrH6K(@{L:@{L}@.{L@[MD@[M^@[Mw@_M:@O._MR@ N8@N @Tk@WU@.cYM@ZZ @Zy@i5UE X:vL"X:$X:,H   UE \.X:X:vL $kQBa &Ba\Ba\.\ B&    . qQWB qQW X:vL qQW (qQW  > qQW qQW qQWlv.l    O.0U@ & Z 2 X:vLX:vL "HqZ HHqZ#Z@#-(\. j|^ qQWv X:;d X:;d &X:;d . _*   e0 qQW* $qQW J Ԁ|^^TABLE OF CONTENTSBa@β.  2  6W. R X:2 qQW X: X:6s  qQW Ba.UU8:CU& X:vL X:vL $X:vL~ .   C!_~ u& qQW qQW qQW~ Ba@.  ` Ek, 01, 006700, DR1, X45 OPCDEF , 06, 104400, OPCDEF , 01, 005700, OPCDEF , 01, 105700, OPCDEF , 01, 170500, , X45 OPCDEF , 01, 170500, , X45 OPCDEF , 00, 000001, OPCDEF , 05, 074000, DR2, X45 DIRDEF , DFLGBM DIRDEF , DFLGBM DIRDEF DIRDEF DIRDEF , DFLGEV DIRDEF , DFLGBM DIRDEF .IF DF YPHASE DIRDEF .ENDC DIRDEF DIRDEF DIRDEFl^@^@y@._@`d@a :@5axr@f@.f g@fx@q@Q@s*}@-y@B.Ay@^y@y@z@zg'@ .zBy@z*}@YzPs@lz@}g@.k@@@@@@2@9.ąe @ą8@ąy:@ą:@ąXz@N.Z@c2@p@t@Q@.ZXa@(e^(:%Mh^hU._ht:^ht:_h{L^h_M^h|._M_h_p&h$\qPh&y^hRy8^h.yshmqQW qQW qQW qQWqQW8. UU%   ZU3 X:vLX:vL.SW!( U P W!+ D UF.5U@ 5 W!(53., 5d5@5dUm X:dX:"X:d.RU7 ~5UEffff X:vLq.xPU0 $ ^ U  W!)wUX:vLwQIke qQW qQWqQW9.nU &X:;ds*    U_V. X:;d X:vL X:;d $qQWV;d   X:;dBa@&.& ,.2`ߋ  . rBx "X: &X:.L2 zBW!<&@B! .r 0"U #  Hq X:vL. &   (U& $X:vLh$ e  W  .2 _ qQW Ba F. %,o DIRDEF , DFLCND DIRDEF , DFLMAC, XMACRO DIRDEF , DFLMAC, XMACRO DIRDEF DIRDEF DIRDEF DIRDEF , DFLGEV, XFLTG DIRDEF , DFLGEV, XFLTG DIRDEF DIRDEF DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF , DFLCND DIRDEF DIRDEF , DFLMAC, XMACRO DIRDEF , DFLMAC, XMACRO DIRDEF , DFLGEV DIRDEF DIRDEF , DFLMAC, XMACRO DIRDEF , DFLMAC, XMACRO DIRDEF , DFLSMC, XSML DIRDEF , , XMACRO DIRDEF , , XMACRO DIRDEF , , XMACRO DIRDEF DIRDEF , , XMACRO DIRDEF t.. w /.%_M:@"%2&%":,& w 8w 67 w *,,a :8QyQ&N .7w/EwW  WU %k y.*w&w NVw Н"z*}y$%xd(WUR.P PPPP .s$WU U%%xdU%$WUq.v w w #*ąy:zByU(u5U@  _. qQW qQW X: X: qQW( U  H  k. qQW X:vL qQW qQWH X:;d*> (_x. qQW qQW X: X:( qQWx2f {  .  X:.Ba@PoP  . qQW Hq X: Hq X:$d  V ߗ U . qQW qQW qQWV rBx X:.  . X: qQW qQvHX[.KC. Ba Ba Ba Ba BaQ+ N,Kp. Ba Ba Ba Ba Ba&*&X7 Ba BaBa. C    4 5.@  C BW!&W!!B "  X: >C Ba.C , '    B  X:vL X:vL qQW .  P>0> @:0`< . X: X:> X:> X:: &X:<DIRDEF .IF DF YPHASE DIRDEF .ENDC DIRDEF DIRDEF DIRDEF , DFLGEV DIRDEF DIRDEF , DFLMAC, XMACRO DIRDEF DIRDEF WRDSYM: DIRDEF <WORD >, DFLGEV PSTTOP: ;TOP LIMIT .END ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������x� :$[Mw([M^��&��`�w ��������w ��2��,��cYM� pq �XzByAy-y ��.����7���� ��w�( ��w .U��$��zBy q �Xzg'z":��.��w���w &e� w���5����� -"ą:%��.������5���E%�e ����ąXz {L:{L��&��,������������ d��*��y�� kaKYTkaKYf��.��J�� w������ `��C$W ��*��$��5axr {38YzPs lz(;K�����y�W qQW X:�0������ v_���&�� X:� qQWv qQW�qQW ���� ������ kQBa� Ba@Ξ��Ba@Ξ������  � �5�d��R��&�� X:� X:� X:d��w �i�� �� � ���� qQW �qQW }���� ������ kQBa� Ba@δ��Ba@δ���"��� T�� |� V ��.�� qQWT X:� X:� qQW| qQWV�����z_�|���� qQWz qQW�Ba� ��,���  � _� U������.�� qQW qQW qQW qQW "X:vLz�1����B� P:�U����y���� X::� X:vL���lzw��� ���LI�X� ������ ����NL�W��� Ba��� �c�� �� ������ Ba���Ba�V����V �U������� X:;d � X:vL��HqH�d��(��H�w[M y%` QQR RK-[z�������f�w������ @�����X:@��;d������@�:� <e��&�� X:@� X::�qQW<�Ba�b��.��bC *! �   �B  �PH�2���� qQW X:� &X:H���,��0H�@F� PF�� U������.�� X:{��.��V������p@��""@��Q@����.��j@������(D�@Qh���}h*��K�����������������.������7�� ��%[���& �!s����Q Qj "" ��&��&�%\���7�� 7�� ��w ������ QQj pT������.��ԪSu������p@������(�Ԫph������������������������ ����z\�������.��vVu������p@������(�vph��C���������������������� ����z\�������.��Ru|��.��p?�y ����5��v���w ��&�� lz�A z zg'$*}Q��.��� ���3��y����� f&y ���� z*}z*}^@yz*} ��(����3��y������������*��^@yz*}`�d2AyzBy.��&������7 ��7 �����w ��w���*��%2Ay WUU%%k :��.������w ����w ����a w ��,��@ N8U( :ą8$fx��.�� ����� w � 1��& w �C ����f f g-�y���}���[��"���0��2� <Jҋ "��.�� X:0� X:� X:2� qQW< X:��$��V ɕ �_ �f��.�� qQWV X: X: X:�Ba�Ȗ���.���$� �� R8 V c�5� X�-ߋ��.�� X:;d$� X:�� qQWV X:;dc� $X:X��� ���*^�  < Jd��.�� X: Ԁ|^� qQW qQW< qQWJK��.������ �-� � � �_�p ���&�� X:;d�� X:;d� X:;d � "qQWp ��$��� ��  � e0�J �R���� qQW �Ԁ|^�����^�~�H� X:F� X:F� X:� $X:vL��J�����f�q������J�{����X:J��;d�r�����J�F�,����X:J�X:F��lzw ��� �� �EN�R� ������ ���dDS���� Ba�d���� ���b}���� Ba�b�qQWB����B��@�����x��.��X:�X:vL�X:vL�X:�X:vL���.��X��@����� fA�ʕ� RW��.��X:�X:vL� X:vL�X:�X:vL���.��~�fA� ��� ��e�J�� ��ʕ� Jҋ� ������R ������������p@������(�쨀ph������ph�����������������������z\�z\�,������.��Ou������p@��p@������(>�����""h���p�����������������.����5��5��w �� w ��w ������pp&p�� ��&� ���6 �6 �%�������.��OO����������(�vh�O�Nh��m����Ph�������������������� ���� \����������������������������������������������������������������������������.��F�w �  ��� ��-��R����}g$}g(_��}��.��l-��w���w���w D� ������^%w@Zyj��.��1�� 1��w � ���������[Mw[MDZy([Mw��.�� ��&  ff�������� [MD$Zy(-��.�� @9� e � f e`c h�� �� 9���.���������w ���������*���K(p"�&s*}����* �������.�� :�����TABLE OF CONTENTS������Ba@�a��.��� � �8� � .� <�� ���.�� R� X:8� qQW. X:� X:<�1����� �d���� qQW�Ba0��.��0U���U��� n  �CU���.�� X:vL�� X:vL�� qQWn qQW qQW ��(��V��� V   2�C!_�DU��.�� X:vL�� qQWV qQW qQW2 "qQWD�����Ba@�4��.���  \ ` � E��U������ qQW qQW\j��.��&� �� X � �U����_�8��.�� X:;d� ���� ������E�����EZ�����qQW�� ��D��a���� Ba���Ba����&���� > ��w�� � $ ��.�� qQW> qQW X:�� qQW� X:$��,���:Z^5�F� � t��� ��.�� X:: X:F� Hq� qQWt� $X:�5��(��B�*�� �& �� '[��.�� qQW X:*� X:� R� qQW ��.��b���E�EUQa �� f�z��&�� R� X:� R� $X:���.����� 5@��ŧ�E�U����.�� qQW X:��.��qQW������<@@�� #�}@��K�}@����.��vLD@��zQD@��pe@��p@��q 5@����.��w@��z@��u~@@��PZ@��@8@����.��@8@��E@8@��v@8@��@��@����.����@��ݩ�@��+@8@��+]@��6&@����.��7@@��7%@��7@8@��Ԫ@8@��@Q@��T��.����@��*@8@��,0z@��-}@��O�N@��y��.��O�i@��S�2@��S4@��U�@��@����.���}@��@8@��{@��@j@��Ϋ@@����.��Ϋ@y@����@�� @��je;@������(��.��qQWh��E��(�W@(*���� @��%M@��n; @����.��nR@��!Xz@��a" @��EQ@��{L:@����.��{L�}@��_MR@��hM(@�� N8@��{Q@��q��.��{Q}@��_X{Q@��Y@��^y��@��*}K@�� ��.��ln@��ąe @��ą8@��ą:@������(�� ��.��&(h%"h�%^h�""h��{38h�y��.��{L"h8�{L^hL�{Q"h.�{Q^h<�Q`rhl���.��R""h�_X"hT�_X^h\�Y^h�ą"hX� ����ą^hd��x���������&��\��.����&f&f �@E� ��w ������a" "_MR{��.��&�� �X:;d� qQWX X:vL�� &X:;d��� ��L ���� qQW �;d ����� ������� X:;d��Ba@N��.��N    `ߋ � H��.�� qQW qQW qQW qQW $rBx �H��.��t� �  � �BW!<�% n��&�� X:� X:� qQW qQW /��.��V@B!  ���E P 4� Y���� qQWV X:;d�� qQWPT��.��D.U���� &  �& ���� qQWD Hq. X:vL����.��R �  (�U���&� :e ���� qQ�� X:� X:� &X:���(���E&�U&�"� ,� �� $��.�� X:&� X:&� X:"� qQW X:���*����� ��  �J� ��.�� qQW X:� R� qQW X:��� ���, _�:w�$�B ��.�� X:, qQW qQW: Ԁ|w� X:;d$���$��� �� 5�F�X��.�� X:� qQW X:� qQW X:F��� ��$�(�� ߋ�O5�@`��.�� X:� X:(� X:� qQW X:���&��<:�K � ��� "@��.�� �4R��(�4��(���.��:��(�]d��(�{D(��'��(�kv(�����wC^( �Zv(�������������������$����7 ��������qQW��� �� �����,��O�N@Q@j O�i @j����� �� ��� �� �����.�� O�i  @j O�i @j����0� ��j ���� u��,��  { j  U�  ,����@���,���� �����*�� ]d����,�@j O�i :�������N���� ������b�u��*��@j   E@8�� b�����^���~����� �� (�� ��{Q}��.��L� ��   �� ��������{L�}_X{Q ąe &ln|��,��r����"�� �w ��������w ��*��n; nR_MRą: ą8$ąe J��.�����w��� w ��W Q B�!���� %MEQE��.���e����%�0 E��'�� �� ^y�� ��.���  @��w &���w � w��7 ������{QY$*}K(ln��.���w ��w �w��� B` �>����{Q�Y�hM((��.��.�WR X:vL�� $qQW:B��.��  W �    � ���� qQW qQW $qQW��&��2j� U���H�L /��.�� Hqj� X:vL�� X:H� qQW �Hql�P�� ��l� R���� qQW qQW �w�)�� ���(����� qQW��qQW ���� � � �����.��X:vL� X:vL� kQBa� Ba@���Ba@����&���� T��H�P�! W @�A���.�� qQWT X:;d�� X:H� X:P� X:@���.���F�%+�%-��@� V�.5�+��&�� X:F� X:@� qQW�X::� X:;d� R� X: qQW ��.��Zh� x��5� np�B ^��ɥ��.�� Hqh� X:� qQWn Ԁ|p� &X:���.���a ҕ � ܇ 0� � &��*���� qQW X: R�-��.�� @ҕ �� nҕ ��  ��.�� qQW X:� qQWn X:� "qQW��&�� *� ��4���X��.�� X: qQW* X: X:��Hqh�����h� =�% �R �G @������Ԁ|p�����p�******�SYMBOL TABLE������qQW��.��� ��� ���������.����~�@j O�i {D��@jj����p� �� �����0���i��*�� O�i  @j��0@jz����������������������*��S�2 E����S�2 � -}S�2�����������������P��.�� Zv��S�2 Zv� S�27@87%��.���������(1X,'VERIFY VO',A2,'-',A2)���h����@j�� �&@j��������������������@��*��S�2 E����S�2 � -}7% ��.��������(1X,'WHICH DEVICE(SY,DK,DF,DC,n����@j�� �����DT)?'/)r�w �`w �  7���   ��� ��!Xz<����T������w �������{L: N8{L�} ������.��%:d������L xZ@��nG@��{Q@����.��Y@��@��%:d@��!@��!Xz@����.��%w@��'ȑ@��' X@��K !@��{Q@����.��-S.@��YjR@��Y@��kf��@��fy@��*��.��s�K@��@@������(��%(d(hM(h����������������%(d�� ��&����7��w ��w �� �w��� �w���.��fy -S.YjR{Q�!Y��������/�� �V Hq.��.��D� D�  \ 0�bab b b gB�D� ���� X:D� "X:B� $X:D���.��j�%.�_ B�ށ%E�  D� �� R��.�� X:B� qQWD X:;d� "X:;d� &qQWR ��.����`D�@@T@T@Th D�1"3 � 6���� X:;d� X:D� X:D�i��.���F� �e�F� D� F�   � ��&�� X:F� X:F� X:D� X:F���.���� �5� � � � �  �>��,��F� D� F� �e�F�ߋG�U���.�� X:F� X:D� X:F� X:F� X:G���.��&��� ,t�  � ��%���� X:�(X:�� ��(��c �8:Č �Zx���?��.��X:vL�X:� Hqx�X:�"X:���&��!� , �� �����.��X:;d!� X:,X: �X:� X:���,��$!� -�"�  0 ��� x���.��X:;d!� X:� X:;d"� X:0 X:���*��H�@a q�` 4�W H5� ��.��X:� X:q X:4X:� X:H��.��jF��� ҝ�@H �<��.��X:F�X:�X:� X:H&X:���� ������������ ���*��������*��@jS�2 :�� � S�2*6&��������������������,��S�2 {D��S�2 7@87%@j����&��.(A2)��� ��������.����. @j O�i {D�@j����<p ����p ������.��p  E@8 �� p  E@8��W����L��p ��������)��,��*@8p   E@8 ��*@8 ����Z`�����������R��.��`�� @jS�2 E����S�2��.��j|���������� ���(1X,'UNIT NO.'/)��!�j��,���� ���,��'ȑ{Q� Y�{Q�{Q �H��*��2� �w ��w �������w ��7��,��Y �%:dfyfy s�K��.��T���7 ��e����� �w ���� �w ��*��fyK !K !{QL xZ Y��(��z������w 2���w ��w ��w 3��.��L xZ !XzY�{Q�' X {Q)������� � �7 ��w�T���*��Y{Q� Y�K !{Q���������7 �� �-W��,��{Q�Y� Y�kf��{Q�4��������2��� �� b(J�  � 5�d�� W���� X:vL�� X:d� &X:vL�-��.��L UH��r H�  U���g@���&�� X:H� X:H� $X:vL�� (X:@���.��r � ���� _�H" 0�Y��.�� X:� X:vL� X:� X:;d�� qQWHU��.�� F� B� $� � 4� $� �l����� X:F�g��.��a ��    � b b b �����_�x ���� qQWx�Ba>�*��.��>� � %,� V�� H5�X�_ ���.�� qQWV X:;d�� qQWH "X:X� (X:vL ���.��d� ��$��� ��ѝ� ѝ �w��.��X:� X:�X:�X:�X: �u��$��� wa��"��� ���.��X:� X:�X:�X:;d"�X:��� ��������X:��Hqx���&��x��������������j�����;d$��� ��$�w!�����X:;d!��qQW ��$��D��%Hw �B:\��.�� X:DX:� X:H X:B X::v�� ��D-� 5�F� ��.�� X:DX:� X: X:F� X: ������� �w �:0��.���|-} 7%@j��&@j������ �������������*��S�2 :�� �S�2  6&S�2t��������������"�����,�� {D�S�2 7@8 7%@j������(O1)��#���$���������.�� @j@jS�2 E����S�2��.������������%���(1X,'OPTIONS(NORMAL,LI��"��-} 7% @j�� ��.��ST,SEARCH,FIX, OR ALL)?'/)��&��� ���,��$��@j"S�2 $:�� �&S�2(,������������ ���������'���.��6& S�2 S�27@87%@j@��-7��*��kf��{Q�kf��Y�Y�l��*������'�������w P�w t� ��.��kf��Y� {QYK !{Q���$�����������w 0�����.��Y� kf�� {Q�{QYK !��,���w N� e���-����w���e��e�,��.��Y�kf��K !kf��%w"{Q���.��>�w����m���l���  "�� ��Y�@K !nG��.��dw���w�����w ���w �w �������$��@ %w{QY"%:d��&�� �f� C��_� )�� p� f��W"�*��.�� X:vL� qQW X:� X:� "X:;d�c��.��� ! ! ��C � �  D��&�� X:;d� X:;d� X:;d� $X:;d� ��.�����  5�X� � ���.�� X:;d� X:;d� X:X� X:vL� &X:vL �A��.���U���U���� � @ � ��.�� X:vL� X:vL�� qQW qQW@ $X:���$��� � f_��U��� �~��.�� X:;d� qQW kQBa� X:vL���w��������!HX[."K~��.�� Ba Ba Ba�X:�X:� X:  X: X::����H� ����.�� X: X:H X:� X: X:�����(����Ý�7�Ĝ!��.��X:�X:� X:�X:�X:�e����>�=  �D����&�� X:�X:;d� Ba���Ba��2��(����<��f  �� �B �< ��.�� X:;d� X:  X:�� Ԁ|� X:;d ���$�� ��ҕ+�  *$� *��.�� X:;d� X: qQW* X:;d$� qQW*����<�2� *_�P��&�� Ԁ|2� qQW* qQWP�qQWP��.������(��0(A1)��(�p ������*����0 @jp  E@8������<��D����)�Jw ����*�� D��  @jJzV����P��7 ������n ��'��.�� {D��O�N S4 Ϋ@yn {��(��`" ��phw ������e�7 ����*� ��.��" Ϋ@p hpO�N@j" ������" ��������+� ��*��{" ݩ� O�i {D��@j������,�p ��������.��@jp   E@8�� <���������-�X �����,��O�i :���@j X � `�������.��yjR������c3@��nG@��0u@����.��!Xz@��K !@��{Q@��{Q@��Q`r@����.��Y@��Y@��fy@��Lq@��}y" @��g��.��*}K@��p@��t@������(��yjR(Xu��.��L xZhP�{QhYhh$h.R��.��h4-S.h��YjRh�ryh@rL hJ����s�KhP����������yjR����.������ �e���w ���� � �����{QY��.��&� �w �w ���� �| 4��� ��nGA��.��L������ � Ba Ba"�����#+" N*,+�K*��.�� Ba# Ba" Ba* Ba+ Ba*V����*�2&X3���� Ba2 Ba3�Bay��.�� XC � X X  B��&�� qQWX qQWX qQWX &qQW��.��>  � 5��@  C BW!&�W!���� qQW qQW X:�����d!�B D C �B���� qQWD�Ba�U��.��C  �( � � @ ��.�� qQW X:vL� X:vL� qQW $qQW@ ��.��<�B  �P\�0\� @X�0��P �w j� R?�;��&��X:� X: X: X:��.��v��ҥ �ҕ �ҕ �# ����� Hq�&R �$�� �� �w � �7���.�� R � X: R � X:X:�l��������� X: X:�f�����������&��X:� X:�X:��Ԁ|�;����� PAGE � ����qQW��(��fff5�@�� w ���� Hq��f(��� ��(� ����qQW�qQW�� ��DF���� Ba�O�i :���������.� ������Q��*��@j   E@8�� ������@��/� ������*����@@j E@8������������0�^ ����*�� ��  @j^ O�i �������1� ������2�k��,�� :���@j  O�i wC^��@j������\��3� (����U��*����\@j (E@8��������^ �����4� [��,�� ^  O�i :���@j ����2������ ��F��*��2E@8��   O�i���� �-�@7-���w���& "�����fy K !*}K"Q`r��.��r�6�����B ` ��e��Q��.��� e��w P� �B�f&w ���� ��$}y" ��.�������w ��< � "�� �a����nGc3��.���4o� �4� � ��&| (����.�� � ��0�| *�0@� ���t � ,�� �� K !a��.��0���e����w ������w D��(�� !Xz{Q�Lq Y�&{Q��.��V:���w ��w �w ��w ����� nGc3 Y�`p��&�� X:� X:\� X:\� X:X�e�� ��bZ� � PX�U������&�� X:Z� X:X� X:vL���lzw�/�� ���LI�X� ������ ���NL�6��� Ba�� �B�� �� ����� Ba��Ba�ze����z �U������� X:;d � X:vL��Hqp�:��(��p�w[M y%` QQR RK-[z��]�����f�w������ ^�i����X:^��;d�j�����^�X� z��&�� X:^� X:X�qQWz�Ba�Ȇ`��.��C !� @ �B  �Pf���&�� qQW qQW@ "X:� (X:�F�BaF��(��F���( t�ҕ �B�B �x��.�� Ԁ|� X:;d�� X:� Ԁ|B� X: �����Ԁ|�{�����.MAIN.�����qQWc��.�� �� �f e0�R�&�P���� &X:���.�� @ �(� �@ �!��� n�N���� X:���(��.  �e �ee �e �������Hq������L�$L�o��.�� X:L� X:$ X: X:L� X:�����0L�:v��.�� X:0 X:L� X:: X:v�qQWN ��.��N �!& FR� 8 0�E��������5� <������o��.�� wC^��@j  <E@8�� .����,4 �����6� F��*��4 O�i wC^� @j F1����<������H��\��7���,��E@8��  H ��\@j����L ������8�^ ����(�� O�i �'���� @j^ O�i����Z���9�L ^ ��������.�� :���@j L  ^ E@8�� ����jr �����:� P��*��r O�i wC^� @j P+����z��������@��;�_��,��E@8��   ��@@j0�����������.��|��w ��w �w �� �Bf����nG c3��.��&w ��������4 "�������}y" Y{Q_��.��� �B �& e � 7��� �� ��$0u ��.��&& e ��w ����w ��4 �#����0up$t��.�� �4��4�����w ����w w ����{Q Y��&��:�%����| 2� ��������.��:t~������"^@��q �X@��@����.��8@��k@��@��8@��%@��)��.��%@��%�f���.��0f�@d� Pd�� U����@��.�� X:f� X:d� X:d� X:� &X:vL�������f�q������h�����X:h��;d�T�����h�d�����X:h�X:d��lzw ��� �� �EN�R� ������ ���DS���� Ba�Ȉ���� ���CR���� Ba�Ȇ���� ��� 7���� qQW �qQW Q���� �v���� kQBa� Bav�Bav��.��v   � @� P 1���� X:  qQW qQW@��*��j��'�X t�U������.���5+���� Hq���.��t  � U��� U���U�D{����X: �X:vL�� X:vL���� �� H����� BaH��BaH���.��H�&Cfffff>B X���� X:>\����n� $ _������ kQBa��Hq�O������+�y�-��*��/��&���.�� Ba� Bay� Ba� Ba� Ba�������!���M���� Ba��Bax�q��.��x�  �db(5`�5`�ҵ@�Ե@����� X: ���.���  � �E �SSST�_� J B����� X: � "qQW ��.���������������*��S�2 E����S�2  -}7%D��.����<���(1X,'BLOCK NUMBER TO SEARCH FO|����@j�� H��*��R(O6 FORMAT)?'/)��=��� ������������*��@jS�2 :�� �S�2 6&����������������>���,��S�2 wC^�S�2 7@87%@j������(O6)��?������� ��.���� @jS�2 E����S�2 ����������������������,��-} S�2 wC^�S�27@87%��.����@���@(1X,'SEARCHING FOR BLOCK ',O6/����@j�� �2@��%8@��%":@��y@��V��.��Xz@��!Xz@��""@��%W@��_&L @�����.��t::@��:y@��{L@��_M:@�� N@����.��vQ{@��{Q@��{Q�2@��Q`r@��Y@����.��Y�2@��zBy@��ln@��@��@@��F��.��2@��8@��ą@��ąy:@��ąXz@��K��.������(��:t~(B h$ :hyhO��.��!h�'ȑh�' Xh��U(hEQhs��.��Ev,h MxhD=MF h6_MRhr Nh��.�� N:,ha :hf8"hrq@QhLqhU����-yhąYhJ�q��������� X:j� X:� X:t� "X:vL���Hq������v@Q�d@�����qQW ��.�� � r�E r� l�wl� v����.��X:vL� X:r�X:r�X:l�"X:l�U��(�� R-n� � � b� n�7 p�-p�R��.��X:n� X:;d �X:n�X:p�"X:p�r��.�� �� H� p�p�j� ѭ� ;��.��X:;d�X:p� Ԁ|p�X:j�"R�B��.�� a� &� 8 �ҋ�U�U�R���� Ԁ|a�X:vL���.��4 r�7��%� �|�R�ҕ �|���.��X:r�X:vL� X:���R�&�  N @  ���� qQW f����� N � � �g���� qQW �qQW G��.�� �& @   � �&� Q��.��   `@ 5u��.�� @��5`��7 �7 �U�����.��X:�X:�X:� X: �&X:vL����.�� ���F �E�7 �5 � � �T��&��X:�X: �$X: �(X:vL� ��.��4 w�J.-��45�U@���5�*����X:�Hq�"X:vL��w��.��Z 5@�;U� ��E@�5 �� �@�� ��>)� ���@����@��A���B�Jw ����7 ����*��@j@j Jpe {D��O�N����V����d^w �����8��(��S4Ϋ@yd ^w {D��� ��h�e�7 ����C�R ����D�L ��.�� kv� O�N@jR @jL ����X ����������*��X E@8��  ��Z��"����E� ��" ��w ����7 ��.��@j  { " Ϋ@<@ ��������F� ��( ��w ��.��O�N@j  {( Ϋ@?��������7 ����G�������:t~�� ��(���� � � ����1-���  ��(��{Q� Y�ln{Lln��*�� �����w  � ���w j%��*�� N�%": %2�{Q�{Q�2T��.��B��w � ���w d��w L�w � %��*��{Q� Y�_&L Y�2"Y���&��h����w F���� � ��(��{Q� vQ{ąXz!Xz{Q���(���� ���w  ���w O��*��Y�{Q�yY�:y��.����w �� �8����$�3 �4��B��"��Y�Y� X:|� &X:|�����Z " w v�,�x�7 r����.�� X:v� R,� X:x�X:r��Ԁ|p��� ��p��Z����Hq������ ,���&�� X:  R,� X:�R*�����*������z�����qQWn ����n ��@�����0��.��X:�X:vL�X:vL�X:�X:vL���.�� ��@����� fA�ʕ� R��.��X:�X:vL� X:vL�X:�X:vL���.�� �fA� ��� ��e��� �� ʕ� Jҋ� ������R4�����4������E� ,U����X:vL�� X: � X:���.�� �)6 4JU� �� �>U�����X:vL��X:;d���.�� ��W!.�U��� � �W!.�b����X:vL��X:vL�� ��(�� U� ��&$��  ���� X:vL�� Hq��Hq������ +� -� "� '� %�|��.�� qQW qQW qQW qQW qQW w����� <� ^���@���� qQW qQW �qQW ��.��  � & Q U��W!>�y���� w�� zH� ���� Hq��Hq�3�����$ C�* D�. �����,��u~@ O�N@jS�2 :����S�2|������������������f��,���-} S�2 Zv��S�2 Zv��������������H�������,��S�27@8 7% @jS�2 :����Q������ ��������������*��S�2 -}S�2 {D��S�2�������������" ��( w��.�� {D�S�2 7@8 S�2" S�2( ~��.�����������I���h(1H0,6('* '),'LISTING X��(��S�27@ 7% @j��h��.��6OF MFD FOR ',A2,O1,6(' *'),' ON ',5A2,����\' AT ',5A2)h� ���h|�����Y{Q��.���&w 6 �% ��0�w @����.��� �t ������w �������{L N�(ąXz��.���w �w��� ����w �����y��(��ą�Q`rvQ{$Y( N���.��>w ������� �� d���� {QYą�R��.��d w T�����������_��&��@_M:k$�(_M:|��.���Bw *�& 5�&e��&&~�������.���" e���s���3�����������E0�����qQW [���� ������� kQBa� Ba���Ba��]��&����  ��w� 2  =��.�� qQW qQW X:�� qQW2 X:p��,���Za^5�d� � �� ��.�� X:Z X:d� Hq� qQW� $X:��.��B�^ 0� �8� � �& ����.�� qQW^ X:0� X: X:8� $R���.��h� .'��E�EUQa �c��&�� qQW. R� X:� (R���.���� p��� .5@��ŧ�E���.�� X:� qQW�O�2 B�����.�� qQW$ qQW* qQW. qQW2 �qQW$ d��.��$ L �e�e�e������ ����X:;d�X:;d�"X:;d���.��J ����! ! W� �-- � `��&��X:;d��X:;d� X:� Hq���.��p   $��& e �& ����X:���.�� @4�� $� A� �7���� Hq�{��.�� @����  ���C0� � D����X:;d��X:;d�7��.�� & N`  U�`&e���.�� w��, 7 �U���� ����h��J���������������*��@jS�2 :���� S�2-}`��.��z����K���(1H ,6X,'UIC',2X,'FIRST UFD ����7%@j �� ��.��BLOCK',2X,'UFD ENTRY SIZE'/)��L���M����� @j$@j(����w ������X7 ����.��PZ :��� 4R���� kv�XO�N������N�Z�� ��O� ��4 Q��.��@jZ O�i @j {4 A������ ��������Y��,��ݩ� E@8 �� ��k����.��P� ��4 �� w ��,��.@j  {4 Ϋ��.������&&� e���3 �� �� "^��.���3�s�����&&� ��B����"^&ąy:q��.��"�w h�@Ke��SSSS�� ��%W��.��H����  e�5�9�� �� Xz ��.��n & 04� ��.�� &&�& �� e� ������ "^���.������7�� �w @����� �� )��$��q �X q �X8 2&%��.��w 8���w "���������K��.�� %�. X:� X:� (X:�p��,���U��E,�U,�(� 6� �D��.�� X:� X:,� X:,� X:(� "qQW J��$��� 8 � �� . g��.�� X: qQW8 X: R� qQW.������ u� t ��.�� X:� qQW Ԁ|u� qQWt �Ԁ|u�����u� END OF PASS 1�$�����Ba��$��� | _�xr� N S��.�� X:| qQW qQWx X:r� qQWN 3�� �� �$�    �0��.�� Ԁ|� X:;d$� qQW X: qQW �� ��8 8 5���@� ��&��X:�Hq�X:vL�� $Hq���,��. �5� �U���-��� &>���.��X:vL�X:vL�X:vL��X:;d��X:vL�R��$��R �$U���" �7 �����.�� Hq�X:vL��X:vL�X:vL�X:;d��l����n �E�M����X:vL��Hq���.���������������������������������� ��.��  ��.��> �@@@@@@@@@@@@@@@@@G����d@@@@@@@@@�����A�����qQWv ��&��v ���  ��(�� ��ş��.��X:;d�@ ��������7 ����Q� ������,��zQD O�N@j  @8O�iG����$ ��R�����S���T�p b.��.�� @j �� @j@jp b����:������F����U�G��,��E@8��  F ��@j�� ��Jl�� ��V�Vw �� 7 ��,��.��lO�i  @jVzQD O�N}����b�� tP��W�v��M��,��   t P@jvO�i����t���X�d ~�� ��V��,�� {D�@j d  ~Ԫ@8 @8/��������Y�v �� ��Z�w ��.���28%�t::$�(%":��.��U�w ���&� � f �� ��ąy:����,5�w n@w Ze��������.��i�K������aKY@��!Xz@��f9:d@����.��Tk@��k@������(��i�K(Fc3h~���.��%:dh�%wh��42h~hD}y" h�@h�����ph�th��Q���������i�K����.�������� w�R w�7��w ��� ��$!Xz0��.��&� w � ��w�w�@@w � x�� ��!XzB��.��L��� w ���  E�d�.���.�� X: qQW8 X:d� X: X:.���"��P  ߋR5�@X�N � `��.�� X: qQW X: X:X� X:;d�i��&��j��� .$ R � |���.�� R� X: qQW. qQWR Hq�O��.���5� �  `��ɥ�a��.�� X:� qQW Ԁ|� qQW X:���.�� ҕ � �ڇ 2� � (�� .t��&�� qQW X:� R� &qQW.��*�� R ҕ �� ҕ ��  ��.�� qQWR X:� qQW X:� qQW ��X:;d��X:;d�� Hq�X:;d����.�� ��� $ ���"���� ��l����X:;d��X:;d��X:;d���.�� � ��LC� �@ @` E�;��.��   #1-��Q$ L�`~����&R���.�� `B L� #`B � �L�  &��.��, #1-��`� w�7� s�B%����R�R�&B��.��R � �L�7 � t�� t����R�R�&R���.��x ��`�� �@ R ��/��.��R� rBx� rh���O�i@j v O�i @j������ 7 ���� ��,��zQD  O�N  ������[��� ��\���]� ��*��@j��  @j@j  ��������4 �� ����"��,��@8{4  ݩ� @8O�i�������^�d ~�� ����,�� {D�@j d  ~Ԫ@8 @8/��������_�v ����`�w ��.��O�i@j v O�i@j������7 ���� -��,��zQD O�N ��"�� ��a���b�w ���U����!Xz!Xz��.��r� �e� w � @ � h�� �� ���.���  E �w �  �R O��.���� �R � �& @   ��.�����@�� �   � ����f9:daKY{��.��  � c   �&w >����0�� �� �� ��Tk������.��(`������"^H�%"@��%^@����.��^@��_@��H�%WH�42h~@����.��t:^@��t:_@��K(H�{L"@��{L^@��?��.��{L^@��[M^�A��&�� p � ��4�����.�� X: qQWp X: X:��Hq������ =�% �R �G @�f�����Ԁ|������******�SYMBOL TABLE������qQW U��.��  � � � .{ N  � ����"X:���.�� ��i � L \Č ^5 �d�Z�(��.��X:�� X:vL�X:"X:d� (Hq���(��: �!� | �����.��X: X:� X:;d!� X:| X:�����Z ��!� -�"�  l��.��X:�X:� X:;d!�X:�X:;d"������� r � (r ����.�� ���   �e� ���� rh�� �Z���� 7 >7>�w 5����X:> X:>�f,�A�� ��,� >����X:>�qQW ��(�� Lu��5��7��f�A��B��.�� rh�� rBx�R�R� r ����"�� ��C��� �����.�� rh�� rBx�� X:� X:� X:�e��.�����f�6�  �R ���� X:� X:�W��.��6RRRRRR�R⋇���e�w@���� &w�w����\U����� 7 ����c�%��,��@j@j zQD O�N@jH��"��$&w ���7 ����d�8w ����.��&zQD :���O�N@j8zQD����>��7 ����e�Jw ���� ��,�� 4R����O�N @jJPZ 4R��������R���X7 ����f�L ^ ��.�� 4R���� kv�X O�N@jL ^ ����d������znw ��7 %��*��E@8��  z nvLDS����x����g�. ������(��,��O�N@j .  E@8�� ������2��h���i�w ����*����2 @j@j�H�_M^@��_M_@��N HH�F��.��{Q"@��{Q^@��_X"@��_X^@��cYMH ���.��_p&@��f gH�fxH �\qP@��&y^@��K��.��Ry8^@��ą"@��ą^@��ą^@��꤀W@����.��@������(��:a (q �XhfaKYh�)��.��nGho�" hhkhh>%h��.��8h6kh4h.%h>8h&��.��%khT%hx�%h^%h%2h���.��%8hV%":h�%xdh�%yh�&hz��.��&Zhkh��hf�h:hv���.��h`�Xzhq�hU%h�*}h<���.��n  ��� x�@a �` l��&�� X:X:�X: X:��,�� W h5�d��� ҝ��.�� X: X: X:hX:d� X:�d��(�� �@h �� ���.��X:� X:hX:�X:� X:���"�� ѝ� ѝ �w wa���.��X:X:�X: �X:X:�+���� �"�� ��H��.��X:�X:;d"�X:X:�Hq�K��&����������������2�����;d$��� ��$�w!������������X:vL���kQBa��������kQr��������R������������������.�� Ba�� Ba��� Ba@�� Ba�� Ba������(�������������.�� Ba��� Ba@�� Ba�� Ba�� Baw�������vL ��� �� ��_����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PZJ��������X7 ����j�+��.�� :��� 4R���� kv� XO�N@j����w �������X7 I��,��PZ 4R���� 4R���� kv�X��������k��� ��l� T��*��O�N@j  O�i @j ����������m� �����,��O�i kv��@j O�i kv�������n� ����4 �� C��.��@j   @8{4 ݩ� ������������ ��o���,��E@8��   �� @jO���� ��4 ��w ����+��(�� {4  Ϋ@ ��.��a" h-hl�8Qh^f9:dhm�t::hr���.��A h&�;Kh&�{L:ht�{L�}h{Lh���.��[MDh[Mwh�_M:hs� Nh N8hzl��.��{Qh{Q}hxTkhp�WUh_X{Qh��.��YhZZ h,Zyh^h^@yhL���.��_��h`�dhV�5axrhfhl�s*}hl�"��.��Ayh^y��hy��hzh�zg'h���.��zByh�z*}hr�YzPshlzh��*}Kh��.��}ghlnhkhn�hN@h\��.��2h8hFąe hąhną8hf��.��ąy:hą:hu�ąXzh�����X:;d!��w�O�� ���3f -���� qQW �qQW o��,�� ��!��d�%hw �b��.�� X:;d!� X:dX: X:h &X:bT����, Zd-\5�d���.�� X:Z X:d X: X:\X:d�h�� ��B ZZ�w �T��.�� X:ZX: X: X:Z X:TG����Z ZVh\c��.�� X:Z X:V X:h X: X:\u��"��h � Ý7`��.��X: X:X:X:X:�� �� ĜA  � ���������&��ZI9����������(�����(������������������������  �50ZqQ�� �� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PZ�������X7 ����p� >��.�� 4���� kv�X O�N@j  ����(����4 ��:4w ����n��*��@8{4  Ϋ@ :4K�}����<�7 ����q� ����{��.�� :���O�N @j  @8{g����N4 ��\Vw �����7 ����,��4 Ϋ@\ Vq 5 :���O�N����d��r�L X ������x��*��@jL  X  E@8�� xS����t��p ��s���������.����p @j S�2 :����S�2d�������������������J��.��-} S�2 :����Zhc2h����Qh`ZXah\����������:a ����.����INLOLSUPDFSCBCMEEDIPTRBLMBDERWBSSKLEZR����&���������������*��&y^&y^&y^ &y^ &y^Ry8^����2���������������*��Ry8^Ry8^Ry8^ _p& _p&_p&����>���������������*��_p&_p& ꤀W ꤀W����J���������������*��\qPt:^_M^ {L^ ą^^����V������������������(��t:__M_\qP \qP _�r�u�� ��r������}� ����c�����U������� ���������.��X: X:X:;d� kQBa� Ba�������Ba����$����<��f �� � ��.�� X:;d� X: X:�� Ԁ|� qQW��$��� � 4 �ҕ+�  p ��.�� X:;d � qQW4 X:;d� X: qQWp ����8�$� p 2� p _� ��.�� X:;d$� qQWp Ԁ|2� qQWp qQW ~�����qQW ��.�� w p� Rŀ�ɕ��&��X: X: X: X:q��.�� ?��.ҥ �ҕ �ҕ �# ���� Hq.:�� �� 6�6�w �6���.��i|L������qQW@���@��""@����.������(#phxy:h�K�}h�pehq��.��ph�Tqh�q 5h�wh�zh,��.��PZh�[h�te h{D(�����(��0���������������������7 �w ���0M���� qQW��� ��.�������@7|�7z�A%�7p� ��.��6�@�h�7 h� �-��DT N�7 H�UF����{D�{D��i��.��\��H�->��= ����%����� {D���"���.��� 8 ��5�����w �����������o������S�2 :���S�2��.��������t���(1H1,3('* '),'LISTING OF [��"��7@87%@j ��(��.��',O3,',',O3,'] USER DIRECTORY ',3('* '����)//)��u������� ��������*��@j S�2 :����S�2 -}��.������v���p (3X,'FILE EXT',7X,'DATE',2X,L����7%@j �� p ��.�� 'TYPE',2X,'USAGE',2X,'LOCK',3X,'START'Z��.��D ,2X,'LENGTH',6X,'END',2X,'PROT',5X,'EB|�� ��j P'//)~� ���p p����p ��w���x� ��4 �� ��*��@j@j {4 ݩ� 7���� ��&���x� �������������������������{����x� �� D���� ����������� ���\����\����t����h���� �h���$�������������E�����������������42h~42h~���(��������������E������������������ %"%^�2����2�����E������������i�� ���R�� ��R���������������������������%"%^�v�� ��v�����������������������c����{Q"{Q^�k��"���������������������������?����{L"{L^�K�� ������������������7��.��R6� R6� X: R6� X:���� � ��&��X: X: X:�f������f��&��X: X:X:�Ԁ|������ PAGE �����qQW 2��(�� fff5�@� � Vw j���� Hq ��f(��� ��(� . ����qQW. �qQW. "����. ����� kQBa� Ba�Ba!��$����� Z ҕ �B� ��.�� Ԁ|� X:;d�� qQWZ X: Ԁ|B���,����6e �ҕ ��6e������ qQW�����""� ���.��������������@ 7w������"�(�E��.��� �����@B�E���t�� ���0��.����@Bf�f��"�f�& "��.���f�f��6�F�!���������.��@�?���? ��.��f �@   r v l�� ��$vU����6B @@��� ��6���������������������������������������������������������������������������������������������������������������������������������� �� ��y���,��E@8��   �� @j���� ��4 ������z�5��*�� {4  ݩ� O�i@j���� ��{�L X ������ A��*��@jL  X  E@8��  ���� �� ��|������� ��.���� @j S�2 :����S�2 ���� �����������������}���.��-} S�2 S�27@87%@j��.�� �� (1H0,'UFD BLOCK = ',O6/)��~������ ����  @j$@j(���� �� �������;��.�� {  U� @j�������������ą"ą^�'�� �����������������������������_X"_X^�&����&94>�0����94>0�4����4����@���� @�D����D���P}���� P�T=����T��YT`��`����YT ``�d����d���p���� p�xh����x������� �������}x�2����}x ������������ ������� $X:�Ԁ|������.MAIN.�����qQW4 ��.��4  �� �f e0�R�&����� &X:���.��Z @ �(� �@ �!��� v����� X:���(��  �e �ee �e ��@�����Hq������ ~ ��.�� X:  X: X:~ X:  X:z�����P Z��.�� X:P X:  X:Z X:�qQW &��.��  �"& R�  0�E���� Hq���.�� 5 � U��� U���U ����X: �X:vL��&X:��.��qQ[������f4R@��\q@��`;@����.��@Q@��,0z@��O�N@��@j@������(4�\����qQ[h������(��T�����������������*����7 ��������qQ[����w ���7 �������.��O�N@Q@j�f4R O�N"@jd����"�$�w ���7 ���������"��$�\qO�N@j`;������.��f4R������K�}@��q 5@��@8@����.��E@8@��v@8@��@����@��ݩ�@��.��.��+]@��7%@��7@8@��@Q@��,0z@����.��-}@��O�N@��O�i@��S�2@��S4@��2��.���}�{���� ����� �� ����.�� U�@j  { U�&����" ��� �� �����;��.��@j  { U�@j�� ��6 �� �����D w ��7 ��.��{  U� @jD zQD�� ��N �����V w ��7 �����}��,��O�N@j V vLDO�N@j����f : ������v �� h��.��:  E@8 �� v �� ����v ���: ����� w ��M��*��@j:  O�i @j PZn���� �����X7 �������.�� 4����,����zf������V��K��.��z f $V��&��F��z��f����������ONOFE��G����F zf�����lJ0L^~:,��.��lJ  0L^~:,F����B2t��#�.��B2t � �0��.��0�TOO MANY GLOBAL SWITCHES �UNKNOWN ��%��VOPTION �BAD NUMERIC FIELD � ���tq����t�COMMANDm� ���~g����~�BUY MORE CORE /� ���U���� �FATAL ERROR � ���vL������ � �L����� kQBa� BaL��BaL���.��L�&Cfffff .B ���� qQW. X: ����r�X \$ _��/���� qQW\ kQBa��Hq�������+��-��*��/��&���.�� Ba� Ba� Ba� Ba� Ba�p������!��� ���� Ba��Ba�_��.��� H  �db(5`�5`�ҵ@�Ե@�X���� qQWH X: ���.���  � �E �SSST�_�dJ B���� X: � $qQWdU��.����R�&�  N @  ���� qQW�@��@8@��{@��@j@����@����.�� @��je;@������(Vf4Rh��4R��(���&��4��(�kv(�:��(�������������������"����7 ��������f4R���*��8��^��,��O�N@Q@j*O�i8��S�� ������������������ �*��:����B��.��@j * @8:v@8O�iB����0��� �*��D�� �2����.��@j* O�i D@j2{����D�������� �$F�� ��*��ݩ�O�i� @j$FE@8����T�����\����� �b�w ����� 4���� kv� XO�N@j���� �� ������L X ����*���� @j @jL X E@8���� ���� �� �����9��,����   �� @jS�2���� ���� ����������4��,�� :����S�2  -}S�2 kv��Y��.�� ������������ (1H0,'TOTAL BLOCKS = '<��(��S�27@8 7% @j�� �� �� ,I6)��� ���� ��� g��.��@j  @8O�i @j ���� | ���� ���| ����.��| @8O�i  @j|  E@8���� ����E��%���COMPARE CAPACITY EXCEEDED � ���'��.���RAN OUT OF BUF HEADERS �SYNTAX ERR����OR IN COMMAND � �����.�� �IO ERROR � DEVICE INIT ERROR � D��.��EVICE OPEN ERROR �LIST�UPDATE�MASTl��.��@ER�NEWMAS�WRONG NUMBER OF INPUT DEVI�� ��fCES � ���lx����l�TOO MANY SWITCHES � ���b�����ILLEGAL SWITCH �� ���J�����FILCOM V��.��� >������.��*D������{Q@��Y@��@��K��.��@��42h~@�� Mx@��=MF ��� ��� N � � �l���� qQW �qQW ��.�� �& @   � �&� ��.��  `@  F� f ��.��B 5@��   5`��7 �h����X:�"X:�(X:���.��h7 �U�����   �E�7 ����X: � X:vL��X:���.�� �5 � � �w� N7��� -��&��X: �X: �X:vL �"R�`��.���� 5�U@���5�5@�GU~����X:�Hq�X:vL����.��� ��E@�A���>��,���� \� �} @jb�K�}����h���7 �����v�w �����,��� :��� O�N @jv�q 5�����~��7 �������������.�� :���O�N @jS�2 :����S�2��������������������,���-} S�2 :���S�2 :���@����������2*������*��S�27@8 2 *@8{�������2N��������*��S42N @8 {S4%��.����������������(1X,'[',O3,',',O3,']',��(��S�27@8 7% @j�����,������( �� ���| 4��.���� (  �� @j|  W����0 �����������;��*��v@8O�i @jS�2 :��������> ��` �����������N��.��S�2` -}S�2S�2 kv���.��P ������������ (1X,'AVERAGE FILE SIZE��(��S�27@8 7% @j�� !��.��v = ',I5,' BLOCKS,',I5,' WORDS EACH')��N�� ��(@j���� ����p ���� ����.��@j p  E@8��  E@8���� ������ �� ����,����@8   �� c��@�� N@����.��{Q@��R""@��-S.@��Y^@��YjR@����.��Y@��ry@��rL @��ą@��ąY@��;��.������(��*D(a0uhZEh�EMh���.��yh�n; h>nRh<!Xzh]!Xzh`��.��_&L h�::h�:EMh�:yh�K Nh���.��K !hl�vLyh�vQ{h{Qh��{Q�2hn���.��{QOh�Y�xh�Yh6�Y�2h�YOh���&��Y@ h�kf��hXfyh\�"���������*D$�����$�6�������������(��6�-S.ry R"" Mx42h~s����0����������{Q��  8U �5 ?����X:vL�� X:� X:���.���  x U� �� (� `'U�A����X:vL��X:;d���.��&��W!.� W!$�U��� � z����X:vL��X:vL����.��L �W!.� DU� ��  ��f����X:vL�� (Hq�����r  �����Hq������.+�~-�"�'�%�z��.�� qQW. qQW~ qQW qQW qQW����<�^������� qQW qQW�qQW~��.��~ �   ɟ��ŀ�  ����X:;d����*����11X,O6,10X,I5,'.')���2:����8��0:��.��@j2:@8 O�i"8$&0k��"��DB:�������P��P�R��.��DB:� @j�} 4R��� 4�����.�� �\�\��\���\����\����������kv�*����F��\����\�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������  �������. ��.�� kv�  @j@j.  z���� ������ �� ���}��,��E@8��   �� @j ���� w ����7 ����� A��,�� zQD 4R����O�N@j  I���� ���� ������ w ��_��,��@8O�i  @j@j vLDQ���� 7 �����L X ����D��*��O�N @jL X E@8������ ��( �� ��� ����.�� ( ��  @j  v@8|����2 �����������h ��.��O�i@j S�2 �{Q�Z�����Z���������������(����YjRrL  Y^ =MF ąY����f����������Y�Y�n���.��n������z�MASTER LINE 00000 �J��{��"���� N�z�&J�(���.������NEW MASTER LINE 00000 �������� N��$�&�(�i��.�������+DEL 00000 00000 ���P��3��&���ą� �"�$�&P�(���.������+INS 00000 00000� �� *****����ą�� N� ���.�� �.�******************************����U�� W!>�w� H����� Hq�Hq����C�D�O�B�F�����.�� qQW qQW qQW qQW qQW�����qQWx��.�� L �e�e�e��� H��r����X:;d�X:;d�&X:;d���.�� � \����! ! W. �--w��&��X:;d��X:;d� X:� Hq.��.�� 8� � ` &�   �����(X:���.��8�& e � @4�. $� ���� Hq.(��.��^ A� �@�� � ��.�� ��.��qQ[������f4@��\q@��`;@��T��.��@Q@��,0z@��O�N@��@j@������(4�\����qQ[h������(��T�����������������*����7 ��������qQ[����w ���7 �������.��O�N@Q@j�f4 O�N"@j2����"�$�w ���7 ���������"��$�\qO�N@j`;������.��f4������#p@��zQD@��p@��$��.��PZ@��te @��@8@��@8@��E@8@����.��v@8@��@����@��ݩ�@����@����.��+]@��7@@��7%@��7@8@����@��&��.��Ԫ@8�:����S�2h o����B �������� �� ��\��*��-} S�2 S�2 S�2R����T ���������������,��S�2 kv�S�2 7@87%@jz��.��d �� (1H0,'NUMBER OF FILES SEEN = ',I5,v������ S��.�� /' NUMBER OF BLOCKS USED = ',I5,/' AVEI��.�� RAGE FILE SIZE = ',I5,' BLOCKS,',I5,' i��.�� WORDS EACH')���F �������� w ���7 ��,��@jF @j@j $ #�}��"�� �������f�\���P��P���(��O�N@j �} W@�� W@���&�� �P������ N� g��.��,************** � DIFFERENCES FOU�� ��RND i� ���X�� ��X�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������C0� �  & N` ����X:;d�� X:;d�S��.�� U�` �e�w�� � ���� X:���.�� 7 �U���� �@.  �5���&�� Hq�X:vL�� Hq."X:vL�g��.�� �U���-��� F�>�. ,�c��.��X:vL �X:vL��X:;d��X:vL� "Hq.!��(��U��� � �7 ����E���.��X:vL��X:vL�X:vL �X:;d��X:vL�F�����Hq.N��.��.������������������������������� Y��.��T  �@��@Q@����@��@8@��,0z@��!��.��-}@��O�N@��O�i@��S�2@��S4@��1��.���}@��@8@��{@��@j@��Ϋ@@����.����@�� @��je;@������(H f4h����.��{D(�W@(*�4��(�kv(�&@(���&��:��(�wC^(� &( �������������������$����7 ��������f4�� � �� �� �S��,��O�N@Q@j O�i @j�����P �� ���� �� ���.��P  @8  v@8O�i @jR����.���� �� ��� ��D y��.��@j  O�i � �P��P� �P���\���.�� W@� W@ � W@� W@ �4R������(��4 �P���\��P���\��\���.�� 4R��� 4���� 4���:����:�����&��T �\� �\��\���\��P���.��:�� � :�� �:���]d���� ]d�����.��r ��\��\���\��\���\���\�����.��{D�� {D�kv��kv�wC^��k��.�� �\����\����\����\��SY\�SY��.�� ��N \�N ���\���SY\�SY��DC\�DC[��.�� ��DF\�DF��SY\�SY��DT\�DT��@�\���.�� @�N \�N ��.��qQ[������\q@��ZI9@��`;@����.��@Q@��,0z@��O�N@��@j@������(4�\����qQ[h������(��T�����������������*����7 ��������qQ[����w ���7 �������.��O�N@Q@j�ZI9 O�N"@j����"�$�w ���7 ���������"��$�\qO�N@j`;������.��ZI9������d4@@��PZ@��[@����.��j��@��@8@��@8@��E@8@��@����.����@��ݩ�@��+]@��7%@��7@8@��a��.��Ԫ@8@��@Q@��*@8@��,0z@��-}@��>��.��O�N�h��.��z �@@@@@@@@@@@@@@@@@ ����@@@@@@@@@����������qQW<���(��<���  �� ��. ��ş��.��X:;d�X:;d��X:;d�� Hq. X:;d���� ��\������X:;d���w�n�� ���xK����� qQW��qQW^2��.��^� $ ��� ����J����X:;d��X:;d�/��.�� j��� `��� V�� f�7 f� ���� X:;df�&X:;df�U��.��h��h��"�U���� $��l��.��X:;dh� X:� X:;dh�X:�X:vL��X�����w���@j {D :����B��� ������R�����,��ݩ� E@8 �� R��� ����P����J ����D ��,��@j J   @8{D ����b������������V ��.��ݩ�@8O�i kv�� @jV  F����r��������� ��D x��.��@8O�i kv� @j {D �������� �� ����w d��,��Ϋ@�  { Ϋ@���� ���������7 ����� ������,��pO�N@j  @8{�����D ��� ��& �����,��D Ϋ@���A \�A ��\�L \�L ��.��0��S \�S ��H \�H ��F \�F ����\���.��V�����\��DT\�DT��8�\�8�?�@\���.��|@�\������L1���\�����**\�**��.����**\�**��**\�**��**\�**��**\�v�� ��**��L2����DT\�DT��L3��.������.��< ����������(��Zv(�W@(*�G��.��wC^( �{D(�]d��(:��(�_v( �#��.��E��(��'��(�4R��(4��(kv(�y���� &( �����������:������ ������� ��� ��� �� �������E��������@��O�i@��S�2@��S4@��S4@��^��.��U�@���}@��@8@��{@��@j@����.��Ϋ@@����@�� @��je;@������(��.��ZI9h��]d��(�:��(�4R��(�wC^( ���.��4��(�{D(��'��(�kv(�_v( �"����������������������$����7 ��������ZI9�����(�����,��O�N@Q@jO�i(@j�������0�����8�����.��O�i0 @jO�i8@j����0�:��H�������:��.��:O�iH @jE@8������� ���M���� qQW�qQW��&��5�d�  f��j�E�j�7 ��.�� X:d�X:;df�X:�X:;dj�X:;dj�z��.��l�� &C� �@ @` E�  |����X:;dl�>��.�� #1-��Q$# ��``����$R���.��:B  �� #`B � � �� ��.��` #1-��`� w�7� s� ����R�R�(��.��% � � ��7 � v�]����R� R�]��.��� ��`�� �@ R ��.��R��  {& Ϋ@���"����w ������7 ����� ��7��*���pO�N@j  @8k�������D ��� ��, �� ��.��{D Ϋ@ � {, Ϋ@��$�����w ������7 ����� ����.���� pO�N@j  @8.�� ����D �� w ���� 7 ,��,��{D Ϋ@  #p  ���������� ��� ��*��O�NS4O�i  @j  t����*����D ��<6w ���� ��.��@8{D  Ϋ@ <6#p !����@ �� ��������� &������������������wC^��� ������� ������ ���������:�� ��� �� ��������{D��M�� �������������]d����%�� ����X������'������ �����������wC^���� �������� ������ ����������W@��{������************�����Zv���� ����024 :�����_v��\��(��������� �@�������� �@�������.��""������+]@��7%@��7@8@��6��.��@Q@��,0z@��-}@��O�N@��S�2@�� ��.��S4@����B���J�������������.�� J��� � @jS�2 :������.��R���f���������������(1H1,6('* '),'MAP ��,��S�2f�-}7%@j�����.��x�VERIFICATION',6(' *')//)�������w ������@j @j$�(PZ��������PR7 �����T��.�� :��� 4R���� P RO�N@jT����������������'��*��{ݩ� O�i 4����@j��������d��b���\����.��@jd O�i b@j\{���������@bl������,����R� rBx� rh�� r ���.�������   �e����� r �� rh�� ����� 7 7�w ���� X:X:�f,��� ��,� 1����X:�qQWQ��,�� �u��5��7� .�f�A��B��.�� rh�� rBx�R� R� $r ����"��2��C��� ���Z��.�� rh�� rBx�� X:� X:� X:�e��.��L���f�6�  �R���� X:� X:�W��.��rRRRRRRR�R⋇� & (�7 ������ ��� t ��.�� O�N S4 O�i @j t ����T����D ��f`w ������*��@8{D  Ϋ@ f`#p����h� 7 ������ �����.��  &�  O�N S4O�i @j����z z ����D ��w d��,�� z @8 { D Ϋ@��������� 7 ������ a��.��#p &� O�NS4O�i %������� ����D ��]��*��@j   @8{D ݩ� ������ ��� ����D ��.��O�i @j  @8{����}@��@j@����@��je;@����&������(�""h��:��(������������������� ����7 ��������""�����������,��O�N@Q@jS�2 :����S�2�� ���8����������������������.��8�-} S4S4S�27@87%[��.��0�������(1H0,6(2H* ),'DEVICE ERROR DUR����@j�� ���.��V�ING TRAN ',6(2H* )/1X,'BLOCK NUMBER = ��'��|�',O6/1X,'FUNCTION WORD = ',O6/)� ����M����������L����@j�} ������.��zQD������I�K@��j8�U� @ bl�@j��������������@��.��E@8 �� ���@����������n���:����.��@j O�i n@j:{���� ��w ������PR7 6��*��Ϋ@ PZ 4����PR����� �����2:����8��*��O�N@j 2 :@8O�i8����0���J��p�� �����.��@jJ O�i p@jE@8����D����N����!���l��,���� N �� @jS�2����T������������8������.�� & & B� d @� � L#��.��   $e��7 �w�H +���� X:X:"X:;d��� ��������� kQBa� Ba����Ba���G��"����U����  ���.�� X:vL�� qQW qQW X:� X:�� ���� �  & ��.�� X:� X: qQW qQW qQW��&��2�  � �U@�5��.�� qQW qQW qQW X:vL� X:�� ��P��     '��.�� X:vL� qQW qQW qQW X:�D �������� ��� ��o��*��ݩ�O�i  @j  @8Z������D ���� ���  ��.��{D ݩ� O�i  @j  j��������D ��w ���� ��.��@8{D  Ϋ@ #p ���� 7 ������ ��� 6��.�� O�N S4 O�i @j  $��������D ���� ���M��,��@8{D  ݩ� O�i @j�� �� ��2 ��2*w �� ��7 ��,�� {2  Ϋ@ 2*te  ����6����� ��������,��O�N@j �v@��S��@��b��.��@8@��@8@��E@8@��v@8@����@����.��ݩ��@��ݩ�@����@��+]@��7@@��@��.��7%@��7@8@��@Q@����@��*@8@����.��,0z@��-}@��O�N@��O�i@��S�2@����.��S4@��U�@���}@��{@��@j@����.����@�� @��je;@������(zQDh��P��.��{D(�wC^(�W@(*�]d��(�:��(�����_v( �������������������$����7 ��������zQD�� �B���� ���,��O�N@Q@jBO�i@jl�����H������,��������.�� :����S�2 -}S�28S�2����h��:��xr����1��.��7@8:O�i x r{S4����x�������@xpp����.��S�27@8  @xpp7%��.����"���(1H0,6('* '),'MAP NUMBER ',I3, ����@j�� X��.��6(' *')//8(2X,O6))��#���$�d����%�B��*��@j@jd O�i"$@j(B��������z������*��{ݩ� z {ݩ� ��������������&���,��E@8��   ��@j�����f��"��h��U���  Z���.�� X:� X: X:vL�� qQW qQWZ�����qQWR���� ������ kQBa� Ba���Ba��?��.��� n �& $& ���.�� qQWn X:� qQW X: X:��.��� � Z�  @� ��.�� qQW X: X:vL� qQWZ qQW��(���t  l� t  ��.�� qQWt qQW X: qQWt qQW��,����&  _�U����� ��.�� X:vL� qQW qQW � E@8�� ����FN �� �� � ����,��N O�i   @j  E@8����X����d �� ��!� ��.���� d  O�i @j ����j ������x��x��*�� E@8��  x��x����x��"���#� ��������,��@j@j  E@8�� ��.������$���(1H0,6('* '),'LOCKED FILk��$���� @j����.��E ',6('* ')/1X,2(A2,A1),'.',A2,A1,'[',����O3,',',O3,']'/)� ���������%�������������.��HE@8 �� ,��������,��� �N������@���*��@j N E@8�� @�����<������ ��������*��.�����@j S�2 :����S�2�����L�������������������,��-} S�2 wC^�S�27@8S�2����^�T��Z��`�����o��*��TS�2Z S�2 `S�27@����n������������l��.��S�2 :���S�2 :��� S�27@8��.��|����� ����(1H0,6('* '),'SEARCHING FOUN����7%@j �� ���.���D BLOCK ',O6,6('�������0��������8}��.��S�2 :����S�2 0 -}S�28H�����������B��)��*��S�2S�2 7@8B{������z���������6��,��S4z{  S4S�27@8��.��&����'���(1H0,6('* '),'MAP VERIFICATIf����7%@j �� ��.��LON ERROR',6(' *')/1X,'MAP NUMBER =',I3��.��r,',WORD NUMBER =',I3/1X,'RECONSTRUCTED��.�� ENTRY =',O6/1X,'SYSTEM ENTRY =n�� ��',O6).� ���#������(�B����z��5��.��@jB {�qQW X:vL����(�� � � %?�S a��.�� qQW X:vL� X: qQW X:��.��2D � �  �  � & ��.�� qQWD qQW qQW X:vL� $qQW��.��X#'�&   %\�0   ��.�� X: X:vL� qQW X: "qQW��$��~:  V t  ~��.�� X: qQW qQWV qQWt X:(��(��� V  E E 5���.�� X:vL� qQWV qQW qQW qQW��(��X� � �U��� ���;��*��@jS�2 :���� S�2-}O������ ��& ��, ���Z��*��S�2 S�2 &  S�2, S�23�����������������.��7@S�2 :��� S�2 :���S�2����������&���'� ����,��7@87%@j @j  E@8����(����2����(�����,���� 2 �� @jS�2'����8����x�������� ���J��.�� :����S�2x -}S�2 S�2Z����L���� ��& ��, ��*��7@8S�2  S�2 & S�2, ����Z�����������|������ *')/1X,'FOR FILE ',2(��+���A2,A1),'.',A2,A1,'[',O3,',',O3,']')� �����������������������,��@j@j E@8ݩ�� �� �����:��� w ��7 ��/��.����: @j j8vO�N�������������\��.��S4O�i @jv@8����(�����������C��,��@8@8 O�i @j������8L���������u��.��L@j  v@8@8O�i$�� ��J���Rw ��7 ����y��.��@j� ݩ�z{������������)�B����,��ݩ�*@8O�i  @jB{g�� ����w ����7 ������.��Ϋ@ j��O�NS4��������*�z����w��.��O�i@j z{Ϋ@Y����w ����7 ��������*��j�� O�NS4O�iR����&��+�:��b��,�\����.��@j: O�i b@j\{����:����������o��,��ݩ�@8  E@8�� T����HN����-�T��������D ��.�� X:X� X:vL� X:vL � X:vL� qQWD��.��Xf� 8�  l�l�e��.�� qQWX X:;d� qQW "X:;dl� &X:;dl�]��.���?�f � �$�  � &���� qQW qQW����& f e0�_�?���� qQW qQW�qQW+���� �<���� kQBa� Ba�<�Ba�<��&��< 2U@�� 5��  %��,�� qQW2 X:vL� qQWkQ qQW\��,��Z�  � �5�� ��� ��,�� X:� X:;d�x "X: $X:;d����.��S�27@ S�2 :���S�2 :�����.��h���������)���(1H0,6('* '),'OPEN FIL��(��S�27@8 7% @j����.��E,USAGE COUNT=',O6,6(' *')/1X,2(A2,A1)��.��,'.',A2,A1,'[',O3,',',O3,']'/)��*���+�����"@j&@jy����h n ����������.��h n E@8 �� ��������,�������B��������*��@jS�2 :���� S�2B-}������ ��& ��, ��2 ��.��S�2 S�2 &  S�2, S�22 ���� ������� �� ����,��S� RS��O�NS4����b�����������.��@8O�i  @j{����t�������x��a��*��ݩ�O�i @jxE@8�������������&��*����  �� @j������~������;��*��{~ݩ�  @8O�iq���������~����{��.��@j { ~ݩ�*@8������~�������6��*��{~U� @jE@8(��������w ��7 ��!��*���� ��.��N�� @jT{ݩ�����Z:����������.��:@8 { ݩ�Ԫ@8����j��zd������\��.��Ԫ@8zd @8 Ԫ@8@8\����z������.�������*��@8O�i @jS�2 :����T����������������V��*��S�2-}S�2S�2��.�����������/���(1X,'LOST BLOCK NUMBERa��(��S�27@8 7% @j����)�� = ',I5,' DECIMAL(',O6,' OCTAL)')� ���������0�*:����0��1������(��~Z � V �  /��.�� qQWZ qQW qQWV R� X:��(��  <   JW!'� ��.�� qQW X: qQW< qQW qQWJ����   Vs��.�� qQW qQW X: qQWV�Ba���.�� *! $   V ��.�� qQW X: qQW qQW $qQWV��*��t  �ff  � Q��.�� qQWt qQW qQW X:� qQW��&�� ��w�U�����.�� qQW X:��27@ S�2  S�2 S�2���� �� �� �� ����.�� S�2  S�2 S�2 S�2����, �� ���������-�G��,�� S�2  S�27@87%@j��.��>��(1X,2(A2,A1),'.',A2,A1,2X,4A2,A1,5��������.��dX,A1,5X,O2,5X,O1,2X,O6,2X,I5,'.',2X,O6����,3X,O3,3X,O6)c� ���M������.���/� ������m��,��@j@j  E@8�� ��������0� ��* ��1���.���� @j O�i* @j����w ��* 7 ����  I�KO�Nx��������������������,��@j�} @jS�2 :����S�2_�������������������^��,��-} S�2S�27@87%@��.�������<(1X,6(2H* ),'BLOCK NUMBER OUT p����@j�� <��!��"OF RANGE = ',O6,6(2H *)/)q� ���<��&��<�����f�\���\��\���P���*��@j�}wC^��wC^� W@����(��Z�P��P� �P��P� �P�z��.�� W@� W@� W@ � W@� W@ ���.��z��\��P���P��\�����\�����*��@j* : @8O�i0@j;������@b0��2�:����,��@b  0@j:O�i+����b��3�\������/��.��b@j  \{ݩ�@8?����������&����*��E@8��  &������&��4�T����:��4��.��@jT { ݩ�:@8����8��������zd��.��{ݩ�  Ԫ@8Ԫ@8zde����H������\������,��@8Ԫ@8 @8 \@8O�i3����V��5������������� X:� X:vL�� X:����8�U�������� X:;d� X:vL���w0�����0� xWy8nA��.�� Bax Bay Baڎ Baڏ�Bax��.��x   HU���� ��  `��.�� qQW qQWH X:vL�� qQW "X:;d��_��.��t @B �    V C _�t|��.�� qQWt qQW qQWV (qQWt�qQW��.�� < V ��<�>�C!W!^����� X:;d����.��8�. 2 C D C!D!���� Hq.B��.��@ U�U���n�*  ��,��zQD * O�N *  U������2�����3���4� ��*��@j �� @j@j K������2 ��5� ������*��O�i2 @j  E@8���� ���������6�w �� 7 (��.�� ���  @jzQD ��������7� ������8�\ ��.��O�N@j  O�i &@��@j\ ����"��: ��9�,w ������(��O�i: @j ,PZ &@������4�� < 7 ����:�, c��*�� &@�� <  O�N@j,  ����F����2 \� ����]d���� ]d��� _v����.����\���\���\����\��������\����\���c������.��I�K������+]@��7@@��7%@��Y��.��7@8@��@Q@��,0z@��-}@��O�N@����.��S�2@��S4@���}@��@j@����@��.��.��je;@������(�I�Kh��W@(*�:��(����������������������� ����7 ��������I�K�����������,��O�N@Q@jS�2 :����S�2�����T��������������������,��T�-} S4S�27@8S�2�����!��.��@j S�2 :����S�2-}����j����������� ��,��S�2S�2  S�27@87%��.��z��6���(1X,'FREE BLOCK NUMBER = ',I5,H����@j�� ]��!��' DECIMAL(',O6,' OCTAL)')� ���+������7�":����(��8���*��@j" : @8O�i(@jK������@b��9�B��7��,��@b  @jB{5������z������:�B��.��ݩ�z { U�@jB����:����H��@P@��,��:@8O�i p�P:����X:vL��X:;dn� "X:;dp���.��f�� 7n��n� x�� H 7�� ����X:;dn�X:;dn�$X:;d����.��7n�� f'� �7 5�����X:;dn� X: X:<��.��� �R�  �  �7 �7����X:"r �&rh ���.���7 � �� � & �g����r � X:��.��� fR %RH��&��X:X: X: X:1��.��$ �   @ * ����X: X: ��;�\ ����*��@8O�i2  @j\  E@8G����V����`����<� > ��.���� ` �� @j > ����h����\ ������i��,��E@8��\   E@8��@8����v��\ ��������=�@��.�� \  @8 O�i &@��@jT����w ����7 ����>�, ��,��zQD &@��O�N@j,  ���� ������������,�� Ԫ@8E@8 �� ��Z������?�����@���A� , 8��.��@j �� @j@j , I������.����������������,��S�2�S�2 � S�27@S�2����>��������������.�� :���S�2 :��� S�27@87%��.��L�������(1H0,6('* '),'MULTIPLE ALLOCAT����@j�� �Y��.��r�ION OF BLOCK ',O6,6(' *')/1X,' FOR FIL��.���E ',2(A2,A1),'.',A2,A1,'[',O3,',',O3,'�� ���]')� ����'�� ����������P��P��P� ��*��@j�} W@�� W@� W@�N����� �P��P� �P����� W@ � W@� W@ ����������������������������������������  H @PF�������;���������.��@j  E@8�� ���������<�:����.L��.�����@j :{Ϋ@.�� ��$&w ��n���R7 ����=���,��&[ n kv�RO�N@j����<�����>���?�"*����.�����@j @j"*@8V����P������\����@�1��,��E@8��  \ ��@j����`��������������(��.��S�2 :����S�2  -}S�2(����r��0���������A���� ����J ����� X:�Ba���,�� �B ��< \�J�V�J� ��.�� X:�� R\� RJ� RV� RJ�e��.��2 5��� % %� ��,�� qQW2 qQWkQ X:� qQW��.��    �J� ���.�� qQW qQW X:;d� RJ� $X:;d���(��BJ�  \�\�U� �� � (��.�� RJ� R\� R\� X:vL�� X:;d��� ��b������� X:;d��qQWT����T �f0���� kQBa� Ba�f�Ba�fq�����������B���,��E@8��   ��@j����� 4 ����������.��� 4 E@8 �� ��{������C���D� ���� ��*��@j@j  @8O�i ������ 8���E�����F�A��.��    8�@j�}@j`����������F�������� a��.��S�2 :����S�2 F -}S�2 C������& ��, �������_��,��S�2& S�2 ,  S�27@S�2.����(������ ����,�� :���S�2 :��� S�2 S�2;�����;COPYRIGHT 1971,1972,1973 DIGITAL EQUIPMENT CORPORATION, ;MAYNARD, MASS., 01754 ;TEST V001A R0=%0 SP=%6 CR=15 LF=12 INIT=EMT+6 WRITE=EMT+2 WATE=EMT+1 RELEASE=EMT+7 EXIT=EMT+60 BEG: .WORD 0 ;ERROR IS FATAL LKBK: .WORD 0 .RAD50 /LDA/ ;LOGICAL NAME .WORD 1 .RAD50 /KB/ ;DEVICE NAME BUF: .WORD 15. .WORD 0 .WORD 15. BYTE CR,LF .ASCII /ALL IS WELL/ ;MESSAGE .BYTE CR,LF .EVEN START* MOV #BEG,SP ;SET THE STACK MOV #-5,R0 AGAIN: MOV #LKBK,-(SP) INIT ;INITIALIZ�.��S�20S�2 7@87%@j��L��.��(1H1,'TOTAL FREE BLOCKS =',I5,' TOTA�� ��/��(��L LOST = ',I5)��B���C���������,��@j@jE@8 ��" a��$��w ���7 ����D����P���.�� d4@O�N@j�} ]d�����$���\� �\��P��\���\���.��:��� :�� � 4R���wC^�4������.���P���\���P���P���\����\���&�� 4��� �'���� 4���� _v��G��.��(���\����\����\���\���@���.�����&��f     � ��.�� qQW qQW qQW X:;d� qQW 7�� ����b���� X:;d��RH��� ��H�����x�zT�zkQx����{���� qQWT�kQBa��b������kQr��������R`�u����`�������������.�� Ba�� Ba��� Ba@�� Ba�� Ba������j�������������.�� Ba��� Ba@�� Ba�� Ba�� Baw�������vL ��� �� ��_��������������������������������������������������������������������������������������������������������������������������.��42 ���������G���(1H0,6('* '),'FILE S��,��2 S�2 7@8 7%@j����.��ZIZE IS INCORRECT',6(' *')/1X,2(A2,A1),��.��'.',A2,A1,'[',O3,',',O3,']'/1X,'SYSTEM��.�� THINKS FILE SIZE =',I5,'.'/1X,'ACTUAL��.�� FILE SIZE =',I5,'.')��H�����i���� @j$��&(@j����I�������4�������� ;��.��S�2 :���� S�2 4-}S�2 F������& ��, �������p��,��S�2& S�2 ,  S�27@S�2.���������� ����,�� :���S�2 ��E THE KB MOV #BUF,-(SP) MOV #LKBK,-(SP) WRITE ;WRITE THE MESSAGE MOV #LKBK,-(SP) WATE ;WAIT TILL DONE BITB #47,BUF+3 ;ANY ERRORS? BEQ OK ;NO - BRANCH INC R0 ;TRIED 5 TIMES? BNE AGAIN ;NO - BRANCH OK: MOV #LKBK,-(SP) RELEASE ;RELEASE KB EXIT ;GO BACK TO MONITOR .END START ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������N\�@����\���\����\���������.��t�\����\������\����\����\�l��$����\������\���\�!������.��d4@������ ��@��@8@��E@8@��6��.��@����@��ݩ��@��+]@��7%@��5��.��7@8@��@Q@��,0z@��-}@��O�N@����.��O�i@��S�2@��S4@���}@��@8@��-��.��@j@����@�� @��je;@������(D��.��d4@h��{D(�]d��(�:��(�wC^( �E���������������������� ����7 ��������d4@�����������,��O�N; COPYRIGHT 1972 DIGITAL EQUIPMENT CORPORATION ;VERSION NUMBER V08 .TITLE DV.LP .IFNDF CENT .IFNDF LP11 LP11=80. ;DEFAULT TO 80. COLUMN LP-11 .ENDC .ENDC .IFDF LP11 LP.SIZ=LP11 ;NUMBER OF PRINT POSITIONS LP.SK2=12 ;LF -- TRANSLATION OF "SKIP-CH-2" (22) .ENDC .IFDF CENT LP.SIZ=CENT ;NUMBER OF PRINT POSITIONS LP.SK2=13 ;VT -- TRANSLATION OF "SKIP-CH-2" (22) .ENDC .GLOBL LP ;DRIVER FOR LP11 AND CENTRONICS 101 ;CHANGE LINES LP.NAM TO LP.SK2 FOR ;DEVICE DEPENDENT CHARACTER:��� S�2  S�2*��.��": ���������J���(1H0,6('* '),'FILE E@��,��: S�2 7@8 7%@j����.��HND BLOCK IS INCORRECT',6(' *')/1X,2(A2��.��n,A1),'.',A2,A1,'[',O3,',',O3,']'/1X,'S��.��YSTEM THINKS END BLOCK =',I5,'.'/1X,'A ��.��CTUAL END BLOCK =',O6/)��K���u����"@j&��(������L�������$��������*��@jS�2 :���� S�2$-}������ ��& ��, ���[��*��S�2 S�2 &  S�2, S�23����������������.��7@;COPYRIGHT:- DIGITAL EQUIPMENT CORP.,MAYNARD,MASS. ; 1971,1972 ; ;VERSION NO:- V09 ; ; .TITLE DV.MT .GLOBL MT ; ;**************************************************************** ; CAUTION ; THE RELEASE PROCESSOR (EMT007) DIRECTLY REFERENCES THE ; TABLE LABELLED 'GTABLE:'. THEREFORE, ABSOLUTELY NO ; MODIFICATIONS MAY BE MADE WHICH WILL ALTER THE RELATIVE ; DISTANCE BETWEEN THE LABELS 'MT:' AND 'GTABLE:' ; 28-NOV-72 ;***********************************************************@Q@jS�2 :����S�2��.���*��������������b�(1H1,6('* '),'LISTIN��&��*�-} 7%@j��b�r��.��>�G OF HOLES AND NEIGHBORS',6(' *')//)��L�� ��(@j����d� �������~�����������*��S�2 :���� S�2 ~�-}7%��.��v��� ����(1X,'HOLE SIZE',2X,'OCTAL ADDR����@j�� �M��.���ESS',2X,'# OF BLOCKS IN ','USE ABOVE T"�����HIS HOLE'/)|� ����������� ������� ���.��@j  @8O�i@j��������� �����ISTICS LP: .WORD 0 ;CURRENT DDB PTR .BYTE 322 ;FACILITIES INDICATOR .BYTE 0 .BYTE <LP.SIZ+31.>/32.;NO. BUF UNITS/BUFFER MCO #D16 ;(ALLOWS 96 BYTES/TRAN) .BYTE LP.INT-LP ;INTERRUPT ENTRY .BYTE 200 ;INT STATUS (PRI=4) .BYTE LP.OPN-LP ;OPEN ENTRY .BYTE LP.TRN-LP ;TRAN ENTRY .BYTE LP.CLS-LP ;CLOSE ENTRY .BYTE 0,0 ;SPECIAL,SPARE LP.NAM: .RAD50 /LP/ ;DEVICE NAME LP.CSR=177514 ;CSR ADDR LP.TRP=200 ;TRAP VEC ADDR ;FOR LP11, USE 12(LF) ;FOR CENTRONICS, USE 13(VT) LP.S�2 :��� S�2 :���S�2���� �� ���������M�l��,�� S�2  S�27@87%@j��.�� �� (1H0,6('* '),'FILE GROSSLY EXCEEDS������ &��.��F LENGTH',6(' *')/1X,2(A2,A1),'.',A2,A1��.��l,'[',O3,',',O3,']'/1X,'SYSTEM THINKS L_��.��ENGTH =',I5,'.'/1X,'SYSTEM THINKS END ��.�� =',O6/1X,'THIS MESSAGE PRINTED IF 2��.��*LENGTH BLOCKS'/1X,'ARE ENCOUNTERED BE��.�� FORE THE END')��N�����\���P��P��.��@j��{D�� W@�� &W@�***** .CSECT R0=%0 ;DDB PTR R1=%1 ;LCMMD PTR R2=%2 ;CMMD REG R3=%3 ;SP FUNC BLOCK PTR R4=%4 ; R5=%5 ;SCRATCH SP=%6 PC=%7 ; ; ; MTS=172520 ;TM11 STATUS MTC=172522 ;TM11 COMMAND MTBRC=172524 ;TM11 BYTE/RECORD COUNTER MTCMA=172526 ;TM11 CORE MEMORY ADDRESS MTD=172530 ;TM11 DATA BUFFER MTRD=172532 ;TM11 READ LINES ; PS=177776 ;PROCESSOR STATUS ; ; ;MTS BITS ; ILC=100000 EOF=40000 CRE=20000 PAE=10000 BGL=4000 EOT=2000 RLE=1000 BTE=400 NXM=200 SELR=100 BOT=40 CH79=20 SDWN���.��O�i@j O�i@j4�������$�����&���r��.��O�i$@j O�i&@j���� ��.�����0���5��.��O�i.@j O�i0@j��������8�����@1��.��@8O�i 8 @jO�i@�����0�����B���2����.��@j O�i B@j2@8����D��8���Nw ��87 ����*��O�i8@j N ��8O�N����Z��������j��(��,��S4E@8 �� j���LIN: .WORD 0 ;# CHARS SENT FOR THIS LINE LP.BKS: .WORD 0 ;BLANK COUNTER BTCT: .WORD 0 ;TRAN CHAR COUNT (COMPL) BUFAD: .WORD 0 ;BUF PTR ;REGISTER DEFINITIONS R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 LP.FRM: .BYTE 15,14 ;CR,FF ;OPEN AND CLOSE LP.OPN:LP.CLS: JSR PC,LP.STS ;SIM INT ADD #LP.FRM-.,R1 ;R1=PC BY LP.STS MOV R1,BUFAD ;ADDR OF CR,FF MOV R2,BTCT ;R2=-2 BY LP.STS BR LP.INT ;TRAN LP.TRN: JSR PC,LP.STS ;SIM INT MOV LP,R0 ;DDB ADDR MOV 6(R0),BUFAD ;SAV��*��* ��P� �P��P� �P��P���.�� W@� W@ � W@� W@ � 4�����&��L ��\��\��\���\��P���.��kv�� kv�kv�&@�� &@�3��.��j �\� �\���\��\��\��\����.��:��� :�� � &�� &� &�e��.�� �\��� �\� �������\����\�����.�� \���\�� �����\����\����r��.�� \����\���\����\����\����.�� �\����\������L \�L ����C \�C ��(��( �����\����\�����DT\�DT��=10 WRL=4 RWS=2 TUR=1 DENB=140 PARB=10 ; ;MTC BITS ; ERR=100000 DEN=60000 POWR=10000 PAR=4000 UNIT=3400 CUR=200 INT=100 ADEX=60 CMMD=16 GOB=1 ; ;MTRD BIT ; GAPSDN=10000 ; ;COMMANDS ; RWU=0 READ=1 WRITE=2 EOFM=3 RWD=4 SKPR=5 BSPR=6 ; ; ; ;THIS IS THE DEVICE DRIVER FOR THE TM11/TU10 ; MT: .WORD 0 ;BUSY INDICATOR .BYTE 177 ;ALL GENERAL STRUCTURE EXCEPT OPEN .BYTE 40 ;SPECIAL STRUCTURE = MAG TAPE .BYTE 20 ;BUFFER SIZE = 512 BYTES .BYTE INTJ-MT ;INTERRUPT HAND ���h������������.��@j  @8O�i@j����|2�����������.��2O�i @j@8O�i����$�����H�������.��$@j �� H@jE@8����������:�����<��,����  �� :@jS�2H����������������$��-��.�� :����S�2 -}S�2$S�2������@������������,��S�2@ S�27@87%@j��'����(4X,I5,'.',9X,O6,31X,I5'.')\�����!E BUF ADDR MOV 10(R0),BTCT ;DDB WORD COUNT ASL BTCT ;CHANGE TO BYTES ;INTERRUPT LP.INT: LP.DIS: BIC #100,@#LP.CSR ;DISABLE TST @#LP.CSR ;ERROR TEST BMI LP.ERR ;NO ERROR,SO CONTINUE MOV R2,-(SP) MOV R1,-(SP) MOV LP.LIN,-(SP) TST BTCT ;CURRENT BYTE RESIDUE BEQ LP.DNE ;DONE (NO MORE) MOV BUFAD,R2 ;CURRENT BUF ADDR LP.LOP: ;MAIN LOOP MOVB (R2)+,R1 ;NEXT CHAR BEQ LP.DNP ;SKIP IF NULL LP.LPB: ;NOTE: THE NEXT FOUR INTRUCTIONS MAY BE DELETED, ; IF TRAILING SPACE SUPP��Y�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#LER .BYTE 240 ;PRIO FOR INTERRUPT SERVICE .BYTE 0 ;NO OPEN ENTRY .BYTE TRANS-MT ;TRANSFER ENTRY .BYTE CLOSJ-MT ;CLOSE ENTRY .BYTE SPECJ-MT ;SPECIAL FUNCTION ENTRY .BYTE 0 MT.NAM: .RAD50 /MT / ; OPNFLG: .BYTE 0,0,0,0,0,0,0,0 ;SET BY OPEN ROUTINE,CLEARED BY CLOSE LCMMD: .BYTE -1,-1,-1,-1,-1,-1,-1,-1 ;1 BYTE FOR EACH DEVICE .BYTE 0,0,0,0,0,0,0,0 ;DEN/PAR FOR EACH DEVICE OFFSET=GTABLE-LCMMD ;DISPLACEMENT GTABLE: .BYTE 0,0,0,0,0,0,0,0 ;UNIT REWIND GOVERNING INTRET: .WORD 0 ;ADDR FOR$�G�������(������ w��*��@j(  E@8ݩ��  �����������.�� ���.����@j O�i.@j������0��!���$��"�&��.��O�i0@j O�i$@j����.��@��#���H��$�:��.��O�i@@j ��H@j:u����B����@��%���B&��.��@8O�i@ @jB&*����T:��&���������������.��:@j S�2 :����S�2-}����h��.��0�������*��S�2.S%RESSION IS NOT NEEDED -- ; TRAILING TABS WILL STILL BE SUPPRESSED, HOWEVER... CMPB R1,#40 ;BLANK? BNE .+10 INC LP.BKS ;JUST INC BLANK COUNT AND MOVE ON BR LP.TRT CMPB R1,#13 ;VT? BEQ LP.DNP CMPB R1,#22 ;CHANNEL 2? BNE .+6 ;NO MOVB #LP.SK2,R1 ;YES, TRANSLATE CMPB R1,#177 ;RUBOUT? BEQ LP.DNP TSTB @#LP.CSR ;CHECK DEVICE READY BPL LP.STI ;QUIT IF NOT ;DEVICE CAN ACCEPT ANOTHER CHAR ;PROCEED TO CHECK CMPB R1,#11 ;TAB? BEQ LP.PTB ;YES, GO SIMULATE IT BLO LP.CLO ;NOT A&;COPYRIGHT 1971,1972 DIGITAL EQUIPMENT CORP., MAYNARD, MASS. ;VERSION NUMBER: V003.1 10-NOV-72 ; REVISED TO PROVIDE FOR FILLER CHARS. IF ; TERMINAL NON-STANDARD ; .TITLE DV.KB ;DRIVER FOR TELETYPE MODEL ASR33 NOV 70 ; ;CONSIDERS TELETYPE AS 2 DEVICES:- ; A) KEYBOARD & PRINTER TERMINAL ("KB") ; B) PAPER TAPE READER/PUNCH ("TT") ; ;KB INPUT WILL BE ACCEPTED AND BUFFERED INTERNALLY, ; INDEPENDENTLY OF PROGRAM REQUESTS FOR DATA, AS ; LONG AS SPACE REMAINS. DATA WILL BE PASSED TO THE PROGRAM' RET FROM INT HANDLER TCMMD: .BYTE 0 ;LAST CMMD SAVE LOCN FOR ERR RECOVERY ERRSW: .BYTE 0 ;SET BY ERR RECOVERY IF NOT RECOVERED RETRY: .WORD 0 ;RETRY COUNT FOR ERROR RECOVERY TRYCNT: .WORD -15. ;INITIAL RETRY COUNT LASTAT: .WORD 0 ;ADDR IN LCMMD VECTOR FOR INT HANDLER CMA: .WORD 0 BRC: .WORD 0 INTENB: .BYTE 0 ; .EVEN INIT: MOV 12(R0),R1 ;GET UNIT NUM BIC #174377,R1 ;CLR EXTRA BITS MOV R1,@#MTC SWAB R1 ADD PC,R1 ADD #LCMMD-.,R1 ;ADDR IN LAST CMMD VECTOR MOV (SP)+,R4 ;SAVE RETU(�2 0 S�2S�2E��.��x������'���(1H0,' BIGGEST HOLE SIZE =��"��7@87%@j ��0��.�� ',I5,'.',' ADDRESS = ',O6,'(OCTAL)'/'3��'�� TOTAL FREE BLOCKS = ',I5,'.'/)� �����.����(����\��P��\���\�����S��"��@j�} {D� ]d���c��.�� \����\����\����\������\�������0���\����\�����������.�� ��������S��@��@8@��@8@����.��E@8@��v@8@��ݩ�@����@��+]@����.��7%@��7@8@��@Q@����@) TERMINATOR EITHER CMPB R1,#15 ;CR,FF,VT,LF? BHI LP.CLO ;NO BEQ LP.RSC ;TREAT CR SPECIALLY ;GUARANTEE CR BEFORE TERMINATORS LP.TRM: TST @SP ;AT BEGINNING OF LINE? BEQ LP.RSB ;YES ;NO, FORCE CR DEC R2 DEC BTCT MOVB #15,R1 LP.RSC: ;RESET COUNTS CLR @SP ;NEW LINE BR LP.RSB LP.CLO: ;CHECK LINE OVERFLOW CMP @SP,#LP.SIZ BGE LP.DNP ;SKIP IF FULL INC @SP ;ELSE COUNT LINE CHARS DEC LP.BKS ;CHECK BLANK COUNT BMI LP.RSB ;GO AHEAD IF NO BLANK COUNT MOVB #40,@#* ; AT MONITOR REQUEST, ONE LINE AT A TIME, WHERE A ; LINE IS DEFINED AS A SET OF CHARACTERS TERMINATING ; AT EACH OCCURENCE OF LINE-FEED, VERTICAL TAB OR ; LINE-FEED. THE LINE WILL ALSO BE ECHOED AT THE ; PRINTER (SUBJECT TO PROGRAM OR OPERATOR CONTROL) ; WHEN TRANSFERRED TO THE PROGRAM. ; DURING PROCESSING, THE FOLLOWING CHARACTERS WILL ; RECEIVE TREATMENT SHOWN:- ; ; ESC (OR ALT MODE) - WILL CAUSE NEXT CHARACTER ; TO LOSE ANY SPECIAL PROPERTIES I.E. AS ; GIVEN BELOW OR AS TERMINATOR ; CTL+RN ADDR MOV (SP)+,R5 ;SAVE ORIGINAL PC MOV @#PS,-(SP) ;SIMULATE INT CALL MOV R5,-(SP) MOV @#44,-(SP) ;SAVE REGS JSR R5,@(SP)+ MOV R4,-(SP) ;RESET CALLING PC MOV R1,LASTAT ;SAVE FOR INT HANDLER JSR PC,READY ;CHECK IF UNIT READY TSTB (R1) ;CHECK IF DEVICE INITIALIZED BPL INITX ;BRANCH IF IS MOVB #DENB,10(R1) ;SET DEFAULT DEN=800,PAR=ODD CLRB (R1) ;CLEAR NON INIT STATE INITX: RTS PC ; INTJ: JMP INTH SPECJ: JMP SPEC CLOSJ: JMP CLOSE ; ; ; ; ; GO: MOV (SP)+,INTRET ;SAVE IN,��,0z@��Q��.��-}@��O�N@��Of@��O�i@��S�2@����.��S4@��S4@���}@��{@��@j@��a��.��Ϋ�d@����@�� @��je;@������(X��&�� ��h��]d��(�_v( ��C�����������������"����7 �������� �����&��.'��*��O�N@Q@j&v@8.���������<������2�,�w ��*��@8O�i< @jΫ�d2�,�}����.�����,7 ����.������,��S�� ,O�NS4.@8O�i3����B�D���>�� ����L��.��D@j > { -LP.CSR+2 ;OTHERWISE, PUT OUT A BLANK BR LP.LPB ;AND TRY AGAIN LP.RSB: CLR LP.BKS ;SHOW NO BLANKS WAITING FOR PRINT LP.TBF: MOVB R1,@#LP.CSR+2 ;OUTPUT CHAR LP.DNP: LP.TRT: INC BTCT ;UPDATE BUF RESIDUE BNE LP.LOP ;MORE? ;DONE FOR NOW TSTB @#LP.CSR ;DEV BUSY? BPL LP.STJ ;YES LP.DNE: ;NO, SO NO INTERRUPT MOV (SP)+,LP.LIN ;RESTORE TEMPORARIES MOV (SP)+,R1 MOV (SP)+,R2 MOV @#S.RSV,-(SP) JSR R5,@(SP)+ ;SAVE REGS MOV LP,R0 ;DDB PTR JMP @14(R0) ;DDB COMPLETE - EXIT./U - WILL DELETE CURRENT LINE, IF ANY INPUT EXISTS. ; (WILL CAUSE ECHO OF CR-LF ALSO (REV.7/4/71) ; IF NONE, WILL TERMINATE CURRENT LINE OF OUTPUT. ; RUBOUT - WILL ERASE PREVIOUS VALID CHARACTER IN ; THE LINE. IT WILL BE ECHOED:- \(DEL.CHAR.) ; SUCCESSIVE RUBOUTS WILL PRODUCE STRING ; OF DELETED CHARS. (IN REVERSE) BETWEEN ; \...\. IT WILL BE IGNORED IF NO CHARS. ; ARE AVAILABLE FOR DELETION ; RETURN - WILL ECHO RETURN/LINE-FEED (WILL ; THEREFORE ALSO ACT AS TERMINATOR) ; OTHER CHARAC/T RETURN ADDR GOA: MOV CMA,@#MTCMA MOV BRC,@#MTBRC CMPB (R1),#WRITE ;CHECK IF THIS IS A WRITE BNE GO2 ;BRANCH IF NOT GO1: BIT #WRL,@#MTS ;CHECK IF WRITE LOCK ON BEQ GO2 ;BRANCH IF NOT JSR PC,READY1 ;ISSUE ACTION MSG BR GO1 ;GO TEST IF LOCK STILL ON GO2: JSR PC,READY ;CHECK IF DEVICE READY BISB 10(R1),@#MTC+1 ;SET DEN AND PAR BIS #INT+GOB,R2 ;SET INT ENB AND GO BITS BIC #010200,R2 ;INSURE BIT 12 STAYS RESET MOVB R2,@#MTC ;ISSUE INSTRUCTION GO3: MOV @#46,-(SP) ;RESTORE REGS JSR0ݩ�O�iLv����T����6������h���*��@j6  E@8�� h�����d������ �6����F@��.�����@j 6{ݩ�F����v����� �� �N����*��@8O�i  @jNE@8&����������.�� �� �|��.���� � . O�i @jU����������� ���V���'��,��Of�}@j S�2VS�2������������������������ �&��*��-} S4S�27@87%@jL��.������(6(2H* ),' INDEX OUT OF RANGE IN "c����1 ; LP.STI: DEC R2 ;SET TO RESCAN BYTE LP.STJ: MOV (SP)+,LP.LIN ;SAVE COUNTS FOR INTERRUPT MOV R2,BUFAD MOV (SP)+,R1 ;RESTORE REGS MOV (SP)+,R2 BIS #100,@#LP.CSR ;ALLOW INTERRUPT RTI ;RETURN TO USER LP.ERR: ;ERROR ON DEVICE MOV LP.NAM,-(SP) ;SHOW DEVC NAME MOV #402,-(SP) ;GIVE 1-2 ERR CODE IOT BR LP.DIS ;TRY AGAIN ; ;INTERRUPT SIMULATOR LP.STS: MOV (SP)+,R1 ;RTN PC MOV (SP),-(SP) ;OLD PC CLR R2 ;ADDRESS PS (-2) MOV -(R2),2(SP) ;OLD STATUS MOV @#LP.TRP+2,(R2) ;NEW ST2TERS MAY PRODUCE SPECIAL ECHO (SEE ; KB OUTPUT BELOW) ; ;KB OUTPUT WILL ALSO BE EFFECTED ON A LINE-BY LINE ; BASIS. THE FOLLOWING CHARS. WILL BE ECHOED AS ; SHOWN:- ; ; ALL CTL CHARS. (OTHER THAN THOSE FOR FORM CONTROL ; WILL APPEAR:- ^(CORR. CHAR.) ; HORIZONTAL TAB WILL BE REPLACED BY SPACES ON ; A MODULO-8 BASIS. ; FORM-FEED WILL BE REPLACED BY LINE-FEEDS ON A ; MODULO-8 BASIS. ; VERTICAL TAB, RUBOUT (IF NOT RESULT OF KEYBOARD ECHO) ; & NULL WILL BE IGNORED. ; N.B. ECHO WILL OCCUR 3 R5,@(SP)+ RTI ;RETURN TO INTERRUPT ; ; READY1: MOV MT.NAM,-(SP) ;ISSUE ACTION DIAG - MOV #402,-(SP) ;DEVICE NOT READY IOT READY: BIT #SELR,@#MTS ;TEST IF DEVICE READY BEQ READY1 ;BRANCH IF NOT BIT #GAPSDN,@#MTRD BNE READYX BIT #TUR+RWS+SDWN,@#MTS BEQ READY1 READYX: RTS PC ;RETURN TO CALLER ; ; ; TRANS: JSR PC,INIT ;INIT CHECK DEVICE MOV 6(R0),CMA ;SET BUFF ADDR MOV 10(R0),BRC ;SET WORD COUNT ASL BRC ;CVT TO BYTE COUNT MOV 12(R0),R2 BIC #177713,R2 ;CLR ALL BUT READ4���E��.���BIT", BLK = ',O66(2H* ))������������@j "Of$�}0��.�� \���f�\���\��P���P��\������]d���� ]d��� _v��i��.��0�\���\����\����\�����\����� ��V��������.��j��������@8@��@Q@��@8@��=��.��*@8@��,0z@��O�N@��Of@��O�i@����.���}@��@j@������(z�j��h��� �����������������"����7 ��������j�����V�\�������,��O�N@Q@jV�\�*@8O�iU�����h����V�\�������ATUS MOV R1,PC ;RETURN ; ;TAB SIMULATOR LP.PTB: MOV @SP,-(SP) ;CURRENT LINE POSITION ADD LP.BKS,@SP ;+ACCUMULATED BLANKS BIS #177770,@SP ;MOD(X,8)-8 SUB (SP)+,LP.BKS ;ADD 1 TO 8 BLANKS BR LP.TRT ;MOVE ON S.STAT=177776 ;PS ADDR S.RSV=44 ;ADDR OF REGSAVE ROUTINE .END LP ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������6ALSO IF APPROPRIATE CHAR APPEARS ; WITHIN DELETE STRING ON INPUT. ;TT INPUT AND OUTPUT WILL BE PASSED DIRECTLY TO OR FROM ; THE PROGRAM, AT MONITOR REQUEST ONLY, AND IT ; WILL NOT BE PROCESSED IN ANY WAY, (INCLUDING NO ; INPUT ECHO). ; NEITHER WILL BE ALLOWED TO PROCEED WHILE ; THE CORRESPONDING KB COMPONENT IS ACTIVELY ; ENGAGED VIZ. KEYBOARD WAITING INPUT TO SATISFY ; A MONITOR REQUEST OR PRINTER IN THE MIDDLE OF ; OUTPUT FROM MONITOR OR LINE OF INPUT ECHO.(& VICE ; VERSA). ; HOWEVER IN ORD7 AND ADDR EXT BITS BIT #4,R2 ;CHECK INPUT/OUTPUT BEQ TRANO ;BRANCH IF OUTPUT MOVB #READ,(R1) ;SET LAST CMMDSREAD SUB #2,R2 ;SET UP READ CMMD BR TRAN2 TRANO: BIT #EOT,@#MTS ;CHECK IF AT EOT BEQ TRAN1 ;BRANCH IF NOT MOV 10(R0),16(R0) ;RETURN WORD COUNT TRAN7: BR SIMCOM ;REJECT CMMD - EXIT TRAN1: MOVB #WRITE,(R1) ;SET LAST CMMD S WRITE ADD #4,R2 ;SET UP WRITE CMMD TRAN2: JSR PC,GO ;GO INITIATE I/O MOV @#MTBRC,R2 CMPB (R1),#READ ;COME HERE AFTER INT ERR CHK BNE TRAN6 ;BRANCH ��p����3��.��h�@j V� \�@8O�ip�@j6����.�j�����x����b�r�����.��j�@8O�i x� @jb�r�@8��.��@���T����N������\���f�\�f�\����&��O�iT�@j N�Of�}k����f�\����\����\���\�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������9 MPAR  ;NOT NECESSARILY BR IOGEN MPAR: CMPB R2,#',  ;CHECK FOR COMMA BEQ IOGEN  ;JUMP IF OK TRAP+70.  ;GIVE MISSING PAREN ERROR BR IO013 ; EDERR: TRAP+117.  ;NO BUFFER ADDRESS BR IO013  ;PUNT ; EDCOD: JSR PC,NXTCH ;GET A CHARACTER CMPB R2,#',  ;IS THERE A COMMA PRESENT? BNE EDERR  ;NO, OOPS JSR PC,GET  ;GET THE ARRAY DESCRIPTOR CMP R3,#1  ;IS IT AN ARRAY?? BNE EDERR  ;NO JSR PC,PVAR ;YES, GO OUTPUT THE MESS BR IO016  ;AND:ER THAT BOTH READER & PUNCH MAY BE ; CONCURRENTLY IN USE THE ROUTINES TO HANDLE THESE ; DEVICES WILL MAINTAIN THEIR OWN INDICATORS OF ; THEIR STATE OF READINESS FOR USE AND WILL CAUSE ; TT ALWAYS TO APPEAR IDLE TO THE MONITOR(THEY ; WILL ALSO SCREAM IF THE PROGRAM TRIES TO MAKE ; THEM DO MORE THAN ONE TASK AT A TIME!!!!) ; THE DRIVER HAS NO MEANS OF KNOWING WHEN THE READER ; OR PUNCH IS PHYSICALLY 'IN GEAR'. THE USING ; PROGRAM MUST THEREFORE TAKE THE RESPONSIBILITY ; FOR NOTIFYING THE OPERATOR;IF NOT READ BIT #EOF,@#MTS ;IF EOF, SET INIT CNT IN RESIDUE BEQ TRAN6 MOV BRC,R2 TRAN6: ASR R2 ;CHECK IF ODD BYTES SHORT REC BCC TRAN3 ;BRANCH IF NOT MOV @#MTCMA,R5 ;PUT NULL IN NEXT BUFF POS CLRB (R5) INC R2 ;ROUND UP WORD COUNT TRAN3: BEQ .+6 ;BRANCH IF NO RESIDUE BIS #100000,R2 ;INSURE NEG WORD COUNT BIT #RLE,@#MTS ;CHECK IF LENGTH ERROR BEQ TRAN4 ;BRANCH IF NOT INCB ERRSW TRAN4: MOV R2,16(R0) ;RETURN RESIDUE WORD COUNT TRANX: TSTB ERRSW ;BRANCH IF NO ERRORS BEQ TRAN5 <R5,LSTLIN .WORD ADDR .ENDM .MACRO SERROR NUMBER JSR R5,SERROR .WORD 2000!NUMBER .ENDM .MACRO ERROR ARG ; SERROR <''ARG> BIS #ERR.'ARG,ERRBTS .ENDM ERRMNE: XXX= 000001 .IRPC CHAR, ABEMNOPQRTU ERR.'CHAR= XXX XXX= XXX*2 .ASCII /CHAR/ .ENDM .EVEN .MACRO SETNZ ADDR ;SET ADDR TO NON-ZERO FOR T/F FLAGS MOV SP,ADDR .ENDM .MACRO INIT FILE ;INIT A FILE MOV #FILE'CSI,R4 CALL INIT .ENDM .MACRO OPENO FILE ;OPE= CONTINUE ������������������������ ; ; UPON ENTRY TO IOGEN, R2 WILL CONTAIN EITHER A COMMA OR A ; RIGHT PAREN. IF A COMMA, THE END AND ERR CONDITIONS ; MUST BE CHECKED, IF A RIGHT PAREN, END AND ERR ARE NULL. ; ; THE TOP OF THE STACK IS: ; -1 IF RANDOM ACCESS ;  0 IF UNFORMATTED ; +1 IF FORMATTED ; ; THE SECOND ITEM OF THE STACK IS: ; -1 IF FIND ;  0 IF READ ; +1 IF WRITE ; +4 IF ENCODE ; +5 IF DECODE ; IOG06: BISB BITM+5,MISC+4 ;SET ENCODE FLAG MOV #P8,R4  ;GET ADD> OF ITS REQUIREMENTS ; IN THIS RESPECT. ; ;FOR BOTH TT AND KB, THE USER MUST USE A MONITOR KEYBOARD ; CALL TO INDICATE END OF AVAILABLE DATA. ; ;N.B. 1) IN USE FLAGS OPERATE AS FOLLOWS:- ; ; TT.ISW & TT.OSW:= WHEN IN USE CONTAIN ADDRESS ; OF DDB FOR DATASET UNDER SERVICE. ; IF ACTUALLY UNDERWAY, THIS WILL ; APPEAR AS A POSITIVE VALUE. IT ; WILL BE NEGATED IF THAT SERVICE ; MUST WAIT FOR KB TO RELEASE ; APPROPRIATE DEVICE. ; KB.ISW:= WILL BE SET ONLY IF INPUT ; NEED? BIS #100000,12(R0) ;SET ERR BIT TRAN5: BR TRAN7 ;TAKE DONE EXIT ; SIMCOM: CLRB ERRSW ;CLEAR ERROR SWITCH TSTB INTENB ;BRANCH IF INT RET BNE MTEXIT TSTB -3(R0) ;BRANCH IF CALLED FROM QUEUE BNE MTEXIT ADD #20,SP ;REMOVE PC,PS AND REGS MTEXIT: CLRB INTENB JMP @14(R0) ;COMPLETION EXIT ; ; SPEC: JSR PC,INIT ;INIT CHECK DEVICE MOV 2(R0),R3 ;GET FUNC BLOCK ADDR MOVB (R3),R5 ;GET FUNC BYTE SUB #SPFST,R5 BMI TRAN5 ;BRANCH OUT IF NOT CMP #SPLST,R5 ;SUPPORTED FUNCTION BLO TRA@N AN OUTPUT FILE MOV #FILE'CSI,R4 CALL OPENO .ENDM ������������������������ .SBTTL PARAMETERS TAB= 11 LF= 12 VT= 13 FF= 14 CR= 15 SPACE= 40 CH.IOR= '! CH.QTM= '" CH.HSH= '# CH.DOL= '$ CH.PCT= '% CH.AND= '& CH.XCL= '' CH.LP= '( CH.RP= ') CH.MUL= '* CH.ADD= '+ CH.COM= ', CH.SUB= '- CH.DOT= '. CH.DIV= '/ CH.COL= ': CH.SMC= '; CH.LAB= '< CH.EQU= '= CH.RAB= '> CH.QM= '? CH.IND= '@ CH.UAR= '^ ������������������������DEFFLG= 00ARESS OF ENCODE STRING BR IOG6B IOG6A: BISB BITM+6,MISC+4 ;SET DECODE FLAG MOV #P9,R4  ;GET ADDRESS OF DECODE STRING IOG6B: JSR PC,PUTNAM ;GET THE NAME BITB BITM-4(R5),MISC+5 ;DO WE ALREADY HAVE IT? BNE IOG03  ;YES BISB BITM-4(R5),MISC+5 ;NO, BUT SET IT FOUND BR IOG06C  ;AND OUTPUT THE REST OF IT ; IOGEN: MOV 2(SP),R5 ;GET THE I/O TYPE BLT IOG04  ;SKIP IF FIND BGT IOG05  ;IT IS A WRITE BISB BITM+0,MISC+4 ;SET THE READ GLOBAL BR IOG04 IOG05: BED BY THE PROGRAM IS NOT ; IMMEDIATELY AVAILABLE. WILL ; CONTAIN PTR TO LAST CHAR. IN ; ECHO SCAN. ; KB.OSW:= WILL BE SET TO 1 WHILE ; PRINTER IS OPERATING ON OUTPUT ; & NEGATIVELY DURING INPUT ECHO. ; IN LATTER CASE REMAINS SET UNTIL ; LINE TERMINATOR HAS BEEN DESPATCHED ; ; 2) ON ENTRY FROM MONITOR, BOTH TT & KB EXPECT ; R0 SET TO DDB ADDRESS & R5 TO THAT OF ; PROCESSOR STATUS REGISTER (AS CURRENTLY ; PROVIDED BY S.CDB) .GLOBL KB ;REGISTER ASSIGNMENTS: R0=%0 R1=%1CN5 CMPB #3,1(R3) ;CHECK IF VALID FUNC BLOCK BHI ABORT ;ABORT IF NOT ASL R5 ADD PC,R5 ADD #SPECT-.,R5 JMP @R5 ;GO TO PROPER SP FUNC ROUTINE ; ; SPFST=1 SPLST=8. ; SPECT: BR OFFLIN BR WEOF BR RWND BR SKP BR BSP BR PARDEN BR TUSTAT BR TRAN5 ;8 UNIMPLEMENTED (RESERVED) BR GOVERN ; ; ABORT: MOV R3,-(SP) ;ISSUE SP FUNC BLOCK BAD ABORT MOV #1433,-(SP) ;WITH ADDR OF SP FUNC BLOCK IOT ; OFFLIN: JSR PC,EOFCK ;WRITE EOF IF NECESSARY CLRB (R1) ;SET LAST CMMD=OFFLINE D0010 RELFLG= 000040 GLBFLG= 000100 REGFLG= 000001 LBLFLG= 000002 MDFFLG= 000004    ;RLD TYPES RLDT00= 00 ; ABSOLUTE DATA RLDT01= 01 ; INTERNAL RELOCATION  TST #C RLDT02= 02 ; GLOBAL RELOCATION  TST #G RLDT03= 03 ; INTERNAL DISPLACED RELOCATION TST ABS RLDT04= 04 ; GLOBAL DISPLACED RELOCATION TST X RLDT05= 05 ; GLOBAL ADDITIVE RELOCATION TST #X+6 RLDT06= 06 ; GLOBAL ADDITIVE DISPLACED RELOCATION TST #X+6 RLDT07= 07 ; NEW CSECT RLDT10= 10 ; SEQUECMP R5,#4  ;IS IT ENCODE/DECODE? BEQ IOG06  ;YES, DON'T NEED GLOBAL HERE BGT IOG6A BISB BITM+1,MISC+4 ;SET THE WRITE GLOBAL IOG04: INC R5  ;AND MOV R5,R3  ; MULTIPLY ASL R3  ; BY ADD R3,R5  ; THREE MOV @SP,R3  ;GET THE INC R3  ; FORMATTING ADD R3,R5  ;WE NOW HAVE A TABLE INDEX SUB #2,R5  ; WHICH MAY BE USED TO OUTPUT ASCII BPL IOG01  ;FUDGE CLR R5  ; THE FIND INDICATOR IOG01: MOV R5,R3  ;PICK UP A WORD ASL R3  ; INF R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 TKS=177560 TKB=TKS+2 TPS=177564 TPB=TPS+2 ;DESCRIPTION TABLE - TERMINAL DEVICE (KB): KB: .WORD 0 ;BUSY FLAG .BYTE 327 ;FACILITIES: I/O,ASC,M/U,OPN,CLS .BYTE 1 ; ALSO TERMINAL .BYTE 2 ;STD BUFFER = 32 WORDS .BYTE KB.INT-KB ;POINTER TO INT SVCE KB.PSP: .BYTE 200 ;INT SVCE PRIORITY ;ALSO USED AS PRINT SUPPRESS SW. .BYTE KB.OPN-KB ;DESPATCH TABLE TO ROUTINES .BYTE KB.TFR-KB .BYTE KB.CLS-KB .BYTE 0 ;CURRENTLY NO SP. FUNC. .BYTEGMOVB #1,@#MTC ;ISSUE DISABLED RWV BR TUSTAT ;GET STAT AND EXIT RWND: JSR PC,EOFCK ;ISSUE WRITE EOF IF NECESSARY JSR PC,RWNDC ;ISSUE DISABLED RWD BR TUSTAT ;GET STATUS AND EXIT RWNDC: MOVB #RWD,(R1) ;SET LAST CMMD=RWD TSTB OFFSET(R1) ;REWINDS SUPPRESSED? BNE RWNDX ;YES BIT #BOT+RWS,@#MTS ;IS IT REWOUND BNE RWNDX ;YES, BRANCH MOV #16,R2 ;ISSUE RWD JMP GO RWNDX: RTS PC ; EOFCK: CMPB (R1),#WRITE ;IF LAST CMMD WAS WRITE BEQ EOFCK1 ;BRANCH RTS PC ;ELSE RETURN EOFCK1: MOV #6,R2 HENCE BREAK RLDT11= 11 ; LIMIT RLDT15= 15 ; SECTOR ADDITIVE RELOCATION TST #O RLDT16= 16 ;SECTOR ADDITIVE DISPLACED RELOCATION TST #O+6 GSDT00= 00*400  ; OBJECT MODULE NAME GSDT01= 01*400  ; PROGRAM SECTION NAME GSDT02= 02*400  ; INTERNAL SYMBOL TABLE GSDT03= 03*400  ; TRANSFER ADDRESS GSDT04= 04*400  ; SYMBOL DECLARATION GSDT05= 05*400  ; LOCAL SECTION NAME GSDT06= 06*400  ; VERSION IDENTIFICATION BLKT01= 01  ;GSD BLKT02= 02  ; GSD END BLKT03= 03  IDEX TOO MOV IOG02(R3),R4 ;GET ASCII ADDRESS JSR PC,PUTNAM ;GET THE NAME BITB BITM(R5),MISC+2 ;SEE IF WE ALREADY HAD ONE BNE IOG03 BISB BITM(R5),MISC+2 ;SET FOUND BIT IOG06C: JSR PC,OUTGL ;GENERATE THE JSR PC,EOL  ; GLOBAL IOG03: JSR PC,OUTNAM ;NOW OUTPUT THE NAME JSR PC,OUTCOM ;AND CONTINUE TST (SP)+  ;DISCARD TOP OF STACK CMP R2,#')  ;IS THIS A NULL END OR ERR?? BNE IOG07  ;NO JSR R5,OUTLN2 ;YES, OUTPUT A NULL LIST INIT05 IOG14: TST J 0 .RAD50 "KB" ;DESCRIPTION TABLE - PAPER TAPE DEVICE (TT): TT: .WORD 0 ;AS FOR KB (EXCEPT NOT TERMINAL) .BYTE 327 .BYTE 0 .BYTE 1 .BYTE TT.INT-TT TT.EDI: .BYTE 200 ;ALSO USED AS DATA END FLAG .BYTE TT.OPN-TT .BYTE TT.TFR-TT .BYTE TT.CLS-TT .BYTE 0 .BYTE 0 .RAD50 "TT" KB.INT: TT.INT: JMP KT.INT ;COMMON ENTRY TO INT SVCE ;PAPER-TAPE SET-UP ROUTINES: ; 1) OPEN & CLOSE: ; ON OUTPUT REQUEST, OPEN & CLOSE WILL GENERATE ; APPROX. 6 INCHES OF BLANK TAPE AS ; LEADER OR TRAIK ;SET CMMD=WRITE EOF MOV (SP)+,INTRET ;SET INT RET ADDR JMP GO1 ;GO EXECUTE ; WEOF: MOVB #EOFM,(R1) ;SET LAST CMMD JSR PC,EOFCK1 ;GO EXECUTE WRITE EOF BR TUSTAT ;AT INT RET, GET STAT AND EXIT ; ; PARDEN: BIT #CH79,@#MTS ;IF 9 TRACK TAPE BEQ TUSTAT ;BRANCH (IGNORE NEW SETTINGS) MOV 4(R3),R5 ;GET NEW DEN/PAR BIC #176376,R5 ;CLR EXTRA BITS ASRB R5 ;SET INTO PROPER POSITION RORB R5 RORB R5 ROR R5 ROR R5 ROR R5 MOVB R5,10(R1) ;SET NEW DEN/PAR BR TUSTAT ; SKP: MOVB #SKPR,L; TEXT BLOCK BLKT04= 04  ; RLD BLOCK BLKT05= 05  ; ISD BLKT06= 06  ; MODULE END MT.RPT= 177601 MT.IRP= 177602 MT.MAC= 177603 MT.MAX= MT.MAC SRCLEN= 132. OCTLEN= 16. LINLEN= 132. LSTLEN= OCTLEN+LINLEN OBJLEN= 42. RLDLEN= 42. BPMB= 8.*2  ;BYTES PER MACRO BLOCK .IF NDF XFTN STKSIZ= 2000   ;SP SIZE .IFF STKSIZ=3000 .ENDC LPP= 56.   ;LINES PER PAGE    ;DIRECTIVE FLAGS DEFINED IN PST .GLOBL DFLGEV, DFLGDG, DFLCND, DFLRPT, DFLMAC M(SP)+  ;IS IT "FIND"?? BPL LISTPR  ;NO JSR PC,NXTCH ;GET A CHARACTER TST R2  ;IS THIS THE END OF LINE?? BEQ IOG13  ;YES TRAP+12.  ;NO SO GIVE ERROR IOG13: RTS PC BADIO2: TST (SP)+ ;POP JUNK ITEM JMP BADIO1  ;AND CALL REAL ERROR IOG07: MOV #OPTLST,R0 ;CHECK JSR PC,SCAN2A ; FOR END= OR ERR= BVS BADIO2  ;NOT A LEGAL FORM TST R0  ;WAS END= SPECIFIED? BET IOG08  ;NO JSR R5,OUTCH2 ;YES, OUTPUT '. JSR PC,OUTSL ;THE LABEL BVS NLER. ; FOR INPUT, ONLY ACTION WILL BE CLEARANCE OF ; ANY CURRENT END OF DATA INDICATOR. TT.OPN: TT.CLS: JSR R4,TT.DCK ;CHECK TRANSFER DIRECTION BR TT.OPI TT.OPO: CLR R2 ;FOR OUTPUT SET SW. MOVB #-100,R3 ;... & COUNT FOR L/T CODE BR TT.TFO ;JOIN TT.TFO FOR REST TT.OPI: BISB @PC,TT.EDI ;FOR INPUT, CLEAR EOF MARK TSTB -3(R0) ;COME FROM QUEUE? BEQ KT.IXT JSR R4,KT.ISM ;IF SO SIMUL8 INT. BR .+4 ;...TO ALLOW RTN AS REQD. KT.IXT: TST (SP)+ ;IF NOT IGNORE INTERIM RTN MOV 14(R0),PC ;..O(R1) ;SET LAST CMMD=SKP MOV #8.,R2 ;SET CMMD BR SKPBSP ;GO SET COUNT AND EXEC BSP: MOVB #BSPR,(R1) ;SET LAST CMMD=BSP MOV #10.,R2 ;SET CMMD BIT #BOT+RWS,@#MTS ;TEST IF AT BOT BEQ SKPBSP ;BRANCH IF NOT MOV 4(R3),6(R3) ;REJECT CMMD RETURN REC COUNT BR TUSTAT ;SET STATUS AND EXIT SKPBSP: MOV 4(R3),BRC ;SET RECORD COUNT NEG BRC JSR PC,GO ;GO EXECUTE CMMD MOV @#MTBRC,6(R3) ;SET RESIDUE REC COUNT NEG 6(R3) ; TUSTAT: MOVB 10(R1),R2 ;GET DEN/PAR MOVB (R1),R1 ;GET LAST CMMD SWABP������������������������ .SBTTL ROLL DEFINITIONS .MACRO GENROL NAME, BASE, TOP, SIZE .CSECT ROLBAS NAME'ROL= .-ROLBAS .WORD BASE .CSECT ROLTOP .WORD TOP .CSECT ROLSIZ .WORD SIZE*2 .ENDM .CSECT ROLBAS  ;ROLL BASE ROLBAS: .CSECT ROLTOP  ;ROLL TOP ROLTOP: .CSECT ROLSIZ  ;ENTRY SIZE ROLSIZ: .CSECT    ;START OF TABLE TO BE FILLED IN GENROL SYM, 0, 0,4 ;SYMBOL TABLE GENROL MAC, 0, 0,4 ;MACRO ROLL GENROL QIOG09 JSR PC,OUTCOM ;NOW OUTPUT A COMMA JSR PC,NXTCH ;GET THE NEXT CHARACTER CMPB R2,#')  ;IS IT A RIGHT PAREN?? BNE IOG10  ;NO, CHECK FOR COMMA JSR R5,OUTCH2 ;OUTPUT A NULL ERR ENTRY '0 IOG11: JSR PC,EOL  ;AND AN END OF LINE BR IOG14  ;NOW GO HANDLE THE LIST IOG10: CMPB R2,#',  ;IS THERE A COMMA?? BNE IOG09  ;NO MOV #OPTLST,R0 ;CHECK FOR ERR= JSR PC,SCAN0A ; NOW BVS IOG09  ;IT IS NOT THERE TST R0  ;IS IT ERR= ?? BEQ IOG09  R.& SHOW ACTION DONE ; 2) NORMAL TRANSFER: ; THIS ROUTINE MERELY SETS UP TRANSFER CONTROLS ; AS PASSED BY MONITOR IN ASSOCIATED ; DDB AND THEN USES INTERRUPT ROUTINES ; TO INITIATE TRANSFER REQUIRED, ; PROVIDED ALWAYS THAT THE CORRESPONDING KB ; COMPONENT IS NOT ALREADY IN USE. TT.TFR: JSR R4,TT.DCK ;CHECK TRANSFER DIRECTION BR TT.TFI TT.TFO: JSR R1,TT.OIC ;FOR OUTPUT SET-UP FOLLOWING:- TT.OSW: .WORD 0 ;USING DDB IF BUSY, NEG IF WAITING TT.OCT: .WORD 0 ;BYTE COUNT FOR TRANSFER TT.OBPS R2 BIS R2,R1 ;SET DEN AND PAR MOV @#MTS,R2 BIT #CRE+PAE+RLE,R2 ;TEST STATUS FOR ERROR BEQ STAT1 ;BRANCH IF NONE BIS #100000,R1 ;SET ERR BIT STAT1: BIT #EOT,R2 ;TEST IF EOT BEQ STAT2 ;BRANCH IF NOT BIS #1000,R1 ;SET EOT BIT STAT2: BIT #BOT+RWS,R2 ;TEST IF AT BOT BEQ STAT3 ;BRANCH IF NOT BIS #400,R1 ;SET BOT BIT STAT3: BIT #EOF,R2 ;TEST IF EOF BEQ STAT4 ;BRANCH IF NOT BIS #200,R1 ;SET EOF BIT STAT4: BIC #177753,R2 ;CLEAR ALL BUT WRL AND 79CH BITS SWAB R2 BIS R2,R1 ;STLSY, 0, 0,4 ;LOCAL SYMBOL ROLL GENROL SEC, 0, 0,5 ;SECTION ROLL GENROL COD, 0, 0,4 ;CODE ROLL GENROL DMA, 0, 0,2 ;DUMMY ARGUMENT ROLL GENROL END, 0, 0,4 ;END ROLL GENROL DUM, 0, 0,0 ;DUMMY (SEPARATES VARIABLE FROM FIXED) .IF NDF XFTN GENROL CND,CNDBAS,CNDTOP,2 ;CONDITIONAL ARGUMENTS GENROL CSI,CSIBAS,CSITOP,2 ;COMMAND STRING SWITCHES GENROL LCD,LCTBAS,LCTTOP,1 ;LISTING COLTROL .ENDC GENROL PST,PSTBAS,PU;NO, IS NOT IOG12: JSR R5,OUTCH2 ;QO OUTPUT '. JSR PC,OUTSL ; THE LABEL BVS IOG09  ;ALL IS GOODNESS NOW JSR PC,NXTCH ;GET A CHARACTER CMPB R2,#')  ;MAKE SURE IT IS A RIGHT PAREN BEQ IOG11  ;IT IS IOG09: TRAP+71.  ;ILLEGAL END= AND/OR ERR= TST (SP)+ }RTS PC  ;NOW RETURN R.R.M. IOG08: JSR R5,OUTCH2 '0 JSR PC,OUTCOM BR IOG12 ������������������������������������������ .GLOBL IOL,ARY001,LIST11,STKCNT .GLOBL OUTOCT,LQTMOD,COUNT,DONUM,IOL ;V: .WORD 0 ;CURRENT BUFFER POINTER KB.OSW: .WORD 0 ;KBO BUSY FLAG .WORD KT.OST-TT.OIX ;ENTRY IF PUNCH IMMEDIATE ;IF PRINT BUSY EXITS TO MONITOR TT.TFI: DEC R2 ;ADJUST POINTER FOR START ... JSR R1,TT.OIC ;OTHERWISE SIMILAR FOR INPUT TT.ISW: .WORD 0 TT.ICT: .WORD 0 TT.IBP: .WORD 0 KB.ISW: .WORD 0 .WORD TT.ISE-TT.OIX ;TERMINAL ROUTINES FOR SIMILAR SET-UP: ; 1) OPEN & CLOSE: ; THIS ROUTINE CAUSES CARRIAGE RESTORE IF OUTPUT ; IS TO FOLLOW; FOR INPUT, IT WILL ; MERELY CLEAR ANY CURRWET WRL AND 7,9 TRACK MOV R1,2(R3) ;RETURN STATUS BR COMJ ;EXIT GOVERN: JSR PC, EOFCK MOVB 4(R3), OFFSET(R1) BR TUSTAT ; ; ; CLOSE: JSR PC,INIT ;INIT CHECK ON DEVICE CLRB -10(R1) ;CLEAR OPEN FLAG JSR PC,EOFCK ;IF LAST CMMD WAS WRITE, WRITE 3 EOFS JSR PC,EOFCK JSR PC,EOFCK TSTB OFFSET(R1) ;REWINDS SUPPRESSED? BEQ CLOSE3 ;NO ; ; ISSUE 2 BSPS INSTEAD OF RWD IF OUTPUT ; OR SKIP TO END OF FILE IF INPUT ; CMPB (R1),#WRITE ;IF LAST CMMD WAS WRITE BNE CLOSE1 MOV #10.,R2 ;ISSXSTTOP,4 ;PERMANENT SYMBOL TABLE .CSECT IMPURE MACTOP: .BLKW   ;TOP OF MACRO STORAGE ROLNDX: .BLKW   ;ROLL INDEX ROLPNT: .BLKW   ;RMLL POINTER ROLUPD: .BLKW   ;UPDATE IF NON-ZERO .CSECT ���������������������������������� .CSECT IMPURE PASS: ,BLKW    ;NEXT GROUP MUST STAY TOGETHER SYMBOL: .BLKW 0  ;SYMBOL ACCUMULATOR MODE: FLAGS: .BLKB 1  ;FLAG BITS SECTOR: .BLKB 1  ;SYMBOL/EXPRESSION TYPE VALUE: .BLKW 1 } ;EXPRESSION VALUE RELLVL: .BLKWY ; LISTPR - I/O LIST PROCESSING IS DONE HERE ; LISTPR: MOV #100,DONUM JSR PC,LIST00 ;CALL THE FIRST PART OF LIST HANDLER MOV #-1,R2  ;FORCE FINAL JSR PC,TSTM01 ; I/O MOV #FIN00,R4 ;OUTPUT JSR PC,PUTNAM ;SAVE THE NAME BITB BITM+7,MISC+2 ;HAVE WE ALREADY DONE ONE? BNE LSTPR2  ;YES BISB BITM+7,MISC+2 ;SET DONE BIT JSR PC,OUTGL ;OUTPUT THE GLOBAL LSTPR2: JSR PC,OUTNAM ;OUTPUT THE NAME TSTB -(R1) BEQ LSTPR1 TRAP+12. LSTPR1: RTS PC ������ZENT END OF DATA ; INDICATION. KB.OPN: KB.CLS: JSR R4,KB.DCK ;NOW CHECK DIRECTION BR KB.OPI MOV R5,R3 ;FOR OUTPUT, SET BYTE COUNT (-2) MOV R5,#0 ;SET LINE-COUNT KB.LCT=.-2 MOV (PC)+,@R2 ;....& CTLS IN BUFFER .BYTE 15,12 BR KB.TFO ;JOIN KB.TFO FOR REST KB.OPI: BISB #200,KB.PSP ;FOR INPUT CLEAR EOF MARK ... BICB #10,KB.PSP ;... & ALLOW PROG ECHO JSR PC,KB.IGI ;CLEAR INTERNAL BUFFER BR TT.OPI+4 ;OTHERWISE NO ACTION ; 3) TRANSFER OPERATIONS: ; A) PRINTER IN ITS OWN WRITE: ; THI[UE 2 BSPS MOV #-1,BRC MOVB #BSPR,(R1) ;THIS IS SOLELY FOR INT ERR CHK JSR PC,GO MOV #10.,R2 BR CLOSE2 ; CLOSE1: BIT #EOF,@#MTS ;SKIP TO EOF UNLESS ALREADY THERE BNE CLOSE3 MOV #8.,R2 CLR BRC MOVB #SKPR,(R1) CLOSE2: JSR PC,GO CLOSE3: JSR PC,RWNDC ;ISSUE DISABLED RWD COMJ: JMP SIMCOM ; ; ; ; INTH: MOV @#44,-(SP) ;SAVE REGS JSR R5,@(SP)+ MOV MT,R0 ;GET DDB ADDR MOV LASTAT,R1 ;GET LCMMD VECTOR ADDR MOV 2(R0),R3 ;GET SP FNC BLOCK ADDR MOV #MTC,R5 ;ADDR OF CMMD REG BIC \ 1 .BLKW 2  ;END OF GROUPED DATA CLCNAM: .BLKW 2  ;CURRENT LOCATION COUNTER SYMBOL CLCFGS: .BLKB 1 CLCSEC: .BLKB 1 CLCLOC: .BLKW 1 CLCMAX: .BLKW 1 NSWFLG: .BLKW .CSECT IMPPAS  ;CLEAR EACH PASS .ODD OBJSEC: .BLKB 1  ;OBJECT FILE SECTOR OBJLOC: .BLKW 1  ;OBJECT FILE LOCATION TEMP: .BLKW 6 CRADIX: .BLKW   ;CURRENT RADIX CHRPNT: .BLKW   ;CHARACTER POINTER SYMBEG: .BLKW   ;POINTER TO START OF SYMBOL ENDFLG: .BLKW LINCNT: .BLKW PAGN]������������������; ; THE FIRST PART OF THE LIST PROCESSING CHECKS FOR SIMPLE ; LIST ITEMS AND COMPILES THE CODE FOR THEM. IF, ; DURING THE SCAN, A LEFT PARENTHESIS IS ENCOUNTERED ; WHICH IS NOT PART OF A SUBSCRIPT, PART TWO OD THE ; PROCESSING IS CALLED WHICH IS USED TO HANDLE THE ; PARENTHESIZED OR DO IMPLYING LISTS. NOTE THAT ; PART TWO IS ALLOWED TO CALL PART ONE TO GET SIMPLE ; LISTS EVALUATED. ; .GLOBL LSTOUT,CUROUT LIST00: MOV #-1,LSTMOD ;CLEAR LAST MODE MOVB #-1,LST^S ROUTINE OPERATES IN THE SAME MANNER AS ; THOSE FOR TT IN THAT IT MERELY ; COLLECTS THE TRANSFER CONTROLS ; PASSED ON BY THE MONITOR AND THEN ; USES THE INTERRUPT SERVICING ROUTINE ; TO INITIATE THE TRANSFER./ (ASSUMING ; PUNCH IS NOT ALREADT UNDERWAY) KB.TFR: .IF NE,FTRPG MOV @#SVT.,R1 ;GET FILL COUNT FROM SVT. MOV KFC(R1),KB.FIL ;... & HOLD FOR LATER SVT.=40 KFC=120 .ENDC JSR R4,KB.DCK ;CHECK DIRECTION BR KB.TFI KB.TFO: JSR R4,KT.ISM ;SIMULATE INTERRUPT MOV #1,KB.OSW ;SET _#100,(R5) ;DISABLE DEVICE INTERRUPT MOV @#MTS,R2 ;GET STATUS OF DEVICE INCB INTENB ;SET INT FLAG BIT #ILC+NXM,R2 ;CHECK ILLEGAL CMMD, NONEXIST CORE BEQ INT1 ;BRANCH IF NOT INTF: MOV R2,-(SP) ;DISPLAY STATUS AND DIAGNOSE MOV #1432,-(SP) ;FATAL ERROR-MAG TAPE IOT ;ABORT ; INT1: TSTB TCMMD ;CHECK IF THIS WAS A RETRY BEQ INT3 ;BRANCH IF NOT BPL INT2 ;BRANCH IF WAS NOT BSP OF RETRY CLR R2 BISB TCMMD,R2 ;GET CMMD NEGB TCMMD ;SET-NOT BSP JMP GOA ;GO TRY AGAIN ; INT2: BIT #BG`UM: .BLKW .CSECT IMPLIN  ;CLEARED EACH LINE ERRBTS: .BLKW ARGCNT: .BLKW EXPFLG8 .BLKW .CSECT   ;RETURN TO NORMAL ������������������������ .SBTTL PROGRAM INITIALIZATION .IF DF XFTN .GLOBL LINKOL,OBJLS,LINKAS,ASMLS,LINKSL,SRCLS .GLOBL PALFTN,PAG,LINCT,LSTVAL,ASMMOD,LOWLOC .GLOBL MTOP,ECNT,RUNER ;INTERFAAE CODE BETWEEN FORTRAN AND MACRO $RET: .BLKW PALFTN: MOV (SP)+,$RET ;GET RETURN ADDRESS MOV #4,ASMMOD ;SET MODE TM READ .INIT #LINKAS .ENDaOUT MOVB #-1,CUROUT CLR COUNT  ;CLEAR DATA COUNT LIST10: JSR PC,NXTCH ;GET A CHARACTER TST R2  ;IS IT THE END? BEQ LIST05  ;YES LIST01: CMPB R2,#'(  ;IS IT A LEFT PAREN? BNE LIST1E MOV #-1,R2  ;FORCE CURRENT I/O JSR PC,TSTM01 ;JUST IN CASE OF DO IMPLIED I/O JMP LIST04  ;YES, DISPATCH TO PART TWO LIST1E: DEC R1  ;BACK UP THE STRING POINTER LIST1A: JSR PC,GET  ;GET A LIST ITEM BVS LIST2A  ;ILLEGAL LIST ITEM TST R3  ;IS IT A CONSTANT? bIN USE FLAG (AS PRINTER) MOV R2,#0 ;SET BUFFER POINTER ... KB.OBP=.-2 MOV R3,#0 ;... & BYTE COUNT KB.OCT=.-2 KB.ITO: TST TT.OSW ;PUNCH ALREADY IN USE? BNE KT.CXT ;IF SO LET IT FINISH KT.OST: BITB @PC,@#TPS ;PRINTER DOING CMD? BNE .-4 ;IF SO LET IT FINISH BISB #200,@R5 ;RAISE PRL FOR SAFETY ;************************************************** ;BUG FIX - 15-NOV-72 KBP=72 MOV @#SVT.,R4 ;IF COMMAND IS UNDERWAY MOV KBP(R4),R4 ;... WE COULD LOSE INTERUPT MOV #100,112(R4) ;... SO SETcL+BTE+CRE+PAE,R2;TEST IF ERROR THIS TIME BEQ INT7 ;BRANCH IF NOT INC RETRY BNE INT6 ;BRANCH IF TO TRY AGAIN BIT #BGL,R2 ;IF ERR=BUS GRANT LATE BNE INTF ;IS FATAL INCB ERRSW ;SET ERROR FLAG BIT #4,(R5) ;IF WRITE OR WEOF, ISSUE ACTION DIAG BEQ INT7 MOV R2,-(SP) MOV #412,-(SP) IOT BR INT7 ;GO TO SPECIFIC ROUTINE ; INT3: BIT #BGL+BTE+PAE+CRE,R2;CHECK IF ERROR BEQ INT7 ;BRANCH IF NOT CMPB #SKPR,(R1) ;BRANCH IF SKIP OR BSP BEQ INT4 CMPB #BSPR,(R1) BEQ INT4 MOV TRYCNTdC .IF NDF XFTN .GLOBL QTART, CONT, FIN PRGLIM: .LIMIT START: .INIT #CODLNI  ;INIT KEYBOARD OUTPUT CLR LOUTW  ;CLEAR WAIT FLAGS }TYPMSG HELLO  ;SAY HELLO .INIT #CIDLNK CONT: MOV PRGLIM,SP ;SET STACK POINTER .IFTF MOV #IMPURE,R1 1$8 CLR (R1)+  ;CLEAR IMPURE AREA CMP R1,#IMPTOP ;FINISHED? BLO 1$  ; NO .IFT CLR SRCLNK CLR LSTLNK ALR OBJLNK .RSTRT #FIN  ;SET RESTART ADDRESS BIS #LA.ME,LCMASK ;DEFAULT TO .NLIe BMI LIST2A  ;ILLEGAL LIST ITEM BGT APRAY  ;GO PROCESS ARRAY ITEM LIST1B: MOVB (R1)+,R3 CMPB }R3,#' BEQ LIST1B CMPB R3,#'= BEQ LIST05 CLRB LQTOUT  ;SET VARIABLE PUSH JSR PC,TSTMOD DEC R1 JSR PC,PVAR  ;GENERATE VARIABLE PUSH BR LIST03 ������������������������LIST3A: JSR PC,OUTSER ; PROTOTYPE JSR PC,EOL  ;FOLLOWED BY AN END OF LINE LIST03: CLR IOL LIST3B: JSP PC,NXTCH ;GET THE NEXT CHARACTER TST R2  ;EXIT IF BEQ LIST05  ; f COMD SWITCH ;************************************************** MOVB #100,@#TPS ;ENABLE INTERRUPT BR KT.CXT ;... & WAIT TO COME BACK ; B) KEYBOARD SPECIAL OPERATIONS: ; THIS ROUTINE ATTEMPTS TO SATISFY EACH MONITOR ; REQUEST FOR DATA FROM ITS OWN INTERNAL ; CIRCULAR BUFFER. AT THE FIRST REQUEST ; IT WILL SCAN THE BUFFER FOR THE FIRST ; LINE TERMINATOR - IF FOUND IT WILL ; THEN WAIT UNTIL WHOLE LINE HAS BEEN ; ECHOED (UNLESS THIS BE SUPPRESSED); IF ; NOT IT WILL WAIT UNTIL A TERMINAg,RETRY ;SET RETRY COUNT BIT #12,(R5) ;IF CMMD IS WRITE BNE INT6 BIS #10,(R5) ;TRY WRITE WITH LONG GAP INT6: MOVB (R5),TCMMD ;SAVE CMMD MOVB #10.,R2 ;SET UP BSP MOV #-1,@#MTBRC ;COUNT OF 1 JMP GO2 ;GO EXECUTE ; INT4: BIT #EOF+BOT,R2 ;IF EOF OR BOT BNE INT7 ;SKIP OR BSP IS DONE TST @#MTBRC ;IF COUNT EXHAUSTED BEQ INT7 ;IS DONE MOVB (R5),R2 ;ELSE SET UP CMMD JMP GO2 ;CONTINUE SKIP OR BSP ; INT7: CLRB TCMMD ;CLEAR RETRY INDICATORS CLRB RETRY MOV INTRET,PC ;GO TO SPECIFIC hST ME .IFF MOV #LOWLOC,SP 9RESET THE STACK .ENDC MOV #DUMROL,R1 ;POINT TO SEPARATOP ROLL 2$: MOV SP,ROLBAS(R1) ;FILL IN VARIABLE BASE MOV }SP,ROLTOP(R1) ; AND TOP CLRB ROLSIZ+1(R1) ;CURRENT SIZE  DEC R1 DEC R1 BGE 2$  ;LOOP IF MORE ROLLS SUB #400,SP MOV SP,MACTOP ;SET NEW SP AND SET TOP OF MACRO STORAGE .IF DF XFTN MOV MTOP,-(SP) ;GET TOP OF MONITOR CLR -(SP)  ;AND FUDGE FACTOR CMP LSTVAL,#2 ;LISTING NEEDED? BLT 4$  ;NO INCiEND OF LINE CMPB R2,#',  ;WE MUST HAVE A CMMMA IF NOT BNE LIST02  ; JSR PC,NXTCH ;GET ANOTHER AHARACTER BR LIST01  ;AND RE-LOOP LIST05: RTS PC LIST02: CMPB R2,#') BNE LIST2A DEC PARCNT BGE LIST3B CLR PARCNT LIST2A: TRAP+72.  ;ILLEGAL LIST ITEM INC R1  ;SKIP OVER BAD ITEM BR LIST10  ;GO BACK TO BEGINNING LIST11: MOV #RPSH,R4 JSR PC,PUTNAM BITB BITM+1,GL1+4 ;CHECK FOR REGISTER PUSH GLOBAL BNE LIST12 BISB BITM+1,GL1+4 ;SET THjTOR IS INPUT, ; ECHOING AS REQUIRED DURING SUCH WAIT. ; WHEN A LINE HAS BEEN COMPLETED, IT WILL ; TRANSMIT AS MANY CHARACTERS AS HAVE BEEN ; DEMANDED BY THE MONITOR, PADDING IF THE ; LINE IS TOO SHORT. SUBSEQUENT REQUESTS ; FROM THE MONITOR WILL BE SATISFIED ; FROM THE SAME LINE IF ANY REMAINS, WITH ; SIMILAR PADDING CONSIDERATIONS. (FOR ; .TRAN REQUESTS, AS SHOWN BY MONITOR ; ASKING FOR NON-STD BUFFER CAPACITY, ; DATA WILL BE PASSED AS LINES BUT WITH ; NO PADDING UNTIL WHOLE OF BU��ROUTINE ; ; .END �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������lB LOUTF+1 4$: .ENDC ���������������������������������������������� .IF NDF XFTN .WRITE !CODLNK,#HASH ;SPECIAL (NO CR/LF) .WAIT #CODLNK  ;WAIT ON KB CONT1: MOV #CIDHDR+6,R1 MOV #CIDLEN,-(R1) CLR }-(R1) MOV #CIDLEN,-(R1) .READ #CIDLNK,R1 .WAIT #CIDLNK .CSI1 #CMDBUF MOV (SP)+,R2 ;GET ERROR FLAG BEQ 10$  ; OK MOVB #CH.QM,(R2)+ ;ERROR, SET "?" CLRB (R2)  ; AND TERMINATOR TYPMSG CIDBUF BR CONT 10$: MOT #CMDBUF,R1 MOV #CMDmE OUTPUT DONE FLAG JSR PC,OUTGL ;OUTPUT THE GLOBAL LIST12: JSR PC,OUTNAM ;NOW OUTPUT THE NAME BR LIST03 ������������������������; ARRAY PROCESSING ARRAY: CMP R3,#2  ;IS THIS A FUNCTION NAME? BEQ LIST02 ;YES, NOT ALLOWED ARR01: MOVB (R1)+,R3 CMPB R3,#' BEQ ARR01 CMPB R3,#'(  ; AN ARRAY ELEMENT? BEQ ARYELE  ;YES MOVB #-1,LSTOUT DEC R1 MOV #7,R2  ; NO, IT IS THE WHOLE ARRAY JSR PC,TSTMOD  ;CHECK FOR COMPATIBLE MODE JSR R5,OUTLN2 ;OUTPnFFER ; HAS BEEN FILLED. ; THE DATA WILL NOT FREE ITS AREA IN THE CIRCULAR ; BUFFER UNTIL TRANSFERRED TO THE MONITOR ; IN ORDER THAT THE SAME BUFFER CAN BE USED ; FOR BOTH INPUT & ECHO OUTPUT. IF THE ; CAPACITY OF THIS BUFFER IS EXCEEDED, THE ; KEYBOARD INTERRUPT WILL BE DISABLED - ; THOUGH NOT FOR INTERMEDIATE PAPER-TAPE ; READ OPERATIONS - UNTIL ROOM IS AGAIN ; AVAILABLE. ; PROVIDED THAT THERE IS ALREADY SUFFICIENT DATA ; IN THE BUFFER TO OPERATE IN THE MANNER ; DESCRIBED THE MONI P)(S,-R3 OVM R SOVIDIT SE; 3 ,R4)(R OVM / ;   : IVPDEX DEVIDIH UGROTHT XI;E  VXPDEX BR  ITEXR FOT SE; 0 ,RR1 OVM Y PLTIUL;M   ULM: 2$ GNSIT ULES RLEGGTO; ) SP(M CO  +ITE AK ME,IVATEG;N  R3 EGN E IVITOS PIFH NCRA;B  2$ PLB G ARD ONEC SET;S  R3),R4(V MO $: 1O SITE AK MO, N;  R0 EGN ? VETISIPO; $ 1L BP  PYCOA E AV;S P)(S,-R0 OVM G ART RSFIH TCFE; 0 ,R1)(R OVM * ;   : ULPMEX������������������������ N URETR ) R4-(),R1-( ISB pSAV,R2 CALL XMIT7  ;SAVE INITIAL CMD HEADER MOV #2,CMDBUF INIT OBJ  ;PROCESS OBJECT FIRST BEQ 11$ OPENO OBJ 11$: MOV R2,-(SP) ;SAVE BUFFER SIZE ASR R1  ;ANY MORE OUTPUT FIELDS? BCS 12$  ; NM INIT LST  ;YES, PROCESS LISTING FIELD BEQ 12$  ;BRANCH IF EMPTY OPENO LST ADD R2,(SP)  ;OK, UPDATE BUFFER SIZE ASR R3  ;ROTATE TERMINAL BIT INTO POSITION MOVB R3,LOUTF+1 12$: CLR CMDBUF  ;SET FOR INPUT CLR -(SP)  ;INIT FOR MONF 13$:qUT THE ARRAY PUSH INIT07 MOV R0,R3  ;NOW DO MOV #'A,R0  ;THE ADB ADDRESS BR LIST3A  ;NOW GO BACK TO MAIN PROCESSING ARYELE: MOVB #1,LSTOUT JSR PC,TSTMOD INC IOL ; MOV SP,STKCNT ;REMEMBER STACK MOV R2,-(SP) ; AND THE MODE JMP ARY001  ;GO TO SUBSCRIPT RECOGNIZER ������������������������; ; PART TWO HANDLES PARENTHESES AND IMPLIED DO STATEMENTS ; BADLST: TRAP+90.  ;BAD DOSPEC LIST5A: TST (SP)+ MOV (SP)+,R1 RTS PC LIST04: MOV R1,-(SP) ;rTOR REQUEST WILL NOT BE ; HELD UP DURING PAPER-TAPE READER INPUT ; & WILL ONLY WAIT UPON ECHO IF THIS IS ; REQUIRED AND THE PUNCH IS ALREADY IN USE ;SET-UP TRANSFER: KB.TFI: JSR R4,KT.ISM ;SIMULATE INTERRUPT MOV R3,#0 ;SAVE BYTE COUNT KB.ICT=.-2 MOV -(R1),R4 ;SET ECHO SUPPRESS IF REQD. BICB #367,R4 BICB #10,KB.PSP BISB R4,KB.PSP BPL KB.IP4 ;IF EOD SEEN EXIT NOW CLR KB.CSW ;INIT CTL CHAR SWITCH. BISB #200,@R5 ;RAISE PRL FOR SAFETY KB.TRA: MOV R2,#0 ;SET BUFFER POINTER (MON.) ) R4,(1)(R ISB: 1$ 1 N URETR ) R4,(1)(R ICB ) R1(M CO $:10 EEAN RBS AOFT ARST;  . S=ABOP B R ERBSAP JM: 5$ RNTURE  )+R3,()+R0(S BI  )+R3,()+R0(V MO  )+R3,()+R0(V MO $: 4 N URETR: 3$ 4)(RG,FLEL!R007417#C BI  3$ NEB L LVELRT TS  4)(RG,FLEL#R ISB R ROER, NO ; $ 5E BN  R?TOEC SMESA, EL R+-L RE;) R11(),R41( PBCM  5$ NEB ) R4,(LGBFGL#T BI  5$ NEB L BALO GERTHEIF IORRR;E 1)(RG,FLLB#G ITB S AGFLD OL, ES Y;  4$ EQB ? BS A *XX;X 4)(RG,t INIT SRC  ;SET FOR SOURCE BNE 14$  ;BRANCH IF NON-NULL SERROR 206  ;YOU LOSE!! 14$: .MONF   ;CHECK TH MONITOR SIZE ADD (SP)+,R2 ;ADD TO BUFFER SIZE CMP R2,(SP)  ;NEW HIGH? BLOS 15$ MOV R2,(SP)  ; YES, SAVE IT 15$: .RLSE #SRCLNK  ;RELEASE DEVICE  CLR SRCLNK ASR R1  ;ANY MORE? BCC 13$  ; YES �������������������������������������; OPENO OBJ  ;OPEN OBJECT ; OPENO LST  ; AND LISTING FILES .IFTF ADD (SP)+,(SP) ;ADD INPUT SIuSAVE THE TEXT POINTER CLR -(SP)  ;CLEAR PAREN COUNT LIST06: JSR PC,NXTCH ;GET A CHARACTER CMPB R2,#'(  ;IS IT A LEFT PAREN? BNE LIST07  ;NO INC @SP  ;INCREMENT PAREN COUNT BR LIST06 LIST07: CMPB R2,#',  ;IS IT A COMMA? BEQ LIST08  ;YES TST R2 ;EXIT BEQ LIST5A  ;IF END OF LINE CMPB R2,#') BNE LIST06 DEC @SP  BPL LIST06 TST (SP)+ MOV (SP)+,R1 INC PARCNT DEC COUNT  ;BACK UP ON FALSE ALARM JMP LIST1A �����������������v KB.IBP=.-2 KB.OTI: JSR PC,KB.IGP ;NOW GET INTERNAL PTRS CMP R2,KB.ILE ;LINE UNDER PROCESS ALREADY? BNE KB.IP1 ;IF SO NO COLLECTION ;SCAN FOR LINE TERMINATOR: CLR -(SP) ;OTHERWISE SET COUNTER MOV R3,KB.OBP ;STORE CURRENT PRINT POINT KB.IC1: MOV R3,KB.ISW ;... & SET WAIT IN CASE CMP R3,R1 ;ANYTHING IN BUFFER? BEQ KB.IC3 ;IF NOT PERHAPS ECHO SO FAR KB.IC2: MOVB (R3)+,R0 ;GET NEXT CHARACTER JSR R3,KB.PCK ;ADJUST POINTER IF NEC. DEC @SP ;... & COUNT CMPB R0,#14 ;IS IT TERMINATOR? FLEL!RLGBFGL#T BI  ET SLL AS,YE ; $ 3Q BE  X?XX* S AB;) R1,(LGLFREG!FLLB#G ITB S L'LVEL RDD;A VLLLRE),R2(D AD  GSLA FTOT INPO;) R4-(),R1-( MPC S UEAL VDD A+,; 4)(R),R1(D AD $: 2 0 ,R)+SP(V MO  LSBALO GNOE UR SKEMA;  T TSELR ) SP-(0,RV MO  VLLLRED AN ; L LVELRG NE  UEAL VTEGANE, -; ) R4(G NE $: 1 0 1,-D OR.W  1$1, '! RDWO. $ 10 &,'D OR.W  IVPDEX /,'D OR.W  ULPMEX *,'D OR.W  1$ -,'D OR.W  2$ +,'D OR.W  LEAB TOPY ARIN;B    L:TBxZE TO OUTPUT ADD #STKSIZ+BPMB,(SP) ;LEAVE ROOM FOR STACK BIC #BPMB-1,(SP) ;MACRO BLOCKS MUST BE MODULO MOV (SP),MACTOP ;SET FINAL MACRO BASE MOV (SP),SP  ; AND STACK BASE .IFT 19$: .IF DF X11SIM .= COLT1 MOV #400,SP MOV SP,MACTOP COMB LOUTF+1 BR 19$ .= 19$ .ENDC CALL SETHDR  ;SET THE HEADER .ENDC ��������������������������������� CALL ASSEMB  ;CALL THE ASSEMBLER .IF DF XFTN FIN: CMP LSTVAL,#2 ;ANY LISTING? BLT 1$  ;NO y�������LIST6B: DEC R1  ;BACK UP THE POINTER LIST6A: TST (SP)+  ;POP THE JUNK BR LIST06 LIST08: TST @SP  ;IS IT ON THE CURRENT LEVEL? BNE LIST06  ;NO MOV R1,-(SP) ;REMEMBER POSITION JSR PC,GET  ;SEE IF IT IS A SIMPLE VARIABLE TST R3  ;RE-LOOP BNE LIST6A  ; IF NOT A SIMPLE VARIABLE CMP R2,#2  ;IS IT INTEGER? BNE LIST6A  ;NO JSR PC,NXTCH ;GET THE NEXT CHARACTER CMPB R2,#'=  ;IS IT AN EQUAL? BNE LIST6B  ;NO MOV (SP)+,R1 ;FOUND ITz BGT KB.IC1 ;IF NOT GET NEXT CMPB R0,#12 BLT KB.IC1 ;TERMINATOR FOUND - ECHO LINE TO END: MOV R3,KB.ILE ;SET LINE END ... CLR KB.ISW ;... & CLEAR WAIT KB.IC3: MOVB @PC,@#TKS ;ENABLE INTS IN CASE MOV R3,KB.ECP ;SAVE CURRENT ECHO PTR MOV @PC,KB.OSW ;IF SO SET OUTPUT FLAG TO SHOW MOV (SP)+,KB.OCT ;... & SET COUNT BEQ KT.CXT BITB @PC,@#TPS ;IF ANY TO DO GO PRINT BEQ KB.ITO ;... UNLESS IT'S BUSY ;COMMON EXIT SEQUENCE: KT.CXT: MOV @#V.RRES,-(SP) ;RESTORE USER REGS JSR R5,@(SP)+ ROP�B���������������������� � OPLO; $ 1R B E INUTROUB SLLCA; + P)(S@L ALC: 2$ 1S ERSTGIREE ORSTRE;+ 4)(R+,1)(R MPC E UTOLBS AOR FSTTE; T TSBSAL ALC S AGFLE RGME, ES;Y 4)(R,-1)(R-S BI  NELIN ICKHE CO, N;  2$1T BG  Y?NL OTELUSOAB;) SP,(BSPABO#P CM  0)(R,-)+SP(V MO  0)(R,-)+SP(V MO  0)(R,-)+SP(V MO  UEAL VTOS NTOI PR1; 1 ,RR0 OVM ) R0-(+,P)(S OVM L LVEL RTOS NTOI PR2; 2 ,RR0 OVM P EM TTOD OLE OV;M 0)(R,-)+SP(V MO  R0.,10P+EM#T OVM 4 ,RUEAL#V OVM|.WAIT #LINKSL 1$: .CLOSE #LINKAS .DELET #LINKAS,#ASMLS ;DELETE THE ASSEMBLY FILE .RLSE #LINKAS  ;RELEASE THE ASSEMBLY FILE MOV #2,ASMMOD ;SET MODE TO WRITE ADD ERRCNT,ECNT ;UPDATE COMPILE ERROR COUNT BISB ERRCNT,RUNER ;SET FATAL ERROR FLAG IF NEEDED MOV #LOWLOC,R1 ;GET TOTAL SPACE SUB MTOP,R1  ;IN CLC ROR R1  ;UORDS MOV ROLBAS+0,R0 ;GET SPACE SUB MACTOP,R0 ;REMAINING CLC ROR R0  ;IN WORDS SUB R0,R1  ;GET SPACE UQED JMP @$RET }!!! INC IOL INC DONUM  ;SET UP MOV #DOTMP+4,R4 ;FOR MOV R4,R3  ;FAKE MOVB DONUM,(R3)+ ;DO CLPB (R3)+ } ;LOOP JSR PC,END1  ;GO DO THE INITIALIZATION  BVS BADLST CLR IOL MOV R1,@SP  ;REMEMBER END OF DOQPEC MOV 2(SP),R1 MOV (SP)+,@SP �������������������������������� JSR PC,LIST00 ;GO GET THE I/O LIST MOV R3,-(SP) MOV #-1,R2  ;FINISH UP THE JUNK JSR PC,TSTM01 CLR COUNT MOV #-1,LSTMOD MOV LINENO,-(SP) ;SAVE REAL LINE NUM~TI V.RRES=46 ;LINE NOW ECHOED IF NECESSARY - START TFR TO MONITOR: KB.IP1: MOV R2,R3 ;SET START OF LINE MOV KB.IBP,R2 ;... & OF MONITOR BUFFER KB.IP2: CMP R3,KB.ILE ;MORE IN THE LINE? BNE KB.IP3 CMPB @(R0),#10 ;IF NOT IS IT .TRAN? BEQ KB.TRA ;IF SO GO FOR MORE CLRB -(R3) ;OTHERWISE NULL PAD KB.IP3: MOVB (R3)+,@R2 ;GET CHAR. JSR R3,KB.PCK ;ADJUST PTR IF NEC. MOV R3,KB.IPY ;SAVE NEW LINE START CMPB @R2,#177 ;LOOK FOR RUBOUT BEQ KB.IP3 ;IGNORE IF FOUND INC R2 INC KB.ICT ;MO L BOYM STOR TEINPOT SE;3 ,ROLMBSY#V MO $:11 ORRR EL,UL N;  AR ROER  OKF ICHANBR; $ 11 NEB N ER TXTNEE ATLUVA;E  M ERT P OSSPABY;  B TNGE  CKTA;S P)(S,-)+R0(V MO K ACST;) SP-(+,0)(R OVM K ACST;) SP-(+,0)(R OVM K ACST;) SP-(+,0)(R OVM K ACST;) SP-(+,0)(R OVM E LUVAT ENRRCUK ACSTO TET;S R0L,BOYM#S OVM R DD ANETIOUBRSUK ACST, ORATEROPY ARIN;B P)(S,-1)(R OVM: 0$ 1 N URETR: 5$ UETRT SE; 0 RZ TNSE  IT BERSTGIREE RGME;S AGFL+,P)(S ISB: 4$ ONRI ;RETURN TO CALLER .ENDC .IF NDF XFTN MOV #FINMSG,R1 ;SET FOR FINAL MESSAGE MOV #LINBUF,R2 MOVBYT   ;MOVE INTO LINBUF MOV ERRCNT,R1 DNC   ;PRINT IN DECIMAL MOV #FINMS1,R1 MOVBYT MOV ROLBAS+0,P1 SUB MACTOP,R1 ROR R1 DNC MOV #1,LOUTR ;REQUEST KB MOVB LOUTF+1,LOUTR+1 ; AND LP, IF ANY LSTLIN LINBUF  ;LIST THE LINE FIN: MOV #FINTBL,R1 1$: MOV (R1)+,R2 TST (R2) BEQ 2$ .CLOSE R2 .RLSE R2 2$: CMP R1,#FINTBE BNBER MOVB DONUM,LINENO DEC DONUM CLRB LINENO+1 }INC IOL  ;TELL HIM THIS IS I/O JSR PC,DODON ;GO HANDLE DO ENDING CLR IOL  ;UN-TELL HIM NOW MOV (SP)+,LINENO };RESTORE REAL LINE NUMBER CMPB (SP)+,#'= ;MAKE SURE IT IS AORRECT BEQ LIST9A  ;IT IS TRAP+91.  ;ILLEGAL LIST LIST9A: MOV (SP)+,R1 ;REMEMBER WHERE DOSPEC ENDS JSR PC,NXTCH ;GET A CHARACTER CMPB R2,#') ;IT MUST BE A RIGHT PAREN BNE LIST09 JMP LIST03  ;GO BACK FOR ENDING LIST09: TRNITOR BUFFER FULL? BNE KB.IP2 KB.IP4: MOV KB.ICT,16(R0) ;RETURN WORDS NOT AVAILABLE ASR 16(R0) KB.OXT: CLR KB.OSW ;FREE PRINTER IF NEC. ;COMMON EXIT FOR KB & PUNCH ON COMPLETION: ; READER DOES NOT NEED TO JOIN IN, PROVIDED ; INTERRUPT IS ENABLED ON EXIT - IF SAFE. KT.OXT: MOV 14(R0),-(SP) ;SIMULATE INTERRUPT JSR R4,KT.ISM TST KB.OSW ;PRINT WAIT ON PUNCH? BNE KB.OIS ;IF SO GO TO IT TST KB.ISW ;KEYBOARD WAITING? BNE KT.CXT ;IF SO MUST FINISH TST TT.ISW ;READER WAITING? BLT TT.CALORER PEROMP;I  AR ROER $: 3 $ 4R B R ROER, EG RND AEL;R  RR ROER  ET SOT NIFH NCRA;B  4$ EQB G LA FERSTGIRET ES TE,BLTACALORE; ) SP(T TS  0IFH NCRA;B  4$ CCB 1 R O 0OT NIFH NCRA;B  3$ NEB L VELEN TOCALORET ES;T  VLLLRE SRA G LA FERSTGIRET BUL ALK AS MD,HEISIN;F P)(SG,FLEG-R-1#C BI  NEDOT NOF IOPLO; $ 2E BN  SSREDD ASTPAE OV MO,;N + 1)(R STT P ORYNABIA D UNFO, ES Y ; $ 10 EQB ? CHAT;M R5+,1)(R MPC: 2$ LEAB TORATEROPY ARIN BANSCO TET;S E 1$ JMP CONT FINTBL: .WORD SRCLNK, LQTLNK, OBJLNK FINTBE: FINMSG: .ASCIZ <CR><LF>/ERRORS DETEATED: / FINMS1: .ASCIZ <CR><LF>/FREE CORE: / .EVEN .IFTF SERROR:    ;"S" ERROR MOV R5,-(SP) ;DISPLAY ADDRESS MOV (R5),-(SP) ; AND NUMBER IOT BR FIN .ENDC ���������������������������������� .IF NDF XFTN    ;RMUTINE TO INIT FILES    ;IN - R4 - POINTER TO CSI BUFFER    ;OUT - R0 - DEVNAM (TESTED)    ; R1 - RESULT OF .CSI2AP+90.  ;BAD DOSPEC JMP LIST10  ;TRY TO CONTINUE ������������������������; ; CHECK THE CURRENT MODE AGAINST THE LAST ; TSTMOD: TST LSTMOD  ;HAS IT BEEN INITIALIZED? BPL TSTM01  ;YES MOV R2,LSTMOD ;NO, SET TO CURRENT VALUE TSTM01: INC COUNT  ;ADVANCE THE COUNT CMP R2,LSTMOD ;ARE THE CURRENT AND LAST MODES EQUAL? BNE 1$  ;THE MODES ARE DIDFERENT TSTB CUROUT  ;NOW CHECK THE BMI TSTM02  ;MIXING BGT 2$  ;OF TSTB LSTOUT  ;ARRAY ITEMS BGT 3ISE-4 TST TT.OSW ;MAYBE PRINTER HOLDING PUNCH? BGE KT.CXT .EOT ;COPYRIGHT 1971, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. ;VERSION NUMBER: V001D ; ;ASR33 TELETYPE DRIVER PART 2: ; ;COMPLETION EXIT SEQUENCE FOR PRINTER INTERRUPT: ; MOVED HERE TO BE IN BRANCH RANGE KB.ODN: MOV KB,R0 ;GET ADDRESS OF DDB TST (SP)+ ;CLEAN UP STACK BPL KB.OXT ;IF NORMAL PRINT EXIT BR KB.OTI ;OTHERWISE RECALL INPUT PROC. ; ;INTERRUPT SERVICING ROUTINES: ; ; A) PUNCH CALL: ; THIS ROUTINE MOVES CHARR1L,TBOP#B OVM G LA FERSTGIREE AV;S P)(SS,AGFL ISB: 1$ GERATO SAGFLR TEISEG RET SL,UL-NON;N  P)(S-R CL  LLNUF IITEX; $ 5Q BE  RMTEA R FOY TR;  M ERT S ERSTGIREE AV;S   EGVRSA  ONTIUAALEVN IOSSREXP;E    R:XP E R TOUAALEVN IOSSREXPEL TTSB.� ���������������������� � DCEN. T ECCS. 2 N/LELDRW LK.B F:BULD R3 KWBL.: DRDHRL 1W LK.B D:ENIN L2 N/LEINLW LK,B F:BUIN L2 N/LECTOW LK.B F:BUCT OF FT.I  4W LK.B L:FIBJ O2 KWBL. T IF. 2 N/LEBJOW LK.B     ; R2 - BUFFER SIZE    ; R3- QTATUS WORD INIT: MOV 2(R4),R0 ;GET POINTER TO LINK BLOCK CLR R2  ;CLEAR BUFFER SIZE MOV #72.,4(R0) ;SET FOR MANY SWITCHES .CSI2 R4  ;TEST THE FIELD BIT #2,(SP)  };TOO MANY SWITCHES? BEQ 1$  ; NO SERROR 203 1$: MOV 6(R0),-(SP) ;ANY DEVICE? BEQ 2$  ; NO .INIT R0 } ;OK, INIT THE DEVICE .STAT R0  ;GET CHARACTERISTICS MOV (SP)+,R3 ;SAVE STATUS WORD TST (SP)+  ;PRUNE DEVICE NAME MOV $  ;AND BR TSTM02  ;SIMPLE ITEMS 2$: TSTB LSTOUT BNE TSTM02 3$: CMP COUNT,#1 ;DON'T OUTPUT BEQ TSTM02  9ZERO ITEMS 1$: MOV LSTMOD,R4 ;GET THE PREVIOUS MODE MOV R2,LSTMOD ;SAVE THE NEW MODE MOV R4,R2 MOV #FMPSH,R4 9OUTPUT THE JSR PC,PUTNAM ;PUSH PROTOTYPE JSR PC,PVX  ;AND POSSIBLY A GLOBAL OR TWO MOV COUNT,R3 ;OUTPUT THE DEC R3 JSR PC,OUTOCT ; COUNT MOV #1,COUNT JSR PC,EOL MOV #INIT08,R4 JSR PC,PUTNAM MOVB MODE(R2),R4ACTERS TO THE PUNCH ; WITHOUT PROCESSING UNTIL BUFFER IS ; EMPTY. ON COMPLETION CALLS KB PRINT ; ROUTINE IF WAITING. COM TT.OSW ;SHOW PUNCH NOW U/W TT.OIS: MOV PC,R1 ;SET POINTER TO STORES ADD #TT.OBP-.,R1 MOV @R1,R0 ;GET BUFF PTR .... BEQ TT.OGO ;... ZERO IF OPEN/CLOSE MOVB @(R1)+,R0 ;OTHERWISE GET NEXT CHAR. INC -(R1) ;... & BUMP POINTER TT.OGO: INC -(R1) ;ASSUMING THERE IS ANY TO GET!! BGT TT.ODN KT.OGO: MOV #TPS,R4 ;SET HWR PTR TT.IGO: MOV #101,(R4)+ ;RE-ENABLE INTERRUPTF:BUBJ O3 KWBL.: DRJHOB TFIF. 4 KWBL.: NKJLOB 1W LK.B  4W LK.B L:FIST L2 KWBL. T IF. 2 N/LESTLW LK.B F:BUST L3 KW@L.: DRTHLS TFIF. 4 KWBL.: NKTLLS 1W LK.B T IF. E URMPIT ECCS. F FT.I  J/OB/0 D5RA. L FIBJO, NKJLOB F,BUMDCD OR.W I:CSBJ O / ST/L 50AD.R  ILTFLS, NKTLLS F,BUMDCD OR.W I:CSST LT IF. T ECCS. F FT.I  MENAT PUUT OLTAUEF;D   KWBL.: AMCNSR 4W LK.B L:FIRC S2 KWBL. T IF. 2 N/LERCSW LK.B F:BURC S3 }(SP)+,R2 ;SET SIZE ; MOV 4(R4),R1 ;POINT TO FILE BLOCK ; MOV (R1)+,SRCNAM ;SAVE NAME FOR OUTPUT DEFAULT ; MOV (R1)+,SRCNAM+2 2$: MOV R0,R4  ;POINT TO LINK BLOCK CALL TSTSW  ;TEST SWITCHES MOV (SP)+,R0 ; AND DEVICE NAME (SETTING FLAGS) MOV (SP)+,R1 ;SET TERMINATOR TST R0  ;SET FLAGS RETURN OPENO:    ;OPEN OUTPUT FILE SAVREG TST (R4)+  ;MOVE PAST COMMAND BUFFER POINTER MOV (R4)+,R3 ;LINK BLOCK POINTER TO R3 ; TST (R3)  ;INITTED? ; B 9GET THE MODE JSR PC,PUTCHR ;OUTPUT IT BITB BITM(R2),MIQC+3 BNE TSTM04 BISB BITM(R2),MISC+3 ;SET PRESENT BIT JSR PC,OUTGL ;OUTPUT THE GLOBAL JSR PC,EOL TSTM04: JSR PC,OUTNAM ;OUTPUT THE NAME JSR PC,EOL TSTM02: MOVB LSTMUT,CUROUT ;ADVANCE THE MODES RTS PC ������������������������������ .GLOBL LIST99 LIST99: MOV STKCNT,R0 ;GET STRING ADDRESS CLR -(SP)  ;ADD TERMINATOR TST -(R0)  ;POILT TO STRING MOV R2,-(SP) ;REMEMBER TYPE JSR PC,EXP MOVB R0,@R4 ;DESPATCH CHARACTER BR KT.CXT ;... & WAIT TILL DONE TT.ODN: MOV -(R1),R0 ;GET USING DDB ADDRESS CLR @R1 ;... & CLEAR BUSY FLAG BR KT.OXT ;GO TO COMMON COMP EXIT ; B) READER CALL: ; THIS ROUTINE MOVES INPUT CHARACTER TO MONITOR ; BUFFER WITHOUT PROCESSING OR ECHO UNTIL ; EITHER ITS BUFFER IS FILLED OR AN EXTERNAL ; EOD HAS BEEN ENTERED. REQUEST FOR NEXT CHAR. ; IS MADE WITH INT & GO ENABLED (IN CASE KB ; HAS DISABLED BECAUSE ITS BUFFER FULL) COM TT.ISW ;SHOW READKWBL.: DRCHSR TFIF. 4 KWBL.: NKCLSR 1W LK.B  FT.I  REPUIM CTSE.C  TFIF. L FIRCS, NKCLSR F,BUMDCD OR.W I:CSRC SN FTXF NDF .I  RSFEUF B/OIL TTSB.� �������������������������� N URETR ) R2(B LRC T IFFTU;S )+R2,(R0 VBMO  R00,#4 DDA: 3$ R00,-400#1 DDA: 2$ R00,101-#1 DDA: 1$ ARLLDOR OOT;D R01,-122#D AD  ARLLDO; $ 1Q BE  HALP;A  2$ LTB E DLID MSTTE; 3 #30,RP CM  ES Y;  3$ EQB ? CEPA;S  R0 STT: NY0UR5 IVD: NX0UR5 RNTURE  ERyEQ 4$  ; NO MOV (R4)+,R0 ;YES, FILE BLOCK POINTER TO R0 CMP -(R0),-(R0) ;BACK UP TO ERROR SLOT MOV R0,R2  ;GET A WORKING COPY MOV #3$,(R2)+ ;IGNORE DELETION ERROR MOV #2,(R2)+ ;FLAG FOR OUTPUT MOV R2,R1  ;ASSUME NAME SPECIFIED ; TST (R2)  ;TRUE? ; BNE 1$  ; YES 9 MOV #SRCNAM,R1 ;NO, USE SOURCE NAME 1$: MOV (R1)+,(R2)+ ;XFER NAME MOV (R1)+,(R2)+ TST (R2)  ;EXPLECIT EXTENSION? BNE 2$  ; YES MOV (R4),(R2) ;NO, USE DEFAULT 2$: .DEGEN ;GENERATE SOME CODE .GLOBL EXPGEN MOV (SP)+,R2 ;RETAIN TYPE MOV STKCNT,SP JMP LIST11 ���������������������������������; ; GENERATE ADDRESS PUSH FOR VARIABLE ; PVAR: CLR@ LSTOUT MOV CURSYM,R0 ;GET ADDRESS OF ENTRY MOV #FMPSH,R4 ;ADDRESS OF PROTOTYPE JSR PC,PUTNAM ;PUT NAME IN LIMBO BIT #PARMKM,PARWD(R0) ;IS IT A PARAMETER????? BEQ PVAR01  ;NO MOV #'P,R4 JSR PC,PUTCHR ;FLAG IT AS A PARAMETER BITB BITM+2,MISC+1 ;DO WE NEED A GLOBL?? BNE ER NOW U/W TT.ISE: MOVB @TT.IBP,R0 ;DUMMY FOR ENTRY! TT.IIS: MOV #TKS,R4 ;SET HWR PTR MOV PC,R1 ;SET POINTER TO STORES ADD #TT.IBP-.,R1 MOVB R0,@(R1)+ ;STORE CHARACTER INC -(R1) ;... & BTMP POINTER INC -(R1) ;MORE TO COME? BGT TT.IDN TSTB TT.EDI ;EOD ENTERED? BMI TT.IGO ;EXIT VIA O/P RTN TT.IDN: MOVB @PC,@R4 ;ENABLE KBD INTS MOV -(R1),R0 ;WHEN DONE, GET USING DDB ;********* CARE !!!!! USED AS LITERAL BY PREVIOUS INSTRUCTION *** CLR (R1)+ ;... & CLEAR BUSY ASR @R1 ;CONVSTGIREE ORSTRE, ES;Y R4+,P)(S OVM O N;  1$ NEB ? GHOUHR;T +4OLMBSY,#R4 MPC Y GUT AS LSHNIFI; Y UN50RL ALC 0 ,RR1 OVM T EX NOR FINGA;A  NX0UR5 LLCA  R30,#5 OVM T IFFTU SND ADEVIDI; X UN50RL ALC R SOVIDIT SE;3 ,R500*#5 OVM D OR WXTNET GE;1 ,R)+R4(V MO $: 1E AGORSTL BOYM STOT INPO;4 ,ROLMBSY#V MO  EG RVESA;) SP-(4,RV MO  NETIOU RCKPAUN0 5AD;R   : NP0UR5 RNTURE  2)(R RBCL  RETO;S )+R2,(R1 VBMO  IISC ATOT ERNVCO; 1 ,R'0#D AD  ERMBNUE uLET R3,-(R4) ;DELETE CURRENT 3$: CLR (R0)  ;CLEAR ERROR ADDRESS .OPEN R3,(R4)  ;OPEN THE FILE 4$: RETURN ����������������������������������TSTSW:    ;SWITCH TEST  SAVREG ADD #8.,R4  ;R4 POINTED TO LINK BLOCK 1$: MOV (R4)+,R3 ;THROUGH? BEQ 6$  ; YES ADD R3,R4  ;NO, MOVE TO END OF BLOCK ADD R3,R4 MOV R4,-(SP) ;MARK THE PLACE MOV -(R4),SYMBOL ;SET FOR SCAN SCANW CSIROL  ;DM SO BEQ 5$  ;ERROR IF NOT IN TABLE MOV #LINBUF,R2 ;USE LIPVAR02  ;NO BISB BITM+2,MISC+1 ;YES, SET IT DONE JSR PC,OUTEL ;OUTPUT THE GLOBAL JSR PC,EOL  ;AND AN END OF LINE PVAR02: JSR PC,OUTNAM ;OUTPUT THE NAME JSR PC,OUTCOM ;AND A COMMA MOVB PARXWD(R0),R3 ;GET THE PARAMETER INDEX BIC }#177400,R3 JSR PC,OUTOCT BR PVAR03 PVAR01: JSR PC,PVX JSR PC,OUTST ;AND THE SYMBOL NAME PVAR03: JSR PC,EOL  ;FINALLY AN END OF LINE RTS PC �����������������������������������PVX: BITB BITM+1,MISC ;DO WE NEED A GLOBAL?ERT ANY REMAINING COUNT MOV @R1,16(R0) ;... & GIVE TO MONITOR MOV 14(R0),PC ;EXIT DIRECTLY TO MONITO ; 2) TERMINAL INTERRUPTS: ; A) KEYBOARD CALL: ; THIS ROUTINE STORES INPUT IN BUFFER, CONVERTING ; ALT MODE TO ESC, FLAGGING CHAR AFTER THESE ; TO STOP SPECIAL ACTION & FOLLOWING CR WITH ; LF. ALLOWS MORE INPUT IF ROOM IN BUFFER ; BY LEAVING INT ENB BUT WILL ACCEPT ONLY ; CTL/U WHEN THE BUFFER IS FILLED. CALLS PROC. ; ROUTINE IF CURRENTLY AWAITING DATA. KT.INT: BCS KT.INO ;COMMON ENEVRIET;R R1+,P)(S OVM: 1$ SEUREC;R  NCDL ALC O ER ZSSLEUN ; $ 1Q BE  DEVIDIT EX NOR FET;S  R10,RV MO  ERNDAIEM RVESA;) SP-(1,RV MO  SOO ;D   IVD R SOVIDIT SE; 3 ,R0.#1 OVM N IORSVEON CERMBNUL MACIDE;   : NC�D���������������������� � CTSE.C  +1UFLBTT C=ASTL T2 ./82 KWBL.: UFLBTT 3W LK.B R:HDTL TW LK.B V:SATL TE URMPIT ECCS. C ND.E  ENEV. / E AG P2 -7/Z CIAS.: 3$ 1/ XXCXDEOVTNOCEPGSAUUL/J 50AD.R  N/JUAYRMAPARBMFEAN/J 50AD.R $:12 0.10 .,31 .,qNE BUFFER FOR UNPACKING 2$: MOVB #SPACE,(R2)+ ;SET DELIMITER DEC R3  ;END? BEQ 4$  ; YES MOV -(R4),CHPPNT ;SET CHARACTER POINTER DEC CHRPNT  ;GET A RUNNING START 3$: GETR50   ;GET CHAR AND TEST FOR A/N BLE 2$  ; NO, THROUGH MOVB R5,(R2)+ ;OK, STUFF IT BR 3$ 4$: CLRB (R2)  ;SET TERMINATOR MOV #LINBUF,CHRPNT SETNB  CLR ERRBTS CLR ARGCNT ; CLR R3 CALL @SYMBOL+2 MOV (SP)+,R4 TST ERRBTS BEQ 1$ 5$: SERROR 203 6$: RE BNE }PVAR04 ;NO BISB BITM+1,MISC ;SET THE DONE BIT JSR PC,MUTGL ;OUTPUT THE GLOBAL JSR PC,EOL  ;AND AN END OF LINE PVAR04: JSR PC,OUTNAM ;OUTPUT THE NAME JSR PC,OUTCOM ;ALD A COMMA RTS PC ; ; MODE: .BYTE 'B,'L,'I,'R,'D,'C,'X,%A .EVEN ������������������������ .NLIST BEX OPTLST: OPT1 OPT2 OPTEND 0 OPT1: .ASCII /END=/ OPT2: .ASCII }/ERR=/ OPTEND = . .EVEN FMPSH: .ASCII / $PSH/ .BYTE 0 RPSH: .ASCII / $PSHR1/ .BYTE 15,12,0 FMTTRY ON INT. TST TT.ISW ;IF INPUT, READER'S BABY? BGT TT.IIS ;IF SO GIVE IT TO HIM! KB.IIS: JSR PC,KB.IGP ;GET INTERNAL BUFF PTRS MOV PC,R4 ;SET CHECK STRING POINTER ADD #KB.ICS-.,R4 BICB (R4)+,R0 ;STRIP PARITY BIT CMPB R0,(R4)+ ;^U INPUT? BNE KB.IG1 ;IF NOT CONTINUE CMP R1,R2 ;OTHERWISE ANY OTHER INPUT? BNE KB.IG1 MOV KB.OSW,R5 ;IF NOT, PRINT U/W? BLE KB.IG5 BISB R5,KB.PSP ;IF SO STOP LINE OUTPUT BR KB.IG5 ;... & FORGET IT! KB.IG1: MOV R1,R3 ;SET MOVING PTR KB.ESW: BR .30 .,31 .,30 .,31 .,31 RDWO. 0 3, 1.3, 0.3, 1.3, 9.2, 1.3D OR.W $:11 ENEV. > AB<T./INMA/.F><F IZSC.A $:10 RNTURE  AVLSTT2,RV MO  YTVBMO  R1$,13#V MO  R23,#B SU  NP0UR5  )+R2,('-#B OVM C DN  R1+,P)(S OVM 2 L+BOYMSR CL  OLMBSY),R1$(11$-12 OVM ) SP,(1)(R-D AD  3$ GTB ) SP,()+R1(B SU $: 3E BLTAH NTMOS/AY DTOT INPO; 1 ,R1$#1 OVM: 2$ P)(S.,67#3 OVM8 1$ 2$ LEB . 66#3),SP(P CM  1$ MIB T BIA T EACH;) SP,(2037#B SU  TEDAE THT GE;  E mTURN CSIBAS: .ASCII /LI/ .WORD LIST .ASCII -NL/ .WORD NLIST .ASCII /N / .WORD NSWPRO CSITOP: NSWPRO: MOVB #1,NSWFLG RETURN .ENDC ������������������������ .SBTTL ASSEMBLER PROPER ASSEMB:    ;ASSEMBLER PROPER MOV MAIN.,PRGTTL ;INIT DEFAULT TITLE MOV MAIN.+2,PRGTTL+2 MOV LCMASK,-(SP) ;STACK LISTING CONTROLS MOV LCLVL,-(SP) CALL NXTPAS  ;PROCESS PASS MOV (SP)+,LCLVL MOV (SP)+,LCMASK INC PASS  ;SET FOR PASS 2 NXTPAS: CLAB: .BYTE '0 FMTLB1: .BYTE 15,12,0 .EVEN IOG02: P1,P2,P3,P4,P5,P6,P7 P1: .ASCII / $FIND/ .BYTE 0 P2: .ASCII / $INRI- .BYTE 0 P3: .ASCII / $INI/ .BYTE 0 P4: .ASCII / $INFI/ .BYTE 0 P5: .ASCII / $OUTRI/ .BYTE 0 P6: ,ASCII / $OUTI/ .BYTE 0 P7: .ASCII / $OUTFI/ .BYTE }0 P8: .ASCII / $ENCD/ .BYTE 0 P9: .ASCII / $DECD/ .BYTE 0 INIT05: .ASCII /0,0/ .BYTE 15,12,0 INIT07: .ASCII / $PSH,/ .BYTE 0 INIT08: .ASCII / $+4 ;ESC SW. (BR .+2 WHEN SET) BIS -(R4),R0 ;FLAG CHAR. IF LAST = ESC CLRB KB.ESW ;ASSUME ESC COMING CMPB R0,(R4)+ ;RUBOUT? (OR FLAGGED) BHIS KB.IG2 ;IF SO OMIT ESC CHECK CMPB R0,(R4)+ ;ALT MODES (375/6)? BGE KB.IG5 CMPB R0,(R4)+ ;... OR ESCAPE? BEQ KB.IG5 ;IF SO SET SWITCH KB.IG2: INCB KB.ESW ;... BY OMITTING THIS ;STORE CHARACTER IF ROOM IN BUFFER: SUB R2,R1 ;MORE ROOM IN BUFFER? BMI .+6 SUB #KB.IBZ,R1 ;... ALLOWING WRAP AROUND ADD #3,R1 ;(SAFETY MARGIN) BLT KB.IG3 BAT.D  #ONSIER VOR FTOIT;D   YTVBMO  R12,O+LLHE#V MO  INE TLTIE OV;M  T BYOVM 1 ,R0$#1 OVM T ARSTO TNTOI;P R2F,BUTL#T OVM R FEUF BERADHEE THT NI;I    R:HDET�S������������������������ N VE.E  F><LF><LR><C IZSC.A $:10 RNTURE  NTOU CNELIW NET SE;T CNIN,LPP#L OVM T ISTLI;R HDTL#TK,LNST#L TERI.W  1)(R-R CL  1)(R,-R2 OVM H GTEN LTEPUOM;C  R21,RB SU 1 ,RUFLBTT#V MO  YTVBMO  R1$,10#V MO  ALIMEC DTOT ERNVCO;  C DN  R1M,NUAGPV MO  ERMBNUE AGiALL INIPAS  ;INIT FOR PASS LINE: CALL GETLIN  ;GET THE NEXT INPUT LINE CALL STMNT  ;PROCESS THE STATEMENT CALL ENDLIN  ;POLISH OFF LINE TST ENDFLG  ;END SEEN? BEQ LINE  ; NO, CONTINUE JMP ENDP ������������������������INIPAS:    ;INITIALIZE FOR PASS MOV #IMPPAS,R1 ;SET TO CLEAR VARIABLES 1$: CLR (R1)+ CMP R1,#IMPTOP ;FINISHED? BLO 1$  ; NO CALL SETSRC  ;INIT SOURCE ZAP SECROL  ;ZAP THE SECTOR ROLL MOV R50ABS,SYMBOL ;SET ". ABS��IO/ .BYTE 0 FIN00: .ASCII / $IOF/ .BYTE 15,12,0 .EVEN .END ;  0 IF READ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������GT KB.IG4 ;IF NOT FOR 1 CHAR ONLY .. CMPB R0,#25 ;... ALLOW ^U ONLY BNE KB.IG4 KB.IG3: MOVB R0,(R3)+ ;OTHERWISE STORE INPUT JSR R3,KB.PCK ;... & ADJUST PTR CMPB R0,(R4)+ ;FOLLOW CR WITH LF ... BNE .+6 MOVB (R4)+,R0 BR KB.IG3 MOV R3,KB.IPX ;SAVE POINTER KB.IG4: MOV R3,R1 KB.IG5: MOVB @PC,@#TKS ;REENABLE INTERRUPT MOV KB.ISW,R3 ;INPUT AWAITED? BEQ TT.ODN-2 ;IF NOT, EXIT MOV KB.OCT,-(SP) ;OTHERWISE PICK UP ECHO CNT BMI .+4 ;LEAVE ANY REMAINING ... CLR @SP ;OTHERWISE ZERO IT PHE TMPBU; M NUAGPC IN  ERMBNUE AG PTOT INPO;2 ,RAVLSTT OVM E INUTROR DEEA;H    R:DEEA HN FTXF NDF .I ������������������������ T ECCS. T UNCOR ROER;  W LK.B T:CNRR ES AGFLT AI WNGTIIS;L 2 KBBL.: TWOU LT ESQUREG INSTLI; 2 KBBL.: TROU LS AGFLG INSTLI; 2 KBBL.: TFOU LE URMPIT ECCS. C ND.E  RG ASTPAN URET;R  R5 TSR 1 ,R)+SP(V MO  GSREE ORSTRE;2 ,R)+SP(V MO $:12 TFIF. G LA FITWAT SE; W UTLO CBIN  ITE ITWR;R HDST#LK,LNOD#C TERI.W $:11 RSROERe." MOV R50ABS+2,SYMBOL+2 CALL CSECTF  ;MOVE ONTO ROLL  CLR SYMBOL  ;DITTO FOR BLANK CSECT CLR SYMBOL+2 CALL CSECTF MOV #8.,CRADIX ;SET CURRENT RADIX COMB OBJSEA  ;FAKE OUT SEQUENCE BREAK RETURN R50ABS: .RAD50 /. A@S./ R50DOT: .RAD50 /. / MAIN.: .RAD50 /.MAIN./ �����������������������������������������SETSRC:    ;SET SOURCE DOR BEGINNING OF PASS .IF NDF XFTN MOV #CMDSAV,R1 MOV #CMDBUF,R2 CALL XMIT7  ;SET CSI BUFFER .IFTF GET����� �!�"�#�$�'�(�*�-�.��������� �� �`?��`��)�,�L�O�P�T�}��A��@@�@E�F�D�G�H���I�Q��+�\��@� ^� ^ B���T�}��A��@@�@E�F�D�G�H���I�Q��+�\� B��� ,VM,`^le6 d˟_˟�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� JMP KB.IC1 ;... & GO PROCESS ; B) PRINTER CALL: ; THIS ROUTINE HANDLES ALL PRINT OPERATIONS, ; INCLUDING SPECIAL ECHO AS REQD.I.E.:- ; CONVERSION OF HT & FF, DISCARDING OF ; NULL, VT & PRINT RUBOUT, CONVERSION ; OF CTL CHARS TO ^ FOLLOWED BY ASSOC. ; NORMAL CHAR. ; IT ALSO EFFECTS ERASURE OF UNWANTED INPUT BY ; ACTUALLY REPLACING CHAR WITH RUBOUT, ; (INCLUDING ESCAPE IF PRECEDING) & ; PRODUCES APPROPRIATE ECHO. FOR ^U ; IT ADJUSTS LINE START TO REMOVE ; UNWANTED GARBAGE & RELEASG INIM TIDVO;A  NKTLLS#T AI.W  NO ; $ 12 EQB ? EDSTUEEQ RKB; R UTLO TBTS  TECALIUP D'TON DS,YE ; $ 12 MIB ? PT LASE AM SCEVIDEG INSTLI; 1 F+UTLO TBTS  FT.I  AGFLT AI WET;S  +1TWOULB NCI F FT.I  DRTHLS,#SLNKLI#E ITWR. $ 12 EQB ? NGTIIS LCEURSOY AN; L KSINLT TS  FF.I  ITE ITWR, ES;Y DRTHLS,#NKTLLS#E ITWR. T IF. : 0$ 1F FT.I  AG,PPC SRJ F IF. T IMPDU, ES9Y  ERADHE LLCA  NO ; $ 10 GEB ? ERADHER FOE IM;T  NTNCLI ECD O N;  1$1Q aSRC:    ;GET THE NEXT SOURCE FILE .IFT MOV #SRCLNK,R1 TST (R1)  ;FILE OPEN? BEQ 1$  ; NO .CLOSE R1  };YES, CLOSE IT .RLSE R1 .IFF MOV #LINKAS,R1 TST (R1) BEQ 2$ .CLOSE R1 2$: .IFT 1$: INIT SRC  ;INIT THE SOURCE FILE MOV R1,CSISAV ;FLAG POSSIBLE TERMINATOP TST SRCFIL+4 ;EXPLICIT EXTENSION? BNE 4$  ; YES, USE IT MOV #-1,SRCFIL+4 ;NO, ASSUME ".PAL" .=.-4 .RAD50 /PAL/ .=.+2 MOV #3$,SRCFIL-4 ;SECOND CHANCE IF NOVج g F� 3?@+3?+ ��gA[hB[-M-N_ j"oV_6_n[WhiW Nπ G ��e+XW_WG_"-��4MW6X4 D+-��W; 1D4-"4-�������������������������������� �L-�X X-�P �X � N" � 4�C �Wg_֙ W  CIDIE�€ I �… I LҔ MgP�Ž IIIT�– II JIp W%=֨Tز ԗW�° 1D =ֻ =V%W ~W ��W  -��I W|\ I a I  � Z lҔkB!�PU_V_6_�ES KB BUFFER ; AREA IT OCCUPIES. ; IT WILL NOT BE CALLED FOR SUPPRESSED ECHO; ; HOWEVER FOR SUPPRESSED PRINT IT ; PERFORMS NORMAL PROCESSING, ONLY ; STOPPING ACTUAL OUTPUT TRANSMISSION. ; ;ENTRY FOR OUTPUT INTERRUPT: KT.INO: TST TT.OSW ;ON OUTPUT INT MAY BE PUNCH BGT TT.OIS ;IF SO GO TO ITS ROUTINE ;STANDARD SEQUENCE FOR PRINTER PROCESSING: ; GETS CHAR. OR ITS SUBSTITUTE & SETS UP FOR NEXT ; A) GET CHARACTER FROM BUFFER: KB.OIS: MOV KB.OBP,R3 ;GET BUFFER POINTER IF NOT MOV KB.OSW,-BE  D?TEESQUREG INSTLI; 1 R+UTLO TBTS  FT.I  DEMOR EACL; ) R1-( LRC T UNCOT SE;) R1-(2,RV MO  NTOU CERCTRAHA CTEPUOM;C  R21,RB SU F LET;S )+R2,(LF#B OVM R CFFTU;S )+R2,(CR#B OVM K ANBLT RSFIO TVEMO; + 2)(R TBTS  4$ EQB S AB TND A; 2)(RB,TA#B MPC $ 4Q BE  ESACSPG INILRA TIMTR;) R2-(E,ACSP#B MPC: 4$ LLNUO TCKBAE OV;M  2)(R-B STT R KEAR MET;S  )+R1(R CL  R12,F-BUST#L OVM L UL NONE ATINRMTE; $ 3E BN  ERXF;+ 2)(R+,1)(R VBMO $: 3X DEIN]T THERE BR 5$ 3$: CLR SRCFIL+4 ;FAILED, TRY WITHOUT EXTENSION 4$: CLR SRCFIL-4 ;NO MORE ERRORS ALLOWED 5$: MOV #4,SPCFIL-2 ;INPUT .OPEN #SRCLNK,#SRCFIL .IFF .OPEN #LINKAS,#ASMLS .IFTF INPSRC:    ;INPUT A SOURCE BUFFER MOV #SRCBUF,R1 CLR -(R1)  ;CLEAR COUNT CLR -(R1)  ; AND MODE MOV #SRCLEN,-(R1) ;SET MAX LENGTH .IFT .READ #SRCLNK,R1 ;READ IT .IFF .READ #LINKAS,R1 .IFTF RETURN .ENDC ������������������������GETLIN:    Ok^x^^]0��{x@x0Rx�xªU�L1zC[B|-B[9@B[V=4B[kC[�VA[�ҘVW|z CEP_J4B۵zB̗?|z:7_Pf_ kZP_X_̗R@‡zU7z zif_z׵7_|r77{9@9@zdz:7_̗a:7_|7977_z77_7?)xWzW|$|W9ߌªj{WW��|1��1quU��ZQ1��ZQT1��xkۖh@C�ODۖ1��xzۖG|COD(SP) ;GET SWITCH FOR LATER CHECKING KB.OGO: INC KB.OCT ;MORE IN BUFFER? BGT KB.ODN CLR R5 ;WILL BE USED AS RUBOUT SW. MOV PC,R4 ;FOR MORE, SET CHK STRG PTR ADD #KB.OCS-.,R4 MOV R3,R2 ;HOLD BUFF PTR AGAINST ECHO SIT MOVB (R3)+,R0 ;GET CHARACTER ... JSR R3,KB.PCK ;... & ADJUST PTR ; B) IF ECHO PRINT, TAKE DELETE ACTION IF REQUIRED: TST @SP ;CHECK IF ECHO PRINT BPL KB.OG1 ;IF NOT OMIT ALL THIS CMPB R0,#25 ;CHECK FOR ^U BNE KB.OD0 TST KB.CSW ;SECOND TIME THRU? BNE KB.OS6N IOATINSTDET SE;2 ,RUFTBLS#V MO  NTMEGUARH TCFE;1 ,R)+R5(V MO $: 2F FT.I  SLNKLI#T AI.W  FF.I  NKTLLS#T AI.W  FT.I  2$ CCB P LOR FTOIT;D  +1TWOULB SRA F IF. : 1$ ES;Y  NKDLCO#T AI.W  NO ; $ 1C BC  B? KONG INITWA; W UTLO RBAS  FT.I  P)(S,-R2 OVM S EG RWO TVESA;) SP-(1,RV MO  NELIA T IS;L   : INTLLS TFIF. E OD MKBO TET;S TROU,L#1 OVM E AGSSMEA E YP;T    G:MSYP TN FTXF NDF .I  UTTPOUG INSTLI TLBT.S ������������������������ T ECY;GET AN INPUT LINE SAVREG MOV #IMPLIN,R1 8$: CLR (R1)+  ;ALEAR LINE-DEPENDENT VARIABLES CMP R1,#IMPTOP BLO 8$ 1$8 MOV #LINBUF,R2 MOV R2,LCBEGL ;SEAT UP BEGINNING MOV #LINEND,LCENDL ; AND END OF LINE MARKERS .IF NDF XMACRO MOV MSBMRP,R1 ;ASSUME MACRO IN PROGRESS BNE 10$  ;BRANCH IF SO .IFTF MOV #SRCBUF,R1 .IF NDF XFTN .IFF .WAIT #LINKAS .IFT .WAIT #SRCLNK .ENDC TSTB SRCHDR+3 BEQ 2$ .IF NDF XFTN BIS CSISAV,ENDFLG dWoW U ZWDZז~��1W5U5U>ɍק��U5�5�U�™h@-$_l%_W&_Y'_(_X)_V:_WYX׀|6*_VЗ[З+_˖v�vl?cm?&_m>ۖx&ז+�*_&_r@km?(_m(_rm?@v%_m%_k?$_k+_�|Ӗ*_E ��XMm2X- �Y@Dd|P41 UOI�W.xx��8ZǑב[ܟ5.Z._'zWkWXЗa_WW9�Jk@_ A_h@A_ъ�JkWzWa_׈VWWJ|Pa_:axeW|׋ |Wۏ9 zWJkW ;IF SO SET UP CRLF ECHO KB.OD0: MOV #0,R5 ;RUBOUT SWITCH ON? KB.DSW=.-2 BEQ KB.OD2 CMPB R0,@R4 ;IF SO RUBOUT AGAIN? BNE KB.OD3 ;NO - GO CLEAR SWITCH NOW KB.OD1: CMP R5,KB.IPY ;ANY TO DELETE? BEQ KB.OGO ;IF NOT IGNORE CMP R5,KB.IBS ;ADJUST IF NECESSARY BNE .+6 ADD #KB.IBZ,R5 CMPB -(R5),@R4 ;IGNORE IF DELETED ALREADY BEQ KB.OD1 MOVB @R5,R0 ;ERASE DELETED CHAR. MOVB @R4,@R5 KB.OD2: CMPB R0,@R4 ;IF NO DELETE SW, RUBOUT NOW? BNE KB.OG1 MOV R2,R5 ;IF SO SET SWITCH BR .+4CS. W LK.B P:TYLK BW LK.B T:PNLD RW LK.B T:PNBJ OE URMPIT ECCS. N URETR: NXJIOB NTDPRL2,F+BULD#R OVM T PNBJ,OUFJBOB#V MO I:INBJ O : 9$ DCEN. L KOIN#L ITWA. R HDLD#RL,KOIN#L TERI.W  FF.I  NKJLOB#T AI,W  DRDHRL,#NKJLOB#E ITWR. N FTXF NDF .I  DCEN. $ 9R B F IF. P NO  IM1SX1 DF NIF. ) R0-(1,#V MO  0)(RF,BULD#R UBS ) R0-(T,PNLDRV MO  0)(RP,TYLKBV MO  R0F,BULD#R OVM: MPDDRL ITINT US JO, N;  NIJIOB OSBL  D?RLN INGHIYTAN;2 F+BULD#RT,PNLDRU BNE 9$ .ENDC CALL GETSRC BR 1$ 2$: MOV SRCHDR+4,R0 ;GET BYTE COUNT CLRB SRCBUF(R0) ;SET A TERMINATOR MOVBYT   ;MOVE THE STRING CALL INPSRC  ;ALL SET FOR THE NEXT BUFFER CMPB -(R2),#FF ;TERMINATOR A FF? BNE 3$  ; NO .IF NDF XFTN CLR LINCNT  ;YES, FORCE NEW PAGE .IFD MOV #60.,LINCT JSR PC,PAG .ENDC 3$: CMPB -(R2),#CR ;A VALID CR? BEQ 4$  ; YES TSTB (R2)+  ;NO, DON%T ZAP THE CHAR 4$: CLRB (R2)  ;ZAP END OF LINE C8ėq8��XV6 8X8��8�KX8JX84_X8@3Y6Y8ZZЗ2_X� Q� �3_2π*� 3ۏ�33_ė4Ux2a_ 5_ Y5�>a_285�H3R�K3P�QJ3_X8aY[aYbY �_U ����E4��P_g9zgYg9UxPqg9��P_ `P_sq9��P_}x9DP_zxYx9��P_9zY9 DP_Y9��"ڀ¥Y9¥YYY"�"ZYY9��ѧ9YY9ЗYY§9YQ�QYY9��_~9DYp@w@P_Yw \_�_�_��\�__P_99��~ KB.OD3: CLR R5 ;IF ALSO AT END OF STRING ... MOVB #134,R0 ;... REPLACE WITH \ KB.OD4: ADD #5,R4 ;BUMP STRG PTR .... BR KB.OS3 ;... & GO SIT FOR NOW ; C) PROCESS FOR SPECIAL CHARACTERS: KB.OG1: MOVB (R4)+,R1 ;ADJUST CHECK POINTER BICB (R4)+,R0 ;STRIP PARITY BIT ... BEQ KB.OGO ;... & IGNORE NULLS CMPB R0,R1 ;... RUBOUT .... BEQ KB.OGO CMPB R0,(R4)+ ;... & VERTICAL TAB BEQ KB.OGO MOV R0,R1 ;SAVE IN CASE REQUIRED LATER CMPB R0,(R4)+ ;REPLACE HORIZ. TAB ... BNE KB.OG2 MOP CM $: 1: 9$ DCEN. L KOIN#L ITWA. R HDBJ#OL,KOIN#L TERI.W  FF.I  NKJLOB#T AI.W  DRJHOB,#NKJLOB#E ITWR. N FTXF NDF .I  DCEN. $ 9R B F IF. P NO  IM1SX1 DF NIF. Y PTEMF ICHANBR ; $ 1Q BE  ZESIE UTMPCO;) R0,(UFJBOB#B SU  D)TEITINT NO (LLNUF IITEX; X INBJOQ BE  0)(RT,PNBJOV MO  RYNABID TEATRMFO;+ 0)(R1,#V MO  R02,R+HDBJ#O OVM R FEUF BCTJEOBE THP UM;D    P:DMBJ�O���������������������� � 16DTRL; 0 01601D OR.W  15DTRL; 0 01601D OR.W  0D QHAR 5$: MOV #LINBUF,CHRPNT SETNB BR SETLIN .IF NDF XFTN 9$: ERROR E  ;EOF BEFORE .END BR 4$ .ENDC ����������������������������������������������� .IFT 10$: CALL 20$  ;MOVE A CHARACTER BGT 10$  ;LOOP IF GT ZERO BEQ 19$  ;END IF ZERO MOVB -(R2),R0 ;TERMINATOR, BACK UP POINTER CMP R0,#MT.MAX ;END OF TYPE? BLOS 22$  ; YES MOV R1,-(SP) ;REMEMBER READ POINTER MOV MSBARG,R1 TST (R1)+  MOV R2,R3  ; AND WRITE POINTER NEG R0   RѲ�8L@n7Ѹ���8L@n7Ѹ���8LV@0n7ѸH8L@n7ѸH8LK8LV@0n7ѸH8LK8LV0K8LV`1�v3K ߀�8LV`1�v3qK�8LV`1�v3K !\X$h8LV`1` fnhH HtJJÐhV`+ �8LV`1` fnhH HtJJÐhV`+ �8LV@0n7ѸH8L@d߀�8L@n7ѸH8LK %T`0JEh�o��H V2`1�v3K!1,ZA�8L@n7Ѹdo��8LV@0n7Ѹdh���8LV`1�VB #40,R0 ;... WITH SPACES .... TSTB #7 ;... UNTIL NEXT TAB STOP KB.TCT=.-2 BNE KB.OS2 ;MEANWHILE SIT ON HT KB.OG2: CMPB R0,(R4)+ ;FORM FEED ... BNE KB.OG3 MOVB @R4,R0 ;... IS REPLACED BY LF .IF EQ,FTRPG TST KB.LCT ;... UNTIL PAGE-END BNE KB.OS3 .IFF MOV KB.LCT,#0 ;SET FF SWITCH KB.FSW=.-2 .ENDC KB.OG3: CMPB R0,(R4)+ ;LINE-FEED.... BEQ KB.OS4 ;... MUST LOOK FOR PAGE-END CMPB R0,#15 ;CR MAY RESTORE PRINT BEQ KB.OS5 ;... SO GO CHECK CMPB R0,#32 ;NOW LOOK FOR OTHER CTOR.W  0D OR.W  0D OR.W  11DTRL; 0 00001D OR.W  0D OR.W  0D OR.W  06DTRL; 0 01601D OR.W  05DTRL; 0 01601D OR.W  04DTRL; 6 00401D OR.W  03DTRL; 4 00201D OR.W  02DTRL; 6 00401D OR.W  01DTRL; 4 00201D OR.W  0D OR.W  PETYD RLY BLEAB;T    L:TBCR P N URETR 2 ,RNTDPRL OVM P DMBJOL ALC R TEINPOD RLT SE;T PNLD,RR2 OVM : MPRDPC������������������������ N URETR: 1$ 2N URET RUETRT SE; 0 RZ TNSE  AKRE BCEENQUSET SE;C LOBJ,OOCCLCL OVM C PTEM;ASSUME MACRO CMP MSBTYP,#MT.MAC ;TRUE? BEQ 12$  ; YES, USE IT MOV MSBCNT,R0 ;GET ARG NUMBER 12$: MOV R3,R2  ;RESET WRITE POINTER 13$: CALL 20$  ;MOVE A BYTE BGT 13$  ;LOOP IF PNZ BLT 14$  ;END IF LESS THAN ZERO DEC R0  ;ARE WE THERE YET? BGT 12$  ; NO 14$: TSTB -(R2)  ;YES, BACK UP POINTER MOV (SP)+,R1 ;RESET READ POINTER BR 10$  ;END OF ARGUMENT SUBSTITUTION 19$: MOV R1,MSBMRP ;END OF LINE, SAVE POINTER BIS #LC.ME,LCFLAG ;FLA wK?_ _J1 J*_J*_jJJr �t ���t �� ߈ �’ T J 1K 3Kt  @�h ���� } y | ~ 8 H I c d g m n o p �  d e f g h i j k l m n p q r s t u v w x y z | } ~  , . 0 2 4 6 8 : < > @ B D F H J L N P R T U X Z [ ] ^ _ ` a b c �     !#$%&'()*+,6=IJhB������� �9 H J c j ����h L CHARS BGT KB.OG4 BISB #100,R0 ;THESE MUST BE CONVERTED COM #0 ;... & PRECEDED BY ^ KB.CSW=.-2 BNE KB.OS1 KB.OG4: DECB KB.TCT ;RESET TAB STOP IF NEC BPL KB.OG6 KB.OG5: MOVB @R4,KB.TCT KB.OG6: MOV R5,KB.DSW ;STORE LATEST DELETE SW. TST (SP)+ ;TRUE PRINT? BPL .+4 ;IF NOT ADJUST FOR ECHO INC R4 BITB @R4,KB.PSP ;BECAUSE,AFTER ALL THAT, .... BNE KB.OIS+4 ;... MAYBE NO PRINT ANYWAY!!! MOV R3,KB.OBP ;SAVE LATEST PTR SETTING JMP KT.OGO ;JOIN TT TO OUTPUT ;SPECIAL CASES: ; 1)DAUP;C LOLC,CR5 DDA 2 R O 1NTOU CKEMA; 5 RC IN $:20 NTJPOB1,RV MO $:19 )+R1,(+1UEALVB OVM N IOCTRUSTINE YT BIFH NCRA;B  9$1Q BE  R5 STT + 1)(RE,LUVA VBMO  ERNTOI PVESA;T PNLD,RR2 OVM: 7$ 1T IVEMO, ES;Y )+R2,(UEALVV MO  NO ; $ 17 CCB ? UEAL VNY;A 4 RL AS $:16 )+R2,(+2OLMBSY OVM T IVEMO, ES;Y )+R2,(OLMBSY OVM O N;  6$1C BC  D?TEESQUREL BOYM SNY;A  R4 SLA: 5$ 1 + 2)(R0,RB OVM X DEINE UTMPCO;0 ,RUFJBOB#B SU  R01,RV MO  DECOT SE, ESIG AS MACRO EXPANSION BR 5$ 20$: BIT #BPMB-1,R1 ;MACRO, END OF BLOCK? BNE 21$  ; NO MOV -BPMB(R1),R1 ;YES, POINT TO NEXT @LOCK TST (R1)+  ;MOVE PAST LINK 21$: MOVB (R1)+,(R2)+ ;MOVE CHAR INTO LINE BUFFER RETURN 22$: CMP R0,#MT.MAC ;MACRO? BNE 23$  ; NO CALL ENDMAC BR 1$ 23$: CALL ENDRPT BR 1$ .ENDC SETLIN: MOV #OCTBUF,R1 1$: MOV #SPACE*400+SPACE,(R1)+ ;BLANK FILL CMP #LINBUF,R1 ;TEST FOR END (BEGINNING OF LINE BUFFER)  zKJ 4K4+ܔ�@ ܌М^7߃ |w4+_̎Վtm@Œʝ7ޞ|`8@Ax7`�8sM`8 ܼ4+@̎Վ7T4+_܎w7`�¬8J`z J zK.��4+t7t7t.��|܎K7͘.��4+.4k�.��4+A]Y.�� .K@..��ޘC.�� |. .w.��YX 4KX�/A��kld ޼JIj^�t / tmt��4+iK i HjjKHkkKHllK*@4+j_4kj wk w$/��&C/p��&�ppI/��&�IS/��:Z/ZOZ/��*J7j w CTL CHARACTERS (FIRST PASS): KB.OS1: MOVB #136,R0 ;ECHO ^ THIS TIME CMPB -(R4),-(R4) ;MOVE STRING POINTER BACK ... ; 2) HORIZONTAL TAB: ; (ALSO RUBOUT \ ECHO) KB.OS2: INC R4 ;GO TO LF IN STRING TST R5 ;TAB UNDER DELETION? BEQ KB.OS3 ;IF SO GO AND SIT MOVB R1,(R5)+ ;OTHERWISE USE DELETE SIT .IF NE,FTRPG ;10-NOV-72 ;THE FOLLOWING COMMENT NO LONGER APPLIES:- ; 3) FORM FEED: .ENDC KB.OS3: MOV R2,R3 ;AS WELL AS NORMAL SIT DEC KB.OCT ;... BY ADJUST CNT & PTR BR KB.OG3 ; 4) ;Y )+R2,(ORCTSE VBMO  NO ; $ 15 CCB = LD RNY;A  R4 SLA: 4$ 4S ESDRADG INRTTA SND A; + 1)(RC,LOLCCV MO  PETYK OCBLT SE, ES;Y )+R1,(03KTBL#V MO O N;  4$4E BN  M?TE ISTIR;F UFJBOB,#R1 MPC 1 ,RNTJPOB OVM P FEUF BMPDU, OMROO N;  3$1I BH  ENDLRLF+BULD#R0,RP CM  R02,RD AD  ZESID RLT GE, ES;Y  R04,RB OVM O N;  3$1I BH  M?OO;R -1ENJLOBF+BUBJ#O0,RP CM  ND EEW NTEPUOM;C  R05,RD AD  ERNTOI PDECOT GE;0 ,RNTJPOB OVM: 4$ 1R FEUF BMPDU; P DMCRPEBNE 1$ RETURN ���������������������������������ENDLIN:     ;END OF LILE PROCESSOR SAVREG CLR ROLUPD CLR LOUTR  ;CLEAR LIQTING REQUEST TST R5  ;BRANCH IF END OF LINE BEQ 1$ CMP R5,#CH.SMC ; ";" BEQ 1$ ERROR Q 1$: TST PASS  ;PASS 1? BEQ 20$  ; YES TST ERRBTS  ;ANY ERRORS? BNE 10$  ; YES, GO DIRECTLY, DO NOT COLLECT, ETC. .IF DF XFTN CMP LSTVAL,#2 ;LISTING REQUESTED? BGE 13$  ;YES, GO DO IT .ENDC TST LCLVL  ;TES&+^: Y8tє:LM-4K:,^p: s: N)N*MX:ԝ^n K]KWXn^4K>^p N JєkМ^ʷʂ&2@ј7i m߬~�nєX&�p :LM:,O pNvMuM_4+�4+7΢~MؘX: @p�‚ IܘX@p~�p:߫ P�n;EӀ/0^tE�ntESnExESt^J, ��K^p E3��؜@r|�r4+K3 xJ|f4+K^4k zK LINE-FEED: KB.OS4: .IF NE,FTRPG TSTB #0 ;IF FILL NOT YET UNDERWAY ... KB.FIL=.-2 BNE KB.O4B MOVB KB.FIL+1,KB.FIL ;... START IT NOW BEQ KB.O4C ;... UNLESS NONE TO DO KB.O4A: MOV R2,R3 ;OTHERWISE SIT FOR FILL DEC KB.OCT BR KB.OG5 KB.O4B: CLR R0 ;USE NULL FOR FILL ASLB KB.FIL ;... UNTIL ALL DONE BNE KB.O4A KB.O4C: ;THEN .... .ENDC INC KB.LCT ;IF AT PAGE-END ... .IF EQ,FTRPG BLE KB.OG5 .IFF BLE KB.O4D .ENDC MOV #-7.,KB.LCT ;... RESET LINE COUNT .IF NE,FTRPG L ALC: 3$ 1C PEW NET;S )+R2,(OCCLCL OVM: 2$ 1+ 2)(R0,T1LD#R OVM: 2$ 4R FEUF BNTREUR CMPDU, ES;Y  MPRDPC LLCA  ES Y;  2$4S LOB ? ERFFBUD RLT ENRRCUN IOMRO;4 N-LELD+RUFDBRL,#R2 MPC O N;  4$1Q BE  S? UONE OV MPCD DI;C LOBJ,OOCCLCL MPC: 1$�1���������������������������� � 2$1R B C SEBJ,OECCSCL VBMO  )+R2,(+2AMCNCL OVM E AM NORCTSEW NED AN ;+ 2)(RM,NALCCV MO  7PETYD RLT SE;+ 2)(R7,T0LD!R OVM: 1$ 4S ERFFBUT ENRRCUP UM DS,YE; P DMCRPL ALC S YE ; $ 41 OSAT OVER-UNDER RIDE BLT 20$  ;IF <0, LIST ONLY IF ERRORS BGT 13$  ;IF >0, LIST UNCONDITIONALLY .IF NDF XFTN BIT #LC.COM,LCMASK ;COMMENT SUPPRESSION? BEQ 2$  ; NO MOV CHRPNT,LCENDL ;YES, ASSUME WE'RE SITTING AT COMMENT 2$: BIT #LC.SRC,LCMASK ;LINE SUPPRESSION? BEQ 3$  ; NO MOV #LINBUF,LCENDL ;YES, POINT TO START OF BUFFER 3$: TSTB ROLSIZ+CODROL+1 ;ALYTHING IN CODE ROLL? BEQ 4$  ; NO BIT #LC.MEB,LCMASK ;MACRO BINARY EXPANSION? BNE 4$  ; suxI0CvvsvxC0I߂tP`t7 4Kј: M-O OZO7Q JV6��J瘶 t&2@tt6��-߬ܥ RQ 2߭1Q 21 R 2Q1�]q 2߭^:,OМ_:,.͘ RQ 21 2^:,A]A=J_Q Rq6��X6O8^8@6�N.kSkOSO-O6"6_xpxO6_._.��R707��:L: H|M&:lm77��NPK�.NC7��N4KPXZU.NO7��x&R] &^]7KB.O4D: TST KB.FSW ;IF FF & STILL MORE LINES ... BNE KB.O4A ;... SIT SOME MORE, ELSE ... .ENDC BR KB.OG5 ;RETURN TO RESET TAB STOP ; 5) CARRIAGE RETURN: KB.OS5: TST @SP ;TRUE PRINT? BMI KB.OG5 BICB @SP,KB.PSP ;IF SO, REMOVE LINE SUPPRESS BR KB.OG5 ; 6) INPUT CTRL/U - RESTORE CARRIAGE: KB.OS6: MOVB -(R4),@R2 ;REPLACE ^U WITH LF MOVB -(R4),-(R2) ;... & PREV SLOT WITH CR CMP KB.IPY,KB.ILE ;LINE ALREADY U/W? BNE .+6 ;IF SO LEAVE END PTR MOV R3,KB.ILE ;OTHERWISE RESET IT ... MBL  D?RLT ENRRCUN IOMRO;0 -1ENDLRLF+BULD#R2,RP CM  NO ; $ 11 EQB ? GEANCHR TOEC;S ECJSOBC,SELCCB MP}C R FEUF BLD RTOR TEINPOT SE;2 ,RNTDPRL OVM Y TRENE BLTAR PERO PET;G R4),R4L(TBCRPV MO  TSBIR DEORH IG HARLE CS,YE;4 ,R007417#C BI  NO ; $ 20 EQB ? OR FEDLLCAE OD CCTJEOBY AN; P TYLKBT TS  EMITR PERO PSTLI; B PFETSL ALC O TWW NO; 0 RL AS  TEBYR FOE ONE AK;M  R0 DCA ? TEBY; 4 RL AS  R0 LRC O ER ZMNLUCOT IS;L   F0TPSE  PCE ATPD USTHU, ES Y; =NO BIC #LC.ME,LCFLAG ;YES, IGNORE ME FLAG 4$: BIT LCMASK,LCFLAG ;ANYTHING SUPPRESSED? BNE 20$  ; YES, DON'T LIST .ENDC BR 19$  ;YES 10$: INC ERRCNT  ;BUMP ERROR COUNT INCB LOUTP  ;LIST TO KB BICB NSWFLG,LOUTR MOV #ERRMNE-1,R1 MMV #OCTBUF,R2 11$: TSTB (R1)+  ;MOVE CHAR PNTR AND CLEAR CARRY ROR ERRBTS  ;ROTATE ERROR BITS BCC 12$ MOVB (R1),(R2)+ 12$: BNE 11$ 13$: MOV #LINBUF,LCBEGL ;LIST ENTIRE LINE MOV #LINEND,LCENDL 19$: MOV^4kRn tm~n+nKnkМ^�k4+@ a\R�t5 Ynnk0=X8ИXIx=YR®tͮN@K߮ f0 �nĚ{JYWW^^&R��Ț:t�� Z:��&Rv ]&&R:��::��~::K:KR:��PP:��@€:��: €pTWWЀ׆WsYTT@Y@ۀd@5Y[TVt WW~T5dXYWtW׸YָW@c׷J@W\Pt WW PPXJ׸ʵOV R3,KB.IPY ;... & RELEASE INPUT BUFFER CMPB (R4)+,(R4)+ ;RESET STRING PTR DEC KB.OCT ;ADJUST CNT FOR 1 CHAR ... BR KB.OD4 ;USE ANOTHER SPECIAL LOOP ;... TO ADJ. FOR OTHER & RESET ;SUBSIDIARY SUB-ROUTINES: ; 1) CHECK TRANSFER DIRECTION ON SET-UP ENTRY: ; CALLED BY JSR R4,TT.DCK OR KB.DCK ; RETURNS CALL+2 FOR INPUT, CALL+4 FOR OUTPUT ; WITH TRANSFER CONTROLS IN REGS. & ; SAVED PRIORITY IN R4 (FOR TT ONLY). TT.DCK: MOV @R5,@SP ;PREVENT INTERRUPT FOR NOW MOVB #340,@R5 KB.DCK: 0$2Q BE  E?ONS AS;P  SSPA STT: 1$ 1TOP UM BD,OR W;  R5 NCI E YT BIFH NCRA;B  1$ MIB E YP TLD RHE TET;G R4R,TOECSB OVM E YT BMESUAS; 5 RR CL D EN ; $ 21 EQB Y TRENL OL RDECOT EX NET;G  OLDRCO XTNE  LLROE OD CSSCERO;P    L:OLCR�P������������������������������������������ � DSOR WURFOE OV;M  T4MIXP JM $: 1T ENRRCUP UM DO,9N  MPRDPC LLCA  ES Y;  1$ OSBL  R?HEOTANR FOM OO;R 10N-LELD+RUFDBRL,#R2 MPC K OCBLD GSA P UM;D   : MPDDGS������������9B LOUTF+1,LOUTR+1 ;SET LISTING FLAG ������������������������20$: CALL PCROLL 21$: TST LOUTR  ;ANYTHING REQUESTED? BEQ 24$  ; NO CLRB @LCENDL  ;SET ASCIZ TERMINATOR MOV LCBEGL,R1 MOV #LINBUF,R2 CMP R1,R2  ;ANY SHIFTING? BEQ 23$  ; NO 22$: MOVB (R1)+,(R2)+ ;MOVE IT OVER BNE 22$ 23$: LSTLIN OCTBUF  ;LIST THE LINE 24$: CALL SETLIN CALL PCROLL BEQ ENDLIF  ;EXIT IF EMPTY CLR @LCBEGL .IF NDF XFTN BIT #LC.BEX,LCMASK ;BINARY EXTEN���h>|h>�`��0�`��@�@���0�P�€ | ��_TJ�w 6 ^|i T^�� �>��Jj]*>j߷߹͹�»*JtJ|� �  �О>J�מ>>��Jp Jמ>��J JJ>��C7_O7K>���@�������� �����/�7����@0�8��@A�2�:��1�9�-�4�<�,�3�;�QR�S�U�V�T�W�X� .�6�>�B�5�=�������� 'ز(`*@?�2@Ҁ@Ѐ>jtY�,5IK]^_`abcdefȁ (19A IPX ahpxMOV R0,R1 ;SET MOVING POINTER ADD #6,R1 MOV (R1)+,R2 ;GET BUFFER ADDRESS MOV (R1)+,R3 ;... & WORD COUNT ASL R3 ;... AS BYTES BIT #2,(R1)+ ;CHECK TRANSFER FUNC BEQ .+4 ;IF READ TAKE 1ST EXIT TST (R4)+ ;IF WRITE TAKE 2ND RTS R4 ;... WITH R1 AT COMP RTN ; 2) SIMULATE INTERRUPT: ; CALLED BY JSR R4,KT.ISM ; WITH RETURN ON TOP OF STACK ; EXITS WITH SIM. INT CALL BELOW 'SAVED' REGS ON ; STACK (R0 CORRECTLY SAVED) KT.ISM: MOV 2(SP),@SP ;GET RETURN ADDRESS ... MOV @#P.STAT,2(SP) ;.������������ G FLLBGD OR.W  //G IISC.A  LGLFRE RDWO. / R /I CIAS. G FLEGRD OR.W  //% IISC.A  LGLFLB RDWO. / =/I CIAS. : 2TDPEN RNTURE  )+R2,(R0 VBMO $: 10 RB WAS $ 1E BN  DEMO+,3)(R ITB 0 ,R)+R3(V MO B:P2ND E N URETR: 6$ UFNBLI INTLLS  2)(R RBCL: 5$ NELIT EX;N  2$ BR  NELIT PUUT;O  UFNBLI INTLLS  AB TSTLAR EACL, ES;Y  2)(R-B LRC: 4$ NO ; $ 3O BL  E?IN LNE OOR FGHOUEN;. 50F+BUIN#L2,RP CM  ORATAREP;S )+R2,(AB#T VBMO $:10 5SION SUPPRESSED? BEQ 21$  ; NO .ENDC BR 24$  ;YES, DON'T LIST ENDLIF: ZAP CODROL  ;CLEAR THE CODE ROLL RETURN ������������������������ .SBTTL STATEMENT PROCESSOR STMNT: .IF NDF XFTN TST CNDWRD  ;IN CONDITIONAL? BNE 20$  ; YES, @RANCH IF SUPPRESSED .ENDC GETSYM BEQ 6$ CMP R5,#CH.COL ; ":" BEQ LABEL CMP R5,#CH.EQU ; "=" BEQ ASGMTP .IF NDF XMACRO MSRCH BNE 11$ .ENDC OSRCH BEQ 7$ 1$: MOV #CLCLOC,R4 ;SET PcU\ 1 aUjU \ 1 \/�¼ � sUp@ seckߛr sW\/�lUs@ sgl_vUke\� sUg \_�$c@!yk_c$:k_j1):(1�7j@5 ,\J�@r:_J\OJ�\/JԖޗikQNe��Zj`Zn\hchoheoho�ЮehohoheUh_oh_eUktN��|i„<hU �h<ρhiihhUi\/\�s@«egUr֞\ecksU: ԖyOhiؼ\\/�yU� yU1\.. & REPLACE WITH STATUS SUB #12,SP ;'SAVE' REGS 1 THRU 5 MOV R0,-(SP) ;CORRECTLY SAVE R0 MOV R4,PC ;... & EXIT ; 3) COMMON SET-UP FOR TT: ; CALLED BY JSR R1,TT.OIC WITH ARGS FOLLOWING ; EXITS WITH THESE CORRECTLY SET-UP ; PROVIDED THAT REQUIRED DRIVER SECTION IS FREE ; (IF NOT TREATS AS FATAL ERROR - MORE THAN 1 USER) ; IF CORRESPONDING SIDE OF KB IS BUSY ; ALLOWS IT TO FINISH MOV R4,@R5 ;ALLOW INT TEMPORARILY TT.OIC: MOV R0,@SP ;SAVE DDB ADDRESS MOVB @PC,@R5 ;... &STOP INT AGYTTBSE LLCA  0$1E BG  1)(R,-#1 PBCM  2BDPEN LLCA  2BDPEN LLCA  RDTWSE LLCA  R1E,LUVA#V MO  2BDPEN LLCA  2BDPEN LLCA  R3T,P2ND#E OVM L BOYM SHE TCKPAUN;  P UN50R E OR MNO ; $ 5Q BE  OLMBSYT EX NHE TET;G  OLMRSY XTNE $: 3E AGORSTO TNTOI;P R2F,BUIN#L OVM: 2$ ANSCE BLTAL BOYM SOR FET;S  PDLURO LRC C ND.E  GEPAE TH; G PAC,PR JS  CEANDV;A CTIN,L0.#6 OVM $ 6E BN  #3L,VASTLP AM  FF.I  GEPAW NEE RCFO; T CNINLR CL  ES Y;  6$ NE}B ? 1OINTER FOR USE OF ALL DIRECTIVES BIT #100000+DFLGEV,MODE ;FORCED EVEN OR OP-CODE? @EQ 2$  ; NO BIT #1,(R4)  ;YES, ARE WE EVEN? BEQ 2$  ; YES INC (R4)  ;NO, MAKE IT SO ERROR B  ; AND FLAG "B" ERROR 2$: CLR R0  ;CLEAR FOR SUBROUTINES USE CLR R3  ; DITTO MOV MODE,R1  ;GET OP'S CHARACTERISTICS BMI 10$  ;BRANCH IF OP-CODE FLAG SET BIT #DFLGDG,R1 ;DATA GENERATING TYPE? BNE 3$  ; YES JMP @VALUE  ;NM, JUST BRANCH 3$: MOV (R4),-(SjZ]lZjjZ@jXjZkYkZm�j�m�#de_ј_RRU@@QQUkXkZ@@d@PPUlXlZ \@k_kZd?@@d@e?Xe \d@*d?@9d?@2�d?]�d__?՘kZkZjdd_kdd_ldwUR`R`URzU oU s@’uUtUԖRޗkx�lhh_hX_Y_8:aRRm�”kXkZjQUd_d?јd?XdRRUd?Xd:vR_Um8@ � �t LYЎ_ B+% e^.B>@”>2{^^<JU o_p_jAIN TST @R1 ;CHECK IF SECTION BUSY BEQ TT.OIG ;IF NOT CONTINUE BPL .+4 ;MAYBE SAME D/S AFTER RESTART COM @SP ;SO ALLOW FOR IN WAIT STATE CMP @R1,@SP ;... & CHECK BEQ TT.OIC-2 MOV @R0,@SP ;OTHERWISE GIVE EVIDENCE MOV #TT.MER,-(SP) ;CALL ERROR DIAG PRT ... IOT ;... & IT'S FATAL! TT.OIG: MOV R0,(R1)+ ;SET BUSY FLAG CLR TT ;... & 'FREE' DRIVER MOV R3,(R1)+ ;STORE BUFFER POINTER MOV R2,(R1)+ ;... & BYTE COUNT MOV R4,@R5 ;DROP PRIORITY MOV (R1)+,(SP)+ ;KB SIDE BUSY? BNE ONSIESPRUP SLEAB TOLMBSY;K ASCM,LYM.SLC#T BI  NO ; $ 6Q BE  T?PUUT ONGTIIS LNY;A  TFOULT TS  TNXF DF NIF. : 1$ ITP UM;D  MPDDRL LLCA  ND EET;S YPKTBL6,T0LK#B OV}M T IMPDU, ES;Y  MPJDOB LLCA  NO ; $ 1Q BE  T?PUUT OCTJEOBY AN; P TYLKBT TS  2SSPAF OND;E   : P2ND ES ERDLAN HDECOT ECBJOL TTSB.� ���������������������������� C ND.E  EXBT IS.L  ENEV. 2 ,115 TEBY. . .- +'E YT.B B:LT B/ 0)0000/0 IISC.A 1:GTLL B/ ( /I CIAS.: GTLL B/ XXXXXX-P) ;YES, SAVE CURRENT PC }CALL @VALUE  ;CALL PROPER ROUTINE MOV (SP)+,(R4) ;RESTORE INITIAL PC 5$: RETURN ������������������������6$: MOV #10.,R2  ;NOT SYMBOL, PERHAPS LOCAL SYMBOL? CVTNUM BEQ 7$  ; NO CMP R5,#CH.DOL ;NUMBER, TERMINATED BY "$"? BNE 7$  ; NO GETNB CMP R5,#CH.COL BNE 7$ LSRCH   ;YES, DO A LOCAL SYMBOL SEARCH BR LABELF  ;EXIT THROUGH LABEL PROCESSOR 7$: SETSYM   ;RESET CHAR POINTER AND FLAGS BEQ 5$  ;NULL IF END OF S@S@<R@�UU5��\/5\\/5jU5hiؼ\��\@�VU � 1\&kef\_�k_1!& ��\//�&6U5��:@::@161V16���Юjop_EGV:��KRWpXΟ�˟ppjU<6��\6U>_\6˟lV\V:lV�\6>_k\V\6 � �;� �/�+�-�*�&�!�\�.�%� � � ������߉V?��_ߘĔ_˟_6��qߠV?��ҟ__?Ħ__q߃:_q_\6\ߛ6fߛ6��y@TT.OIX ;IF SO WAIT FOR NOW JSR R4,KT.ISM ;OTHERWISE SIMULATE INT ADD @R1,PC ;...& GO TO INT RTN TT.OIX: COM -10(R1) ;FOR WAIT, CVT BUSY FLAG RTS PC ;... & RETURN MONITOR P.STAT=177776 TT.MER=1420 ; 4) SET INTERNAL BUFFER POINTERS: ; CALLED BY JSR PC,KB.IGP ; ON FIRST ENTRY (FROM EITHER PROGRAM TFR REQUEST OR ; KBD INTERRUPT) ESTABLISHES ABSOLUTE VALUES ; FOR POINTERS & CONTROLS. AS THEN THESE ; WILL NOT CHANGE UNTIL DRIVER IS RELEASED, ; IT EFFECTIVELY REMOVES ROUTINE THAT DOES /I CIAS.: AMLN B/ /I CIAS. . 27 RDWO. 0 RDWO. . 27 RDWO.: LKFBBU ENEV. 2 ,115 TEBY. / THNGLE K OCBL /I CIAS. 2 ,115 TEBY. . 30 RDWO. 0 RDWO. . 30 RDWO.: TLKTBL EXBT ISNL. N URETR: 0$ 1$ 1R B P KEAR MAMGRRO PNKLA;B  TBBL1,RB OVM O ;N  4$ LOB ? NEDO;1 T-LGBL,#R2 MPC E AMFRA K ANBL;+ 2)(R1,RB OVM: 4$ ARLE CTOE ACSPF OSSREDD AET;G R2T,LGBL#V MO  REHES NKLA BMESOD EE NWE; 1 ,R' #B OVM G PAC,PR JS  ONTILEMPCOR FOT AI;W )LINE CMP R5,#CH.SMC ; OR COMMENT (;) BEQ 5$ MOV #WRDSYM,R1 ;NEITHER, FUDGE ".WORD" DIRECTIVE MOV #SYMBOL,R2 CALL XMIT4  ;MOVE PST ENTPY TO "SYMBOL" BR 1$ 10$: JMP PROPC .IF NDF XMACRO 11$: JMP MCALL .ENDC .IF NDF XFTN 20$: CALL SETCLI  ;UNSAT CONDITIONAL, TEST DIRECTIVE BMI 22$  ; BRANCH IF EOF BIT #DFLCND,R0 ;CONDITIONAL? BNE 1$  ; YES, PROCESS IT BIS #LC.CND,LCFLAG ;MARK AS UNSAT CONDITIONAL 22$: CLR R5 RETURN   ;IGNUU:u�_q~_WU_~q_WUՕ��v_r<2[vm9��r(:m9�9��������������������������������XZ�@XZq�@:��XZ��_X#Z��q_:��X+Z`�@`&:��X2Z��`UXU�Z.:��X<Z��8:��_jkl"z_?_=_߄_z?zra⟀\߈_a_}ֈ_z?z=_�z_?_J>:��������_�@uZ��{Ĉ_r?埨Ĉ_r֟_r_rr_˘_r?Ĉ_r?柨_�r@�@__r@r_m:��=ߴZ:��Ħ_Z:��d_d_d?h_:SO. ; THEREAFTER ENABLES SETTING OF POINTERS WITH LATEST ; VALUES AS FOLLOWS:- ; ; R1:= CHARACTER STORAGE POINTER (KB.IPX) ; R2:= CHARACTER REMOVAL POINTER (KB.IPY) ; R3:= LINE SCAN POINTER (KB.ECP) ; N.B. BUFFER OPERATES IN CIRCULAR FASHION BETWEEN KB.IBS ; & KB.IBE. IT IS EMPTY WHEN R1=R2 & FULL WHEN ; R1-R2(-SIZE)=-1 (LEAVING ODD SPACE FOR JIGGERY-POKERY) ; CHARACTERS BEING PROCESSED REMAIN IN BUFFER BETWEEN ; KB.IPY AND KB.ILE UNTIL REQUIRED ECHO & LINE SCAN ; HAVE BEEN COMPLETED AND SLNKLI#T AI.W  ORPTRISCDEE THE ITWR;K BLUF#BL,KSIN#L TEPI.W $: 3N IOCTSES ABE THS IIT, NO; $ 1E BN  K?OCBLN MOOM C AITS ;I '$,#+1AMLNBB MPC O ;N  3$ NEB ? ORCTSE. BS A .HE TISTHS ;I '.,#AMLNBB MPC K ANBLE THE ORSTRED ANE ER HDSMR;W 2)(R ,#' VBMO  NCD N ;I R2T,LGBL#V MO  THNGLE; 1 RR RO  HE;T   LCC T GE;1 ,R10L+BOYMSV MO $ 5E BN  ERFFBU; 3 RC DE  XTTE;+ 2)(R ,#' VBMO $: 5E TH; 3 ,R#6 OVM R EACL;2 ,RGTLL#B OVM N REPAD REBEOBCLE ORSTRE;%ORE LINE .ENDC ������������������������ .IF NDF XMACRO GETMLI:    ;GET MACRO-TYPE LINE CALL GETLIN  ;GET A LINE BIS #LC.MD,LCFLAG ;FLAG AQ MACRO DEFINITION .ENDC SETCLI: 1$: GETSYM   ;TRY FOR SYMBOL BEQ 4$  ; EXIT IF NO SYMBOL CMP R5,#CH.EQU ;ASSIGNMENT (=)? BEQ 3$  ; YES, IGNORE THIS LINE CMP R5,#CH.COL ;LABEL (:)? BNE 2$  ; NO GETNB   ;YES, @YPASS COLON BR 1$  ; AND CONTINUE 2$: OSRCH   ;TRY FOR OP-CODE MOV MODE,R0 @Y_?Y_?X_8=јX=Y_ј�=sY_��Y__?_ˆ߀?_X_8@=yY_X_8=��>��___ >��r+^,^-^.^/^0^>6_!C_�Ю66_E_CCC_6>��������������1>vP F^y^1^1>_1^/@F߀1>F^ y^�� �%v=_ V Yv ` `=_L:`_a_qb_._<q_u�e.ߒ~^`:_a_bq_�� �~1>@9��01^7_=_7_yosv 7_ `=_=__?7__?7__=_ �`�� VF S jx{HJB7��~ m^��s g߼^ �֟ߘߘ=_vv `=_מARE REMOVED ONLY WHEN GIVEN ; TO THE MONITOR OR SUBSEQUENT ^U HAS BEEN OUTPUT. KB.IGP: BR KB.IGI ;CHANGED TO BR .+2 AT 1ST ENTRY JSR R5,KB.ISP ;SETS REGS AS REQD ALWAYS. KB.IPX: .WORD 0 ;USING THESE VARIABLES ... KB.IPY: .WORD 0 ;... STORED HERE INITIALLY KB.ECP: .WORD 0 RTS PC ;NORMAL EXIT KB.ILE: .WORD 0 ;CONTROLS ALSO SET AT START KB.IBS: .WORD 0 ; KB.IGI: JSR R5,@PC ;INITIALISING ROUTINE: CLRB KB.IGP ;STOP ENTRY HERE HEREAFTER MOV PC,R1 ;GET ABS ADDR OF BUFFER ADD #KB.IBF-.,) R2,(')#B OVM H GTEN LALCT;O  RDTWSE LLCA  HE;T R21,GTLL#B OVM T GE;1 ,R10L+BOYM#S OVM Y TLECRRCOK ANBLE THP UET;S 2)(R ,#' VBMO  IISC ATO;  P UN50R T ERNVCO;2 ,RAMLN#B OVM: 2$ MENAM RAOGPR;) R2-(L,TTRGPV MO  HE TRETO;S 2)(R2,L+TTRGPV MO  AGFLM RAOGPRT SE;B LT,B'*#B OVM O NN,AIAG; $ 2E BN  INGA ACKHE;C  2)(R STT O ;N $ 2E BN  E?AM NAMGRRO PHE TISTHS ;I  )+R2(T TS  R2L,BOYM#S OVM E ON DENWHT UI;Q  0$1Q BE  EMITN AET;G  OLCRSE XTNE! ;MODE TO R0 BPL 4$  ;BRANCH IF DIRECTIVE 3$: CLR R0  ;FALSE 4$: RETURN ASGMTP: BR ASGMT ������������������������LABEL:    ;LABEL PROCESQOR CMP SYMBOL,R50DOT ;PERIOD? BEQ 4$  ; YES, ERROR  INC LSYFLG  ;FLAG START OF NEW LOCAL SYMBOL BLOCK SSRCH   ;NO, SEARCH THE SYMBOL TABLE LABELF= . BIT #DEFFLG,FLAGS ;ALREADY DEFINED? BNE 1$  ; YES MOV CLCFGS,R0 ;NO, GET CURRENT LOCATION CHARACTERISTICS BIC #377-<RELFLG>,P0 ;CLEAR ALL BUT RELOCATIO|�on�\P@�\ �^}~� ^^^sD*vTwP{^�\\@vAw�6i]�\4��^x?n^i]�n@cnx@^mm@^^S\Q\�\^o@t^��^� �IM�\ �� � �I^ �^XY��F�\>W�X_8^^XY_p[_YX`_Z___`?W_`�X_`___X¸XY>W_Z_^^��vG�\ �� �=X[_Y��� �XR1 MOV #22,R2 ;SET ROTATION COUNT TST -(R5) ;SET POINTER TO STORAGE AREA MOV R1,-(R5) ;STORE ABS VALUE AS REQD ASR R2 BCC .-4 ;GO TO NEXT STORE BNE .-10 ;... BUT MUST MISS RTS PC KB.ISP: MOV (R5)+,R1 ;SET VARIABLE PTRS MOV (R5)+,R2 MOV (R5)+,R3 RTS R5 ;... & TAKE NORMAL EXIT ; 5) CHECK IF POINTER AT BUFFER END: ; CALLED BY JSR R3,KB.PCK WHERE R3 IS PTR FOR CHK KB.PCK: SUB #KB.IBZ,@SP ;RESET POINTER AS REQD. CMP @SP,KB.IBS BEQ .+6 ADD #KB.IBZ,@SP RTS R3 ;... & EXIT ; $: 1H RCEA SOR FDYEA RET;G  PDLURO LRC E AG POFD ENR FOK ECCH; G PA LLCA  CTINLC IN  LEIT THE TUT OUT;PL TTLK#BL,KSIN#L TERI.W  NO; $ 10 EQB ? NGTIIS LNY;A  SLNKLI STT: RTKPBL RYMAUM SCKLO BHE TUTTPOU TLBT.S  TNXF DFF .I  ������������������������ C ND.E  P2NDEP JM X:P2ND EN URETR F FT.I  SG MS1AS POFD EN; M P1NDEG MSYPT N FTXF NDF ,I  $:30 KSOCBLT EX TOR FITIN;P TYLK,B04KTBL#V MO  MPDDRL LLCA  D"GSF OND"ET SE;P TYLK,B02KTBL#V MO  ITP UM;DN FLAG BIS #DEFFLG!LBLFLG,R0 ;FLAG AS LABEL BIS R0,MODE  ;SET MODE MOV CLCLOC,VALUE ; AND CURRENT LOCATION BR 3$  ;INSERT 1$: BIT #LBLFLG,FLAGS ;DEFINED, AS LABEL? BEQ 2$  ; NO, INVALID CMP CLCLOC,VALUE ;HAS ANYBODY MOVED? BNE 2$  ; YES CMPB CLCSEC,SECTOR ;SAME SECTOR? BEQ 3$  ; YES, OK 2$: ERROR P  ;NO, FLAG ERROR BIS #MDFFLG,FLAGS ;FLAG AS MULTIPLY DEFINED 3$: INSERT   ;INSERT/UPDATE SETPF0   ;BE SURE TO PRINT LOCATION FIEL^>��g\hI_J_K_8'=O_d7_s:_i_jkl_^3/^^^^^012_34_[1_3_^#^^^^/ ^#21_43_91�I3/^81/^G@M0g/^WP^j/^g`q5�o3g3g5�7/^߆5�‹7WWWc�5�›3�^_��«�«��^�1�5�¹��DATA STORAGE AREAS: ; 1) INPUT CHECK STRING: KB.ICS: .BYTE 200,25,177,175,33,15,12 ; 2) OUTPUT CHECK STRING: KB.OCS: .BYTE 177,200,13,11,14,12,7,30 .EVEN ; 3) INTERNAL BUFFER: KB.IBF: .IF EQ,FTRPG KB.IBZ=KB+1200.-. .IFF KB.IBZ=KB+1264.-. .ENDC .=.+KB.IBZ .END �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������  MPRDPC LLCA  CKLO BND EUTTPOU; P DMSDGL ALC 1 ,ROLMBSY#V MO  DEMOG,FLEF+D03DTGS#S BI  AGFLL RET BUL ALR EACL;E OD,MG>FLEL<R1-#- ICB R TOEC VND EHE TET;G  OLDRENT EXN: 0$ 2 T IUTTPOU; $ 12 BR  4PETYT SE;E OD,M04DTGS#S BI  STMOR EACL;E OD,MG>FLLB!GLGLFREG!FLEF<D1-#- ICB O N;  3$1E BN  R?TOEC SEROPPR, ES;Y R5R,TOECSB MPC O N;  3$1Q BE  L?BALO;G DEMOG,FLLB#G ITB Y GUS HI TTHWID HEISIN F;  0$1Q BE  OLMBSYT EX NHE TCHET;F  OLMRSY XTNE $:D BR 5$ 4$: ERROR Q 5$: GETNB   ;BYPASS COLON MOV CHRPNT,LBLEND ;MARK AND OF LABEL JMP STMNT  ;TRY FOR MORE ������������������������ .SBTTL ASSIGNMENT PROCESSOR ASGMT: GETNB   ;BYPASS "=" MOV #SYMBOL+4,R1 ;SET MIX-MASTER REGISTER MOV -(R1),-(SP) 9STACK SYMBOL MOV -(R1),-(SP) RELEXP   ;GET NON-EXTERNAL EXPRESSION SETPF1   ;SET LISTING FIELD MOV (SP)+,(R1)+ ;RESTORE SYMBOL MOV (SP)+,(R1)+ BIT #ERR.U,ERRBTS ;ANY UNDEFINED'S? BNE � �xMM_M@Pʷ<JJ_K_ȋx\<M߷<CN�EKJ߀LxĒ߈\L��8߅_wț3�&1�Iț��8_w3�&ț  @�)ț�)3�&8_w3�&1�I<��8߅_wț4V3�&1�I1ț�1�8_w3�&țM1M@\�<0=ț�0=�8_w^�����'c���8ߓ_wțu�@�91�I¥ț�¥5�•3�&8_wț�¥�5�£3�&5�ª3�&�g=��_8_w3�& RETURN .ENDC .IF NDF XFTN .CSECT IMPURE MSBBLK:    ;PUSHABLE BLOCK (MUST BE ORDERED) MSBTYP: .BLKW   ;BLOCK TYPE MSBPBP: .BLKW   ;PREVIOUS BLOCK POINTER MSBTXT: .BLKW   ;POINTER TO BASIC TEXT BLOCK MSBARG: .BLKW   ;POINTER TO ARG BLOCK MSBCNT: .BLKW 2  ;REPEAT COUNT, ETC. MSBMRP: .BLKW  } ;MACRO READ POINTER MSBEND:    ;END OF ORDERED STORAGE MACNXT: .BLKW MACLVL: .BLKW   ;MACRO LEVEL COUNT CONCNT: .BLKW ARGMAX: .BLKW .CSECT .E13 CKLO BISTHT PUUT;O  MPDDGS LLCA  R1L,BOYM#S OVM: 2$ 1N CA SERNN IOR FET;S  PDLURO LRC: 1$ 1X MAT SE, EL R; ) R1-(),R1}(V MO  S!OP O;  1$1Q BE  BS AMESUAS;+ 1)(R5,RV MO  EDINEF D1,E YP TTOT SE;+ 1)(RG,FLEF+D1>T0SD<G#S BI T BIL RET BUL ALR EACL;) R1,(G>FLEL<R1-#- ICB T GHRIN ICELA PND A;  R5 ABSW  ITE ATOLIS; 5 ,R77#3 ICB R TOEC SVESA; 5 ,R1)(R OVM 1 ,RDEMO#V MO  ERRKMAE AV;S P)(S,-PDLURO OVM H UGROTHF ICHANBR; $ 20 EQB R TOEC SXTNEE THT GE 3$  ; YES, DON'T DEFINE CMP SYMBOL,R50DOT ;MESSING WITH THE PC? BEQ 1$  ; YES BIS #DEFFLG,(R1) ;FLAG AS DEFINED MOV (R1)+,-(SP) ;NO, STACK VALUE MOV (R1)+,-(SP) SSRCH   ;SEARCH SYMBOL TABLE MOV (SP)+,-(R1) ;RESTORE VALUE BIC #-1-GLBFLG,-(R1) BIS (SP)+,(R1) INSERT   ;INSERT NEW VALUE RETURN 1$: TSTB (R1)+  ;PC, MOVE PAST FLAGS CMPB (R1)+,CLCSEC ;SAME SECTOR? BNE 2$  ; NO, ERROR MOV (R1)+,CLCLOC ;YES, SET NEW LOCATION QAAэAqk�������� �����QAᎲэAAq~sq� �k���`k�� Pk����@k�� k��k��k��k���k�k���`k����Pk����@k�� �k�� ���� ��0���@���P���`���p�����];@C@< @ `] ���b @%$$�EH%�����H%0����R ��2�3�������� ��`����`�p�������) ���x-��ڜܜ��"0�����R ��2�~s�������� �������`@ � �@�`���������@?�.�£��� � � �}�x�0� ,��NDC ������������������������ .SBTTL FIN .CSECT IMPURE  ;CLOSE OUT IMPURE SECTORS .CSECT IMPPAS .CSECT IMPLIN IMPTOP: .CSECT   ;BE NEAT .IF DF XFTN START = 1 .ENDC .END START ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������; L ROECST EXN R KEAR MANSCT SE;D UPOL,R)+SP(V MO $:10 ANSCR TOEC SOR FITIN; ) SP-( LRC K OCBLD GST PUUT;O  MPDDGS LLCA  EXND IO""TD AN ;2 ,RNTDPRL OVM X DEIN" OMFR "ET;S R1L,TTRG#P OVM S ERNTOI PHE TITIN; I INBJOL ALC 1 1 YP TCKLO BET;S YPKTBL1,T0LK#B OVM O N;  0$3Q BE  DCEN. L KOINLT TS $:33 AGPL ALC T NCLI.,60#V MO  3$3T BL  #2L,VASTLP CM  RYMAUM STADAE THT PUUT;O  RTKPBL LLCA  FF.I  T?ECBJ ONY AE,ONS AS;P  NKJLOB STT N FTXF NDF RETURN 2$: ERROR M 3$: RETURN ���������������������������������������� .SBTTL OP CODE PROCESSOR PROPC:    ;PROCESS OP CODE SWAB R1 ASL R1 BIC #177400,R1 ;ISOLATE TYPE CLR MODE  ;FORCE ABSOLUTE APPEND CODROL  ;STUFF BASIC VALUE CLR OFFSET CLR R0  ;FUNCTION REGISTER JSR PC,@PROPCT(R1) ;CALL ADDRESS HANDLER MOV ROLBAS+CODROL,R1 BIS R0,6(R1) ;SET EXPRESSION BITS RETURN PROPCT: .WORD PRCL00 .WORD PRCL01 .WORD PRCL02 .WORD RE圀.\\/|  `{ X�X3� ��" ��;TTeT �� � ��<��;���0|2\ �M � WM1nUuUnUuU܇眜Wk� �v �/|0|��G�€5GT5��5��\<\W<\W\WW蜍5WW��?\\C\5��W�ܹU ||\�\||\5 ��ںZOʜZT 3�h������D�D4�8L!B@e$��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������.I  2SSPAF ICHANBR; X P2NDEE BN  E?ONS AS;P  SSPA STT X MAETSL ALC R LENDHAS AS POFD EN;   : DPEN RSLENDHAE OD CCTJEOB TLBT.S ������������������������ C ND.E  CTSE.C  KWBL.: AVISCS 7. KWBL.: AVDSCM /21>N+LEID<C KWBL.: UFDBCI 3W LK.B R:HDID CR DEEA HERFFBUD ANMMCO; . 7W LK.B: UFDBCM 3.8= ENDLCI REPUIM CTSE.C  B//K 50AD.R  1D OR.W  I/CM/0 D5RA. K IN LUTNP IKB; 0 RDWO.: NKDLCI 0D OR.W  B//K 50AD.R  1D OR.W  O/CM/0 D5RA. GEXP  ;PRCL03 .WORD PRCL04 .WORD PRCL05 .WORD PRCL06 PROPCL= .-PROPCT ������������������������PRCL00: RETURN PRCL01: CALL AEXP RETURN PRCL02: CALL AEXP PRCL2A: SWAB R0  ;SHIFT LEFT SIX ROR R0 ROR R0 MOV R0,-(SP) TSTCOM CALL AEXP BIS (SP)+,R0 RETURN PRCL04: RELEXP CMPB SECTOR,CLCSEC BNE 2$ SUB CLCLOC,R0 ASR R0 BCS 2$ DEC R0 BIT #000200,R0 BEQ 1$ ADD #000400,R0 1$: BIT #177400,R0 BEQ 3$ 2$: ERRO! ` ` `  XA\<|  ` XXX@,<3p @1h@] X @!X6 Y@I `X X! `XC  `X `T `P��@]9 `X]9@O<3PuX `X��5ꚇXX֘0|�� `9 @h !X!<\|3ܩ ةةة\A| #X @#خ|\|w@|\ \ `!��\\<䜇9|B| @ `!!@�! `! ` �<\|XX `!! !X ` `! `  ` `  !:��!:@%$Z;!'X !X6|'Z7| @4`/Z`6|\\\-\ WDU �\\W!��\\\\j�p�r\`\_XZ:��<\<w:w:w:ʙ\ʙ\\wZw:��\3ܒ<��� ؊Z:��w��š::| ` `  ` `: @ !X@@@!@  `!X  ` `  `!<3| #X  #@#@  `! `��<3:3| @ `:$X<3hK IN LUTTPOUB ;K  0D OR.W K:LNOD C0 RDWO. N VE.E  VT#,,'LFR,CE YT.B  ,4,04D OR.W H:AS H D XEMI CTSE.C  ENEV. / 1SSPAF OND/EF><LR><C IZSC.A M:P1ND EN FTXF NDF .I S ERDLAN HRDOAYBKE TLBT.S ������������������������ N URETR 1 ,R)+SP(V MO  YXTBSE NEB 0 RC DE  R0 ABSW  )+R2(B STT $ 1T BG  R0 CBDE  2)(R LBRO  R1 SLA: 1$ 2)(R0,/1'0#@ OVM 0 ,R#3 DDA 0 RB WAS: YXTBSE R03,#V MO  R1 ORR C CL  UY GSTLAE THT GE; 1 RB ORR F AL HFT �R A MOV #000377,R0 3$: RETURN PRCL058 REGEXP BR PRCL2A PRCL06:    ;TRAP TYPE MOV VALUE,-(SP) ;SAVE THE VALUE EXPR   ;EVALUATE THE EXPRESSION (NULL OK) SETIMB   ;TREAT AS BYTE CMPB SECTOR,#200 ;ABSOLUTE? BNE 1$  ; NO TST (SP)+  ;YES, PRUNE STACK MOV VALUE,R0 ;VALUE TO MERGE RETURN 1$: ZAP CODROL  ;CLEAR CODE ROLL STCODE   ;STORE ADDRESS MOV #100000,MODE ;SET FOR ABSOLUTE BYTE SWAB (SP) MOV (SP)+,VALUE ;SET ORIGION� ���?�� ����� ���W�; � �0�(�;�JSQW"8f^"GbJTU$@Չ5ʃzpFA6 ̔�vfarC* WFro/ 5�5ST1-G/t5@^MP 4.]6` @6-{�u_V  .�$vJ u?E:1KI<5,ZnIﳘe{z0V/ @LtuuMwOf�,>t~"?#`"nemzVO0@xItV+n$L.8yknzO<tpRN]qS`h$樗4�[ �t쯖bJ.%ʹ8tTqbuz yB6&!Bm+�څQ􅂭b؉@Ea}`6& O$ GYX@XHӈXHU/ f#yW"4.?C/YN-&Y4p(�ոTsp(( P1/f[HY::n`zmndpH0@pGHhPgR[!Zl&Z`&Zf&Z2ZZL+_Z&ޝŝ!ŝyߡŝ_ޝ90ZZbO1ZZhO/ZZnOu:__ƒ:#:߄�:��~_>����>����#Z^#:^ � �>������ �Ɵϟz�:u:$G*'04@\BDF/HJLlNPRCTVZ\^z`zbzdzfzhzjzlznprMtWz*Gw!LEO TTELAPUNIMA; 1 RB WAS + 2)(R0,RB OVM + 2)(R0,RB OVM S CEPA STHUID PA;+ 2)(R0,RB OVM 0 ,RCEPA#S OVM E LUVAT GE; 1 ,R1)(R VBMO  EXND ICKTA;S P)(S,-R1 OVM: YTTBSE YXTBSE BR  R05,#V MO  IT BINE OV;M  )+R2(B OLR 1 RL AS  VETIMIRI PET;S 2)(R2,0/#' VBMO  UEAL VALTUACT GE; 1 ,R1)(R OVM G REK ACST;) SP-(1,RV MO D:WRET S E BLTAE YT BORD OR;W YTTBSE D,WRETSD OR.W T:PFET S N URETR: 2$ 2)(RG,#' VBMO  2$ EQB ) R1,(LGBFGL#T BI  '" ";) R2,(CL.XAL VALUE STCODE CLR R0 RETURN �������������������������������������������AEXP:    ;ADDRESS EXPRESSION EVALUATION INC EXPFLG CLR -(SP)  ;ACCUMULATE ON TOP OF STACK 2$: CMP R5,#CH.IND ;INDIRECT (@)? BNE 6$  }; NO BIT #10,(SP) ;YES, SECOND TIME AROUND? BEQ 4$  }; NO ERROR Q  ; YES 4$: BIS #10,(SP) ;SET IT GETNB   ;MOVE PAST BR 2$ 6$: CMP R5,#CH.HSH ;LITERAL (#)? BNE 10$  ; NO GETNB   ;YES, MOVE PAST GLBEXP   ;EVALUAT$՝Y_N}[_I ؛zŞ_7r^_ C8}/K{/k._wغ{_*U$?{zŒ_*!?|_*Tb?Ɲ^_F?֞_?؛zŞ_7kϞ_`ݟ_|k^_s|{{/j.V_赻غ{zŒ_*!?[_I ؛zŞ_7&[_+{zŒ_*!?[_Iy؛zŞ_7f[_m+{zŒ_*!?[_Iy؛zŞ_7|{ҽ)탛ҽ)탛ҽ)WԚCKϦײ(Ijغϲ(_*?z]_lHs]ʫVz{}WjrZz]_lW7غfϲ(_*<?ҽjM_@[|_*T$?ҽjM_@[{zŒ_*!?֞_?ҽjM_0[[Kf߲($8؛zŔ_{zŒ_*!?ҽjM_0|j_*.a?PCK_;ݟ_|[^_V_V?؛zŞ_7|{jªЫ[[_(?غ{_*U$?{zŒ_*!?|_*Tb?Ɲ^_F?֞_?ݟ_|k^_V_V?؛zŞ_7sjYЫ[kϞ_?CH#B OVM $ 2Q BE  1)(R,-LGLFREG!FLLB#G ITB: FFTPSE TEBYR ORDWO;) R0T(PFET@S LLCA  R2.,+9UFTBOC#V MO  R1E,LUVA#V MO G REAVS: FBTPSE R0 LRC: F1TPSE RDWOT IS;L  RDTWSE BR  R2.,+2UFTBOC#V MO  R1C,LOLC#C OVM G REAVS: F0TPSE FFTU SNGTIISLL TTSB.� ���������������������� � CTSE.C  G)INRSPAR FO (ELAB LOFD EN;  W LK.B D:ENBL LE IN LOFD ENO TERNTOI;P   KWBL.: DLENLC NELIF ORTTA STOR TEINPO;  W LK.B L:EGCB LS TEBYG LA;F   KWBL.: AGFLLC INPLIM CTSEE EXPRESSION BIS #27,(SP) ;SET BITS BR AEXP32  ;USE COMMON EXIT 10$: CMP R5,#CH.SUB ;PERHAPS AUTO-DECREMENT (-)? BNE 12$  ; NO MOV CHRPNT,SYMBEG ;PERHAPS, SAVE JUST IN CASE GETNB CMP R5,#CH.LP ;YES? BNE AEXP20  ; NOT A CHANCE CALL AEXPLP  ;PROCESS PARENS BIS #40,(SP) BR AEXP36 12$: CMP R5,#CH.LP ; "("? BNE AEXP22 CALL AEXPLP  ;EVALUATE REGISTER CMP R5,#CH.ADD ;AUTO-INCREMENT (+)? BNE 14$  ; NO GETNB   ;YES, POLISH VHMLAИ�� HLYb�h��|KLMtИ�� k蚂Lיl�� HLYf�h��`;蚄LTK� LHLTK�8MBΩL`JI h}X:EL Z|�LYbJElAZ@RdLO @ƙt Q�L蚊�h��LCHbX�h��Q-UL ۩LЉ- !蚊LYf�h��L蚄�h��_LڙtИ��L蚂�h��.x��< zИ@XL@SdLM :A *@*%.x�� `MԘM ZřTZ "@lI8L|G.LXJ@OjT8L� .x���������������������������� {zŒ_*!?~֞_?؛zŞ_7Dz(_*<?_IvKϦ߲(՟_|~V\]_Tݟ_|kkzĪ\]_?غz]_lHzŞ_[dªo[rʗC[P}'ReZrK.[絝_&غϚ_\{?Ӽ?jۣ}{dC-jMԲEdjO_*,r̟غckؖ}Vb&]ō̓okKۢYwvk%?vk%?vk%?vk%?vk?غj[CKZj}ꟈk_*c\K̕}Edj͒_*kJ.C  NTOU CELEV;L   KWBL.: VLCL LS TEBYK AS;M   KWBL.: SKMALC REPUIM CTSE.C  DCEN. : OPTTLC YMST LCENG C TOT LCENG M TT CTNLGE  LD CTNLGE  NDCT LCENG B ME CTNLGE  ME ATNLGE  MC CTNLGE  MD CTNLGE  EXBT LCENG M CO CTNLGE  RCST LCENG N BI CTNLGE  OCLT LCENG C SET LCENG : ASTBLC 1= XX X M ND.E  E/MN/0 D5RA. X XXX+XX X=XX XXX= NE'MC. LE BLTAL RONTCOG INSTLIE ATEREN;G NEMT LCENGO CRMA.� ���������������������� � RNTURE  A IT OFF BIS #20,(SP) ;SET BITS BR AEXP36 14$: BIT #10,(SP) ;INDIRECT SEEN? BNE 16$  ; YES BIQ #10,(SP) ;NO, SET BIT BR AEXP36 16$: CLR MODE CLR VALUE BR AEXP30 ������������������������AEXP20: SETSYM   ;AUTO-DEC FAILURE, POINT TO - AEXP22: GLBEXP   ;GET AN EXPRESSION CMP R5,#CH.LP ;INDEXED? BEQ 24$  ; YES BIT #REGFLG,FLAGS BNE AEXP36 BIS #67,(SP) ;NO QETDSP   ;SET DISPLACEMENT BR AEXP34 24$: BIT #REGFLE,FLAGS dLLn�h��}LD6C0HLZ%dLLj�h��}LD6C0HLZ%'LZ%�.x��̪KLMYfJH \LV BEZd H|�?YLL4_蚈LZ438MBL(�h��\MҊ$YCMCS8MT;MЀ��L蚆�h��LYf�h��L蚈�h�� W蚆LLf�h��\LDvCl�MYf�h��EeHLLf�h��.x��JLk$}RH 8}X-HMLAH}@h}@|\ LA�h��HLTÆJR�h��Lk�VHMLAЈ��HLTÆJR�h��Lk���e0L:$MJO H[I�(Mb9MLLdJ@OjC9,$}DѬ�.x��xbLC}@jTT"h, @( ��"HbXJn=\ 9VIdk@=Ѐ��UL G0}@dL.h)Zb�h��љL9hLDC`4�m;MA~LC)$HMfC HLYj�h�� L8�rL*}jLh(}LTt@&Z4CP!-�m9MALdJO *YD,Ib - ʈMԘLJE:, 2 *H rZlEK ��)fLb(��[pL:|L(}DI@:|A�h��8MC9M������R ROER $: 4 N URETR: 3$ NTOU CELEV LTEDAUP;L LVLC3,RD AD  -1R O 1OW;N  R3 NCI 2 -OR0 3 RKEMA, NO; 3 RL AS  ES Y;  3$ NEB ? GSARY AN; T CNRGAT TS $: 2 E OR MOR FRY;T  1$ BR $:11 SKMALC2,RS BI  1$1Q BE  R3 STT K ASCM,LR2 ICB $ 10 GTB 0 RC DE  R2 OLR: 0$ 1C SE  R2 LRC L BOYM S AOT NORG INSSMIF IORRR;E  4$ EQB E BLTAE THN IUPT IOKLO; L ROCDLW ANSC  OLMBSYA R FOY TR;  M SYETG D HEISIN F;  2$ EQB T ENUMRG AERTHNO AOR FSTTE; BEQ 26$ ERROR R BIC #REGFLG,FLAGS 26$: MOV #SYMBOL,R1 MOV (R1)+,-(SP) ;STACK CURRENT VALUE MOV (P1)+,-(SP) MOV (R1)+,-(SP) MOV (R1)+,-(SP) MOV R1,-(SP) CALL AEXPLP  ;PROCESS INDEX MOV (SP)+,R1 MOV (SP)+,-(R1) ;RESTORE MOV (SP)+,-(R1) MOV (SP)+,-(R1) MOV (SP)+,-(R1) AEXP30: BIS R0,(SP) BIS #60,(SP) AEXP32: SETIMM AEXP34: STCODE INC OFFSET CLR R0 AEXP36: BIS (SP)+,R0 RETURN .CSECT IMPURE OFFSET: .BLKW 1 .CSECL:$MJZ|t TTE:M?(Mb9MLLdJ@OjC9,$}DѬ�.x��xbLC}@jTT"h, @( ��"HbXJn=\ 9VIdk@=Ѐ��UL G0}@dL.h)Zb�h��љL9hLDC`4�m;MA~LC)$HMfC HLYj�h�� L8�rL*}jLh(}LTt@&Z4CP!-�m9MALdJO *YD,Ib - ʈMԘLJE:, 2 *H rZlEK ��)fLb(��[pL:|L(}DI@:|A�h��8MC9M��VHMLAИ�� HLYb�h��|KLMtИ�� k蚂Lיl�� HLYf�h��`;蚄LTK� LHLTK�8MBΩL`JI h}X:EL Z|�LYbJElAZ@RdLO @ƙt Q�L蚊�h��LCHbX�h��Q-UL ۩LЉ- !蚊LYf�h��L蚄�h��_LڙtИ��L蚂�h��.x��< zИ@XL@SdLM :A *@*%.x�� `MԘM ZřTZ "@lI8L|G.LXJ@OjT8L� .x���������������������������� G ARSTT: 1$ T:IS L1 -R3E AK;M  R3 OMC: STLI N T ISL, STLINL OBGL. L RONTCOG INSTLI TLBT.S ������������������������ T ECCS. L VELEG INSTNE;  W LK.B L:LVND CK AS MONTIDION;C   KWBL.: SKDMCN RDWOT ES;T   KWBL.: RDDWCN D)REDEORE BSTMU (GERATO SALONTIDION;C     ASPPIM CTSE.C  RNTURE $: 6E GLOG TO,9N  R3 OMC S YE ; $ 6Q BE  F?FD;I  R1 STT: 5$ INGA ARY;T  1$ BR  OPS ASYP;B   NBETG: 4$ DEMOE GLOG TS,YE; 2 RM CO  NO ; $ 5E BN  T AEXPLP:    ;AEXP PAREN PROCESSOR GETNB   ;BYPASS PAREN REGEXP   ;GET A REGISTER EXPRESSION CMP R5,#CH.RP ;HAPPY ENDING ")"? BEQ 1$  ; YES ERROR Q  ;NO RETURN 1$: GETNB RETURN ������������������������ .SBTTL EXPRESSION TO CODE-ROLL CONVERSIONS SETIMB:  }  ;SET IMMEDIATE, BYTE MODE SETIMM   ;SET IMMEDIATE TSTB VALUE+1  ;ANY HIGH ORDER BITES? BNE 1$  ; YES, ERROR CMPB SECTOR,#RLDT01 ;ERROR IF RLD TYPE 1 BEQ 1$ CMPB $՝Y_N}[_I ؛zŞ_7r^_ C8}/K{/k._wغ{_*U$?{zŒ_*!?|_*Tb?Ɲ^_F?֞_?؛zŞ_7kϞ_`ݟ_|k^_s|{{/j.V_赻غ{zŒ_*!?[_I ؛zŞ_7&[_+{zŒ_*!?[_Iy؛zŞ_7f[_m+{zŒ_*!?[_Iy؛zŞ_7|{ҽ)탛ҽ)탛ҽ)WԚCKϦײ(Ijغϲ(_*?)fLb(��LVMЀ��ᄅL:dC}LDvC%8MYjJ*EY ~T�h��KLdJXD@4 Y�8MfC(}DIH Hr�9M$8MvC9M)fLb(��L99|AT<F|@7X9r In�h��PMC`4�QHL9ĩLdJȴFRh��.x��Mb(MHMJY*x � .LbJ A � .x��dL:$DJOY~�h��(Mb9MLG.LXJ@OjT8L� .x��_fLC}@jTT"YM� ��������������R? OPSHAER;P OR.ICH,#R5 MPC S ESGUD OO GIFH NCRA B;  4$ EQB " "&; D ANH.#C5,RP CM  &" "MESUAS; 2 ,RR1 OVM: 3$ R3 OMC O N;  R32,RV MO  ET SLL AS,YE ; $ 3Q BE  H?TCMA, ES;Y  R30,RP CM $: 2E GLOG TO,;N  R0 OMC S YE ; $ 2E BN  S?ESGUD OO;G DEMOG,FLEF#D ITB D NEFIDEE UMSS;A  R0 LRC E BLTAL BOYM SERUSH RCEA;S   CHSRS M SYA T NOF IORRR E;  RRAEIF EQB L BOYM S AET;G   YMTSGE $: 1E RU TFF ORTTA;S  R3 LRC " "&T SE; 2 RR CL  ONTIDISECTOR,#RLDT15 ; OR 15 BNE 2$ 1$: ERROR A  ;FLAG ERROR CLRB SECTOR CLRB VALUE+1 2$: BISB #200,SECTOP ;FLAG AS BYTE RETURN SETIMM:    ;SET IMMEDIATE MODE MOV R1,-(SP) MOV #IMMMOD,R1 ;SET TABLE INDEX TST ENDFLG  ;SPECIAL FOR .END? BNE SETDS1  ; YES BITB #GLBFLG,FLAGS ;EXTERNAL? BNE SETDS3  ; YES, USE COMMON HANDLER TST (R1)+  ;MOVE INDEX BITB #RELFLG,FLAGS ;RELOCATABLE? BEQ SETDSX  ; NO, ALL SET TSTB (R1)+ CMPB غ__*aB?__΍k_bX}Srkj\{QKLr.w罝_f7k_*v;_N""r^_k_*v;k^_B?]jCje^{hok]ӟk_褕kk_*v;_*f՝^_>|cϒ_*&?k_k_bhK_*)?k_k_ƝY_NA?k_*k_**f՝^_>C[jC^ʍjecϒ_*k7غ__*aB?\ʃCQs}\__X_{zŒ_*!?~֞_?؛zŞ_7Dz(_*<?_IvKϦ߲(՟_|~V\]_Tݟ_|kkzĪ\]_?غz]_lHzŞ_[dªo[rʗC[P}'ReZrK.[絝_&غϚ_\{?Ӽ?jۣ}{dC-jMԲEdjO_*,r̟غckؖ}Vb&]ō̓okKۢYwvk%?vk%?vk%?vk%?vk?غj[CKZj}ꟈk_*c\K̕}Edj͒_*kJON CALTINI IVESA; 1 ,RR3 OVM F IDF/;I    F:NDCO T A NFCOTR B R NTCOTT BL  XPSEAB T:NLCO T A NFCOTR B R NTCOTT BG  XPSEAB T:NGCO T T XI ESTJU, UETR;  N URETR: TRONTC LEGGTO, SEAL F;  R3 OMC: FAONTC AT SIFH NCRA;B  TRONTC EQB N IOSSREXP ESTTE, NEQ/;E   XPSEAB Q:NECO�T�������������������������� � P:TOND CF NDCOT, DFN, DF ONTCG T NLCOT, GE T,LN COGT  GTONTC E,L, GT ONTCG Q NECOT, NE Q,EN COGT  LEAB TANSCL NAIOITNDCO;   : ASDBCN DMEN.SECTOR,CLCSEC ;YES, CURRENT SECTOR? BEQ SETDSX  ; YES BR SETDS1  ;NO ������������������������SETDSP:    ;SET DISPLACEMENT MODE MOV R1,-(SP) MOV #DSPMOD,R1 ;SET INDEX BITB #GLBFLG,FLAGS ;EXTERNAL? BNE SETDS3  ; YES, TEST FOR ADDITIVE TST (R1)+ CMPB SECTOR,CLCSEC ;CURPENT SECTOR? BEQ SETDS2  ; YES TSTB (R1)+ TSTB SECTOR  ;LOOKING AT ABSOLUTE? BEQ SETDSX  ; YES SETDS1: }TSTB (R1)+ MOVB SECTOR,R0 ;FETCH SECTOR BIC #177400,R0  HLTÆJRJ@Yj�h��ށKLMYj�h�� fHMШ��̑LTK� m9MAߧLf(XTXY@Dd|T�t8MVMЀ��%~Lf��̑LTK� %Lf��XfAPt8MVMЈ��9M%Lf��~L9|BOEt Höj� $LDvCn�MYj�h��QHL9[(LX�h��.x�� f(MHMJ�h��&Lf�h��.x��dzU\$ H:Z}I*NE8LLZd H|R�h��.x��Z%(% hED,.E ����������������������������������_k_bhk_bX~w&Y_NW$K_*&(?Tr_;k_~wὝY_NL$r_*> ?k}}Ynk_= k_*v;_*f՝^_>C[jo}oCcϒ_*wC[jKiY^k_*]0w~w^_7ӄEk_褥kغk_**k_k_**k^_2k_bQ ?k_*v;Ɲ^_F?c͒_*kc[_*?[skënk&[k]_lk\k_ 1 S+ESDRAD RDWO. / SEAL/F 50AD.R  SSREDDAD OR.W  E/RU/T 50AD.R  SSREDDA, SEALF, UETR ONTCGO CRMA. N URETR: RXAEIF AR ROER R:ERFA I R LENDHAH UGROTHT XI EO,;N  R0@P JM  ITEXT US JS,YE ; X ERFAIE BN  T?SAUNY ADREAL; D WRNDCT TS  N)VE END(AL MAOR NTOK AC;B  R0 SLA D ODF I-1O TESGO3 ;R 3 RC SB  AGFLE GLOG TOR FEDUST BIW LO; 0 RR AS  SSREDD AET;G R02,L+BOYMSV MO  MAOM CSSPABY;  M COSTT D UNFOT NOF IORRR E;  RRAEIF EQB T ENUMRG AOR F ;CLEAR HIGH BITS MOV R0,-(SP) ;SAVE A COPY ASL R0  ;MULTIPLY BY FIVE ASL R0 ADD (SP)+,R0 ASL R0  ;TWO BYTES TO WORD ADD ROLBAS+SECROL,R0 ;COMPUTE BASE OF SECTOR ROLL MOV (R0)+,SYMBOL ;XFER SECTOR NAME TO SYMBOL MOV }(R0)+,SYMBOL+2 BR SETDSX SETDS2: MOV OFFSET,-(SP) ;GET OFFSET (0 OR 1) ASL (SP) ADD #4,(SP)  ;PC WAS GETTING AHEAD OF US ADD CLCLOC,(SP) SUB (SP)+,VALUE CLR MODE BR SETDSX SETDS3: TST VALUE  ;EXTERNAL, ANY OFFSETHbXJ E)-D,Böj JMb֪ UL G2zb 6K ,L9zd f X(MJ@ bX�� ;LDC)zh &�h��?@HMJDZRzl V4�h�� HLYj�h��*$LTHMШ��څHLhbW�h��LYj�h��*$LTHMШ��؅HLhdW�h��LhNrL*2Lh(}J@Y2E@AAH-m9MALXJO *YD,Ib - ʈMԘLJE:, 2 *H rZlEK ��کLf( T$}DԬSTԂM9� ;&LJDZR|@D8 Ȭöj It JM�����������������������"MZ%ؕIMeS @OXət@Gd|.D Bh4@Z%˕JuOJ@YYuА��0Z%ƕ),TʦyLMAu�.x��DZ%`�h��@Z%d;^ @HtVЀ��@8MZ%՚LZ%#HMCR2JA$kT9JY@8MZ%LZ%ݹHMCR1JA4kT9J@Y�h��@8MZ%LZ% IKHMCR4JD֢@8MZ%՚LZ%f!LTJLJ @, 2D B�h��8MBLTJL˥LD&C`0tXD@@Yu @K9YlT�h��m;MALZ%��������������������������������������#ANSC; L RONDCW ANSC F:ONTC OLMBSYA T GE;  M SYETG A MMCOY ANS ASYP;B  M COSTT N IOITNDCOT ES;T    N:CO�T������������������������������������ � RNTURE  ORRR EONTIDION;C  OR ROER R:ERFO I N URETR L NAIOITNDCOK AR;M AGFLLCD,CNC.#L ISB: CXND ED OR WSTTED AN ; ) R1-( SLA K AS MCEDURE; ) R1-( SLA T ENEMCRDE, ES9Y  1)(R ECD R ROER, NO ; R ERFOIE BL  L?NAIOITNDCON ;I  1)(R STT L VELEO TNTOI;P R1L,LVND#C OVM L NAIOITNDCOF OND;E    C:ND E X DCEN$? BEQ SETDSX  ; NO TSTB (R1)+  ;YES, ADVANCE INDEX SETDSX: MOVB (R1),SECTOR ;FILL IN TYPE MOV (SP)+,R1 RETURN IMMMOD: .BYTE RLDT02, RLDT05, RLDT00, RLDT01, RLDT15, 0 .EVEN DSPMOD: .BYTE RLDT04, RLDT06, RLDT00, RLDT03, RLDT16, 0 .EVEN ������������������������ .SBTTL CODE ROLL STORAGE STCODE: APPEND CODROL  ;APPEND TO CODROL RETURN ������������������������ .SBTTL DIRECTIVES .GLOBL GLOBL GLOBL:    ;GLOBAL HANDLER GETSYM   ;MZ%ؕIMeS @OXət@Gd|.D Bh4@Z%˕JuOJ@YYuА��0Z%ƕ),TʦyLMAu�.x��DZ%`�h��@Z%d;^ @HtVЀ��@8MZ%՚LZ%#HMCR2JA$kT9JY@8MZ%LZ%ݹHMCR1JA4kT9J@Y�h��@8MZ%LZ% IKHMCR4JD֢@8MZ%՚LZ%f!LTJLJ @, 2D B�h��8MBLTJL˥LD&C`0tXD@@Yu @K9YlT�h��m;MALZ%��������������������������������������& HLTÆJRJ@Yj�h��ށKLMYj�h�� fHMШ��̑LTK� m9MAߧLf(XTXY@Dd|T�t8MVMЀ��%~Lf��̑LTK� %Lf��XfAPt8MVMЈ��9M%Lf��~L9|BOEt Höj� $LDvCn�MYj�h��QHL9[(LX�h��.x�� f(MHMJ�h��&Lf�h��.x��dzU\$ H:Z}I*NE8LLZd H|R�h��.x��Z%(% hED,.E ����������������������������������' BR  ONV MO; D WRNDCR RO  RYAR CET;S  R3 SLA G LA FNTREUR CFF OVEMO; D WRNDCL AS  ORRR EO, N;  RROEIF LEB ? SSREOGPRN IALONTIDION;C  VLDLCN STT ) LYCTREDID LEAL CENWH0 3=(R;   L NAIOITNDCOB-SUL NAIOITNDCOUN;   : TFIF GHOUHR TLLFAD ANT ENEMPLOM CSE;U  R3 OMC N IOITNDCOT ENRRCUT GE;3 ,RSKDMCNV MO  ALMNTIDION-CUB SSEAL FIF;   : FF I H NCRA BND A;  F FTIR B T ENRRCUT GE;3 ,RSKDMCN OVM L NAIOITNDCOB-SUE RU TIF;   : FT�I��������������������(GET A SYMBOL BEQ 2$  ; ERROR IF NULL CMP R0,R50DOT ;DOT? BEQ 2$  ; YES, ERROR SSRCH   ;NO, SEARCH USER SYMBOL TABLE BIT #REGFLG,FLAGS ;REGISTER? BNE 3$  ; YES, ERROR BIS #GLBFLG,FLAGS ;NO, FLAG AS GLOBL INSERT   ;UPDATE/INSERT 1$: TSTCOM   ;ANY MORE? BNE GLOBL  ; YES RETURN   ; NO, EXIT 2$: ERROR A BR 1$ 3$: ERROR R BR 1$ .GLOBL END END:    ;TEMP ELD DIRECTIVE EXPR   ;EVALUATE THE EXPRESSION BNE 1غ__*aB?__΍k_bX}Srkj\{QKLr.w罝_f7k_*v;_N""r^_k_*v;k^_B?]jCje^{hok]ӟk_褕kk_*v;_*f՝^_>|cϒ_*&?k_k_bhK_*)?k_k_ƝY_NA?k_*k_**f՝^_>C[jC^ʍjecϒ_*k7غ__*aB?\ʃCQs}\__X]LTJLJA *̈Zd H|\$� hLDCRJ @O4@D,R Dd.H}9L0HLZ%?ZLL3rLZ43LZ%m]Lr� ߔLÈ$N8}ֈZd P9uؔIJ�h��\MҊ$Y0HLZ%)Lk t-.H}@4 L A(��HLZ%H|d t-HItE9ęN Z%N�h��?YLL4Z%;M 8�LrLZ438MB ,ALZ%|@4�h��\MҊ$Y@8MZ%9MLZ%LHԈ|Zd Y}@DLNI,KL(JI"E8L rE8LH|���+�� � CXNDER B D WRND COR FTOIT;D  1)(R-R RO  R3 SLA K MSND CTOINE ATOT;R ) R1-( ORR ) (1E LSFAR O0) (UETRO TRYAR CET;S  R3 SLA L VELEP UM BS,YE; ) R1(C IN  ORRR EO, N;  RROEIF GTB ? ERTHNO AOR FOMRO;. 15,#1)(R MPC L VELEO TNTOI;P R1L,LVND#C OVM: D1 IT ENUMRG ASTTE; N COTL ALC L NAIOITNDCOD MEMMRAOGPRO-CRMI;   : IF DCEN F,FTI, FFI, FTI, IF BLLO.G  AMRESTN AI MHE TTOIN; 1 IF BR  ITE INAMEX; F ONTC LLCA  NTMEGUARS ALFHAD ONEC SATRE,$  ; BRANCH IF NON-NULL INC VALUE  ;NULL, MAKE IT A ONE 1$8 CALL RELTST  ;NO GLOBALS ALLOWED INC ENDFLG SETIMM   ;FILL OUT BLOCK SETPF1   ;LIST FIELD 1 APPEND ENDROL  ;PLACE ON ROLL RETURN ������������������������ .GLOBL CSECT .IF NDF XFTN .GLOBL ASECT ASECT: CALL SETMAX  ;CLEAN UP CURRENT SECTOR MOV R50ABS,SYMBOL ;SET ". ABS." MOV R50ABS+2,SYMBOL+2 BR CSECTF  ;USE COMMON EXIT .ENDC CSECT: CALL SETMAX  ;CLEAN UP CURRENQKLrj}ҫsZoFϽ/Edj_*k=~j_*l?ĪoګӲk_褽kΪ_*x?]_lP_z[r {K}Edk_bw}_*S$?k_k]kY[OEc͒_*A`?}j¢~CrREc[_*8ķk__*~Kve2en[{{.罝Y_Ndk_* _O"~&Y_No})[__x?dk_*_K"~w罝Y_NN}[__k_?k_bhk_bX~w&Y_NW$K_*&(?Tr_;k_~wὝY_NL$r_*> ?k}}Ynk_= k_*v;_*f՝^_>C[jo}oCcϒ_*wC[jKiY^k_*]0w~w^_7ӄEk_褥kغk_**k_k_**k^_2k_bQ ?k_*v;Ɲ^_F?c͒_*kc[_*?[skënk&[k]_lk\k_;T OLMBSY2,L+BOYMSV MO : DFFN I: DFIF E:FN I: LTIF E:FL I: GTIF E:FG IS ALONTIDION CEDATENATNCCO;   : EQIF DFFNI, DFIF BLLO.G  NEIF T,FLI, LEIF T,FGI, GEIF Q,FEIL OBGL. X DCEN BR  ORRR EQ" "NOT BU, SEAL;F  R5 LRC: 3$ NTMETETA STOK AC;B  NTTMSP JM $: 2A MMCOO TUPL ALS ESPRUP SS,YE;L EGCB,LR1 OVM O N;  2$ EQB ? ONSIESPRUP SALONTIDION;C SKMALCD,CNC.#LT BI $: 1T ISTPAE OV MA,MMCO; + 1)(R TBTS  MAOM CNOF ICHANBR; $ 1Q BE  MAOM CNY ASSPABY0T SECTOR GETSYM   ;GET ARGUMENT (OR NULL) CSECTF: SCAN SECROL  ;SCAN FOR MATCH BNE 3$  ; BRANCH IF MATCH MOVB SECTMP,SECTOR ;NEW GUY, SET SECTOR BEQ 2$  ;BRANCH IF ABS SECTOR (FOR NOW) BIS #RELFLG,MODE 2$: INSERT   ;ATTACH TO ROLL 3$: SETPF1 MOV #SYMBOL,R1 MOV #CLCNAM,R2 JMP XMIT5  ;MOVE AND EXIT .CSECT IMPURE SECTMP: .BLKW .CSECT SETMAX:    ;SET MAX AND ENTER ONTO ROLL SAVREG   ;PLAY IT SAFE CMP CLCLOC,CLCMAX ;NEW HIG*HM9l�h��9McNZ%%Z%LZ%.x��HZ%d9^ZUA$kOA1k�M&C`0@`0 2D!�F;8MLnJ@ 0 @Ht�h��n9LATMFC`0�h`HLTJL�h��LZ%.x��‘Z%Ѐ��Z%Ѐ��ITd :,I rZ jD 1�.x��'f zHZŚ@dLHy "I *@O*O8R�h��_zBD ATd\($@B2De@dLHS*-5-�  z@EZm@8 @ZY* BZE: tL9Op��.x��hXLCK}(@O̮9M zxt�������������������������������2/'՝Y_Nz$K_*& ?؜k}KĪoګܣ___\?EdjO_*@}sQêo\ʫӲk_*k]__*aB?_Ik}YoCkPۺoҟ__Iw$k_*6 Ɲ^_D?$k_*6Ɲ^_@?$k_*6kkʹEۣ֝^_r̟{r}-Ek_d�k?غCuY[ Wk^r/[k"}C[kUKC[kj=[[C[k?غz[Ps'CY[ kͽY, OK;  M COSTT N IOATOC LOFK ACTRP EE;K R1T,PNHRCV MO  EDFIISATNS UIFH NCRA B;  3$ MIB 3 RT TS  NTMEGUART ES;T  ONTC LLCA  RSLENDHAE ATDIMEIM;}   : IF I F II BLLO.G  LSNAIOITNDCO TLBT.S N FTXF NDF .I ������������������������ N URETR G LA FSEAL FET;S R00,0000#1 OVM P UANLE;C  R3 LRC: 6$ AR ROER $: 5 N URETR S AGFLT SE, RNTURED OO;G  R0 STT: 4$ 5$ LTB E UTOLBS ABET US;M  STSTAB LLCA  ONSIESPREXD TEES NSSCERO PS,ETCKRA;B  XPTENS LLCA $:4H? BLOS 1$  ; NO MOV CLCLOC,CLCMAX ;YES, SET IT 1$: MOV #ALCNAM,R1 MOV #SYMBOL,R2 CALL XMIT2  ;MOVE NAME TO SYMBOL SCAN SECROL  ;SCAN SECTOR ROLL CALL XMIT3  ;SET REMAINDER OF ENTRIES INSERT   ;UPDATE ROLL RETURN ��������������������������������������� .GLOBL TITLE .IF NDF XFTN .GLOBL SBTTL .ENDC TITLE: GETSYM   ;GET A QYMBOL BEQ 1$  ; ERROR IF NULL MOV SYMBOL,PRGTTL ;MOVE INTO STORAGE MOV SYMBOL+2,PRGTTL+2 .IF NDF {LHDRJATdTHٔ@Z$ H|˧Lx� HMH�h��ᄅL:d\]LDCl�qUMZ%9|Li-dHItE9И��0HLZ%'Z%dZ%Z}DT.D SA}�LDvC`0�MZ%h`HLTJL�h��=lZ%;M ;^ X DuSD}I[$� LZ%.x��tZ%%Z%؈|Zd zOZ< tX<�~LZ%9}OI|(i-dHItE�h�� sHH|@( I} )-.x��Z%dZ%9|AT<A, zO *@Kt� kSLD6C|$-I|h"�@8MZ%�LZ%����������6_HbXJO8R(@Ht@ɜ!� 4PbXL VÜ0�h��UHjX�UL V3 .pLә A}@$}N��I5MHЈ��4L2|ZjGA9OИ��LC}@jTT"8 K-�h��pךHbXJD YT��HdX�?L VÜ6�h��HbX�h��`UL �LLjJh@KOD rT<Р��}LD6C`HL*%dLLnJ9 #}LD6C`HL*%h?L$BJY*D$SD}N(l@D�h��oHL*%9|,\S @XyLAUd 9tO(������������������������������������7 3 E OR MOR FRY;T  1$ BR  ERITIMEL DARLE;C  R3 LRC T ISSPABY, ES;Y   NBETG O N;  4$ NEB ? ERITIMEL;D  R30,RP CM  IDALNV IIFR ROER ; $ 5Q BE  R05,RV MO  ERCTRAHA CXTNEE THT GE;  R CHETG: 2$ ERITIMEL DET SD,LIVA; 3 ,RR5 OVM N IOSSREXP;E  3$ EQB "<; AB.LCH,#R5 MPC $ 6Q BE  RSTEMILIDED LIVAINR FOT ES TI,CIAS;C SMH.#C5,RP CM  GHOUHR TREE' WE,OP N;  6$ EQB ? LLNUN-NO; 5 RT TS $: 1S YE ; $ 2E BN  S?ESGRRO PING INTHNY;A  R3 STT8XFTN MOV #TTLASC,R2 R50UNP MOVB #TAB,-(R2) .ENDC BR 2$ 1$: ERROR A 2$: .IF NDF XFTN SBTTL: CLR R5 RETURN .ENDC .CSECT IMPURE PRGTTL: .BLKW 4 .CSECT �������������������������������������� .GLOBL EVEN .IF NDF XFTN .GLOBL BLKW,BLKB,ODD,RADIX,EOT BLKW: INC R3  ;FLAG WORD TYPE BLKB: EXPR   ;EVALUATE THE EXPRESSION BNE 1$  ;BRANCH IF NON-NULL INC VALUE  ;NULL, MAKE IT ONE 1$: CALL ABSTST  ;MUST BE ABSOLUTE TST R3  _HbXJO8R(@Ht@ɜ!� 4PbXL VÜ0�h��UHjX�UL V3 .pLә A}@$}N��I5MHЈ��4L2|ZjGA9OИ��LC}@jTT"8 K-�h��pךHbXJD YT��HdX�?L VÜ6�h��HbX�h��`UL �LLjJh@KOD rT<Р��}LD6C`HL*%dLLnJ9 #}LD6C`HL*%h?L$BJY*D$SD}N(l@D�h��oHL*%9|,\S @XyLAUd 9tO(������������������������������������:*HM9l�h��9McNZ%%Z%LZ%.x��HZ%d9^ZUA$kOA1k�M&C`0@`0 2D!�F;8MLnJ@ 0 @Ht�h��n9LATMFC`0�h`HLTJL�h��LZ%.x��‘Z%Ѐ��Z%Ѐ��ITd :,I rZ jD 1�.x��'f zHZŚ@dLHy "I *@O*O8R�h��_zBD ATd\($@B2De@dLHS*-5-�  z@EZm@8 @ZY* BZE: tL9Op��.x��hXLCK}(@O̮9M zxt�������������������������������; R TEACARCHT EX TET;G    H:TCET�G���������������������� � RNTURE X:IISC AG LA F ZARLE;C + P)(S STT: 3$ 1$ BR  4)(R NCI E ODTCS B IMETS E LUVA0,RV MO  DEMO LRC: 2$ R00,0000#1 ICB O N;  3$ LTB ? METIT RSFI, IZSC AH,UGROTH; ) SP(C DE  OKF ICHANBR; $ 2E BG  ERCTRAHA CXTTEA T GE; H TCETGL ALC: 1$ AGFLE AV;S P)(S,-R0 OVM: IISC AC ND.E  AGFLZ T SE; 0 RC IN  Z:CIAS RNTURE $: 10 R5STT $ 1E BL  CHTTGE LLCA C:50AD R $ 1R B ) R4,(#2 <;WORD? BEQ 2$  ; NO ASL R0  ;YES, DOUBLE IT 2$: ADD R0,(R4) } ;UPDATE THE PC RETURN .ENDC EVEN: INC (R4)  ;INCREMENT THE PC BIC #1,(R4)  ;CLEAR IF NO CARRY RETURN .IF NDF XFTN ODD: BIS #1,(R4)  ;SET LOW ORDER PC BYTE RETURN RADIX: MOV CRADIX,-(SP) MOV #10.,CRADIX ABSEXP CMP R0,#2. BLT 1$ CMP R0,#10. BLE 2$ 1$: ERROR A MOV (SP),R0 2$: MOV R0,CRADIX TST (SP)+ SETPF1 RETURN EOT: RETURN .ENDC ��������QKLrj}ҫsZoFϽ/Edj_*k=~j_*l?ĪoګӲk_褽kΪ_*x?]_lP_z[r {K}Edk_bw}_*S$?k_k]kY[OEc͒_*A`?}j¢~CrREc[_*8ķk__*~Kve2en[{{.罝Y_Ndk_* _O"~&Y_No})[__x?dk_*_K"~w罝Y_NN}[__k_]L$B, r( 5 At� OLx^ OZI8 K-p��`HL*%Y隂1L*%�ޚL*%L*%9MmݩLr�LTJLS�h��8MB@L2ئL隂1�h��.x��XB2T ^@EIT}WT9AQ<�HbXJO8Rh@Ht@ɜ!� 2PdXL VÜ0�h��UHjX!�UL V3 .pLә A}@$}N��I5MHА��ǩLXJ@OjNDŊSI�h��LC}@jTT"8 K-�h��pךHbXJD YT��HdX�?L VÜ6�h������������?DDA E ODTCS M IMETS E LUVA0,RV MO  DEMO LRC 0 ,R)+SP(D AD  AGFLL UL NLEIBSSPOR EACL;0 ,R000010#C BI  0CD5RA LLCA  P)(S,-R0 OVM 0 R5ULML ALC 0 ,R)+SP(D AD  0CD5RA LLCA  P)(S,-R0 OVM Y PLTIUL MO,;N  50LRMU LLCA  GHOUHR TIFT XI E;  IXCIAS LTB R TEACARCHA T GE; C 50ADRL ALC: 1$ 0:D5RA IZSC,A50ADRL OBGL. N FTXF NDF .I  IISCAL OBGL.� �������������������������������������������� C ND.E  RNTURE  DECOST  DEMO LRC E ODTCS E LUVA LRC E YP���������������� .SBTTL  DATA-GENERATING DIRECTIVES .GLOBL BYTE,WORD  .IF NDF XFTN .GLOBL LIMIT .ENDC BYTE: TST (R3))  ;MAKE R3=2 FOR BYTE WORD: 1$: GLBEXP   ;EVALUATE EXPRESSION CALL @BYTWRD(R3) ;SELECT PROPER CONVERSION STCODE ADD BYTWRD+4(R3),(R4) ;INCREMENT PC TSTCOM BNE 1$ RETURN BYTWRD: .WORD SETIMM, SETIMB ;CODE ROLL CONVERSION .WORD 2, 1 ;PC INCREMENT .IF NDF XFTN LIMIT: CALL OBJDMP MOV #RLDT11*400,MODE ;SET RLD T'՝Y_Nz$K_*& ?؜k}KĪoګܣ___\?EdjO_*@}sQêo\ʫӲk_*k]__*aB?_Ik}YoCkPۺoҟ__Iw$k_*6 Ɲ^_D?$k_*6Ɲ^_@?$k_*6kkʹEۣ֝^_r̟{r}-Ek_d�k?غCuY[ Wk^r/[k"}C[kUKC[kj=[[C[k?غz[Ps'CY[ kͽYHbX�h��`UL �[LLnJ(@KOD rT<Р��}LD6C`HL*%dLLjJ9 #}LD6C`HL*%(;L$FJY*DdSD}N(l@D�h��oHL*%9|,\S @XyLAUd 9tO(��YL$F, r( 5 At�=Lx^ OI@E8@AZ@T$}R\E�h��`HL*%X隂2L*%�ޚL*%L*%9MmݩLr�LTJLS�h��8MBLXJ@O[t@TX|�إL隂2�h��.x������������������������������������>��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������