U# ~ { x u r } z w t q  | y v s p o l i f c ` ] Z n k h e b _ \ Y m j g d a ^ [ X W T Q |igv Dc fbU# ~ { x u r } z w t q  | y v s p o l i f c ` ] Z n k h e b _ \ Y m j g d a ^ [ X W T Q |igv Dc fb Wm 7m 7XYZ[\) gW =]^ N p_` ] 䰶0c) W) Wfim m  lorua) 0W =dg  jmpsm l4m (vm m zm }m }}m m Rm m Fm 5m m m m m m 5m 5m H#m |m B ѷm  зm  зm  з m l Lش m zm +nm ym Vcy|m  зm  ѷ m  ѷ m l rᴁm l ۴m  зm l )ᴁ=m 3l ഁ m Ck 崁u m k i崁m l Aݴm Ll ഑m k 1崁 m )k {崑/m l ޴ m k Q崁Sm <k 崁h m l ܴqm k G崑zm k :崁2 m l jⴑ m l ܴ"%m k Z崑"m l ߴm l ߴ$,m m h/Om l Vm m ^adm l gjmm l _۴* Y\_behm l ۴knZ]`m l P۴Tcm l ڴ qtwm l ۴z}m k 崑tm k 崁m l Kڴ(m k 洁m k 崑m |k 崁=m l tm k 洁{m k 崑 m l 6ڴm k 崁m k 崁m k 崑2m \l ٴm k 崑m rk F0m mm mm _0m 8(+.m 4m 4Pm 6m , #m }6m X@&m w6m w6@)k  N,m 6J T/k ) rX00k  N3m `6m g6k  9<?Bm 6J TEm d6 \1m 5m } 4m 5 7l  :m 5m  =@CF Bc BcP258O aF b;>Am -7m DGm m H  Km m `RUX[m  m  ;^m  JMPSVm +m +VYm ^0m !4 m #m "m m @m m  S H m m m m m 5m 6$m Wm Wm R!m R!km m m 4m 4 m I#m I#&m #m w"fm [m [6)m m &79m ^0m `cfRm m TUm )m )5Xm Qm Qp|m ]0m m rm r m 8m 8. m :m :m m  m *m * m m   m )m )m 4m ,m m |m 5m m 0m (m P m P m  m  m ^5m bm -#m  dm 7m m w7m m m  m m m 5m m m >m m $m 4m ; m 87m 8r m ,m ,  m 2m 6m m m zm z|m p5m q  #&m Pm P8 !m #m $m F3m 'm m 8,m `7m D 69<?@Cm m Fm m 2Im _0m yEm 3m YHKNQTm m WX[m Gm G^am ^-m dm m gjm  зmYm wm w\_m Xm Xbm Sm Sehm l Jtkm 5m Pym 7m nL"m /m m 5m lm 5m 5S l l (m l ش&m .l <m m Fl k ,洁Tm 5m 5om Xm XZ  ) UV >l  =j+m m 03 p B6m m .@C k /Fm m xJMPSVm !m !Y\m m _ L p-` _ 0c X 䰴bm 4m 4jem ,m f   q{ [ m 7 -y g m m X  X w pm &m & U m L4m Om m Z"m # q m m  O#m _"m _"@Cm m RF 5 p~m m |m 5m 5|m m ;0 { %m m T m m `k  ܲm 4m 4p) GW =m !m !@m !m !m m /    m 尶Z"m #m #" = pF%m m k  NB m -#m F&#m m 2m m  58;m 6m >*-m Ym Yz0m 8 m 8 PJMPm m SVBE) }V <DHKm m nNQTm Bm B@W) W =bm m lopm 5m sJ T ЫDBvm #m #!m "m ") R ϫm 5m  i m 5m C 0m i m i m  խBm `7) Tm m  m m 4m x+m pm  խ:m r7m m m m m  pm d5m )I    ) U t! $ ' *  s 尴-  c 尴   "   m  m 2  n m 7 4cm 1 4c% m @6* ib. ( m m hE 1  q 尴)4 7  d 尴h: l  m  4c m #m " m 0 4c m , - l l  m m + m ##m "#  m m  m m + ) 3V " m L0l ɚp m km kpD m ~m ~@{ m 5m 5m 7m 7~ j m  ; 7p m m  m 5m 5 m 4m 4@m 7 4c m 7 v m 5m 5    m f,m ] m !m R/ m {m {D m !m  # m E6 .&  m m 6U m T0m ;P m O0m f i l o m k 洁Bp s m #k 洁{v y m lk 崁 |    겴N q t w z m 5m 5^} m 5m 5 ) 1P  m 4m 4 m 5m 5r P P  ) 1P  m _5m 4f ) 1P  m 5m 5 m  -` m M6P ...ebinddevcetcblibamnt`tmp_usra.outrkunixrunrpunixhpunix?unixgorpw w x@ r E  y    w@  @Ջ E 7vf  r f  e0 t f2 w*Wp3e @7EA pw0w Tic-Tac-Toe w Accumulated knowledge? w b@  72 2w 'bits' of knowledge w rw new game ~s |s@ XO@C W vW yW | W | w "? D 1 OsL ( Fsw 4L 7 L7 Js̋̕w Y w <  7 77  !|߇ (-~7ȕww hIllegal move ww NYou win w >I concede ~ www I win w  f Wqs`G~@  JsЋ  |w Draw w4J  ` ` W b @s b @B   w, @ w 0 'bits' returned bw/usr/games/ttt.kthe of and to a in that is was he for it with as his on be at by i this had not are but from or have an they which one you were her all she there would their we him been has when who will more no if out so said what up its about into than them can only other new some could time these two may then do first any my now such like our over man me even most made after also did many before must through back years where much your way well down should because each just those people mr how too little state good very make world still own see men work long get here between both life being under never day same another know while last might us great old year off come since against go came right used take three Albania:Tirana|Tirane" Andorra:Andorra la V[ell|iej]a Austria:Vienna|Wien Belgium:Brussel[s|]|Bruxelles Bulgaria:Sofi[a|ya] Czechoslovakia:Prague|Praha Denmark:Copenhagen|K[o|o/]benhavn East Germany:Berlin England|United Kingdom|Great Britain|UK:London Finland:Helsinki France:Paris Greece:Athens Hungary:Budapest Iceland:Reykjavik Ireland|Eire:Dublin Italy:Rom[e|a] Liechtenstein:Vaduz Luxembourg:Luxembourg Malta:Valletta Monaco:Monte Carlo Netherlands|Holland:The Hague|'sGravenhage|den Haag Norway:Oslo Poland:Wars[aw|zawa] Portugal:Lisbo[n|a] R[u|o]mania:Bucharest|Bucuresti San Marino:San Marino Spain:Madrid Sweden:Stockholm Switzerland:Bern|Berne Turkey:Ankara USSR|Russia:Mos[cow|kva] [West |]Germany:Bonn Yugoslavia:Belgrade|Beograd                           %% %ׯ%-% & Input file. 7*0 0t7 ', $$7h* wr* l w`* Z w) F  6w$* w"* w* ~  w) l wz, "'_) $<  yw -&V*& Ct+>6q@H0Z+< F630E6;p@?ZG;@c?GG?%/;.z@<0r?Q?K?3H?8CB}BrBwB>0<;;;BAAAN9 ?968GAHIjH@!0VHBG?@I/H?cHIE??>Ev/0$HhHEuE>?=>[EEE>EQG3?EkE+>?<C)HGD!EfEu?TEE:GG;n6WG_r (  & &%W!,_ @ T wt C,  rd X N nwF _  % Z W!,s(w   *@ f 4 *  V N &p_:%**70% pw4wSymbol table overflow. J(00 e F*7 & $ W!,SN'_    *$$ ** x  H  lr_z$**p$ H    <      3 3 3 4 5 4 7 4 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 6 4 5 4 9 1 1 1 1 2 2 2 2 3 3 3 3 r_ w     *3Af   $f   &   ^@      :    r # _    _ F _    pd ` _ Z  W!,:%w *;fA@@ fe   xf f 0    _ @  pwV"**7"_& &e   f " d_    _  _    b( & 6  w  %_@5- @s e @5- @l e %_@5- @ 7N f  _@5f  _%  p h%      P H ^ ^  & %@5S%P%%  f@&l 4e   4  X& %& 4e 4 N  pd ` _ 2  *A   @  f   \ w|   wj    *p*!w!A f x n   D_L$_ w T_  7f# 6Z#   w D  4#   _ f  _ | 7# B h l7" C l -"""" %%m"" "  m"  0 Pw("f Z  | lf d N  %$-  *@)@   @)@ w Type y to move first: w  2 Iw z 1111 2222 3333 4444 1234 1234 1234 1234 1 ---- ---- ---- ---- 2 ---- ---- ---- ---- 3 ---- ---- ---- ---- 4 ---- ---- ---- ----? ׭ yw .L@@f@f@f  x w You win  JZ X "w jw  D w I have a force win: "7 e w 2 W  &@  W   w  xW   #@ w o # w  4  N 4  w.w fe %ww ~wDe   % w7 7 ׯ-  (w7  .weB J ӕ- R r f e0 @ >2 ҋ D~8 ӕ0 $f v Le0 9e  7we&  m  ~    ~ w7 n d `0   LWp `e0eӕ?f@)" N H B : "  " "  w _ f  wZf ^ b7!  F J7! $!m!$!   C   j !m$  * w  h b 8 _ f ,  _ f  7.!   7! 7 ! !!! &v   N  f    Rf   6N  ! N   w J _ f` \ QED        9y # * W w  fw  @1  &@1 U &@1  U W   w LIllegal move &  w of w  e1e1e1@  &w |vxw rjhfdZ``mRmP w $Dw  w. f  w&  U%&tE7 E7E7f @@   w^fwJA 7 fAW,f B@ 8 @&61fA   @ @e7p1@ 1wf@wNwJwf@f& CB  ԕ-   e0fv   vA W  ~@& HADCBF7F%s %s differ: char %s, line %s %5s %3o %3o arg count cannot open %s EOF on %s dox<fJecslXr VR  <D   w  _ Z@@ _  _ 7"f ~ wzv  h < ^ ~ wV 6 :  " _     j B _ C Z _  7l B f Z  H& BWpdewp8B 0 2-&"$"  v    _7  f  \ V v  p w _  "7 BB   _ ! ~  f!   w@  A Ze 7  Ef `C  r CpDD`@ "`  "w &D D w D&`w f @  f mWp/w@Ef L  @@f@f@fxe?e CD  7 ;L@@f@f@fx @ & &w tw `  ; <     L@@f@f@fx D  +  &w ( ( + , V  w& 8  ]   [  w w _ f  ~q, ej-f*\   7F w Nesting depth. e -*? 7  D ! $7 ` &    \ w w* 9w`        w  w w w" w w  |  x w Fatal error 'T*w7 7  bf 6 ׭((.((((((((((((((w ~ &  Lffflp w ,`1 @  p eW   w  W   B   "w  2 w  w  w x/dev/ttyc/usr/bin/dds        behknqtwx{~y|02׭9.0 -c    w h N  N  7z׭tA ׭lFd7׭Z\ ׭L. , &7 $72  .    f p Cn f ` f P J D E7   * Ef  E7~ r7 lf ZwW!,_ wL W!, :8A ^fW!, ^W!,* +0* 7'  _&f&&    c U  7w'_ ^ b9_ f N ,D< . 27 &.    f-  N & _ . V _ _ _wp8 7r77 p$ w7  zN B   p T X7^   < :< 8 ~  ( N  TN~ ( -⇁ ` N " Hq,w  f1N1N1N1f&q,@ @  4 q,w q,q f&CC  n F lI 9 Blqqq&@1 7 & 2   (  "  % e &e w --p-@11   & *    -   !rectoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken Pipe$ L 7 8  f    N 7| HN  f    Z N   H  , \N    tf  r e0 Ne0  > 7 ~v7r 7 h b   P N 7 @782r 00h &   _ r .&  v& l   C : B xv t 1  w0Out of space. -p- &    p-r@@ @l12& b , -1 p- f&7  -`CM J- ! e <$L$\$m ),  B,4l$4  -0-  2  | A  f -8 ># wOut of space - too big a block.  fJ -m -bJw e ew"  D    w r2  2--  %F2^   Wq 0W 3E`e@t7 &&@tEe B &error /dev/junk_  Fw \ -1f   w m &&  0 rx wp7v v 2 P T   z !@ pv  x e0  w    ' ( 7  f0      0  6 0  -   f  w e0 9eN N  h_ "  * `_ . 7w ' d w7j-mn ~-$ 7d e\ e7  7 e 2 T$%wout of space - no more block storage &N ~  @ @j-J "eeB -J,"eJ,eB,B,@@& Z ,$e - &f-7de0 10 -  -Bw>1 11  p-$e11-A 11Ae11-ez-'wUW!@-wOut of pushdown. W!, A 0? !% *+-./0123456789:; <T =h > ?ABCDEF I^ KnL'OP*QhS V2 XdZ [ ^_cDdf i kl&ozpqs v2 xdz  @- ׭q&&f  f  7  !  @am7  dded x    q  v&&(/bin/sh-c! w _ Xf  v ~  2 x 7 & b pd`   pd7`   e7    7   z      ` >  e B  C  ` |  e   fbb ^-`N7 LFH-@FF 7r0wp*w*. R    8wFT*( ) ? " (0)"0 not D ! ww$w,!w"rwt7*7 ,r7 w47--&m- e7@ ]]7`7@e7w ~7 ~7 v0 0!/!,`h^B t7eE7&t7t7E7.7  p ,    0w b? w XFile not found. d ׭ ԝ A  y  c < Lqf& 7  & eddd7    t T X T cq T 2 6qf& 7     8 vv  Jw j    Hv  w <l " v7    . m6  pc ` rd@    c   t-  -  | &&BBin switch. `+l7 j7 B7 d7 b 0  9Y a zw A Zfw L ,"+v-v ._^*l   7 ]w j 7-+m+     0 p P` 0 9 . wn  JF   Fԋ.09AZ _az  F ;wԋw7ww ` /\? 0^=:!D'h"t$&%`@E A 4*A C  5WpdD `  $  TBe  z ~!d d  z f C f  C jf   R   fB   | v  j ^ Xf& 2vw7 0  w t |  ww 7   w F N R ww w l_7   7   W!  Wqd ` z Dqd  & 6  w  % B @  ʥ0ʥ7 B te@P ʋ @m& d   @m D-N ww - FN *f % % *& % %ww Dԋ@ w|w j~wlDeb  \ % wL7 H7 Hׯ>- 6 4(w(7 * .weB J ӕ- R r f e0 @ @><8*,.60FHPX`hpb b "b&b*b.b2b6b 6D `  w     D 8 v@ 7pw J7 t w H  6 tX 7 hL w &7 V: w 7 Dw  Tw .   8m 6 w: $ 5 w rh  7  w &   - jE     w .\ v e0 ve0 `D D sN  pd `pd `B (eB &v@  r     &  pc rd   | &    ed~ z r n  ` V q,w FD >0 2"  f  7  Em7  dd     8 <q    q  ^ ~x& Tf > ҋ D~8,0 ӕ0 $f v Le0 9etn f` 7Pwe&  m4 2 ~    ~ w7   0   Wp `e0eӕ?f ,P   @f  7 4zr-ldfww:wN f@ww@w*f@@& HADCBF7Farg count bad mode ve0 w  XZ 7& DFN ,EBw r  E  m  f - (  r f e0 -. v F$ $ $$ w Q$B 쇷 ^7 lf w!, A  C W  CBe @w 2 7 x  -"7 e7 7 x em 7 h m^ m\ em  !0  w   @f  .f  7 >  4  3  v    2v  B & v   ! Pw  \ N v  D  6 \ V@@@@ ,7F " 772   q,@W -W 1f&@l1 11 1   t qq,Æ @f&q,@ @ Unknown error: doxJfXecslfr+;GYi{ 1BQ`x!Error 0Not super-userNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedError 14Block device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a di|@  Ew w w *w (w )w bw ,@w "  -7  w  䇅EE @ Ex  T I PF  6 : w )+9  w -( j ,   ~ L 5  5 w $ L  e@` 8 E 7 |r0r1r2r3r4r5sppcff R # @  , w -w + Aewx w 4x0  &4 @D@$f p^evmov vcmp0vbit@vbicPvbis`vaddvsu? clr?@ com? inc? dec? neg?@ adc? sbc? tst? ror?@ rol? asr? asl?@jmp?swab?@ldfps?stfps?stst?clrf?@tstf?absf?negf? sxt? mtpi?mtpd?@ mfpi?@mfpdpLmulrLdivtLashvLashc F%B7 7 el h   h%n%  N N  N<   <  wh vw Fp@m-f ^7\w8w &NupwFD  N w w $ʋeWp D%dʋe % `wfwBw>fwf@w&w"lw f@Aw| f BRf@wwrwBf@w N  ww DeL@4 w w lw w >cw vw &w w w w dw w cw w no archive file w cannot create archive file w" W, w w a0؇77 w Tw `w  w Rw w Lxw w .w ,w  w w w w  W w w  -- not found /tmp/vtmambrbnebeqbgebltbgtblebplbmibhiblosbvcbvsbhisblohaltwaitrtiiotresetHmulfHmodfHaddfHmovfHsubfHcmpfpmovfHdivfpmoveipmovfipmovfoHmovieHmovifHmovofcfccsetfseti setd setljsrxxor(rts4cf &   w/%J %K  t5p t5rN  5N  5 2 B-B-%B-B-% &    w4w "DC%: he`m e rfww p@&f %JB r<R r< r<R r< rWtC` re rwF h  h!7 h%n  x  0!x 7 Bww ԔAA WpCeԔԔ/* * Text structure. * One allocated per pure * procedure on swap device. * Manipulated by text.c */ struct text { int x_daddr; /* disk address of segment */ int x_caddr; /* core address, if loaded */ int x_size; /* size (*64) */ int *x_iptr; /* inode of prototype */ char x_count; /* reference count */ char x_ccount; /* number of loaded references */ } text[NTEXT]; lg4sflghemtxsys? \mark~sobbsplfoctE  E8& E  tw r7`m7 w x7`  `w r7`z Nt hE  2E5U mt t d &w r7`  H X5 5@ X nzvcEE E X E    w R;eew zz :@FLRX^djpvԔ BeWpCeԔԔԔ&  ed&  ed&  ed&  e@ &  wxw fA r nw^mw FD % A r  r e0@ԕ A r e0@w@& HADCBF7LF6rwH6r@f@  P`Hm` bad conversion no permission /usr/adm/wtmpPFM:/ESTEDTDay Mon 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAug/* * Definition of the unix super block. * The root super block is allocated and * read in iinit/alloc.c. Subsequently * a super block is allocated and read * with each mount (smount/sys3.c) and * released with unmount (sumount/sys3.c). * A disk block is ripped off for storage. * See alloc.c for general alloc/free * routines for free list and I list. */ struct filsys { int s_isize; /* size in blocks of I list */ int s_fsize; /* size in blocks of entire volume */ int s_nfree; /* number of in cor~ "(2  ^corea.out?0HangupInterruptQuitIllegal instructionTrace/BPTIOTEMTFP exceptionKilledBus errorSegmentation violationBad system call?15?16?17sp ps pc r0 r1 r2 r3 r4 r5 releexitforkreadwriteopenclosewaitcreatlinkunlinkexecchdirtimemakdirchmodchownbreakstatseektellmountumountsetuidgetuidstimequitintrfstaSepOctNovDece free blocks (0-100) */ int s_free[100]; /* in core free blocks */ int s_ninode; /* number of in core I nodes (0-100) */ int s_inode[100]; /* in core free I nodes */ char s_flock; /* lock during free list manipulation */ char s_ilock; /* lock during I list manipulation */ char s_fmod; /* super block modified flag */ char s_ronly; /* mounted read-only flag */ int s_time[2]; /* current date of last update */ int pad[50]; }; temtsmdatesttygttyilginshogsleepsynckillswitchesboot/2*D! w ~chown uid f1 ... eCע0ע9w 7"w w BCan't open /etc/uids w w Who?  : w  ʋw :w VNw ww(77 Ћ w ?  }  0 Wp ` /etc/passwdfA7~ fA @e7x1@  1 @ &@wLՋ@@ 7B Ewww &w ~U/* * Location of the users' stored * registers relative to R0. * Usage is u.u_ar0[XX]. */ #define R0 (0) #define R1 (-2) #define R2 (-9) #define R3 (-8) #define R4 (-7) #define R5 (-6) #define R6 (-3) #define R7 (1) #define RPS (2) #define TBIT 020 /* PS trace bit */  & 6  bw P%  @% b @&  5  @% b:f  @&  !E%@@Ҕ/ҥ/ @@&  -@-:  @% bN@&  5&  N:f @%@-   @% b:f %5 bwfwhwdwf@wLw fw6w2  disk offset J7f tape offset 07N count  T 0 *    0 Wp `@ illegal digit -  ^ e*ȋ5 5&D9ȋ5@*&e  (: 7    0 rf rv(&1ɋ/* * Used to dissect integer device code * into major (driver designation) and * minor (driver parameter) parts. */ struct { char d_minor; char d_major; }; /* * Declaration of block device * switch. Each entry (row) is * the only link between the * main unix code and the driver. * The initialization of the * device switches is in the * file conf.c. */ struct bdevsw { int (*d_open)(); int (*d_close)(); int (*d_strategy)(); int *d_tab; } bdevsw[]; /* * Nblkdev is the number of entries * wf@ww$wlfww*wN f@ww0w*f@@& HADCBF7FUsage: cp oldfile newfile Cannot open old file. Copying file to itself. Can't create new file. Read error Write error. -  ɋ Wv  B   J  yru0drx<tpw (bad usage 7w@w Aw H ^ 7(- :w w -- not in archive format ׭z0 06 77w ^cannot open temp file  w  ~zvr E7Nȋ/@ w  Ћa%wwHD7@w (rows) in the block switch. It is * set in binit/bio.c by making * a pass over the switch. * Used in bounds checking on major * device numbers. */ int nblkdev; /* * Character device switch. */ struct cdevsw { int (*d_open)(); int (*d_close)(); int (*d_read)(); int (*d_write)(); int (*d_sgtty)(); } cdevsw[]; /* * Number of character switch entries. * Set by cinit/tty.c */ int nchrdev; 8X & 6  w 5 %e@7 $ 8 % \s0      ( x| ^  HW  58 x}b& f :% f %  x  %  & % %ww p l%_% _ R5%_%_ 65%5 5c%;`  Ne xNe  pe  7  5~w nw w  -- cannot open Pw w -- phase error 4J"wW 7 5 47wW 7 5x&fw w  -- cannot create w  w f@:w  w w  w - -/* * Each buffer in the pool is usually doubly linked into 2 lists: * the device with which it is currently associated (always) * and also on a list of blocks available for allocation * for other use (usually). * The latter list is kept in last-used order, and the two * lists are doubly linked to make it easy to remove * a buffer from one list when it was found by * looking through the other. * A buffer is on the available list, and is liable * to be reassigned to another disk block, if and only * if it is not marked BUSY. When a buffer is busy, the * available-list pointers can be used for other purposes. * Most drivers use the forward ptr as a link in their I/O * active queue. * A buffer header contains all the information required * to perform I/O. * Most of the routines which manipulate these things * are in bio.c. */ struct buf { int b_flags; /* see defines below */ struct buf *b_forw; /* headed by devtab of b_dev */ struct buf *b_back; /* " */ struct buf *av_forw; /* positi7  WpDe Wpet07  %  @ e ww DCL @ tEWt@PUA5UUwVw RDC%FD L EtUA5U8U0w w %F5 U@ 5U BU  e%   e%0ww E 5@ 7 rwnw j bU@& 5@ U L3on on free list, */ struct buf *av_back; /* if not BUSY*/ int b_dev; /* major+minor device name */ int b_wcount; /* transfer count (usu. words) */ char *b_addr; /* low order core address */ char *b_xmem; /* high order core address */ char *b_blkno; /* block # on device */ char b_error; /* returned after I/O */ char *b_resid; /* words not transferred after error */ } buf[NBUF]; /* * Each block device has a devtab, which contains private state stuff * and 2 list heads: the b_forw/b_bact7(@tE7tt  & 55@ EHEww %5- U L 5% zwvw r D5_ 5_ m _ eE5 5 tEB-_ mPtEAm@  _  U@& 5@ U t E4 Wt @`E@`t4`tE4B 4 E 4 4&  <& 5`9L20007X_sleep _spl0 L33~L34;L35L37L38_notavai"LL20008L40~iowaitbprbpL428L20010,~notavaiLbprbpsps_iodone"|~iodone|bprbpL46_mapfree"pL47L45_clrbuf"~clrbufbpcpL52_binit"~binitbpdpibdpL20012L57k list, which is doubly linked * and has all the buffers currently associated with that major * device; and the d_actf/d_actl list, which is private to the * device but in fact is always used for the head and tail * of the I/O queue for the device. * Various routines in bio.c look at b_forw/b_back * (notice they are the same as in the buf structure) * but the rest is private to each device driver. */ struct devtab { char d_active; /* busy flag */ char d_errcnt; /* error count (for recovery) */ 5@ EH 7> j'ww D57wblkdevdevtab88888HXRL200148L60J_devstar"`~devstar`bpdpdevblkdevlochbcom comrbpL62L63_rhstart"~rhstartbpabae dpdevblkdevloccomrbpL65L66L67_maplock _mapallo"~mapallobpabpiaL68lL69L20016L20018>L74`L20020T~mapfreepbpL78_swap"~swapstruct buf *b_forw; /* first buffer for this dev */ struct buf *b_back; /* last buffer for this dev */ struct buf *d_actf; /* head of I/O queue */ struct buf *d_actl; /* tail of I/O queue */ }; /* * This is the head of the queue of available * buffers-- all unused except for the 2 list heads. */ struct buf bfreelist; /* * These flags are kept in b_flags. */ #define B_WRITE 0 /* non-read pseudo-flag */ #define B_READ 01 /* read when I/O occurs */ #define B_DONE 02 /* transaction finished */ #d))(((8I(())(HY8YY)HYcountfpcoreaddrrdflg blknoL80L20022L82L20024L840_bflush"B~bflushBbpdevL86hL20026HL10001XL89xL87|L20028r_physio"~physiostratbpbasenbrw abptsdevL92 L93L10002L94*L20030L10003VL10004Z_lshift L96L20032L98L91~gefine B_ERROR 04 /* transaction aborted */ #define B_BUSY 010 /* not on av_forw/back list */ #define B_PHYS 020 /* Physical IO potentially using UNIBUS map */ #define B_MAP 040 /* This block has the UNIBUS map allocated */ #define B_WANTED 0100 /* issue wakeup when BUSY goes off */ #define B_RELOC 0200 /* no longer used */ #define B_ASYNC 0400 /* don't wait for I/O completion */ #define B_DELWRI 01000 /* don't write till block leaves available list */ ())))(()))8Ii h Hi i Yi h i 8eterrobpabpL990tty.ol (< w Ce & e& e& ww x 7ne 7be 7V ww | E%  fWp %w6& @5 '\ %  %(( 5\( %  %5eD-w BCE% 5 5 %%%  <4%5%A%Ze  5 % %   5 $  ww CDE%5 _% 5  $ _5ҋ !\ $ %a%ze% 5mbio.ol 4 w Nf " 5wU &@t   w B N  N " 5 U &@t  #N  N " 5  U @t  N w w DE & t  5  5 ww D t%% rU ww DU wxw tD5@ 5@^E@V 5  6EH0  H Y   _u "_buf h_bfreeli _bdevsw _nblkdev _cdevsw _nchrdev _canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap  $ e & Ze5 E B xʋ=ʊ;tE5%ʋt&e % tE5% U@%  e &U wx5@tE5%% w B nE "Q tE mE@` __  )YHY hy y 9 )YnL63L65L70<L73L75~ttyoutp$actpcrtpcolpctypeL10005HL47L48nL51VL52L53L54zL55L58L66,L688_max L71hL76_ttrstrt"~ttrstrtatptp~ttstartatpaddrctpL82L81>L84&_timeout _ttread"B~ttreadBatptp  !` %&&  eww  ># F 7% &  e Rww 5 5  w ~ fw ` a ZğR NE@ EQ27.7.w$w # <&  %ww ėE5Ue-? ww E5  5 *ww E  y7tj7f wXyIyIIyXY_u "_bdevsw _nblkdev _cdevsw _nchrdev _ka6 _mmread"~mmreadbnoncaddevcsv L1L4_lshift _spl7 L5j_fuibyte _spl0 _passc cret _mmwrite"~mmwritebnoncaddevL8_dpadd L6_cpass L10*_suibyte pc.ol L86|L88b_passc _ttwrite"~ttwriteatptpcL91L90L20015L93L20013_cpass _ttystty"~ttysttyatpavtpvL96L95dc.o.ol p4@xw %FDueCteUA#@II5  &  0tw\w XDue45E w0w yyyyy(9yyyyxy9yxy x( IIyX9IyyyIIIyIyX9yI 9yx( yyyyhyyy9yyy(9y$w  !%Ah U@l vww    h7  Fww ~%v5hUAh    >w:w 6 t *w"w 5l nww %5h!%5hj %UAh ww ~%2 ww 5l%dz( f P * HwDw @d tw0YIYY)XY)YXXH))X)YYYYXhYXx)YXx)IYXXh))_bdevsw _nblkdev _cdevsw _nchrdev _u "_pc11 _pcopeU 4  707  w|w x 7v˕U ^' EE @ ˕/( tUC5U ww 565 & %5 E7E U77! ,!5EU˕Cwz  xߕ  - -؂"" Et5 @PUA e-HH0002L10003L10004_tmintr"~tmintrbpunitL25~L26DL27L29&L31:L34zL33p_tmread"~tmreaddev_tmphys"_physio _tmwrite"~tmwritedev~tmphysunitadev_lshift partab.ol { n"~pcopenflagdevcsv L2<L3L1FL4_lbolt _sleep _pcleade"cret _pcclose"J~pccloseJflagdevL8r_spl4 L9X_getc _spl0 L7v_pcread"z~pcreadzcL16L20001L18L19_passc _pcwrite"~pcwritecL21L20003_pcoutpu"t_cpass _pcstart"~pcstartcL23_pcrint"~pxyyyyyyxyyyyyHyyyyyyyxy_bdevsw _nblkdev _cdevsw _nchrdev _buf h_bfreeli _u _partab#rp.ob.ol 2 $w D5  Ete2@ "U L4      rWtPt r4` vx7r3-, 3-,34  *w&w "$ t&& eww :7 && %5 ߕ  5~ 5~ UcrintL26L25TL280L29L_putc _wakeup _pcpint"X~pcpintXL31p~pcoutputcL34L33L35~pcleadeiL39rf.ol t*w D5 t -U 4  707  ww 8 t&6& ewjw fb$b7X 080& %09 3 U7)7( zww f ew"_tctab _tcper _tcclose"~tcclosedevcsv _bflush cret _tcstrat"~tcstratbpabpL30_mapallo L10000FL4R_iodone L2_spl6 L5fL6nL7|_tcstart"_spl0 ~tcstartbpcomtccmpL9L20001L11L8L12L13_tcintr"L10004L29L30L19H~tcintrbptccmptcdtp77 Nwpw lN  f ewDw @N   f eww B >e `@Et0!2 w##hN<_iodone L1_lrem _ldiv _spl5 L6L5L7L10001L8L9_rpstart"_spl0 cret ~rpstartbpL10 _devstar _rpintr"~rpintrbpctrL11L12r_deverro L13PL14FL16XL17bL20000_rpread"~rpreaddev_rpphys"L19_physio _rpwrite"~rpwritedev e5 5N 5N  r f r tUAWt @Pww  & ~ & & eww (7 & %5 U77 zww f ewtw p f ewV (Xyyyyyy xI(yI yyyyyYIyyyyyIyyyyyL21~rpphyscdev_lshift L24,L23(lp.o.ol o4w 5 L UU@L ^ww  ^7 ww  ^ ww D5%a%z e7 y 7p y ( )'!^ ^ B-8eE7,w5  7  %<5  % 7 7 5  - 7 %P  -  w x yy yyy(yyyyX  _buf h_bfreeli _bdevsw _nblkdev _cdevsw _nchrdev _u "_rktab _rrkbuf _rkstrat"~rkstratbpqcqldabpcsv L2_mapallo L3*L4D_iodone L1r_spl5 L5XL6yyyyyIXiIXiIhI_buf h_bfreeli _bdevsw _nblkdev _cdevsw _nchrdev _u "_tmtab _rtmbuf _t_openf _t_blkno _t_nxrec _tmopen"~tmopenflagdminordevcsv L2L1,cret _tmclose"0~tmclose0flagdminor N5LwZw V %2L F w8w 4%d.  f w`{|}~~ 6"~BYIYYYYYYYYYYYYYYYYYYYYYY`L7n_rkstart"_spl0 cret _rkaddr"v~rkaddrvbpbdmpL9L10_lrem _ldiv ~rkstartbpL11 _devstar _rkintr"~rkintrbpL12hL13T_deverro L14<L20000d_rkread"l~rkreadldev_physio _rkwrite"~rkwritedevtc.ol w N @E0ww D5 %B EdevL5N_tcomman"^~tcomman^unitcomL7rL10000d_lbolt _sleep _tmstrat"~tmstratbpabppL10L11L20002L20004_clrbuf _iodone L9 L13_spl5 L14L15L16_tmstart"_spl0 ~tmstartbpunitcomblknoL18(L10001L17L20L21L20006L23L22L1YYYYYYXYYXXYXX_bdevsw _nblkdev _cdevsw _nchrdev _u "_lp11 _lpopen"~lpopenflagdevcsv L10000L2L1._lpcanon"^cret _lpclose"2~lpclose2flagdev_lpwrite"F~lpwriteFcL5RL20001L_cpass L10002L10003 L16L13L17L15L18L8~L10007L10008$L296L21L23L27"L31~L32B~lpcanon^cc1c2L9L10009L10004L14L7L10005L25_lpoutpu"L33VL35lL20003`_lpstart"~lpstartcL38L20005_getc L37_lpint"~lpintcL260L20004L29*~dhstart8cptpcnchatpspsL31L20013L33nL34_getc L35L36L37_ttrstrt _timeout dhfdm.ol 4"w Dueww wX_partab _bdevsw _nblkdev _cdevsw _nchrdev _dh11 _dmopen"~dmopentpdevcsv cret _dmclose"~dmclose @ 5*H C = 7. U"7 77 & 0 ww N xf$ e 7ww N x f$ e7 ww DB    wZiii8Hy8HL10010L40_wakeup ~lpoutpucL43_sleep _putc _spl4 _spl0 dhdm.ol /w Due@@B5@B`@  &  ww Due5 @@B`@w|w x5@0@Eue\te! 5@B &  B `@w X)Xdevsys.ool w  f&Wp %ww b &Wp  ww @ &Wp  ww  f&Wp %wpw lwV((((II_bdevsw _nblkdev _cdevsw _nchrdev _u "_partab _proc L_syopen"~syopenflagtp8HiHXyyyyyiyyXyyiyyyyyyyy)XiX)_partab _bdevsw _nblkdev _cdevsw _nchrdev _dh11 _ndh11 _dmopen"~dmopentpdevcsv L2,_spl5 L3DL200018_sleep _spl0 cret _dmclose"T~dmcloseTtpdevL5_dmint"~dminttpL7L9_wakeup L10L11devcsv _syttyp"L1"cret _syread"&~syread&tpdevL3D_sywrite"H~sywriteHtpdevL5f_sysgtty"j~sysgttyjflagtpdevL7~syttyptpL10hp.ool MP $w   ww D EteP@ "U L4    rWtPt r4` XZ7TyyXiiiiih(i_buf h_bfreeli _bdevsw _nblkdev _cdevsw _nchrdev _u "_httab _rhtbuf _h_openf _h_blkno _h_nxrec _htopen"~htopenflagunitdevcsv L10000L2 L1B_hcomman"cret _htclose"F~htcloseFflagunitdev_signal _flushtt dh.ool ) "tw %6Due8tU@0 #@ hN  0w|w xDueN  wTw P@te w:w 6@te w w ' #uEue%55 5   ww DueN&  hww D U@0U +t Wt@PU@5 5@3-, 3-,3  ww  t&& eww 775@" & %5p   5 ~ } w U7m7l NwRw NN  f* ew&w "N   f* eww B  e `@Et0!P w%,Qfd,L5x~hcommanunitdevcomL7L10001_lbolt _sleep L9L20002L11L20003L13L20005_htstrat"$~htstrat$bpabppL16`L17ZL20007RL20009L_clrbuf _iodone L15L19n_spl5 L20L21L22_htstart"_spl0 ~htstartbpunitblknoL24L23lL25L20010L1UUU2U ww @ A @@E0 @@  8 e ww  B!aNte5 % e %/2% @@e !U@0@`tQ7Q" = 2Ee %_w IxhIy xIhii0002L27L28LL29,L31:_rhstart _htintr"p~htintrpbpunitL33L34L35L37L40L39 _htread"~htreaddev_htphys"x_physio _htwrite"N~htwriteNdev~htphysxunitadev_lshift hs.ool T4(w D  U 4  707  ww   E(y xy xXy xxy xxy Yy xy _buf h_bfreeli _bdevsw _nblkdev _cdevsw _nchrdev _u "_hp_size#P_hptab _hpbuf _hp_open _hpopen"~hpopencsv L1&cret _hpstrat"*~hpstrat*bpabpp1p2L10000PL4\_iodone L3_lrem _ldiv _spl5 L7L6L8L10001L9L10_hpstart"_spl0 ~hpstartbpL118 &&& ew`w \X$X7N5@  (& % / ) U77 jw w f eww  f ew9yyyyyyyyyyXyyyy_buf h_bfreeli _bdevsy_bdevsw _nblkdev _cdevsw _nchrdev _u "_partab _proc L_dh11 _dh_clis _ndh11#"_dhsar _dhopen"~dhopenflagtpdevcsv L2L1_dhstart"8L3^_dhparam"h_dmopen cret _dhclose"~dhclosetpdev_dmclose _wflusht _dhread"~dhread._rhstart _hpintr"2~hpintr2bpctrL12L13_deverro L14zL15pL20000_hpread"~hpreaddev_hpphys"L18_physio _hpwrite"~hpwritedevL20~hpphyscdev_lshift L23JL22Fht.ool _ w DE% 0   f ww DE4 f f f wvw rDw _nblkdev _cdevsw _nchrdev _u "_hstab _rhsbuf _hsstrat"~hsstratbpabpmblkscsv L2L3*_iodone L1X_spl5 L4>L5FL6T_hsstart"\_spl0 cret ~hsstart\bpaddrL7L8x_rhstart _hsintr"~hsintrbpL9L10_deverro L20000_hsread"~hsreaddev_physio _hswrite"~hswritededev_ttread _dhwrite"~dhwritedev_ttwrite _dhrint"~dhrinttpcL94L10000_wakeup L20002L12*L13&_ttyinpu _dhsgtty">~dhsgtty>avtprdev_ttystty L15d~dhparamhtpatplpr_spl5 L17L16L18L19L20L21L24_spl0 _dhxint"~dhxinttpttybitbar Z5 tE( 5*%@EUEU: *E%@U ww D E e - - U  !55 4  707zn  dw`w \^a tE(%@EUEU:E 5 U7 -- &Y  G &[ < &&& eww O E5@ *5* %v      #&),/25!$'*-036"%(+.1478;>ADGJM9<?BEHKN:=@CFILOPSVY\_beQTWZ]`cfRUX[^adghknqtwz}ilorux{~jmpsv Nf  w2 N  w N &e Nf& % ; 4 %d#Nf d&e %4  4e  apww DCe - N w w N &e *  a5Nf  e e w<  5 5 KNef 5 @ ` %5 @tp-VL53L20024L57_iupdat _prele _bflush iget.ol w &  5-(5-$̵̵2!e%   w~ e % ɂtt̕fe f 5  ,fe tl5eSee  w D  24 & &   4  w|w xBʵmmain.ol *w 7 e  %  %F  Wt p 0 e%>WpWtN t 7jfb %TfB> %`.* %  6M  7 7   & & e&  % w|w x%(b`#%%(. @tp- %d ap%de% %d 5#4e N  _w PN %d  apww  L-%d%d N 4 4  e%ڂ% ww Q  *#  4nj& % e%΂̵ &  e % 7  w iinitno spacebad blockOut of inodesbadL Ee5f  5f tA@lee ʵeʵTeTN ww D5 pe5[ U5HN& e5 1e@-%& 5e5  N& @p- & ,ȃ N& = e@-E4 4 ww 6  w@U4  pw @7ZHԔ%V#5 %w w  %(N %N &f p e% _N &f F &f : ee%@@m@me- je%  @teU   %ze% @teUDm  %z   %Dm#%  @tU"e# jz%z% wjw f@etwV  /etc/initmem = %l no clock9y countno fsY)))hx )yyYhx YxX  ,wLno imtInode table overflow 8xhh(xYYi8x)))) ))9I9XII9X i9 Y Y9YYYxh YYyyX 9_u "_canonb _coremap _swapmap _rootdYiixyyxH X ih _canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxme_canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _u "_inode _bdevsw _nblkdev _cdevsw _nchrdev _buf h_bfreeli _iget"~igetipip1ip2pdevinocsir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _proc L_text _inode _ka6 _icode#_main"~mainipcsv L24L20001_clearse _mfree _fuibyte L4lL20003LL8_printf _min _fuiword L9m _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _bdevsw _nblkdev _cdevsw _nchrdev _buf h_bfreeli _inode _u "_iinit"~iinitcpbpcsv _bread _getblk L2BL3_panic _bcopy _brelse cret _alloc"~allocbpipfpdevbno_getfs"L5L20001_sleep L9L10D_bv L2$L20001_sleep L20013L20005*L6L8bL20003JL13_panic L20011jL1~L20007nL16_printf L20008|cret L5_ldiv _bread L17_brelse _iput",_lrem L18L20010~iput,rppL21vL22^_itrunc"2_ifree _iupdat"_prele ~iupdattmrpbpip1ip2iL11_panic _cinit _binit _iinit _iget _newproc L12|_expand _estabur"_copyout L1_sched cret _sureg"~suregrpupaL15L20005L17L19L20007~estaburndapdpntnsasep L23>L240_nseg"L25hL22L26L20009L28L30L29adbloc"L11"_wakeup _clrbuf L4@L12_prdev _free"`~free`fpbpipdevbnoL14L20003vL13L16L17_bwrite ~badblocfpbnabnafpdevL100006L19LL20L18H_ialloc"P~iallocPfpbpipijkdevinoL22tL20005dL24pL23._getfs L25L20015L27L28L29&_bwrite ~itrunc2iprpbpcpdpepL30&L31L20021RL33L35L36L20019zL38L40L41L20017L43_free _maknode"*~maknode*modeip_ialloc L46DL45@_wdir"p~wdirpipcp1cp2L20023_writeL20011L32L20013L35L20015 L38"L37(L20017L40>L20019.L42fL43L20021tL20023~nsegnalloc.ol |8w t %   & % 744477w|w x N e  I  `5?Nf %  !Nf de % 2eL20011|_iget L26L20018L21L20009L28L20007_iput L30zL20017L20015L35ZL20013L384L34hL31L40 _ifree"~ifreefpdevinoL41~getfsn1n2pdevL20020L45.L10002L47*L48L42@L49%_update"D~updateDipmpbpL50L20022i prf.ol ~.xw Ce 1 @ %%B %d%l%o %o  v %s eww Nf N& v Nf e0 wLw HD x 5t t tv%     tww w N~ w @@&f eww D  ( Nf& ewpanic: %s %s on dev %l/%l errbn%l er%o %o yyyyyy_ka6 _buf h_bfreeli _bdevsw _nblkdev _cdevsw _nchrdev _panicst _printf"~printfxa~iomovebpanflag cpnotL29L30_copyin L20004_copyout L32L28_dpadd L374L34 _cpass _passc slp.ool b w 0 %  t̕t 7 ~   w t̕t Pw ~C2  e~w\w XD4 ̕H@< 7. ~w"w D7<L20005L30L31 L20007L34 L10001_xswap L36pL37l_swap L38_mfree L39b_panic ~swtchL41vrpipvnL42_savu _retu L43L46L47 L44(L50:_idle _sureg L51d_newproc"l~newproclupnpriprppa1a2L53~L20009xbxccsadxfmtx1x2x3 x4 x5x6x7x8x9csv L3L20001 L1r_putchar"L10000@L5XL10001LL10002P_printn"vL6lL7hL20003bcret ~printnvban_ldiv L10_lrem ~putcharrccsL11L12L14Eted`% ww  ̥  5e%L% D m J TE%̥.̥+e%L%E%̥̥ 5e%L%D  & %_4@ && e ,m D&& e et& %4_4b w8w 4  * 7zL20011L58L59L60mL20013L61L64L65|L66rL67_copyseg _expand"~expandnewsizeinpa1a2L70L69^L71L72:L20015&subr.ol w @55S@5/5LN C5 @ @m@ @m0  %@0 @U@t55@ @mBN_panic"~panics_update L16~L17"_idle _prdev"(~prdev(devstrL20_deverro"L~deverroLbprbpo1o2L22L23rdwri.ol JLw B 0_4E% Wp  _4B 55E5N  E%`# &E eH  N 59@ 7* @- f7 2e%Lʥ  R HB 8  ww 5 7 ~̋ 5-f e%LDm ̕"  4%@ 4 D7C 5˕t  & & %˕ wt N f w Z5tu- NmfN %? N 0 w2@ @mN  @ @m7 %@ @m7@ @m0f %4@tEe5 `N 5 @ `AH  f 5D@E5 `N 5@ `N   7 %@ `7w     w@ j w ğ  Ewb jw D& %N& 5rff eN  ww BE% Wp  _t _tB E5N  5E%`  X%& & 5 fff e/N 5*N N   &E e 5    ww u-@wt@w ju-@wZ@w PC@Dmr*Q]p5# &\   N& % 5  Nm u-f % wswap errorno procsi )i)i)  )i))i uw:w 6w2w .DCB~wY(y((P& %j7w`6B (     h(XxhHHX8)i))9)i((YYYYYYYyYYYYYYYYyYYhYYyyy_bdevsw _nblkdev _cdevsw _nchrdev _inode _u "_buf h_bfreeli _canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _r(xx_inode _u "_buf h_bfreeli _bdevsw _nblkdev _cdevsw _n8   HH )i HHHH9)unin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _bmap"~bmapipbnbpnbdibapnbpcsv L2"L20005L9L4_alloc L20004J_bdwrite L12L13:L14(L1cret L10L11$L15H_bread L16L17L18chrdev _canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _readi"~readibpbnondnipnaiplbncsv L14L5>_lshift _min"L6_dpcmp _u "_proc L_text _canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _file _inode _buf h_bfreeli _sleep"~sleepchanrpspricsv L2\_issig L3P_spl6_brelse L19L20L21_passc"~passccL24NL25.L27<L10000jL20006FL23J_subyte _cpass"n~cpassncL29L20009xL28L20008~L31L33_fubyte _nodev"~nodev_nulldev"~nulldev_bcopy"~bcopycounttofromabcL39text.ol =D l<w D 5et_bmap L7L8_breada L20000_bread _iomove"_brelse cret _writei"8~writei8bpdnonbnipnaipL11lL10tL14vL15L16L17_getblk L20002L19L20.L21&_bawrite _bdwrite L23d_max"x~maxxabL25L24~minabL27L26 _spl0 L4D_wakeup"~_swtch"L5x_aretu L1Xcret ~wakeup~chancipL9L10_setrun"~setrunrppL12L11_setpri"~setpriuppppL15L16_sched"~schedp1rpanL184L19"L20003.L20001@L22^L24|L25_malloc L2 l  < f& e ~  f %4p7j w^w Z$0  <54 et& %  ww _8  e % t-0a 4 tle?tEet  e  & & e7 N v e& e3C      % ww D  & %wout of swap spaceswap errorout of textout of swap spaceI(h)I()I_grow ~trap1f_savu _nosys"~nosys_nullsys"~nullsyssig.ol *Pw t-N& * e%Lww %D t̥d̕d̥ ww Ĝ   Ĝ  wr 5w ` ˕ P  x% , e%L ww J2 57/%% 0 e j&e & 0E L43_expand L47L20017_copyseg L50 L20019_clearse _ptrace"~ptracepL54.L53L200222L57LL59^L60t_sleep L61L20024L63L10007(L68L702L71JL72dL73L74L80L81~procxmtipL65L20025L64L69 _fuibyte _fuiword L20028,_fubyte _fuword _s(h)I)_canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks x7D  etQ7* ^wZw V78  mI C 55`1FB- 7 @7 >2. e & && e7 t77   ww d t@-@@ & @e 60`(" e  w>v` h`@l &   `w R̥ - 0- e%L:  7 uiword L20029L10005L75L76L20027L79sysent.ol 4 (8HXhx(8HXhx _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _u "_proc L_text _inode _xswap"~xswapffosrpapcsv L2_malloc L38L4l_panic _xccdec"<_swap L5fL6~L7~_mfree L1_wakeup cret _xfree"~xfreeipxpL9_iput _xalloc"~xallociprpFE7x

e U E_D _ _2Jdcore)i)(8HXhx_sysent#_nullsys _rexit _fork _read _write _open _close _wait _creat _link _unlink _exec _chdir _gtime _mknod _chmod _chown _sbreak _stat _seek _getpid _smount _sumount _setuid _getuid _stime _ptrace _nosys _fstat _stty _gtty _nice _sxptsL138L14L20001L16L15>L21L22JL23L24L25_expand _estabur _readi L264_savu _swtch ~xccdec<rpxpL27htrap.ol GD VPw @E%U@e 7@  x&J NeT N^ l   ~  v wjNe %  >7mEi)i)9i)9i)hxslep _sync _kill _getswit _dup _pipe _times _profil _setgid _getgid _ssig clock.ol wP ,w M 2 e  5#   &  e  3ee3@E%  f  h F%<@_5f<, * " -- 5 ʋE%  r2d e%LۂNe Ete%)N e E?%?Ete "e  1  N  1e "b d_~U5 _~ _r __rCL  _~ _rw . 7ww d'ww w:::::::n::ka6 = %o aps = %o trap type %o trapIYi)i()i)i  8 7 @E%@e 7 v  n wbw ^ B J e e   !tt_wyXiiiyyyyyh( )8Yhhhh(HIxYIYIYH X X 9_canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nIi(yyy_canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _u "_proc L_clock_canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc#_u "_proc L_ka6 _sysent _trap"L10002&L29L5:L10nL11L13L14L15L16L30L31swap _updlock _rablock _regloc _u "_proc L_inode _ipc _signal"~signaltppsigcsv L20001L4_psignal"*cret ~psignal*rppsigL6^L7HL8R_setrun _issig"b~issigbnpL20004L12_stop"L10L20003~stopcpppL16L20006_wakeup _swtch L15"~clockpcppsppsdevnps r1r0 p1p2csv _display L2xL3$L20001L4(_spl5 L6TL20003BL7ZL8pL20005`L10L12_incupc L13L1L15_spl1 L16_wakeup L17L20007L20RL22"L23@L24D_setpri L26n_issig L28_p~trappcsppsaidevcallpnps r1r0 csv _savfp L2L6J_printf L7TL8^L9l_panic L3r_psignal L12~_issig L33_psig _setpri L1cret _fuiword L10000L17B_fuword L18L19(L22bL23^L20001F_trap1"L26|L27_backup L32_procxmt"L17L20008_exit _psig"L10001L35L25~psigrpnpL23nL24_grow"j_suword L22_core"~coreipsL388_schar _namei L39L20012^_maknode _access L42R_itrunc _writei _estabur _iput L10002dL37`~growjsispaiL20020_ldiv L46sig cret _timeout"~timeoutargstfuntimp1p2_spl7 L30L20009L31L32L20011L34L20013fio.ool  "w C % w  w D̵Ee e  E& x ww DE7 yfWp % w61`ww  e?tE  t  e`` e ` `zr&  N wx `: &     out of swapXYYH _u "_file _bdevsw _nblkdev _cdevsw _nchrdev _inode _getf"~getffprffcsv L2 L1cret _closef"*~closef*fpiprfpL5V_wakeup L6p_closei"xL10001L10002L11L12L8~closeixiprwmajdevripL10003 L17L18@L19_brelse L21:L23~L24V_bmap _bread _bcopy L25L20012L30L31 cret _schar"0~schar0_uchar"D~ucharDc_fubyte L35bpipe.ool w  # ( ʕ2˕3̕w3@ 0  w D% 4 3 5Ee   Ue  ,(xhL20000_iput _openi"L10005L10006L16L18*L136~openiiprwmajdevripL10007L170L20001&L20003_access":~access:modeipmaipL20p_getfs L21jL20009L20006bL23L10008L24L19L25_owner"~ownerip_uchar _namei L29L20014L20011L2 7 f7b X ww D8   7 $     w% U e 7   7  5Ee w LD& ̵w(w $D̵ w))8YY)(Xxxx(8YXXYii(((X9hxXX8_suser"~suserL33L32_ufalloc"~ufallociL20016 L37 L34_falloc"4~falloc4fpiL40^L20021@L39ZL20018DL20020bL45_printf malloc.ol 0hw CK-smK ewe  w BD e D-m tm@m-*4c &e44@m- tLm  Lewx)(XHX()X)(_canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev 9(8iYi$ii_malloc"~mallocbpmpsizeacsv L2<L20001 L48L62L9"L14cret _mfree"D~mfreeDbpmpsizeataaL11ZL20003RL1_swapdev _swplo _nswap _updlock _rablock _regloc _u "_inode _file _pipe"~pipeiprfwfrcsv _ialloc L1X_falloc L20001jL20003\cret _iput _readp"r~readprfpiprpL5L20005L7_wakeup _prele"L4_sleep _plock"_readi _writep"~writepfpiprpcX iX h_canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _u "_proc L_buf h_bfreeli _inode _e2`L14L10L16L19L24nami.ool hw : %/&  %/    _ _E%@@& H   %VҐ %/%V %/o7 v7 p^5 & 7R5 J$ N % & 7B @e7 5 N  & & 5X@&E` L10L11<L98L20007_psignal L13j_min _writei ~plockiprpL16L20009~preleiprpL18sys1.ool  ,w    _X %  5@ _65`_6@5 5 $ %_6eBN %_6 %_6  55 `\7 \7 VD 7:7_65 %xec"~execapnancbpdsipcptscsepcsv _uchar _namei L2*L1XL20001_sleep _getblk _access L46L5L20015tL7_fubyte L9_fuword L10_readi L11L16_estabur _xfree _expand _xalloc L17L20003L12L20005_clearse _suword L19%e  HZH` %V N % & _Pw5 >f _\_Vw E ww   %jwiY88Om7 e?tE5me?tE5Nff e _67   De$ % 4˵ _6% % q_6na % & f& e7 He7B8 www e@@ A @e5pNf @ ef & ҋ@ fe x5 ` X 5 E5 e% L20007~L23_subyte L24L25L20009L30L20011L20013,_iput _brelse L36T_wakeup cret _rexit"\~rexit\_exit"t~exittapqL20017L20019L43_closef _malloc L45L46_panic _bcopy _bwrite _mfree L47L20023L50ZL200212L54L_setrun _swtch _wait"l~waitlbpfpL58rL20025vL61^L63"_bread _dpadd L57L65RL66~_fork"~forkp1p2L20027L71L72_newproc L73L67_sbreak"~sbreakadinL75_nseg L76L74L77L78tL20029f_copyseg L80L20031L82sys2.ool . <w  ww  w1_sslep"~sslepd_spl7 L20008_dpcmp L20010_spl0 L10003L48 _sleep sys3.ool #$ w  & L ww    & L  ww f @&e @& @&e tle@e5 Nef e % f e % ww     ww 5"     I 8Hh xI  8H X  h I     w C >̰ 87̵ %  77%  6&e "?fwLw H     & $%w"w  ?E  & $%ww CB%5 5 E%@'   rE tE @ 0  w0w ,> 2 0  w w  D̵#=% 5     "  w| e%  0& f@t %{f e 2J 2& %22E2  w 5; " e%* 5-e % & f@t % 3  w:w 6  E%`I-5 wYhY   x  _u "_inode _canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _proct 5t5%E ~5    x.5mfe ttwl E5` w N  Ag6E%@  +d - #N0-    ww    R H wpw l d`\jfe F@ff e  (w$" e Nf e wwYxxYhIYXhxY L_getswit"~getswitcsv cret _gtime"~gtime_stime"&~stime&_suser L3J_wakeup _setuid"N~setuidNuidL10000dL5t_getuid"x~getuidx_setgid"~setgidgidL10001L8_getgid"~getgid_getpid"~getpid_sync"~sync_update _nice"~nicenL14L15_unlink"~unlinkippp_uchar _namei L16_pZ nn  x(8 x x (H xY_canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _buf rele _iget L17JL18Z_panic L10002`L19_writei _iput _chdir"~chdiripL20L21L22_access _chmod"~chmodip_owner L23L24_chown""~chown"ipL25L_ssig"P~ssigPaL10003fL27nL26_kill"~killafpqL20001L32L10004L10005L10006 x8 x xHH8H  xH yy8yy yyh_bfreeli _u "_inode _file _bdevsw _nblkdev _cdevsw _nchrdev _fstat"~fstatfpcsv _getf L1_stat1"Lcret _stat""~stat"ip_uchar _namei L2H_iput ~stat1Lipubbpcpi_iupdat _ldiv _bread _lrem L20001_suword L20003_brelse _dup"~dupfpiL10$_ufall_psignal L29_times"~timespL20003_suword _profil",~profil,H_canonb _coremap _swapmap _rootdir _cputype _execnt _lbolt _time _tout _callout x_mount _mpid _runin _runout _runrun _curpri _maxmem _lks _rootdev _swapdev _swplo _nswap _updlock _rablock _regloc _u "_file _inode _read"~readcsv _rdwr" cret _write"~write~rdwroc _smount"(~smount(ipmpdsmp_getmdev"L11L12tL20005hL16L15L20zL10000L10001L19_getblk _bcopy _prele _sumount"4~sumount4ipmpd_update L21L20007PL24\L25nL20009rL28~getmdevipdL30 L31L32sys4.ool . Zw x ww /* * tunable variables */ #define NBUF 15 /* size of buffer cache */ #define NINODE 100 /* number of in core inodes */ #define NFILE 100 /* number of in core file structures */ #define NMOUNT 5 /* number of mountable file systems */ #define NEXEC 3 /* number of simultaneous exec's */ #define MAXMEM (64*32) /* max core per process - first # is Kw */ #define SSIZE 20 /* initial stack size (*64 bytes) */ #define SINCR 20 /* increment of stack (*64 bytes) */ #define NOFILE 15 /* max open files per p fpmodem_getf L3L4@L5lL6d_readp L8_writep L9_readi L10_writei _dpadd _open"~openip_uchar _namei L11_open1"$_creat"~creatipL13L12 _maknode L20003~open1$ipmodefpimtrfripL16rL17L_access L20L21ww 7 ww ğ7 707ww wpw lğ~7 ^ 77wNw JZVuw6w 2j? >w$w ww &%   00ww  3 $ Z E%@ X7    wlw h  E%@{ @& n 7f ww  E8EE4P rocess */ #define CANBSIZ 256 /* max size of typewriter line */ #define CMAPSIZ 100 /* size of core allocation area */ #define SMAPSIZ 100 /* size of swap allocation area */ #define NCALL 20 /* max simultaneous time callouts */ #define NPROC 50 /* max number of processes */ #define NTEXT 40 /* max number of pure texts */ #define NCLIST 100 /* max total clist size */ #define HZ 60 /* Ticks/second of the clock */ /* * priorities * probably should not be * altered too much */ #define PSWP -100 #d_itrunc _prele _falloc _openi L15_iput _close"~closefpL22_closef _seek"L10001.L29L32nL33~seekfpntL23L24L25FL27`L20007x_link"~linkipxpL36DL37L38>L10002_suser L39L400_wdir _mknod"H~mknodHipL42nL44L4ww     ww p%%  ? J!0wfw b 5 n    ,%d7\ & e%L܂ 3ww   e%ww E7 E7wunlink -- iget  I h I   I efine PINOD -90 #define PRIBIO -50 #define PPIPE 1 #define PWAIT 40 #define PSLEP 90 #define PUSER 100 /* * signals * dont change */ #define NSIG 20 #define SIGHUP 1 /* hangup */ #define SIGINT 2 /* interrupt (rubout) */ #define SIGQIT 3 /* quit (FS) */ #define SIGINS 4 /* illegal instruction */ #define SIGTRC 5 /* trace or breakpoint */ #define SIGIOT 6 /* iot */ #define SIGEMT 7 /* emt */ #define SIGFPT 8 /* floating exception */ #define SIGKIL 9 /* kill */ #define SIGBUS 10 /* bus error */ #define SIGSEG 11 /* segmentation violation */ #define SIGSYS 12 /* sys */ #define SIGPIPE 13 /* end of pipe */ /* * fundamental constants * cannot be changed */ #define USIZE 16 /* size of user block (*64) */ #define NULL 0 #define NODEV (-1) #define ROOTINO 1 /* i number of all roots */ #define DIRSIZ 14 /* max characters per directory */ /* * structure to access an * integer in bytes */ struct { char lobyte; char hibyte; }; /* * structure to access an integer */ struct { int integ; ng column of device */ char t_erase; /* erase character */ char t_kill; /* kill character */ char t_state; /* internal state, not visible externally */ char t_char; /* character temporary */ int t_speeds; /* output+input line speed */ int t_dev; /* device name */ }; char partab[]; /* ASCII table: parity, character class */ #define TTIPRI 10 #define TTOPRI 20 #define CERASE '#' /* default special characters */ #define CEOT 004 #define CKILL '@' #define CQUIT 034 /* FS, cntl shift L */ #defineine EEXIST 17 #define EXDEV 18 #define ENODEV 19 #define ENOTDIR 20 #define EISDIR 21 #define EINVAL 22 #define ENFILE 23 #define EMFILE 24 #define ENOTTY 25 #define ETXTBSY 26 #define EFBIG 27 #define ENOSPC 28 #define ESPIPE 29 #define EROFS 30 #define EMLINK 31 #define EPIPE 32 }; /* * Certain processor registers */ #define PS 0177776 #define KL 0177560 #define SW 0177570 CINTR 0177 /* DEL */ /* limits */ #define TTHIWAT 50 #define TTLOWAT 30 #define TTYHOG 256 /* modes */ #define HUPCL 01 #define XTABS 02 #define LCASE 04 #define ECHO 010 #define CRMOD 020 #define RAW 040 #define ODDP 0100 #define EVENP 0200 #define NLDELAY 001400 #define TBDELAY 006000 #define CRDELAY 030000 #define VTDELAY 040000 /* Hardware bits */ #define DONE 0200 #define IENABLE 0100 /* Internal state bits */ #define TIMEOUT 01 /* Delay timeout in progress */ #define WOPEN 02 /* Waiting for op/* * The I node is the focus of all * file activity in unix. There is a unique * inode allocated for each active file, * each current directory, each mounted-on * file, text file, and the root. An inode is 'named' * by its dev/inumber pair. (iget/iget.c) * Data, from mode on, is read in * from permanent inode on volume. */ struct inode { char i_flag; char i_count; /* reference count */ int i_dev; /* device where inode resides */ int i_number; /* i number, 1-to-1 with device address */ int i_m/* * Random set of variables * used by more than one * routine. */ char canonb[CANBSIZ]; /* buffer for erase and kill (#@) */ int coremap[CMAPSIZ]; /* space for core allocation */ int swapmap[SMAPSIZ]; /* space for swap allocation */ int *rootdir; /* pointer to inode of root directory */ int cputype; /* type of cpu =40, 45, or 70 */ int execnt; /* number of processes in exec */ int lbolt; /* time of day in 60th not in time */ int time[2]; /* time in sec from 1970 */ int tout[2]; /* time of day oen to complete */ #define ISOPEN 04 /* Device is open */ #define SSTART 010 /* Has special start routine at addr */ #define CARR_ON 020 /* Software copy of carrier-present */ #define BUSY 040 /* Output in progress */ #define ASLEEP 0100 /* Wakeup when output done */ ode; char i_nlink; /* directory entries */ char i_uid; /* owner */ char i_gid; /* group of owner */ char i_size0; /* most significant of size */ char *i_size1; /* least sig */ int i_addr[8]; /* device addresses constituting file */ int i_lastr; /* last logical block read (for read-ahead) */ } inode[NINODE]; /* flags */ #define ILOCK 01 /* inode is locked */ #define IUPD 02 /* inode has been modified */ #define IACC 04 /* inode access time to be updated */ #define IMOUNT 010 /* inode is mountedf next sleep */ /* * The callout structure is for * a routine arranging * to be called by the clock interrupt * (clock.c) with a specified argument, * in a specified amount of time. * Used, for example, to time tab * delays on teletypes. */ struct callo { int c_time; /* incremental time */ int c_arg; /* argument to routine */ int (*c_func)(); /* routine */ } callout[NCALL]; /* * Mount structure. * One allocated on every mount. * Used to find the super block. */ struct mount { int m_dev; //* * The user structure. * One allocated per process. * Contains all per process data * that doesn't need to be referenced * while the process is swapped. * The user block is USIZE*64 bytes * long; resides at virtual kernel * loc 140000; contains the system * stack per user; is cross referenced * with the proc structure for the * same process. */ struct user { int u_rsav[2]; /* save r5,r6 when exchanging stacks */ int u_fsav[25]; /* save fp registers */ /* rsav and fsav must be first in on */ #define IWANT 020 /* some process waiting on lock */ #define ITEXT 040 /* inode is pure text prototype */ /* modes */ #define IALLOC 0100000 /* file is used */ #define IFMT 060000 /* type of file */ #define IFDIR 040000 /* directory */ #define IFCHR 020000 /* character special */ #define IFBLK 060000 /* block special, 0 is regular */ #define ILARG 010000 /* large addressing algorithm */ #define ISUID 04000 /* set user id on execution */ #define ISGID 02000 /* set group id on execution */ #* device mounted */ int *m_bufp; /* pointer to superblock */ int *m_inodp; /* pointer to mounted on inode */ } mount[NMOUNT]; int mpid; /* generic for unique process id's */ char runin; /* scheduling flag */ char runout; /* scheduling flag */ char runrun; /* scheduling flag */ char curpri; /* more scheduling */ int maxmem; /* actual max memory per process */ int *lks; /* pointer to clock device */ int rootdev; /* dev of root see conf.c */ int swapdev; /* dev of swap see conf.c */ int swplo structure */ char u_segflg; /* flag for IO; user or kernel space */ char u_error; /* return error code */ char u_uid; /* effective user id */ char u_gid; /* effective group id */ char u_ruid; /* real user id */ char u_rgid; /* real group id */ int u_procp; /* pointer to proc structure */ char *u_base; /* base address for IO */ char *u_count; /* bytes remaining for IO */ char *u_offset[2]; /* offset in file for IO */ int *u_cdir; /* pointer to inode of current directory */ char u_define ISVTX 01000 /* save swapped text even after use */ #define IREAD 0400 /* read, write, execute permissions */ #define IWRITE 0200 #define IEXEC 0100 ; /* block number of swap space */ int nswap; /* size of swap space */ int updlock; /* lock for sync */ int rablock; /* block to be read ahead */ char regloc[]; /* locs. of saved user registers (trap.c) */ dbuf[DIRSIZ]; /* current pathname component */ char *u_dirp; /* current pointer to inode */ struct { /* current directory entry */ int u_ino; char u_name[DIRSIZ]; } u_dent; int *u_pdir; /* inode of parent directory of dirp */ int u_uisa[16]; /* prototype of segmentation addresses */ int u_uisd[16]; /* prototype of segmentation descriptors */ int u_ofile[NOFILE]; /* pointers to file structures of open files */ int u_arg[5]; /* arguments to current system call */ int u_tsize; /* text siz/* * One file structure is allocated * for each open/creat/pipe call. * Main use is to hold the read/write * pointer associated with each open * file. */ struct file { char f_flag; char f_count; /* reference count */ int f_inode; /* pointer to inode structure */ char *f_offset[2]; /* read/write character pointer */ } file[NFILE]; /* flags */ #define FREAD 01 #define FWRITE 02 #define FPIPE 04 /* * A clist structure is the head * of a linked list queue of characters. * The characters are stored in 4-word * blocks containing a link and 6 characters. * The routines getc and putc (m45.s or m40.s) * manipulate these structures. */ struct clist { int c_cc; /* character count */ int c_cf; /* pointer to first block */ int c_cl; /* pointer to last block */ }; /* * A tty structure is needed for * each UNIX character device that * is used for normal terminal IO. * The routines in tty.c hae (*64) */ int u_dsize; /* data size (*64) */ int u_ssize; /* stack size (*64) */ int u_sep; /* flag for I and D separation */ int u_qsav[2]; /* label variable for quits and interrupts */ int u_ssav[2]; /* label variable for swapping */ int u_signal[NSIG]; /* disposition of signals */ int u_utime; /* this process user time */ int u_stime; /* this process system time */ int u_cutime[2]; /* sum of childs' utimes */ int u_cstime[2]; /* sum of childs' stimes */ int *u_ar0; /* address of /* * One structure allocated per active * process. It contains all data needed * about the process while the * process may be swapped out. * Other per process data (user.h) * is swapped with the process. */ struct proc { char p_stat; char p_flag; char p_pri; /* priority, negative is high */ char p_sig; /* signal number sent to this process */ char p_uid; /* user id, used to direct tty signals */ char p_time; /* resident time for scheduling */ char p_cpu; /* cpu usage for scheduling */ chndle the * common code associated with * these structures. * The definition and device dependent * code is in each driver. (kl.c dc.c dh.c) */ struct tty { struct clist t_rawq; /* input chars right off device */ struct clist t_canq; /* input chars after erase and kill */ struct clist t_outq; /* output list to device */ int t_flags; /* mode, settable by stty call */ int *t_addr; /* device address (register or startup fcn) */ char t_delct; /* number of delimiters in raw q */ char t_col; /* printiusers saved R0 */ int u_prof[4]; /* profile arguments */ char u_intflg; /* catch intr from sys */ /* kernel stack per user * extends from u + USIZE*64 * backward not to reach here */ } u; /* u_error codes */ #define EFAULT 106 #define EPERM 1 #define ENOENT 2 #define ESRCH 3 #define EINTR 4 #define EIO 5 #define ENXIO 6 #define E2BIG 7 #define ENOEXEC 8 #define EBADF 9 #define ECHILD 10 #define EAGAIN 11 #define ENOMEM 12 #define EACCES 13 #define ENOTBLK 15 #define EBUSY 16 #defar p_nice; /* nice for scheduling */ int p_ttyp; /* controlling tty */ int p_pid; /* unique process id */ int p_ppid; /* process id of parent */ int p_addr; /* address of swappable image */ int p_size; /* size of swappable image (*64 bytes) */ int p_wchan; /* event process is awaiting */ int *p_textp; /* pointer to text structure */ } proc[NPROC]; /* stat codes */ #define SSLEEP 1 /* sleeping on high priority */ #define SWAIT 2 /* sleeping on low priority */ #define SRUN 3 /* running */ #define SIDL 4 /* intermediate state in process creation */ #define SZOMB 5 /* intermediate state in process termination */ #define SSTOP 6 /* process being traced */ /* flag codes */ #define SLOAD 01 /* in core */ #define SSYS 02 /* scheduling process */ #define SLOCK 04 /* process cannot be swapped */ #define SSWAP 010 /* process is being swapped out */ #define STRC 020 /* process is being traced */ #define SWTED 040 /* another tracing flag */ */ u.u_prof[3] = (u.u_arg[3]>>1) & 077777; /* pc scale */ } # /* */ #include "../param.h" #include "../conf.h" #include "../inode.h" #include "../user.h" #include "../buf.h" #include "../systm.h" /* * Bmap defines the structure of file system storage * by returning the physical block number on a device given the * inode and the logical block number in a file. * When convenient, it also leaves the physical * block number of the next block of the file in rablock * for use in read-ahead. */ bmap(ip, bn) struct inode *ip; int bn; { register *bp, *bap, nb; in# /* */ /* * Everything in this file is a routine implementing a system call. */ #include "../param.h" #include "../user.h" #include "../reg.h" #include "../inode.h" #include "../systm.h" #include "../proc.h" getswit() { u.u_ar0[R0] = SW->integ; } gtime() { u.u_ar0[R0] = time[0]; u.u_ar0[R1] = time[1]; } stime() { if(suser()) { time[0] = u.u_ar0[R0]; time[1] = u.u_ar0[R1]; wakeup(tout); } } setuid() { register uid; uid = u.u_ar0[R0].lobyte; if(u.u_ruid == uid.lobyte || suser()) { # /* */ #include "../param.h" #include "../systm.h" #include "../user.h" #include "../proc.h" #include "../text.h" #include "../inode.h" /* * Swap out process p. * The ff flag causes its core to be freed-- * it may be off when called to create an image for a * child process in newproc. * Os is the old size of the data area of the process, * and is supplied during core expansion swaps. * * panic: out of swap space * panic: swap error -- IO error */ xswap(p, ff, os) int *p; { register *rp, a; t *nbp, d, i; d = ip->i_dev; if(bn & ~077777) { u.u_error = EFBIG; return(0); } if((ip->i_mode&ILARG) == 0) { /* * small file algorithm */ if((bn & ~7) != 0) { /* * convert small to large */ if ((bp = alloc(d)) == NULL) return(NULL); bap = bp->b_addr; for(i=0; i<8; i++) { *bap++ = ip->i_addr[i]; ip->i_addr[i] = 0; } ip->i_addr[0] = bp->b_blkno; bdwrite(bp); ip->i_mode =| ILARG; goto large; } nb = ip->i_addr[bn]; if(nb == 0 && (bp = u.u_uid = uid; u.u_procp->p_uid = uid; u.u_ruid = uid; } } getuid() { u.u_ar0[R0].lobyte = u.u_ruid; u.u_ar0[R0].hibyte = u.u_uid; } setgid() { register gid; gid = u.u_ar0[R0].lobyte; if(u.u_rgid == gid.lobyte || suser()) { u.u_gid = gid; u.u_rgid = gid; } } getgid() { u.u_ar0[R0].lobyte = u.u_rgid; u.u_ar0[R0].hibyte = u.u_gid; } getpid() { u.u_ar0[R0] = u.u_procp->p_pid; } sync() { update(); } nice() { register n; n = u.u_ar0[R0]; if(n > 20) n = 20; if(n < 0 && !suserrp = p; if(os == 0) os = rp->p_size; a = malloc(swapmap, (rp->p_size+7)/8); if(a == NULL) panic("out of swap space"); xccdec(rp->p_textp); rp->p_flag =| SLOCK; if(swap(a, rp->p_addr, os, 0)) panic("swap error"); if(ff) mfree(coremap, os, rp->p_addr); rp->p_addr = a; rp->p_flag =& ~(SLOAD|SLOCK); rp->p_time = 0; if(runout) { runout = 0; wakeup(&runout); } } /* * relinquish use of the shared text segment * of a process. */ xfree() { register *xp, *ip; if((xp=u.u_procp->p_textp) alloc(d)) != NULL) { bdwrite(bp); nb = bp->b_blkno; ip->i_addr[bn] = nb; ip->i_flag =| IUPD; } rablock = 0; if (bn<7) rablock = ip->i_addr[bn+1]; return(nb); } /* * large file algorithm */ large: i = bn>>8; if(bn & 0174000) i = 7; if((nb=ip->i_addr[i]) == 0) { ip->i_flag =| IUPD; if ((bp = alloc(d)) == NULL) return(NULL); ip->i_addr[i] = bp->b_blkno; } else bp = bread(d, nb); bap = bp->b_addr; /* * "huge" fetch of double indirect block */ if(i ==()) n = 0; u.u_procp->p_nice = n; } /* * Unlink system call. * panic: unlink -- "cannot happen" */ unlink() { register *ip, *pp; extern uchar; pp = namei(&uchar, 2); if(pp == NULL) return; prele(pp); ip = iget(pp->i_dev, u.u_dent.u_ino); if(ip == NULL) panic("unlink -- iget"); if((ip->i_mode&IFMT)==IFDIR && !suser()) goto out; u.u_offset[1] =- DIRSIZ+2; u.u_base = &u.u_dent; u.u_count = DIRSIZ+2; u.u_dent.u_ino = 0; writei(pp); ip->i_nlink--; ip->i_flag =| IUPD; out: iput(pp);!= NULL) { u.u_procp->p_textp = NULL; xccdec(xp); if(--xp->x_count == 0) { ip = xp->x_iptr; if((ip->i_mode&ISVTX) == 0) { xp->x_iptr = NULL; mfree(swapmap, (xp->x_size+7)/8, xp->x_daddr); ip->i_flag =& ~ITEXT; iput(ip); } } } } /* * Attach to a shared text segment. * If there is no shared text, just return. * If there is, hook up to it: * if it is not currently being used, it has to be read * in from the inode (ip) and established in the swap space. * If it is being 7) { i = ((bn>>8) & 0377) - 7; if((nb=bap[i]) == 0) { if((nbp = alloc(d)) == NULL) { brelse(bp); return(NULL); } bap[i] = nbp->b_blkno; bdwrite(bp); } else { brelse(bp); nbp = bread(d, nb); } bp = nbp; bap = bp->b_addr; } /* * normal indirect fetch */ i = bn & 0377; if((nb=bap[i]) == 0 && (nbp = alloc(d)) != NULL) { nb = nbp->b_blkno; bap[i] = nb; bdwrite(nbp); bdwrite(bp); } else brelse(bp); rablock = 0; if(i < 255) rablock = bap[i+1]; return iput(ip); } chdir() { register *ip; extern uchar; ip = namei(&uchar, 0); if(ip == NULL) return; if((ip->i_mode&IFMT) != IFDIR) { u.u_error = ENOTDIR; bad: iput(ip); return; } if(access(ip, IEXEC)) goto bad; iput(u.u_cdir); u.u_cdir = ip; prele(ip); } chmod() { register *ip; if ((ip = owner()) == NULL) return; ip->i_mode =& ~07777; if (u.u_uid) u.u_arg[1] =& ~ISVTX; ip->i_mode =| u.u_arg[1]&07777; ip->i_flag =| IUPD; iput(ip); } chown() { register *ip; if (!suser() |used, but is not currently in core, * a swap has to be done to get it back. * The full coroutine glory has to be invoked-- * see slp.c-- because if the calling process * is misplaced in core the text image might not fit. * Quite possibly the code after "out:" could check to * see if the text does fit and simply swap it in. * * panic: out of swap space */ xalloc(ip) int *ip; { register struct text *xp; register *rp, ts; if(u.u_arg[1] == 0) return; rp = NULL; for(xp = &text[0]; xp < &text[NTE(nb); } /* * Pass back c to the user at his location u_base; * update u_base, u_count, and u_offset. Return -1 * on the last character of the user's read. * u_base is in the user address space unless u_segflg is set. */ passc(c) char c; { if(u.u_segflg) *u.u_base = c; else if(subyte(u.u_base, c) < 0) { u.u_error = EFAULT; return(-1); } u.u_count--; if(++u.u_offset[1] == 0) u.u_offset[0]++; u.u_base++; return(u.u_count == 0? -1: 0); } /* * Pick up and return the next character | (ip = owner()) == NULL) return; ip->i_uid = u.u_arg[1].lobyte; ip->i_gid = u.u_arg[1].hibyte; ip->i_flag =| IUPD; iput(ip); } /* * Change modified date of file: * time to r0-r1; sys smdate; file * This call has been withdrawn because it messes up * incremental dumps (pseudo-old files aren't dumped). * It works though and you can uncomment it if you like. smdate() { register struct inode *ip; register int *tp; int tbuf[2]; if ((ip = owner()) == NULL) return; ip->i_flag =| IUPD; tp = &XT]; xp++) if(xp->x_iptr == NULL) { if(rp == NULL) rp = xp; } else if(xp->x_iptr == ip) { xp->x_count++; u.u_procp->p_textp = xp; goto out; } if((xp=rp) == NULL) panic("out of text"); xp->x_count = 1; xp->x_ccount = 0; xp->x_iptr = ip; ts = ((u.u_arg[1]+63)>>6) & 01777; xp->x_size = ts; if((xp->x_daddr = malloc(swapmap, (ts+7)/8)) == NULL) panic("out of swap space"); expand(USIZE+ts); estabur(0, ts, 0, 0); u.u_count = u.u_arg[1]; u.u_offset[1] = 020; u.u_base = 0from the user's * write call at location u_base; * update u_base, u_count, and u_offset. Return -1 * when u_count is exhausted. u_base is in the user's * address space unless u_segflg is set. */ cpass() { register c; if(u.u_count == 0) return(-1); if(u.u_segflg) c = *u.u_base; else if((c=fubyte(u.u_base)) < 0) { u.u_error = EFAULT; return(-1); } u.u_count--; if(++u.u_offset[1] == 0) u.u_offset[0]++; u.u_base++; return(c&0377); } /* * Routine which sets a user error; placed itbuf[2]; *--tp = u.u_ar0[R1]; *--tp = u.u_ar0[R0]; iupdat(ip, tp); ip->i_flag =& ~IUPD; iput(ip); } */ ssig() { register a; a = u.u_arg[0]; if(a<=0 || a>=NSIG || a ==SIGKIL) { u.u_error = EINVAL; return; } u.u_ar0[R0] = u.u_signal[a]; u.u_signal[a] = u.u_arg[1]; if(u.u_procp->p_sig == a) u.u_procp->p_sig = 0; } kill() { register struct proc *p, *q; register a; int f; f = 0; a = u.u_ar0[R0]; q = u.u_procp; for(p = &proc[0]; p < &proc[NPROC]; p++) { if(p == q) continue; if(; readi(ip); rp = u.u_procp; rp->p_flag =| SLOCK; swap(xp->x_daddr, rp->p_addr+USIZE, ts, 0); rp->p_flag =& ~SLOCK; rp->p_textp = xp; rp = ip; rp->i_flag =| ITEXT; rp->i_count++; expand(USIZE); out: if(xp->x_ccount == 0) { savu(u.u_rsav); savu(u.u_ssav); xswap(u.u_procp, 1, 0); u.u_procp->p_flag =| SSWAP; swtch(); /* no return */ } xp->x_ccount++; } /* * Decrement the in-core usage count of a shared text segment. * When it drops to zero, free the core space. */ xccdec(xp) int *n * illegal entries in the bdevsw and cdevsw tables. */ nodev() { u.u_error = ENODEV; } /* * Null routine; placed in insignificant entries * in the bdevsw and cdevsw tables. */ nulldev() { } /* * copy count words from from to to. */ bcopy(from, to, count) int *from, *to; { register *a, *b, c; a = from; b = to; c = count; do *b++ = *a++; while(--c); } a != 0 && p->p_pid != a) continue; if(a == 0 && (p->p_ttyp != q->p_ttyp || p <= &proc[1])) continue; if(u.u_uid != 0 && u.u_uid != p->p_uid) continue; f++; psignal(p, u.u_arg[0]); } if(f == 0) u.u_error = ESRCH; } times() { register *p; for(p = &u.u_utime; p < &u.u_utime+6;) { suword(u.u_arg[0], *p++); u.u_arg[0] =+ 2; } } profil() { u.u_prof[0] = u.u_arg[0] & ~1; /* base of sample buf */ u.u_prof[1] = u.u_arg[1]; /* size of same */ u.u_prof[2] = u.u_arg[2]; /* pc offset xp; { register *rp; if((rp=xp)!=NULL && rp->x_ccount!=0) if(--rp->x_ccount == 0) mfree(coremap, rp->x_size, rp->x_caddr); } # /* */ #include "../param.h" #include "../seg.h" #include "../buf.h" #include "../conf.h" /* * Address and structure of the * KL-11 console device registers. */ struct { int rsr; int rbr; int xsr; int xbr; }; /* * In case console is off, * panicstr contains argument to last * call to panic. */ char *panicstr; /* * Scaled down version of C Library printf. * Only %s %l %d (==%l) %o are recognized. * Used to print diagnostic information * directly on console tty. * Since it is not interrupt driven, * all system activities are pretty much * suspended. * Printf should not be used for chit-chat. */ printf(fmt,x1,x2,x3,x4,x5,x6,x7,x8,x9,xa,xb,xc) char fmt[]; { register char *s; register *adx, c; adx = &x1; loop: while((c = *fmt++) != '%') { if(c == '\0') return; putchar(c); } c = *fmt++; if(c == 'd' || c == 'l' || c == 'o') printn(*adx, c=='o'? 8: 10); if(c == 's') { s = *adx; while(c = *s++) putchar(c); } adx++; goto loop; } /* * Print an unsigned integer in * address_of_saved_ps - 2; */ default: printf("ka6 = %o\n", *ka6); printf("aps = %o\n", &ps); printf("trap type %o\n", dev); panic("trap"); case 0+USER: /* bus error */ i = SIGBUS; break; /* * If illegal instructions are not * being caught and the offending instruction * is a SETD, the trap is ignored. * This is because C produces a SETD at * the beginning of every program which * will trap on CPUs without 11/45 FPU. */ case 1+USER: /* illegal instruction */ if(fuiworbread(rootdev, 1); cp = getblk(NODEV); if(u.u_error) panic("iinit"); bcopy(bp->b_addr, cp->b_addr, 256); brelse(bp); mount[0].m_bufp = cp; mount[0].m_dev = rootdev; cp = cp->b_addr; cp->s_flock = 0; cp->s_ilock = 0; cp->s_ronly = 0; time[0] = cp->s_time[0]; time[1] = cp->s_time[1]; } /* * alloc will obtain the next available * free disk block from the free list of * the specified device. * The super block has up to 100 remembered * free blocks; the last of these is read to * obtain 100 base b. */ printn(n, b) { register a; if(a = ldiv(n, b)) printn(a, b); putchar(lrem(n, b) + '0'); } /* * Print a character on console. * Attempts to save and restore device * status. * If the switches are 0, all * printing is inhibited. */ putchar(c) { register rc, s; rc = c; if(SW->integ == 0) return; while((KL->xsr&0200) == 0) ; if(rc == 0) return; s = KL->xsr; KL->xsr = 0; KL->xbr = rc; if(rc == '\n') { putchar('\r'); putchar(0177); putchar(0177); } putchar(0); KL->d(pc-2) == SETD && u.u_signal[SIGINS] == 0) goto out; i = SIGINS; break; case 2+USER: /* bpt or trace */ i = SIGTRC; break; case 3+USER: /* iot */ i = SIGIOT; break; case 5+USER: /* emt */ i = SIGEMT; break; case 6+USER: /* sys call */ u.u_error = 0; ps =& ~EBIT; callp = &sysent[fuiword(pc-2)&077]; if (callp == sysent) { /* indirect */ a = fuiword(pc); pc =+ 2; i = fuword(a); if ((i & ~077) != SYS) i = 077; /* illegal */ callp = &sysent[i&077]; for(i=more . . . * * no space on dev x/y -- when * the free list is exhausted. */ alloc(dev) { int bno; register *bp, *ip, *fp; fp = getfs(dev); while(fp->s_flock) sleep(&fp->s_flock, PINOD); do { if(fp->s_nfree <= 0) goto nospace; bno = fp->s_free[--fp->s_nfree]; if(bno == 0) goto nospace; } while (badblock(fp, bno, dev)); if(fp->s_nfree <= 0) { fp->s_flock++; bp = bread(dev, bno); ip = bp->b_addr; fp->s_nfree = *ip++; bcopy(ip, fp->s_free, 100); brelse(bp); fp->s_flock = xsr = s; } /* * Panic is called on unresolvable * fatal errors. * It syncs, prints "panic: mesg" and * then loops. */ panic(s) char *s; { panicstr = s; update(); printf("panic: %s\n", s); for(;;) idle(); } /* * prdev prints a warning message of the * form "mesg on dev x/y". * x and y are the major and minor parts of * the device argument. */ prdev(str, dev) { printf("%s on dev %l/%l\n", str, dev.d_major, dev.d_minor); } /* * deverr prints a diagnostic from * a device driver. * It pri0; icount; i++) u.u_arg[i] = fuword(a =+ 2); } else { for(i=0; icount; i++) { u.u_arg[i] = fuiword(pc); pc =+ 2; } } u.u_dirp = u.u_arg[0]; trap1(callp->call); if(u.u_intflg) u.u_error = EINTR; if(u.u_error < 100) { if(u.u_error) { ps =| EBIT; r0 = u.u_error; } goto out; } i = SIGSYS; break; /* * Since the floating exception is an * imprecise trap, a user generated * trap may actually come from kernel * mode. In this case, a s0; wakeup(&fp->s_flock); } bp = getblk(dev, bno); clrbuf(bp); fp->s_fmod = 1; return(bp); nospace: fp->s_nfree = 0; prdev("no space", dev); u.u_error = ENOSPC; return(NULL); } /* * place the specified disk block * back on the free list of the * specified device. */ free(dev, bno) { register *fp, *bp, *ip; fp = getfs(dev); fp->s_fmod = 1; while(fp->s_flock) sleep(&fp->s_flock, PINOD); if (badblock(fp, bno, dev)) return; if(fp->s_nfree <= 0) { fp->s_nfree = 1; fp->s_free[0] = 0nts the device, block number, * and an octal word (usually some error * status register) passed as argument. */ deverror(bp, o1, o2) int *bp; { register *rbp; rbp = bp; prdev("err", rbp->b_dev); printf("bn%l er%o %o\n", rbp->b_blkno, o1, o2); } ignal is sent * to the current process to be picked * up later. */ case 8: /* floating exception */ psignal(u.u_procp, SIGFPT); return; case 8+USER: i = SIGFPT; break; /* * If the user SP is below the stack segment, * grow the stack automatically. * This relies on the ability of the hardware * to restart a half executed instruction. * On the 11/40 this is not the case and * the routine backup/l40.s may fail. * The classic example is on the instruction * cmp -(sp),-(sp) *; } if(fp->s_nfree >= 100) { fp->s_flock++; bp = getblk(dev, bno); ip = bp->b_addr; *ip++ = fp->s_nfree; bcopy(fp->s_free, ip, 100); fp->s_nfree = 0; bwrite(bp); fp->s_flock = 0; wakeup(&fp->s_flock); } fp->s_free[fp->s_nfree++] = bno; fp->s_fmod = 1; } /* * Check that a block number is in the * range between the I list and the size * of the device. * This is used mainly to check that a * garbage file system has not been mounted. * * bad block on dev x/y -- not in range */ ba/ case 9+USER: /* segmentation exception */ a = sp; if(backup(u.u_ar0) == 0) if(grow(a)) goto out; i = SIGSEG; break; } psignal(u.u_procp, i); out: if(issig()) psig(); setpri(u.u_procp); } /* * Call the system-entry routine f (out of the * sysent table). This is a subroutine for trap, and * not in-line, because if a signal occurs * during processing, an (abnormal) return is simulated from * the last caller to savu(qsav); if this took place * inside of trap, it wouldn't have a chadblock(afp, abn, dev) { register struct filsys *fp; register char *bn; fp = afp; bn = abn; if (bn < fp->s_isize+2 || bn >= fp->s_fsize) { prdev("bad block", dev); return(1); } return(0); } /* * Allocate an unused I node * on the specified device. * Used with file creation. * The algorithm keeps up to * 100 spare I nodes in the * super block. When this runs out, * a linear search through the * I list is instituted to pick * up 100 more. */ ialloc(dev) { register *fp, *bp, *ip; int i,# #include "../param.h" #include "../systm.h" #include "../user.h" #include "../proc.h" #include "../reg.h" #include "../seg.h" #define EBIT 1 /* user error bit in PS: C-bit */ #define UMODE 0170000 /* user-mode bits in PS word */ #define SETD 0170011 /* SETD instruction */ #define SYS 0104400 /* sys (trap) instruction */ #define USER 020 /* user-mode flag added to dev */ /* * structure of the system entry table (sysent.c) */ struct sysent { int count; /* argument count */ int (*call)(); /* namence to clean up. * * If this occurs, the return takes place without * clearing u_intflg; if it's still set, trap * marks an error which means that a system * call (like read on a typewriter) got interrupted * by a signal. */ trap1(f) int (*f)(); { u.u_intflg = 1; savu(u.u_qsav); (*f)(); u.u_intflg = 0; } /* * nonexistent system call-- set fatal error code. */ nosys() { u.u_error = 100; } /* * Ignored system call */ nullsys() { } j, k, ino; fp = getfs(dev); while(fp->s_ilock) sleep(&fp->s_ilock, PINOD); loop: if(fp->s_ninode > 0) { ino = fp->s_inode[--fp->s_ninode]; ip = iget(dev, ino); if (ip==NULL) return(NULL); if(ip->i_mode == 0) { for(bp = &ip->i_mode; bp < &ip->i_addr[8];) *bp++ = 0; fp->s_fmod = 1; return(ip); } /* * Inode was allocated after all. * Look some more. */ iput(ip); goto loop; } fp->s_ilock++; ino = 0; for(i=0; is_isize; i++) { bp = bread(dev, i+2); ip = of handler */ } sysent[64]; /* * Offsets of the user's registers relative to * the saved r0. See reg.h */ char regloc[9] { R0, R1, R2, R3, R4, R5, R6, R7, RPS }; /* * Called from l40.s or l45.s when a processor trap occurs. * The arguments are the words saved on the system stack * by the hardware and software during the trap processing. * Their order is dictated by the hardware and the details * of C's calling sequence. They are peculiar in that * this call is not 'by value' and changed user re bp->b_addr; for(j=0; j<256; j=+16) { ino++; if(ip[j] != 0) continue; for(k=0; ks_inode[fp->s_ninode++] = ino; if(fp->s_ninode >= 100) break; cont:; } brelse(bp); if(fp->s_ninode >= 100) break; } fp->s_ilock = 0; wakeup(&fp->s_ilock); if (fp->s_ninode > 0) goto loop; prdev("Out of inodes", dev); u.u_error = ENOSPC; return(NULL); } /* * Free the specified I node * on the specigisters * get copied back on return. * dev is the kind of trap that occurred. */ trap(dev, sp, r1, nps, r0, pc, ps) { register i, a; register struct sysent *callp; savfp(); if ((ps&UMODE) == UMODE) dev =| USER; u.u_ar0 = &r0; switch(dev) { /* * Trap not expected. * Usually a kernel mode bus error. * The numbers printed are used to * find the hardware PS/PC as follows. * (all numbers in octal 18 bits) * address_of_saved_ps = * (ka6*0100) + aps - 0140000; * address_of_saved_pc =# /* */ #include "../param.h" #include "../systm.h" #include "../filsys.h" #include "../conf.h" #include "../buf.h" #include "../inode.h" #include "../user.h" /* * iinit is called once (from main) * very early in initialization. * It reads the root's super block * and initializes the current date * from the last modified date. * * panic: iinit -- cannot read the super * block. Usually because of an IO error. */ iinit() { register *cp, *bp; (*bdevsw[rootdev.d_major].d_open)(rootdev, 1); bp = fied device. * The algorithm stores up * to 100 I nodes in the super * block and throws away any more. */ ifree(dev, ino) { register *fp; fp = getfs(dev); if(fp->s_ilock) return; if(fp->s_ninode >= 100) return; fp->s_inode[fp->s_ninode++] = ino; fp->s_fmod = 1; } /* * getfs maps a device number into * a pointer to the incore super * block. * The algorithm is a linear * search through the mount table. * A consistency check of the * in core free-block and i-node * counts. * * bad count on dev x/y -- the count * check failed. At this point, all * the counts are zeroed which will * almost certainly lead to "no space" * diagnostic * panic: no fs -- the device is not mounted. * this "cannot happen" */ getfs(dev) { register struct mount *p; register char *n1, *n2; for(p = &mount[0]; p < &mount[NMOUNT]; p++) if(p->m_bufp != NULL && p->m_dev == dev) { p = p->m_bufp->b_addr; n1 = p->s_nfree; n2 = p->s_ninode; if(n1 > 100 || n2 > 100) { prdev("bad count", dev); p->s_nf ~IMOUNT; iput(ip); ip = mp->m_bufp; mp->m_bufp = NULL; brelse(ip); } /* * Common code for mount and umount. * Check that the user's argument is a reasonable * thing on which to mount, and return the device number if so. */ getmdev() { register d, *ip; extern uchar; ip = namei(&uchar, 0); if(ip == NULL) return; if((ip->i_mode&IFMT) != IFBLK) u.u_error = ENOTBLK; d = ip->i_addr[0]; if(ip->i_addr[0].d_major >= nblkdev) u.u_error = ENXIO; iput(ip); return(d); } re"; ip = namei(&schar, 1); if(ip == NULL) { if(u.u_error) return(0); ip = maknode(0666); if(ip == NULL) return(0); } if(!access(ip, IWRITE) && (ip->i_mode&IFMT) == 0 && u.u_uid == u.u_ruid) { itrunc(ip); u.u_offset[0] = 0; u.u_offset[1] = 0; u.u_base = &u; u.u_count = USIZE*64; u.u_segflg = 1; writei(ip); s = u.u_procp->p_size - USIZE; estabur(0, s, 0, 0); u.u_base = 0; u.u_count = s*64; u.u_segflg = 0; writei(ip); } iput(ip); return(u.u_error==0); } /*ree = 0; p->s_ninode = 0; } return(p); } panic("no fs"); } /* * update is the internal name of * 'sync'. It goes through the disk * queues to initiate sandbagged IO; * goes through the I nodes to write * modified nodes; and it goes through * the mount table to initiate modified * super blocks. */ update() { register struct inode *ip; register struct mount *mp; register *bp; if(updlock) return; updlock++; for(mp = &mount[0]; mp < &mount[NMOUNT]; mp++) if(mp->m_bufp != NULL) {  * grow the stack to include the SP * true return if successful. */ grow(sp) char *sp; { register a, si, i; if(sp >= -u.u_ssize*64) return(0); si = ldiv(-sp, 64) - u.u_ssize + SINCR; if(si <= 0) return(0); if(estabur(u.u_tsize, u.u_dsize, u.u_ssize+si, u.u_sep)) return(0); expand(u.u_procp->p_size+si); a = u.u_procp->p_addr + u.u_procp->p_size; for(i=u.u_ssize; i; i--) { a--; copyseg(a-si, a); } for(i=si; i; i--) clearseg(--a); u.u_ssize =+ si; return(1); } /* * sys-trace systip = mp->m_bufp->b_addr; if(ip->s_fmod==0 || ip->s_ilock!=0 || ip->s_flock!=0 || ip->s_ronly!=0) continue; bp = getblk(mp->m_dev, 1); ip->s_fmod = 0; ip->s_time[0] = time[0]; ip->s_time[1] = time[1]; bcopy(ip, bp->b_addr, 256); bwrite(bp); } for(ip = &inode[0]; ip < &inode[NINODE]; ip++) if((ip->i_flag&ILOCK) == 0) { ip->i_flag =| ILOCK; iupdat(ip, time); prele(ip); } updlock = 0; bflush(NODEV); } # /* */ #include "../param.h" #include "../systm.h" #include "../user.h" #include "../proc.h" #include "../inode.h" #include "../reg.h" /* * Priority for tracing */ #define IPCPRI (-1) /* * Structure to access an array of integers. */ struct { int inta[]; }; /* * Tracing variables. * Used to pass trace command from * parent to child being traced. * This data base cannot be * shared and is locked * per user. */ struct { int ip_lock; int ip_req; int ip_addr; int ip_data; } ipc; /* * Senem call. */ ptrace() { register struct proc *p; if (u.u_arg[2] <= 0) { u.u_procp->p_flag =| STRC; return; } for (p=proc; p < &proc[NPROC]; p++) if (p->p_stat==SSTOP && p->p_pid==u.u_arg[0] && p->p_ppid==u.u_procp->p_pid) goto found; u.u_error = ESRCH; return; found: while (ipc.ip_lock) sleep(&ipc, IPCPRI); ipc.ip_lock = p->p_pid; ipc.ip_data = u.u_ar0[R0]; ipc.ip_addr = u.u_arg[1] & ~01; ipc.ip_req = u.u_arg[2]; p->p_flag =& ~SWTED; setrun(p); while (ipc.ip_req > 0) # /* */ #include "../param.h" #include "../systm.h" #include "../reg.h" #include "../buf.h" #include "../filsys.h" #include "../user.h" #include "../inode.h" #include "../file.h" #include "../conf.h" /* * the fstat system call. */ fstat() { register *fp; fp = getf(u.u_ar0[R0]); if(fp == NULL) return; stat1(fp->f_inode, u.u_arg[0]); } /* * the stat system call. */ stat() { register ip; extern uchar; ip = namei(&uchar, 0); if(ip == NULL) return; stat1(ip, u.u_arg[1]); iput(ip); } /* d the specified signal to * all processes with 'tp' as its * controlling teletype. * Called by tty.c for quits and * interrupts. */ signal(tp, sig) { register struct proc *p; for(p = &proc[0]; p < &proc[NPROC]; p++) if(p->p_ttyp == tp) psignal(p, sig); } /* * Send the specified signal to * the specified process. */ psignal(p, sig) int *p; { register *rp; if(sig >= NSIG) return; rp = p; if(rp->p_sig != SIGKIL) rp->p_sig = sig; if(rp->p_stat > PUSER) rp->p_stat = PUSER; if(rp->p_sleep(&ipc, IPCPRI); u.u_ar0[R0] = ipc.ip_data; if (ipc.ip_req < 0) u.u_error = EIO; ipc.ip_lock = 0; wakeup(&ipc); } /* * Code that the child process * executes to implement the command * of the parent process in tracing. */ procxmt() { register int i; register int *p; if (ipc.ip_lock != u.u_procp->p_pid) return(0); i = ipc.ip_req; ipc.ip_req = 0; wakeup(&ipc); switch (i) { /* read user I */ case 1: if (fuibyte(ipc.ip_addr) == -1) goto error; ipc.ip_data = fuiword(ipc.ip_addr* The basic routine for fstat and stat: * get the inode and pass appropriate parts back. */ stat1(ip, ub) int *ip; { register i, *bp, *cp; iupdat(ip, time); bp = bread(ip->i_dev, ldiv(ip->i_number+31, 16)); cp = bp->b_addr + 32*lrem(ip->i_number+31, 16) + 24; ip = &(ip->i_dev); for(i=0; i<14; i++) { suword(ub, *ip++); ub =+ 2; } for(i=0; i<4; i++) { suword(ub, *cp++); ub =+ 2; } brelse(bp); } /* * the dup system call. */ dup() { register i, *fp; fp = getf(u.u_ar0[R0]); if(fp == Nstat == SWAIT) setrun(rp); } /* * Returns true if the current * process has a signal to process. * This is asked at least once * each time a process enters the * system. * A signal does not do anything * directly to a process; it sets * a flag that asks the process to * do something to itself. */ issig() { register n; register struct proc *p; p = u.u_procp; if(n = p->p_sig) { if (p->p_flag&STRC) { stop(); if ((n = p->p_sig) == 0) return(0); } if((u.u_signal[n]&1) == 0) r); break; /* read user D */ case 2: if (fubyte(ipc.ip_addr) == -1) goto error; ipc.ip_data = fuword(ipc.ip_addr); break; /* read u */ case 3: i = ipc.ip_addr; if (i<0 || i >= (USIZE<<6)) goto error; ipc.ip_data = u.inta[i>>1]; break; /* write user I (for now, always an error) */ case 4: if (suiword(ipc.ip_addr, 0) < 0) goto error; suiword(ipc.ip_addr, ipc.ip_data); break; /* write user D */ case 5: if (suword(ipc.ip_addr, 0) < 0) goto error; suword(ipc.ip_adULL) return; if ((i = ufalloc()) < 0) return; u.u_ofile[i] = fp; fp->f_count++; } /* * the mount system call. */ smount() { int d; register *ip; register struct mount *mp, *smp; extern uchar; d = getmdev(); if(u.u_error) return; u.u_dirp = u.u_arg[1]; ip = namei(&uchar, 0); if(ip == NULL) return; if(ip->i_count!=1 || (ip->i_mode&(IFBLK&IFCHR))!=0) goto out; smp = NULL; for(mp = &mount[0]; mp < &mount[NMOUNT]; mp++) { if(mp->m_bufp != NULL) { if(d == mp->m_dev) goto out;eturn(n); } return(0); } /* * Enter the tracing STOP state. * In this state, the parent is * informed and the process is able to * receive commands from the parent. */ stop() { register struct proc *pp, *cp; loop: cp = u.u_procp; if(cp->p_ppid != 1) for (pp = &proc[0]; pp < &proc[NPROC]; pp++) if (pp->p_pid == cp->p_ppid) { wakeup(pp); cp->p_stat = SSTOP; swtch(); if ((cp->p_flag&STRC)==0 || procxmt()) return; goto loop; } exit(); } /* * Perform the action specified bydr, ipc.ip_data); break; /* write u */ case 6: p = &u.inta[ipc.ip_addr>>1]; if (p >= u.u_fsav && p < &u.u_fsav[25]) goto ok; for (i=0; i<9; i++) if (p == &u.u_ar0[regloc[i]]) goto ok; goto error; ok: if (p == &u.u_ar0[RPS]) { ipc.ip_data =| 0170000; /* assure user space */ ipc.ip_data =& ~0340; /* priority 0 */ } *p = ipc.ip_data; break; /* set signal and continue */ case 7: u.u_procp->p_sig = ipc.ip_data; return(1); /* force exit */ case 8: exit(); defaul } else if(smp == NULL) smp = mp; } if(smp == NULL) goto out; (*bdevsw[d.d_major].d_open)(d, !u.u_arg[2]); if(u.u_error) goto out; mp = bread(d, 1); if(u.u_error) { brelse(mp); goto out1; } smp->m_inodp = ip; smp->m_dev = d; smp->m_bufp = getblk(NODEV); bcopy(mp->b_addr, smp->m_bufp->b_addr, 256); smp = smp->m_bufp->b_addr; smp->s_ilock = 0; smp->s_flock = 0; smp->s_ronly = u.u_arg[2] & 1; brelse(mp); ip->i_flag =| IMOUNT; prele(ip); return; out: u.u_error = EBUSY; out1: * the current signal. * The usual sequence is: * if(issig()) * psig(); */ psig() { register n, p; register *rp; rp = u.u_procp; n = rp->p_sig; rp->p_sig = 0; if((p=u.u_signal[n]) != 0) { u.u_error = 0; if(n != SIGINS && n != SIGTRC) u.u_signal[n] = 0; n = u.u_ar0[R6] - 4; grow(n); suword(n+2, u.u_ar0[RPS]); suword(n, u.u_ar0[R7]); u.u_ar0[R6] = n; u.u_ar0[RPS] =& ~TBIT; u.u_ar0[R7] = p; return; } switch(n) { case SIGQIT: case SIGINS: case SIGTRC: case SIGIOT: cast: error: ipc.ip_req = -1; } return(0); } iput(ip); } /* * the umount system call. */ sumount() { int d; register struct inode *ip; register struct mount *mp; update(); d = getmdev(); if(u.u_error) return; for(mp = &mount[0]; mp < &mount[NMOUNT]; mp++) if(mp->m_bufp!=NULL && d==mp->m_dev) goto found; u.u_error = EINVAL; return; found: for(ip = &inode[0]; ip < &inode[NINODE]; ip++) if(ip->i_number!=0 && d==ip->i_dev) { u.u_error = EBUSY; return; } (*bdevsw[d.d_major].d_close)(d, 0); ip = mp->m_inodp; ip->i_flag =&e SIGEMT: case SIGFPT: case SIGBUS: case SIGSEG: case SIGSYS: u.u_arg[0] = n; if(core()) n =+ 0200; } u.u_arg[0] = (u.u_ar0[R0]<<8) | n; exit(); } /* * Create a core image on the file "core" * If you are looking for protection glitches, * there are probably a wealth of them here * when this occurs to a suid command. * * It writes USIZE block of the * user.h area followed by the entire * data+stack segments. */ core() { register s, *ip; extern schar; u.u_error = 0; u.u_dirp = "co# /* */ #include "../param.h" #include "../systm.h" #include "../user.h" #include "../inode.h" #include "../file.h" #include "../reg.h" /* * Max allowable buffering per pipe. * This is also the max size of the * file created to implement the pipe. * If this size is bigger than 4096, * pipes will be implemented in LARG * files, which is probably not good. */ #define PIPSIZ 4096 /* * The sys-pipe entry. * Allocate an inode on the root device. * Allocate 2 file structures. * Put it all together with flags. */ pipe() { register *ip, *rf, *wf; int r; ip = ialloc(rootdev); if(ip == NULL) return; rf = falloc(); if(rf == NULL) { iput(ip); return; } r = u.u_ar0[R0]; wf = falloc(); if(wf == NULL) { rf->f_count = 0; u.u_ofile[r] = NULL; iput(ip); return; } u.u_ar0[R1] = u.u_ar0[R0]; u.u_ar0[R0] = r; wf->f_flag = FWRITE|FPIPE; wf->f_inode = ip; rf->f_flag = FREAD|FPIPE; rf->f_inode = ip; ip->i_count = 2; ip->i_flag = IACC|IUPD; ip->i_mode = IALLOC; } /* * Read call dir*/ 3, &ptrace, /* 26 = ptrace */ 0, &nosys, /* 27 = x */ 1, &fstat, /* 28 = fstat */ 0, &nosys, /* 29 = x */ 1, &nullsys, /* 30 = smdate; inoperative */ 1, &stty, /* 31 = stty */ 1, >ty, /* 32 = gtty */ 0, &nosys, /* 33 = x */ 0, &nice, /* 34 = nice */ 0, &sslep, /* 35 = sleep */ 0, &sync, /* 36 = sync */ 1, &kill, /* 37 = kill */ 0, &getswit, /* 38 = switch */ 0, &nosys, /* 39 = x */ 0, &nosys, /* 40 = x */ 0, &dup, /* 41 = dup */ 0, &pipe, /* 42 = pipe (u.u_dent.u_ino == 0) { if(eo == 0) eo = u.u_offset[1]; goto eloop; } for(cp = &u.u_dbuf[0]; cp < &u.u_dbuf[DIRSIZ]; cp++) if(*cp != cp[u.u_dent.u_name - u.u_dbuf]) goto eloop; /* * Here a component matched in a directory. * If there is more pathname, go back to * cloop, otherwise return. */ if(bp != NULL) brelse(bp); if(flag==2 && c=='\0') { if(access(dp, IWRITE)) goto out; return(dp); } bp = dp->i_dev; iput(dp); dp = iget(bp, u.u_dent.u_ino); if(dp == NULL) returected to a pipe. */ readp(fp) int *fp; { register *rp, *ip; rp = fp; ip = rp->f_inode; loop: /* * Very conservative locking. */ plock(ip); /* * If the head (read) has caught up with * the tail (write), reset both to 0. */ if(rp->f_offset[1] == ip->i_size1) { if(rp->f_offset[1] != 0) { rp->f_offset[1] = 0; ip->i_size1 = 0; if(ip->i_mode&IWRITE) { ip->i_mode =& ~IWRITE; wakeup(ip+1); } } /* * If there are not both reader and * writer active, return witho*/ 1, ×, /* 43 = times */ 4, &profil, /* 44 = prof */ 0, &nosys, /* 45 = tiu */ 0, &setgid, /* 46 = setgid */ 0, &getgid, /* 47 = getgid */ 2, &ssig, /* 48 = sig */ 0, &nosys, /* 49 = x */ 0, &nosys, /* 50 = x */ 0, &nosys, /* 51 = x */ 0, &nosys, /* 52 = x */ 0, &nosys, /* 53 = x */ 0, &nosys, /* 54 = x */ 0, &nosys, /* 55 = x */ 0, &nosys, /* 56 = x */ 0, &nosys, /* 57 = x */ 0, &nosys, /* 58 = x */ 0, &nosys, /* 59 = x */ 0, &nosys, /* 60 = x */ n(NULL); goto cloop; out: iput(dp); return(NULL); } /* * Return the next character from the * kernel string pointed at by dirp. */ schar() { return(*u.u_dirp++ & 0377); } /* * Return the next character from the * user string pointed at by dirp. */ uchar() { register c; c = fubyte(u.u_dirp++); if(c == -1) u.u_error = EFAULT; return(c); } ut * satisfying read. */ prele(ip); if(ip->i_count < 2) return; ip->i_mode =| IREAD; sleep(ip+2, PPIPE); goto loop; } /* * Read and return */ u.u_offset[0] = 0; u.u_offset[1] = rp->f_offset[1]; readi(ip); rp->f_offset[1] = u.u_offset[1]; prele(ip); } /* * Write call directed to a pipe. */ writep(fp) { register *rp, *ip, c; rp = fp; ip = rp->f_inode; c = u.u_count; loop: /* * If all done, return. */ plock(ip); if(c == 0) { prele(ip); u.u_count = 0; ret 0, &nosys, /* 61 = x */ 0, &nosys, /* 62 = x */ 0, &nosys /* 63 = x */ }; # /* */ /* * Structure of the coremap and swapmap * arrays. Consists of non-zero count * and base address of that many * contiguous units. * (The coremap unit is 64 bytes, * the swapmap unit is 512 bytes) * The addresses are increasing and * the list is terminated with the * first zero count. */ struct map { char *m_size; char *m_addr; }; /* * Allocate size units from the given * map. Return the base of the allocated * space. * Algorithm is first fit. */ malloc(mp, size) struct map *mp; urn; } /* * If there are not both read and * write sides of the pipe active, * return error and signal too. */ if(ip->i_count < 2) { prele(ip); u.u_error = EPIPE; psignal(u.u_procp, SIGPIPE); return; } /* * If the pipe is full, * wait for reads to deplete * and truncate it. */ if(ip->i_size1 == PIPSIZ) { ip->i_mode =| IWRITE; prele(ip); sleep(ip+1, PPIPE); goto loop; } /* * Write what is possible and * loop back. */ u.u_offset[0] = 0; u.u_offset[1] = ip-# #include "../param.h" #include "../inode.h" #include "../user.h" #include "../systm.h" #include "../buf.h" /* * Convert a pathname into a pointer to * an inode. Note that the inode is locked. * * func = function called to get next char of name * &uchar if name is in user space * &schar if name is in system space * flag = 0 if name is sought * 1 if name is to be created * 2 if name is to be deleted */ namei(func, flag) int (*func)(); { register struct inode *dp; register c; register char *cp;{ register int a; register struct map *bp; for (bp = mp; bp->m_size; bp++) { if (bp->m_size >= size) { a = bp->m_addr; bp->m_addr =+ size; if ((bp->m_size =- size) == 0) do { bp++; (bp-1)->m_addr = bp->m_addr; } while ((bp-1)->m_size = bp->m_size); return(a); } } return(0); } /* * Free the previously allocated space aa * of size units into the specified map. * Sort aa into map and combine on * one or both ends if possible. */ mfree(mp, size, aa) struct map *mp; >i_size1; u.u_count = min(c, PIPSIZ-u.u_offset[1]); c =- u.u_count; writei(ip); prele(ip); if(ip->i_mode&IREAD) { ip->i_mode =& ~IREAD; wakeup(ip+2); } goto loop; } /* * Lock a pipe. * If its already locked, * set the WANT bit and sleep. */ plock(ip) int *ip; { register *rp; rp = ip; while(rp->i_flag&ILOCK) { rp->i_flag =| IWANT; sleep(rp, PPIPE); } rp->i_flag =| ILOCK; } /* * Unlock a pipe. * If WANT bit is on, * wakeup. * This routine is also used * to unlock inodes in gene int eo, *bp; /* * If name starts with '/' start from * root; otherwise start from current dir. */ dp = u.u_cdir; if((c=(*func)()) == '/') dp = rootdir; iget(dp->i_dev, dp->i_number); while(c == '/') c = (*func)(); if(c == '\0' && flag != 0) { u.u_error = ENOENT; goto out; } cloop: /* * Here dp contains pointer * to last component matched. */ if(u.u_error) goto out; if(c == '\0') return(dp); /* * If there is another component, * dp must be a directory and * mus{ register struct map *bp; register int t; register int a; a = aa; for (bp = mp; bp->m_addr<=a && bp->m_size!=0; bp++); if (bp>mp && (bp-1)->m_addr+(bp-1)->m_size == a) { (bp-1)->m_size =+ size; if (a+size == bp->m_addr) { (bp-1)->m_size =+ bp->m_size; while (bp->m_size) { bp++; (bp-1)->m_addr = bp->m_addr; (bp-1)->m_size = bp->m_size; } } } else { if (a+size == bp->m_addr && bp->m_size) { bp->m_addr =- size; bp->m_size =+ size; } else if (size) do { t = bp->mral. */ prele(ip) int *ip; { register *rp; rp = ip; rp->i_flag =& ~ILOCK; if(rp->i_flag&IWANT) { rp->i_flag =& ~IWANT; wakeup(rp); } } t have x permission. */ if((dp->i_mode&IFMT) != IFDIR) { u.u_error = ENOTDIR; goto out; } if(access(dp, IEXEC)) goto out; /* * Gather up name into * users' dir buffer. */ cp = &u.u_dbuf[0]; while(c!='/' && c!='\0' && u.u_error==0) { if(cp < &u.u_dbuf[DIRSIZ]) *cp++ = c; c = (*func)(); } while(cp < &u.u_dbuf[DIRSIZ]) *cp++ = '\0'; while(c == '/') c = (*func)(); if(u.u_error) goto out; /* * Set up to search a directory. */ u.u_offset[1] = 0; u.u_offset[0] = 0; _addr; bp->m_addr = a; a = t; t = bp->m_size; bp->m_size = size; bp++; } while (size = t); } } # /* */ /* * This table is the switch used to transfer * to the appropriate routine for processing a system call. * Each row contains the number of arguments expected * and a pointer to the routine. */ int sysent[] { 0, &nullsys, /* 0 = indir */ 0, &rexit, /* 1 = exit */ 0, &fork, /* 2 = fork */ 2, &read, /* 3 = read */ 2, &write, /* 4 = write */ 2, &open, /* 5 = open */ 0, &close, /* 6 = close */ 0, &wait, /* 7 = wait */ 2, &creat, /* 8 = creat */ 2, &link, /* u.u_segflg = 1; eo = 0; u.u_count = ldiv(dp->i_size1, DIRSIZ+2); bp = NULL; eloop: /* * If at the end of the directory, * the search failed. Report what * is appropriate as per flag. */ if(u.u_count == 0) { if(bp != NULL) brelse(bp); if(flag==1 && c=='\0') { if(access(dp, IWRITE)) goto out; u.u_pdir = dp; if(eo) u.u_offset[1] = eo-DIRSIZ-2; else dp->i_flag =| IUPD; return(NULL); } u.u_error = ENOENT; goto out; } /* * If offset is on a block boundary   9 = link */ 1, &unlink, /* 10 = unlink */ 2, &exec, /* 11 = exec */ 1, &chdir, /* 12 = chdir */ 0, >ime, /* 13 = time */ 3, &mknod, /* 14 = mknod */ 2, &chmod, /* 15 = chmod */ 2, &chown, /* 16 = chown */ 1, &sbreak, /* 17 = break */ 2, &stat, /* 18 = stat */ 2, &seek, /* 19 = seek */ 0, &getpid, /* 20 = getpid */ 3, &smount, /* 21 = mount */ 1, &sumount, /* 22 = umount */ 0, &setuid, /* 23 = setuid */ 0, &getuid, /* 24 = getuid */ 0, &stime, /* 25 = stime , * read the next directory block. * Release previous if it exists. */ if((u.u_offset[1]&0777) == 0) { if(bp != NULL) brelse(bp); bp = bread(dp->i_dev, bmap(dp, ldiv(u.u_offset[1], 512))); } /* * Note first empty directory slot * in eo for possible creat. * String compare the directory entry * and the current component. * If they do not match, go back to eloop. */ bcopy(bp->b_addr+(u.u_offset[1]&0777), &u.u_dent, (DIRSIZ+2)/2); u.u_offset[1] =+ DIRSIZ+2; u.u_count--; if# /* */ #include "../param.h" #include "../user.h" #include "../filsys.h" #include "../file.h" #include "../conf.h" #include "../inode.h" #include "../reg.h" /* * Convert a user supplied * file descriptor into a pointer * to a file structure. * Only task is to check range * of the descriptor. */ getf(f) { register *fp, rf; rf = f; if(rf<0 || rf>=NOFILE) goto bad; fp = u.u_ofile[rf]; if(fp != NULL) return(fp); bad: u.u_error = EBADF; return(NULL); } /* * Internal form of close. * Decrement reference count on * file structure and call closei * on last closef. * Also make sure the pipe protocol * does not constipate. */ closef(fp) int *fp; { register *rfp, *ip; rfp = fp; if(rfp->f_flag&FPIPE) { ip = rfp->f_inode; ip->i_mode =& ~(IREAD|IWRITE); wakeup(ip+1); wakeup(ip+2); } if(rfp->f_count <= 1) closei(rfp->f_inode, rfp->f_flag&FWRITE); rfp->f_count--; } /* * Decrement reference count on an * inode due to the removal of a * referencing file structure. * On the la# #include "../param.h" #include "../systm.h" #include "../user.h" #include "../proc.h" #define UMODE 0170000 #define SCHMAG 10 /* * clock is called straight from * the real time clock interrupt. * * Functions: * reprime clock * copy *switches to display * implement callouts * maintain user/system times * maintain date * profile * tout wakeup (sys sleep) * lightning bolt wakeup (every 4 sec) * alarm clock signals * jab the scheduler */ clock(dev, sp, r1, nps, r0, pc, ps) { register struct * * Initialization code. * Called from m40.s or m45.s as * soon as a stack and segmentation * have been established. * Functions: * clear and free user core * find which clock is configured * hand craft 0th process * call all initialization routines * fork - process 0 to schedule * - process 1 execute bootstrap * * panic: no clock -- neither clock responds * loop at loc 6 in user mode -- /etc/init * cannot be executed. */ main() { extern schar; register i, *p; /* * zero and free ast closei, switchout * to the close entry point of special * device handler. * Note that the handler gets called * on every open and only on the last * close. */ closei(ip, rw) int *ip; { register *rip; register dev, maj; rip = ip; dev = rip->i_addr[0]; maj = rip->i_addr[0].d_major; if(rip->i_count <= 1) switch(rip->i_mode&IFMT) { case IFCHR: (*cdevsw[maj].d_close)(dev, rw); break; case IFBLK: (*bdevsw[maj].d_close)(dev, rw); } iput(rip); } /* * openi called to allow handler * ocallo *p1, *p2; register struct proc *pp; /* * restart clock */ *lks = 0115; /* * display register */ display(); /* * callouts * if none, just return * else update first non-zero time */ if(callout[0].c_func == 0) goto out; p2 = &callout[0]; while(p2->c_time<=0 && p2->c_func!=0) p2++; p2->c_time--; /* * if ps is high, just return */ if((ps&0340) != 0) goto out; /* * callout */ spl5(); if(callout[0].c_time <= 0) { p1 = &callout[0]; while(p1->c_func !ll of core */ updlock = 0; i = *ka6 + USIZE; UISD->r[0] = 077406; for(;;) { UISA->r[0] = i; if(fuibyte(0) < 0) break; clearseg(i); maxmem++; mfree(coremap, 1, i); i++; } if(cputype == 70) for(i=0; i<62; i=+2) { UBMAP->r[i] = i<<12; UBMAP->r[i+1] = 0; } printf("mem = %l\n", maxmem*5/16); maxmem = min(maxmem, MAXMEM); mfree(swapmap, nswap, swplo); /* * determine clock */ UISA->r[7] = ka6[1]; /* io segment */ UISD->r[7] = 077406; lks = CLOCK1; if(fuiword(lks) == -1) f special files to initialize and * validate before actual IO. * Called on all sorts of opens * and also on mount. */ openi(ip, rw) int *ip; { register *rip; register dev, maj; rip = ip; dev = rip->i_addr[0]; maj = rip->i_addr[0].d_major; switch(rip->i_mode&IFMT) { case IFCHR: if(maj >= nchrdev) goto bad; (*cdevsw[maj].d_open)(dev, rw); break; case IFBLK: if(maj >= nblkdev) goto bad; (*bdevsw[maj].d_open)(dev, rw); } return; bad: u.u_error = ENXIO; } /* * Check mode perm= 0 && p1->c_time <= 0) { (*p1->c_func)(p1->c_arg); p1++; } p2 = &callout[0]; while(p2->c_func = p1->c_func) { p2->c_time = p1->c_time; p2->c_arg = p1->c_arg; p1++; p2++; } } /* * lightning bolt time-out * and time of day */ out: if((ps&UMODE) == UMODE) { u.u_utime++; if(u.u_prof[3]) incupc(pc, u.u_prof); } else u.u_stime++; pp = u.u_procp; if(++pp->p_cpu == 0) pp->p_cpu--; if(++lbolt >= HZ) { if((ps&0340) != 0) return; lbolt =- HZ; if(++time[1] ={ lks = CLOCK2; if(fuiword(lks) == -1) panic("no clock"); } /* * set up system process */ proc[0].p_addr = *ka6; proc[0].p_size = USIZE; proc[0].p_stat = SRUN; proc[0].p_flag =| SLOAD|SSYS; u.u_procp = &proc[0]; /* * set up 'known' i-nodes */ *lks = 0115; cinit(); binit(); iinit(); rootdir = iget(rootdev, ROOTINO); rootdir->i_flag =& ~ILOCK; u.u_cdir = iget(rootdev, ROOTINO); u.u_cdir->i_flag =& ~ILOCK; /* * make init process * enter scheduling loop * with system pission on inode pointer. * Mode is READ, WRITE or EXEC. * In the case of WRITE, the * read-only status of the file * system is checked. * Also in WRITE, prototype text * segments cannot be written. * The mode is shifted to select * the owner/group/other fields. * The super user is granted all * permissions except for EXEC where * at least one of the EXEC bits must * be on. */ access(aip, mode) int *aip; { register *ip, m; ip = aip; m = mode; if(m == IWRITE) { if(getfs(ip->i_dev)->s_ronly= 0) ++time[0]; spl1(); if(time[1]==tout[1] && time[0]==tout[0]) wakeup(tout); if((time[1]&03) == 0) { runrun++; wakeup(&lbolt); } for(pp = &proc[0]; pp < &proc[NPROC]; pp++) if (pp->p_stat) { if(pp->p_time != 127) pp->p_time++; if((pp->p_cpu & 0377) > SCHMAG) pp->p_cpu =- SCHMAG; else pp->p_cpu = 0; if(pp->p_pri > PUSER) setpri(pp); } if(runin!=0) { runin = 0; wakeup(&runin); } if((ps&UMODE) == UMODE) { u.u_ar0 = &r0; if(issig()) psigrocess */ if(newproc()) { expand(USIZE+1); estabur(0, 1, 0, 0); copyout(icode, 0, sizeof icode); /* * Return goes to loc. 0 of user init * code just copied out. */ return; } sched(); } /* * Load the user hardware segmentation * registers from the software prototype. * The software registers must have * been setup prior by estabur. */ sureg() { register *up, *rp, a; a = u.u_procp->p_addr; up = &u.u_uisa[16]; rp = &UISA->r[16]; if(cputype == 40) { up =- 8; rp =- 8; } != 0) { u.u_error = EROFS; return(1); } if(ip->i_flag & ITEXT) { u.u_error = ETXTBSY; return(1); } } if(u.u_uid == 0) { if(m == IEXEC && (ip->i_mode & (IEXEC | (IEXEC>>3) | (IEXEC>>6))) == 0) goto bad; return(0); } if(u.u_uid != ip->i_uid) { m =>> 3; if(u.u_gid != ip->i_gid) m =>> 3; } if((ip->i_mode&m) != 0) return(0); bad: u.u_error = EACCES; return(1); } /* * Look up a pathname and test if * the resultant inode is owned by the * current user. * If not(); setpri(u.u_procp); } } } /* * timeout is called to arrange that * fun(arg) is called in tim/HZ seconds. * An entry is sorted into the callout * structure. The time in each structure * entry is the number of HZ's more * than the previous entry. * In this way, decrementing the * first entry has the effect of * updating all entries. */ timeout(fun, arg, tim) { register struct callo *p1, *p2; register t; int s; t = tim; s = PS->integ; p1 = &callout[0]; spl7(); while(p1->c_func != 0 while(rp > &UISA->r[0]) *--rp = *--up + a; if((up=u.u_procp->p_textp) != NULL) a =- up->x_caddr; up = &u.u_uisd[16]; rp = &UISD->r[16]; if(cputype == 40) { up =- 8; rp =- 8; } while(rp > &UISD->r[0]) { *--rp = *--up; if((*rp & WO) == 0) rp[(UISA-UISD)/2] =- a; } } /* * Set up software prototype segmentation * registers to implement the 3 pseudo * text,data,stack segment sizes passed * as arguments. * The argument sep specifies if the * text and data+stack segments are to * be , try for super-user. * If permission is granted, * return inode pointer. */ owner() { register struct inode *ip; extern uchar(); if ((ip = namei(uchar, 0)) == NULL) return(NULL); if(u.u_uid == ip->i_uid) return(ip); if (suser()) return(ip); iput(ip); return(NULL); } /* * Test if the current user is the * super user. */ suser() { if(u.u_uid == 0) return(1); u.u_error = EPERM; return(0); } /* * Allocate a user file descriptor. */ ufalloc() { register i; for (i=0; ic_time <= t) { t =- p1->c_time; p1++; } p1->c_time =- t; p2 = p1; while(p2->c_func != 0) p2++; while(p2 >= p1) { (p2+1)->c_time = p2->c_time; (p2+1)->c_func = p2->c_func; (p2+1)->c_arg = p2->c_arg; p2--; } p1->c_time = t; p1->c_func = fun; p1->c_arg = arg; PS->integ = s; } separated. */ estabur(nt, nd, ns, sep) { register a, *ap, *dp; if(sep) { if(cputype == 40) goto err; if(nseg(nt) > 8 || nseg(nd)+nseg(ns) > 8) goto err; } else if(nseg(nt)+nseg(nd)+nseg(ns) > 8) goto err; if(nt+nd+ns+USIZE > maxmem) goto err; a = 0; ap = &u.u_uisa[0]; dp = &u.u_uisd[0]; while(nt >= 128) { *dp++ = (127<<8) | RO; *ap++ = a; a =+ 128; nt =- 128; } if(nt) { *dp++ = ((nt-1)<<8) | RO; *ap++ = a; } if(sep) while(ap < &u.u_uisa[8]) { *ap++ = 0; *dp++ +) if (u.u_ofile[i] == NULL) { u.u_ar0[R0] = i; return(i); } u.u_error = EMFILE; return(-1); } /* * Allocate a user file descriptor * and a file structure. * Initialize the descriptor * to point at the file structure. * * no file -- if there are no available * file structures. */ falloc() { register struct file *fp; register i; if ((i = ufalloc()) < 0) return(NULL); for (fp = &file[0]; fp < &file[NFILE]; fp++) if (fp->f_count==0) { u.u_ofile[i] = fp; fp->f_count++; fp  = 0; } a = USIZE; while(nd >= 128) { *dp++ = (127<<8) | RW; *ap++ = a; a =+ 128; nd =- 128; } if(nd) { *dp++ = ((nd-1)<<8) | RW; *ap++ = a; a =+ nd; } while(ap < &u.u_uisa[8]) { *dp++ = 0; *ap++ = 0; } if(sep) while(ap < &u.u_uisa[16]) { *dp++ = 0; *ap++ = 0; } a =+ ns; while(ns >= 128) { a =- 128; ns =- 128; *--dp = (127<<8) | RW; *--ap = a; } if(ns) { *--dp = ((128-ns)<<8) | RW | ED; *--ap = a-128; } if(!sep) { ap = &u.u_uisa[0]; dp = &u.u_uisa[8]; ->f_offset[0] = 0; fp->f_offset[1] = 0; return(fp); } printf("no file\n"); u.u_error = ENFILE; return(NULL); } # #include "../param.h" #include "../user.h" #include "../systm.h" #include "../proc.h" #include "../text.h" #include "../inode.h" #include "../seg.h" #define CLOCK1 0177546 #define CLOCK2 0172540 /* * Icode is the octal bootstrap * program executed in user mode * to bring up the system. */ int icode[] { 0104413, /* sys exec; init; initp */ 0000014, 0000010, 0000777, /* br . */ 0000014, /* initp: init; 0 */ 0000000, 0062457, /* init: */ 0061564, 0064457, 0064556, 0000164, }; /while(ap < &u.u_uisa[8]) *dp++ = *ap++; ap = &u.u_uisd[0]; dp = &u.u_uisd[8]; while(ap < &u.u_uisd[8]) *dp++ = *ap++; } sureg(); return(0); err: u.u_error = ENOMEM; return(-1); } /* * Return the arg/128 rounded up. */ nseg(n) { return((n+127)>>7); } # /* */ #include "../param.h" #include "../inode.h" #include "../user.h" #include "../buf.h" #include "../conf.h" #include "../systm.h" /* * Read the file corresponding to * the inode pointed at by the argument. * The actual read arguments are found * in the variables: * u_base core address for destination * u_offset byte offset in file * u_count number of bytes to read * u_segflg read to kernel/user */ readi(aip) struct inode *aip; { int *bp; int lbn, bn, on; register dn, n; register stru #&o out; } } if(u.u_error) return; ip = maknode(u.u_arg[1]); if (ip==NULL) return; ip->i_addr[0] = u.u_arg[2]; out: iput(ip); } /* * sleep system call * not to be confused with the sleep internal routine. */ sslep() { char *d[2]; spl7(); d[0] = time[0]; d[1] = time[1]; dpadd(d, u.u_ar0[R0]); while(dpcmp(d[0], d[1], time[0], time[1]) > 0) { if(dpcmp(tout[0], tout[1], time[0], time[1]) <= 0 || dpcmp(tout[0], tout[1], d[0], d[1]) > 0) { tout[0] = d[0]; tout[1] = d[1]; } ct inode *ip; ip = aip; if(u.u_count == 0) return; ip->i_flag =| IACC; if((ip->i_mode&IFMT) == IFCHR) { (*cdevsw[ip->i_addr[0].d_major].d_read)(ip->i_addr[0]); return; } do { lbn = bn = lshift(u.u_offset, -9); on = u.u_offset[1] & 0777; n = min(512-on, u.u_count); if((ip->i_mode&IFMT) != IFBLK) { dn = dpcmp(ip->i_size0&0377, ip->i_size1, u.u_offset[0], u.u_offset[1]); if(dn <= 0) return; n = min(n, dn); if ((bn = bmap(ip, lbn)) == 0) return; dn = ip->i_dev; # #include "../param.h" #include "../systm.h" #include "../user.h" #include "../reg.h" #include "../file.h" #include "../inode.h" /* * read system call */ read() { rdwr(FREAD); } /* * write system call */ write() { rdwr(FWRITE); } /* * common code for read and write calls: * check permissions, set base, count, and offset, * and switch out to readi, writei, or pipe code. */ rdwr(mode) { register *fp, m; m = mode; fp = getf(u.u_ar0[R0]); if(fp == NULL) return; if((fp->f_flag&m) == 0) { sleep(tout, PSLEP); } spl0(); } } else { dn = ip->i_addr[0]; rablock = bn+1; } if (ip->i_lastr+1 == lbn) bp = breada(dn, bn, rablock); else bp = bread(dn, bn); ip->i_lastr = lbn; iomove(bp, on, n, B_READ); brelse(bp); } while(u.u_error==0 && u.u_count!=0); } /* * Write the file corresponding to * the inode pointed at by the argument. * The actual write arguments are found * in the variables: * u_base core address for source * u_offset byte offset in file * u_count number of bytes to write * u_segflg wru.u_error = EBADF; return; } u.u_base = u.u_arg[0]; u.u_count = u.u_arg[1]; u.u_segflg = 0; if(fp->f_flag&FPIPE) { if(m==FREAD) readp(fp); else writep(fp); } else { u.u_offset[1] = fp->f_offset[1]; u.u_offset[0] = fp->f_offset[0]; if(m==FREAD) readi(fp->f_inode); else writei(fp->f_inode); dpadd(fp->f_offset, u.u_arg[1]-u.u_count); } u.u_ar0[R0] = u.u_arg[1]-u.u_count; } /* * open system call */ open() { register *ip; extern uchar; ip = namei(&uchar, 0); if(ip == NULL)!$'(+.147:=)ite to kernel/user */ writei(aip) struct inode *aip; { int *bp; int n, on; register dn, bn; register struct inode *ip; ip = aip; ip->i_flag =| IACC|IUPD; if((ip->i_mode&IFMT) == IFCHR) { (*cdevsw[ip->i_addr[0].d_major].d_write)(ip->i_addr[0]); return; } if (u.u_count == 0) return; do { bn = lshift(u.u_offset, -9); on = u.u_offset[1] & 0777; n = min(512-on, u.u_count); if((ip->i_mode&IFMT) != IFBLK) { if ((bn = bmap(ip, bn)) == 0) return; dn = ip->i_dev; } else dn = return; u.u_arg[1]++; open1(ip, u.u_arg[1], 0); } /* * creat system call */ creat() { register *ip; extern uchar; ip = namei(&uchar, 1); if(ip == NULL) { if(u.u_error) return; ip = maknode(u.u_arg[1]&07777&(~ISVTX)); if (ip==NULL) return; open1(ip, FWRITE, 2); } else open1(ip, FWRITE, 1); } /* * common code for open and creat. * Check permissions, allocate an open file structure, * and call the device open routine if any. */ open1(ip, mode, trf) int *ip; { register struct# /* */ #include "../param.h" #include "../systm.h" #include "../user.h" #include "../proc.h" #include "../buf.h" #include "../reg.h" #include "../inode.h" /* * exec system call. * Because of the fact that an I/O buffer is used * to store the caller's arguments during exec, * and more buffers are needed to read in the text file, * deadly embraces waiting for free buffers are possible. * Therefore the number of processes simultaneously * running in exec has to be limited to NEXEC. */ #define EXPRIip->i_addr[0]; if(n == 512) bp = getblk(dn, bn); else bp = bread(dn, bn); iomove(bp, on, n, B_WRITE); if(u.u_error != 0) brelse(bp); else if ((u.u_offset[1]&0777)==0) bawrite(bp); else bdwrite(bp); if(dpcmp(ip->i_size0&0377, ip->i_size1, u.u_offset[0], u.u_offset[1]) < 0 && (ip->i_mode&(IFBLK&IFCHR)) == 0) { ip->i_size0 = u.u_offset[0]; ip->i_size1 = u.u_offset[1]; } ip->i_flag =| IUPD; } while(u.u_error==0 && u.u_count!=0); } /* * Return the logical maximum * file *fp; register *rip, m; int i; rip = ip; m = mode; if(trf != 2) { if(m&FREAD) access(rip, IREAD); if(m&FWRITE) { access(rip, IWRITE); if((rip->i_mode&IFMT) == IFDIR) u.u_error = EISDIR; } } if(u.u_error) goto out; if(trf) itrunc(rip); prele(rip); if ((fp = falloc()) == NULL) goto out; fp->f_flag = m&(FREAD|FWRITE); fp->f_inode = rip; i = u.u_ar0[R0]; openi(rip, m&FWRITE); if(u.u_error == 0) return; u.u_ofile[i] = NULL; fp->f_count--; out: iput(rip); } /* -1 exec() { int ap, na, nc, *bp; int ts, ds, sep; register c, *ip; register char *cp; extern uchar; /* * pick up file names * and check various modes * for execute permission */ ip = namei(&uchar, 0); if(ip == NULL) return; while(execnt >= NEXEC) sleep(&execnt, EXPRI); execnt++; bp = getblk(NODEV); if(access(ip, IEXEC) || (ip->i_mode&IFMT)!=0) goto bad; /* * pack up arguments into * allocated disk buffer */ cp = bp->b_addr; na = 0; nc = 0; while(ap = fuword(u.u_arg of the 2 arguments. */ max(a, b) char *a, *b; { if(a > b) return(a); return(b); } /* * Return the logical minimum * of the 2 arguments. */ min(a, b) char *a, *b; { if(a < b) return(a); return(b); } /* * Move 'an' bytes at byte location * &bp->b_addr[o] to/from (flag) the * user/kernel (u.segflg) area starting at u.base. * Update all the arguments by the number * of bytes moved. * * There are 2 algorithms, * if source address, dest address and count * are all even in a user copy, * * close system call */ close() { register *fp; fp = getf(u.u_ar0[R0]); if(fp == NULL) return; u.u_ofile[u.u_ar0[R0]] = NULL; closef(fp); } /* * seek system call */ seek() { int n[2]; register *fp, t; fp = getf(u.u_ar0[R0]); if(fp == NULL) return; if(fp->f_flag&FPIPE) { u.u_error = ESPIPE; return; } t = u.u_arg[1]; if(t > 2) { n[1] = u.u_arg[0]<<9; n[0] = u.u_arg[0]>>7; if(t == 3) n[0] =& 0777; } else { n[1] = u.u_arg[0]; n[0] = 0; if(t!=0 && n[1]<0) n[0] = -1; [1])) { na++; if(ap == -1) goto bad; u.u_arg[1] =+ 2; for(;;) { c = fubyte(ap++); if(c == -1) goto bad; *cp++ = c; nc++; if(nc > 510) { u.u_error = E2BIG; goto bad; } if(c == 0) break; } } if((nc&1) != 0) { *cp++ = 0; nc++; } /* * read in first 8 bytes * of file for segment * sizes: * w0 = 407/410/411 (410 implies RO text) (411 implies sep ID) * w1 = text size * w2 = data size * w3 = bss size */ u.u_base = &u.u_arg[0]; u.u_count = then the machine language copyin/copyout * is called. * If not, its done byte-by-byte with * cpass and passc. */ iomove(bp, o, an, flag) struct buf *bp; { register char *cp; register int n, t; n = an; cp = bp->b_addr + o; if(u.u_segflg==0 && ((n | cp | u.u_base)&01)==0) { if (flag==B_WRITE) cp = copyin(u.u_base, cp, n); else cp = copyout(cp, u.u_base, n); if (cp) { u.u_error = EFAULT; return; } u.u_base =+ n; dpadd(u.u_offset, n); u.u_count =- n; return; } if (flag== } switch(t) { case 1: case 4: n[0] =+ fp->f_offset[0]; dpadd(n, fp->f_offset[1]); break; default: n[0] =+ fp->f_inode->i_size0&0377; dpadd(n, fp->f_inode->i_size1); case 0: case 3: ; } fp->f_offset[1] = n[1]; fp->f_offset[0] = n[0]; } /* * link system call */ link() { register *ip, *xp; extern uchar; ip = namei(&uchar, 0); if(ip == NULL) return; if(ip->i_nlink >= 127) { u.u_error = EMLINK; goto out; } if((ip->i_mode&IFMT)==IFDIR && !suser()) goto out; /* * unlo 8; u.u_offset[1] = 0; u.u_offset[0] = 0; u.u_segflg = 1; readi(ip); u.u_segflg = 0; if(u.u_error) goto bad; sep = 0; if(u.u_arg[0] == 0407) { u.u_arg[2] =+ u.u_arg[1]; u.u_arg[1] = 0; } else if(u.u_arg[0] == 0411) sep++; else if(u.u_arg[0] != 0410) { u.u_error = ENOEXEC; goto bad; } if(u.u_arg[1]!=0 && (ip->i_flag&ITEXT)==0 && ip->i_count!=1) { u.u_error = ETXTBSY; goto bad; } /* * find text and data sizes * try them out for possible * exceed of max sizes */ ts = (B_WRITE) { while(n--) { if ((t = cpass()) < 0) return; *cp++ = t; } } else while (n--) if(passc(*cp++) < 0) return; } ck to avoid possibly hanging the namei */ ip->i_flag =& ~ILOCK; u.u_dirp = u.u_arg[1]; xp = namei(&uchar, 1); if(xp != NULL) { u.u_error = EEXIST; iput(xp); } if(u.u_error) goto out; if(u.u_pdir->i_dev != ip->i_dev) { iput(u.u_pdir); u.u_error = EXDEV; goto out; } wdir(ip); ip->i_nlink++; ip->i_flag =| IUPD; out: iput(ip); } /* * mknod system call */ mknod() { register *ip; extern uchar; if(suser()) { ip = namei(&uchar, 1); if(ip != NULL) { u.u_error = EEXIST; got(u.u_arg[1]+63)>>6) & 01777; ds = ((u.u_arg[2]+u.u_arg[3]+63)>>6) & 01777; if(estabur(ts, ds, SSIZE, sep)) goto bad; /* * allocate and clear core * at this point, committed * to the new image */ u.u_prof[3] = 0; xfree(); expand(USIZE); xalloc(ip); c = USIZE+ds+SSIZE; expand(c); while(--c >= USIZE) clearseg(u.u_procp->p_addr+c); /* * read in data segment */ estabur(0, ds, 0, 0); u.u_base = 0; u.u_offset[1] = 020+u.u_arg[1]; u.u_count = u.u_arg[2]; readi(ip); /* * initialize stack segment */ u.u_tsize = ts; u.u_dsize = ds; u.u_ssize = SSIZE; u.u_sep = sep; estabur(u.u_tsize, u.u_dsize, u.u_ssize, u.u_sep); cp = bp->b_addr; ap = -nc - na*2 - 4; u.u_ar0[R6] = ap; suword(ap, na); c = -nc; while(na--) { suword(ap=+2, c); do subyte(c++, *cp); while(*cp++); } suword(ap+2, -1); /* * set SUID/SGID protections, if no tracing */ if ((u.u_procp->p_flag&STRC)==0) { if(ip->i_mode&ISUID) if(u.u_uid != 0) { u.u_uid = ip->i_uid; u.u_procp->p_r; a = u.u_procp->p_addr + n - u.u_ssize; i = n; n = u.u_ssize; while(n--) { copyseg(a-d, a); a++; } expand(i); return; bigger: expand(n); a = u.u_procp->p_addr + n; n = u.u_ssize; while(n--) { a--; copyseg(a-d, a); } while(d--) clearseg(--a); } rp = p1; a = rp->p_size; if((rp=rp->p_textp) != NULL) if(rp->x_ccount == 0) a =+ rp->x_size; if((a=malloc(coremap, a)) != NULL) goto found2; /* * none found, * look around for easy core */ spl6(); for(rp = &proc[0]; rp < &proc[NPROC]; rp++) if((rp->p_flag&(SSYS|SLOCK|SLOAD))==SLOAD && (rp->p_stat == SWAIT || rp->p_stat==SSTOP)) goto found1; /* * no easy core, * if this process is deserving, * look around for * oldest process in core */ if(n < 3) goto sloop; n uid = ip->i_uid; } if(ip->i_mode&ISGID) u.u_gid = ip->i_gid; } /* * clear sigs, regs and return */ c = ip; for(ip = &u.u_signal[0]; ip < &u.u_signal[NSIG]; ip++) if((*ip & 1) == 0) *ip = 0; for(cp = ®loc[0]; cp < ®loc[6];) u.u_ar0[*cp++] = 0; u.u_ar0[R7] = 0; for(ip = &u.u_fsav[0]; ip < &u.u_fsav[25];) *ip++ = 0; ip = c; bad: iput(ip); brelse(bp); if(execnt >= NEXEC) wakeup(&execnt); execnt--; } /* * exit system call: * pass back caller's r0 */ rexit() { u.u/258;>*-0369<?@CFIL= -1; for(rp = &proc[0]; rp < &proc[NPROC]; rp++) if((rp->p_flag&(SSYS|SLOCK|SLOAD))==SLOAD && (rp->p_stat==SRUN || rp->p_stat==SSLEEP) && rp->p_time > n) { p1 = rp; n = rp->p_time; } if(n < 2) goto sloop; rp = p1; /* * swap user out */ found1: spl0(); rp->p_flag =& ~SLOAD; xswap(rp, 1, 0); goto loop; /* * swap user in */ found2: if((rp=p1->p_textp) != NULL) { if(rp->x_ccount == 0) { if(swap(rp->x_daddr, a, rp->x_size, B_READ)) goto swaper; rp->x_caddr = a;_arg[0] = u.u_ar0[R0] << 8; exit(); } /* * Release resources. * Save u. area for parent to look at. * Enter zombie state. * Wake up parent and init processes, * and dispose of children. */ exit() { register int *q, a; register struct proc *p; u.u_procp->p_flag =& ~STRC; for(q = &u.u_signal[0]; q < &u.u_signal[NSIG];) *q++ = 1; for(q = &u.u_ofile[0]; q < &u.u_ofile[NOFILE]; q++) if(a = *q) { *q = NULL; closef(a); } iput(u.u_cdir); xfree(); a = malloc(swapmap, 1); if(a == NULL) # /* */ #include "../param.h" #include "../user.h" #include "../proc.h" #include "../text.h" #include "../systm.h" #include "../file.h" #include "../inode.h" #include "../buf.h" /* * Give up the processor till a wakeup occurs * on chan, at which time the process * enters the scheduling queue at priority pri. * The most important effect of pri is that when * pri<0 a signal cannot disturb the sleep; * if pri>=0 signals will be processed. * Callers of this routine must be prepared for * premature re a =+ rp->x_size; } rp->x_ccount++; } rp = p1; if(swap(rp->p_addr, a, rp->p_size, B_READ)) goto swaper; mfree(swapmap, (rp->p_size+7)/8, rp->p_addr); rp->p_addr = a; rp->p_flag =| SLOAD; rp->p_time = 0; goto loop; swaper: panic("swap error"); } /* * This routine is called to reschedule the CPU. * if the calling process is not in RUN state, * arrangements for it to restart must have * been made elsewhere, usually by calling via sleep. */ swtch() { static struct proc *p; register i, panic("out of swap"); p = getblk(swapdev, a); bcopy(&u, p->b_addr, 256); bwrite(p); q = u.u_procp; mfree(coremap, q->p_size, q->p_addr); q->p_addr = a; q->p_stat = SZOMB; loop: for(p = &proc[0]; p < &proc[NPROC]; p++) if(q->p_ppid == p->p_pid) { wakeup(&proc[1]); wakeup(p); for(p = &proc[0]; p < &proc[NPROC]; p++) if(q->p_pid == p->p_ppid) { p->p_ppid = 1; if (p->p_stat == SSTOP) setrun(p); } swtch(); /* no return */ } q->p_ppid = 1; goto loop; } /* * Wait system calturn, and check that the reason for * sleeping has gone away. */ sleep(chan, pri) { register *rp, s; s = PS->integ; rp = u.u_procp; if(pri >= 0) { if(issig()) goto psig; spl6(); rp->p_wchan = chan; rp->p_stat = SWAIT; rp->p_pri = pri; spl0(); if(runin != 0) { runin = 0; wakeup(&runin); } swtch(); if(issig()) goto psig; } else { spl6(); rp->p_wchan = chan; rp->p_stat = SSLEEP; rp->p_pri = pri; spl0(); swtch(); } PS->integ = s; return; /* * If priorit n; register struct proc *rp; if(p == NULL) p = &proc[0]; /* * Remember stack of caller */ savu(u.u_rsav); /* * Switch to scheduler's stack */ retu(proc[0].p_addr); loop: runrun = 0; rp = p; p = NULL; n = 128; /* * Search for highest-priority runnable process */ i = NPROC; do { rp++; if(rp >= &proc[NPROC]) rp = &proc[0]; if(rp->p_stat==SRUN && (rp->p_flag&SLOAD)!=0) { if(rp->p_pri < n) { p = rp; n = rp->p_pri; } } } while(--i); /* * If no process is l. * Search for a terminated (zombie) child, * finally lay it to rest, and collect its status. * Look also for stopped (traced) children, * and pass back status from them. */ wait() { register f, *bp; register struct proc *p; f = 0; loop: for(p = &proc[0]; p < &proc[NPROC]; p++) if(p->p_ppid == u.u_procp->p_pid) { f++; if(p->p_stat == SZOMB) { u.u_ar0[R0] = p->p_pid; bp = bread(swapdev, f=p->p_addr); mfree(swapmap, 1, f); p->p_stat = NULL; p->p_pid = 0; p->p_ppid = 0; p-y was low (>=0) and * there has been a signal, * execute non-local goto to * the qsav location. * (see trap1/trap.c) */ psig: aretu(u.u_qsav); } /* * Wake up all processes sleeping on chan. */ wakeup(chan) { register struct proc *p; register c, i; c = chan; p = &proc[0]; i = NPROC; do { if(p->p_wchan == c) { setrun(p); } p++; } while(--i); } /* * Set the process running; * arrange for it to be swapped in if necessary. */ setrun(p) { register struct proc *rp; rp = p; rprunnable, idle. */ if(p == NULL) { p = rp; idle(); goto loop; } rp = p; curpri = n; /* * Switch to stack of the new process and set up * his segmentation registers. */ retu(rp->p_addr); sureg(); /* * If the new process paused because it was * swapped out, set the stack level to the last call * to savu(u_ssav). This means that the return * which is executed immediately after the call to aretu * actually returns from the last routine which did * the savu. * * You are not>p_sig = 0; p->p_ttyp = 0; p->p_flag = 0; p = bp->b_addr; u.u_cstime[0] =+ p->u_cstime[0]; dpadd(u.u_cstime, p->u_cstime[1]); dpadd(u.u_cstime, p->u_stime); u.u_cutime[0] =+ p->u_cutime[0]; dpadd(u.u_cutime, p->u_cutime[1]); dpadd(u.u_cutime, p->u_utime); u.u_ar0[R1] = p->u_arg[0]; brelse(bp); return; } if(p->p_stat == SSTOP) { if((p->p_flag&SWTED) == 0) { p->p_flag =| SWTED; u.u_ar0[R0] = p->p_pid; u.u_ar0[R1] = (p->p_sig<<8) | 0177; return; } ->p_wchan = 0; rp->p_stat = SRUN; if(rp->p_pri < curpri) runrun++; if(runout != 0 && (rp->p_flag&SLOAD) == 0) { runout = 0; wakeup(&runout); } } /* * Set user priority. * The rescheduling flag (runrun) * is set if the priority is higher * than the currently running process. */ setpri(up) { register *pp, p; pp = up; p = (pp->p_cpu & 0377)/16; p =+ PUSER + pp->p_nice; if(p > 127) p = 127; if(p > curpri) runrun++; pp->p_pri = p; } /* * The main loop of the scheduling (swapping) * expected to understand this. */ if(rp->p_flag&SSWAP) { rp->p_flag =& ~SSWAP; aretu(u.u_ssav); } /* * The value returned here has many subtle implications. * See the newproc comments. */ return(1); } /* * Create a new process-- the internal version of * sys fork. * It returns 1 in the new process. * How this happens is rather hard to understand. * The essential fact is that the new process is created * in such a way that appears to have started executing * in the same call to newproc p->p_flag =& ~(STRC|SWTED); setrun(p); } } if(f) { sleep(u.u_procp, PWAIT); goto loop; } u.u_error = ECHILD; } /* * fork system call. */ fork() { register struct proc *p1, *p2; p1 = u.u_procp; for(p2 = &proc[0]; p2 < &proc[NPROC]; p2++) if(p2->p_stat == NULL) goto found; u.u_error = EAGAIN; goto out; found: if(newproc()) { u.u_ar0[R0] = p1->p_pid; u.u_cstime[0] = 0; u.u_cstime[1] = 0; u.u_stime = 0; u.u_cutime[0] = 0; u.u_cutime[1] = 0; u.u_utime = 0; return; process. * The basic idea is: * see if anyone wants to be swapped in; * swap out processes until there is room; * swap him in; * repeat. * Although it is not remarkably evident, the basic * synchronization here is on the runin flag, which is * slept on and is set once per second by the clock routine. * Core shuffling therefore takes place once per second. * * panic: swap error -- IO error while swapping. * this is the one panic that should be * handled in a less drastic way. Its * very ha as the parent; * but in fact the code that runs is that of swtch. * The subtle implication of the returned value of swtch * (see above) is that this is the value that newproc's * caller in the new process sees. */ newproc() { int a1, a2; struct proc *p, *up; register struct proc *rpp; register *rip, n; p = NULL; /* * First, just locate a slot for a process * and copy the useful info from this process into it. * The panic "cannot happen" because fork has already * checked for the existen} u.u_ar0[R0] = p2->p_pid; out: u.u_ar0[R7] =+ 2; } /* * break system call. * -- bad planning: "break" is a dirty word in C. */ sbreak() { register a, n, d; int i; /* * set n to new data size * set d to new-old * set n to new total size */ n = (((u.u_arg[0]+63)>>6) & 01777); if(!u.u_sep) n =- nseg(u.u_tsize) * 128; if(n < 0) n = 0; d = n - u.u_dsize; n =+ USIZE+u.u_ssize; if(estabur(u.u_tsize, u.u_dsize+d, u.u_ssize, u.u_sep)) return; u.u_dsize =+ d; if(d > 0) goto biggerd. */ sched() { struct proc *p1; register struct proc *rp; register a, n; /* * find user to swap in * of users ready, select one out longest */ goto loop; sloop: runin++; sleep(&runin, PSWP); loop: spl6(); n = -1; for(rp = &proc[0]; rp < &proc[NPROC]; rp++) if(rp->p_stat==SRUN && (rp->p_flag&SLOAD)==0 && rp->p_time > n) { p1 = rp; n = rp->p_time; } if(n == -1) { runout++; sleep(&runout, PSWP); goto loop; } /* * see if there is core for that process */ spl0();ce of a slot. */ retry: mpid++; if(mpid < 0) { mpid = 0; goto retry; } for(rpp = &proc[0]; rpp < &proc[NPROC]; rpp++) { if(rpp->p_stat == NULL && p==NULL) p = rpp; if (rpp->p_pid==mpid) goto retry; } if ((rpp = p)==NULL) panic("no procs"); /* * make proc entry for new proc */ rip = u.u_procp; up = rip; rpp->p_stat = SRUN; rpp->p_flag = SLOAD; rpp->p_uid = rip->p_uid; rpp->p_ttyp = rip->p_ttyp; rpp->p_nice = rip->p_nice; rpp->p_textp = rip->p_textp; rpp->p_pid = mpid; rpp->p_ppid = rip->p_pid; rpp->p_time = 0; /* * make duplicate entries * where needed */ for(rip = &u.u_ofile[0]; rip < &u.u_ofile[NOFILE];) if((rpp = *rip++) != NULL) rpp->f_count++; if((rpp=up->p_textp) != NULL) { rpp->x_count++; rpp->x_ccount++; } u.u_cdir->i_count++; /* * Partially simulate the environment * of the new process so that when it is actually * created (by copying) it will look right. */ savu(u.u_rsav); rpp = p; u.u_procp = rpp; rip = up; n = rip->p_sizeUNT]; ip++) if(ip->m_inodp == p) { dev = ip->m_dev; ino = ROOTINO; goto loop; } panic("no imt"); } p->i_count++; p->i_flag =| ILOCK; return(p); } if(ip==NULL && p->i_count==0) ip = p; } if((p=ip) == NULL) { printf("Inode table overflow\n"); u.u_error = ENFILE; return(NULL); } p->i_dev = dev; p->i_number = ino; p->i_flag = ILOCK; p->i_count++; p->i_lastr = -1; ip = bread(dev, ldiv(ino+31,16)); /* * Check I/O errors */ if (ip->b_flags&B_ERROR)Dx & 6  w h 5555_@ @mȥ-@ @mH7 y  Av=@ @m5N %f@ pTof & 5N @ pN %o u- _( \ 5 \ 5 _ % @ T X 7 @ T 7 S P L7 p  5 lf > 7@<87 6  o@ &T 5 > N; a1 = rip->p_addr; rpp->p_size = n; a2 = malloc(coremap, n); /* * If there is not enough core for the * new process, swap out the current process to generate the * copy. */ if(a2 == NULL) { rip->p_stat = SIDL; rpp->p_addr = a1; savu(u.u_ssav); xswap(rpp, 0, 0); rpp->p_flag =| SSWAP; rip->p_stat = SRUN; } else { /* * There is core, so just copy. */ rpp->p_addr = a2; while(n--) copyseg(a1++, a2++); } u.u_procp = rip; return(0); } /* * Change the size of the data+sta { brelse(ip); iput(p); return(NULL); } ip1 = ip->b_addr + 32*lrem(ino+31, 16); ip2 = &p->i_mode; while(ip2 < &p->i_addr[8]) *ip2++ = *ip1++; brelse(ip); return(p); } /* * Decrement reference count of * an inode structure. * On the last reference, * write the inode out and if necessary, * truncate and deallocate the file. */ iput(p) struct inode *p; { register *rp; rp = p; if(rp->i_count == 1) { rp->i_flag =| ILOCK; if(rp->i_nlink <= 0) { itrunc(rp); rp->i_mode = 0; ifr x  > N X  u- [ X5  @ A pu-@ @ @ @ 0   %% o|  > w<w * j w(w 7 &@e77 @e7f @_ z  4%#  @e7@e75 RARWp Aa1ARWp Aa1 R%R Z 7~0 Z 7j0@eT7^@eT7H7 Fifck regions of the process. * If the size is shrinking, it's easy-- just release the extra core. * If it's growing, and there is core, just allocate it * and copy the image, taking care to reset registers to account * for the fact that the system's stack has moved. * If there is no core, arrange for the process to be swapped * out after adjusting the size requirement-- when it comes * in, enough core will be allocated. * Because of the ssave and SSWAP flags, control will * resume after the swap in see(rp->i_dev, rp->i_number); } iupdat(rp, time); prele(rp); rp->i_flag = 0; rp->i_number = 0; } rp->i_count--; prele(rp); } /* * Check accessed and update flags on * an inode structure. * If either is on, update the inode * with the corresponding dates * set to the argument tm. */ iupdat(p, tm) int *p; int *tm; { register *ip1, *ip2, *rp; int *bp, i; rp = p; if((rp->i_flag&(IUPD|IACC)) != 0) { if(getfs(rp->i_dev)->s_ronly) return; i = rp->i_number+31; bp = bread(rp->i_dev,   & 7"  & X #T &    $   z  z w w - ?5 5%#__ _%a%z%A%Z%__*N  d5%a%z%A%Z%0%9%_  Nf Z 5%%- __-    5% @wr %_@p N b 5%  bwtch, which executes the return * from this stack level. * * After the expansion, the caller will take care of copying * the user's stack towards or away from the data area. */ expand(newsize) { int i, n; register *p, a1, a2; p = u.u_procp; n = p->p_size; p->p_size = newsize; a1 = p->p_addr; if(n >= newsize) { mfree(coremap, n-newsize, a1+newsize); return; } savu(u.u_rsav); a2 = malloc(coremap, newsize); if(a2 == NULL) { savu(u.u_ssav); xswap(p, 1, n); p->p_flag =| SSWAP; swtch(ldiv(i,16)); ip1 = bp->b_addr + 32*lrem(i, 16); ip2 = &rp->i_mode; while(ip2 < &rp->i_addr[8]) *ip1++ = *ip2++; if(rp->i_flag&IACC) { *ip1++ = time[0]; *ip1++ = time[1]; } else ip1 =+ 2; if(rp->i_flag&IUPD) { *ip1++ = *tm++; *ip1++ = *tm; } bwrite(bp); } } /* * Free all the disk blocks associated * with the specified inode structure. * The blocks of the file are removed * in reverse order. This FILO * algorithm will tend to maintain * a contiguous free list much lon@5%'%"TN  %  N %\ 4  *5@-7 %)? 5%  - f N0  |v_N  5% _ %_@ _w * <O X Nf X   w w e-T  e-e7w w  w w 7 @/w  h5%/ Z5%/ ` F7|%*7 r 45@X7z  y-6); /* no return */ } p->p_addr = a2; for(i=0; ip_addr); sureg(); } ger * than FIFO. */ itrunc(ip) int *ip; { register *rp, *bp, *cp; int *dp, *ep; rp = ip; if((rp->i_mode&(IFCHR&IFBLK)) != 0) return; for(ip = &rp->i_addr[7]; ip >= &rp->i_addr[0]; ip--) if(*ip) { if((rp->i_mode&ILARG) != 0) { bp = bread(rp->i_dev, *ip); for(cp = bp->b_addr+512; cp >= bp->b_addr; cp--) if(*cp) { if(ip == &rp->i_addr[7]) { dp = bread(rp->i_dev, *cp); for(ep = dp->b_addr+512; ep >= dp->b_addr; ep--) if(*ep) free(rp->i_dev, *ep); brelse(dp); 22  *w   45- z   5  w@w  u5 um@ 5A 7ruWp mu8uu@ H@ ȋ@e@- Nf J @w:TWp m:Be ( 5 @@mH  % w  w@5   w@ w 5 u 5 / @ 5%% @ ȥ.@w@ w *RUADGJMPS } free(rp->i_dev, *cp); } brelse(bp); } free(rp->i_dev, *ip); *ip = 0; } rp->i_mode =& ~ILARG; rp->i_size0 = 0; rp->i_size1 = 0; rp->i_flag =| IUPD; } /* * Make a new file. */ maknode(mode) { register *ip; ip = ialloc(u.u_pdir->i_dev); if (ip==NULL) return(NULL); ip->i_flag =| IACC|IUPD; ip->i_mode = mode|IALLOC; ip->i_nlink = 1; ip->i_uid = u.u_uid; ip->i_gid = u.u_gid; wdir(ip); return(ip); } /* * Write a directory entry with * parameters left as side effects * u@ ȋ@p@ww  57Nf Nb X  Ne @-@E5% %N| X d@tE %q X wzw h  A H@wRw @N %ou@ 5@ H@ ȋ wu@e5w   wN jw ~w De   % w7 7 ׯ - (w 7  .w eB J ӕ- R r f # #include "../param.h" #include "../systm.h" #include "../user.h" #include "../inode.h" #include "../filsys.h" #include "../conf.h" #include "../buf.h" /* * Look up an inode by device,inumber. * If it is in core (in the inode structure), * honor the locking protocol. * If it is not in core, read it in from the * specified device. * If the inode is mounted on, perform * the indicated indirection. * In all cases, a pointer to a locked * inode structure is returned. * * printf warning: no inodes -to a call to namei. */ wdir(ip) int *ip; { register char *cp1, *cp2; u.u_dent.u_ino = ip->i_number; cp1 = &u.u_dent.u_name[0]; for(cp2 = &u.u_dbuf[0]; cp2 < &u.u_dbuf[DIRSIZ];) *cp1++ = *cp2++; u.u_count = DIRSIZ+2; u.u_segflg = 1; u.u_base = &u.u_dent; writei(u.u_pdir); iput(u.u_pdir); } e0 @ >>  ҋ D~8  ӕ0 $f v Le0 9e    7 we&  m   ~    ~ w7 z  p l 0   X Wp `e0eӕ?f@  ,6 P , &  @f  T7r  T  -  f@w fw.w*  w~fwp7 fwJA 7 - if the inode * structure is full * panic: no imt -- if the mounted file * system is not in the mount table. * "cannot happen" */ iget(dev, ino) { register struct inode *p; register *ip2; int *ip1; register struct mount *ip; loop: ip = NULL; for(p = &inode[0]; p < &inode[NINODE]; p++) { if(dev==p->i_dev && ino==p->i_number) { if((p->i_flag&ILOCK) != 0) { p->i_flag =| IWANT; sleep(p, PINOD); goto loop; } if((p->i_flag&IMOUNT) != 0) { for(ip = &mount[0]; ip < &mount[NMOBEHKNQTWX[L fAW,f B@ 8 @&61fA   @ @e7v1@ 1wfwXwTw fw>AQ  OfA  ^ y   F y @0fA  @9 fA @e&7w7@w7 fAW @wz fV1V7n 5 ewZ 5& w& L& H& D& @& <&~ 8&x 4&r 0&l ,&f (&` $&Z &T &N &H &B &< &6 &0 &* f& fw~w f "& w }f@fA w,6w"0e"w"&ew"@lw"Alew &@t`e @& HADCBF7F2cpvpl~ */usr/fort/fc1/usr/fort/fc2%s: as-f.tmp1/bin/asa.outa.outmove failed: %s ld-x/lib/fr0.o-lf/lib/filib.a-l/bin/ldf.tmp1de# /* */ /* * RP disk driver */ #include "../param.h" #include "../buf.h" #include "../conf.h" #include "../user.h" struct { int rpds; int rper; int rpcs; int rpwc; int rpba; int rpca; int rpda; }; #define RPADDR 0176710 #define NRP 8 struct { char *nblocks; int cyloff; } rp_sizes[] { 40600, 0, /* cyl 0 thru 202 */ 40600, 203, /* cyl 203 thru 405 */ 9200, 0, /* cyl 0 thru 45 */ 9200, 360, /* cyl 360 thru 405 */ -1, 0, /* cyl 0 thru 327 */ -1, 78, /* cyl 78 thru 405 */ 15600, 0, SED; spl0(); } else pcleader(); } pcread() { register int c; spl4(); do { while ((c = getc(&pc11.pcin)) < 0) { if (pc11.pcstate==EOF) goto out; if ((PCADDR->pcrcsr&(ERROR|BUSY|DONE))==0) PCADDR->pcrcsr =| IENABLE|RDRENB; sleep(&pc11.pcin, PCIPRI); } } while (passc(c)>=0); out: spl0(); } pcwrite() { register int c; while ((c=cpass())>=0) pcoutput(c); } pcstart() { register int c; if (PCADDR->pcpcsr&DONE && (c = getc(&pc11.pcout)) >= 0) PCADDR->pcpbuf = c; } pcrinfineincludeCan't creat %s Undefined controlNested 'include'Missing file %sControl syntax%d: Line overflowCan't find %s Try again Fatal error in %s d$ o x` fn e c s l| rT  0 %ew /* cyl 0 thru 77 */ 15600, 328, /* cyl 328 thru 405 */ }; struct devtab rptab; struct buf rrpbuf; #define GO 01 #define RESET 0 #define HSEEK 014 #define IENABLE 0100 #define READY 0200 #define SUFU 01000 #define SUSU 02000 #define SUSI 04000 #define HNF 010000 /* * Use av_back to save track+sector, * b_resid for cylinder. */ #define trksec av_back #define cylin b_resid rpstrategy(abp) struct buf *abp; { register struct buf *bp; register char *p1, *p2; bp = abp; if(bp->b_flags&B_PHYS) mat() { if (pc11.pcstate==WAITING) { if (PCADDR->pcrcsr&ERROR) return; pc11.pcstate = READING; } if (pc11.pcstate==READING) { if (PCADDR->pcrcsr&ERROR) pc11.pcstate = EOF; else { putc(PCADDR->pcrbuf, &pc11.pcin); if (pc11.pcin.cc < PCIHWAT) PCADDR->pcrcsr =| IENABLE|RDRENB; } wakeup(&pc11.pcin); } } pcpint() { pcstart(); if (pc11.pcout.cc <= PCOLWAT) wakeup(&pc11.pcout); } pcoutput(c) { if (PCADDR->pcpcsr&ERROR) { u.u_error = EIO; return; } if (pc11.pcout.cc >= PC# /* */ /* * Memory special file * minor device 0 is physical memory * minor device 1 is kernel memory * minor device 2 is EOF/RATHOLE */ #include "../param.h" #include "../user.h" #include "../conf.h" #include "../seg.h" mmread(dev) { register c, bn, on; int a, d; if(dev.d_minor == 2) return; do { bn = lshift(u.u_offset, -6); on = u.u_offset[1] & 077; a = UISA->r[0]; d = UISD->r[0]; spl7(); UISA->r[0] = bn; UISD->r[0] = 077406; if(dev.d_minor == 1) UISA->r[0] = (ka6-6)->rpalloc(bp); p1 = &rp_sizes[bp->b_dev.d_minor&07]; if (bp->b_dev.d_minor >= (NRP<<3) || bp->b_blkno >= p1->nblocks) { bp->b_flags =| B_ERROR; iodone(bp); return; } bp->av_forw = 0; bp->cylin = p1->cyloff; p1 = bp->b_blkno; p2 = lrem(p1, 10); p1 = ldiv(p1, 10); bp->trksec = (p1%20)<<8 | p2; bp->cylin =+ p1/20; spl5(); if ((p1 = rptab.d_actf)==0) rptab.d_actf = bp; else { for (; p2 = p1->av_forw; p1 = p2) { if (p1->cylin <= bp->cylin && bp->cylin < p2->cylin || p1->cylinOHWAT) sleep(&pc11.pcout, PCOPRI); putc(c, &pc11.pcout); spl4(); pcstart(); spl0(); } pcleader() { register int i; i = 100; do pcoutput(0); while (--i); } [(bn>>7)&07] + (bn & 0177); c = fuibyte(on); UISA->r[0] = a; UISD->r[0] = d; spl0(); } while(u.u_error==0 && passc(c)>=0); } mmwrite(dev) { register c, bn, on; int a, d; if(dev.d_minor == 2) { c = u.u_count; u.u_count = 0; u.u_base =+ c; dpadd(u.u_offset, c); return; } for(;;) { bn = lshift(u.u_offset, -6); on = u.u_offset[1] & 077; if ((c=cpass())<0 || u.u_error!=0) break; a = UISA->r[0]; d = UISD->r[0]; spl7(); UISA->r[0] = bn; UISD->r[0] = 077406; if(dev.d_m >= bp->cylin && bp->cylin > p2->cylin) break; } bp->av_forw = p2; p1->av_forw = bp; } if (rptab.d_active==0) rpstart(); spl0(); } rpstart() { register struct buf *bp; if ((bp = rptab.d_actf) == 0) return; rptab.d_active++; RPADDR->rpda = bp->trksec; devstart(bp, &RPADDR->rpca, bp->cylin, bp->b_dev.d_minor>>3); } rpintr() { register struct buf *bp; register int ctr; if (rptab.d_active == 0) return; bp = rptab.d_actf; rptab.d_active = 0; if (RPADDR->rpcs < 0) { /* errfilopsvy|inor == 1) UISA->r[0] = (ka6-6)->r[(bn>>7)&07] + (bn & 0177); suibyte(on, c); UISA->r[0] = a; UISD->r[0] = d; spl0(); } } or bit */ deverror(bp, RPADDR->rper, RPADDR->rpds); if(RPADDR->rpds & (SUFU|SUSI|HNF)) { RPADDR->rpcs.lobyte = HSEEK|GO; ctr = 0; while ((RPADDR->rpds&SUSU) && --ctr); } RPADDR->rpcs = RESET|GO; ctr = 0; while ((RPADDR->rpcs&READY) == 0 && --ctr); if (++rptab.d_errcnt <= 10) { rpstart(); return; } bp->b_flags =| B_ERROR; } rptab.d_errcnt = 0; rptab.d_actf = bp->av_forw; bp->b_resid = RPADDR->rpwc; iodone(bp); rpstart(); } rpread(dev) { if(rpphys(dev)) physio(rpstra# /* */ /* * TJU16 tape driver */ #include "../param.h" #include "../buf.h" #include "../conf.h" #include "../user.h" struct { int htcs1; int htwc; int htba; int htfc; int htcs2; int htds; int hter; int htas; int htck; int htdb; int htmr; int htdt; int htsn; int httc; int htbae; /* 11/70 bus extension */ }; struct devtab httab; struct buf rhtbuf; #define NUNIT 8 char h_openf[NUNIT]; char *h_blkno[NUNIT]; char *h_nxrec[NUNIT]; #define HTADDR 0172440 #define GO 01 #define NOP 0 #defi# /* */ /* * RF disk driver */ #include "../param.h" #include "../buf.h" #include "../conf.h" #include "../user.h" struct { int rfcs; int rfwc; int rfba; int rfda; int rfdae; }; struct devtab rftab; struct buf rrfbuf; #define NRFBLK 1024 #define RFADDR 0177460 #define GO 01 #define RCOM 02 #define WCOM 04 #define CTLCLR 0400 #define IENABLE 0100 rfstrategy(abp) struct buf *abp; { register struct buf *bp; bp = abp; if(bp->b_flags&B_PHYS) mapalloc(bp); if (bp->b_blkno >= NRFBLK*(bp->b_detegy, &rrpbuf, dev, B_READ); } rpwrite(dev) { if(rpphys(dev)) physio(rpstrategy, &rrpbuf, dev, B_WRITE); } rpphys(dev) { register c; c = lshift(u.u_offset, -9); c =+ ldiv(u.u_count+511, 512); if(c > rp_sizes[dev.d_minor & 07].nblocks) { u.u_error = ENXIO; return(0); } return(1); } ne WEOF 026 #define SFORW 030 #define SREV 032 #define ERASE 024 #define REW 06 #define CLR 010 #define P800 01300 /* 800 + pdp11 mode */ #define P1600 02300 /* 1600 + pdp11 mode */ #define IENABLE 0100 #define CRDY 0200 #define EOF 04 #define DRY 0200 #define MOL 010000 #define PIP 020000 #define ERR 040000 #define SSEEK 1 #define SIO 2 htopen(dev, flag) { register unit; unit = dev.d_minor&077; if (unit >= NUNIT || h_openf[unit]) u.u_error = ENXIO; else { h_openf[unit]++; h_blkno[unit] = 0; v.d_minor+1)) { bp->b_flags =| B_ERROR; iodone(bp); return; } bp->av_forw = 0; spl5(); if (rftab.d_actf==0) rftab.d_actf = bp; else rftab.d_actl->av_forw = bp; rftab.d_actl = bp; if (rftab.d_active==0) rfstart(); spl0(); } rfstart() { register struct buf *bp; if ((bp = rftab.d_actf) == 0) return; rftab.d_active++; RFADDR->rfdae = bp->b_blkno.hibyte; devstart(bp, &RFADDR->rfda, bp->b_blkno<<8, 0); } rfintr() { register struct buf *bp; if (rftab.d_active == 0) return; bp = # /* */ /* * PC-11 Paper tape reader/punch driver */ #include "../param.h" #include "../conf.h" #include "../user.h" #define PCADDR 0177550 #define CLOSED 0 #define WAITING 1 #define READING 2 #define EOF 3 #define RDRENB 01 #define IENABLE 0100 #define DONE 0200 #define BUSY 04000 #define ERROR 0100000 #define PCIPRI 30 #define PCOPRI 40 #define PCOLWAT 50 #define PCOHWAT 100 #define PCIHWAT 250 struct { int pcrcsr; int pcrbuf; int pcpcsr; int pcpbuf; }; struct clist { int cc; int cf; int h_nxrec[unit] = 65535; hcommand(dev, NOP); } } htclose(dev, flag) { register int unit; unit = dev.d_minor&077; h_openf[unit] = 0; if (flag) { hcommand(dev, WEOF); hcommand(dev, WEOF); } hcommand(dev, REW); } hcommand(dev, com) { register unit; extern lbolt; unit = dev.d_minor; while (httab.d_active || (HTADDR->htcs1 & CRDY)==0) sleep(&lbolt, 1); HTADDR->htcs2 = (unit>>3)&07; while((HTADDR->htds&DRY) == 0) sleep(&lbolt, 1); if(unit >= 64) HTADDR->httc = P800 | (unit&07); else rftab.d_actf; rftab.d_active = 0; if (RFADDR->rfcs < 0) { /* error bit */ deverror(bp, RFADDR->rfcs, RFADDR->rfdae); RFADDR->rfcs = CTLCLR; if (++rftab.d_errcnt <= 10) { rfstart(); return; } bp->b_flags =| B_ERROR; } rftab.d_errcnt = 0; rftab.d_actf = bp->av_forw; iodone(bp); rfstart(); } rfread(dev) { physio(rfstrategy, &rrfbuf, dev, B_READ); } rfwrite(dev) { physio(rfstrategy, &rrfbuf, dev, B_WRITE); } cl; }; struct pc11 { int pcstate; struct clist pcin; struct clist pcout; } pc11; pcopen(dev, flag) { extern lbolt; if (flag==0) { if (pc11.pcstate!=CLOSED) { u.u_error = ENXIO; return; } pc11.pcstate = WAITING; while(pc11.pcstate==WAITING) { PCADDR->pcrcsr = IENABLE|RDRENB; sleep(&lbolt, PCIPRI); } } else { PCADDR->pcpcsr =| IENABLE; pcleader(); } } pcclose(dev, flag) { if (flag==0) { spl4(); while (getc(&pc11.pcin) >= 0); PCADDR->pcrcsr = 0; pc11.pcstate = CLO HTADDR->httc = P1600 | (unit&07); while((HTADDR->htds&(MOL|PIP)) != MOL) sleep(&lbolt, 1); HTADDR->htcs1 = com | GO; } htstrategy(abp) struct buf *abp; { register struct buf *bp; register char **p; bp = abp; p = &h_nxrec[bp->b_dev.d_minor&077]; if (*p <= bp->b_blkno) { if (*p < bp->b_blkno) { bp->b_flags =| B_ERROR; iodone(bp); return; } if (bp->b_flags&B_READ) { clrbuf(bp); iodone(bp); return; } } if ((bp->b_flags&B_READ)==0) *p = bp->b_blkno + 1; bp->av_forw = 0; spl5(); if (httab.d_actf==0) httab.d_actf = bp; else httab.d_actl->av_forw = bp; httab.d_actl = bp; if (httab.d_active==0) htstart(); spl0(); } htstart() { register struct buf *bp; register int unit; register char *blkno; loop: if ((bp = httab.d_actf) == 0) return; unit = bp->b_dev.d_minor; HTADDR->htcs2 = (unit>>3)&07; if(unit >= 64) HTADDR->httc = P800 | (unit&07); else HTADDR->httc = P1600 | (unit&07); unit =& 077; blkno = h_blkno[unit]; if (h_openf[unit] < 0 || (HTADD0) { com =| TREV; tctab.d_active = SREV; } *tccmp = com; } tcintr() { register struct buf *bp; register int *tccmp; register int *tcdtp; tccmp = &TCADDR->tccm; tcdtp = &TCADDR->tccsr; bp = tctab.d_actf; if (*tccmp&TAPERR) { if((*tcdtp&(ENDZ|BLKM)) == 0) deverror(bp, *tcdtp, 0); if(*tcdtp & (ILGOP|SELERR)) { tcper[bp->b_dev&07]++; tctab.d_errcnt = 0; } *tccmp =& ~TAPERR; if (--tctab.d_errcnt <= 0) { bp->b_flags =| B_ERROR; goto done; } if (*tccmp&TREV) { setforwdp_bufp; int dp_nxmit; char dp_state; char dp_timer; int dp_proc; } dp11; /* device registers */ struct { int dprcsr; char dprbuf; char dpsyn0; int dptcsr; char dptbuf; char dpsyn1; }; /* bits */ #define ODDPAR 010000 #define IENABLE 0100 #define HDUPLX 02 #define CTRANS 0100000 #define RORUN 040000 #define RING 020000 #define DSRDY 010000 #define CARRIER 04000 #define DONE 0200 #define IENABLE 0100 #define SIENABL 040 #define WRITE 1 #define READ 0 #define DTRDY 01 #define RCVACT 04000 #defR->htcs1 & CRDY)==0) { bp->b_flags =| B_ERROR; httab.d_actf = bp->av_forw; iodone(bp); goto loop; } if (blkno != bp->b_blkno) { httab.d_active = SSEEK; if (blkno < bp->b_blkno) { HTADDR->htfc = blkno - bp->b_blkno; HTADDR->htcs1 = SFORW|IENABLE|GO; } else { if (bp->b_blkno == 0) HTADDR->htcs1 = REW|IENABLE|GO; else { HTADDR->htfc = bp->b_blkno - blkno; HTADDR->htcs1 = SREV|IENABLE|GO; } } return; } httab.d_active = SIO; rhstart(bp, &HTADDR->htfc, bp->b_wcoun: tctab.d_active = SFORW; *tccmp =& ~TREV; } else { setback: tctab.d_active = SREV; *tccmp =| TREV; } (*tccmp).lobyte = IENABLE|RNUM|GO; return; } tcdtp = &TCADDR->tcdt; switch (tctab.d_active) { case SIO: done: tctab.d_active = 0; if (tctab.d_actf = bp->av_forw) tcstart(); else TCADDR->tccm.lobyte = SAT|GO; iodone(bp); return; case SFORW: if (*tcdtp > bp->b_blkno) goto setback; if (*tcdtp < bp->b_blkno) goto setforw; *--tcdtp = bp->b_addr; /* core ine DPADDR 0174770 #define DPPRI 5 #define SYN 026 /* (receive) sync character */ /* * The open fails unless the device is not open or * the opening process is the one that has it open already. */ dpopen(dev, flag) { int dptimeout(); if (dp11.dp_proc!=0 && dp11.dp_proc!=u.u_procp) { u.u_error = ENXIO; return; } dp11.dp_proc = u.u_procp; dp11.dp_state = READ; if (dp11.dp_buf==0) { dp11.dp_buf = getblk(NODEV); dp11.dp_bufp = dp11.dp_buf->b_addr; dp11.dp_timer = HZ; timeout(dptimeout, 0t<<1, &HTADDR->htbae); } htintr() { register struct buf *bp; register int unit; if ((bp = httab.d_actf)==0) return; unit = bp->b_dev.d_minor&077; if (HTADDR->htcs1 & ERR) { /* deverror(bp, HTADDR->hter, 0); */ if(HTADDR->htds&EOF) { if(bp != &rhtbuf && h_openf[unit]) h_openf[unit] = -1; } HTADDR->htcs1 = ERR|CLR|GO; if ((HTADDR->htds&DRY)!=0 && httab.d_active==SIO) { if (++httab.d_errcnt < 10) { h_blkno[unit]++; httab.d_active = 0; htstart(); return; } } address */ *--tcdtp = bp->b_wcount; tccmp->lobyte = ((bp->b_xmem & 03) << 4) | IENABLE|GO | (bp->b_flags&B_READ?RDATA:WDATA); tctab.d_active = SIO; return; case SREV: if (*tcdtp+3 > bp->b_blkno) goto setback; goto setforw; } } , HZ); } DPADDR->dpsyn0 = SYN; DPADDR->dprcsr = HDUPLX|IENABLE; DPADDR->dptcsr = IENABLE|SIENABL|DTRDY; } dpclose() { DPADDR->dprcsr = 0; DPADDR->dptcsr = 0; dp11.dp_timer = 0; dp11.dp_proc = 0; if (dp11.dp_buf != 0) { brelse(dp11.dp_buf); dp11.dp_buf = 0; } } /* * Read waits until: * there is loss of "data set ready", or * a timeout occurs, or * a full record has been received. * The former two result in an error. */ dpread() { register char *bp, **epp; bp = dp11.dp_buf->b_addr;bp->b_flags =| B_ERROR; httab.d_active = SIO; } if (httab.d_active == SIO) { httab.d_errcnt = 0; h_blkno[unit]++; httab.d_actf = bp->av_forw; httab.d_active = 0; iodone(bp); bp->b_resid = HTADDR->htfc; } else h_blkno[unit] = bp->b_blkno; htstart(); } htread(dev) { htphys(dev); physio(htstrategy, &rhtbuf, dev, B_READ); u.u_count = -rhtbuf.b_resid; } htwrite(dev) { htphys(dev); physio(htstrategy, &rhtbuf, dev, B_WRITE); u.u_count = 0; } htphys(dev) { register unit, a; unit = de# /* */ /* * DN-11 ACU interface */ #include "../param.h" #include "../conf.h" #include "../user.h" struct dn { struct { char dn_stat; char dn_reg; } dn11[3]; } #define DNADDR 0175200 #define PWI 00200 #define ACR 00100 #define DLO 0020 #define DONE 0200 #define IENABLE 0100 #define DSS 040 #define PND 020 #define MENABLE 04 #define DPR 02 #define CRQ 01 #define DNPRI 5 dnopen(dev, flag) { register struct dn *dp; register int rdev; rdev = dev.d_minor; dp = &DNADDR->dn11[rdev]; if (dp-> epp = &dp11.dp_bufp; for(;;) { if(dpwait()) return; if (*epp > bp) break; spl6(); if (dp11.dp_timer <= 1) { spl0(); return; } sleep(&dp11, DPPRI); spl0(); } iomove(dp11.dp_buf, 0, min(u.u_count, *epp-bp), B_READ); } /* * write checks to make sure that the data set is not reading, * and that it is ready. Then the record is copied * and transmission started. */ dpwrite() { register char *bp; if (u.u_count==0 || dpwait()) return; dp11.dp_state = WRITE; bp = dp11.dp_bv.d_minor; a = lshift(u.u_offset, -9); h_blkno[unit] = a; h_nxrec[unit] = ++a; } dn_reg&(PWI|DLO)) u.u_error = ENXIO; else { DNADDR->dn11[0].dn_stat =| MENABLE; dp->dn_stat = IENABLE|MENABLE|CRQ; } } dnclose(dev) { DNADDR->dn11[dev.d_minor].dn_stat =& MENABLE; } dnwrite(dev) { register struct dn *dp; register c; extern lbolt; dp = &DNADDR->dn11[dev.d_minor]; for(;;) { while ((dp->dn_stat&DONE)==0) sleep(DNADDR, DNPRI); dp->dn_stat =& ~DONE; contin: if (dp->dn_reg&(PWI|ACR)) { u.u_error = EIO; return; } if (dp->dn_stat&DSS) return; c = 0; iuf->b_addr; dp11.dp_bufp = bp; if (u.u_count>512) u.u_count = 512; dp11.dp_nxmit = u.u_count; iomove(dp11.dp_buf, 0, u.u_count, B_WRITE); dpstart(); } /* * If "data set ready" is down return an error; otherwise * wait until the dataset is in read state with no carrier, * which means a record has just been received. */ dpwait() { for(;;) { if ((DPADDR->dptcsr&DSRDY)==0 || dp11.dp_buf==0) { u.u_error = EIO; return(1); } spl6(); if (dp11.dp_state==READ && (DPADDR->dptcsr&CARRIER)==0)# /* */ /* * TC-11 DECtape driver */ #include "../param.h" #include "../conf.h" #include "../buf.h" #include "../user.h" struct { int tccsr; int tccm; int tcwc; int tcba; int tcdt; }; struct devtab tctab; char tcper[8]; #define TCADDR 0177340 #define NTCBLK 578 #define TAPERR 0100000 #define TREV 04000 #define READY 0200 #define IENABLE 0100 #define UPS 0200 #define ENDZ 0100000 #define BLKM 02000 #define ILGOP 010000 #define SELERR 04000 #define SAT 0 #define RNUM 02 #define RDATA 04 #definef (u.u_count==0 || (dp->dn_stat&PND)==0 || (c=cpass())<0) continue; if (c=='-') { sleep(&lbolt, DNPRI); sleep(&lbolt, DNPRI); goto contin; } dp->dn_reg = c-'0'; dp->dn_stat =| DPR; } } dnint(dev) { wakeup(DNADDR); } { spl0(); return(0); } sleep(&dp11, DPPRI); spl0(); } } /* * Start off the next character to be transmitted; * when the record is done, drop back into read state. */ dpstart() { register int c; extern char partab[]; dp11.dp_timer = 10; if (--dp11.dp_nxmit >= 0) { c = (*dp11.dp_bufp++) & 0177; DPADDR->dptbuf = c | ~partab[c]&0200; } else { dp11.dp_bufp = dp11.dp_buf->b_addr; dp11.dp_state = READ; } } /* * Count down the DP timer (once per second) * If it runs out, it presu SST 010 #define WDATA 014 #define GO 01 #define SFORW 1 #define SREV 2 #define SIO 3 tcclose(dev) { bflush(dev); tcper[dev&07] = 0; } tcstrategy(abp) struct buf *abp; { register struct buf *bp; bp = abp; if(bp->b_flags&B_PHYS) mapalloc(bp); if(bp->b_blkno >= NTCBLK || tcper[bp->b_dev&07]) { bp->b_flags =| B_ERROR; iodone(bp); return; } bp->av_forw = 0; spl6(); if (tctab.d_actf==0) tctab.d_actf = bp; else tctab.d_actl->av_forw = bp; tctab.d_actl = bp; if (tctab.d_active==0) tcrux{~mably means the other station * won't speak. */ dptimeout() { if (dp11.dp_timer==0) return; if (--dp11.dp_timer==0) { dpturnaround(); dp11.dp_timer = 1; } timeout(dptimeout, 0, HZ); } /* * Receiver interrupt: if reading, stash character * unless there is an overrun. */ dprint() { register int c; c = DPADDR->dprbuf & 0177; if (dp11.dp_state==READ) { if ((DPADDR->dprcsr&ODDPAR) == 0) c =| 0200; if (dp11.dp_bufp < dp11.dp_buf->b_addr+512) *dp11.dp_bufp++ = c; } } /* * Transmittstart(); spl0(); } tcstart() { register struct buf *bp; register int *tccmp, com; loop: tccmp = &TCADDR->tccm; if ((bp = tctab.d_actf) == 0) return; if(tcper[bp->b_dev&07]) { if((tctab.d_actf = bp->av_forw) == 0) (*tccmp).lobyte = SAT|GO; bp->b_flags =| B_ERROR; iodone(bp); goto loop; } if (((*tccmp).hibyte&07) != bp->b_dev.d_minor) (*tccmp).lobyte = SAT|GO; tctab.d_errcnt = 20; tctab.d_active = SFORW; com = (bp->b_dev.d_minor<<8) | IENABLE|RNUM|GO; if ((TCADDR->tccsr & UPS) == # /* */ /* * DP-11 Synchronous interface driver * This driver is rather insensitive to the remote * device it talks to, which is to say most of the protocol * must be supplied by the calling program. * Exceptions: parity is even; 7 data bits per character; * max. of 512 characters per record; 10 second timeout * on waiting to receive; half-duplex transmission. */ #include "../param.h" #include "../conf.h" #include "../user.h" #include "../buf.h" /* control info */ struct { char *dp_buf; char *er interrupt: * Knock down hardware bits. * If carrier has dropped, the record is done, so turn the line around; * otherwise start another character. */ dpxint() { register int dpstat; dpstat = DPADDR->dptcsr; DPADDR->dptcsr =& ~(CTRANS|RORUN|RING|DONE); if (dpstat & (CTRANS|RORUN)) dpturnaround(); else if (dpstat&DONE && dp11.dp_state==WRITE) dpstart(); } /* * Change the state from writing to reading at the end of a record. */ dpturnaround() { DPADDR->dprcsr =& ~RCVACT; if (dp11.dp_state==WRITE) { dp11.dp_timer = 10; dp11.dp_state = READ; dp11.dp_bufp = dp11.dp_buf->b_addr; } wakeup(&dp11); } The actual structure of a clist block manipulated by * getc and putc (mch.s) */ struct cblock { struct cblock *c_next; char info[6]; }; /* The character lists-- space for 6*NCLIST characters */ struct cblock cfree[NCLIST]; /* List head for unused character blocks. */ struct cblock *cfreelist; /* * structure of device registers for KL, DL, and DC * interfaces-- more particularly, those for which the * SSTART bit is off and can be treated by general routines * (that is, not DH). */ struct { int tags&RAW)==0 && (c==CQUIT || c==CINTR)) { signal(tp, c==CINTR? SIGINT:SIGQIT); flushtty(tp); return; } if (tp->t_rawq.c_cc>=TTYHOG) { flushtty(tp); return; } if (t_flags&LCASE && c>='A' && c<='Z') c =+ 'a'-'A'; putc(c, &tp->t_rawq); if (t_flags&RAW || c=='\n' || c==004) { wakeup(&tp->t_rawq); if (putc(0377, &tp->t_rawq)==0) tp->t_delct++; } if (t_flags&ECHO) { ttyoutput(c, tp); ttstart(tp); } } /* * put character on TTY output queue, adding delays, * expanding tabs, and han# /* */ /* * RS03/04 disk driver */ #include "../param.h" #include "../buf.h" #include "../conf.h" #include "../user.h" struct { int hscs1; /* Control and Status register 1 */ int hswc; /* Word count register */ int hsba; /* UNIBUS address register */ int hsda; /* Desired address register */ int hscs2; /* Control and Status register 2 */ int hsds; /* Drive Status */ int hser; /* Error register */ int hsas; /* not used */ int hsla; /* not used */ int hsdb; /* not used */ int hsmr; /* not ustrcsr; int ttrbuf; int tttcsr; int tttbuf; }; /* * The routine implementing the gtty system call. * Just call lower level routine and pass back values. */ gtty() { int v[3]; register *up, *vp; vp = v; sgtty(vp); if (u.u_error) return; up = u.u_arg[0]; suword(up, *vp++); suword(++up, *vp++); suword(++up, *vp++); } /* * The routine implementing the stty system call. * Read in values and call lower level. */ stty() { register int *up; up = u.u_arg[0]; u.u_arg[0] = fuword(up); u.u_ardling the CR/NL bit. * It is called both from the top half for output, and from * interrupt level for echoing. * The arguments are the character and the tty structure. */ ttyoutput(ac, tp) struct tty *tp; { register int c; register struct tty *rtp; register char *colp; int ctype; rtp = tp; c = ac&0177; /* * Ignore EOT in normal mode to avoid hanging up * certain terminals. */ if (c==004 && (rtp->t_flags&RAW)==0) return; /* * Turn tabs to spaces as required */ if (c=='\t' && rtp->ted */ int hsdt; /* not used */ int hsbae; /* 11/70 bus extension */ }; struct devtab hstab; struct buf rhsbuf; #define HSADDR 0172040 #define ERR 040000 /* hscs1 - composite error */ #define GO 01 #define RCLR 010 #define DRY 0200 /* hsds - Drive Ready */ hsstrategy(abp) struct buf *abp; { register struct buf *bp; register mblks; bp = abp; mblks = 1024; /* RJS03 */ if(bp->b_dev.d_minor >= 8) mblks = 2048; /* RJS04 */ if(bp->b_blkno >= mblks) { bp->b_flags =| B_ERROR; iodone(bp); returng[1] = fuword(++up); u.u_arg[2] = fuword(++up); sgtty(0); } /* * Stuff common to stty and gtty. * Check legality and switch out to individual * device routine. * v is 0 for stty; the parameters are taken from u.u_arg[]. * c is non-zero for gtty and is the place in which the device * routines place their information. */ sgtty(v) int *v; { register struct file *fp; register struct inode *ip; if ((fp = getf(u.u_ar0[R0])) == NULL) return; ip = fp->f_inode; if ((ip->i_mode&IFMT) != IFCHR) { _flags&XTABS) { do ttyoutput(' ', rtp); while (rtp->t_col&07); return; } /* * for upper-case-only terminals, * generate escapes. */ if (rtp->t_flags&LCASE) { colp = "({)}!|^~'`"; while(*colp++) if(c == *colp++) { ttyoutput('\\', rtp); c = colp[-2]; break; } if ('a'<=c && c<='z') c =+ 'A' - 'a'; } /* * turn to if desired. */ if (c=='\n' && rtp->t_flags&CRMOD) ttyoutput('\r', rtp); if (putc(c, &rtp->t_outq)) return; /* * Calculate delay; } bp->av_forw = 0; spl5(); if (hstab.d_actf==0) hstab.d_actf = bp; else hstab.d_actl->av_forw = bp; hstab.d_actl = bp; if (hstab.d_active==0) hsstart(); spl0(); } hsstart() { register struct buf *bp; register addr; if ((bp = hstab.d_actf) == 0) return; hstab.d_active++; addr = bp->b_blkno; if(bp->b_dev.d_minor < 8) addr =<< 1; /* RJS03 */ HSADDR->hscs2 = bp->b_dev.d_minor & 07; rhstart(bp, &HSADDR->hsda, addr<<1, &HSADDR->hsbae); } hsintr() { register struct buf *bp; if (hst u.u_error = ENOTTY; return; } (*cdevsw[ip->i_addr[0].d_major].d_sgtty)(ip->i_addr[0], v); } /* * Wait for output to drain, then flush input waiting. */ wflushtty(atp) struct tty *atp; { register struct tty *tp; tp = atp; spl5(); while (tp->t_outq.c_cc) { tp->t_state =| ASLEEP; sleep(&tp->t_outq, TTOPRI); } flushtty(tp); spl0(); } /* * Initialize clist by freeing all character blocks, then count * number of character devices. (Once-only routine) */ cinit() { register int ccp; regists. * The numbers here represent clock ticks * and are not necessarily optimal for all terminals. * The delays are indicated by characters above 0200, * thus (unfortunately) restricting the transmission * path to 7 bits. */ colp = &rtp->t_col; ctype = partab[c]; c = 0; switch (ctype&077) { /* ordinary */ case 0: (*colp)++; /* non-printing */ case 1: break; /* backspace */ case 2: if (*colp) (*colp)--; break; /* newline */ case 3: ctype = (rtp->t_flags >> 8) & 03; ifab.d_active == 0) return; bp = hstab.d_actf; hstab.d_active = 0; if(HSADDR->hscs1 & ERR){ /* error bit */ deverror(bp, HSADDR->hscs2, 0); HSADDR->hscs1 = RCLR|GO; if (++hstab.d_errcnt <= 10) { hsstart(); return; } bp->b_flags =| B_ERROR; } hstab.d_errcnt = 0; hstab.d_actf = bp->av_forw; iodone(bp); hsstart(); } hsread(dev) { physio(hsstrategy, &rhsbuf, dev, B_READ); } hswrite(dev) { physio(hsstrategy, &rhsbuf, dev, B_WRITE); } er struct cblock *cp; register struct cdevsw *cdp; ccp = cfree; for (cp=(ccp+07)&~07; cp <= &cfree[NCLIST-1]; cp++) { cp->c_next = cfreelist; cfreelist = cp; } ccp = 0; for(cdp = cdevsw; cdp->d_open; cdp++) ccp++; nchrdev = ccp; } /* * flush all TTY queues */ flushtty(atp) struct tty *atp; { register struct tty *tp; register int sps; tp = atp; while (getc(&tp->t_canq) >= 0); while (getc(&tp->t_outq) >= 0); wakeup(&tp->t_rawq); wakeup(&tp->t_outq); sps = PS->integ; spl5(); while ((ctype == 1) { /* tty 37 */ if (*colp) c = max((*colp>>4) + 3, 6); } else if(ctype == 2) { /* vt05 */ c = 6; } *colp = 0; break; /* tab */ case 4: ctype = (rtp->t_flags >> 10) & 03; if(ctype == 1) { /* tty 37 */ c = 1 - (*colp | ~07); if(c < 5) c = 0; } *colp =| 07; (*colp)++; break; /* vertical motion */ case 5: if(rtp->t_flags & VTDELAY) /* tty 37 */ c = 0177; break; /* carriage return */ case 6: ctype = (rtp->t_flags >> 12) & 03; if(ctype == 1getc(&tp->t_rawq) >= 0); tp->t_delct = 0; PS->integ = sps; } /* * transfer raw input list to canonical list, * doing erase-kill processing and handling escapes. * It waits until a full line has been typed in cooked mode, * or until any character has been typed in raw mode. */ canon(atp) struct tty *atp; { register char *bp; char *bp1; register struct tty *tp; register int c; tp = atp; spl5(); while (tp->t_delct==0) { if ((tp->t_state&CARR_ON)==0) return(0); sleep(&tp->t_rawq, TTIPRI);) { /* tn 300 */ c = 5; } else if(ctype == 2) { /* ti 700 */ c = 10; } *colp = 0; } if(c) putc(c|0200, &rtp->t_outq); } /* * Restart typewriter output following a delay * timeout. * The name of the routine is passed to the timeout * subroutine and it is called during a clock interrupt. */ ttrstrt(atp) { register struct tty *tp; tp = atp; tp->t_state =& ~TIMEOUT; ttstart(tp); } /* * Start output on the typewriter. It is used from the top half * after some characters have been # /* */ /* * general TTY subroutines */ #include "../param.h" #include "../systm.h" #include "../user.h" #include "../tty.h" #include "../proc.h" #include "../inode.h" #include "../file.h" #include "../reg.h" #include "../conf.h" /* * Input mapping table-- if an entry is non-zero, when the * corresponding character is typed preceded by "\" the escape * sequence is replaced by the table value. Mostly used for * upper-case only terminals. */ char maptab[] { 000,000,000,000,004,000,000,000, 000,00 } spl0(); loop: bp = &canonb[2]; while ((c=getc(&tp->t_rawq)) >= 0) { if (c==0377) { tp->t_delct--; break; } if ((tp->t_flags&RAW)==0) { if (bp[-1]!='\\') { if (c==tp->t_erase) { if (bp > &canonb[2]) bp--; continue; } if (c==tp->t_kill) goto loop; if (c==CEOT) continue; } else if (maptab[c] && (maptab[c]==c || (tp->t_flags&LCASE))) { if (bp[-2] != '\\') c = maptab[c]; bp--; } } *bp++ = c; if (bp>=canonb+CANBSIZ) breput on the output queue, * from the interrupt routine to transmit the next * character, and after a timeout has finished. * If the SSTART bit is off for the tty the work is done here, * using the protocol of the single-line interfaces (KL, DL, DC); * otherwise the address word of the tty structure is * taken to be the name of the device-dependent startup routine. */ ttstart(atp) struct tty *atp; { register int *addr, c; register struct tty *tp; struct { int (*func)(); }; tp = atp; addr = tp->t_0,000,000,000,000,000,000, 000,000,000,000,000,000,000,000, 000,000,000,000,000,000,000,000, 000,'|',000,'#',000,000,000,'`', '{','}',000,000,000,000,000,000, 000,000,000,000,000,000,000,000, 000,000,000,000,000,000,000,000, '@',000,000,000,000,000,000,000, 000,000,000,000,000,000,000,000, 000,000,000,000,000,000,000,000, 000,000,000,000,000,000,'~',000, 000,'A','B','C','D','E','F','G', 'H','I','J','K','L','M','N','O', 'P','Q','R','S','T','U','V','W', 'X','Y','Z',000,000,000,000,000, }; /* *ak; } bp1 = bp; bp = &canonb[2]; c = &tp->t_canq; while (bpt_flags; if ((c =& 0177) == '\r' && t_flags&CRMOD) c = '\n'; if ((t_fladdr; if (tp->t_state&SSTART) { (*addr.func)(tp); return; } if ((addr->tttcsr&DONE)==0 || tp->t_state&TIMEOUT) return; if ((c=getc(&tp->t_outq)) >= 0) { if (c<=0177) addr->tttbuf = c | (partab[c]&0200); else { timeout(ttrstrt, tp, c&0177); tp->t_state =| TIMEOUT; } } } /* * Called from device's read routine after it has * calculated the tty-structure given as argument. * The pc is backed up for the duration of this call. * In case of a caught interrupt, an RTI will re-execute. */ ttread(atp) struct tty *atp; { register struct tty *tp; tp = atp; if ((tp->t_state&CARR_ON)==0) return; if (tp->t_canq.c_cc || canon(tp)) while (tp->t_canq.c_cc && passc(getc(&tp->t_canq))>=0); } /* * Called from the device's write routine after it has * calculated the tty-structure given as argument. */ ttwrite(atp) struct tty *atp; { register struct tty *tp; register int c; tp = atp; if ((tp->t_state&CARR_ON)==0) return; while ((c=cpass())>=0) { spl5(); while (tp->t_outq.c_ccL; tp->t_speeds = SSPEED | (SSPEED<<8); tp->t_flags = ODDP|EVENP|ECHO; dhparam(tp); } dmopen(dev); tp->t_state =& ~WOPEN; tp->t_state =| ISOPEN; if (u.u_procp->p_ttyp == 0) u.u_procp->p_ttyp = tp; } /* * Close a DH11 line. */ dhclose(dev) { register struct tty *tp; tp = &dh11[dev.d_minor]; dmclose(dev); tp->t_state =& (CARR_ON|SSTART); wflushtty(tp); } /* * Read from a DH11 line. */ dhread(dev) { ttread(&dh11[dev.d_minor]); } /* * write on a DH11 line */ dhwrite(dev) { ttwrite(# /* */ /* * RK disk driver */ #include "../param.h" #include "../buf.h" #include "../conf.h" #include "../user.h" #define RKADDR 0177400 #define NRK 4 #define NRKBLK 4872 #define RESET 0 #define GO 01 #define DRESET 014 #define IENABLE 0100 #define DRY 0200 #define ARDY 0100 #define WLO 020000 #define CTLRDY 0200 struct { int rkds; int rker; int rkcs; int rkwc; int rkba; int rkda; }; struct devtab rktab; struct buf rrkbuf; rkstrategy(abp) struct buf *abp; { register struct buf *bp; regist > TTHIWAT) { ttstart(tp); tp->t_state =| ASLEEP; sleep(&tp->t_outq, TTOPRI); } spl0(); ttyoutput(c, tp); } ttstart(tp); } /* * Common code for gtty and stty functions on typewriters. * If v is non-zero then gtty is being done and information is * passed back therein; * if it is zero stty is being done and the input information is in the * u_arg array. */ ttystty(atp, av) int *atp, *av; { register *tp, *v; tp = atp; if(v = av) { *v++ = tp->t_speeds; v->lobyte = tp->t_erase; &dh11[dev.d_minor]); } /* * DH11 receiver interrupt. */ dhrint() { register struct tty *tp; register int c; while ((c = DHADDR->dhnxch) < 0) { /* char. present */ tp = &dh11[(c>>8)&017]; if (tp >= &dh11[NDH11]) continue; if((tp->t_state&ISOPEN)==0 || (c&PERROR)) { wakeup(tp); continue; } if (c&FRERROR) /* break */ if (tp->t_flags&RAW) c = 0; /* null (for getty) */ else c = 0177; /* DEL (intr) */ ttyinput(c, tp); } } /* * stty/gtty for DH11 */ dhsgtty(dev, av) er *qc, *ql; int d; bp = abp; if(bp->b_flags&B_PHYS) mapalloc(bp); d = bp->b_dev.d_minor-7; if(d <= 0) d = 1; if (bp->b_blkno >= NRKBLK*d) { bp->b_flags =| B_ERROR; iodone(bp); return; } bp->av_forw = 0; spl5(); if (rktab.d_actf==0) rktab.d_actf = bp; else rktab.d_actl->av_forw = bp; rktab.d_actl = bp; if (rktab.d_active==0) rkstart(); spl0(); } rkaddr(bp) struct buf *bp; { register struct buf *p; register int b; int d, m; p = bp; b = p->b_blkno; m = p->b_dev.d_minor - v->hibyte = tp->t_kill; v[1] = tp->t_flags; return(1); } wflushtty(tp); v = u.u_arg; tp->t_speeds = *v++; tp->t_erase = v->lobyte; tp->t_kill = v->hibyte; tp->t_flags = v[1]; return(0); } int *av; { register struct tty *tp; register r; tp = &dh11[dev.d_minor]; if (ttystty(tp, av)) return; dhparam(tp); } /* * Set parameters from open or stty into the DH hardware * registers. */ dhparam(atp) struct tty *atp; { register struct tty *tp; register int lpr; tp = atp; spl5(); DHADDR->dhcsr.lobyte = tp->t_dev.d_minor | IENABLE; /* * Hang up line? */ if (tp->t_speeds.lobyte==0) { tp->t_flags =| HUPCL; dmclose(tp->t_dev); return; } lpr = (tp->t_speeds.hibyte<<10) | (tp-> 7; if(m <= 0) d = p->b_dev.d_minor; else { d = lrem(b, m); b = ldiv(b, m); } return(d<<13 | (b/12)<<4 | b%12); } rkstart() { register struct buf *bp; if ((bp = rktab.d_actf) == 0) return; rktab.d_active++; devstart(bp, &RKADDR->rkda, rkaddr(bp), 0); } rkintr() { register struct buf *bp; if (rktab.d_active == 0) return; bp = rktab.d_actf; rktab.d_active = 0; if (RKADDR->rkcs < 0) { /* error bit */ deverror(bp, RKADDR->rker, RKADDR->rkds); RKADDR->rkcs = RESET|GO; while((RKA# /* */ /* * DM-BB fake driver */ #include "../tty.h" #include "../conf.h" struct tty dh11[]; dmopen(dev) { register struct tty *tp; tp = &dh11[dev.d_minor]; tp->t_state =| CARR_ON; } dmclose(dev) { } t_speeds.lobyte<<6); if (tp->t_speeds.lobyte == 4) /* 134.5 baud */ lpr =| BITS6|PENABLE|HDUPLX; else if (tp->t_flags&EVENP) if (tp->t_flags&ODDP) lpr =| BITS8; else lpr =| BITS7|PENABLE; else lpr =| BITS7|OPAR|PENABLE; if (tp->t_speeds.lobyte == 3) /* 110 baud */ lpr =| TWOSB; DHADDR->dhlpr = lpr; spl0(); } /* * DH11 transmitter interrupt. * Restart each line which used to be active but has * terminated transmission since the last interrupt. */ dhxint() { register struct tty DDR->rkcs&CTLRDY) == 0) ; if (++rktab.d_errcnt <= 10) { rkstart(); return; } bp->b_flags =| B_ERROR; } rktab.d_errcnt = 0; rktab.d_actf = bp->av_forw; iodone(bp); rkstart(); } rkread(dev) { physio(rkstrategy, &rrkbuf, dev, B_READ); } rkwrite(dev) { physio(rkstrategy, &rrkbuf, dev, B_WRITE); } *tp; register ttybit, bar; bar = dhsar & ~DHADDR->dhbar; DHADDR->dhcsr =& ~XINT; ttybit = 1; for (tp = dh11; bar; tp++) { if(bar&ttybit) { dhsar =& ~ttybit; bar =& ~ttybit; tp->t_state =& ~BUSY; dhstart(tp); } ttybit =<< 1; } } /* * Start (restart) transmission on the given DH11 line. */ dhstart(atp) struct tty *atp; { extern ttrstrt(); register c, nch; register struct tty *tp; int sps; char *cp; sps = PS->integ; spl5(); tp = atp; /* * If it's currently active, or del# /* */ /* * TM tape driver */ #include "../param.h" #include "../buf.h" #include "../conf.h" #include "../user.h" struct { int tmer; int tmcs; int tmbc; int tmba; int tmdb; int tmrd; }; struct devtab tmtab; struct buf rtmbuf; char t_openf[8]; char *t_blkno[8]; char *t_nxrec[8]; #define TMADDR 0172520 #define GO 01 #define RCOM 02 #define WCOM 04 #define WEOF 06 #define SFORW 010 #define SREV 012 #define WIRG 014 #define REW 016 #define DENS 060000 /* 9-channel */ #define IENABLE 0100 #defi# /* */ /* * DH-11 driver * This driver calls on the DHDM driver. * If the DH has no DM11-BB, then the latter will * be fake. To insure loading of the correct DM code, * lib2 should have dhdm.o, dh.o and dhfdm.o in that order. */ #include "../param.h" #include "../conf.h" #include "../user.h" #include "../tty.h" #include "../proc.h" #define DHADDR 0160020 #define NDH11 16 /* number of lines */ #define DHNCH 8 /* max number of DMA chars */ struct tty dh11[NDH11]; /* * Place from which to do DMA oaying, * no need to do anything. */ if (tp->t_state&(TIMEOUT|BUSY)) goto out; /* * t_char is a delay indicator which may have been * left over from the last start. * Arrange for the delay. */ if (c = tp->t_char) { tp->t_char = 0; timeout(ttrstrt, tp, (c&0177)+6); tp->t_state =| TIMEOUT; goto out; } cp = dh_clist[tp->t_dev.d_minor]; nch = 0; /* * Copy DHNCH characters, or up to a delay indicator, * to the DMA area. */ while (nch > -DHNCH && (c = getc(&tp->t_outq))>=0) { ne CRDY 0200 #define GAPSD 010000 #define TUR 1 #define HARD 0102200 /* ILC, EOT, NXM */ #define EOF 0040000 #define SSEEK 1 #define SIO 2 tmopen(dev, flag) { register dminor; dminor = dev.d_minor; if (t_openf[dminor]) u.u_error = ENXIO; else { t_openf[dminor]++; t_blkno[dminor] = 0; t_nxrec[dminor] = 65535; } } tmclose(dev, flag) { register int dminor; dminor = dev.d_minor; t_openf[dminor] = 0; if (flag) tcommand(dminor, WEOF); tcommand(dminor, REW); } tcommand(unit, com) { extern output */ char dh_clist[NDH11][DHNCH]; /* * Used to communicate the number of lines to the DM */ int ndh11 NDH11; /* * Hardware control bits */ #define BITS6 01 #define BITS7 02 #define BITS8 03 #define TWOSB 04 #define PENABLE 020 /* DEC manuals incorrectly say this bit causes generation of even parity. */ #define OPAR 040 #define HDUPLX 040000 #define IENABLE 030100 #define PERROR 010000 #define FRERROR 020000 #define XINT 0100000 #define SSPEED 7 /* standard speed: 300 baud */ /* * Software cif (c >= 0200) { tp->t_char = c; break; } *cp++ = c; nch--; } /* * If the writer was sleeping on output overflow, * wake him when low tide is reached. */ if (tp->t_outq.c_cc<=TTLOWAT && tp->t_state&ASLEEP) { tp->t_state =& ~ASLEEP; wakeup(&tp->t_outq); } /* * If any characters were set up, start transmission; * otherwise, check for possible delay. */ if (nch) { DHADDR->dhcsr.lobyte = tp->t_dev.d_minor | IENABLE; DHADDR->dhcar = cp+nch; DHADDR->dhbcr = nch; c = 1<tmcs & CRDY)==0) sleep(&lbolt, 1); TMADDR->tmcs = DENS|com|GO | (unit<<8); } tmstrategy(abp) struct buf *abp; { register struct buf *bp; register char **p; bp = abp; p = &t_nxrec[bp->b_dev.d_minor]; if (*p <= bp->b_blkno) { if (*p < bp->b_blkno) { bp->b_flags =| B_ERROR; iodone(bp); return; } if (bp->b_flags&B_READ) { clrbuf(bp); iodone(bp); return; } } if ((bp->b_flags&B_READ)==0) *p = bp->b_blkno + 1; bp->av_forw = 0; sopy of last dhbar */ int dhsar; struct dhregs { int dhcsr; int dhnxch; int dhlpr; int dhcar; int dhbcr; int dhbar; int dhbreak; int dhsilo; }; /* * Open a DH11 line. */ dhopen(dev, flag) { register struct tty *tp; extern dhstart(); if (dev.d_minor >= NDH11) { u.u_error = ENXIO; return; } tp = &dh11[dev.d_minor]; tp->t_addr = dhstart; tp->t_dev = dev; DHADDR->dhcsr =| IENABLE; tp->t_state =| WOPEN|SSTART; if ((tp->t_state&ISOPEN) == 0) { tp->t_erase = CERASE; tp->t_kill = CKIL->t_dev.d_minor; DHADDR->dhbar =| c; dhsar =| c; tp->t_state =| BUSY; } else if (c = tp->t_char) { tp->t_char = 0; timeout(ttrstrt, tp, (c&0177)+6); tp->t_state =| TIMEOUT; } out: PS->integ = sps; } pl5(); if (tmtab.d_actf==0) tmtab.d_actf = bp; else tmtab.d_actl->av_forw = bp; tmtab.d_actl = bp; if (tmtab.d_active==0) tmstart(); spl0(); } tmstart() { register struct buf *bp; register int com; int unit; register char *blkno; loop: if ((bp = tmtab.d_actf) == 0) return; unit = bp->b_dev.d_minor; blkno = t_blkno[unit]; if (t_openf[unit] < 0 || (TMADDR->tmcs & CRDY)==0) { bp->b_flags =| B_ERROR; tmtab.d_actf = bp->av_forw; iodone(bp); goto loop; } com = (unit<<8) | ((bp->b_xmem & 03) << 4) | IENABLE|DENS; if (blkno != bp->b_blkno) { tmtab.d_active = SSEEK; if (blkno < bp->b_blkno) { com =| SFORW|GO; TMADDR->tmbc = blkno - bp->b_blkno; } else { if (bp->b_blkno == 0) com =| REW|GO; else { com =| SREV|GO; TMADDR->tmbc = bp->b_blkno - blkno; } } TMADDR->tmcs = com; return; } tmtab.d_active = SIO; TMADDR->tmbc = bp->b_wcount << 1; TMADDR->tmba = bp->b_addr; /* core address */ TMADDR->tmcs = com | ((bp->b_flags&B_READ)? RCOM|GO: hpcs1 & ERR) { /* error bit */ deverror(bp, HPADDR->hpcs2, 0); if(HPADDR->hper1 & (DU|DTE|OPI)) { HPADDR->hpcs2 = CLR; HPADDR->hpcs1 = RECAL|GO; ctr = 0; while ((HPADDR->hpds&PIP) && --ctr); } HPADDR->hpcs1 = RCLR|GO; if (++hptab.d_errcnt <= 10) { hpstart(); return; } bp->b_flags =| B_ERROR; } hptab.d_errcnt = 0; hptab.d_actf = bp->av_forw; bp->b_resid = HPADDR->hpwc; iodone(bp); hpstart(); } hpread(dev) { if(hpphys(dev)) physio(hpstrategy, &hpbuf, dev, B_READ); } ((tmtab.d_errcnt)? WIRG|GO: WCOM|GO)); } tmintr() { register struct buf *bp; register int unit; if ((bp = tmtab.d_actf)==0) return; unit = bp->b_dev.d_minor; if (TMADDR->tmcs < 0) { /* error bit */ /* deverror(bp, TMADDR->tmer); */ while(TMADDR->tmrd & GAPSD) ; /* wait for gap shutdown */ if ((TMADDR->tmer&(HARD|EOF))==0 && tmtab.d_active==SIO) { if (++tmtab.d_errcnt < 10) { t_blkno[unit]++; tmtab.d_active = 0; tmstart(); return; } } else if(bp != &rtmbuf && (TM# /* */ /* * RP04 disk driver * * This driver has been tested on a working RP04 for a few hours. * It does not attempt ECC error correction and is probably * deficient in general in the case of errors and when packs * are dismounted. */ #include "../param.h" #include "../buf.h" #include "../conf.h" #include "../user.h" struct { int hpcs1; /* Control and Status register 1 */ int hpwc; /* Word count register */ int hpba; /* UNIBUS address register */ int hpda; /* Desired address register */ in hpwrite(dev) { if(hpphys(dev)) physio(hpstrategy, &hpbuf, dev, B_WRITE); } hpphys(dev) { register c; c = lshift(u.u_offset, -9); c =+ ldiv(u.u_count+511, 512); if(c > hp_sizes[dev.d_minor & 07].nblocks) { u.u_error = ENXIO; return(0); } return(1); } ADDR->tmer&EOF)==0) t_openf[unit] = -1; bp->b_flags =| B_ERROR; tmtab.d_active = SIO; } if (tmtab.d_active == SIO) { tmtab.d_errcnt = 0; t_blkno[unit]++; tmtab.d_actf = bp->av_forw; tmtab.d_active = 0; iodone(bp); bp->b_resid = TMADDR->tmbc; } else t_blkno[unit] = bp->b_blkno; tmstart(); } tmread(dev) { tmphys(dev); physio(tmstrategy, &rtmbuf, dev, B_READ); u.u_count = -rtmbuf.b_resid; } tmwrite(dev) { tmphys(dev); physio(tmstrategy, &rtmbuf, dev, B_WRITE); u.u_count = 0; }t hpcs2; /* Control and Status register 2*/ int hpds; /* Drive Status */ int hper1; /* Error register 1 */ int hpas; /* Attention Summary */ int hpla; /* Look ahead */ int hpdb; /* Data buffer */ int hpmr; /* Maintenance register */ int hpdt; /* Drive type */ int hpsn; /* Serial number */ int hpof; /* Offset register */ int hpca; /* Desired Cylinder address register*/ int hpcc; /* Current Cylinder */ int hper2; /* Error register 2 */ int hper3; /* Error register 3 */ int hppos; /* Burst error # /* */ /* * DM-BB driver */ #include "../param.h" #include "../tty.h" #include "../conf.h" #define DMADDR 0170500 struct tty dh11[]; int ndh11; /* Set by dh.c to number of lines */ #define DONE 0200 #define SCENABL 040 #define CLSCAN 01000 #define TURNON 07 /* RQ send, CD lead, line enable */ #define TURNOFF 1 /* line enable only */ #define CARRIER 0100 struct dmregs { int dmcsr; int dmlstat; }; /* * Turn on the line associated with the (DH) device dev. */ dmopen(dev) { register struct tty * tmphys(dev) { register unit, a; unit = dev.d_minor; a = lshift(u.u_offset, -9); t_blkno[unit] = a; t_nxrec[unit] = ++a; } bit position */ int hppat; /* Burst error bit pattern */ int hpbae; /* 11/70 bus extension */ }; #define HPADDR 0176700 #define NHP 8 struct { char *nblocks; int cyloff; } hp_sizes[] { 9614, 0, /* cyl 0 thru 23 */ /* cyl 24 thru 43 available */ -1, 44, /* cyl 44 thru 200 */ -1, 201, /* cyl 201 thru 357 */ 20900, 358, /* cyl 358 thru 407 */ /* cyl 408 thru 410 blank */ 40600, 0, 40600, 100, 40600, 200, 40600, 300, }; struct devtab hptab; struct buf hpbuf; char hp_openf; /* Drtp; tp = &dh11[dev.d_minor]; DMADDR->dmcsr = dev.d_minor; DMADDR->dmlstat = TURNON; if (DMADDR->dmlstat&CARRIER) tp->t_state =| CARR_ON; DMADDR->dmcsr = IENABLE|SCENABL; spl5(); while ((tp->t_state&CARR_ON)==0) sleep(&tp->t_rawq, TTIPRI); spl0(); } /* * If a DH line has the HUPCL mode, * turn off carrier when it is closed. */ dmclose(dev) { register struct tty *tp; tp = &dh11[dev.d_minor]; if (tp->t_flags&HUPCL) { DMADDR->dmcsr = dev.d_minor; DMADDR->dmlstat = TURNOFF; DMADDR->dmc# /* */ /* * KL/DL-11 driver */ #include "../param.h" #include "../conf.h" #include "../user.h" #include "../tty.h" #include "../proc.h" /* base address */ #define KLADDR 0177560 /* console */ #define KLBASE 0176500 /* kl and dl11-a */ #define DLBASE 0175610 /* dl-e */ #define NKL11 1 #define NDL11 0 #define DSRDY 02 #define RDRENB 01 struct tty kl11[NKL11+NDL11]; struct klregs { int klrcsr; int klrbuf; int kltcsr; int kltbuf; } klopen(dev, flag) { register char *addr; register struct tty *tive Commands */ #define GO 01 #define PRESET 020 #define RECAL 06 #define RCLR 010 #define OFFSET 014 #define READY 0200 /* hpds - drive ready */ #define PIP 020000 /* hpds - Positioning Operation in Progress */ #define ERR 040000 /* hpcs1 - composite error */ #define DU 040000 /* hper1 - Drive Unsafe */ #define DTE 010000 /* hper1 - Drive Timing Error */ #define OPI 020000 /* hper1 - Operation Incomplete */ /* Error Correction Code errors */ #define DCK 0100000 /* hper1 - Data Check error */ #define sr = IENABLE|SCENABL; } } /* * DM11 interrupt. * Mainly, deal with carrier transitions. */ dmint() { register struct tty *tp; if (DMADDR->dmcsr&DONE) { tp = &dh11[DMADDR->dmcsr&017]; if (tp < &dh11[ndh11]) { wakeup(tp); if ((DMADDR->dmlstat&CARRIER)==0) { if ((tp->t_state&WOPEN)==0) { signal(tp, SIGHUP); DMADDR->dmlstat = 0; flushtty(tp); } tp->t_state =& ~CARR_ON; } else tp->t_state =| CARR_ON; } DMADDR->dmcsr = IENABLE|SCENABL; } } p; if(dev.d_minor >= NKL11+NDL11) { u.u_error = ENXIO; return; } tp = &kl11[dev.d_minor]; if (u.u_procp->p_ttyp == 0) { u.u_procp->p_ttyp = tp; tp->t_dev = dev; } /* * set up minor 0 to address KLADDR * set up minor 1 thru NKL11-1 to address from KLBASE * set up minor NKL11 on to address from DLBASE */ addr = KLADDR + 8*dev.d_minor; if(dev.d_minor) addr =+ KLBASE-KLADDR-8; if(dev.d_minor >= NKL11) addr =+ DLBASE-KLBASE-8*NKL11+8; tp->t_addr = addr; if ((tp->t_state&ISOPEN) ==ECH 0100 /* hper1 - ECC hard error */ #define CLR 040 /* hpcs2 - Controller Clear */ #define FMT22 010000 /* hpof - 16 bit /word format */ /* * Use av_back to save track+sector, * b_resid for cylinder. */ #define trksec av_back #define cylin b_resid hpopen() { if(!hp_openf){ hp_openf++; HPADDR->hpcs2 = CLR; HPADDR->hpcs1 = RCLR|GO; HPADDR->hpcs1 = PRESET|GO; HPADDR->hpof = FMT22; } } hpstrategy(abp) struct buf *abp; { register struct buf *bp; register char *p1, *p2; bp = abp; p1# /* */ /* * LP-11 Line printer driver */ #include "../param.h" #include "../conf.h" #include "../user.h" #define LPADDR 0177514 #define IENABLE 0100 #define DONE 0200 #define LPPRI 10 #define LPLWAT 50 #define LPHWAT 100 #define EJLINE 60 #define MAXCOL 80 struct { int lpsr; int lpbuf; }; struct { int cc; int cf; int cl; int flag; int mcc; int ccc; int mlc; } lp11; #define CAP 01 /* Set to 0 for 96-char printer, else to 01 */ #define EJECT 02 #define OPEN 04 #define IND 010 /* Set to 0) { tp->t_state = ISOPEN|CARR_ON; tp->t_flags = XTABS|LCASE|ECHO|CRMOD; tp->t_erase = CERASE; tp->t_kill = CKILL; } addr->klrcsr =| IENABLE|DSRDY|RDRENB; addr->kltcsr =| IENABLE; } klclose(dev) { register struct tty *tp; tp = &kl11[dev.d_minor]; wflushtty(tp); tp->t_state = 0; } klread(dev) { ttread(&kl11[dev.d_minor]); } klwrite(dev) { ttwrite(&kl11[dev.d_minor]); } klxint(dev) { register struct tty *tp; tp = &kl11[dev.d_minor]; ttstart(tp); if (tp->t_outq.c_cc == 0 || tp->t_ou = &hp_sizes[bp->b_dev.d_minor&07]; if (bp->b_dev.d_minor >= (NHP<<3) || bp->b_blkno >= p1->nblocks) { bp->b_flags =| B_ERROR; iodone(bp); return; } bp->av_forw = 0; bp->cylin = p1->cyloff; p1 = bp->b_blkno; p2 = lrem(p1, 22); p1 = ldiv(p1, 22); bp->trksec = (p1%19)<<8 | p2; bp->cylin =+ p1/19; spl5(); if ((p1 = hptab.d_actf)==0) hptab.d_actf = bp; else { for (; p2 = p1->av_forw; p1 = p2) { if (p1->cylin <= bp->cylin && bp->cylin < p2->cylin || p1->cylin >= bp->cylin 0 for no indent, else to 010 */ #define FORM 014 lpopen(dev, flag) { if(lp11.flag & OPEN || LPADDR->lpsr < 0) { u.u_error = EIO; return; } lp11.flag =| (IND|EJECT|OPEN); LPADDR->lpsr =| IENABLE; lpcanon(FORM); } lpclose(dev, flag) { lpcanon(FORM); lp11.flag = 0; } lpwrite() { register int c; while ((c=cpass())>=0) lpcanon(c); } lpcanon(c) { register c1, c2; c1 = c; if(lp11.flag&CAP) { if(c1>='a' && c1<='z') c1 =+ 'A'-'a'; else switch(c1) { case '{': c2 = '('; goto tq.c_cc == TTLOWAT) wakeup(&tp->t_outq); } klrint(dev) { register int c, *addr; register struct tty *tp; tp = &kl11[dev.d_minor]; addr = tp->t_addr; c = addr->klrbuf; addr->klrcsr =| RDRENB; if ((c&0177)==0) addr->kltbuf = c; /* hardware botch */ ttyinput(c, tp); } klsgtty(dev, v) int *v; { register struct tty *tp; tp = &kl11[dev.d_minor]; ttystty(tp, v); } && bp->cylin > p2->cylin) break; } bp->av_forw = p2; p1->av_forw = bp; } if (hptab.d_active==0) hpstart(); spl0(); } hpstart() { register struct buf *bp; if ((bp = hptab.d_actf) == 0) return; hptab.d_active++; HPADDR->hpcs2 = bp->b_dev.d_minor >> 3; HPADDR->hpca = bp->cylin; rhstart(bp, &HPADDR->hpda, bp->trksec, &HPADDR->hpbae); } hpintr() { register struct buf *bp; register int ctr; if (hptab.d_active == 0) return; bp = hptab.d_actf; hptab.d_active = 0; if (HPADDR->esc; case '}': c2 = ')'; goto esc; case '`': c2 = '\''; goto esc; case '|': c2 = '!'; goto esc; case '~': c2 = '^'; esc: lpcanon(c2); lp11.ccc--; c1 = '-'; } } switch(c1) { case '\t': lp11.ccc = (lp11.ccc+8) & ~7; return; case FORM: case '\n': if((lp11.flag&EJECT) == 0 || lp11.mcc!=0 || lp11.mlc!=0) { lp11.mcc = 0; lp11.mlc++; if(lp11.mlc >= EJLINE && lp11.flag&EJECT) c1 = FORM; lpoutput(c1); if(c1 == FORM) lp11.mlc = 0; } case '\r': lp11.ccc = 0; if(lp11.flag&IND) lp11.ccc = 8; return; case 010: if(lp11.ccc > 0) lp11.ccc--; return; case ' ': lp11.ccc++; return; default: if(lp11.ccc < lp11.mcc) { lpoutput('\r'); lp11.mcc = 0; } if(lp11.ccc < MAXCOL) { while(lp11.ccc > lp11.mcc) { lpoutput(' '); lp11.mcc++; } lpoutput(c1); lp11.mcc++; } lp11.ccc++; } } lpstart() { register int c; while (LPADDR->lpsr&DONE && (c = getc(&lp11)) >= 0) LPADDR->lpbuf = c; }/* * Read in the block, like bread, but also start I/O on the * read-ahead block (which is not allocated to the caller) */ breada(adev, blkno, rablkno) { register struct buf *rbp, *rabp; register int dev; dev = adev; rbp = 0; if (!incore(dev, blkno)) { rbp = getblk(dev, blkno); if ((rbp->b_flags&B_DONE) == 0) { rbp->b_flags =| B_READ; rbp->b_wcount = -256; (*bdevsw[adev.d_major].d_strategy)(rbp); } } if (rablkno && !incore(dev, rablkno)) { rabp = getblk(dev, rablkno); if (rabp-_flags = B_BUSY | B_RELOC; bp->b_back->b_forw = bp->b_forw; bp->b_forw->b_back = bp->b_back; bp->b_forw = dp->b_forw; bp->b_back = dp; dp->b_forw->b_back = bp; dp->b_forw = bp; bp->b_dev = dev; bp->b_blkno = blkno; return(bp); } /* * Wait for I/O completion on the buffer; return errors * to the user. */ iowait(bp) struct buf *bp; { register struct buf *rbp; rbp = bp; spl6(); while ((rbp->b_flags&B_DONE)==0) sleep(rbp, PRIBIO); spl0(); geterror(rbp); } /* * Unlink a buffer from the av lpint() { register int c; lpstart(); if (lp11.cc == LPLWAT || lp11.cc == 0) wakeup(&lp11); } lpoutput(c) { if (lp11.cc >= LPHWAT) sleep(&lp11, LPPRI); putc(c, &lp11); spl4(); lpstart(); spl0(); } >b_flags & B_DONE) brelse(rabp); else { rabp->b_flags =| B_READ|B_ASYNC; rabp->b_wcount = -256; (*bdevsw[adev.d_major].d_strategy)(rabp); } } if (rbp==0) return(bread(dev, blkno)); iowait(rbp); return(rbp); } /* * Write the buffer, waiting for completion. * Then release the buffer. */ bwrite(bp) struct buf *bp; { register struct buf *rbp; register flag; rbp = bp; flag = rbp->b_flags; rbp->b_flags =& ~(B_READ | B_DONE | B_ERROR | B_DELWRI); rbp->b_wcount = -256; (*bdevsw[rbpailable list and mark it busy. * (internal interface) */ notavail(bp) struct buf *bp; { register struct buf *rbp; register int sps; rbp = bp; sps = PS->integ; spl6(); rbp->av_back->av_forw = rbp->av_forw; rbp->av_forw->av_back = rbp->av_back; rbp->b_flags =| B_BUSY; PS->integ = sps; } /* * Mark I/O complete on a buffer, release it if I/O is asynchronous, * and wake up anyone waiting for it. */ iodone(bp) struct buf *bp; { register struct buf *rbp; rbp = bp; if(rbp->b_flags&B_MAP) mapfr# /* */ /* * indirect driver for controlling tty. */ #include "../param.h" #include "../conf.h" #include "../user.h" #include "../tty.h" #include "../proc.h" syopen(dev, flag) { register *tp; if(tp = syttyp()) (*cdevsw[tp->t_dev.d_major].d_open)(tp->t_dev, flag); } syread(dev) { register *tp; if(tp = syttyp()) (*cdevsw[tp->t_dev.d_major].d_read)(tp->t_dev); } sywrite(dev) { register *tp; if(tp = syttyp()) (*cdevsw[tp->t_dev.d_major].d_write)(tp->t_dev); } sysgtty(dev, flag) { register *->b_dev.d_major].d_strategy)(rbp); if ((flag&B_ASYNC) == 0) { iowait(rbp); brelse(rbp); } else if ((flag&B_DELWRI)==0) geterror(rbp); } /* * Release the buffer, marking it so that if it is grabbed * for another purpose it will be written out before being * given up (e.g. when writing a partial block where it is * assumed that another write for the same block will soon follow). * This can't be done for magtape, since writes must be done * in the same order as requested. */ bdwrite(bp) struct ee(rbp); rbp->b_flags =| B_DONE; if (rbp->b_flags&B_ASYNC) brelse(rbp); else { rbp->b_flags =& ~B_WANTED; wakeup(rbp); } } /* * Zero the core associated with a buffer. */ clrbuf(bp) int *bp; { register *p; register c; p = bp->b_addr; c = 256; do *p++ = 0; while (--c); } /* * Initialize the buffer I/O system by freeing * all buffers and setting all device buffer lists to empty. */ binit() { register struct buf *bp; register struct devtab *dp; register int i; struct bdevsw *bdp; tp; if(tp = syttyp()) (*cdevsw[tp->t_dev.d_major].d_sgtty)(tp->t_dev, flag); } syttyp() { register tp; tp = u.u_procp->p_ttyp; if(tp == NULL) u.u_error = ENXIO; return(tp); } buf *bp; { register struct buf *rbp; register struct devtab *dp; rbp = bp; dp = bdevsw[rbp->b_dev.d_major].d_tab; if (dp == &tmtab || dp == &httab) bawrite(rbp); else { rbp->b_flags =| B_DELWRI | B_DONE; brelse(rbp); } } /* * Release the buffer, start I/O on it, but don't wait for completion. */ bawrite(bp) struct buf *bp; { register struct buf *rbp; rbp = bp; rbp->b_flags =| B_ASYNC; bwrite(rbp); } /* * release the buffer, with no I/O implied. */ brelse(bp) struct buf *bp; { regis bfreelist.b_forw = bfreelist.b_back = bfreelist.av_forw = bfreelist.av_back = &bfreelist; for (i=0; ib_dev = -1; bp->b_addr = buffers[i]; bp->b_back = &bfreelist; bp->b_forw = bfreelist.b_forw; bfreelist.b_forw->b_back = bp; bfreelist.b_forw = bp; bp->b_flags = B_BUSY; brelse(bp); } i = 0; for (bdp = bdevsw; bdp->d_open; bdp++) { dp = bdp->d_tab; if(dp) { dp->b_forw = dp; dp->b_back = dp; } i++; } nblkdev = i; } /* * Device startter struct buf *rbp, **backp; register int sps; rbp = bp; if (rbp->b_flags&B_WANTED) wakeup(rbp); if (bfreelist.b_flags&B_WANTED) { bfreelist.b_flags =& ~B_WANTED; wakeup(&bfreelist); } if (rbp->b_flags&B_ERROR) rbp->b_dev.d_minor = -1; /* no assoc. on error */ backp = &bfreelist.av_back; sps = PS->integ; spl6(); rbp->b_flags =& ~(B_WANTED|B_BUSY|B_ASYNC); (*backp)->av_forw = rbp; rbp->av_back = *backp; *backp = rbp; rbp->av_forw = &bfreelist; PS->integ = sps; } /* * See if the bl routine for disks * and other devices that have the register * layout of the older DEC controllers (RF, RK, RP, TM) */ #define IENABLE 0100 #define WCOM 02 #define RCOM 04 #define GO 01 devstart(bp, devloc, devblk, hbcom) struct buf *bp; int *devloc; { register int *dp; register struct buf *rbp; register int com; dp = devloc; rbp = bp; *dp = devblk; /* block address */ *--dp = rbp->b_addr; /* buffer address */ *--dp = rbp->b_wcount; /* word count */ com = (hbcom<<8) | IENABLE | GO | ((rb# /* */ #include "../param.h" #include "../user.h" #include "../buf.h" #include "../conf.h" #include "../systm.h" #include "../proc.h" #include "../seg.h" /* * This is the set of buffers proper, whose heads * were declared in buf.h. There can exist buffer * headers not pointing here that are used purely * as arguments to the I/O routines to describe * I/O to be done-- e.g. swbuf, just below, for * swapping. */ char buffers[NBUF][514]; struct buf swbuf; /* * Declarations of the tables for the maock is associated with some buffer * (mainly to avoid getting hung up on a wait in breada) */ incore(adev, blkno) { register int dev; register struct buf *bp; register struct devtab *dp; dev = adev; dp = bdevsw[adev.d_major].d_tab; for (bp=dp->b_forw; bp != dp; bp = bp->b_forw) if (bp->b_blkno==blkno && bp->b_dev==dev) return(bp); return(0); } /* * Assign a buffer for the given block. If the appropriate * block is already associated, return it; otherwise search * for the oldest non-busy p->b_xmem & 03) << 4); if (rbp->b_flags&B_READ) /* command + x-mem */ com =| RCOM; else com =| WCOM; *--dp = com; } /* * startup routine for RH controllers. */ #define RHWCOM 060 #define RHRCOM 070 rhstart(bp, devloc, devblk, abae) struct buf *bp; int *devloc, *abae; { register int *dp; register struct buf *rbp; register int com; dp = devloc; rbp = bp; if(cputype == 70) *abae = rbp->b_xmem; *dp = devblk; /* block address */ *--dp = rbp->b_addr; /* buffer address */ *--dp = rbp->b_wgtape devices; * see bdwrite. */ int tmtab; int httab; /* * The following several routines allocate and free * buffers with various side effects. In general the * arguments to an allocate routine are a device and * a block number, and the value is a pointer to * to the buffer header; the buffer is marked "busy" * so that no on else can touch it. If the block was * already in core, no I/O need be done; if it is * already busy, the process waits until it becomes free. * The following routines albuffer and reassign it. * When a 512-byte area is wanted for some random reason * (e.g. during exec, for the user arglist) getblk can be called * with device NODEV to avoid unwanted associativity. */ getblk(dev, blkno) { register struct buf *bp; register struct devtab *dp; extern lbolt; if(dev.d_major >= nblkdev) panic("blkdev"); loop: if (dev < 0) dp = &bfreelist; else { dp = bdevsw[dev.d_major].d_tab; if(dp == NULL) panic("devtab"); for (bp=dp->b_forw; bp != dp; bp = bp->b_forcount; /* word count */ com = IENABLE | GO | ((rbp->b_xmem & 03) << 8); if (rbp->b_flags&B_READ) /* command + x-mem */ com =| RHRCOM; else com =| RHWCOM; *--dp = com; } /* * 11/70 routine to allocate the * UNIBUS map and initialize for * a unibus device. * The code here and in * rhstart assumes that an rh on an 11/70 * is an rh70 and contains 22 bit addressing. */ int maplock; mapalloc(abp) struct buf *abp; { register i, a; register struct buf *bp; if(cputype != 70) return; spl6(); locate a buffer: * getblk * bread * breada * Eventually the buffer must be released, possibly with the * side effect of writing it out, by using one of * bwrite * bdwrite * bawrite * brelse */ /* * Read in (if necessary) the block and return a buffer pointer. */ bread(dev, blkno) { register struct buf *rbp; rbp = getblk(dev, blkno); if (rbp->b_flags&B_DONE) return(rbp); rbp->b_flags =| B_READ; rbp->b_wcount = -256; (*bdevsw[dev.d_major].d_strategy)(rbp); iowait(rbp); return(rbp); } w) { if (bp->b_blkno!=blkno || bp->b_dev!=dev) continue; spl6(); if (bp->b_flags&B_BUSY) { bp->b_flags =| B_WANTED; sleep(bp, PRIBIO); spl0(); goto loop; } spl0(); notavail(bp); return(bp); } } spl6(); if (bfreelist.av_forw == &bfreelist) { bfreelist.b_flags =| B_WANTED; sleep(&bfreelist, PRIBIO); spl0(); goto loop; } spl0(); notavail(bp = bfreelist.av_forw); if (bp->b_flags & B_DELWRI) { bp->b_flags =| B_ASYNC; bwrite(bp); goto loop; } bp->b while(maplock&B_BUSY) { maplock =| B_WANTED; sleep(&maplock, PSWP); } maplock =| B_BUSY; spl0(); bp = abp; bp->b_flags =| B_MAP; a = bp->b_xmem; for(i=16; i<32; i=+2) UBMAP->r[i+1] = a; for(a++; i<48; i=+2) UBMAP->r[i+1] = a; bp->b_xmem = 1; } mapfree(bp) struct buf *bp; { bp->b_flags =& ~B_MAP; if(maplock&B_WANTED) wakeup(&maplock); maplock = 0; } /* * swap I/O */ swap(blkno, coreaddr, count, rdflg) { register int *fp; fp = &swbuf.b_flags; spl6(); while (*fp&B_BUSY) { *fp =| B_WANTED; sleep(fp, PSWP); } *fp = B_BUSY | B_PHYS | rdflg; swbuf.b_dev = swapdev; swbuf.b_wcount = - (count<<5); /* 32 w/block */ swbuf.b_blkno = blkno; swbuf.b_addr = coreaddr<<6; /* 64 b/block */ swbuf.b_xmem = (coreaddr>>10) & 077; (*bdevsw[swapdev>>8].d_strategy)(&swbuf); spl6(); while((*fp&B_DONE)==0) sleep(fp, PSWP); if (*fp&B_WANTED) wakeup(fp); spl0(); *fp =& ~(B_BUSY|B_WANTED); return(*fp&B_ERROR); } /* * make sure all write-behind blocks * on dev (or NODEV for all) * a0200,0200,0000, 0000,0200,0200,0000,0200,0000,0000,0200, 0200,0000,0000,0200,0000,0200,0200,0000, 0200,0000,0000,0200,0000,0200,0200,0000, 0000,0200,0200,0000,0200,0000,0000,0201 }; ttstart(tp = &dc11[dev.d_minor]); if (tp->t_outq.c_cc == 0 || tp->t_outq.c_cc == TTLOWAT) wakeup(&tp->t_outq); } /* * DC11 receiver interrupt. */ dcrint(dev) { register struct tty *tp; register int c, csr; tp = &dc11[dev.d_minor]; c = tp->t_addr->dcrbuf; /* * If carrier is off, and an open is not in progress, * knock down the CD lead to hang up the local dataset * and signal a hangup. */ if (((csr = tp->t_addr->dcrcsr) & CARRIER) == 0) { if ((tp->t_state&WOPEN) == 0) { tp->t_addr->re flushed out. * (from umount and update) */ bflush(dev) { register struct buf *bp; loop: spl6(); for (bp = bfreelist.av_forw; bp != &bfreelist; bp = bp->av_forw) { if (bp->b_flags&B_DELWRI && (dev == NODEV||dev==bp->b_dev)) { bp->b_flags =| B_ASYNC; notavail(bp); bwrite(bp); goto loop; } } spl0(); } /* * Raw I/O. The arguments are * The strategy routine for the device * A buffer, which will always be a special buffer * header owned exclusively by the device for this purpose dcrcsr =& ~CDLEAD; if (tp->t_state & CARR_ON) signal(tp, SIGHUP); flushtty(tp); } tp->t_state =& ~CARR_ON; return; } if (csr&ERROR || (tp->t_state&ISOPEN)==0) { if (tp->t_state&WOPEN && csr&CARRIER) tp->t_state =| CARR_ON; wakeup(tp); return; } csr =& PARITY; if (csr&&(tp->t_flags&ODDP) || !csr&&(tp->t_flags&EVENP)) ttyinput(c, tp); } /* * DC11 stty/gtty. * Perform general functions and set speeds. */ dcsgtty(dev, av) int *av; { register struct tty *tp; register r; tp * The device number * Read/write flag * Essentially all the work is computing physical addresses and * validating them. */ physio(strat, abp, dev, rw) struct buf *abp; int (*strat)(); { register struct buf *bp; register char *base; register int nb; int ts; bp = abp; base = u.u_base; /* * Check odd base, odd count, and address wraparound */ if (base&01 || u.u_count&01 || base>=base+u.u_count) goto bad; ts = (u.u_tsize+127) & ~0177; if (u.u_sep) ts = 0; nb = (base>>6) & 01777; /* *# /* */ /* * DC-11 driver */ #include "../param.h" #include "../conf.h" #include "../user.h" #include "../tty.h" #include "../proc.h" /* * Base address of DC-11's. Minor device i is at * DCADDR + 10*i. */ #define DCADDR 0174000 /* * Number of DC's for which table space is allocated. */ #define NDC11 14 /* * Control bits in device registers */ #define CDLEAD 01 #define CARRIER 04 #define SPEED1 010 #define STOP1 0400 #define RQSEND 01 #define PARITY 040 #define ERROR 0100000 #define CTRANS = &dc11[dev.d_minor]; if (ttystty(tp, av)) return; if (r = dcrstab[tp->t_speeds.lobyte&017]) tp->t_addr->dcrcsr = r; else tp->t_addr->dcrcsr =& ~CDLEAD; if (r = dctstab[tp->t_speeds.hibyte&017]) tp->t_addr->dctcsr = r; } Check overlap with text. (ts and nb now * in 64-byte clicks) */ if (nb < ts) goto bad; /* * Check that transfer is either entirely in the * data or in the stack: that is, either * the end is in the data or the start is in the stack * (remember wraparound was already checked). */ if ((((base+u.u_count)>>6)&01777) >= ts+u.u_dsize && nb < 1024-u.u_ssize) goto bad; spl6(); while (bp->b_flags&B_BUSY) { bp->b_flags =| B_WANTED; sleep(bp, PRIBIO); } bp->b_flags = B_BUSY | B_PHYS 040000 #define RINGIND 020000 struct tty dc11[NDC11]; struct dcregs { int dcrcsr; int dcrbuf; int dctcsr; int dctbuf; }; /* * Input-side speed and control bit table. * Each DC11 has 4 speeds which correspond to the 4 non-zero entries. * The table index is the same as the speed-selector * number for the DH11. * Attempts to set the speed to a zero entry are ignored. */ int dcrstab[] { 0, /* 0 baud */ 0, /* 50 baud */ 0, /* 75 baud */ 0, /* 110 baud */ 01101, /* 134.5 baud: 7b/ch, speed     | rw; bp->b_dev = dev; /* * Compute physical address by simulating * the segmentation hardware. */ bp->b_addr = base&077; base = (u.u_sep? UDSA: UISA)->r[nb>>7] + (nb&0177); bp->b_addr =+ base<<6; bp->b_xmem = (base>>10) & 077; bp->b_blkno = lshift(u.u_offset, -9); bp->b_wcount = -((u.u_count>>1) & 077777); bp->b_error = 0; u.u_procp->p_flag =| SLOCK; (*strat)(bp); spl6(); while ((bp->b_flags&B_DONE) == 0) sleep(bp, PRIBIO); u.u_procp->p_flag =& ~SLOCK; if (bp->b_flags&B_WANTED) wak 0 */ 0111, /* 150 baud: 8b/ch, speed 1 */ 0, /* 200 baud */ 0121, /* 300 baud: 8b/ch, speed 2 */ 0, /* 600 baud */ 0131, /* 1200 baud */ 0, /* 1800 baud */ 0, /* 2400 baud */ 0, /* 4800 baud */ 0, /* 9600 baud */ 0, /* X0 */ 0, /* X1 */ }; /* * Transmitter speed table */ int dctstab[] { 0, /* 0 baud */ 0, /* 50 baud */ 0, /* 75 baud */ 0, /* 110 baud */ 0501, /* 134.5 baud: stop 1 */ 0511, /* 150 baud */ 0, /* 200 baud */ 0521, /* 300 baud */ 0, /* 600 baud */ 05t% j10 & 6  w R%@7x%%@7h% b% L 71 P% L 70_<%&  _ B\fWmdW70`W0%^W 0e0 00 %%j10 j%707`0 0Wv0 j%WE7tVWt7WWt7WWt7WWeE7Z'  .VZ'  VZ :    /(' 7 /jW/ >?/% 6/ /ȋ [  & [ ewW/ j%% V_~%V_%Ueup(bp); spl0(); bp->b_flags =& ~(B_BUSY|B_WANTED); u.u_count = (-bp->b_resid)<<1; geterror(bp); return; bad: u.u_error = EFAULT; } /* * Pick up the device's error number and pass it to the user; * if there is an error but the number is 0 set a generalized * code. Actually the latter is always true because devices * don't yet return specific errors. */ geterror(abp) struct buf *abp; { register struct buf *bp; bp = abp; if (bp->b_flags&B_ERROR) if ((u.u_error = bp->b_error)==0) u.u_31, /* 1200 baud */ 0, /* 1800 baud */ 0, /* 2400 baud */ 0, /* 4800 baud */ 0, /* 9600 baud */ 0, /* X0 */ 0, /* X1 */ }; /* * Open a DC11, waiting until carrier is established. * Default initial conditions are set up on the first open. * t_state's CARR_ON bit is a pure copy of the hardware * CARRIER bit, and is only used to regularize * carrier tests in general tty routines. */ dcopen(dev, flag) { register struct tty *rtp; register *addr; if (dev.d_minor >= NDC11) { u.u_error = E_#'_tjWX/ w b *7Z D/4 %$|#/t# &/ Z m`#Y/7V# /7 Y /.7Y .%%4# %rxY  .w . *ZTYPY   . m"6Yw " r e%A! y Y   YX""d _ x%+'  "_1'55 Xe  55&5' Ve @"_5 |Xe  5 hXe  5 TXe  55&9' e !w &X  E='  !eXC'error = EIO; } NXIO; return; } rtp = &dc11[dev.d_minor]; rtp->t_addr = addr = DCADDR + dev.d_minor*8; rtp->t_state =| WOPEN; addr->dcrcsr =| IENABLE|CDLEAD; if ((rtp->t_state&ISOPEN) == 0) { rtp->t_erase = CERASE; rtp->t_kill = CKILL; addr->dcrcsr = IENABLE|CDLEAD|SPEED1; addr->dctcsr = IENABLE|SPEED1|STOP1|RQSEND; rtp->t_state = ISOPEN | WOPEN; rtp->t_flags = ODDP|EVENP|ECHO; } if (addr->dcrcsr & CARRIER) rtp->t_state =| CARR_ON; while ((rtp->t_state & CARR_ON) == 0) sleep(&rtp->t_rawq, TTIPRI)  ] W  E % Z W    &  E Z/& W %&  I' R %K'   O'   ,ww ,,7&W ,W f W7 Www Nf   ^, \wrw `% %~NQ'NU'  wBw 0 7 V7 rW+7 R5 3 ^W_ + +ȥ:  5 @pJWRW %~Q  +JW   + 7Q  0+*9~+& V7 zQ0/* */ char partab[] { 0001,0201,0201,0001,0201,0001,0001,0201, 0202,0004,0003,0205,0005,0206,0201,0001, 0201,0001,0001,0201,0001,0201,0201,0001, 0001,0201,0201,0001,0201,0001,0001,0201, 0200,0000,0000,0200,0000,0200,0200,0000, 0000,0200,0200,0000,0200,0000,0000,0200, 0000,0200,0200,0000,0200,0000,0000,0200, 0200,0000,0000,0200,0000,0200,0200,0000, 0200,0000,0000,0200,0000,0200,0200,0000, 0000,0200,0200,0000,0200,0000,0000,0200, 0000,0200,0200,0000,0200,0000,0000,0200, 0200,0000,0000,0200,0000,; rtp->t_state =& ~WOPEN; if (u.u_procp->p_ttyp == 0) { u.u_procp->p_ttyp = rtp; rtp->t_dev = dev; } } /* * Close a dc11 */ dcclose(dev) { register struct tty *tp; (tp = &dc11[dev.d_minor])->t_state = 0; if (tp->t_flags&HUPCL) tp->t_addr->dcrcsr =& ~CDLEAD; wflushtty(tp); } /* * Read a DC11 */ dcread(dev) { ttread(&dc11[dev.d_minor]); } /* * Write a DC11 */ dcwrite(dev) { ttwrite(&dc11[dev.d_minor]); } /* * DC11 transmitter interrupt. */ dcxint(dev) { register struct tty *tp; n+ 0X+9P+PQupwHQ>+e7`*  00*9(*  w:w ( * w*w  %rT  w %fxT%dpT55 TT  LT  557 U )Nf 5\WTX' %  fe  c'  @e5 ef  h'  n'  fe  5%2hTbT OZ\VT PTp[ f  5_rw  PS  HS  7 T (%&  e  %2SS ~NZ\S S[   7 X(wtw bNq'   5N  %t0W %t0W5&&|' Re %ww v% m&' % Z%\W'  '  ' e%%Ԃww  fe  & F F(wF7 F .wFef/B J ӕ- R r f e0 @ >pF ҋ D~8// NFӕ0 $f v Le0 9eFF F  FF 7Ewe&  mE E Z~  Z  Z~ w7 E E E0   EWp `e0f|E ,rEP hE bE @f FE ^74E /^*E"E-EEf B\BB\  7Bterminated. %s 4, 8,0<,@@,PD,`H,L,? O,?@ S,? W,? [,? _,?@ c,? g,? k,? o,?@ s,? w,? {,?@,?,?@,?,?,?,?@,?,?,? ,? ,?,?@ ,?@,p,r,t,v,,,,,,,,,,,,-- -----!-%-+-0-5-:-e  %  &e  %  E?%  ,' wF ` Z?M7 M7 M&  %  %%e%e &e  `w  LQ>&7 y R  tVt5V Q8t-LLV|EQ e7 $LtVt&VQ et0 Vt0 V_ %  \Q  tVt5V-bP_ %  t Vt Be0# @aє 6a    BA   W 6ae B@e0am* C` aeȐ9 ȕ0 aȕ1 PC JC8+,,,  zzz%.1o%.8s+%dmovcmpbitbicbisaddsuclrcomincdecnegadcsbctstrorrolasrasljmpswabldfpsstfpsststclrftstfabsfnegfsxtmtpimtpdmfpimfpdmuldivashashcbrbnebeqbgebltbgtblebplbmibhiblosbvcbvsbhisblohaltwaitrtiiotresetmulfmodfaddfmovfsubfcmpfmovfdivfmoveimovfimovfomoviemovifmovofcfccsetfsetisetdsetljsrxorrtscflgsflgemtsysmarksobsploctindirexitforkreadwriteopenclosewaitcreat  ww r  tVe t V\ N e%w , etN e5`e-MetVtUV 6N etVN e "' tV '  % w w   Ne -M%  % & M e7 M'   @E%@E7H %'  ' 7!BU@6B 2B RaE UUa6BBB linkunlinkexecchdirtimemknodchmodchownbreakstatseekgetpidmountumountsetuidgetuidstimeptrace27fstat29smdatesttygtty33nicesleepsynckillswitch3940duppipetimesprofil45setgidgetgidsignal495051525354555657585960616263r0r1r2r3r4r5sppc%.8s: %sb b , , %d %s {}; %.1o*$%s(%s)*(%s)+*-(%s)*(%s)(d~oxxfeVcds4lr^ 0 %ew6> WtAx% mv  %  ~wr w ` 6G  N>W 4  "w>   ~FRW>W 4 F  ~F%FN>W 4  w %F%F FF3 [mF*%vF  p-Z\ -K %RF  p-Z\  [2F @`e7DFwX -Kw < DCe Ԥ w. w   x5 E@E!%E-E_ ^DE b w w C KR J  e55  J a; a66  aAa `&e  a   aBAe!`!Z!P!##"!"b!,!H$t"!!`"!! " . > N ^  e@tEWt@P56<W%" e  %fe  j%%;<5 ^J-PF RJrImBF  @J`I  -,F$Fm"F`  e %fe j%% @w w ~~j1C jd %w w n Z V wj C>W%HW7C0 ej1-C >W  j%% w  >W\WĔ D-%FW%dWCCCCww  Z  ww N ZD-N&, \W+,  0,  ww w>:a  U>w:a > w:a >w>w>w  7 > >a >U>>W 8UHa W 8E<> a h h   Wp `e0eӕ?f& ,P   @f  p27l "p2-f@w fw(w$"wfww  b"wfw7R fw #JA 7 fAW,f B@ 8 @&61fA   @ @e7X 1@# 1wfw: w6 #w fT.Y..vs.cOdc.cNpartab.cMbio.cLsys.cKlp.cJdhdm.cIhp.cHkl.cGtm.cvt.cErk.cDdh.cCdhfdm.cBtty.cAhs.c@dp.c?dn.c>tc.c=ht.c<pc.c;rp.c:rf.ccat.ca.out7mem.cbio.ocat.odc.odh.o7Z* Wp Aa1Wp Aa1 %2!R0  9!T0  A!V0  G!X0  M!Z0  T!\0  B#)7 )7 )@eT7)7 ))$  1|$Y!  '-))  z)) f #T ) n)d)& f ĔT) f : B)8)& f Ĕ()  ) ) #w`w N-(( (((?( n%#_ _ _ %a%z %A%Z%__$ ( d %a%z%A%Z%0%9%_ d f(%% t(w w #wfw A#Q  OfA  ^ y   F y @0fA  @9 fA @e&7~ wz 7t @ #w7 fAW @wD fr41r478 5 e&w$ &# 5& w&FL&@H&:D&4@&.<&(8&"4&0&,&(& $& &&&&& &&&f& fwH ,#wdhdm.odhfdm.odn.odp.ohp.ohs.oht.okl.olp.omem.opartab.opc.orf.ork.orp.osys.otc.otm.otty.ovs.ovt.of ȋ `% J( F(  % wh% $( D f 5 t%C-'_ _ _ _ -'-'-'-' ' ' ' 'i! 0 w! 0   % %_ l'@d' %   %'%"V d  ' &%   d %\ n d d 7 & &_&%. &_&?& 8%  -&&! 0 &f $ N! 0 _,l&f&_, d %  f "& w }f@fA w, w" e"w" ew" @lw" Alew &@t`e @& HADCBF7F+L T \ d   & (38:')1.x.pdh *  ( d0/lib/c0/lib/c1/lib/c2/lib/crt0.o/lib/mcrt0.o/lib/fcrt0.o/lib/fc0/lib/fc1/lib/crt2.o/lib/crt20.o/usr/c/c0/usr/c/c1/usr/c/c2/tmp/ctm0a%s: c0-Pc1c2as-/bin/asa.outa.outmove failed: %s ld-X-l2-lc-l/bin/lU.Y..5iget.c4slp.c3sys1.c2sys2.c1rdwri.c0main.c/clock.c.fio.c-malloc.c,nami.c+sysent.c*pipe.c)sig.c(sys3.c'alloc.c&trap.c%prf.c$subr.c#text.c"sys4.ca.outalloc.oclock.ofio.oiget.omain.omalloc.onami.opipe.oprf.o_r d %_,! 0 _,w xf =4wjw X&!  Nf   @ % %w6w $%%e!! 0 T%e!%e7%w w % %%B#%! 0 lw w %/2 R%/ p%* D /w  R%/-0%,% ,% f $% *: 7 yw D wD w 2  w. 7 $$ -$$$ $$$ f $   w D 55um5A 7ruWp BddefineincludeendififdefifndefunixCan't creat %s If-less endifUndefined controlNested 'include'Missing file %sControl syntax%d: Line overflowToo much definingtoo many definesExcessive define loopingdefine recursion loop Can't find %s Try again Fatal error in %s defined function requires argumentsdefine argument mismatchdefine prototype argument errornon-terminated stringdZoTxfe2c@slrp2  0 rdwri.osig.oslp.osubr.osys1.osys2.osys3.osys4.osysent.otext.otrap.om\$2Dԋ@e! f wr e Wp m$ @ ! 0 #ʋ CԒ e!w %1% % %! 0 % %w w w#1%z# v#%d" 0 w @f ` ̋ d  ~ ̥(  ~ %12%׆ ,%(% D ̋ ~ w B C %/ ”% %ӥ.w w N @ԥ/̋tw w  X57Nf  N"   Ne @-@ %ewW.Y..l.sc.ca.outldmkconf.cc.cdata.sa.outsysfixc.oxl.outm40.om40.sm45.sl.outsysfix.ca.outE5% %N9"  @tE %." wZ w H C Ȕw< w * C F %o  w @e” ̋Cw  w N w :@e5@ A H@e55  Ne .A Aa1n@e50 5% %(L" 0 w` N D 5  Ne0 A Aa1Fu-p"@ 5  N ~ @e25.}. .}. . @ 4 =.5 @ @anfe2 `   & 6  w  % @ % @ @m  @ @m u-w$w   f ( 7N     5   N   ww  %d @ 5he@--\ N   w` BNef  w*5 @ A Aap %d@w  f h%f F%5%N!  f0 % wX._..fc1errorsu-u-@ @aF@e25..@. . ~ w Z@5@ %) wB@ȥ  u@5%,%) 4 }- N  " 0 @ w 5 u %)_ w%\ 5@- %\@ ȕ\@ H0%\E 5%" %\@ ȕ\@ H@%"%'u%'@ ȕ' V5@-% " 0 %'@ ȕ'@ H%( %) 5%,%) @ Nw ~wDe   % w7 z7 zׯp- h f(wZ7 \ .wPeHB J ӕ- R r f e0 @ > ҋ D~8pt ӕ0 $f v Le0 9e  7we&  mf d ~    ~ w7 8 . *0   Wp `e0eӕ?f ,P   @f  7Y._..WconfurunUkenTdmrxyoldbox1!proc.h file.hinode.huser.htty.hsystm.hparam.hlib1lib2buf.hconf.hreg.hfilsys.htext.hlow.oldmailboxmch.oconf.oseg.hino.hbox2 D @_w %a%z %A%Z%_wj w TN  %0%9w> w ( @5 A @  w w ~wDe   % @w7 7 ׯ-  (w7  .wxe"B J ӕ- R r f e0 @ >$ ҋ D~8"" ӕ0 $f v Le0 9e  7we&  m  @~  @  x-f@w fwNwJ~wzf@w2w.wXf@www6 f$f@@& HADCBF7F/dev/rk2/dev/rp0%s cannot open %s %l bad free count bad free block (%l) read error %d count = %d; errno = %d fdoxfecsrlrZ._.. bjcheckerscubictttttt.kwumppsychchessskymoo[._..x`...ctm0actm4actm1actm2actm5actm3aatm2aatm3actm0cctm3bla04170atm2batm3bctm5cctm3ce...dumparasbascatRccQcdbpasswd chmodchown clri cmpcpdate db dcSdfdswduechooshexit6fcgotoifshkillldlnlogin\._..stmaaastmbaastmcaastmdaastmeaastmfaastmgaaa...lsmailmkdirmvnmodoprprpsrewrmrmdirxsizesortstripsttysusumsynctimetpttyuniqddwhowriteedrestoryefile]._..Ulib.baignatabcignctabsaltw2006ratrofsuftabubookratfor~unitsetabeigntmac.rtmgntmgatmgbxtmgctmac.squizlib.bobtmgccrontabtmac.sb...crt0.oc0fc0qfcrt0.ofilib.afr0.oc1liba.a~libf.ac2|libs.a{liby.atmgbylibp.axmcrt0.ofc1vas2filibtlprfc0fc1fc2libd.afc0libo.amlibc.aoas2ncheckdcheckichecknewgrpchgrp^._..kchk$cryptwsabcrtblcolcomm}creflcrpostrmesgfediformcuchksnospeaktmanupostjtryaccniceovsplinerathole sleepplot splittyponohupproofc...mtablpdoinitinitggettyfglobinit#mkfs"mknod!ttys mountcronnidgetpasswdrcupdateumountdpdutmpdtabgorkspdgroupmotdwallcnewsndpdvogettyvvogetty & 6  hw V%  @eeeN % # # !"*"   "- z "&e  "&  7  F%ww  C˥*˥?˥[ӋK & z ?e X!= L  N  Q  F% B4$ $%%+ "6$ F 6$& z ?e "/  O &  ӕ N ww D & X e-,e"e!ww Cbcdpfespdatem6manpwdotapomtcalskymazeeqncatsimfactorgrepnroffptiroffnfsplogibmtssptxtabsindexgraffindaplspellproflookteed...rp0mt0mknodakmemmt1cmemrrp0enullhs0rhs0mt4mt5rp1rp2rrp1rrp2rp3rmt0xxrrk1rrp0rrp1tap0tap1tap2tap3tap4tap5tap6tap7D&  %&" _   %" wXw Fg  F% &w:w (.. w Nf p w DCE 5 7n y5 #%]  & p w%-  5 @5  5    & & w HNf  p  w(w DCԢӋ w@w D %" E ӕ/D%" z HDwf@w fww neqnwchypacdiffcolgsiindtmgcpallfsendslavefsclcunitsfsfgetratforfscnvlxyaccm11l11bobb11quizcallusortorestorhcatsimquotbannerpinheadtty8runrf2rf3rf4rf5rf6rf7rhp0rhp1rhp2rhp3rhp4rhp5rhp6rhp7rhs0rhs1rhs2rhs3rhs4rhs5rhs6rhs7rk0rk1rk2rk3rk4rk5rk6rk7> z wfwrwn wnf@wVwR wLf@w:w6 w*f@@& HADCBF7F" *?[ Arg count No match /usr/bin/Command not found. ./No directory /bin/shArg list too long loupepdgencbisendpigcryptnumberkmantcatsimsearchcpircigetjststktekstarekaaishuprimesrevtacctlazarusvt0gsipteklexkrofffdbagenlogoutrmt0rmt1rmt2rmt3rmt4rmt5rmt6rmt7rp0rp1rp2rp3rp4rp5rp6rp7rrf0rrf1rrf2rrf3rrf4rrf5rrf6rrf7rrk0rrk1rrk2rrk3rrk4rrk5rrk6rrk7" & 6  zw h0%@ e%T %T  7x 7 s 7p 7f 7 a  & :   & : j 0#4 @/ 7* 8 U . U $ E  & :     e zw 7 7 7   & %  zE  wZ  X%%a%z %Z |e Ԑ  X% \&%A%#%  %@ % % % $%   X%w D &  _...^bin]lib\tmp[admZgamesYsysXfortmdecsourcelpdpubmkenrrp0rrp1rrp2rrp3rrp4rrp5rrp6rrp7tap0tap1tap2tap3tap4tap5tap6tap7tty8xX%̋wfw@e7 wf@ww wjf@wz wN f@w`w\ w*f@@& HADCBF7BF0T ea 0p --z 11e 22@ ;login: :login: login: login: :login: ;login: /bin/loginlogin alpha A A | beta B B | gamma \ \ GAMMA G G | delta D D | DELTA W W epsilon S S | zeta Q Q | eta N N THETA T T | theta O O | lambda L L LAMBDA E E | mu M M | nu @ @ xi X X | pi J J | PI P P rho K K | sigma Y Y | SIGMA R R tau I I | phi U U | PHI F F psi V V | PSI H H | omega C C OMEGA Z Z | nabla [ [ | not _ _ partial ] ] | integral ^ ^ e6 f r   ,e7 &      &e " LLeJpL@11     L  wOut of space. x LeJpLeJ@BlR s3 BJJ& F 1L1 JpL f&7 L`CKeJ GBxe, 2eJ BeJ, 2 J 4lB4 4NJ0NAeJ  0 & 6  w %T N @-6E#@e5%% x N b@x@ 7|e 5  @ @m&  5Nf  N p u-  ww 65 @  u-@eZ55 u-P N =  x6 tAZ   -Hu=@eZ5@  f  5 ' $ 55 fNaeNQTWZ]ILOJ ,Out of headers.      @ @W nW J0W,W,@@& ,Be "LeJ  r &r J7 d & L 7B 74  * J@  eJ UnJ7 e e B02 L  leJ2   JLJA eJJ  bwpwJcannot opef  % _D@@m w @@a @  f ~ NNaef ~ 5` @@ap% d   @@a u u-@  ~u=@eZ5@  f  _&@  f ~ NNaef ~ 5` @@a u u-@ 8   & 2%  Nfe& 2%_&w p  u  }@@wRw @    }w( w  j    D 0jz f`` z0*Hcannot open output file formaletter77 h S  S  vrh& \  R  r N e0 6 e0 , w08AGMQV[blt}JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecembern output file form.m Z  f %7:2 w& Nw  @  @me5'5@ RA @l 5 } @  N u@ RA @l 5@A 1`  }  ww @ @  w @  @ &R@ &P %A @, @ 0 w ~wDe   % w7 7 ׯv- n l(w`7 b .wVeB J ӕ- R r f e0 ( w w  w w{  } 7  w 6 w w  p j   2 &f VV\[{]V}Q  A  Hw  f 80 9 ] }  NN6         f rt  rlw T @N z F@w@. X$ `&n p7  ,   F  & 6  w  72 7& 7* 7 7" 7 *7 7 +e@ȥ-#@7 y   ~e@ȋ e w%@75 @PAPpP % ",@EPP x55 @P@pP %@0PP5 @0P %!P x5 )X x5u@EpP@EP f@5 @EPX x5v5 @P0P  @ > ҋ D~8 ӕ0 $f v Le0 9e  7we&  ml j ~    ~ w7 > 4 00   Wp `e0eӕ?f ,P   @f  7 -f@w fw>w:wnf@w"wwLf@www*f@<7    @ [w  ]w  B 7   t   wf n0  Nf \ 7 J T &D ~7 *7 ,&[w  e0w ]w  Lp &:w w w    w    B 6  &f   "&   z e q,  78  w :   H w@0P %7 T 7R    @EPE5 -EP@7 r` p5 ,wvw d @ @De@H,[_ N 5=@0 N * a x"N 5@-UA@ ȥ]L@p@w@0 55 @e0@-AupAmeu@ @5%0A@ ȥ]  @p + % N w A@ 5%\6 55@@& HADCBF7Fd : X v ffffffff Usage: crpost [-d] file1 file2 ... -d: 0 < d < 10 read error doxVfdecslrrfBBb2 W"f&@w  w        v$p t  \V z PJ l :  :4 T     q,   &J   7   7 eJ&J " q,  n7q,  Z7eJ &fCC  j @q o  5%0%7@t@me5 @ % u A@ 5 A1@@Ew|f ,P   @f  p 7 8p -f@w  f@)wfw*>JA 7 8fAW,f B@ 8 @&61fA   @ @e71@D 1wHf@wwJw*f@@& HA\_`cfiloruadgjmpsvbehknqtwx{~y|z}&F  6`( &   w`&  Bl~error on copy f1N1N1N1&0tC  BZqqq&qq, qf& @l1 11 1  D ( & qf7 q,@ @  b@  ȝv q,q >DCBF7fFcds~Bad string p mgetpw.o # Dw    7 w &  %5 5 EB ҐNe % B %:% %:%0%9Wp D`eD- /etc/passwd(h_getpw"~getpwL2bppbufcnbuq,@      f7 q,@ @  T 8 @  \ȝ   x f   Wv Ee&    2 2 2  7 4 f& Wv Ee&  @E7 2 we2 @` & w2 f  2 2 Wv E@`e& & ! , e : loop if $1x = x exit icheck $1 dcheck $1 shift goto loop fuidpwfcsv L3L4_open L5,L20000$L1(cret _seek L6NL8ZL20002T_getc L11vL16L13zL17mon.oo #48w  & & & e  & % R %5 w }@p@p w|A Wpu`A Wpu '@@ E5!  & f % f@ &f ewmon.out(Ix_monitor"~monitorL2L3highpcsbufssizbufsiz cntsiz obuflowpccsv L4F_profil L5_creat _write _close L1_nargs L6.prstr6ffltpr.o "< eӕ?pfloat"pscien"putchr.o ",p0fr ,hP ^ X @f < |7,* p| - |_putchar"_flush"._fout$vfl:getchr.o +"B0f   7 7 7 )_mount"cerror nice.o "Tf"w _nice"cerror nlist.o " <fwA@ e  X O-m- e7|-| -t-l) l"  @ 7"B7,<7,6 7,0,( e TL7_ldiv L8cret perror.o #Hw - N rf % % r& % %ww Dԋ@ wvUnknown error:  (  _errno _sys_ner _sys_err _perror"~perrorcnscsv L2())())))_getchar"_errno _fin badret4atof.o !Llw Wf&  C% - 0    0  ~ 5  ע- 0 Wp `  BW@ &  W B~  VVw0\ B@e_nlist"donebufcdonecountopen.o "pfwww_open"cerror pipe.o "h$f*wBJ _pipe"cerror pipe*prof.o "x$ fwwww $,L3_strlen"rL4H_write L5L6cret ~strlenrsstrL8zrin.o.o $$w 5    %9  5 BC@C5  %-%.%0 555 B5 !5wti9_rin"~rincdfn)_atof"csv cret digitone@outhugeten Bbig\chdir.o !dfww  _chdir"cerror chmod.o !t fww w _chmod"cerror chown.o !t fww w _profil"putc.o " lfwAQ  OfA  ^ y   F y @0fA  @9 fA @e&72w.7(@wD7 @IY_putc"\_putwcsv L2:L20001L20003L20005L6XL7&_getchar L3F_exit L8fL9zL20007lcret fltused alloc.o !f&UUDe .E ' $ 7?%7e-Ue?z7tnUh55 ` ć `7@ 84U ef@e7E_chown"cerror close.o !Tf@w _close"cerror creat.o !pfwww_creat"cerror dup.oo !\$f@)w)dup)_dup"cerror execl.o !lfw@e7 w _execl""_fflush"_fcreat"cerror _errno badretgoodretflqsort.o $Dw w wAupNNmf , ww @@5 _~ fA rBpEu@@`55DCN&  f& d%5 2`D--`f  $`f& %`Df %5 D-&  C-D-%@@AA@ Nf` , u_8Nf , @`5_8f %Cw~w zH_allocs#_allocp#_alloct#_alloc"_sbrk L6L7&tL11L12fL8L20001L13_free"fltpr.o "H7  ӕ- ӕ0B~ӕ.  ӕ0~ B~7  ӕ-ӕ. B~ӕe cerror execv.o !(0fw w  (w )_execv"cerror __exectr rttfork.o "d$fw7 _fork"cerror _par_uid$fstat.o "lf@ww _fstat"cerror getc.o $" `fwJA 7 fAW, tDCԒ wZw VNDCB5ҒS w*   ӕ- ӕ+ r e0e0S99Y999I9pfloat"pscien"Nfltused"_ndigit ecvt fcvt printf.o "0 ,w ~wDe   % w7 7 ׯ-  (w7  .w~eB J ӕ- R r f e0 @ >* ҋ D~8f B@ 8 @&61fA   @ @e7"1@ 1wXYIindir_getc"d_getw"_fopen"cerror _errno badretfillgetcsw.o 1"0 f&_getcsw"getgid.o 9"< f/_qscmp _qses _qsort"~qsortfc esancsv _qs1",cret ~qs1,eshplpacijlnL38L2~L4L20001_qsexc"L20003L9 L20008L20005L20007_qstexc"L20010L12 L14bL15F~qsexcrirjc ӕ0 $f v Le0 9e  7we&  m  ~    ~ w7 f \ X0   DWp `e0vdoxfecsl$rI8Ygetgid/_getgid"getuid.o E"0 f_getuid"gtty.oo K"lf@ww  _gtty"cerror kill.oo Y"0fw %_kill"cerror kill%indirlink.oo m"t fww w  _link"cerror makdir.o "ijnL20~qstexcrirjrkcijknL24read.o "x"f@ww"w_read"cerror sbrk.o "H<fD@wm:Hw.wm(fwHww ))_sbrk"_e)888_printf"pfloat pscien _putchar csv cret formplooprjustndigitgnumtwidthndfndswtabdecimalvoctalhexfloatsciencharacstringlogicalremote$prbufdfww _makdir"cerror mdate.o "t"fwA@A"w _mdate"cerror mknod.o "&$fwww&w _mknod"cerror mknodmount.o "&f&w nd cerror ndL_brk"(seek.o "|$f@ww$w _seek"cerror setgid.o #`$f@.w )setgid._setgid"cerror setuid.o #Tf@w _setuid"cerror signal.o #(HfAW @w f17 5 eXw 5& w&L&H&D&@&<&8&4&0&,&(&z$&t &n&h&b&\&V &P&J&Df& 0)rtt_signal"cerror NSIG  %ew_nargs"jsrsdltstipcmpiradditjmpixbri|reset.o " Hw www w)99_setexit"_reset"csv cret sr5 spc"ltod.oo z"p$f =f 5= _ltodraceindir_ptrace"cerror _errno atoi.oo #|\w B 5  ʥ ʥ ʥ- ʥ9 Wp @@`eʥ0  wy_atoi"~atoiapcfnpcsv L3L10000L6DL20004,L7JL8Vcret cerror.o !D7FdvecttvectXsleep.o #Df@#_sleep"sleep#stat.oo &#t fww w _stat"cerror stime.o /#\f@Aw _stime"cerror stty.o 6#lf@ww _stty"cerror sync.o =#< f"_dtol"ldfps.o f"4 fu_ldfps"ladd.o _"D0w BB BJww BBdb@ BJw)9)9_lsub"_ladd""csv cret ctime.o # `w N  ww DeL@4 &  0w/%J %K  t5 t5N 5N 5  B-cerror"_errno $_sync"sync$time.o D#H f BR_time"times.o L#Tfw +_times"times+umount.o R#|0fw _umount"cerror indir_errno unlink.o Y#dfww  _unlink"cerror wait.oo a#t $B-%B-B-% &  0 ww DC%: e`m e rfww p@&f % r<R r< r<R r< rWtC` re rwF   !7 %n@    0!" 7 ww HԔAA WpCebԔԔԔ BeWpCexԔԔԔ&  ed&  ed&  ed&  e@ &  wRw Nr0 7 75 5 5 Der Z  Talloc.d t  --fatal 5C  nr d 5E r  7bad address in parsingH І 5' b5E    F@e DEC55 DECwf&  @! C ef5 Clw^ Lttte!uw7stack overflow  f & w })_wait"_nargs cerror write.o h#x"f@ww"w_write"cerror abort.o !< f_abort"ioterrlst.o #pDL[u#5>Tfr 2?Ud!Error 0Not super-userNo such file or directoryNo such processInterrupted system callI/O eA r nw8mw .D % A r  r e0@ԕ A r e0@wPF@DM:/ESTEDTDay Mon 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecxx&@D f @D @5C g 5E r    7bad address in translationHuue ue” uACeu  7not a bundle e 6& & e-& ,ȋ 1 wW & 7 A &ECA@lAU xrrorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedError 14Block device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken PipeX9IXXXhxxh (XhhxxXh9IX_cbuf _dmsize#_timezon#0_tzname#2L1@L2D_dayligh#6_daytab#8_ctime"~ctimeatcsv _localti"_asctime" cret ~localtictdaylbegittimdaylenddaynocopyt_dpadd _gmtime"0L10000jL5_sunday"L6L10001L10002~shHhXxH(hxHhH(  99(9 9htracingfgisefclfbfsbfcflush":obuild"putch"iget"Pkput generate"cfile dfile ofile input main"succ"~fail"_sys_err#L1DL2LL3[L4uL5L6L7L8L9L10L11L12L13L14#L155L16>L17TL18fL19rL20L21L22L23L24L25L26L27L28 L29L302L31?L32UL33d_sys_ner#Bexit.oo "0 undayatdtadL8_dysize"~gmtime0L10tptimd0d1xtime_ldiv _ldivr L11L20001L14L15L20003~asctime cptptncpL21HL19L22bL23x_ct_numb"~dysizeyL25L24~ct_numbcpacpnL27L28getpid.o >"< errcom"\pbundle"parse"Jdiag"Dalt"salt"stop"rgoto"tables start"rend stkb stke ktab trswitch trace x si j k n g1 env advsucccrsretcontincontinctfailcvfret8advcxek ep ek.fs ep.fs fs ktat .tp"gcontin$badadrVgfvgcxgkf@_exit"hmul.oo R"0 6p_hmul"locv.oo t"j $f&jCB  ԕ- j e0fv   vA W  ~_locv"bufjdividNnargs.o "`lTfA w,\w"Ve"w"Lew"B@lw":Alew- &@t`efgetpid_getpid"abs.o.o !L 6_abs"_fabs" csv.o.o !`@& HADCBFcsv"cret"mcount.o "d eH  mcount"countbas ptrace.o ",<fw(ww@ 7 ,wI9ptlfile outb outt outw <0 & 6  9(savr5$fptrap _exit _main startw$ 7 &  .w e B J ӕ- R r f e0 @ >  ҋ D~8   ӕ0 $f v Le0 9ep j b \ 7L we&  m0  .  V~  V  V~ w7   0   Wp `e0eӕ?f  , P  @f  (7X  (v n -h ` f@w fww %lw@ݪ#E   m#m#few e& & !*&p#j#7 h# ԋ! w*  w^-V5Ke'D& C N h"#F* U"E   w r   mt j  Uw 2&e*w 8(ew `o w Rx-" w <r&5w V2& w N8(ee" f&%w:"%@7p:"6  r e0H~0 R~ & 6  >w , r40&   % >%5& #@y& 5 % > % >wzfw4w0wn fwwwN f@ww$w*f@@& HADCBF7Ff@  x" "*@ $$ttyЋ7@ /dev/ttyxcannot swfw@e7 wfw JA 7 fAW,f B@ 8 @&61fA   @ @e7h1@  1wffw@w< w fw&w" wf@w w wf@ww" w fAW @w f(1(7 5 e w( 5& w"&~ L&x H&r D&l @&f <&` 8&Z 4&T 0&N ,& @% &!!< T$&# ,7" !=[!:7! N% " -L }L w!!*w $x%E   w mE]7!!-w pf! &ȝ7   < W l E n d^    $ w h. w ZrEE б! ! w! !;!e &t&0 eD t& AE@`e@efBJ b &w eB$tat was y was n cannot change mode /devH (&B $&< &6 &0 &* &$ & & & & f& fw. wX f@ww2 w4f@f@& HADCBF7F/usr/lpd/tfaXXXXX/usr/lpd/cfaXXXXX/usr/lpd/lfaXXXXX/usr/lpd/dfaXXXXXcmrCannot open %s Cannot remove %s Cannot rename %s /etc/lpdlpdCopy file is too large pdp::::m0000,m000:$ ident Cannot create %s /etc/passwddpojxfeHcVs&lrwD8 E`w8U ( w( > 7  $!!eF"el7  ph8# 7\8#ew \!D!<wP     w "&& H %7 T#P#xbnh^ 8 < @ ^ ^ ^ R8 %   ѕ  "" "" | r " #"w xUU %E BCw2 & " $  p" d" \ #Algeria:Alg[iers|er] Botswana:Gaberones Burundi:Bujumbura Cameroun:Yaound['e|e'|e] Central Africa[n Rep[ublic|]|]:Bangui Chad:Ndjamena Congo:Brazzaville Dahomey:Porto Novo Ethiopia:Addis Ababa Gabon:Libreville Ghana:Accra Guinea-Bissau:Bissau Guinea:Conakry Ivory Coast:Abidjan Kenya:Nairobi Lesotho:Maseru Liberia:Monrovia Libya:Al Bayda['|] Malagasy[ Rep[ublic|]|]|Madagascar:Tananarive Malawi:Zomba Mali:Bamako Mauritania:Nouakchott Morocco:Rabat Mo[z|,c|c,|c]ambique:Louren[,c|c,|c]o Marques Niger:Niam(  0 e`vep 8 x h_ \ T v  P b!# w }e  @!w n5    EU w b   Pw  D   @  &U  \!, 2 PE 8 :5R -J   : v ! !,  E& % w l2&w f8(e4 w 2&ew 8(7% 7 !& Z V 5U  & !(>ey Nigeria:Lagos Rhodesia:Salisbury Rwanda:Kigali Senegal:Dakar Sierra Leone:Freetown Somali[ Rep[ublic|]|]:Mogadis[cio|hu] Sudan:Khartoum Swaziland:Mbabane Tanzania:Dar es Salaam Togo:Lom['e|e'|e] Tunisia:Tunis Uganda:Kampala United Arab Rep[ublic|]|Egypt:Cairo Upper Volta:Ouagadougou Zambia:Lusaka Za["i|i"|i]re:Kinshasha [Rep[ublic|] of |]South Africa:Pretoria [The |]Gambia:Bathurst chdir ken cc -c -O *.c ar r ../lib1 rm *.o chdir ../dmr cc -c -O *.c ar r ../lib2 rm *.o chdir ../conf as m40.s mv a.out m40.o : as m45.s : mv a.out m45.o : cc sysfix.c : mv a.out sysfix cc mkconf.c mv a.out mkconf mkconf rk tm tc done cc -c c.c as l.s ld -x a.out m40.o c.o ../lib1 ../lib2 : as data.s l.s : ld -x -r -d a.out m45.o c.o ../lib1 ../lib2 : nm -ug : sysfix a.out x : mv x a.out cmp a.out /rkunix cp a.out /rkunix mkconf rp tm tc done cc -c c.c as l.s ld -x a.out m40.o c.o ../lib1 ../lib2 : a!-X!$k!*w !(   U0U  UE U W!%|7U > !+  U8  NU UU |!(7L- h h >UU P U w * *ww a W     w je!)w \) rW  b& Xw  fEtWt18%*W fE WtA8%Vt 7 *f+  ^w " bw u 7 d & 6  w   L 5Z L  L 5Z L  L 5Z L 5  "7 %"@̥- 7h  y+ e-X  ,%^ Z%-F  & MeD%+ ̥/ &   F   U    &  5. N N %-  Z 5>   +    5  P  ` js data.s l.s : ld -x -r -d a.out m45.o c.o ../lib1 ../lib2 : nm -ug : sysfix a.out x : mv x a.out cmp a.out /rpunix cp a.out /rpunix mkconf hp tm tc done cc -c c.c as l.s ld -x a.out m40.o c.o ../lib1 ../lib2 : as data.s l.s : ld -x -r -d a.out m45.o c.o ../lib1 ../lib2 : nm -ug : sysfix a.out x : mv x a.out cmp a.out /hpunix cp a.out /hpunix rm mkconf c.c l.s a.out *.o : rm sysfix  VS!a @%I& D$  y+b -b *b /b &b b b b %b [ ^b v p !b +   (!]w ] # Z}+ - *: /F 0 &$   % ^ !X >   w vHt4w lH r*w XB`%w N$B w DHA B@w 8HBPw .HBpBw "H rw HA B`+wX&PEEE & W%$   Uf7 ~ (Wp @e@` w rV E7 > Z  k b %< Fww  F   U   "55 5 N f  %5N f t %um% -o N  ww Nu5 } _} @ 5 NeN. t %ww N &  _< 5 @   ԥ: %:,N> RS5%:L  > M  ww  5  X e A r Be78    ? a.outn@ 8 0 nZ*f xxxx ^ d       "0  0 @ P ` 0A r 5 %7*ww f   N  @mw^w L L  L  L   Z a   Z a   Z a   Z a  ww      7  w &  ( % 5 5 EB ҐNe z% B %:% %:%0%9Wp D`eD- w ~wh De^  X  % Vw7 D 7 D ׯ: - 2 0 (8"0 0 w$#F* 2"e 2 & "  E   e    wV%`%`%7 ^%  e  w)  d-w\7 7 %%w D 7%7 %  n) |Evn Ewdb EXC$$`$$ eRHC@6F* ew ) w b2&w X8(N @w h2&  w 2&w |8(\$7R$7 J$w 2&F* #w &2& w 2& w 2& w 2&@w 2&@w 2& v rw 2&wEw# @ @ @ @ @ @ @    @    @ tvpprtvrx ~#w% p w D 7jw F 7Zw H 7X7Nnw ^t7RwAWpqL,fAWpL,L,AWpqP,fAWpP,P,%  5  %w w N 85 f < &@& , &@&  &@&" @e w w ~ A r e0C r te0Pwf w T  j "  7X Tw:  & B %85 5 EB ҐNe F% B %:% %:%0%9Wp D`eD- 7. $ ӕ- ӕ0B~ӕ.  ӕ0~ B~7 0 `&e  ,   ,ebww5Q$  f   EU P5h   PfPPQ7 Ƈ5    5 C B A  `5  5  5  eE  "$ $5 $$ 5j  5R  5@:  wL   w>  (  ӕ-ӕ. B~ӕe ӕ- ӕ+ r e0e0Sw ~wDe   % w 7 7 ׯ- ѷ (w7  .wуe"B J ӕ- R r f e0 @ >l ҋ D~8## Jӕ0 $f v Le0 9e F  7we&  m  ~    ~ w7  з 0   Wp `e0fx   5@   B     Uw  w www  7 d `a NURZW 8U W 8Efc     ` - a h h    a  ! p R B W !W e UETR5l  5Z  ULwp      7 r@r@  e J!0 & 6  w  n %U@-Oe @@mȋA@@m r eN!A! y6 #  # # # # # # # z#@@me7  f# b# b# 7|% ! p :# _x eN p # , #_5 AWp>,i5 AWpAm@?>, %AWp%F,N%! 7AWppslF,F,AWpqH,fWpH,H,AWpqL,fzWpL,L,AWpqP,f ,nP d ^ @f B j70 #j&-Їf 88  7 ߲ͷ ͅ7 7 ͅf@w fwVwR#wf@)wxfw*#JA 7 ,fAW,f B@ 8 @&61fA   @ @e71@# 1wfww #ww w wAupNNmf  wtw bZ@@5  JW!W! 57 e  , ¸® f    $ $$$& N & N  N N S C B A  eW!Շ w^ m2$ rf5e        W!P    0&d& dN & dN dC N eN e-Z!d!n!x!!!     ~/usr/adm/sha***other/usr/adm/shm/usr/adXWpP,P,AWp1>, % 55QAWp>,H5 AWpAmCpCm>,>, %AWpCpF,F,AWpqH,CpsH,AWpqL,CpsL,AWpqP,CpsP, % b!X  !  5>$f %N !  5! @ AWpN>,f %N    5" @N     Z d  f>, e"" @ 7J&7@&76&7>&_& fA rBpEu@@`55DCN& * f& ͖%5 2`D--`f * $`f& N%`Df ͖%5 D-& * C-D-%@@AA@ Nf`  u_Nf  @`5_f N%Cww  DCԒ ww DCB5ҒS wf@ww&#wf@ww|,#w fAW @wZ fj1j7N 5m/shtCan't save Can't truncate %8s%-8.8s%-8d%-8s%5l %7.2f %6.0f%7s%6.2f%%%6.1f%9.2f%9.2f%7s%6.2f%%Only 1 file with -s Can't open %s %3d %.8s /usr/adm/sht/usr/adm/shm**junk**%.8s--%3d %c%c%c %d/etc/passwdd oxHfVecsldrj0PFf#j#M:/ESTEDTDay Mon 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec> \d6 e 5 9AWp>,0AWpqF,uAWpNe>," @ AWpqP,fAWpqL,fAWpqH,f5& e u- ww  t >$6Nez& "Cez˥ ˋ ˥: Nez#" @ t0B$pC&t&>$(" B e %w:w (5&3" e 75="9" @ C5w&>" e 7&5 &5& e 7&5&5& be7&5 7vwv&55&5& 2e b5 uu&F" Ve  ew:2# 5& w:&HL&BH&$Ne &fe pC&tpB$VpB$@@&77Ne 5Wp F,Ne 5pC&55&AWpH,H,5&7R7LNe 5&AWpL, &   R w4w "DC%: e`m e rfww p@&f %^ r<R r< r<R r< rWtC` re rwF   !7 %nD   >#  0!>#&  7 |ww <n#ԔAA WpCe#<ԔԔԔ BeWpCe#ԔԔԔ&  ed&  ed&  ed&  e@ &  5u w N v 5N v 55u   w5u w w@0qw  "  5GWNe 55&7`7ZAWpqF,5&747.w FD % A r  r e0@ԕ A r e0@w@& HADCBF7Ff5w X * f5w B }7 .&ʦW&f 7 @% @A&@7 @L> Be0# @є     BA   W e B@e0m ~` eȐ9 ȕ0 ȕ1 LH F`0VV6rw"ɇ6r@f@  P`Hm`  F FɷD70AWpuqH,5&77AWpuqL,5&77AWpuqP,fef ~%%N  "  5 >$f ~%N w w 5 5 AWpBBm`u % @ 5A ruWp>,5 AWpAmBBm>, %@w. 5  %AWpAmBBm>,A w " 55 AWp>,mAWp-F,eAWpNe>," @ v 5%yMAWp1>,AWpCpslF,F,AWpqH,fAWpH,H, PP7 EDE!wEED5!5! w |#W!wwh  #wW! B  w w wzwh  # E7\EUE@U@ E UU   BE? eCE e@E x$5xe5f5@NeY H e 5@(> *; ,66  ,Bmtmpnam.om 2 lw *ea " &4f e@wpl%d%cIYx_IEH0958#2_tmpnam"~tmpnamscsv _getpid L24_printf cret printf.om UL4w F@e7@e5% zwe   % uewe_Vf@& %_V%ue-dl Xr0J0 5 h5., & T55 5 5  r eA! y"N J Z@YN ?N :u6@E? -@e5=5e@ffe& e 5 @e5 f@& % ?F@e5N 55 @5@@5rff %@ f@& %@ ff %@ @e7 5_%f& %ww | 0l hwd5  @A tE5 @e0?, (nL10L10000L10001__Iscan"cret L10005L22"L21L10007L10008L17(L13L186L27\~_Iscanchfileidnmatchformatlistp__Isfil#L122L10009 L20003L10002.__Isfrm"__Inxch __Ichar"j~_IcharjchcptrL30L29L20005__Iflot"~_Iflottemplengthfptrx__Inodg"__Isstr L33w @t5E @E5% e7@e0? ww 5 %9AWp Ameu5 %0 @ww | xwtw p @e5 @ -N JA r }eA r 5 @e@-= e 0@? @e@-w&2@H!"%(!&!VDV(2DV(2<<Vy )_ftoa"~ftoaiendigprecformatfstyleikxystr csv _nargs L2L3`_IEHzap L10000&L10001:L100024L10004NL4VL5ZL6|L8L10L20001L20003L12L13L20005L16 L17pL18RL19hL20007ZL22L20009vL10005L10006L2L32L20007_atof L10011L10012L20008L37~_Inodgch__Idigt L36L35L10013 L10027L10028L73L74.L10034L10035L10036L10037L10038L10039L10040 L81lL79dL59`L62L64L61L76@L66L60|L77TL49ZL67L63~_Isfrmchspeclengthlflagpo)))))))   ))5L26XL27L28L20011L31RL20013 cret fltused dummy.om 0ndigit"_ieh305i"clenf.om $`w 5  @ ȋ@wIy__clenf"~_clenfnscsv L2L20001 cret scan1.om sw 5 %w5 @ @a58 % 5  interL45,L44L10033RL10014L20011L10015__Iint L20009__Iestr L10020L20015L10021L10022L10023L20013L10029 L10024 L10025$__Ilong L75B_printf L20014<__Imtab __Ispnd L80\__Ierr L82{fltused scan2.om z txw 555 5+  x @ @- AupAmuf %N 5& 5y  y y)))yy __ptrb%@%*@ @aAAm Aap Ne@ @a& f& %w w w5 @5 7 y x @wNefe   ߃  A@ w 5 wz }w dPffe %  wE @ 5- dA r 5u-A 5re0= A 5ruA r 5 = wftoa _scanf"~scanfipnpptrsjkflpp1p2p3p4 csv L2@__Iinpt L6 __Igstr __Igetc __Iungs __Iungc L7,L8L4TL3Z_cgetc _ungetc L20001L50fltused scan3.om |Bw  Nf f fff e   ww @ȥ^5 5 @pB % @AB pB@ 5%]wRw N H D 5  @w$w @7 yw w @B ww ww w ERROR  9999__Ierr"~_Ierrgicalprbufspacesbufprevput.om i("xw  ed-( wunprint producing too many chars9IIYI_IEH3rev"~IEH3revccsv _IEH3out _IEH3out L1$L3(_IEH3err cret maktab.om Bnw @ȥ^5 5 @pn % @An pn@ 5%]w_copen"L10001L10002L5L9jL7PL6JL4L8dL10x~copenfnfilenametypecsv L10003_open L20001(L2.L12B_IEH3mbu cret _creat L11_IEH3err cputc.om 08w % %@wAWp eu@ N @ f A@ HA1`@A@,@ & f abc d emessagecsv L2_printf _cputc _cgoof _cexit cret __Iendm#B__Imtab"@~_Imtab@chnormaliformatpL4`L20001dL8L20003|L10000L10001__Inxch"~_InxchchL11__Isfil __Igetc L12__Ispce"L13L10L10003L10004L19L15~_IspcecL1y_IEH3end#n_IEH3mta"~IEH3mtachnormaliformatpcsv L2 L20001$L6VL20003<L10000NL10001Rcr%@ @@p&f % @N+ @@0 cputc cputc: %d not opencputc: writing %diy(HX_IEH3fpt d_cputc"~cputcchfn0005L14__Ispnd"~_IspndchL10006L20__Iinpt __Iungc __Igstr" ~_Igstr __Iungs"0~_Iungs0chnodig.om L@2w @  w@27 y +-.Ee,y_IEH3nod"L100012L10002<L20000L3,~IEH3nodchcsv _IEH3dig L2L1cret L10003$gets.om et nexch.om G 6w  5@ @w9Yh_IEH3nxc"~IEH3nxcchcsv L2_IEH3sfi _cgetc L3"_IEH3spc L40L1,cret unget.om ,|,w %| AWp eu@  f @Aep N A1@H@ wungetcungetc/unprintf: buffer full file %diyfpcsv _nargs L2L3_IEHzap L10000&L4.cret L5VL6_IEH3err L7n_IEH3mbu L9_seek _write L10L11L12+_cout#makbuf.om =Dw ,AWp eu@Ap@A p N %xNef %( = % $ !Ned 5%.@ p@Aedp@=@p @A ,Rw %R u   =%  w=@gets IY _gets"~getspscsv _nargs L2L3R_IEHzap L4*L20001 L5<_cin _cgetc L6HL1Dcret puts.om `Vw  %V u@& @ 5  _IEH3fpt d_ungetc"~ungetcfnfpccsv _nargs L2L3|_IEHzap L4<_IEH3mbu L5\L6_IEH3err cret getch.om 'xHw  w)9HY_getchar"~getcharcsv _cin _cgetc cret cgetc.om pZep@=@%  @t5pw8Xx_IEH3fpt d_IEH3bsz#_IEH3mbu"~IEH3mbufnfpblocbxsizetypecsv _ttyn L2NL20000FL3 @wputs iy_puts"~putscfpstrcsv _nargs L2L3V_IEHzap L42L20001"_cout _cputc cret cwrd.om P w @@5A@puNff %5wA 5rw @@5A@puNff %5w|A 5rw % %N$ AWp eu@ NB @  f @9 Gfe@&@p&f Te  x@N] @@@ @ A@ wcgetc cgetc: %d illegal file numbercgetc: %d not open to readcgetc: error on %dXv_fstat L4pL6zL7_alloc L8_IEH3olb L1_IEHfbak L10000L10001 cret cflush.om w % ?%;AWp eu@  ff %@p@Ap@ @ &f %w`cflushYiX_cwrite"~cwritefn buffunitlennwrbuffp1csv _write L10000<L18cret _cread"H~creadHfn buffunitlennrdbuffp1_read L10002L2unprnt.om fwDe   % && e 7 x7 nׯn-_IEH3fpt d_cgetc"L10003L13L16~cgetcfnfpcsv _nargs L2L3_IEHzap L10000&L44L5$_IEH3err L10001PL6^L7BL8t_IEH3mbu L9L2_IEH3fpt d_cflush"~cflushfnfpcsv _nargs L2L3_IEHzap L1L4v_write _seek cret ceof.oom tw AWp eu@ w w AWp eu@@ w YY_IEH3fpt d_ceof"~ceoffnfpcs f d.7 \ .|B Jdofecsl ӕ- 6 r f e0 $C~ fWtE Ee0    & `w t phΟd ^  V  J B w7 0 & "0  Wp `e0[HY0000L1L20002_read L10L14L15]cret _cin#putch.om [Tw @& w9IXi_putchar"~putcharccsv _cout _cputc cret cerror.om X@ w B Nf f fff e   wERROR _IEH3err"~IEH3errabc dv L2.L1*cret _cerr"2~cerr2fnfpL4VL5pL3lcexit.om *lw 5 N % N wIhx_cexit"~cexitircodecsv L20001 _cclose _exit cret cclose.om w ]%YAWp eu@  @   x& f %@ff %@)9HHH_unprint"ndigix$pfloat pscien _IEH3rev _IEH3bck formplooprjustgnumwidthndfndswtab|decimaloctalfloatsciencharacstringlo emessagecsv L2B_printf _cputc _cgoof#@_cexit cret copen.om 0,w @7 y 5  f 5 Nf @wf 5f N arwjPJdxcopen: bad file %sHYhAp@0 @ @%@  @ 0 N w6@ &f \L(8I_IEH3fpt d_cclose"L10002L7L6\L5L~cclosefnfpcsv L1L100004L2r_seek _write L20000p_IEH3olb#L8_free _close cret getvec.om 1xHw N w9HY_getvec"~getvecncsv _alloc cret relvec.om dxHw N w9HY_relvec"~relvecptrcsv _free cret wdleng.om (`w 55 @wIy_wdlen H) ) )YY )) 9XTqqqqXHX8XH8Hrewind"create"fsfile"w r a l zero.oom u""H&qq, qH((XH(zero"putchar w r a l altch.om h"~f7t q,@ @  @  ȝ40 q,q  )g"~wdlenglengkcsv L2L20001cret system.om 46w  fA>6 eNe w/bin/shsh-cIY_system"~systemstatusstrcsv _fork L2(L5AL4>L36_execl _wait cret ciodec.om  _IEH3fpt dcalloc.om Tw AupN w)_yyval _yylval _yypv _yydebug#T_yyv ,_yystate#V_yychar#X_yynerrs#Z_yyerrfl#\_yyparse"L10003^L25L28L380L10005fL22L9L13L15L21~yyparse9YIiy altercha"plausibl stats allocate release copy bufchar getbuf swap w r a l w1 flag u1 fixct nchar|alloc.om f"<$& xCC  6 jq&  6`(  <  w`<  IXi_calloc"~callocnscsv _alloc cret cfree.om xHw N w9HY_cfree"~cfreeptrcsv _free cret alloc.om |w D m" a2  eweE !݃%%5 %Je w fDe!c bb! c33wpsnpsaccsv L2*L3HL4p_printf L5`_yypact _yyact L6tL1L10_yylex L11L10000L10001L16L17_yyr2 _yyactr _yyr1 _yypgo _yygo L18pL20001dL19xcret L26_yyerror L29 L20005L31L20003L34L35L36L37L39DL40Blerror on copy f < , Wv Ee<   f1N1N1N1f&@l1 11 1 ,    ,2 2 $2 4 7 f& Wv Ee< , @E7 2h w$e$2 ,@`&0 w2 ,f  2 2 $Wv E@`e< & 7! ,44 H_freelis#_slop#_alloc"~alloccpnpsizeasizecsv L2BL1>L20001L9 L200058cret L3JL5VL20003PL10000lL10001n_sbrk L10_free"~freezacc.oom >#P0w w)9_yyaccpt"~yyaccptcsv cret zerr.oom C#B\w N   %   w7. y  rblx %s, line %d, on input: %s \t \n $end %c    (i  e eD  q,@ p f  Z 4  f7\ q,@ @  8@  Jȝ ,   4f r4   ,44e&     & ZZeXpZ@11    Z Out of space. @ ZeXpZeXbBl s3 BXX& R 1Z1 XpZ f&7 Z`COeXcpnpaptrptrL12L20007L14L15L16L11iehzap.om 6XB,lw f %B %Z % w: argument count wrong That's all, folks 9HHHy_IEHzap"~IEHzapscsv _write L2BL3Z_exit cret _yyline _yyerror"L10001L10002L15rL11bL13lL17x~yyerrorscsv L2_printf L3&L4L5_yychar L6N_yysterm L7L20001DL1Jcret L10003ZL12L20002fL14L16L18zinit.om G#P0w w)9_yyinit"~yyinitcsv cret Klaltercha putchar lookchar w r a l ncharLlength.om r"H@@@@(H8Hlength"position" w r a l rewind.om s"ekchar"Dputchar"allocate"release"\stats$>w!r!a!l!bufchar"<copy"getbuf"~swap" fixct"^resetafiRb1"<badafoutTnbufw1",cleanwheadb1s"b1e"$u1"4flag$<getbnochncharXnbuf2hsznumbnumb2initl<log2NzzzfrlistZxxxhblkXfrendzwwwyyy d AWpNVf  I "@&f e 95 C , )C% "C  %%C   , @ @A@lH wX Jw <% ,AWpAVCplXCpɜZ@   _J   \ xH C5 WpNV B5WpAXu%> 6NWpfVf h%"f h%  "f h%  N% f h%collect~exp2dpreposteusefulPloop1loop2advance8headszloop3coalnocoal0strbufzbotchstrendXdatadrVdataszasmemerr2bgargsheaderszendZ &"f h%" B5 "f h% "  j N% f h%WpAXu%WpfVf h%<NvWpfVf h%f h% t" B5"f h%(WpAXu%WpfVf h%NWpfVf h% z"_ 7 V T7 tw w %b@ ;WpuV"e&"@7% 7@p" -% ""     #&7 w$ w  "N7N y % 7    "r"*\h#'"\T J d\>>6   , $ > Nw w n %* *2"j7 y */%" "%\  " "w  /*%" w % 7   7 rw w %d d7 Z  w _" 7 tw h dWpuV%= P: n 4BWpwX%78X: & 6  w %  d @-  5 5`u 5 R_F" A" >"2"M@ @m& F @ @m'  MM "!!B Bm p"m! " !% !!! R!  u-5  f  @  % M N6@EH5 5 @ T55Nef  L % &!KZ5 #%! /"__`p Rw@p" -% "" |7 w w c  w hrw Pw w 7 Dw w z  wx w f @-E_7EwE7 E7E7E7E@@muu AfAVpu @ %9 A 7r,EC r Eu& #@e5u @ A H @wAA` 7rDu@ mDmD5-DЇ E D-DD  @ mDD zD@m{5 % @ @aA pT $L @ @a0 Nef  xww  J :%B ": ~ % H(   & % ( > 8 "  t@` 5&@ 8 e&"^K  7%-JKFKBK>Kww  8J,K>L(K6:7 #&7    5  F@t&e&f %%   %N    5 |  -zD  ^DmdDH RD @  >DmDDH 2D@*D@&D w u@@mȕ @ A r 5 N ff N% @@mC r e0Ȑ @wVw D    }w, w % 7  7 2; 0; 7 _ |7 ;7 ww  d \w ~ w  @ XN@me5'5@ A @lXN 5 } @ XNN u@ A @lXN fef %%3%/Nf %@- 0   Nf %@- /  bN N  d . 5 .  . 5 .  . 5 . hI^I  7"WQ  PN  D  7 &*p p p p   7  7  7  7xwnw \Nq  wTw B L xHx <r <l <5@A 1`XN }  ww @ XN@ XNwA @PN PN%  9 N  ` A@ XN@ &@ & v%A @,XN@ 0 XN w Z~wADeA  A % bw<7 A7 AׯA- A A(wtA7 vA .wjAeB J ӕ- R r f e0 @ >A ҋ D~8 @ӕ0 $f v Le0 9e@@ @@ 7@we&  f <` < ww  5;Nf  N{   Ne V@-@E5%N  N  F@tE % wtw b@5_@ r ebA! y"@  >f6b.^7 [F R8N2 K$G D7  @ @m757 2 /T$ @ @m7F@ @m7  F _@w<w *.ZFnm@ ~@ b~  b  b~ w7 R@ H@ D@0   0@Wp `e0eӕ?f@ ,@P @ ? @f ? V7d? V??-??f@wH fw ww(fww H?&wfw7DA fwJA 7 >fAW,f B@ 8 @&61fA   @ @e7P1@" 1w<fplausibl"lookchar"wc"se F @e5H="f@efe e% AWp Ameu5 E 5%N  @Ae@%'  6 E =%E whw VPWpe&"VwFw 40&",Wpe&"pVX Wp@Z    " @"w w   (N  67 `WpeVu "@&f e5 (_r  b x> \ X ( N xD$"@&f ew2w.(w"f@ww.wfAW @w fX1X7 5 ew4 5& w&?L&?H&?D&?@&?<&?8&?4&?0&?,&?(&?$&? &?&?&?&?&? &?&?&?f& fw:w f D& w }f@ww>wf@fA w,w"e"w"ew"x@lw"pAlewc &@t`e @& HADCBF76<F ` 6bvlt  `(<fz/tmp/crt0a/tmp/crt1a/tmp/crt2a/tmp/crt3a/tmp/crt4a/usr/lib/aign/usr/lib/atabUsage: cref [-aceilosux] file1 ... Can't open %s /bin/sortsort-a-o/usr/bin/upostupost/usr/bin/crpostcrpost-4x-3Line too long: %d %s Illegal character: %o line %d Cannot open grammar table; see lem Bad grammar table. CannoA(Hhhhhhhh8hhHXhhhXHxxcsqrt."csqrt_rval8p z1_gmv8 z2_stsp ftrval8 call cabs. gmv4 c_rval4 sqrt. b_w9aint."temp one@retrn alog.om Z(H  ; 7ww XX)Y9Ialog."dlog."log retrn rerr temp alog10.om \2T  ; 77ww ?[7f(XX)Y9Idlog10."alog10."log retrn rerr temp const*amax0.om ^>0t open ignore/only file: %s Cannot read ignore/only file: %s Cannot read ignore/only file: %s Can't create user's temp file. Error %d Can't find %s Try again Fatal error in %s t = %d Unrecognized flag: %c /usr/lib/ctab/usr/lib/cign/usr/lib/etab/usr/lib/eign/usr/lib/ctab/usr/lib/cignIgnore/only symbol too long < D d >  "'/<\J@|^"'*\00 Too many symbols. Too many characters in symbols. `N`P`R`TWraparound temp file %d &d|ovxfeTa_atan2. c0rdv4 cos. rmp4 sin. retrn d0basedummy_dccos.om 6h@A(Hhhhh(8HhhhxHH    Y@  www8899)amax0."max0."retrn temp amax1.om `H<    Y@  wwwHHHII9amax1."dmax1." max1."retrn temp amin0.om b>0    Y@  www88cbs2lrV 0  %ewdccos."dccos_rval16p z1_gmv16 z2_stsp ftrval8 b_call dexp. gmv8 c_c0rdv8 d_a_dsin. rsb8 rmp8 c1dcos. rad8 c2rval16 retrn d0basedummy_dclog.om r0zrtrrtvrrtrz(99)amin0."min0."retrn temp amin1.om dH<    Y@  wwwHHHII9amin1."dmin1." min1."retrn temp amod.om f8H  /;{@7ww HHI)Yamod."dmod."retrn on,/25!$'*-036"%(+.1478;>ADGJMHhhhhhhhH((dclog."dclog_zrval16p z1_gmv16 z2_stsp ftrrval16 call dcabs. gmv8 c_rval8 b_a_datan2. dlog. retrn d0lbasexdummy_dcsin.om 6he@temp rerr atan.om h<  ; 7wHH)I9atan."datan."atan retrn temp atan2.om j0H  / ;{ 7ww HHYI)9atan2."datan2."retrn rerr temp atan2 cabs.om l X`  Q 7ww f@@&@V@ VXmccos.om oh@A(Hhhhh(8HhhhxHHccos."ccos_rval8p z1_gmv8 z2_stsp ftrval4 b_call exp. gmv4@A(Hhhhh(8HhhhxHHdcsin."dcsin_rval16p z1_gmv16 z2_stsp ftrval8 b_call dexp. gmv8 c_c0rdv8 d_a_dcos. rsb8 rmp8 c1dsin. XY9I)cabs."dcabs."sqrt retrn rerr temp hypot*one@cexp.om q<` 7 77 77ww 8Y9i99y99)Icexp."rval8p retrn temp rerr exp sin cos cmplx.om v0<  /  YQww 8 c_c0rdv4 d_a_sin. rsb4 rmp4 c1cos. rad4 c2rval8 retrn d0basedummy_clog.om trzrtrrtvrrtrz(HhhhhhhhH((clog."clog_zrval8p z1_rad8 c2rval16 retrn d0basedummy_dcsqrt.om 0DA(Hhhhhhhh8hhHXhhhXHxxdcsqrt."88)Icmplx."dcmplx."retrn temp rerr conjg.om xx077w899)conjg."rval8p retrn temp cos.oom z<  ; 7wHH)I9cos."dcos."cos retrn temp dble.om Th(h8HXdble."rval4p lval r4r8 gas8 gmv8 z2_stsp ftrrval8 call cabs. gmv4 c_rval4 b_a_atan2. alog. retrn d0lbasexdummy_csin.om }h@A(Hhhhh(8Hdcsqrt_rval16p z1_gmv16 z2_stsp ftrval16 call dcabs. gmv8 c_rval8 dsqrt. b_a_datan2. c0rdv8 dcos. rmp8 dsin. retrn d0basedummy_tanh.oom LRLNLVHVZVZVZR@(H(hxtanh."taretrn temp dim.om *0/ ;;7ww ()9dim."retrn temp rerr dimag.om l0 V7w89)dimag."rval16p retrn temp exp.oom (H  ; 7ww XX)Y9Iexp."dexp."exp retrn rerr temp float.om hhhxHHcsin."csin_rval8p z1_gmv8 z2_stsp ftrval4 b_call exp. gmv4 c_c0rdv4 d_a_cos. rsb4 rmp4 c1sin. rad4 c2rval8 retrn d0basedummy_csqrt.om Dnh_Rstsp ftLrval4p a_call exp. gmv4 b_Vrval4 c0Hrdv4 c_Zrsb4 rad4 retrn basePabs.oom Tx0  ;7w889)abs."dabs."retrn temp aimag.om Vl0V7w89)aimag."rval8p retrn temp aint.om Xl0;@wTh(hH8Xfloat."rval4p lval gas4 i4r4 retrn temp iabs.om `$ ;7w()iabs."retrn temp idim.om .0 / ;{7ww 89)idim."retrn rerr temp idint.om \$ ;7w()idint."retrn temp ierr.om pl(ltz7 d -^w xeNH ePwz"e7 "e&&pwwz)99ierror."erret#lrerr retrn zeroterrbufzcerrpxeerbufonepifix.om `x(xX8Hhifix."int."lval r4i4 ga<?BEHKN:=@CFILOPSVY\_beQTWZ]fw@ 7 f&f:ЕЕ zP :Cx :: 0 rB`E \  6\ : !: :E R:S: Z 0 & s>e0W!9eW!ZeT!ᇅ @ @  ))s4 rval4p retrn temp isign.om .0 / ;{7ww 89)isign."retrn rerr temp mod.oom 2< /;{@7ww ()Imod."retrn temp one@rerr real.om t0  ;7w889)real."dreal.mget.oo H^,$fA7X^ fA @e7R1@  1 @ www &w Ugetc" getw#dfopen"put.oo |(<fA7v|  fA & 9 &fA @e&7Bw>8@w crypt"_crypt"savr5 key:wheelcod:cagecode:wheeldiv0shift cagewheelwordecvt.o Q: ,f5w 2 * f5w  }7 2*W&fD 7 @% @A&@l7@L> Be0# @Dє l    BA   W le B@e0"retrn temp sign.om 4<  / ;{7ww 889)Isign."dsign."retrn temp rerr sin.om <  ; 7wHH)I9sin."dsin."sin retrn temp sngl.om Th(h8HXsngl."rval8p lval r8r4 gas4 retrn w&w w putc""putw#flush"Bfcreat"flRatan.o : zf5 f5u 7d@ h& `!7J& @ Ae 875775VVfW@H77 wf@@ 7`7PwL 7RXCDmZ ` DeȐ9 ȕ0 Dȕ1 P" J`0DDVV> _ndigit#Becvt">fcvt"8_ecvt"_fcvt"eflagnbufDsigntemp sqrt.om &H  ; 7ww XX)Y9Isqrt."dsqrt."sqrt retrn rerr temp ctime.o e,$ 7 7 7Hww7w())))))ctime."retrn temp setfil.o e<TAw w pw  ѥ !wX)HiH9setfil."X   B:BJRZbjrZ@@!hI@!hAy1?ϑy"?D{Av#OP#C!+C|]2CU*j 4xBJh{CW*RsCL~Szlzerone@lssgtrrbuftopltenth:epsilonL>ten Bpaddigit1digitoutoutoutpow.o (\`f5u @AfW@V fW@V  V)9pow"_pow"log exp badXone@bad1Vhalf@exp.o Y|@f@getbuf chkunit retrn utable temp rerr nice.oo el$ "w(nice."retrn temp getarg.o e,p</ AH  `A T  ԕ 5  wb7 w8I)89I9)getarg."iargc."^retrn temp argp atan""_atan"atan2"<_atan2"savesatanret~pi2sq2m12arctansq2p1*onepi4"p4pp4:p3Bp2Jp1Rp0Zq3bq2jq1rmesg.o t& &@w Ջ@@ 7& Emesg"sin.oo Pf5 f5 & Wf&&7rW?W Wf@@67f@f @AdVHB`R@7^&e# 7V # VVE=sMBԝ`=B.pF:|+eiD(/zC@;\)@3dexp"_exp"ldexp stexpone@outlog2erand.oo e T TXL FwX : w4 ., w$ H7wWp3e @E))rand."srand."retrn valueXseed1VfirstTranDuio.oo X& &q8,_^2L|Evw22-~7A@mW@ @ V@hZL>0BhZL>VV "@NnDOLX2xة3I䔶TX]1 D!L%dIgN5&GbqhDK-?sin"&_sin"cos"_cos"frpi2fourthhalf@P2P1P0Q1Q0sqrt2biglog.o dHf5 @Wf&7V @W@@`RD6B^PBVwVV5@3e1@rzlB#"3h@?ØGe@lB,k$aXUv  8^7V  >787 w  read."write."$seek."Hseek0."nopen."?fourAone@p4p3p2p1p0q3q2q1q0switch.o L fA  AEswitch"sqrt.o Z$f5 @&E@f& e@ B@~VVsqrt"_sqrt"half@ttyn.o Hl*Tf@log"_log"ldexp stexpbignegsqrt2o2one@p3p2p1p0q2q1q0log2ldiv.o x"$6rw6r@_ldiv"_ldivr$"_lrem"dpadd.o JP f@  P`Hm` _dpadd"fp.o.o }pXf 7Pcreat."close."errno."indirtemp rval4p i4i2 lvalp reterrorDretrn   x r"Pl@r r$$ttyЋ7:@ 0/devttyn"_ttyn"namebufrer1ddevler`rand.o *<$7fWp3e @7Erand"srand"_rand"_srand"ranx*crypt.o C .P7 EDE!wEED5!5! w |pW!ww  wW! B  w w ww  E7,EUE@U@  E UU  hBE? eCE e@E x5He565@eY H e 5@> ; "66  "& `&e  "   "ebww5Q$  f   EU P58   PfPPQ7 5    5 C B A  `5  5  5  eE  "$ $5` $$ 5:  5"  5@   wL   w>  (   8mod0mod1mod2mod3mod4*mod5:mod6Jmod7Zbadi1fmod0rssp checkjpctmp&setabtasignsetabsignnormaregsaret2aexpxofloRretahretbVbregunfloovfloi.mulbexpxorsignXac4ac5 gamma.o  0f5 W7 f@3B VVVV& W@-f@)wfwTvJA 7 ^fAW,f B@ 8 @&61fA   @ @e71@| 1w&f@@& HADCBF7F&Jf:t Illegal flag: %c Argc = %d %s%s Can't open %s Zdoxfecsflr  5@   B    ~ Uw j w VwZwRw  7 4 0a U"*W 8U W 8Efc     ` - a h h    a  ! p R B \W !W e UETR5<  5*  Uwp      7 r@r@  e  J7W@V&fA&  7p l hb7T P&@ XHA A&@&@ @ @&A &0 BX  tld\TL|ǹ-q'k@?%CIA!hIIxT0W \A  hw ҕ ZZ r fw e0Runtime error 8YIImain temp"hrerr"fptrap erret argp mesgZW!W! 57 e  , ~ f    $ $$$& N & N  N N S C B A  eW!Շ w^ m rf5e        W!P    0&d& dN & dN dC N eN e-lvbZ :\VL^(Dp\*:JZYIgamma"_gamma"signgam$_signgam$log sin ha[^adghknqtwz}ilorux{~jmpsvylf@one@twoAeightBlargenegativeasymptotJregularlret.ret6erret>goobiep5ppip4p0p6tp5lp4dp3\p2Tp1Lp0|q6q5q4q3q2q1q0s5s4s3s2s1s0floor.o gD<f5 f5 @@W@@@ mio.om %t x  7  e  7  err iill7    v w 7 j b w V 7 z 7 V 7 7 7 d  X V w f, J  (w 0j7 | w D% % w "w ia^fvegd|idlhhJxTp-l0t1t2t3t4t5t6t7t8t9t,/( )"@ w z  x w n7    ^ w w \w b   72 H w d w (kw _floor"_ceil"floor"ceil":one@fmod.o mdf55 @u 5_fmod"one@savr5.o  savr5$ 0 * " w  P7 _   w l4 7  w  $3   .  )& w z7 w Z7lw   .6w B7X e :e w f 7 ~   wP zww mww @ @ 0 @#w ef r @Pe007w $ q 5w fw w0 | 0 Ћ     0 @e:6@ 0 8W w 4d- , & 6  w Lb ^ Z%@- _le % N   D@&   @&   7 Ne  Ne   fe $%Ne  fe $% Jw x X P@mRȕ ?B 6.@m. A1`@ȋ_Z@1 Ń@  Nefe T   xfe  Ne  7w f  - 7w g  f & 9 f @e&7 @l7@ 'f` @e71@ w Bh 1 @  B ~ f w 4 0 Wp `@ A   y  f\7  %  &  w 7 w  7  w w w w 7 w`nw Rw 2w @: 6  2,"rtibptm.extm.lngi@fptrap"ac0$ac1$ac2$ac3$reenterspc"spsNe   fe $%Ne  __fe  Ne  _fe _fe  Ne  __w (  %= w N ~=w @  x  N@ &+ %w l fw Nf  Nf   x rww t D C ̢̋ wZ̢w > 2 ,w@w .-@= Nf  % N1   ww ~ww ee(ed w ~emw -w ,` w  0w @ w ~.w  0w ~@w ~w -w  +w r e0w @e0w & 7 :& w ve   mXcm ` 7 -w  0w @w ~ .w    0w ~@w ~7 n ׭pr׭g ׭]?V P ׭G?@?:$w P w d$sr0sr1trapinsbadinsfpsrclass3class2hi.cfcci.setfi.seti i.setdi.setlfsrctmod0rxmod242mod0fmod24fsret i.ldfpsi.stfpsi.clrx:i.tstx\i.absxVi.negxLmod0ramod24imod24dfregbi.mulxi.modxi.addxi.ldxi.subxi.cmpx^i.stx(i.divxDi.stexppi.stcxji.stcxyi.ldexp\i.ldcjxi.ldcyxretDe   % w7 7 ׯ- x v(wj7 l .w`e@B J ӕ- R r f e0 @ >  ҋ D~8hl ӕ0 $f v Le0 9e  7we&  mv t ~    ~ w7 H > :0   &Wp `e0eӕ?f ,P   @f   7 p  xw ow 0  "w > P w   w rww  w Jfҋ tw ~w& w  w   ѕ  HH w  t  T 1 ,7 ? 7 7 w 8׭r׭׭ ??׭?   & w %    + - w %  00 @ e0 .    d  + - ew J 2 `  &    ,% w n&  +  -w 0 + - w 0 u p `e0  ,w & w "w }zw D~w \ w |!7 tw MJw D~\ w 1 @0  \\fortxx "~chkunit"creatf"openf"unit utable$ btable$0 filnam buffer bufp fputc.flush1`fflushRfgetcnlflgb fputccBnspace spacesgetargnflg ilen twidth fgetcnV storin gcflg gatofB atoi iowu"l ioru" rewi" enfl" ftable$X _end r1.om +d\\ \&\e&&&&\&&\H`" \ E`f\\call"callp"retrn"stsp"8rc.om B \e \  C  C   rCCf&\  T@E@DD@CDD@ED@BD \VEH    &&\ Vf&\    Ef\   @    p`B `$"% \%\  a  \   \ \w P)gas1" gas2"gas4"gas8"stop"lval" rval4"4rval8"$do1"Zdo12"Bdo14"Zdo2"Tdo22">do24"Tgoto"~cgoto"cagoto"agoto"rerr gotoer2.o CDB &@f&wf&\c8c16"c16c8"i4c8"r4c8"r8c8"i4c16"      m -d N!#! B 6 *      \ \%H#pU\  \ %%%%%%ilt4"ile4" ieq4"ine4"$ige4"0igt4"<lan2"hlor2"dlnt2"pieq2"vile2"igt2"ige2"r4c16"r8c16"cad8",csb8"<cmp8"Pcdv8"ncng8"cad16"(csb16"8cmp16"Lcdv16"jcng16"rval16"rval16p"gas16"ceq8"cne8"ceq16" cne16"cpi8":cpi16">one@abcdefgargsargddivideprd.om D.0Pp~R \ \d b\898slist1"sl leq2"vine2"ilt2"|lne2"leq1"lne1"comparRoneHzeroNr3.om 00H \ \ V    \lif2"lif1"rif4"iif2""iif4"rif8" r4.om 24e\\Vpf\ r\ \ \ \&\&\iad2"isb2"imp2"idv2"i2i4" i1i4ist2"slist3"$temp re.om FFl 6 . &      \& \ Hrle8"rlt8"req8"rne8"rge8" rgt8"(compar:one0zero6rf.om HFl 6 . &      \& \Hrlt4"rle4"re " i4i2"i4i1"ing2"&rval2"*rval1".l2l1"2r5.om 38` @  @ @ @f\ VH 6  \iad4"isb4"imp4"idv4"ing4".rerr load"storer6.om 5|     V&\ \ &\  &\  &\q4"rne4"rge4" rgt4"(compar:one0zero6rg.om JT`\\\ \ \`\`\`\ `\ `\gmv1"gmv2"gmv4"gmv8"gmv16"stst"gmv1p"&gmv2p".gmv4p"6gmv8p"Bgmv16p"Nrh.om L      Xrerad4"rad8"rsb4"rsb8" rmp4"rmp8"rdv4"*rdv8"&rng4":rng8"6r4r8"Dr8r4"@i4r4"Zi2r4"Vr4i4"rr8i2"di2r8"Lr4i2"ni4r8"Pr8i4"hrerr store2r7.om 8e&\e&\e&\e$&&\ e&\w 2&N`\w &ew ` f\bf~\  ePp~ f #e\w  #e&\ #e\   e$&&\ #؆e&\   ʆePf&\achkgal1"gal2"gal4"gal8"gal16"$gar1"@gar2"Pgar4"`gar8"xgar16"rerr rx.om N ecore$rr endio"rio4"Brio8"<iio2"Niio4"Hlio2"Tlio1"Zcio8"cio16" ecvt fcvt _ndigit slcnt ilval itype iowf"viowp"liorf"formp$ setiordflg binflg itmfnd^ scale\ itmflg pbuf ppar llpcnt fmtchr&llp crackngflg` repZ itemswitchmswitchafmt^ffmtvefmtgfmtdfmt|ifmt Pp~N w fMw e&N`\achklvalp"rval1p"rval2p"rval4p"rval8p"&alval"2alvalp"arval"Larvalp">rerr getsubhr8.om 9l(  \  pApf\ipi2"r9.om ;X0 & 6  )savr5$_exit _main startdlfmthhfmtJxfmtTscalminuslnumbtslashlpar rparquote@gnumelist_nocr$d eorec1eorecngetitm0crack1 width err1ndig cvswgflg iocviicvlocvPlicvfocvficvdocvdicvgocvgicveocveicvaocv aicvzxocvxicvhocvhicvqocvqicvgetbuf< 66w f\ w f\%W@  @@ W@ @ Mw Ione@ipi4"rpi4"rpi8"rerr ra.om =0H V f  &\Aw )9Irpr4"rpr8"log exp rerr error*rb.om ?<0`&&\ 2*D! w chown uid f1 ... eCע0ע9w 7$w w DCan't open /etc/uids w w Who?  : w  ʋw :w XPw ww'77 Ћ w ?  }  0 Wp ` /etc/groupfA7~ fA @e7x1@  1 @ &@wLՋ@@ 7B Ewww &w ~UL & 6  w %L p  e  p p r  J @Ӌ%Ң  @ p &   p $ E J  J  !  Ӌ     J  %N7  `] p& `  E &   & ~% &   p %ʥ ӋҢӋˋ%,L#$  J   @%"L, @.%@N   **e`   +  +  +  ++  +  +  ++  +  +  j+ @ w<w *B55  L+wE%@ B+ 0+5_$ &+  ` 0 +  `& T "fe `& |%  @a   @a& T % %  *  T fe |% % @a 0 n*  @a& T "fe @a&,w@w .B %9 Wp D`e%0ww ~wr*Deh*  b* % w7 N*7 N*ׯD*- <* :*(w.*7 0* .w$*e6B J ӕ- R r f e0 @ >) ҋ D~8^b )ӕ0 $f v Le0 9ez)t) l)f) 7V)we&  m:) 8) ~    ~ w7 ) ) (0   (Wp `e0eӕ?f( ,(P      p w w % wN 7  w Ce %,%:   N %  7ww  %9Wp D`eN %0Rwdw R    % *w>w ,- ` N Xf % % X& %  %ww Dԋ@ ww ~wDe   % "w7 t7 tׯj- b `(wT7 V .wJe B J ӕ- |%  @a $  @a& T %  %_ `  6  `& T w D ) )'e!-'N)&C ewhEttE 0@. Nz)&_ e j) P@.  0! NJ)&{ e  %  w  ''%d  " $, &fe& |%w&   Aap$, %dww pf( %Nf( t %@-N  f( 7 X(D @e!ww %d2&( ( @f ( .7L( f.(x(-r(j(fwwlwf@wwrwfwmxwwmfwxww f@ww~wX f$f@w|wxw*f@@& HADCBF7V#FispF/dev/rrk2/dev/rrp0Bad flag cannot open %s %s: Not enough core %5l arg; %l/%.14s entries link  R r f e0 @ > ҋ D~8, 0  ӕ0 $f v Le0 9e  7|we&  m` ^ "~  "  "~ w7 2 ( $0   Wp `e0eӕ?f ,P   @f  $7 4 $-fw@e7: wfw@ JA 7 @fAW,f B,&  @a p$, %d7 &Nef : % %p$,ww f' %f' %%N  ww rB %9 Wp D`e%0wVw D7 r%7 8&7&7&7& V% N%e!, : :' @ wEtWtE A@.@0 w ~wGDeG  G % w7 F7 FׯF- F F(wF7 F .wFe B J ӕ- R r f e0 @ >xF ҋ D~8  cnt %l %d %d Monstrous directory %l read error %d write error %d dox,f:ecslHr.0@ 8 @&61fA   @ @e7 1@F  1wff@wL w f@wwP wf@.w f@wl f@w~V wN f@wdw`Z w*f@@& HADCBF7 Ffw @ 7 f&f$ЕЕ dP $Cx $$  rB`E \ \  !$ $E R$S$ VFӕ0 $f v Le0 9e"FF FF 7Ewe&  mE E ~    ~ w7 E E E0   EWp `e0eӕ?fzE ,pEP fE `E @f DE TN72E TN(E E-EEf@w fww wf@ww wzf@wpwl wX f$f@wHwD w*f@>8~_ & 6  w  f7b%B> bw .+3e@ȥ-'t7 y +D@  e %j N w T f z 7*N  [N  v  `%lt7a Wp1 + %ae  7 a " z &e `% -aa |at&ez  n %e-\aTa % Veww t5@E%@a \ wZw H 55@E%@. f  D 0 & s>e0W!9eW!ZeT!ᇅusage: newgrp groupname /etc/groupcannot open group file %s: not a valid group name /etc/passwdcannot open password file password: setgidSorry /bin/sh-Unknown error: d<o6xxfec"slr$    ! 3 E U a s   # 7 K \ k z !Error 0Not super-userNo such file or directoryNo such processInterrupted@& HADCBF70DF@ J bsf</dev/rrk2/dev/rrp0Bad flag cannot open %s %s: free%l dups in free missing%5l spcl %6l files %6l large %6l huge %6l direc %6l indir %6l indir2%6l used %6l free %6l indirectdata (large)indirect2nd indirectdata (very large)data (small)%l bad; inode=%l, class=%s %l dup; inode=%l, class=%s %l arg; inode=%l, class=%s bad freeblock read error %d No update write error %d dox&f4ecsl %e   \   `5 %@mAmp ww 5?@E%@8 .e * )  "D"e %D" D  0`  e D f  wPw >D..w$ w %% f \  D%  N&  e D ww A rWpDe+L- we%b+   %   n Lw LCB5_R%_^  system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedError 14Block device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken Pipe @ @BrTN 35 %t `  b `%tE bd& `%Eedww f' %Nf& %@- N  jw~w lf& %f& %% N  &w:w (B %9 Wp D`e%0w w  aNff D%]a ww ~waDea  a % w7 pa7 paׯfa- ^a \a(wPa7 Ra .wFae( B J ӕ- R r f e0   R8(( & 6  w  7n*%?R X*w D*0e@ȥ-$7 yX@  e %~ $N w p f F 7) N $ wZ7 )N $ ( n%'t7)7 )z) % $ b)Z) P)a -N)  &e n% -.)() ")te  %e-))7 ( -(( &e n% -(( (te f %ew < C@ >` ҋ D~8P T  `ӕ0 $f v Le0 9e`` `` 7x`we&  m\` Z` ~    ~ w7 .` $` `0   `Wp `e0eӕ?f_ ,_P _ _ @f _ f7_ X f__-__f@)wfww^ wf@wwd wzf@wwj wX f$f@ 6D & 6  w %?  .w -0e@ȥ-$4 7  y @ z e %2 T N w B p- f V 7Z- N^  U^-_Nn  7 2-7 0-7 .-7 ,-7 *-7 (-7 &-7 $-7 "-7 "-@. %@N , |%*t7,   e |% -,, ,te  %e-,,7 , , |% r, _ R s  T  b, `, Z,x  U55E%@/ &e "5 @ "X el( $e @ %XD(b  ww D&(5(`ȋ&(` ' $ 'E'`&E' $ewdw RCB5_`%_' $ 35 %t `  * n%tE *,& n%Ee,ww f' %Nf' d%@- N $ pww rf& %f& %% N& $ w|wxp w*f@@& HADCBF7ZF DaisrxH/dev/rrk2/dev/rrp0Bad flag cannot open %s %s: %d /%.14s ???.../%.14sOut of core-- increase NDIRS Monstrous directory %l read error %d write error %d do xLfZecslhrf(  & 6  w @- \ @ R e%ww .Nef  2 \_@Ej 7 y? I T \NE@t&EZ \%_ f  7 l   %7 .z 7~ yy _~ _~ _~ _~7   ]7 c # _  -d 7   _Z 5. _F Z %_2 _ ph@% _~- PJ F  b &  & 6  w  b% @  eu/@  r e$A! yk @5 J H e w . ^   l 7777772t& 5t  7 &  e@ @r _L xR5 5   r5 A5%0 5u- N e Nf %e %< 5  5  @ 5 /%J %K  t5@ t5BN  5N  5  B-B-%B-B-% &    w4w "DC%: Le`m e rfww p@&f %" r<R r< r<R r< rWtC` re rwF L  L!7 L%n  H  0!H 7 N"ww xԔAA WpCeԔԔԔ BeWpCeԔԔ2# L % 5 7{-  5 %; _ ;    @ %_8-T _8(   _~  @ %_8- f_8\) N J @ %_8-*_8 {  _ , %_l _ @  _ @  M  7 S : -X  -:    5n.  bZ % #@  4 t@- N  x % d @7  7 ~ 4 l   T5 M-HMfe  5+ P%e    l See N   e %͂fe ( - ( 5 5 5% % -l N  5 =N 5 @ 5e  t@-@ m N@ Ԕ& l ed& l ed& l ed& l e@ & l wxw fA r nw^mw FD % A r  r e0@ԕ A r e0@w@& HADCBF7 F6rw6r@f@  P`Hm` `:*4>39:<14;LJLLLt/dev/mt0bad character in key %l%l-%l ,%l- no filesystem name can not open %s last chance before scribbling on %s %l files not rest2 F > "-5IL U \-   c   %7v7 -l r   \H ~w~w l    5 @5 b @ @m@m5 AA @ @   { / ww @ @m  w   5%   4 -H<* ,e* / v\ eh b-\eR-LD/ 8m%N$T%   r _6 (5 @ p- @ 5%5 @ ^  5S%ON b 7D   l %   %N r%,r@   R  r t@-_0 H wt w b D5 S a I5?Ne a&   @a *% Ne @a&  @ @a @ @a  @a ored - small ilist %l not in range %l not dumped %l does not exist the epoch disk read error %l disk write error %l checksum error change tapes skip %d tapes tape read error %l can not open %s %s bad freeblock out of freelist d d o x f e c sp l r "PFptM:/ESTEDTDay Mon 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec  T  ww /    - w  -zw ~wr Deh  b  % w7 N 7 N ׯD - < : (w. 7 0  .w$ e B J ӕ- R r f e0 @ > ҋ D~8   ӕ0 $f v Le0 9ezt lf 7Vwe&  m: 8 ~    ~ w7   0   a w w D5 _  a0  %%  J a1 C-E_  @a0 % 8%  a1%  Aa1  1 %% a& @a& (  % >% 2 a1%  Aa1  j 1 C- 0  %% a& @a& ( %Ne& ( Uw4 w "    & ( w w @ 7N  w w f Wp `e0eӕ?f ,P   @f  7b x-rjf@w fww wlf@ww wJfww w, f@@& HADCBF7F      $ ( @`m $ ,functionsubroutinecommondimensionblockintegerrealdatadoublesysmovtstclrjmpintcharf N%f %% NB pw w f N%f r%% NV ,wX w F Nf   Bd % 3 k < w w   -\ _7   B k{     v % 7   f % |-xt-plb`j N%PPfR %%4  @   @m %ww  %0 %9Wp D`e@ @T  & 6  Dw   7N'  7:'e%@ȥ-7 q   e % DX! & n7$   5$   & ww  & 7 &p$7v$7p$_V7 h$7 f$b$^$ J 7L$ %;,7.$%, ,$($$$ r e A! y4 \ # J  #e   7% f7 ##r b % 7 X!    @ Xloatdoublestructexterngloblbyteeventextdatabsscomm%s: cannot stat characterdirectory block special (%d/%d) cannot open executable pure executable separate executable archive data c programdata c programfortranassembler programroff, nroff, or eqn inputassembler programroff, nroff, or eqn inputassembler programdata commandsprobably text with garbage with garbage d(o"xdfrecslrww ffE %  ww    7   H x ԋwbw Pf r* %x % w%y `%  T%     w  f& %N& 5 f& %e0= =@ww   %d B  , j &  ^V    p %dw&w %d. ( ,   p %d7 f (  pww x# %a%z 8   L#Up*_ _ 2#"#e7$# ## ,%  f #  -"""7 %_  $    ! . 7$ R ,7 $"h J ,_  N$ _ _  . !  7d$   @"0" E76$  _ t_ww   +%9.5 AWp ue5` (%0%9 ! @ 5@ ` %05    r e A!  <[1234567890-_]^\ >qwertyuiop@ asdfghjkl;: zxcvbnm,./ <[1234567890-_]^\ > @ ;: ,./ <{!"#$%&'() =_}~| >QWERTYUIOP` ASDFGHJKL+* ZXCVBNM,.? <{ !"#$%&'() =_} ~ | >QWERTYUIOP` ASDFGHJKL+* ZXCVBNM,.? ~wDe   % w7 7 ׯ-  (w7  .weB J ӕ- R r f e0 @ >4 ҋ D~8  ӕ0 $f v Le0 9e  7we&  m  ~    ~ w7 p f b0   NWp `e0eӕ?f6 ,,P "  @f   7. y b!  N!%/e-B! 8!-.!,!&  -!! ! L%a%z - 臀 Up *e  wL `- - Lw   7 7 - &w w  | j e7l b h -X Z P X ww  J ww -, 4 -( . ww  d% %p%l  "%l " >% wpw ^7 ! $% % X!̋`!#% L % % 6! % nX! -f   7 ߊ 7x 7 vfwwwf fwwwF f@w0 fwtwp$wfw\wX*wf@w@w<0wf,(wm"6wwmfw6ww f@ww<wf f@wwBwBf@w N  ww DeL@4 &   w!Ԕww r! h!   ww $    w 7 .! 7 !& & %7 ! ! 7 ! *% %   w@w .7   7|7 7hwV!& L% EJw !h % %  7 wE %#.v w x! l% L% 7wVl%%#^E   % # w  l%Ne  l%l%n "%l% T LԔ -<چl%l%6 "%ww 5 w)-  n%e V5 eee# J  @w2w  N H         e <   Ne  %  ! w w r  e 7 -7wd w R ! f N !E  ef N !!w w  !f $*.[\~"">6HH,+r?/bin/shsh-t!/tmp/exxxxx T,0  %ew d & 6  w _ @m7 :  (7 Z :  7 O :  7D :  7~9# : bb/' : NP%+ :  721 :  78 : %k  B-%5 S   O:> : @ : G : M : US : UpY : U\^ : UHf : U4 7N ,x    N !E̔ԥ $`n!e E7`Zw ~ef N D!w DuEC E% 7 !-|!w]  "'` %7 7RL'& %e'w& -6  * ") %7e)w f %f e% w w  7 8!(7 , t e Ee0$te!    . 7N 777e7w w    ~h%  m 7 w ;5ND  (57 x  c Х   ew~0  5 h -! 67 H-  <Lwz?? /bin/sh-tArg count Cannot open utmp ! ... /etc/utmpEOT not logged in.    7     77%     n D 7  D 7%%  67 7 7 r 5* 0BV " % * &_7 . *m(- 5 m#-   " %7 %  5  7   `ȋ -   -x  5r d  n r E5P  5S~D 4 B B 7 8 4 0 _ Ԏ  4 %  De % %%\ % ԕ\Ԑ@e!ԕ E- - &  @-Ue-5 E@e7 2e-w6 w $ v-&  $U       J  ` 7`He-@І w w n%  # T%\ HU% !Ґ%$~ "7%g7  wH w . !w* Ԕ7  w !l%#-Message from Permission denied. f@  x "@ $$ttyЋ7@  /dev/ttyx/devw   -        %-   7 ww  @ ȋ T wr 7 w T  ̥9 Wp @@`e̥0 7^ y t  t 7B &VpCww D5 %a%ze5 %A%Ze  ww   -   ww  @ P  !%       -  7 | 7 w6w $D5L %a%ze54 %A%Ze  E * % - 0@E%l'(z%& E%1%6@ n+@ &d+ %5,e!l%7%l'!l%Ԕwhw VDCB Ԕ%l'^wBw 0  n @ z  ex J pe - a7Xe & \  \ & \ w7*e \  \  w DC !wzw h-wfe w B$D@e55 !ʋ:7 %^  z%*_db & 6  w %@5 f H 5   N 47"  % 5lf f%5 >%  % ll %@@-^%W5 @@mȋ@@mȕ @@m  %5 @  %@ Ne 5@@m  % % : ef ,P   @f    $  -   w  - 7 w   ww    %   %     wZw Hfe %w>w , -( | N f %. % & %1 %ww Dԋ@ ww ~w De   % zw7 7 ׯ - (w 7  .w e4B J ӕ- R r f e0 @ >\  ҋ D~8\`_ !ҕ w%* 7 y %(%_} ҕR Z%) @e@-Vҕ RJҕ% DIҕA p3 7!*ҕ *ҕ %^ % Ґ %X% %]@pҕҐ%X%_7w   6 .!l%ԔN7L -N 7 4$ 7"&  &  7wfœԋ˥&  ԋw , DC ^ x  wԋ̋7 7  ~-xpf@w f@)wfw~wzwf@wbw^wdf@wFwBwBf@w N  ww DeL@4 &   w/%J %K  t5 t5N  5N  5  B-B-%B-B-% &    w4w "DC%: be`m e rfww p@ : ӕ0 $f v Le0 9e   7we&  m  z~  z  z~ w7   0   vWp `e0eӕ?fwwdwf@)wfw^wZjwf@wBw>pwf.*wm$vwwmfwvwbw fAW @w f4147 5 e w| 5& w&JL&& % ` & %  0+ 0+ԋԢ  & % ` -&   z w RDCË wNԠ@~ w "  %77 r  e0 ww D7 ~ ̋ ww  C R N%HH7 Bԕ\ԕ % >%<ԕ-ԕԐ%+~ ++ "%% % ԕ\te0Ee0e% %,Ճ7* w,f@w* fw* w& !&f b%  r<R r< r<R r< rWtC` re rwBF b  b!"7" b%nT    0!6 7  ww l ԔAA WpCe*l ԔԔԔ BeWpCe@ԔԔԔ&  ed&  ed&  ed&  e@ &  l wxw fA r nw^mw FD % A r  r e0@ԕ A r e0@w@& HADCBF7DH&>D&8@&2<&,8&&4& 0&,&(&$& &&&&& &&&f& f@www*f@@& HADCBF7@F    [.<(+!&]$*);^-/|,%_>?`:#@'="abcdefghijklmnopqr~stuvwxyz{ABCDEFGHI}JKLMNOPQR\STUVWXYZ0123456789w fw @e7 !wfw7 fw w !wf@w w !wf wm &!wx wm fw &!wVwz f@wj wf ,!w, fAW @wD f&,1&,78 5 e2w$ 2! 5& w&L&H&D&@&<&8&4&0&,&(&$& &&&&& &&&|f& fwFf@  x  "f@   $$ttyЋ7t@ j6rwZ6r@f@  P`Hm` /etc/utmpcannot open wtmp Nobody. tty PF M:/ESTEDTDay Mon 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec/dev7-./% <=2&?'@O{[lP}M]\Nk`Kaz^L~no|JZ_myjС !"#$()*+, 01345689:;>ABCDEFGHIQRSTUVWXYbcdefghipqrstuvwx*bkwxibs=obs=cbs=bs=if=of=skip=count=conv=,ebcdicasciilcaseucaseswabnoerrorsyncbad arg: %s cannot open: %s cannot create: %s counts: cannot be zero not enough memory readwritenot a number: %s %l+%l recordH 8!w f D& w }f@w w w mode uid gid tapa size date time name w  w ]@^@ w   w tEND  B ҋfABR&e E7 7w Out of core w@ @  E7h=\@ \@P=\z= ~fe N 7 4=  4/=7@=\8=5 \0f & d~S<   e fe N e@Ee~ <w "Directory checksum <w  v<commandd@flua@parg@swtabuseerroptapPsetbflm`@tapsiz@ndirent@tcmtfio@ndentd8@dir\edir@mesgdonefsetcomnoflagdcofHdccRdcd^dcfXdcifdcmldcr~dctdcurdcvdcwdcxtcxmtxflc]@flf^@cmdfli_@cmtflvb@flwc@cmxLrdD~  & 6  w  _ @&  5 @X F wt:@9 @ 7@7:@-+ 7 e% 7%@&  5 @h F w 7           B  7 Z V       B  7 w n  wj}  5% = w 8 H7^ \0@  8 n;Pf;@h;$ T;Vw Tape seek error w w ::+ f@ X:w X t x jw  y V  L w  -:.: -: ::e:dir.gettapeRdeletewrdircheckbclrdirgetfilesupdateDtaboc check1bxtract usage< encoderdecodepstrputcch\@getcclrentsumf@rseektreadttapeb\0bitmap wseektbootmboottwritetrderrrseeka@twrerrwseeka@seekerr@verifyZname@calloutvexpandfserrPcatlbr@statb@name1@numbnumbx y 7  z F 7 N @ 5 ww  N 5N 5@ 5 @ @-  <ww  55@ -@ -      @w* w 5 % AWp Amu@e5  @ww ~wP DeF  @  % w7 , 7 , ׯ" -   (w 7   .w eB J ӕ- R r f e0 @R |@%&r@  X:@t@W.Ћ &/Е/P 0@ zw -- Cannot open file w@@^:E @\&  New 9w ,Directory overflow ww aw @w @@@Ӌ k9 w, 9'w, 9#w Lr9U9909797 9999 9 \& w &@-"9@9ˋ ʋ/f  ew 8߇ -8 8 $w , not found 8e8-8 w d >f& f&@numb2,numb1*sizeh@bitcalc map\0setmap update1mss@phserrp emap\@maperr$ nentrj@nusedl@lusedp@nfreen@pmod crterr crterr1 smdatectime.o L1L2~ctime at~localti ctdaylbegittimdaylenddaynocopytL100004 L5P L6 L10001 L10002 ~sunday atdtadL8@ >  ҋ D~8 ӕ0 $f v Le0 9eX R J D 74 we&  m    ~    ~ w7  0   Wp `e0eӕ?f  , P  @f z 7th  ^ V -P H f ZTL  7< 8 47. 7 $f@w| fwww\f@)wHr@ ~@W#00 @N7Lf r f e0 T\ )5% *8 BCeB v77 t \0~ 8 ew 7Ї 0\&  5N,Nvew 7 Ew7B 7w @@  @- r7 \0!   N7* l7   `\0 w@f@ Xw ` -- Phase error 1 \0  \@\ 5  ew 6퇇BCeB vB  ~gmtime L10Atptimd0d1xtimeAL11L20001vL14L15L20003~asctimecptptncpL21L19L22L23~dysizexyL25L24~ct_numbcpacpnL27L28csv.oldiv.odpadd.o _localti" _end$A_cbuf$B_dmsize#_timezon#_tzname#_dayligh#_daytab#_cfwww*f@@& HADCBF7Fcdu cannot open %s cannot create %s %4d do xNf\ecsljr\0\0 ~ 6E&t6tEw Tape overflow w* \\  6e @686 :6 ,6 \0 55 55 ~5w Rw H entries 5w :w 0 used 5 5w w  free 5w w last t5_@&t5 t5 5 @w  @w @w @w fe  w /  w r/ vw ^w R: Vw > B@ w $ s5x-5w-5rtime" csv"_asctime"cret"_dpadd" _gmtime" _sunday" _dysize"x_ldiv"_ldivr$A_ct_numb"_lrem" * 7{f@  x "V@ $$ttyЋ7@@ 6ttyx /dev-   w4 Cw @xC@ @wBr8 N4  (\0$ ! ,4  x7 ww~@ fA  f @ w ( -- create error w N  ww DeL@4 &   w/%J %K  t5 t5N 5N 5 f B-B-%B-B-% &    w4w "DC%: xe`m e rJ8# w H z+@p<7lwjw  realw Jw userw <w sys w .+ w Try again. 0 5w Command terminated abnormally.   VҔ    V%x/usr/bin/ V% V%w6O. JTw Command not found. w w w w 0ԕ !r& r<ww z w t:w h w b:w X w R w L 0:ԕ !fww p@&f %2A r<R r< r<R r< rWtC` re rw2F x  x!272 x%n    0! 7 F2Aww BԔAA WpCeBԔԔԔ BeWpCeԔԔԔ&  ed&  ed&  ed&  e@ &  Bwxw fA r nw^mw FD % A r  r e0@ԕ A r e0@w@& H w 8.V re07>Hw  f re0dwH E/bin/sh:/< @~@V@O@ -n@d@`@ R  T  A L@ @ B>@.@*@@-?7??Wtw??Wpe\w?w *Tape open error w-? w?@ȋw Bad usage wn0H1H2H3H4H5H6H7HcRd^fXifmlr~turvwxwDwI??w h>>>w P7>w Dw <>>w (Lw .`@]@^@->w& lw  Jw >> J $  ADCBF6rw16r@f@  P`Hm` w 4w @w ~x \0@\0@@/dev/tapx/dev/mt0/usr/mdec/tboot/usr/mdec/mbootPFM:/ESTEDTDay Mon 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDeca.outnamepmodeuidgidsize0size1time0 time1 tapeadirsizmdirentrnarg@narg@cmrT & 6  .w  w"f$f@@& HADCBF 7  &oprd  @  zaE ~ &P @? &fA  r f e0 iou|00 000    @@@ee  @2Kn,X` %05075110134134.515020030060012001800240048009600extaextbeven-evenodd-oddraw-rawcooked-nlnlecho-echoLCASElcase-LCASE-lcase-tabstabshup-hupcr0cr1cr2cr3tab0tab1tab2tab3nl0nl1nl2nl3ff0ff1bs0bs133tty3337tty3705aw  : b 0rw w O b N b [ b w w -\J DP   -,0 wz w h  Z 5_X AWpe<uDC %f& %5 f& %f %5 f %@  u5_    @5̥-  ˥- @ 5B- 5 @ B  u- @ B  u-uu5   @  & 6  `w N& G7 ԋ@̥: ̥:=F&  EF& B  ~Ӌ8 J %  UF& B  ~ :  ,  %  ww z ^    7L H w` & 6 %, 5 5 EB ҐNe % B %:% %:%0%9Wp D`eD- w ~wDe   % Vw7 7 ׯz- r p(vt05tntn300titi700tekekerasekillunknown mode: %s input speed output speed speed erase = '%c'; kill = '%c' even odd raw -nl echo lcase -tabs hup nltabcrffbs %s%d %s%d baud dox,f:ecslHr A@555!5! 0 Y X TT 0 9D̥. C˥. D-C-_T  B _T ӥ0 $ B C- B @5 ABp@ Aԥ0 @w, ̋@mȋ ˋ@mȋD-̥ C-$˥ !@C-˥ @_ @mAmA@AA -_DC ̥ ̢˥ @˥  w RC@ @m wD˥ < ˭      wd7 f .wZeB J ӕ- R r f e0 @ > ҋ D~8  ӕ0 $f v Le0 9e  7we&  mp n V~  V  V~ w7 B 8 40   Wp `e0eӕ?f ,P   @f  h 7 $h -f RzrR  7b    7 w open error: 7aw W zw Pcan't create temp file for 7z7 zp-j\-bV-ZP w improper format: <m:e 7 44w- mB w unexpected EOF: 7 w rcan't rewrite: w7w Ncan't read temp file for: 7vr7 dVRwZwL Ew2/tmp/stma ˥  @   @ @m˥   w %9%0 ww  f  %w|w j\WpBe<  % wVw D:WpDe<E@7 y    w  Ne T A a1 . Ne T A a1ww  D5 AWp `eu B =@wtw b% % wX f@wR fww^w2f@)^ Z7T 7 Jfw@e7*wbfw0JA 7 fAW,f B@ 8 @&61fA   @ @e71@6 1wf@wd<w fwNwJ@wf@w2w.Fw` f@wJ f@wLw, f@@& HADCBF7Ffw@ 7 f&fhЕЕ P hCx h h   wfwddJA 7 fAW,f B@ 8 @&61fA   @ @e71@j 1wrfwApQ  OfA  ^ y   F y @0fA  @9 fA @e&7>w:74@vw7 w w w AupNNmf wtw bZ @@5 _ fA rBpEu@@`55DCN&  t rB`E \P z\T ~ !h hE Rh Sh   0 & s>e0W!9eW!ZeT!ᇅpassword: bad password file /bin/sh-cannot execute shell sorry /etc/passwddpojxfeHcVs&lrh   @ @   f& %5 2`D--`f  $`f& %`Df %5 D-&  C-D-%@@AA@ Nf` u_ Nf @`5_ f %Cww   DCԒ ww  DCB5ҒS wf>:wm4|w(wm"fw|ww fAW @w f17 5 ew 5& w8& L& H& h & 6  4w "   %_: Z 4_:ew  R #@ R e@7~  R e@7a 5 @th R @t7j2 @t h5 AWpN R AWpAw@AWpAwP AWp   $   ww   5 @mAAmH@mv ȋ7 jww ]ZT+  E98G  +$&N $%5 x & 6  w  4 %k P w|^u @7d y@-IJ DmB? 0 ew& mH%e@ȥ-ȥ+ $%  b    e@& <!WpBe<  ` H, %  ` AmH % - ^ X RmP :72 b% be E7 r7t7 m7 XD& @& <&8&4&0&,&(&$& &&&&& &&&f& fwwwh fwwN f@www*f@@& HADCBF7F  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~i $5@o $5 t $5y $5~ $5 $5 $5 $t&  t&  t&  t&E  t&E   $ww tE Nf $%wdw R@ f $%wDw 2fe %w(w ~wDe   % w7 7 ׯ-  (w7  .weB J ӕ- R r f e0 @ >2 ҋ D~8azt b  |  j  X  5T  D2 8 \ "   e&  ee-- 2&  7  vw"w 5 5  m <m!6$ " v -#N 57 T f N 0 \ %     & d e -  F & ԥ -  w w   mo^~abdnrtP   -Too many keys -/usr/tmp/stmXaa/tmp/stmXaaCannot locate temp Can't create temp Can't create output Can't open "0  ӕ0 $f v Le0 9e  7we&  m  ~    ~ w7 n d `0   LWp `e0eӕ?f@wwl f@wwN f@www*f@@& HADCBF7F     $ ).38>@B@G K P W[^c 5 B) 5 4ef N 0@ 0 $  e B-B d e 0 & ӥ   $   e%߆e  3B e-    B-  w w CeD \ w %  w J " & ' b (w w n -,@ m ȥ- @ m wJ @ mA rea?C re~ & 6  |w ju%f ]N  Ue f < 5fef Z%% % %N  '%N  Nff e@@m@m5f %N & ww ~~w"De   % w`7 7 ׯ-  (w7  .weB J ӕ- R r f e0 @ > ҋ D~8 ^ӕ0 $f v Le0 9e*$  7we&  m  ~    ~ w7   0   Wp `e0eӕ?f ,xP n h @f L B7": B0(-"f@wl fww"wLf@ww(w*f@@& HADCBF7Fa.out%s not found Bad format: %s %s: %l+%l+%l=%l (%o) zd ^  & 6  N w < l%#@5@  7  y         > "   (   %@&1 * 07 >_D  VM    7F[ >  . %  %   %L  % @ 5 E5 c  >5 AWp@ _zAWp  M_z5 AWpB , @J59 -j AWpf LF & 6  w ,$ 7$ p 5l *5 _Le@ȥ-Me@h ; x%Wew N ($Ke@ 7@e@ 75e@ȋ7#* #& ##N 7 @ȥ+ e@ 7# Nf  # %    w w l#f# P  w w | $l# 2B#1NeV#  @E7$## P wH w 6 $ "7   - ox fecsl(rBN % < %5 @ - @ AWpp  - ?AWpA Euu  _z u-N >  > NAWpA A fAWpA f >eAWpN  > V5AWpA eWtNAWpf AWpA f >eAWp AWpN  >  >AWp@  >N  > %2_ ww *  5 > ` fef %N  d > &B H %H -  6 %  "N "  7r 7"   e7 v"v v l 7 f b"5   f ` 7 _Ne  7 | Ne h w` Ne 22!7 F  0w< p2$ !Y ^V  Y ! 2$ %02$ 0$2$7 !&C e F e H  K P! R  B! -8  $! (! ! ! h b p7 P w< w * D#%" WpP w R 7 [<WE%@P. I/E. >/:6@<  ׭. ׭. F@@ҕ/ҕ.ҕ. " 2   -- directory not empty ? Vwp%@a0 De@e!҆ It#tyNe&e . ,2J p " Ne&e . @E%` -r  &e  7 ew @ A Hww  5 5 AWp AWpu @ AWpu , AWpA eu`@t5`@Et5ff %ff %Ff %%A =%>eˋ 5 %F5ʕ % %~ %ҕ  ʕ?  J Ne0   1$ % V % w w -  _Z% %     % _ZZ 72$ N b  p0$2$<  %   -  - @ -  40% - % 7!&    4    m 7!   - ww  0$% ~ %˕a%0$0˕ wpw ^B (#WpNe0  $ $  w6 %  : & 6  w >5 5 # @fr  eu-Nff z% ww .Nef h N_@E%@V N j5%N_  @-_N  N < 5  =f 8;52-# e N? < NLH ; EA@ u=( %x"Nf[ <% h55u  N5% %y N  Nh <  > w^F%Fw @ *w>w ,f w(w ~wRDeH  B % (w7 .7 .ׯ$-  (w7  .we B J ӕ- R r f e0 @ > ҋ D~8B F  ӕ0 $f v Le0 9eZT LF 76we&  m  (~  (  (~ w7   0   Wp `e0eӕ?  e2$E% JE% %0$0 w  7 N  w7 y 5  L 7 %   w fC Ĕw^w LC r   r Ne0 w.w C   % J *G7 y   97 7  'U- 7  7  r 7 l %d ^  R%   w|w jB %9 Wp D`e%0wNw <-N w6f , wrw `fe %wVw D fe& F%% w2@w ~wDe   % w7 z7 zׯp- h f(wZ7 \ .wPezB J ӕ- R r f e0 @ > ҋ D~8 ӕ0 $f v Le0 9e  7we&  mf d ~    ~ w7 8 . *0   Wp `e0eӕ?ffwRJ wp f@wZ ffwA@ e  N X OHR@-88>,m*-0 e7- --)T "  @ 7"7,7, 7, e fwLwHZ wTfw4A` Q  OfA  ^ y   F y @0fA  @9 fA @e&7w7@f w7 f@P   @f  %7B f%-fwwlw f@w f@)wf@wrwr fwvJA 7 fAW,f B@ 8 @&61fA   @ @e781@| 1wfwwwf@wwwfAW @w f'1'7 5 e w 5wwt fw@e7wRfwD7 ff@wbw^wfwJwFw fw0w f D& w }f@wwwf@fA w,w"e"w"ew"@lw"Alew &@t`e @& HADCBF7hFf@  x~ "L@ $$ttyЋ76@ ,wxwtl wnf@w\wXr wL fwBw>x w, f@@& HADCBF7 Ff@  xF " ~ @ $$ttyЋ7 @ akltxRjdX^n/devcannot change to /dev _proc_swapdev/unixNo namelist /dev/mem/usr/sys/coreNo mem TTY F S UID PID PRI ADDR SZ WCHAN COMMAND TTY PID COMMAND %c: %3o %c%4d0SWRIZT%6l%4d%5o%4d%7o /devcannot & w,&L&H&D&@&<&8&4&0&,&(&$& &&&&& &&&f& f BRf@wwwBf@w N   ww DeL@4 &   w/%J %K  t5 t5N 5N 5  B-B-%B-B-% &    w4w "DC%%s: non existent %s: try again %s: cannot chdir /etc/globglobrm-r-f**%s: no glob %s: directory %s: %o mode %s: not removed doxDfRecsl`r   %ew&/devopen /dev no swap device %.16s %.64sd oxFfTecslbr /dev: e`m e rfww p@&f %*.' r<R r< r<R r< rWtC` re rwF   !7 %n    0! 7 J.'ww $ԔAA WpCe$ԔԔԔ BeWpCeԔԔԔ& ed& ed& ed& e@ & $wxw fA r nw^mw FD % A r  r e0@ԕ b%  W mw@ȋN w5ȋ XbL? /dev/tap0/dev/mt0  A r e0@w@& HADCBF7Ff@  x @'" @@' @'$$ttyЋ7@ 6rw6r@f@  P`Hm` HB=  p  V$V/dev/ttyxVery funny. Page Too many args. %0PFM:/ESTEDTDay Mon 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec/devz_z_z_z_z_z_z_z_z_z_z_z_z_z_z_z _z_z_z_z@ER7 y  _zw ~wDe   % ^ w7 7 ׯ-  (w7  .we$B J ӕ- R r f e0 @ >N ҋ D~8LP ,ӕ0 $f v Le0 9e  7we&  mww wf|wmv wxjwmdfwT wVwF f@w6w2 w, f@@& HADCBF7F6rw6r@Vttt\ttttttPtpthttba.outcannot open input bad format no name list %c UATDBCuatdbc%.8s %c%c dvopxfeNc\s,lr  F4 & 6  w @ @m 5 0%)5 @ F@mȋ Ne@ &H @ F@mAAAmHe@ FN@ &D Y %wbfww nwHf@wxwttw*f@@& HADCBF7@FLP-lp/lib/lprcan't start daemon   ^ ~  ^   ^ ~ w7   |0   hWp `e0eӕ?fP ,FP < 6 @f  7 T-f@)wfwpwlZwpf@wTwP`wNf@w8w4fw, f@@& HADCBF74F6rw.6r@rrrrrrrrrf *<N`& \ & 6  w ^zu%  % @55( @&   % E%@p( @&   % J@55 @ ȋ  % }@ ȥ/  % @ ȥ/   %  ._%"_  r, f  _E%@5| @ A H@/@55 @ ȥ/u@"%~v~(2:DLV@3s&&fY LT0NT *HT$BT<T6lrprtvx. 6 > F N 33ff x $0.@....U.../*.j...*/   2 " : J  * B R fpx 03#33f&ff) , b ^ j  r  V z  Z cannot open %s jsrsobbrbnebeqbgebltbgtblejmp A H| , f  f- -  H %  E@  E@ w=#Ef^ 6% v55  b5% %y BN  k % Nf 0 j 5%   %  Ne @-8@e55@ A Hu@ A H ff e % 5  % D  :N   % w N & 6  F w 4  7e%Fu-?@ 53a  x U"-wUUUUU  e %@ȥ+ f 7 N _e %N Tfb5 ! 5 J@ pl u- @ 5@u -  (   -  Pwwwwm  2Nlfe Z%  "swabclrcomincdecnegadcsbctstrorrolasraslmarkmfpimtpisxtflagrtssplhaltwaitrtibptiotrsetrttmov cmpbitbicbisaddmuldivashashcxorbplbmibhiblosbvcbvsbhisbloemtsysclrbcombincbdecbnegbadcbsbcbtstbrorbrolbasrbaslbmfpdmfpdmovbcmpbbitbbicbbisbsub???" dx or x f eP c^ s. l rw fe %w|w j fe& P%% wX@w @~wDez  t % w"7 `7 `ׯV- N L(w@7 B .w6eB J ӕ- R r f e0 @ > ҋ D~8 ӕ0 $f v Le0 9e ~x 7hwe&  mL J ~    ~ w7   0   Wp `e0eӕ?fw ^ w` w N  7  Z%w< w * n f %\ @& % ^ w w =7 N "5 5 'N@ @m&  @ @- 5 % ^  ^ u-um wj w X @ 7  y  .f %w4  .  .N  . .N ^ ^ @t ^ .fE % ^ @t&Ew  65% wv 58 & 6  xw f 0@-*e@c  x J  B  B  : ` 0 e@ȋ    ef  7    %%% %    T% T%% T%zp T% l& %5  AWp N 74AWp N&$ %   f e 7 5 _ 5 _ _a5 @e7wfw7 f/ffwwwL f@ww w(f@w fwvwr w fw\ w f D& w }f@w"w wf@fA w,w"e"w"ew"@lw"Alew &@t`e @& HADCBF7(FUsage: mv name1 name2 Source file non-existent Directory target exists. ?%5 @t@]w D -l %7jw* 7 Z ^-^ X P7 NBE 6w E%%%\  ^ N ^ w\ ^ @ 7<  y0n\t?w ~ )N fff& e& %Nf& %5% eWNe0 ^ w0w  u ^ -Dw w u@ ȋ@@ 55 @b @.  5 5 @@m5%0 %9 Awp`e@mAmH %0E5% l  V , J" ) : N.5 4 ; @m0  B  e  u- ww 5 @Ap, Awp@w@Ap, 5 %@@mAAmH @@mAAmH w 0 10H  5 @tEe0K  @t5 %ww ~w De   % \w7 7 ׯ-  ?? Directory rename only Directory rename only values of B will give rise to dom! Files are identical. %s: %o mode Cannot remove target file. Try again. /bin/cpcpno cp ? Cannot unlink source file. dox>fLecslZr   %ewu @@%5 @@m5%0 %9 Awpn`eu @@ AwpJAmu5 5 @ e-$ 5 e  -   @-f " %- -  (%wtw bN 855 N ^ @ 5 ^ %w&w @E r eZA! y*@E 7 yw@E 7v y@E? r eA! y.(w7  .weN B J ӕ- R r f e0 @ >j ҋ D~8v z  Hӕ0 $f v Le0 9e  7we&  m  \~  \  \~ w7   0   Wp `e0eӕ?fl ,bP X R @f 6  7$ ~  - f@w f@)w7 @D /ѕ/ѕ.  D E#6'F$Ct www ѕ.  @77 Ћ . ?  "&+05@E7" y9@E7 y>_zB_z@ _ xF_zK_zP_zT_zX_z\_za_ze_zj_zn_zr_zv_zz_z@E7 y ~_z_z_z_z_z@E r eA! y_z_z_z_z_z_z_z_z_z_z@E? r eA! y"_fww ww jw wAupNNmf @ wPw >p@@5 _ fA rBpEu@@`55DCN&  f& %5 2`D--`f  $`f& %`Df %5 D-&  C-D-%@@AA@ Nf` @ u_LNf @ @`5_Lf %Cww DCԒ ww DCB5ҒS wf@(+.147:=).@ & 6  w j% %@- Nf  n .  7h %x %x0 J n 5&! N *ҥ "*ff %*f P %% pE  3!ff %w b  A =   y% %xh $7  @%y tn  y $   $wL w : 7 87 6Ne Ne fead.letter/etc/passwddox,f:ecslHr0 PFM:/ESTEDTDay Mon 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec/dev * %Cww ~ LDCԒ wlw Z&DCB5ҒS w<f2.wm(!w0wmfw!ww f@ww!w fww!w f BRf@f&&CB  ԕ- & e0fv   vA W  ~w N  |ww DeL@4 &   w/%J %K  t5  t $%  D   eN 8  :w w F ~N&  &  .  &\ N $  %x   $.  wH w 6 <  f  \   f  8     f   w <     j  Xw v v   d ` Z Z 7 X  & N r %wL w : J   w8 %Ԑ d%  J/258;>*-035 N b 5N b 5  B-B-%B-B-% &    w4w "DC%: e`m e rfww p@&f %\ ' r<R r< r<R r< rWtC` re rwF   !7 %nZ  !  0!!< 7  'ww ^$!ԔAA WpCe!^$ԔԔԔ BeWpCe"ԔԔԔ& > ed& > ed& > 7H N7> N 7. N 7 N7 N7  N7<w D̋w ̥:w . <  w w p  ^ 5 @Ee05@p.@p<@t5 %w, w  DCԢӋw w D Dww ~wDe   % w7 z7 zׯp- h f(wZ7 \ .wPeB J ӕ- R r f e0 @ >  ҋ D~80( & 6  w l$ 7$Ne @e 7# >@-8e+@a # x # # # # # #f  # # # #e@ȋ  t#  `#7 `#7 ^#7 \#7 x# P# P#  f f 7   5 ef f LU u-' r&' e'E5 " "6% r b  "J r& e "z" r -  ed& > e@ & > ^$wxw fA r nw^mw FD % A r  r e0@ԕ A r e0@w@& HADCBF7F6rwZ6r@f@  P`Hm` '' rxd@b c-r-w-s@x- r-w-sx-r-w-x-t 6 F N V b j r ~ ./etc/passwd/etc/group %s: total %d %5d %2d %-6.6s%-4 ӕ0 $f v Le0 9e    7 we&  mf  d  ~    ~ w7 8  . * 0    Wp `e0eӕ?f  , P  @f  7   8  -  f       7 ߘ 7 7 f@w fww>wfwDJA 7 . fAW,e e Hww vC%_F " r !f F r Ĝ !ĜED$& J D$  r 5`E&E r%&   r e p -`! ee r%e! (!&  ! r 5!#! r wL w : - w6  &  %7 5 5 5 ( %: 0 @@mH % AWp Ameu(" " 5% u-6d%3d,%3d%7s %-7.7s %-4.4s %-12.12s %4d %s %.14s %s unreadable %s not found d>o8xzfec$slr$'PF!!M:/ESTEDTDay Mon 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecf B@ 8 @&61fA   @ @e71@J 1wffwwPwfwAVQ  OfA  ^ y   F y @0fA  @9 fA @e&78w47.@\w07 f@wwbw f@wwhw fAW @w f17 5 e wn 5& w&@@m ww x ff %5 %et`wP w > w  d% w2 w C4e  $ w w z$CԔˋԕ/C Ԕ % z$w w ("f _N*! r _b7 j$ (" "  %  ".% $f \%& f % %`Ȝ$  w0 w  $e- Z e~xer4 4   _Nef N9! r 55 5  w 8 & 6  hw V     > &  7 %x   F%  D &  # @ D &  4 %@ˋԔ%< 5 %< ԕ &  F% 5h%   t%< ThNez4  _Nez @˥:P lE D &   -  F%Dep  h @ex!Th 5h% wlD &  8  F%Nep Ԥ_:_ @5 f AfWp @@`e5f˥ L& H& D& @& <& 8& 4& 0& ,& (& $& & & & & & & &~ &x f& f BRfwtw f@w N  ww DeL@4| &    w/%J %K  t5p t5rN 5N 5  B-B-%B-B-% &     w>w ,DC%: e` tE@E%`E @E%@E`UE5UEtttttt5` ttt ttN@&  7`w DC h5E}%'E}%' 3- 3-3-3- wp@wp E}% 55@5upw  ~wpDef  ` % $ w7 L7 LׯB- : 8(w,7 . .w"eH!B J ӕ: 5 d AdWp @@`e5d˥:  @ @   :  F%_> 0H T 5j$5n%a'n @net&fj %4 fj F%Nj R T 5j& fj %4 fj F%Nj  ` T 5j fen F%fenfj r% Nj J j    p  F%Nf  Nd Nf ˋ    %   F%  _>w   T 7$DC Sm e rfww p@&f %  r<R r< r<R r< rWtC` re rw F   !n 7n  %n  x  0!x 7 4 w$w ԔAA WpCeԔԔԔ BeWpCeԔԔԔ& ed& ed& ed& e@ & ww pA r nwhmw PD % A r  r e0@ԕ A r e0@- R r f e0 @ > ҋ D~8p!t! ӕ0 $f v Le0 9exr jd 7Twe&  m8 6 $ ~  $   $ ~ w7   0   Wp `e0eӕ?f ,P   @f  $7 x!$~v-phf@w f@)wfw~!JA 7 xfA ~5% CԤ @e!:5 H 7 @7 >7 <@w@w .D ԋ   F% ̥:wf v v   7  7 7 fw w fww w f@w fw@e7 wnf@w wV f"w@ fw|wx w f@w`w\ wf@wDw@ w f@.w f@w fAW wf@& HADCBFw B 5  ʥ ʥ ʥ- ʥ9 Wp @@`eʥ0  w7Ff@  x "p@ $$ttyЋ7Z@ P6rw@6r@f@  P`Hm` /tmp/maxxxxx/tmp/mbxxxxx/etc/utmpWho are you? .mailSave?.mailmboxSaved mail in 'mbox' .mailNo mail. From %s %s/.mailCan't send to %s. dead.letterLetter saved in 'dead.letter' dW,f B@ 8 @&61fA   @ @e7:1@! 1w>fww!w$w w wAupNNmf ww @@5 _  fA rBpEu@@`55DCN&  f& :%5 2`D--`f  $`f& * %`Df %5 D-&  C-D-%@@AA@ Nf` u_ Nf @`5_ f@w fz 1z 7 5 e<w 5& wR&8L&2H&,D&&@& <&8&4&0&,&(&$& &&&&& &&&f& fww w f@w wd f BRf@ww w*f@@& HADCBF7Ff@  x  " @   $$ttyЋ7@ fwh@ 7 \f&fЕЕ P Cx L   * rB`E \ 0 \ 4  ! llE R S  LLl 0 l& s>e0W!9eW!ZeT!TᇅL/dev/ttyxSorry. Name: Password: No directory /etc/utmp/usr/adm/wtmp/etc/motd.mailYou have mail. /bin/sh-No shell. Login incorrect. /etc/passwdBad /etc/passwd  0.! B 7"7- " *D! x K!& B D^ffr& 4 eFBm@ &Nmf|& 4 eBN6JA e &Nmfr& 4 e &mNmf|& 4 eHP p>*f R t> *NR  %w w C D   1 W- 7 0@ 0 p `   % ܆   r f  e07(: not found non-numeric arg zP& & 6  Fw 4% z $% F%@ԋ/@0! @0@&  NE%@  $% F@@&   $% F Fwzfwwwn fwwwN f@www*f@@& HADCBF7ZFUsage: ln target [ newname ] No directory link Can't link ~x `x`rr&  ~wl w Z DC N& J ~wL w : DBtEBmE b" <h$ 7 b" *   -b"|= %eh= % 55 s! B @ `e % @ E4@44 wbw PD   & & & 4 e      B  n&eww D7̥-l  a!7h< &  7X<! B 77 77zn&7Np & 6  w % h %_        !  7,   7 _%  _ R   R  %_@  R  %:ʋ R_%:@ ҋ % "@   B&  ʋ:    R  %0 %9Wp D`e a%: E 7!5LORUADGJMPSVB7t& & r& 4 e f  B r&  %m wJw 2 5 *@ @`5%*E rD e2B*%* e%F.B ww *f R 7  ww N%.B! B * R  e ww n 7~ ym;m ; m; x!pw>w , ::! x (&! x ! xN! x  Z:ww CBtEF  e ! B ww ffr& 4 eTT  7E %  %     R >X J    767 %  wlf@wj fwxwtPwJfw`VJA 7 fAW,f B@ 8 @&61fA   @ @e71@\ 1wffwwbwzfwAhQ  OfA  ^ b.4 & 6  ^w V  6 5  6 % ^BeK7 I˥-= r e( A! y D-  B  5 #f  PI LI JI FI :I >I  :I  6I X,I  D- F TBe&˥-Z 74 y e H  D- w(w D  & & %ew r& 4 e $& e % @8e2$e `& %! B ~ E7t 7:j E` 79X E7Nw.w DCe  ww ~wCDeC  C % *w7 C7 CׯC- C C(wC7 C .wCe!B J ӕ- R r f e0 @ >2C ҋ D~8"" Cӕ0 $f v Le0 9eBB BB 7Bwe&  mB B *~  *  *~ w7 nBy   F y @0fA  @9 fA @e&7w7@nw7 Lf@wwtwfAW @w f 1 7 5 ewz 5& w8&L&H&D&@&<&8&4&0&,&(&$& &&~&x&r&l &f&`&Zf& fwwwh fwwN ftE`Ew nNf  HHmHHmG H5  Fd$E%  & B w$8$m6$e5`.$ffr& 4 e> GL(7e 3 . * ' @ x   '7- '  "' '' r#  m#Gm|#Gmx#FwmFw* %Fw * 7F 7F 7F F*- 5 2-vF/-nF,-fF) jF7 nF7 hF7 hF7 ^F \F NFN*-L    E %`e  dB `B0   LBWp `e0eӕ?f4B ,*BP B B @f A hT7A ""hTAA-AAfww("w f@w fwVwR."wfw>w:4"w fw$w :"wffw A@"Q  OfA  ^ y   F y @0fA  @9 fA @e&7w~7x@F"w7 h@@www*f@@& HADCBF7Ffw@ 7 vf&fЕЕ 6P Cx v    rB`E \ \  ! E R S  vv 0 & s>e0W!9eW!ZeT!~ᇅvR\/tmp/ptmp/etc/passwdUsage: passwd user password Temporary file busy -- try again Cannot create temporary file Cannot open /etc/passwd User name not foune  FF "EF EE #EE EE $EE E EEe?E?7EEE EEeE7E ~E7 EEmxE5`7zE5 *-X8   xf UZE 2E   x  x e mE mE mE $tm  D D7 D`DD r 7Dw*w   7D  B & Ee0$t%! aFPremature EOF on %s&*/tmp/lxyyyyy. < D d in password file Permission denied Urk Cannot create /etc/passwd Password file illformed 0  @ @   D  D D D C * r Wp mC@7` 7 ^ 7 \ C 7L &6J  %ww w  =  B ww D `3 ̋D-/   & 0 (r& 4 e& & e 0 e%ewPw >Nf  BBmBBmBBFe8fm*m(fr& 4 eV BS |BP xBL #I *NR  %?  * : " j ! B " %J,2679<49:lu:2H "  "#$ (> (0Bad 'use'No relocation bits_etext_edata_endUndefined: %.8s l.outCan't create l.outCan't create tempinternal error: symbol not foundLocal symbol overflow%.8s: Multiply definedRelocation errora.outl.outa.outl.outa.outNo pages/lib/lib?.acannot openSymbol table overflow%s(%.8s): %s Local symbol botchBad formatdDo>xfec*slrhT\ & 6  w @ @m ww% V    \ %& & V%ww -nj w^ XmXw  .5h &   @]wv @w Z 25k &   AA @@w: @w n \&     w   w 5 "_4p&   *5r &  U@_t&    &  _w&  z&    ]}&  - & Ne z l&   <:   % ( $5f   & f   &   ww Nf 8 5 wv w `wfw T @aAaH wJ@m ȋw &h   f   @ap :5 f   @w @a0 fef % @m @`@`0 fefe %fef %f@w  Wp `e0eӕ?f ,P  @f  7 -zrf@@& HADCBF%s%cd.o(xjfxecslr777^ W5|9  W w xW ~ E L E бw .*!;!  7! 6w Vxw Nx  Xw w 0f ! !;!efh7" " " " & &  ~ 7 |4 > ` Ґ7b4 lrve6+W 6+e" `7D $$$$4 `7&e7!e2   7& 9 9 rev  re  f  dw b09 0Wq `Wt` b f  .A\ fww w.fw 7 fwwwf@wlwhw f D& w }f@w.w*wf@fA w,w"e"w"ew"@lw"Alew &@t`e @& HADCBF7Fno command -o-a!()-r-w-c{}=!=if error }}/usr/bin/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  %ewV( nw  -a s  7 ($(V( ΀w Ef5 ` (P   w e%@$ w ~ &f # ! -.-.. ѕ/W/   De  w  L p d ZfpĝkeD wW!feweD&f  s f e0 w ( .fA7vV   7h3@@ ea be e63703 8565 25E3$) 75$)52725 4w Hiw4 77426 w ? w724&f l4D ` V47 4  < ( !y@ DhbFZD 6ыD//<>%72W 0W 9w` T  | v& pU74 3    w "g< |7 3 $ U f 3 X< >  24 & 6  2w @% f%x   %& * & & % 7Ne  @fe J  0& %ww 5 5w~%: %   5 5% %  @@mH h5%  V5% @@m w 5 @@mAAmHw@@m ȋ w D wf h bZ   7J F B7< 7 2f@)wpffA & 9 &fA @e&7Bw>8@xw w&w w   \  &&ҋ  > w <w*n t e0r apw  <w re* w & r xn*6BXZLvvvLL   e !,  e !,  en  d!, mL2P FE@ | w ~U  2! z!, p *+7+ 7! U @!, 6 w x!('!-6!$G!*M !(   e@wwwN f@www*f@@& HADCBF7Ff@  x "@ $$ttyЋ7p@ fgoto error label not found /dev% ZiFE @b[7]@R P : ׬/ӕ/Z95`ҋ  ׭  ׭  ׭ ׭x׭y .?   ev p!+  !(781- t \ 8 `e r!*w R* :7`w Ba    w "e!)w ) "f+7 0  w H[!a!k * Ow fK  H4 D$   R0 | y+l -l *l /l &l l l l %l [ ^l z !l + 0/ V 2!]w 2] / # Y}+ - *> /J 4 &(   % !\ ^ =  & 6  Rw @& & .%w<f@wLwHw, f@@& HADCBF7F/* * KT-11 addresses and bits. */ #define UISD 0177600 /* first user I-space descriptor register */ #define UISA 0177640 /* first user I-space address register */ #define UDSA 0177660 /* first user D-space address register */ #define RO 02 /* access abilities */ #define WO 04 #define RW 06 #define ED 010 /* extend direction */ /* * structure used to address * a sequence of integers. */ struct { int r[]; }; int *ka6; /* 11/40 KISA6; 11/45 KDSA6 */ /* * address to access 11/70 UNIBUS map */ #  w tt3w jf rB*w XB`%w NB w DA B@w 8BPw .BpBw "f rw A B`+wd&PEEE &     U.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~9^= H S gj7$f xxxx 9/tmp/atm1a/tmp/atm2a/tmp/atm3aj79...r0r1r2/* * Inode structure as it appears on * the disk. Not used by the system, * but by things like check, df, dump. */ struct inode { int i_mode; char i_nlink; char i_uid; char i_gid; char i_size0; char *i_size1; int i_addr[8]; int i_atime[2]; int i_mtime[2]; }; /* modes */ #define IALLOC 0100000 #define IFMT 060000 #define IFDIR 040000 #define IFCHR 020000 #define IFBLK 060000 #define ILARG 010000 #define ISUID 04000 #define ISGID 02000 #define ISVTX 01000 #define IREAD 0400 #define IWRITE 020define UBMAP 0170200 r3r4r5sppcexitforkreadwriteopenclosewaitcreatlink unlink exec chdir time makdirchmodchownbreakstatseektellmountumountsetuidgetuidstimefstatmdatesttygtty nice"signal0mov movb cmp cmpb bit 0bitb bic0 #define IEXEC 0100 nZ]`cfilopsv @bicb bis Pbisb add `sub brbnebeqbgebltbgtblebplbmibhiblosbvcbvsbhisbecbccblobcsbesjbrjnejeqjgejltjgtjlejpljmijhijlosjvcjvsjhisjecjccjlojcsje< & 6  w r u-  @ @m& b% u-w:w (~wzDep  j % w 7 V7 VׯL- D B(w67 8 .w,eB J ӕ- R r f e0 @ > ҋ D~8 ӕ0 $f v Le0 9e| tn 7^we&  mB @ ~    ~ w7   0 @ $ w( ZL7j7B7?7;7w rS D 9 @ ^ ^w ? = H S /lib/as2-g&7 ԋ 7 w &D7~ 7z$   zw ? 6&f@ 8 &8? 8w t8700  r e0H~*  @% 88! ?0e*-&j9j75j7 | 8t 7! 7 7& N!=9!:77 T!!w x̵w mݬ7 $+ 7sclr clrb com @ comb @inc incb dec decb neg negb adc @ adcb @sbc sbcb tst tstb ror rorb rol @ rolb @asr asrb asl aslb jmp @swab jsrrtssys clcclvclzclnsecsevsezsencfccsetfsetd setisetl clrf negf absf tstf @movf movif movfimovof movfoaddf subf mulf divf cmpf modf movie moveildfps @stfps fr0fr1fr2fr3fr4fr5alstalscvmpypmulpdivrashtashcvdvdrxorxsxt mark sob~.byte.even.if.endif.globl.text* %% &- 7 wnw \ 5 fe& | %  % w<w * %0 %9Wp D`e@ ww ffE %  ww b @ 7* R O   T: ԋww @ H @ ȋwx w b~w0De&   % wD7 7 ׯ-  (w7  .we`B J ӕ- R r f e0 @ > ҋ D~8 lӕ0 $fY#C _w w @w W w7 L7@!  0 9e a ze A Zet# 1 W x#  < - - < eeW z# - - eW N. w out of symbol space   1 1    7"& Q -4  "New wb  #deQ  ew 0label not found z# W@PPW  7 "8j.  T 1 .data.bss.comm0 0P@W- 7 7nwlw = 7Fw H 7? wv  fDa~ rve6+ 6+e" Ke W (ᇇ v Le0 9e82 *$ 7we&  m  ~    ~ w7   0   Wp `e0eӕ?f ,P | v @f Z T7H T>6-0(f@wP fwNwJw0fw6w2wf@wwwfwmwwmfwww f@w ~!Mw out of code space _4-"_ 7 "M J-D   _4!Q w Tout of code space 7dMw#  w 0   # T H  z  , y&hhxLh >fr  _e J B    f   T _ _D  _ &  _ ^  "   ̔" _eE  t ?ww f$f BRf@w~wzwBf@w N l  bww DeL@4F &   w/%J %K  t5 t5N H 5N H 5  B-B-%B-B-% &    w4w "DC%: e`m e rfww p@&f %T r<R r< r<R r< rWtC` ree    -" w if...else...fi imbalance  & -" e Q X  w /bin/ed-         F & & =  7%T@     t 7   w for/next imbalance @7~ D $ @ J "l ( " @ x x   L " = < "  w D . & |  |qtwz} rwdF   !D7D %n    0!n 7 Tww &ԔAA WpCe&ԔԔԔ BeWpCeԔԔԔ& $ ed& $ ed& $ ed& $ e@ & $ &wxw fA r nw^mw FD % A r  r e0@ԕ A r e0@w@& HADCBF7 F6rw6r@f@  P`Hm` '8J12 w    w   ,& &  @     > <  = ע=  ע> (  ע=   ע= 0 fe . + -  J w :T  : w *Z  . * /   w b   w h   ^ w p   _ w   (  ` )*  .  w j   w ,reserved name !Q T7 > 0 J (  >w  ) [  w f 7  ]l(  & 6  L w R1  % @  euw@  r eA! y:   ~ ewX d@ @Wp we @ @7 ( 77`T@ @t5e  - w %P  < d ^ 53Df | %N * 5 @AWpfeD  AWpwTFAWpwV: % @340149:Pdi/dev/rp0/etc/dtab/dev/mt0bad character in key no file system specified %s: cannot open %s incremental dump from No memory %l big; not dumped. %l files %l blocks %l.%l tapes %l phase errors cannot create %s %s full date updated the epoch special read error %l change tapes write error can not open %s ~ d o x f e c s l, rThPFM:/ESTEDTDay Mo T  &f@ @ @@  V& ע) N ,T[v\S \f\#\X V r@w" &  D\   H j.\ 7  0,Cannot create b.out b& 7`  -V# H%82* \   Z " N Ft\ :7h\Sw \  \w 4\w \ w b\ "w T E\ X w out of space 7\Sj   @& ^ 7 @o  $     @  t& t t  7%  5 t& t 55 5 Ofe  %? *-@%-8-2&E t 5%   N   e  umT -Nf  % ~ & %f& %5 r NA r &  % H`^\Z  drt& t 5* en 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDec$K!SK   |  t  l d8@5@1eU) ( $ !S S  w L %f ;d#0 @7" 0"7 H#aw # W z  7*# ` Tmp file? 7"n"#   w [  zCannot open file 0 w Rw ready "7 " # L=w   5Q@  e X w too many lines @"D"8" # ( 7`$"7v$"#j # &   #w 0[ W i#  Z7 Zw Y7 Y ! `# @@ :w Y7 `e0  .Wff&  } - } 0  ~  } 0  ` 5w f0B`W@ &  W B~  e0VV \ B@e 7-}      e}  wmmB W0  .} 0}  j .} }  Wf"" ;}   V7  77B@e0}  f -}  r f e0} &$e 5 =w 4w  w \ 7.7*t# &l#e E  [w @ w @]w zfA76  fA @e701@!  1 @ f5 f5u 7d@ h& `!7J& @ Ae 87 57 7 5VVfW@H7 7 wp @@ 7j 7Z wV  7\ !XCX jr"D>4zF,XD"2B  Bf5 f5 & Wf&&7H W?WA@mW@ @ V@> 0 "   B> 0 "  VV f5 @&E@f& e@ B@~VV 7 f Wp3e @7 Ef5w * f5w }7 HxHW&f] 7 `H@% TH@A&@]7& @L> Be0# @]є ]    BA   W! $-7 j77XT  & 4 / machine language assist / for 11/45 or 11/70 CPUs .fpp = 1 / non-UNIX instructions mfpi = 6500^tst mtpi = 6600^tst mfpd = 106500^tst mtpd = 106600^tst spl = 230 ldfps = 170100^tst stfps = 170200^tst wait = 1 rtt = 6 reset = 5 HIPRI = 300 HIGH = 6 / Mag tape dump / save registers in low core and / write all core onto mag tape. / entry is thru 44 abs .data .globl dump dump: bit $1,SSR0 bne dump / save regs r0,r1,r2,r3,r4,r5,r6,KIA6 / starting at abs location 4 mov r0,4 mov $6,r0 mov r1,(r0)+ mo W ]e B@e0]m G` ]eȐ9 ȕ0 ]ȕ1 G G`0]]VVf5u @AfW@V fW@V  Vf@ Wf@@67 f@f @A B @7 &e# 7 # VVf5 @Wf&7  @W@@ x j B v VwF VV \  disk offset J7> tape offset 07& count  T      0 Wp `@ illegal digit \-  ^ e*ȋ5 5&D9ȋ5@*&e  (: 7 $ r t@P PNɋv r2,(r0)+ mov r3,(r0)+ mov r4,(r0)+ mov r5,(r0)+ mov sp,(r0)+ mov KDSA6,(r0)+ / dump all of core (ie to first mt error) / onto mag tape. (9 track or 7 track 'binary') mov $MTC,r0 mov $60004,(r0)+ clr 2(r0) 1: mov $-512.,(r0) inc -(r0) 2: tstb (r0) bge 2b tst (r0)+ bge 1b reset / end of file and loop mov $60007,-(r0) br . .globl start, _end, _edata, _etext, _main / 11/45 and 11/70 startup. / entry is thru 0 abs. / since core is shuffled, / this code can be executed but once start: iRFPF7 D^; F^66  F^/* * fix system image for I/D space * Move data down to 0; move text to 4K. * Also put the data at the start of the * file and the text after it. */ int tbuf[259]; int rbuf[259]; int obuf[259]; int txtsiz; int datsiz; int bsssiz; int symsiz; int txtrel 8192; int datrel; main(argc, argv) char **argv; { register word, rel, s; if (argc<3) { printf("Arg count\n"); exit(1); } if ((tbuf[0] = open(argv[1], 0)) < 0) { printf("Input file\n"); exit(1); } rbuf[0] = open(argv[1], 0); if ((fcnc $-1 bne . reset clr PS / set KI0 to physical 0 mov $77406,r3 mov $KISA0,r0 mov $KISD0,r1 clr (r0)+ mov r3,(r1)+ / set KI1-6 to eventual text resting place mov $_end+63.,r2 ash $-6,r2 bic $!1777,r2 1: mov r2,(r0)+ mov r3,(r1)+ add $200,r2 cmp r0,$KISA7 blos 1b / set KI7 to IO seg for escape mov $IO,-(r0) / set KD0-7 to physical mov $KDSA0,r0 mov $KDSD0,r1 clr r2 1: mov r2,(r0)+ mov r3,(r1)+ add $200,r2 cmp r0,$KDSA7 blos 1b / initialization / get a temp (1-word) stack / tNDJ^ `&e  F^   F^De Dbww5Q$] ] f   EU P5tC   P]fPPQ7 &C5    5 C B A  `5C  5B  5B  eE]  "$ $5B $$ 5vB  5^B  ]5@FB  wL   w>] ]reat(argv[2], obuf)) < 0) { printf("Output file\n"); exit(1); } if (getw(tbuf) != 0407) { printf("Bad input format\n"); exit(1); } putw(0407, obuf); txtsiz = getw(tbuf); datsiz = getw(tbuf); bsssiz = getw(tbuf); symsiz = getw(tbuf); getw(tbuf); getw(tbuf); if (getw(tbuf) != 0) { printf("No relocation bits\n"); exit(1); } putw(txtsiz, obuf); putw(datsiz, obuf); putw(bsssiz, obuf); putw(symsiz, obuf); putw(0, obuf); putw(0, obuf); putw(1, obuf); datrel = -txtsiz; /* * Copy ouurn on segmentation / copy text to I space / clear bss in D space mov $stk+2,sp mov $65,SSR3 / 22-bit, map, K+U sep bit $20,SSR3 beq 1f mov $70.,_cputype 1: inc SSR0 mov $_etext,r0 mov $_edata,r1 add $_etext-8192.,r1 1: mov -(r1),-(sp) mtpi -(r0) cmp r1,$_edata bhi 1b 1: clr (r1)+ cmp r1,$_end blo 1b / use KI escape to set KD7 to IO seg / set KD6 to first available core mov $IO,-(sp) mtpi *$KDSA7 mov $_etext-8192.+63.,r2 ash $-6,r2 bic $!1777,r2 add KISA1,r2 mov r2,KDSA6 / set upB (    5@A  A B    A UAw] A w] AwAwAw  7 pA lAa ZAU^AfAW 8U] W 8E]fc     ` ]^-A A a h h   ] ]a  ! p ]]R B] @W !W e UETR5x@  5f@  UX@wp   ]]   7 @r@]r@]  t data first */ tbuf[1] = 0; seek(tbuf[0], 020+txtsiz, 0); seek(rbuf[0], 020+txtsiz, 0); seek(rbuf[0], txtsiz, 1); seek(rbuf[0], datsiz, 1); s = datsiz >> 1; while (s--) { word = getw(tbuf); rel = getw(rbuf); if (rel&01) word =- datrel; word =+ getrel(rel); putw(word, obuf); } /* * Now to the text. */ rbuf[1] = 0; tbuf[1] = 0; seek(rbuf[0], 020+txtsiz, 0); seek(rbuf[0], datsiz, 1); seek(tbuf[0], 020, 0); s = txtsiz >> 1; while(s--) { rel = getw(rbuf); word = getw(tbuf); supervisor D registers mov $6,SISD0 mov $6,SISD1 / set up real sp / clear user block mov $_u+[usize*64.],sp mov $_u,r0 1: clr (r0)+ cmp r0,sp blo 1b / jsr pc,_isprof / set up previous mode and call main / on return, enter user mode at 0R mov $30000,PS jsr pc,_main mov $170000,-(sp) clr -(sp) rtt .globl trap, call .globl _trap / all traps and interrupts are / vectored thru this routine. trap: mov PS,saveps tst nofault bne 1f mov SSR0,ssr mov SSR1,ssr+2 mov SSR2,ssr+4 mov $1,SSR0 e  JW!^W! ^ 5?7 ?e  , ??? f]    ]]$ $$$]& N & N  N N S C B A  eW!]Շ w^ m>?0? ,? rf]5*?e        W!]]P    0&]d& dN & dN dC N eN e->>>> /tmp/btmab.out/dev/vt0listdoneqrunprinpromifgotoretufornextoctasaveif (rel&01) word =- txtrel; word =+ getrel(rel); putw(word, obuf); } /* * The symbol table. */ tbuf[1] = 0; seek(tbuf[0], 020+txtsiz, 0); seek(tbuf[0], txtsiz, 1); seek(tbuf[0], datsiz, 1); seek(tbuf[0], datsiz, 1); s = symsiz; while ((s =- 12) >= 0) { putw(getw(tbuf), obuf); putw(getw(tbuf), obuf); putw(getw(tbuf), obuf); putw(getw(tbuf), obuf); rel = getw(tbuf); putw(rel, obuf); word = getw(tbuf); switch(rel&07) { case 2: word =+ txtrel; break; case 3: cajsr r0,call1; _trap / no return 1: mov $1,SSR0 mov nofault,(sp) rtt .text .globl _runrun, _swtch call1: mov saveps,-(sp) spl 0 br 1f call: mov PS,-(sp) 1: mov r1,-(sp) mfpd sp mov 4(sp),-(sp) bic $!37,(sp) bit $30000,PS beq 1f .if .fpp mov $20,_u+4 / FP maint mode .endif jsr pc,*(r0)+ 2: spl HIGH tstb _runrun beq 2f spl 0 jsr pc,_savfp jsr pc,_swtch br 2b 2: .if .fpp mov $_u+4,r1 bit $20,(r1) bne 2f mov (r1)+,r0 ldfps r0 movf (r1)+,fr0 movf (r1)+,fr1 movf fr1,fr4 movf (r1)dumpfielseeditcommdispdrawerasargexplogsincosatnrndexprintabssqrwww &w U@!H!P!X!`!h!p!x!`!@@!hI@!hAy1?ϑy"?D{Av#OP#C!+C|]2CU*j 4xBJh{CW*RsCL~Sz"@NnDOLX2xة3I䔶TX]1 D!L%dIgN5&GbqhDK-?> E=sMBԝ`=B.pF:|+eiD(/zC@;\)@3d5@3e1@rzlB#"3h@?ØGe@lB,k$aXUse 4: word =+ datrel; } putw(word, obuf); } fflush(obuf); close(obuf[0]); exit(0); } getrel(r) { switch (r&016) { case 02: /* ref to text */ return(txtrel); case 04: /* ref to data */ case 06: /* ref to bss */ return(datrel); case 0: return(0); default: printf("Bad relocation %o\n", r); return(0); } } +,fr1 movf fr1,fr5 movf (r1)+,fr1 movf (r1)+,fr2 movf (r1)+,fr3 ldfps r0 2: .endif tst (sp)+ mtpd sp br 2f 1: bis $30000,PS jsr pc,*(r0)+ cmp (sp)+,(sp)+ 2: mov (sp)+,r1 tst (sp)+ mov (sp)+,r0 rtt .globl _savfp _savfp: .if .fpp mov $_u+4,r1 bit $20,(r1) beq 1f stfps (r1)+ movf fr0,(r1)+ movf fr4,fr0 movf fr0,(r1)+ movf fr5,fr0 movf fr0,(r1)+ movf fr1,(r1)+ movf fr2,(r1)+ movf fr3,(r1)+ 1: .endif rts pc .globl _incupc _incupc: mov r2,-(sp) mov 6(sp),r2 / base of prof with base,leng,off,scale mov 4(sp),r0 / pc sub 4(r2),r0 / offset clc ror r0 mul 6(r2),r0 / scale ashc $-14.,r0 inc r1 bic $1,r1 cmp r1,2(r2) / length bhis 1f add (r2),r1 / base mov nofault,-(sp) mov $2f,nofault mfpd (r1) inc (sp) mtpd (r1) br 3f 2: clr 6(r2) 3: mov (sp)+,nofault 1: mov (sp)+,r2 rts pc .globl _display _display: dec dispdly bge 2f clr dispdly mov PS,-(sp) mov $HIPRI,PS mov CSW,r1 bit $1,r1 beq 1f bis $30000,PS dec r1 1: jsr pc,fuword mov r0,CSW mov (sp)+,PS cmp r0,(sp)+,r1 mov (sp),r0 br 1f _retu: spl 7 mov (sp)+,r1 mov (sp),KDSA6 mov $_u,r0 1: mov (r0)+,sp mov (r0)+,r5 spl 0 jmp (r1) .globl _spl0, _spl1, _spl4, _spl5, _spl6, _spl7 _spl0: spl 0 rts pc _spl1: spl 1 rts pc _spl4: spl 4 rts pc _spl5: spl 5 rts pc _spl6: spl 6 rts pc _spl7: spl HIGH rts pc .globl _copyseg _copyseg: mov PS,-(sp) mov 4(sp),SISA0 mov 6(sp),SISA1 mov $10000+HIPRI,PS mov r2,-(sp) clr r0 mov $8192.,r1 mov $32.,r2 1: mfpd (r0)+ mtpd (r1)+ sob r2,1b mov _runrun beq 2f bic $340,PS jsr pc,_swtch br 2b 2: tst (sp)+ mtpi sp br 2f 1: bis $30000,PS jsr pc,*(r0)+ cmp (sp)+,(sp)+ 2: mov (sp)+,r1 tst (sp)+ mov (sp)+,r0 rtt .globl _savfp, _display _savfp: _display: rts pc .globl _incupc _incupc: mov r2,-(sp) mov 6(sp),r2 / base of prof with base,leng,off,scale mov 4(sp),r0 / pc sub 4(r2),r0 / offset clc ror r0 mul 6(r2),r0 / scale ashc $-14.,r0 inc r1 bic $1,r1 cmp r1,2(r2) / length bhis 1f add (r2),r1 / base mov nofault,-(sp) mov $$-1 bne 2f mov $120.,dispdly / 2 sec delay after CSW fault 2: rts pc / Character list get/put .globl _getc, _putc .globl _cfreelist _getc: mov 2(sp),r1 mov PS,-(sp) mov r2,-(sp) spl 5 mov 2(r1),r2 / first ptr beq 9f / empty movb (r2)+,r0 / character bic $!377,r0 mov r2,2(r1) dec (r1)+ / count bne 1f clr (r1)+ clr (r1)+ / last block br 2f 1: bit $7,r2 bne 3f mov -10(r2),(r1) / next block add $2,(r1) 2: dec r2 bic $7,r2 mov _cfreelist,(r2) mov r2,_cfreelist 3: mov (sp)+,r2 mo(sp)+,r2 mov (sp)+,PS rts pc .globl _clearseg _clearseg: mov PS,-(sp) mov 4(sp),SISA0 mov $10000+HIPRI,PS clr r0 mov $32.,r1 1: clr -(sp) mtpd (r0)+ sob r1,1b mov (sp)+,PS rts pc .globl _dpadd _dpadd: mov 2(sp),r0 add 4(sp),2(r0) adc (r0) rts pc .globl _dpcmp _dpcmp: mov 2(sp),r0 mov 4(sp),r1 sub 6(sp),r0 sub 8(sp),r1 sbc r0 bge 1f cmp r0,$-1 bne 2f cmp r1,$-512. bhi 3f 2: mov $-512.,r0 rts pc 1: bne 2f cmp r1,$512. blo 3f 2: mov $512.,r1 3: mov r1,r0 rts pc .globl _ldi2f,nofault mfpi (r1) inc (sp) mtpi (r1) br 3f 2: clr 6(r2) 3: mov (sp)+,nofault 1: mov (sp)+,r2 rts pc / Character list get/put .globl _getc, _putc .globl _cfreelist _getc: mov 2(sp),r1 mov PS,-(sp) mov r2,-(sp) bis $340,PS bic $100,PS / spl 5 mov 2(r1),r2 / first ptr beq 9f / empty movb (r2)+,r0 / character bic $!377,r0 mov r2,2(r1) dec (r1)+ / count bne 1f clr (r1)+ clr (r1)+ / last block br 2f 1: bit $7,r2 bne 3f mov -10(r2),(r1) / next block add $2,(r1) 2: dec r2 bic v (sp)+,PS rts pc 9: clr 4(r1) mov $-1,r0 mov (sp)+,r2 mov (sp)+,PS rts pc _putc: mov 2(sp),r0 mov 4(sp),r1 mov PS,-(sp) mov r2,-(sp) mov r3,-(sp) spl 5 mov 4(r1),r2 / last ptr bne 1f mov _cfreelist,r2 beq 9f mov (r2),_cfreelist clr (r2)+ mov r2,2(r1) / first ptr br 2f 1: bit $7,r2 bne 2f mov _cfreelist,r3 beq 9f mov (r3),_cfreelist mov r3,-10(r2) mov r3,r2 clr (r2)+ 2: movb r0,(r2)+ mov r2,4(r1) inc (r1) / count clr r0 mov (sp)+,r3 mov (sp)+,r2 mov (sp)+,PS rts pc 9: v _ldiv: clr r0 mov 2(sp),r1 div 4(sp),r0 rts pc .globl _lrem _lrem: clr r0 mov 2(sp),r1 div 4(sp),r0 mov r1,r0 rts pc .globl _lshift _lshift: mov 2(sp),r1 mov (r1)+,r0 mov (r1),r1 ashc 4(sp),r0 mov r1,r0 rts pc .globl csv csv: mov r5,r0 mov sp,r5 mov r4,-(sp) mov r3,-(sp) mov r2,-(sp) jsr pc,(r0) .globl cret cret: mov r5,r1 mov -(r1),r4 mov -(r1),r3 mov -(r1),r2 mov r5,sp mov (sp)+,r5 rts pc .globl _u _u = 140000 usize = 16. CSW = 177570 PS = 177776 SSR0 = 177572 SSR1 = 17$7,r2 mov _cfreelist,(r2) mov r2,_cfreelist 3: mov (sp)+,r2 mov (sp)+,PS rts pc 9: clr 4(r1) mov $-1,r0 mov (sp)+,r2 mov (sp)+,PS rts pc _putc: mov 2(sp),r0 mov 4(sp),r1 mov PS,-(sp) mov r2,-(sp) mov r3,-(sp) bis $340,PS bic $100,PS / spl 5 mov 4(r1),r2 / last ptr bne 1f mov _cfreelist,r2 beq 9f mov (r2),_cfreelist clr (r2)+ mov r2,2(r1) / first ptr br 2f 1: bit $7,r2 bne 2f mov _cfreelist,r3 beq 9f mov (r3),_cfreelist mov r3,-10(r2) mov r3,r2 clr (r2)+ 2: movb r0,(r2)+ mov pc,r0 mov (sp)+,r3 mov (sp)+,r2 mov (sp)+,PS rts pc .globl _backup .globl _regloc _backup: mov 2(sp),r0 movb ssr+2,r1 jsr pc,1f movb ssr+3,r1 jsr pc,1f movb _regloc+7,r1 asl r1 add r0,r1 mov ssr+4,(r1) clr r0 2: rts pc 1: mov r1,-(sp) asr (sp) asr (sp) asr (sp) bic $!7,r1 movb _regloc(r1),r1 asl r1 add r0,r1 sub (sp)+,(r1) rts pc .globl _fubyte, _subyte .globl _fuword, _suword .globl _fuibyte, _suibyte .globl _fuiword, _suiword _fuibyte: mov 2(sp),r1 bic $1,r1 jsr pc,giwor7574 SSR2 = 177576 SSR3 = 172516 KISA0 = 172340 KISA1 = 172342 KISA7 = 172356 KISD0 = 172300 KDSA0 = 172360 KDSA6 = 172374 KDSA7 = 172376 KDSD0 = 172320 MTC = 172522 SISA0 = 172240 SISA1 = 172242 SISD0 = 172200 SISD1 = 172202 IO = 177600 .data .globl _ka6 .globl _cputype _ka6: KDSA6 _cputype:45. stk: 0 .bss .globl nofault, ssr nofault:.=.+2 ssr: .=.+6 dispdly:.=.+2 saveps: .=.+2 .text / system profiler / /rtt = 6 /CCSB = 172542 /CCSR = 172540 /PS = 177776 / /.globl _sprof, _xprobuf, _probuf, _probsiz, _mov r2,4(r1) inc (r1) / count clr r0 mov (sp)+,r3 mov (sp)+,r2 mov (sp)+,PS rts pc 9: mov pc,r0 mov (sp)+,r3 mov (sp)+,r2 mov (sp)+,PS rts pc .globl _backup .globl _regloc _backup: mov 2(sp),ssr+2 mov r2,-(sp) jsr pc,backup mov r2,ssr+2 mov (sp)+,r2 movb jflg,r0 bne 2f mov 2(sp),r0 movb ssr+2,r1 jsr pc,1f movb ssr+3,r1 jsr pc,1f movb _regloc+7,r1 asl r1 add r0,r1 mov ssr+4,(r1) clr r0 2: rts pc 1: mov r1,-(sp) asr (sp) asr (sp) asr (sp) bic $!7,r1 movb _regloc(r1),r1 asd br 2f _fubyte: mov 2(sp),r1 bic $1,r1 jsr pc,gword 2: cmp r1,2(sp) beq 1f swab r0 1: bic $!377,r0 rts pc _suibyte: mov 2(sp),r1 bic $1,r1 jsr pc,giword mov r0,-(sp) cmp r1,4(sp) beq 1f movb 6(sp),1(sp) br 2f 1: movb 6(sp),(sp) 2: mov (sp)+,r0 jsr pc,piword clr r0 rts pc _subyte: mov 2(sp),r1 bic $1,r1 jsr pc,gword mov r0,-(sp) cmp r1,4(sp) beq 1f movb 6(sp),1(sp) br 2f 1: movb 6(sp),(sp) 2: mov (sp)+,r0 jsr pc,pword clr r0 rts pc _fuiword: mov 2(sp),r1 fuiword: jsmode /_probsiz = 7500.+2048. / /_isprof: / mov $_sprof,104 / interrupt / mov $340,106 / pri / mov $100.,CCSB / count set = 100 / mov $113,CCSR / count down, 10kHz, repeat / rts pc / /_sprof: / mov r0,-(sp) / mov PS,r0 / ash $-11.,r0 / bic $!14,r0 / add $1,_mode+2(r0) / adc _mode(r0) / cmp r0,$14 / user / beq done / mov 2(sp),r0 / pc / asr r0 / asr r0 / bic $140001,r0 / cmp r0,$_probsiz / blo 1f / inc _outside / br done /1: / inc _probuf(r0) / bne done / mov r1,-(sp) / mov $_xprobuf,r1 /2: / cmp (r1)+,r0 / l r1 add r0,r1 sub (sp)+,(r1) rts pc / hard part / simulate the ssr2 register missing on 11/40 backup: clr r2 / backup register ssr1 mov $1,bflg / clrs jflg mov ssr+4,r0 jsr pc,fetch mov r0,r1 ash $-11.,r0 bic $!36,r0 jmp *0f(r0) 0: t00; t01; t02; t03; t04; t05; t06; t07 t10; t11; t12; t13; t14; t15; t16; t17 t00: clrb bflg t10: mov r1,r0 swab r0 bic $!16,r0 jmp *0f(r0) 0: u0; u1; u2; u3; u4; u5; u6; u7 u6: / single op, m[tf]pi, sxt, illegal bit $400,r1 beq u5 / all but m[tf], r pc,giword rts pc _fuword: mov 2(sp),r1 fuword: jsr pc,gword rts pc giword: mov PS,-(sp) spl HIGH mov nofault,-(sp) mov $err,nofault mfpi (r1) mov (sp)+,r0 br 1f gword: mov PS,-(sp) spl HIGH mov nofault,-(sp) mov $err,nofault mfpd (r1) mov (sp)+,r0 br 1f _suiword: mov 2(sp),r1 mov 4(sp),r0 suiword: jsr pc,piword rts pc _suword: mov 2(sp),r1 mov 4(sp),r0 suword: jsr pc,pword rts pc piword: mov PS,-(sp) spl HIGH mov nofault,-(sp) mov $err,nofault mov r0,-(sp) mtpi (r1) bne 3f / inc (r1) / br 4f /3: / tst (r1)+ / bne 2b / sub $4,r1 / mov r0,(r1)+ / mov $1,(r1)+ /4: / mov (sp)+,r1 /done: / mov (sp)+,r0 / mov $113,CCSR / rtt / /.bss /_xprobuf: .=.+512. /_probuf:.=.+_probsiz /_mode: .=.+16. /_outside: .=.+2 sxt bit $200,r1 beq 1f / mfpi bit $100,r1 bne u5 / sxt / simulate mtpi with double (sp)+,dd bic $4000,r1 / turn instr into (sp)+ br t01 / simulate mfpi with double ss,-(sp) 1: ash $6,r1 bis $46,r1 / -(sp) br t01 u4: / jsr mov r1,r0 jsr pc,setreg / assume no fault bis $173000,r2 / -2 from sp rts pc t07: / EIS clrb bflg u0: / jmp, swab u5: / single op mov r1,r0 br setreg t01: / mov t02: / cmp t03: / bit t04: / bic t05: / bis t06: / add t16: / sub clrb bflg t11: / movb t12: / cmpb t1br 1f pword: mov PS,-(sp) spl HIGH mov nofault,-(sp) mov $err,nofault mov r0,-(sp) mtpd (r1) 1: mov (sp)+,nofault mov (sp)+,PS rts pc err: mov (sp)+,nofault mov (sp)+,PS tst (sp)+ mov $-1,r0 rts pc .globl _copyin, _copyout .globl _copyiin, _copyiout _copyiin: jsr pc,copsu 1: mfpi (r0)+ mov (sp)+,(r1)+ sob r2,1b br 2f _copyin: jsr pc,copsu 1: mfpd (r0)+ mov (sp)+,(r1)+ sob r2,1b br 2f _copyiout: jsr pc,copsu 1: mov (r0)+,-(sp) mtpi (r1)+ sob r2,1b br 2f _copyout: jsr pc,co3: / bitb t14: / bicb t15: / bisb mov r1,r0 ash $-6,r0 jsr pc,setreg swab r2 mov r1,r0 jsr pc,setreg / if delta(dest) is zero, / no need to fetch source bit $370,r2 beq 1f / if mode(source) is R, / no fault is possible bit $7000,r1 beq 1f / if reg(source) is reg(dest), / too bad. mov r2,-(sp) bic $174370,(sp) cmpb 1(sp),(sp)+ beq t17 / start source cycle / pick up value of reg mov r1,r0 ash $-6,r0 bic $!7,r0 movb _regloc(r0),r0 asl r0 add ssr+2,r0 mov (r0),r0 / if reg has been psu 1: mov (r0)+,-(sp) mtpd (r1)+ sob r2,1b 2: mov (sp)+,nofault mov (sp)+,r2 clr r0 rts pc copsu: mov (sp)+,r0 mov r2,-(sp) mov nofault,-(sp) mov r0,-(sp) mov 10(sp),r0 mov 12(sp),r1 mov 14(sp),r2 asr r2 mov $1f,nofault rts pc 1: mov (sp)+,nofault mov (sp)+,r2 mov $-1,r0 rts pc .globl _idle _idle: mov PS,-(sp) spl 0 wait mov (sp)+,PS rts pc .globl _savu, _retu, _aretu _savu: spl HIGH mov (sp)+,r1 mov (sp),r0 mov sp,(r0)+ mov r5,(r0)+ spl 0 jmp (r1) _aretu: spl 7 mov / machine language assist / for 11/40 / non-UNIX instructions mfpi = 6500^tst mtpi = 6600^tst wait = 1 rtt = 6 reset = 5 .globl trap, call .globl _trap trap: mov PS,-4(sp) tst nofault bne 1f mov SSR0,ssr mov SSR2,ssr+4 mov $1,SSR0 jsr r0,call1; _trap / no return 1: mov $1,SSR0 mov nofault,(sp) rtt .globl _runrun, _swtch call1: tst -(sp) bic $340,PS br 1f call: mov PS,-(sp) 1: mov r1,-(sp) mfpi sp mov 4(sp),-(sp) bic $!37,(sp) bit $30000,PS beq 1f jsr pc,*(r0)+ 2: bis $340,PS tstbincremented, / must decrement it before fetch bit $174000,r2 ble 2f dec r0 bit $10000,r2 beq 2f dec r0 2: / if mode is 6,7 fetch and add X(R) to R bit $4000,r1 beq 2f bit $2000,r1 beq 2f mov r0,-(sp) mov ssr+4,r0 add $2,r0 jsr pc,fetch add (sp)+,r0 2: / fetch operand / if mode is 3,5,7 fetch * jsr pc,fetch bit $1000,r1 beq 1f bit $6000,r1 bne fetch 1: rts pc t17: / illegal u1: / br u2: / br u3: / br u7: / illegal incb jflg rts pc setreg: mov r0,-(sp) bic $!7,r0 bis r0,r2 mov (sp)+,r0 ash $-3,r0 bic $!7,r0 movb 0f(r0),r0 tstb bflg beq 1f bit $2,r2 beq 2f bit $4,r2 beq 2f 1: cmp r0,$20 beq 2f cmp r0,$-20 beq 2f asl r0 2: bisb r0,r2 rts pc 0: .byte 0,0,10,20,-10,-20,0,0 fetch: bic $1,r0 mov nofault,-(sp) mov $1f,nofault mfpi (r0) mov (sp)+,r0 mov (sp)+,nofault rts pc 1: mov (sp)+,nofault clrb r2 / clear out dest on fault mov $-1,r0 rts pc .bss bflg: .=.+1 jflg: .=.+1 .text .globl _fubyte, _subyte .globl _fuibyte, _suibyte .globl _fuword, _suworksr6 = sysu mov $usize-1\<8|6,(r1)+ / initialize io segment / set up counts on supervisor segments mov $IO,(r0)+ mov $77406,(r1)+ / rw 4k / get a sp and start segmentation mov $_u+[usize*64.],sp inc SSR0 / clear bss mov $_edata,r0 1: clr (r0)+ cmp r0,$_end blo 1b / clear user block mov $_u,r0 1: clr (r0)+ cmp r0,$_u+[usize*64.] blo 1b / set up previous mode and call main / on return, enter user mode at 0R mov $30000,PS jsr pc,_main mov $170000,-(sp) clr -(sp) rtt .globl _ldiv _D  disk offset J7& tape offset 07 count  T      0 Wp `@ illegal digit Dr-l  P eP5Ћ 4R`ȋ  `e `R7 $ r t@P hfɋd .globl _fuiword, _suiword _fuibyte: _fubyte: mov 2(sp),r1 bic $1,r1 jsr pc,gword cmp r1,2(sp) beq 1f swab r0 1: bic $!377,r0 rts pc _suibyte: _subyte: mov 2(sp),r1 bic $1,r1 jsr pc,gword mov r0,-(sp) cmp r1,4(sp) beq 1f movb 6(sp),1(sp) br 2f 1: movb 6(sp),(sp) 2: mov (sp)+,r0 jsr pc,pword clr r0 rts pc _fuiword: _fuword: mov 2(sp),r1 fuword: jsr pc,gword rts pc gword: mov PS,-(sp) bis $340,PS mov nofault,-(sp) mov $err,nofault mfpi (r1) mov (sp)+,r0 br 1f _suiword: _suwldiv: clr r0 mov 2(sp),r1 div 4(sp),r0 rts pc .globl _lrem _lrem: clr r0 mov 2(sp),r1 div 4(sp),r0 mov r1,r0 rts pc .globl _lshift _lshift: mov 2(sp),r1 mov (r1)+,r0 mov (r1),r1 ashc 4(sp),r0 mov r1,r0 rts pc .globl csv csv: mov r5,r0 mov sp,r5 mov r4,-(sp) mov r3,-(sp) mov r2,-(sp) jsr pc,(r0) .globl cret cret: mov r5,r1 mov -(r1),r4 mov -(r1),r3 mov -(r1),r2 mov r5,sp mov (sp)+,r5 rts pc .globl _u _u = 140000 usize = 16. PS = 177776 SSR0 = 177572 SSR2 = 177576 KISA0 = 172ord: mov 2(sp),r1 mov 4(sp),r0 suword: jsr pc,pword rts pc pword: mov PS,-(sp) bis $340,PS mov nofault,-(sp) mov $err,nofault mov r0,-(sp) mtpi (r1) 1: mov (sp)+,nofault mov (sp)+,PS rts pc err: mov (sp)+,nofault mov (sp)+,PS tst (sp)+ mov $-1,r0 rts pc .globl _copyin, _copyout _copyin: jsr pc,copsu 1: mfpi (r0)+ mov (sp)+,(r1)+ sob r2,1b br 2f _copyout: jsr pc,copsu 1: mov (r0)+,-(sp) mtpi (r1)+ sob r2,1b 2: mov (sp)+,nofault mov (sp)+,r2 clr r0 rts pc copsu: mov (sp)+,340 KISA6 = 172354 KISD0 = 172300 MTC = 172522 UISA0 = 177640 UISA1 = 177642 UISD0 = 177600 UISD1 = 177602 IO = 7600 .data .globl _ka6, _cputype _ka6: KISA6 _cputype:40. .bss .globl nofault, ssr, badtrap nofault:.=.+2 ssr: .=.+6 badtrap:.=.+2 \]`< wwp7ZU7TT7N*7HZY7BW7<0\* 7^# EfF E50 UaE 8 U0 %  2pv Er b I 2 ZURE@LBE   5 e E^`Z`r0 mov r2,-(sp) mov nofault,-(sp) mov r0,-(sp) mov 10(sp),r0 mov 12(sp),r1 mov 14(sp),r2 asr r2 mov $1f,nofault rts pc 1: mov (sp)+,nofault mov (sp)+,r2 mov $-1,r0 rts pc .globl _idle _idle: mov PS,-(sp) bic $340,PS wait mov (sp)+,PS rts pc .globl _savu, _retu, _aretu _savu: bis $340,PS mov (sp)+,r1 mov (sp),r0 mov sp,(r0)+ mov r5,(r0)+ bic $340,PS jmp (r1) _aretu: bis $340,PS mov (sp)+,r1 mov (sp),r0 br 1f _retu: bis $340,PS mov (sp)+,r1 mov (sp),KISA6 mov $_u,r0 1: mX & 6  2w  %  "@& P  ww uuNn& T @ 5 @@% @@w` Au #?@AuAWpeZuNf ew <5 5 @@m5t= AWpUAmAm@ȝ % % ww 5 5 AWpUAmAm@H %T %ww 5 AWpUAm1TSAWpUAmAm@ȭ  AWpUAmAm AWpU1 UE@B ``  5 `_  & H  \ ` f EAJ_ ` ʛΛ NtExTTTTTTLXXXXXT7@ExP@P555@EWtU& @ U7B@D7:@t z@ r525/E*@tEJ_ m5 5 5 5&e \e V55 %&EPtEov (r0)+,sp mov (r0)+,r5 bic $340,PS jmp (r1) .globl _spl0, _spl1, _spl4, _spl5, _spl6, _spl7 _spl0: bic $340,PS rts pc _spl1: bis $40,PS bic $300,PS rts pc _spl4: _spl5: bis $340,PS bic $100,PS rts pc _spl6: bis $340,PS bic $40,PS rts pc _spl7: bis $340,PS rts pc .globl _copyseg _copyseg: mov PS,-(sp) mov UISA0,-(sp) mov UISA1,-(sp) mov $30340,PS mov 10(sp),UISA0 mov 12(sp),UISA1 mov UISD0,-(sp) mov UISD1,-(sp) mov $6,UISD0 mov $6,UISD1 mov r2,-(sp) clr r0 mov $8192.,r1 NNm  %w:w (~wDe   % w 7 7 ׯ-  (w7  .weB J ӕ- R r f e0 @ >n ҋ D~8" Lӕ0 $f v Le0 9e   7we&  m  ~    ~ w7   0   Wp `e0eӕ?fp ,fP \ V @5 5   ЇEn6hH `ZE Bv EE (&v  6  jUdI  BU<Ιș& &  P ~ & ~ &  *lfEUPEIUUvEzIErU jEdU\E@VUNE HU@:0, mov $32.,r2 1: mfpi (r0)+ mtpi (r1)+ sob r2,1b mov (sp)+,r2 mov (sp)+,UISD1 mov (sp)+,UISD0 mov (sp)+,UISA1 mov (sp)+,UISA0 mov (sp)+,PS rts pc .globl _clearseg _clearseg: mov PS,-(sp) mov UISA0,-(sp) mov $30340,PS mov 6(sp),UISA0 mov UISD0,-(sp) mov $6,UISD0 clr r0 mov $32.,r1 1: clr -(sp) mtpi (r0)+ sob r1,1b mov (sp)+,UISD0 mov (sp)+,UISA0 mov (sp)+,PS rts pc .globl _dpadd _dpadd: mov 2(sp),r0 add 4(sp),2(r0) adc (r0) rts pc .globl _dpcmp _dpcmp: mov 2(sp),r0 mov 4(sp),rf : <7 ( &<-f@@& HADCBF,!&)& !?!!>!>!!>! !>!!!!>? > ?? > ! '!!!?!!!!!"<$"! ?!3-!!!!1)%#!!!!!>!!> !!%">!!>"! !!!!!!!!!! !!!-3!! ! ??  ???, -24   "  X missing argument   P ~xr|0pLF  & C~6RmH   W W @57`PP4R`0  ȋ `5 a~ߞtEķ X@b    0 L&  6r 6r@@A6v@@& ADCBFw 7 ^Ue  ]bc ^/%  B %FU  Wt p 0 1 sub 6(sp),r0 sub 8(sp),r1 sbc r0 bge 1f cmp r0,$-1 bne 2f cmp r1,$-512. bhi 3f 2: mov $-512.,r0 rts pc 1: bne 2f cmp r1,$512. blo 3f 2: mov $512.,r1 3: mov r1,r0 rts pc .globl dump dump: bit $1,SSR0 bne dump / save regs r0,r1,r2,r3,r4,r5,r6,KIA6 / starting at abs location 4 mov r0,4 mov $6,r0 mov r1,(r0)+ mov r2,(r0)+ mov r3,(r0)+ mov r4,(r0)+ mov r5,(r0)+ mov sp,(r0)+ mov KISA6,(r0)+ / dump all of core (ie to first mt error) / onto mag tape. (9 track or 7 track 'binary') %s doxf&ecsl4r<e%>]WpWtNb^  ]  7x]VV*d ^/% UfR]N] %`>]:] %l^ T6]2]]]eM] BF @ U . 78\2\|U . 7tn :  L & & e& L^ % wnw ^ %(0T`#%%(S #5 %ww %(SN & %N & &f p e% q_" N & &f F &f : emov $MTC,r0 mov $60004,(r0)+ clr 2(r0) 1: mov $-512.,(r0) inc -(r0) 2: tstb (r0) bge 2b tst (r0)+ bge 1b reset / end of file and loop mov $60007,-(r0) br . .globl start, _end, _edata, _main start: bit $1,SSR0 bne start / loop if restart reset / initialize systems segments mov $KISA0,r0 mov $KISD0,r1 mov $200,r4 clr r2 mov $6,r3 1: mov r2,(r0)+ mov $77406,(r1)+ / 4k rw add r4,r2 sob r3,1b / initialize user segment mov $_end+63.,r2 ash $-6,r2 bic $!1777,r2 mov r2,(r0)+ / / l45.o needs to be in data space / to get l45.o; as data.s l.s .data e%@@m@me-[ je%  @teU   %ze% @teUDm  %z   %Dm#%  @tU"e# jz%z% w\w L@etwHw 8RRt `]%R E  GŴv^ & % :G7YRY4447DY7@Yww N e   I  `5?Nf T %  !Nf E de % :G2e (Nf G  bIw2 N|^   w N &e  Nf& T % ; 4 %d#Nf G d&e %4  F4e ( apw.w DCe - N^  w w N &e  *  a5Nf .  e e j  ^wlw \5 7 nI jIe̋ 5-RI e%iD_ أ̕I  4%@  HD7lCbc / 5˕t H & & %˕ w\t N f  w &5tu- NmfNbc ^/%? HNbc /  HN& % 5  Nm  u-f79e (@E%@e 7  D wVw F Be t e e   !tt_ww C % w y w D̵Ee (e ( E& - wrw bDE`73 yfWp ]% Zw&ft b]w DE`7L3 y-jJfWp ]ft `]%-E4 x_7ʙ  etQ7 wbw R7_(&2 /  I XC - 55`1̘Ș- `7 Ƙ7 Ę e & && e7 t7~7p  Za ww  t 5_7% %_7a  % & f& e7 ze7p `whwd`w\XRLF e@@ A @e5`pNf  @ ef  & \ ҋ@ fe  "5    5 5 e% J_ m %P_0  %6 ZN :G%T-d ( F-ww \t7 ww j%  w u-@w|@w fC@Dm*Q]5# & & %jקw`֧B T ȧ     * w  %   t̕t L7Le (   ^w| t̕t h Pw JCe2  Ne~w4w $D4 ̕:LH,L 7Le (ww DEted`%K Hww Ke  e̥ @-@@ & L Ƙe ` e  wF` L@lv &     `Jw 2Re̥ - ~0- e%ia: S|  7 SS̗E7S—S  N|  ~S|S rS7 dS| (w2w "-LS  w@S7 ̰ ݄8h܄d؄7ʄ̵ % 2  V377% ` 팄&e T x?Jww  :2 /    ܄& @<%ww x:2 / #E X & @<%wBw 2 CB%5 - 5 - E%@'  ` 64 "E XE n- e @ 0  Zww " , 0  ,wrw b ,D̵=%t 5|t5%E b5    x`5mfe T ttw E5` w  :2 / AK6ww ~%5- U H F R-5%ny NwFw 6 Ds5_M5s_Mms _M`teE5 Vt5 tEB-_MmstEAm"t@ t _M U@&  5@ U t E4 sWt @`E@`t4`tE4B f 4r E 4 4r&  4&  5r5@ ( EH 7r Mjurww D57]rUrww CRT TV55 PRwRw BJ R(5Z5P   r7*%R5@PjU7 r77 .IT 0r ww N .]fRZ   4ww C   w    ޵db6&  @5 '\ %db  % nUV X@X PZZ\] h  /etc/initmem = %l no clockiinitno spacebad blockOut of inodesbad countno fsno imtInode table overflow panic: %s %s on dev %l/%l errbn%l er%o %o swap errorno procsout of swap spaceswap errorout of textout of swap space%#########$$#$$$#% %ka6 = %o aps = %o trap type %o trap&&&&&& '&&&)))))*n**corer%79;,;;<8;e@e5 Nef  e % f  e % :Gw8w (Ā ,  @ ww 5"@ :2 /  5   xe  " s Zw e%e  & f@t `]%1f E  :G2J G2& %22hE2 :G 64w 5~;xe " e%e~*k 5-g~e %x& f@t b]% a a 5\ a %bc  %5dbeD-w *BCE% 5 5 %%% z%  "O4%5%A%Ze   5 % %  (  5 Q  Rwxw h CDE%5 _jR% 5  Q _jR5aҋ !\ Q %a%ze% 5 Q e &  Zea5 E B xaʋ=ʊ;tE5%=lCV4CfBd>BDzD>:l?="Cr@~ABB~B(d%J?d%r%.NMd%@C>4CDXBd%d%J@^2`EEd%B CDd%d%d%d%d%d%d%d%d%d%d%d%d%d%d% `@-\-R- `---no file out of swap=====unlink -- igetblkdevdevtab|#`{}@~ABCDEFGHIJKLMNOPQRSTUVWXYZRRTRQQ"RnR|R({)}!|^~'`ZBZY Z3  :Gwrw b :2 / E%`}-5} Zw*w x~ww "~~"ww ~h"~7`"d (ww ğh~7} 7x}x}07n}ww b}<~8~V}ww ğ&~7G} 77}75}wxw h)}~}}w`w P}? }wNw > BwBw 2}%  (  |0ww :2 / 3 64| . a E%@ |Xz|v|7 |  Z Zww ʋt&e  % tE5% U@%  e &U  w5@tE5%% w ̴D RwĴw B &5"e %aEP4 ER ,,%wZw JD  tO   e  * ww D#  R@&e  %2   Q  Rww DC 33w trap"start"dump"call" _klrint"U_klxint"T_clock"*_tcintr"ZY_rkintr"W_tmintr"0\_trap"^#nofault$ssr$_runrun$@b_swtch"r_savfp"T_display"T_incupc"V_getc"_putc"_cfreeli$Bb_backup"l_regloc#J__fubyte"B_subyte"\_fuibyte"B_suibyte"\_fuword"_suword"_fuiword"_suiword"_copyin"_copyout"_idle"6_savu"H_retu"j :2 / E%@#| Z@& - | Z7| 64w@w 0 E{Ej|f|E4P Zww   8| 3|  Zww |%% s{ ?F| {^{!R{0ww 5 |8{e    ,%e {7{ {& % e%i܂ zw"w  Z{  eN{%ww <{E7{2{{.{|{*{ E7p{ww Nf G 5wU &@t d]  N w dl8Cte l sDuepeeH3 #@UCU@ww ܲDue N4wβw @te (Sww @te fSww Due R % e (whw XBteU53& HP w4w $DueN& S ww AB f jE tE mE@` B__ _aretu"^_u!_spl0"_spl1"_spl4"_spl5"_spl6"_spl7"_copyseg"_clearse"_dpadd"T_dpcmp"b_end$_edata#@b_main"_ldiv"L_lrem"X_lshift"fcsv"vcret"_ka6#\]_cputype#^]badtrap$_bdevsw#`]_nulldev" _rkstrat"V_rktab$Db_nodev" _tmopen"PZ_tmclose"Z_tmstrat"Z_tmtab$Nb_tcclose"^X_tcstrat"zX_tctab$Xb_cdevsw#]_klopen"T_klclose"T_klread"T_klwrite"T_klsgtty"NU_mmread"nU_mmwriteHw ~B N G N G 5 U &@t d] #N G N G 5 :G U @t d] N E w Hw DE & t d] 5 H :G5 Mww D tf]%Nb% $GU :Gw^w NDU FwHw 8D5@ (5@2E@2ny (5 vy .EH0 nyww ؿD@tf] s-3! w  w @-"0a nyCj * w~w n(j7 $j7ajB T wRB f jE .i RtE mE@` \ __ Ԯw D5 J e5AWp-U .I4  F 7@ < 074 (  t `wXw HD e5 5N X 5N L  r f r tUAWt @Pww ܯ   & ~ & & Jeww z (z 7p & .%"V_rkread" X_rkwrite"@X_tmread"\_tmwrite"]_rootdev#D^_swapdev#F^_swplo#H^_nswap#J^_canonb$bb_coremap$bc_swapmap$*d_rootdir$d_execnt$d_lbolt$d_time$d_tout$d_callout$e_mount$xe_mpid$e_runin$e_runout$e_curpri$e_maxmem$e_lks$e_updlock$e_rablock$e_proc$e_text$i_inode$k_icode#L^_mfree"^/_printf"_min"_panic"_cinit"N_binit"zI_iinit": _iget"._newproc"_expand"L_estabur" _sched"_sur %nyz1<U@l1ny  r @tf]a  t-t-  ^5U@& $ Hw 0 H5U F0003t tw D μ&  5  Mww tD 00UwTw DD5  "KU5 :GE@ (w w @ ~ww ny7/7/7/7/ WpDex Wpe|tny//07/ :G % `] @5I C U79 78  .I zwbw Rf2V w .Κ ZU@&  5@ U `O@t 7TOwTO@t7DO@tE76OΚtt d] &  55@ ( EHExaߕ .I - -؂"" Et5 @PUA e-w "Dje j 0 r ww D4j & Z & Z wԬw Ĭd  5R@t@]U`Rww D e - - U bI .I!55 4  f 707  *w"w  U7 .IW 5 r@j5RtEWt@PU@`--U   UU T_file$y_issig"%_setrun"N_setpri"_malloc"/_xswap" _swap"DK_xccdec".#_xfree"!_xalloc"!_sysent#__psignal"%_psig"d&_trap1"F%_grow"'_nosys"d%_nullsys"r%_ipc$|_signal"z%_stop"&_procxmt"P)_exit"7_core" '_schar"&2_namei"/_access"-_ptrace"(_rexit"7_fork"9_read";_write",;_open";_close"<_wait"8_creat";_link"=_unlink"lC_exec"V4_chdir"C_gtime"fB_mknod"d>_chmod"BD_chown"zD_sbreak">:_stat"l?_seek"=_getpid""C_smount"r@_sumount"~A_setuid"B_getuid"B_stime"~B_fstat"J?_stty".N_gtty"M_nice"@C_sslep">_sync"4C_kill"D_getswit"XB_dup"J@_pipe"^2_times"`E_profil"E_setgid"B_getgid" C_ssig"D_timeout",,_getf",_closef",_closei"-_openi"n-_owner"L._uchar":2_suser"._ufalloc"._falloc"._readp"2_plock"4_writep"V3_rdwr"<;_open1"@<_stat1"?_getmdev"B_buffers$|_swb5 0D,D50D,D BC00D `DD !7!4!100D `DD!&!#BC00D `DD !!!00D `DD!!  0D5 ,DZ5,DT5,DN5,DH5,DB50,D<50,D65 ,D0w f w ^w V w Nw w w zw r5 0D,D50D,D BC00D `DD !7!4!100D `DD!&!#BC00D `DD !!!w j'-,00 -0j07 /@ 5@2e2 A rd A rd5 @ AWpd/p@ W-5@ @ D @ $.5@ W-N/W->/ -+./7 (/wx&w f& */t5/E5Pff % . N x v+7 .N 3.-.w&w % @7,.5 @ A Am ,D  W-@@ w%w %5 t@t @aAt pDv tW-t@T.5 D.r<.  5uf$Κ_httab$_iowait"H_incore"G_geterro"M_notavai"H_iodone".I_mapfree""K_devstar"J_rhstart"\J_maplock$_mapallo"J_physio"5  w z@e7 f:w f5 w R@e 7 >:w > 0w 05) &w  !w  w w w "w w 0 w 0w #) $=w w w w w w w w w w w w w w ~ w vw nw > w 6w . w &w w  w w L5@c  @P<@ @`R &L5DtW-tW-t .  .,Nevfr\ %@w,%w %`V   } 5% = w$w $ 7 -5 fe& :%  j- w$@w $ 5 5 H P- R-Ne18N    5-  @ 5D@ A* @   ,@  ,A&A x8MA x8w#w #)OA x8 ,TA x8N  w#w #@t5@E5 H, N NAlabama|Ala|AL:Montgomery:AL Alaska|AK:Juneau:AK Arizona|Ariz|AZ:Phoenix:AZ Arkansas|Ark|AR:Little Rock:AR Cal[if[ornia|]|]|CA:Sacramento:CA Col[o[rado|]|]|CO:Denver:CO Conn[ecticut|]|CT:Hartford:CT Del[aware|]|DE:Dover:DE Fl[orid|]a|FL:Tallahassee:FL Georgia|Ga:Atlanta:GA Hawaii|HI:Honolulu:HI Idaho|Ida|IO:Boise:IO Ill[inois|]|IL:Springfield:IL Ind[iana|]|IN:Indianapolis:IN Iowa|Ia:Des Moines:IA Kans[as|]|Kan|KS:Topeka:KS Kentucky|Ky:Frankfort:KY Louisiana|La:Baton Rouge:LA Maine|Me:Augusta:ME Maryland|Md:CcDc  (<D R  @<D R w ,3 "( w03w 35 -;@w3;5W-W-e -*< -$< @`Wp u`-< -; @`t5`-; ; -; ; w V2 5 57-; -;-;e57-; -;-~;eW-(-R7-P;-D;-L; -6;->;e(-7- ;-;-"; - ;-;e(@w1w ~16:, _ &,N x N 3 55+ , x@@ D / N F+ x + /- N F ( q )  e p  +  Z+$ #o - o - o p  wP"w >" @ 5@YA5 w&"w "@t5A ru%q  k @5@aA5  *Ne18N w!w !A rNea 8@t w~!w Annapolis:MD Mass[achusetts|]|MA:Boston:MA Mich[igan|]|MI:Lansing:MI Minn[esota|]|MN:Saint Paul|St Paul:MN Miss[issippi|]|MS:Jackson:MS Missouri|Mo:Jefferson City:MO Mont[ana|]|MT:Helena:MT Nebraska|Neb|NB:Lincoln:NB Nevada|Nev|NV:Carson City:NV New Hampshire|NH:Concord:NH New Jersey|NJ:Trenton:NJ New Mexico|NM:Santa Fe:NM New York|NY:Albany:NY N[orth|] Carolina|NC:Raleigh:NC N[orth|] Dakota|ND:Bismarck:ND Ohio|O|OH:Columbus:OH Oklahoma|Okla|OK:Oklahoma City:OK Oregon|Ore|OR:Salem:OR Pennsylvania|Pa:Harrisb5@ ,DN '  wV1:u 5 w-9eNe 3N '5 * w9@ w 0 ,( w099.6,6 D 7@9D3D2 D6 x 8 R   3 DD709 e5^ P[e9 `Ue2 9 pOeq9D78 Ev5= ;Ej57 f5E\5    8F97 F978   8$97 978 t8|8 7l8 `8 j87V8P874747F8788 DDl!@   xA * r  7 *fe 2;%w2! )w !NffA x8%w!w ! )1 )0-D&  6& r e0 "& r Ne0 .  N  h) w -`) w ~  0)  .)  ),NZ   w@ w .  ( 7( N 5 ( 7(@7 ( w5 (u- N  r( v( uN  w-$tA x8 8(<(  urg:PA Rhode Island|RI:Providence:RI S[outh|] Carolina|SC:Columbia:SC S[outh|] Dakota|SD:Pierre:SD Tenn[essee|]|TN:Nashville:TN Texas|Tex|TX:Austin:TX Utah|UT:Salt Lake City:UT Vermont|Vt:Montpelier:VT Virginia|Va:Richmond:VA Wash[ington|]|WA:Olympia:WA W[est|] Virginia|WVa|WV:Charleston:WV Wisconsin|Wis|WI:Madison:WI Wyo[ming|]|WY:Cheyenne:WY sD x   2 > 487 8487 84D3 DDw / 7 w/ 77 :%5  ufe7 :%N B 5wv7w .N  d7N x N 3  27* *7$7 :%fe7 :%N B 5@- @E76 6 w6. 7 6w . uu@w.w - -66665 H7 6 5e-6 @7~67|66w-u r6 7d6+eN x  5 N h65u-70( w(w T (  wL'uu ' A >e 'N 3N x ' T$ F F$   '4$  *$ F }e v' 8 ew-V'wN'u* J'N 3N x N <5 &'  w'w'_ew-&w&_w &u &  N@e-&0 . , )e &N x N 3N 5 z&  6 wZ& wew-H&w@&w x 25    !$'*-"%(  , uu ew-5 -5@5 5 75w5w5@w ,-5J2N w, 5555 5f @# H$ n5%eN x 2  N h655 5 u-ew-,5 05w 5W-H j 5 @w @, -514w:,4555 >@ e57 404e@-)AWt AD A@ rdtCE D @ rdP=e}eew-R4u-wB4J4 B4Nf @# 7 &  &&@ 5D * " ,  R %  %   %A x8 % @ 5D@@5Ne ;NAA r<& @ uA 7r!%-!-!W--!W-<-,%W-<-!_ !_w N 7% P5 55w-$e@e5"w$N w A x8w$w #  $,  @ $ 0 Lz$,  p$  ,7 P$ ( t`VN$A ! A ! A ; & 6 % w D;C5@$ D! D-D      &  *%5@@'-0D# *D  &D "D      &  *% Du!ueN x ?  }e}ee w-BwBwB:w 0:@ p=0D NNmf R w:w :@ Dw:@ D @B?BeB@t@]?Be~B@ D w 9bB5>$ bC! ^C-ZC< F = F  w$4u&4'eN x 0  N &75Hu-u u-ew-3 3w3@_. Cw  w w "w w 0 w 0w w w w w tw bw P w >w , p50DAe N Jefp50DAe 2q50DAe D &    %eq%DTw ) @ x8 0E<2M8222e!  ZA !  $ 7#A !  -  #A !  A !  A ! % # 1`D#A 2 #A 2 5z# NA x8 A !  _A ! A ! :#,_5 ,#  N # _ 05 "@w07 " 5A x8_w  &5 5" w@t@]w "5 a h r"5 1 8eX"8@t@me5ww v0"> F & < %5>'-C# C  B B: F ; F < F & < % +u!ueN 3:> F }e}ee <2w-fAw^Aw8w 8@ p=0D NNmf  w8w p8@ Dwj8"AA AD @@?Ae@@t@]?@e@@ D  0D5 ,DZ5,DT5,DN5,DH5,DB50,D<50,D65 ,D0w f w ^w V w Nw w w zw r,2$2e2 @ : 71 D1 :%5 @ D@ D@ D@ D@ D@ D@ D@ D@ D@ E@ A AD p E@ @@ C r @Bt @tPp0D@  w:(w ((A r NA r  rfA r<&f@ x8ew'w '@-  6- F w' w ' zz0 1`D p0 , f0 7X0w'w ' L0 7>0 ,w|'@ 5 @ @- wXw"w : v%A x8 ! !  \w-!   !BBB x8 n@ww  7 ! !  57!ww  T! 7 h!Ne :   *:N ^: *: ^ *:N ^:N *: :B5B+B r:e SBNB@B r:e w, C 4 EC`fC K"e  "@@ b(C C @@ b(Ce 050#050$0000w&0$   &f2 2@22w  ZB @: dB x8_j%D& 2;%D& 2;%@& 2;%D& 2;%zM 5fe& 2;%$D& 2;%(D& 2;%*D& 2;%@& 2;%@& 2;%@& 2;%@& 2;%@& 2;%D& 2;%@ M& 2;% *:ww   xB : B x8_&D& :%D& :%@& :%D& :%fe& :%@ eM7.  3 DD7  _ 0\ V2 PqD7 ~EV > p;EH 7 F E: x >  7 7| :  zr7 h7^ ReZ 7J > H74.7 7 7$7 DDsD x5(5.505B5T5`5  7 < 7 <n D3 DDw  -5  7  5e- @7r7pzwu f 7X+eN 3 5 N arzjbt  HL> R , ^  H  D 5 D   \ H    :e&  ee-- &  7 w w 5 5 |vn ml <fm^!6$ " 8 H -P#N 57  Zf N Z %    & P e - ,  ̋ `& ԥ -` | H w$D& :%(D& :%*D& :%@& :%@& :%@& :%@& :%@& :%D& :%@ M& :% *:ww r55 : j V @e-J(@wNe 3 N= ue Ne x \= w-f @# w  55 55`@ 5@@ ww  55 55`@ 5@@ ww  @ 5DPu L ` .w-23e\5u-  , uu ew-  - @5  7 w w @w - > N &7w  55  f @#  $ b %eN 3 F N \55 5 u-ew-  $ w W-  ^ 5 @w 4 -  w. 555 =uew- 0 e2@-)AWt AD A@ rdtCE D @ rdP=e}eew-H u-w8 @  8 N w r5 B) 5 | 4ef N @ 0Z   e B-BZ P e5 % Zˋ Z   @ A pZX u-   BB X% eV &eX  `& ӥ  X    eZ%Z͆e  3 B H e-   ^  H B-`  H w w  CeD w%  w ` " &@Ee55 @t5N $.&@ &D  %wA A@ r<ww w  f )%f )% f )% f )%f )% f )%f )%f )% & f )%wjw X@ p=0D  AAm 1`CwBw 0$555555555 B ! B ! 5 VB ! B ! @Nefefefe +e<5 4 *f @# w u 'eN 3 F N 5 u-u u-ew-  w @_:7w ~wHDe>  8 % w7 $7 $ׯ-  (w7  .weBB J ӕ- R r f e0 @ > ҋ D~8BB ӕ0 $f v Le0 9ePJ B< 7,we&  m  ~    ~ w7  8   `ww -d@ mXȥ- @ mF w@ m.$A rea?C reaw . ` 8   0 w w  N   ww - |  r -dh ww D C ̢̥  w@w tC@ @m wf˥ < ˭      0  0 ˥  @   0 @ @m˥   w %9% xNefefefe +eW-- Nefefe ,% 5  + 5   w55   "55 55je@t 5D fN x N 3H5Nfff.&f V-e /Nffff& V-e  Ff -   u  ue  X t w-w   B x8_l* @_l*@_l*w  X5 P q= N fff  0   Wp `e0eӕ?f@w@ fwwBw f@)w fwl@e7dBwfw fwBw>Bww *wBJ wf@w wBwf@wwBw` fwBf@wwCw*f@@& HADCBF7FF 0 ww  f  %ww b~WpBe  % wxw f\WpDeE@7" y~  b  w  Ne A a1 . Ne A a1ww  D5 AWp `eu  =@ww % % wz w dw Z wV AupNNmf | wJw 8 . @@5 _  fA rBpEu@@`55DCN& f& %5 +eHW-kW-p   W-n4ׯp A r}      @e=ׯ/  N ff ,%wW-bW-r lw  `5 X q= W-kNff ,% ,(W-r= W-nW-bW-0 W-9@e= ww A ru@t5 @5W- @55 Nf - Nf - Nf - Nf -      X00:122.< j H| d,, @< Chess /usr/lib/book%s: %d:%d%d 00 kqrbnp PNBRQK a b c d e f g h q q q q k k k k r n b b n r %d. ... ppnbrqkrnbtime = %d/%d forced mate Resign Illegal move saveremoveexitmanualresignfirstrestoreclockwhiteblackscorehint %d repeateh? Draw by repetition White wins Black wins Stale mate /bin/ 2`D--`f $`f&  %`Df z %5 D-& C-D-6@e5@eu-@@AA@ Nf` | u_ Nf | @`5_ f  %Cww   DCԒ ww  DCB5ҒS w~f@w| fww w\f@)wHfw&JA 7  fAW,f B@ 8 @&61wr w \  wX N $.@-w 6 @ w4 @D.E?d xd./j/H/&/.d.5  w z@ 7 :w f5 w R@7 w > 0w 05) &w !w  w w w "w w 0 w 0w #) w w w w w w w w w w w w w w ~ w vw nw > w 6w . w &w w  w w L5mailmailchess/usr/bin/mailmailchesschess.outcannot create file chess.outcannot open file o-o-ooooo-oooambiguous 8dD9o>9x9f9e9c*9s8l9r +fA   @ @e71@, 1wfwA2Q  OfA  ^ y   F y @0fA  @9 fA @e&7hwd7^@8w7 f>:wm4>w(wm"fw>ww fAW @w f17 5 e wD 5& w8& L& H& D& @& <&8&4&0&,&(&@c  (@@ @`R &L5CcDc D R  @D R w   w w@@ 5 @w w 5 -j@w -d -^ @`Wp u`-: -0 @`t5`-  -  w 5 5p- --e5J- --eW-(-:-j-^-F -P-8e(->-:-4-. #&),/$& &&&&& &&&f& fwwJwh fwPwN f@wwTw*f@@& HADCBF7F  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ -&-e(@wZ w H ,5@ ,DN '  w u 5 w-eNe x N '5 > w@w  @@ 0 C@ -P@ @ A 1l@C@  .5  5  \(@5 @ 1A ACWpduN n5 A B r5@ 5C@ 5@A 5r5`@ w   D 7@`D3D2 D x3t44X4443x & 6  w  4~ %- w>^u @v7& y@-I  m?  ew& mH%e@ȥ-ȥ+ %    @ e@& N !WpBe  ` H,b %  ` AmH % -^   m 7 $ % $ e E7 r7t7 m7 Xzmo^~abdnrtz-Too many keys -/usr/tmp/stmXaa/tmp/stmXaaCannot locate temp Can't create temp Can't create output Can't open 0 1,2,3,4,5,6:7{(integers)}:integers|[natural|counting] numbers 1,2,3,5,8,13:21{(Fibonacci)}:Fibonacci{ seq{ence}| numbers} 1,2,4,8,16,32:64{(powers of 2)}:powers of 2|2[**|^]n 1,2,6,24,120,720:5040{(factorials)}:factorials|n! 1,3,5,7,9,11:13{(odd nos.)}:odd [integ|numb]ers 1,3,6,10,15,21:28{(triangular)}:triangular{ numbers}|C(n,2) 1,3,9,27,81:243{(powers of 3)}:powers of 3|3[**|^]n 1,4,9,16,25:36{(squares)}:squares|n[**|^]2 1,4,16,64:256{(powers of 4)}:powers of 4|4[**|^]n 1,5,25,125:625{(powers of 5)}:powe_w   ww   wf&UUDe .E ~' x$  7X ?f%7\e-B UL6 e?. 7<6U055 ` ć `7 U ef@e7Ew ~w De   % w7 7 ׯ - | z (wn 7 p  .wd eB J ӕ- R r f e0 @ >  ҋ D~8 ӕ0 $f & 6  0w @ w x7 B wtx7v7&j7 x %d7 r hh+ B 7\7Z+47& x + x +7&+ x %7+6&6 +6&6& x e6+6&6&6&+ x e 6 +|6&t6& l6& d6& r &+P6& x e_<+TN @ &_+8 &66&+ &5++5&_+5&_rs of 5|5[**|^]n 1,8,27,64,125:216{(cubes)}:cubes|n[**|^]3 2,3,5,7,11,13:17{(primes)}:prime[ number]s 2,4,6,8,10,12:14{(even nos.)}:even [integ|numb]ers|multiples of 2|2n 3,6,9,12,15:18{(3n)}:multiples of 3|3n v Le0 9e    7 we&  mz  x  ~    ~ w7 L  B > 0   * Wp `e0eӕ?f  , P  @f  7     -  f@w fwJA 7 ^ fAW,f B@ 8 @&61fA   @ @e7H1@ 1wf@+5&5&+_+++5&5&+_+++x5&p5&+_`57_<+_+_B5:5& r +(5& 5& _5 5&5& x %4> r +4&4&_44&+4& 4& x e4 r +4&4&+v4& x e_<b4++_<+_<+_<+_<+z_<+p_<47b_< $_<4_+3&3&_+++9<?BE147:=w&w"wfwm wwmfw ww f@ww&wZ fAW @w f17 5 ew, 5& w& L& H& D& @& <& 8& 4& 0& ,& (& $& & & & & & & & & f& f BRff@@& HADCBF7F ]|}NN`+++_+++3&+_++++3 +_j3,^3&+_N3,B3&,_23,&3& ,_3, 3&,_2  ,2&,2& &,2& x e _<2 (,2&$,2& &",2&x2 0,f2&,,Z2& h &*,D2 8,22&4,&2& 4 &2,:,_@,_F,_L,_R,_X,_^,_d,_j,_Z & 6  w    %@  *@\  =% wB@  % =@%T   7% w  ww 5%w  \ w 5 N 5%w7 y@AA @@@] Zu]5  w@ %,7b y  w 7R y* #  Np]|}[\]{|}<[\]{|}...itrToo hard for me Too many facts about one thing I've forgotten some of it /usr/lib/quiz/indexNo info Right! What? Rights %d, wrongs %d, extra guesses %d, score %d%% Subjects: - For example, quiz asks you a and you answer the quiz works the other way around Type empty line to get correct answer. Bad info %s I don't know about that ~ d o x f e cp,_v,_|,_,1&  &,_,1&  &,_x1,_h1,_X1,L1&,_,81&,_,v_<1,_1,_0,0&0&0&,_",_,_0,_,_,_,0&0&,_,_,_,r0&j0&,_,_,_,F0&>0&,_,_,_,_0 ,_? _<B_4/?/?f \ %  N 5]%w    ~N 5}l%w N X wH @ &2&  % " w  AZ@w @U w w w w (7F  y5   N     w w x u5 u@ @m5'e# *@@%d#\ @ } } :  :=@ ȥ @  % e s l, r0  ?   _</ 7,~/,z/ 7 0 _<b/ _<R/H/ _<8/./ 7r_<w  N5N >5% % %z_ %a_ 7%a_z %z_z %i*%f'%h#%o  5%a%zw@_v %w%f%s%q%r%en%b%rV%d%e>%s%c&%b  w w 5 u-/5 %@ @m@ @m& 5%  @ @m H  u-  wR w :  2 5f ff e w w 7 7h H    4%   w w 5 d $ A 1 % w w Ne @EU7L*@-(H7  y%@5e e%f @ %  *%N  v @large|big:small on:off standing up:sitting down inside:outside high:low old:new|young hot:cold out:in heavy|dark:light daytime:night[time| time] stop|come:go top:bottom floor:ceiling near:far run:walk empty|hungry:full backwards:f[or|ront]wards big|large:little|small fat|thick:thin|skinny bright|light:dark|dull right:wrong|left give:take|receive|get buy:sell shiny|bright:dull dawn:dusk fall down|go to bed:[get|stand|rise] up asleep:awake up:down open[|ed|]:close[d|] smile:frown|cry happy|glad:sad hard:soft%a%o%b %d%i %a %u _8 %q%u  P %Fw w: @ 7 %0%9%A@ r eA! y .74 7  y _X =+ + %--< => !  7 %*_X  t%* j7p %/d _* f   @5%"?  _v w 7$ @-@w  @m N fe p  z * p @ %  -  5 @ &4. R%@ 6@ 4  % 2    @    5 0       @ & pwmn  0 5% %   , fee%-ZZ T   @ p w  uf& %  u-@|easy boy|woman|lady:girl|man fast:slow wet:dry covered|hid[den|]:uncovered|open good:bad always|sometimes|now:never|sometimes beautiful|pretty:ugly rough:smooth hairy:bald||smooth above:below yin:yang sweet:sour if:unless from|fro:to with[|in|]:without|against after:before together:apart plus:minus  @w  @ 5 * +-+++e-+ p 7~+x+  j+ mf+&  7\+ - w< w *  5j f Nf"- (%@e5%E> <- . e( e@ ?  e w @w w NT- ( %9%E  Ne N (wr w ` N 9 a- (/n 3j j f wB w 0 c- (N Ne- ( B 34 w w Nk- ( /   7  7  9( 3ww )ft- x %  u-@   =@@ww p TWp5 EwHWt 7rw~5  t-nn 7 h  Tw*w     %     Wpd  m r  ww   Y  f @ % ~  2   )  T 3  F 5  4 B  & W   b   d    w   2 5   @   u-258;>ADGHKNQTWZ]ILORUX[^ )x-fv-) x e)ww )f{- x %)-f~-z) x el)w`w N N " wV) wH) 7B) 8)&  7,)- )ww - ( rww @ eDww @ exww %/@-)deN f T @l- ( @-Ne  p  N N N Nf T <  N N N  --- eww 47 7 7 @e5E'  . (eee'' z% e5@5eE5@t _\ x. f  d  7Z/ ( J 7@:@-ew$NJ   N,/ ( @ *( 5@ *( 7&&7N @ 4' * e )5 e}/@7_ wT  x. r7/ f-@ z% e5%'e@t% & @fD/ (%%@e@-͆-' *( /) %* ^+ ) 0+& -' *( /) %* ^+ 0+& -' *( /) %* ^+ 0+& -' *( /) %* ^+ ]0+& -' *( /) %* ^+ `0+& -' *( /) %* ^+ c0\0+& -' *( /) %* ^+ 0+& -' *( /) %* ^+ 0+& -' *( /) %* ^+ 0+& -' *( /) %* ^+ 00 -                 { ( ~ ? _ 0( ; +& -' *( /) %* ^+     < > 20r0S0Y0+& -' *( /) %* ^+ ) +& -' *( /) %* ^+ ; ;" ! u0y0=  hDm{'8.@Z*-rrrlhhetalsisipiytotaniniciathinmlibililhfdiaaiorororararuararoarariararararoooooonentanananololieliiaiaitetrererevleDalce%edede$edduceeteaeaarzanzalzrdzelvnivievCuoninuuuquatuttatatortentatouslosisisasr$urigr#rtoror@E7_ o/ ( _4w z~w4Dev4  p4 % w\7 \47 \4ׯR4- J4 H4(w<47 >4 .w24e/B J ӕ- R r f e0 @ >3 ҋ D~8// 3ӕ0 $f v Le0 9e33 z3t3 7d3we&  mH3 F3 ~    ~ w7 3 3 30   2Wp `e0eӕ?f2 ,2P 2 3 4 5 6 7 :0O0- s     @ A ?  ( ~B ? _ - >     @ A ?  ] ( ~B ? _ 0+& -' *( /) %* ^+ ] +& -' *( /) %* ^+ W0+& -' *( /) %* ^+ X0+& -' *( /) %* ^+ ^0+& -' *( /) %* ^+ _0+& -' *( /) %* ^+ a0+& -' *( /) %* ^+ b0+& -' *( /) %* ^+ d0+& -' *( /) %* ^+ e0)0) +& -' *( /) %* ^+ 0+& -' *( /) %* ^+ ] +& -' *( /) %* ^+ ] [0&0 -     herrrrcopyntonhononen$nn%ainlininomomimllllillcklllllalfalaltablbllalalalikgagiagergmgkgdgifnifereeidididuenclunc&esncerncinc%ancerncarncancalncincusicticieclacrooeli$ieoontintrinrinpinninminlinlinlin%sinrinlinnlinkinlinlinlinlinlinyhineethnehingindinbinnoutortittiseispisrisnislisuislisbi 2 2 @f 2 F72 /F22-2x2f v#7p#h#7  7X# T# P#7.2 7 @#f@w& f@)wfw@e7/wfw73 fww/wf*wBJ fAW @w fH1H7 5 ezw|/ 5& wH&F3L&@3H&:3D&43@&.3<&(38&"34&30&3,&3(& 3$&3 &2&2&2             { ( ~ ? _ 00?0A0j0l0   :0) +& -' *( /) %* ^+ ) +& -' *( /) %* ^+ ,0+& -' *( /) %* ^+ -0+& -' *( /) %* ^+ .0+& -' *( /) %* ^+ /0+& -' *( /) %* ^+ 00+& -' *( /) %* ^+ 10@0B0} ;" ! % +& -' *( /) %* ^+ 0+& -' *( /) %* ^+ 00;" ! , v00000w05:=JKbcf<ENQVWZ]`abcdejknopsgisdissraporugurgicaairhifedsciorarooalracacuselelheltaltaalvukthtchadua#uaur%gaonaiaia%ririiiiaaea$eaciaiaaaaoiuoi#i#eivsisiisals$es$asoooaithithowowurpoooooo alaioaiolioio%sioionoioiooooiiiiiiteiaightomeoekeeee#aomaiaia$eaiaialeaea#eacrouhieearro#o&2&2 &2&2&2f& f@fA w,w"e"w"~ew"t@lw"lAlew_ &@t`e @& HADCBF7/F/300N+Q+T+W+Z+]+`+c+f+i+l+p+t+x+|+0@<<,~ 28>ZhpxXfpz<<<"(.4:PlBv &BRb~Z4<D`hp<<@kn{"%2ANSTUby/25NOPQ`otuv $1>?BO^mno   #0189:;<=   $iizovoevomut%useost%cerit%ise%ese%asetearert%meaeropaewn$seonrmelldleleknheaheeihethshhechdgrdoundldiducncBa&aca&eca&ica&ega$uuiouiouiou$iueoueoueubesesb%pibCeCeDshDchionsinsalslishtsisgesgsdesdsasearooironrinenieninrighrighligheighhifraf$dgoaoaoahaui$es%quii%osiinni(failailailili&<Xhr< ,,,,,,,,,,,,,,,,,,,,,,---- -%*+-/=^   X H V X ` & : j 90@ -                  { ( ~ ? _ 0;" ! % s0+& -' *( /) %* ^+ 00=, / 0 2 3 4 5 6 7 [- (1 V0 0(8 =: - >   < = @ A ?   N #M 9 C HT_&f'g(h)i*j+k,l-m.n1r8t:v;w?{@~ADEIJQ`axyz|}urouar$urenaionrirnlglalfalalbllk&gahleeckeodtudeedaa2 3 4 5 6 7  ( ~B ? _ f0=D - >   F G @ A ? 2 3 4 5 6 7  ( ~B ? _ g0=I - >   K L @ A ? 2 3 4 5 6 7  ( ~B ? _ h0 -                 { ( ~ ? _ 000q0R S - >     @ A ?  ( ~B ? _ U W X V Y [ \ Z ] Q0 _ U0Z0(` (a b m0n0o00*0+0)c ,d t0[e x0;0>0- s    r. ; E J?}@AzPQOo^]qd$!#4---------.. . ....".).1.6.<.B.G.L.R.X.^.d.j.n.s.{................... 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14ps.[]Ps:ls;:QQ0QkkKkiiIiooOofc s.s. S+-*/%%^=><!=!>!< 0!=+- 0  @ A ?  )p ( ~B ? _ 0!0"0#0$0%0- >     @ A ?  )u ( ~B ? _ +& -' *( /) %* ^+ 0U W X V C0Y [ \ Z E0=y / 0 2 3 4 5 6 7 [x (1 V0=| - >   < = @ A ? 2 3 4 5 6 7  ( ~B ? _ f0= - >   F G @ A ? 2 3 4 5 6 7  ( ~B ? _ g0= - >   K L @ A ? 2 3 4 5 6 7  ( ~B ? _ h0 +& -' *( /) %* ^+ 0-*/%%^;ld1+sl1+dsl1-dsld1-s;d1+:;1+d:;d1-:;1-d:Kd1+kK1+dkKd1-kK1-dkId1+iI1+diId1-iI1-diOd1+oO1+doOd1-oO1-dolxlx . . .l.ldslds?vLdkdkKdkdidiIdidodoOdoKIOlabcdefghijklmnopqrstuvwxyz.cannot open input filebundle %d elements at %o bundling space exceededroutput(%o) []s%s c[%s]pc SLs.0SLs.cannot open input filequnrecognizable argument /usr/lib/lib.b/bin/dcdc-errorUMINUSLETTERDIGITSQRT   U W X V G0Y [ \ Z I0+& -' *( /) %* ^+ 0U W X V K0Y [ \ Z M0} ;" ! (0'0( - >     @ A ?  ( ~B ? _ = \0( 50[ <0D0H0L0[ =0F0J0N0 _ T0R0+& -' *( /) %* ^+ ) p0{ % ] *( /) %* ^+ 30*( /) %* ^+ 40^+ 60^+ 70^+ 80^+ 90+& -' *( /) %* ^+ 0+& -' *( /) %* ^+ ] +& -' *( /) %* ^+ 0) , P0i0+& -' *( /) %* ^+ k0=y / 0 2 3 4 5 6 7 [ (1 V0+& _IFFFFEQ_WHILE_FORNELEGEINCRDECR_RETURN_BREAK_DEFINEBASEOBASESCALEEQPLEQMIEQMULEQDIVEQREMEQEXP_AUTODOTQSTR$acceptstartstattaildefdargsdlistslistdletseEQOPCRSBLEVrefprefixcargsconseoraconstantlorap||`vZstate %d, value %d, char %d character %d read reduce %d syntax errorerror recovery pops state %d, uncovers %d error recovery discards char %d dox0f>ecslLrF 0 %ewauto break case char 4 continue default do double 4 else extern 2 float 4 for goto if int 4 long register return static struct 3 switch while manco capac:sinchi roca sinchi roca:lloque yupanqui lloque yupanqui:mayta capac mayta capac:capac yupanqui capac yupanqui:inca roca inca roca:yahuar huacac yahuar huacac:viracocha viracocha:pachacuti pachacuti:tupa inca yupanqui tupa inca yupanqui:huayna capac huayna capac:huascar huascar:atahuallpa our discontent:\ Made glorious summer by this sun of York:\ {King }Richard III{ I-i}:\ {King }Richard III There['s| is] a divinity that shapes our ends{,}:\ Rough[-| ]hew them how we will{.}:\ Hamlet{ V-ii}:\ Hamlet There is a tide in the affairs of men:\ Which{,} taken at the flood{,} leads on to fortune{;}:\ Julius Caesar{ IV-iii}:\ Brutus Never{,} never{,} never{,} never{,} never{.}:\ Pray you undo this button{.}{ Thank you{,} sir{.}}:\ {King }Lear{ V-iii}:\ {King }Lear I grow{,} I prosper{\:}:\ Now{,} g ! "W N  @ &   / e&7 J  j De Ԥ!@eW  8m RW et ZEWue T!eD @5 &     7 = ߋpH@E A Ze      @7@ eE "   r f rv!b`ɋfiloruadgjmpsvods{,} stand up for bastards{!}:\ {King }Lear{ I-ii}:\ Edmund The better part of valour is discretion{;}:\ in the which better part I have saved my life{.}:\ {King }Henry IV{,} Part I{ V-iv}:\ Falstaff Asses are made to bear{,} and so are you{.}:\ Women are made to bear{,} and so are you{.}:\ {The }Taming of the Shrew{ II-i}:\ Full fathom five thy father lies{;}:\ Of his bones are coral made{;}:\ {The }Tempest{ I-ii}:\ Ariel She lov['|e]d me for the dangers I had pass['|e]d{;}:\ And I lov['|e]d her that shhknqtwx{~The quality of mercy is not strain['|e]d:\ It droppeth as the gentle rain from heaven:\ {The }Merchant of Venice{ IV-i}:\ Portia Friends{,} Romans{,} Countrymen:\ lend me your ears{;}:\ Julius Caesar{ III-ii}:\ {Mark }Antony Neither a borrower nor a lender be:\ For loan oft loses both itself and friend{.}:\ Hamlet{ I-iii}:\ Polonius To be{,} or not to be{\:}:\ that is the question{\:}:\ Hamlet{ III-i}:\ Hamlet Alas{,} poor Yorick{!}:\ I knew him{,} Horatio{;}:\ Hamlet{ V-i}:\ Hamlet Double{,} double toil ane did pity them{.}:\ Othello{ I-iii}:\ Othello Uneasy lies the head that wears a crown{.}:\ Many good morrows to your Majesty{!}:\ {King }Henry IV{,} Part II{ III-i}:\ Mislike me not for my complexion{,}:\ The shadow['|e]d livery of the burnish['|e]d sun{.}:\ {The }Merchant of Venice{ II-i}:\ Morocco Cowards die many times before their deaths{;}:\ The valiant never taste of death but once{.}:\ Julius Caesar{ II-ii}:\ Caesar O{h}{!|,} Pardon me{,} thou bleeding piece of earth{,}:\ That I am meek and gentle ^K0@ & 6  w ,% @- e `d%@^    ,   F^ 7 >^E! Ne @  @aAap  % 555 `4&, e @5&3 e  _: Ne TNe T7 _ Ne @  _J w b D &a Xe   `& %P % 5/ h   ` & %P %  h w w 05- h @ Zd trouble{;}:\ Fire burn and cauldron bubble{.}:\ Macbeth{ IV-i}:\ Witch{es} By the pricking of my thumbs{,}:\ Something wicked this way comes{.}:\ Macbeth{ IV-i}:\ Out, damned spot! out, I say!:\ :\ Macbeth{ V-i}:\ Lady Macbeth [Second |2nd |]Witch Unbidden guests:\ Are often welcomest when they are gone{.}:\ {King }Henry VI{,} Part I{ I-ii}:\ She is a woman{,} therefore may be woo'd{;}:\ She is a woman{,} therefore may be [won|screw'd]{.}:\ Titus Andronicus{ II-i}:\ Demetrius Such duty as the subject owewith these butchers{.}:\ Julius Caesar{ III-i}:\ {Mark }Antony The play's the thing:\ Wherein I'll catch the conscience of the king{.}:\ Hamlet{ II-ii}:\ Hamlet How sharper than a serpent's tooth it is:\ to have a thankless child{.}:\ {King }Lear{ I-iv}:\ {King }Lear Had I but served my God with half the zeal I served my king:\ He would not in [mine|my] old age have left me naked to [mine|my] enemies{.}:\ {King }Henry VIII{ IV-ii}:\ {Cardinal }Wolsey It seems she hangs upon the cheek of night:\ Like a rich @ ZfNeai  %Ne0 h w  w v D `0 %   @ 5 5 Be  r e\A! y"@e Bef& e5P%/ % @w Ґw D@5N  A  Ku  % &`&`p  5&   `&`ep % %2 %9   w<  &u@A H ȋ Wp qf55@ 5 Wp uus the prince{,}:\ Even such a woman oweth to her husband{.}:\ {The }Taming of the Shrew{ V-ii}:\ Kate Who is Silvia{?} what is she{,}:\ That all our swains commend her{?}:\ {The }Two Gentlemen of Verona{ IV-ii}:\ Thurio Tu-whit{,} tu-who[ - | |--]a merry note{,}:\ While greasy Joan doth keel the pot{.}:\ Love's Labo{u}r Lost{ V-ii}:\ Winter My only love sprung from my only hate{!}:\ Too early seen unknown{,} and known too late{!}:\ Romeo and Juliet{ I-v}:\ Juliet But{,} soft{!} what light through yonder winjewel in an Ethiop's ear{.}:\ Romeo and Juliet{ I-v}:\ Romeo Where the bee sucks{,} there suck I{;}:\ In a cowslip's bell I lie{.}:\ {The }Tempest{ V-i}:\ Ariel O brave new world{,}:\ That has such people [in't|in it]{!}:\ {The }Tempest{ V-i}:\ Miranda Why{,} then the world's mine oyster{,}:\ Which I with sword will open{.}:\ {The }Merry Wives of Windsor{ II-ii}:\ Falstaff A goodly apple rotten at the heart{\:}:\ O{h}{,} what a goodly outside falsehood hath{!|.}:\ {The }Merchant of Venice{ I-iii}:\ Antonio  @ @- s=_Nn  w DCԢӋw| w f bG5 5ԕ*@eaԕ*N r@ @m %   2@ _$n%bG_P     Te%/ ^5% % _$5% /% +T *5% N  ds 5 @mAmp %  RN  B @r5 @ :5 @m5%.  ) % @ Z@dow breaks{?}:\ It is the east{,} and Juliet is the sun{!}:\ Romeo and Juliet{ II-ii}:\ Romeo What's in a name{?} That which we call a rose:\ By any other name would smell as sweet{.}:\ Romeo and Juliet{ II-ii}:\ Juliet Good night{,} good night{!} parting is such sweet sorrow{,}:\ That I shall say good night till it be morrow{.}:\ Romeo and Juliet{ II-ii}:\ Juliet A plague o['|n] both your houses{!}:\ They have made worms' meat of me{.}:\ Romeo and Juliet{ III-i}:\ Mercutio This royal throne of kings{,} thiI never kill['|e]d a mouse{,} nor hurt a fly{;}:\ I trod upon a worm against my will{,}:\ Pericles{ IV-i}:\ Marina Golden lads and girls all must{,}:\ Like chimney sweepers{,} come to dust{.}:\ Cymbeline{ IV-ii}:\ Guiderius You blocks, you stones, you worse than senseless things!:\ O you hard hearts{,} you cruel men of Rome{.}:\ Julius Caesar{ I-i}:\ Marullus A horse[!|,|] a horse[!|,|] my kingdom for a horse[!|]:\ :\ {King }Richard III{ V-iv}:\ {King }Richard III My salad days,:\ When I was green in judg[e 5 %  @ pXN  45_bGf % Z_wtw b5 % % %0+%.7  %+%-5 %-  %0%  @5) %%95 BD@5  h%9Wp Cae5 B5  55555%| &5wv7Y5w ZY7 zY wT^ R  XW  w " C Wp9@@`eˋY& 0%WpDen wf 0 s scepter['|e]d isle{,}:\ This earth of majesty{,} this seat of Mars{,}:\ {King }Richard II{ II-i}:\ John of Gaunt Not all the water in a rough rude sea:\ Can wash the balm from an anointed king{.}:\ {King }Richard II{ III-ii}:\ {King }Richard II I'll put a girdle round the earth:\ In forty minutes{.}:\ {A }Midsummer[-| ]Night's Dream{ II-i}:\ Puck I can call spirits from the vasty deep{.}:\ Why{,} so can I{,} or so can any man{;}:\ {King }Henry IV{,} Part I{ II-iv}:\ There are more things in heaven and ea|]ment, cold in blood[,|]:\ Antony [and|&] Cleopatra{ I-v}:\ Cleopatra Age cannot wither her, nor custom stale:\ Her infinite variety[.|]:\ Antony [and|&] Cleopatra{ II-iii}:\ Enobarbus Give me some music\: music, moody food:\ Of us that trade in love[.|]:\ Antony [and|&] Cleopatra{II-v}:\ Cleopatra 'Tis better playing with a lion's whelp,:\ Than with an old one dying[.|]:\ Antony [and|&] Cleopatra:\ Enobarbus The barge she sat in, like a burnished throne,:\ Burned on the water[.|] The poop was burnished goe%bGnw  Xw7   ӕ- ӕ0B~ӕ.  ӕ0~ B~7   ӕ-ӕ.r B~ӕe ӕ- ӕ+ r e0e0Sw ~w XDeX  X % h w7 W7 WׯW- W W(wW7 W .wWeB J ӕ- R r f e0 @ >~W ҋ D~8 \Wӕ0 $f v Le0 9e(W"W F WW 7Wwrth{,} Horatio{,}:\ Than are dream[t|ed] of in your philosophy{.}:\ Hamlet{ I-v}:\ Hamlet The time is out of joint{;} O cursed spite{,}:\ That ever I was born to set it right{!}:\ Hamlet{ I-v}:\ Hamlet Once more unto the breach{,} dear friends{,} once more{;}:\ Or close the wall up with our English dead{.}:\ {King }Henry V{ III-i}:\ {King }Henry V Was ever woman in this humour woo['|e]d{?}:\ Was ever woman in this humour [won|screw'd]{?}:\ {King }Richard III{ I-ii}:\ {King }Richard III Now is the winter of ld[;|.|]:\ Antony [and|&] Cleopatra:\ Enobarbus e&  mV V h ~  h   h ~ w7 V V V0   VWp `e0fV ,VP vV pV @f TV `74 BV `8V0V-*V"Vf@w fw JA 7 UfAW,f B@ 8 @&61fA   @ @e7r 1@ 1w@fAW @wH fb1b7< 5 e w(  5& w&WL&WH&VD&V@&V<&V8&V4&V0&V,&V(&V$&V &V&V&V&V&V &V&V&Vf& f@fu@& HADCBF7TFf5w * f5w }7 .V&VW&f$c 7 V@% V@A&@Lc7 @L> Be0# @$cє Lc    BA   W Lce B@e0$cm4 ~U` $ceȐ9 ȕ0 $cabilities ability able about above absence absent absentee absenteeism absolute absolutely abstract abstracts academic academically academician accept acceptability acceptable acceptably acceptance acceptances accepted accepting accepts access accessed accesses accessible accessing accession accessions accident accidental accidentally accidents accompany accompanying accomplished accomplishment accomplishments accordance accorded according accordingly account accountability accountable accountancy accountantch be bear bearer bearing became because become becomes becoming been before began begin beginning begins begun behavior behavioral behind being belief beliefs believe believed believes bell belong belonging belongings below beneath beneficial benefit benefits bent besides best better betterment between beyond big bigger biggest bill billed billing bills binary biometrika bit bits black blank blanks block blocked blocking blocks blue board boards body bold bond bonds book books borrow borrowed both bottom ȕ1 LU FU`0$c$cVV6rw"U6r@  `U^U7JUcPP7 TEDE!wETED5!5! w |W!w0w   wW! B  w0 w" w w   (:TE7vTE*TU"TE@TU@T T jcE UUcTTT S BE? encCE ec@E xH5Se5Sts accounted accounting accounts accumulated accuracy accurate accurately achieve achieved achievement achieving acknowledge acknowledging acknowledgments acquired acquiring acquisition across act acting action actions activated activates activation active actively activities activity acts actual actually actuate actuated acute acutely adapt adapted adaption add added adding addition additional additions additive address addressed addresses addressing adds adequacy adequate adequately adhesives adjacent adjbottoms bought bound boundaries boundary bounded bounds box branch branches break breakdown breaker breakers brief briefed briefing briefly bring brings broad broadened broader broadest broadly broken brought brown bubble budget budgetary budgets build building buildings builds built bureau bureaucracy bureaucratic burning bus buses business busy but buy buyer buying buys by bypass bypassing cabinet cabinets cable cabling calculate calculated calculates calculating calculation calculations calendar caliber 5@hSeYc H enc 5@BS> c; c66  c\Sc `&e  c   cSeSbww5Q$Rc ^c f   EU P5R   PTcfPPQ7 4R5    5 C B A  `5R  5Q  5Q  eETc  "$ $5Q $$ 5Q udged adjunct adjuncts adjust adjusted adjusting adjustment adjustments administer administered administering administrate administrated administration administrative administrator administrators admit admittedly adopt adopted adopting adoption advance advanced advances advantage advantageously advantages adversary adverse adversely advise advised advisers advising advisors advisory affairs affect affected affecting affects affirmation affirmative affirmed aforementioned after afternoon again against age agcalibrated calibrates calibration california call called calling calls came can candidate candidates cannot capabilities capability capable capacity capital capitalization capitalize capitalized card cards care career careful carefully carried carries carroll carry carrying case cases casual casually catalog catalogs categories category cathode cathodes catholic caught cause caused causes causing cease ceases cell cells center centered centers central centrally centuries century certain certainly chain chai 5lQ  Rc5@TQ  wL   w>Rc TcQ (    5@Q  P B    P UPwRc P wRc PwPwPw  7 ~P zPa hPUlPtPW 8U`c W 8ETcfc     ` \chc-PP a h h   Tc \ca  ! p ^cRcR BRc OW !W e UETR5O  encies agency agent ago agree agreeable agreed agreement agreements agrees ahead aid aide aided aids aimed air alert algebraic algol algorithm algorithms all allocate allocated allocates allocation allocations allow allowable allowance allowed allowing allows almost alone along alphabet already also alter alteration altered alternate alternating alternation alternative alternatively alternatives although always america american among amount amounts amplifier amplitude an analog analogous analogy analyses anned chaining chairman chairmen chance chances chang change changed changes changing channel channels chapter chapters character characteristic characteristics characterize characterized characterizes characters charge chargeable charged charges charging chart charter chartered charts cheaper cheapest check checked checking checks chemical chemicals chemistry chief chiefs children choice choices choose choosing chosen circle circles circuit circuitry circuits circumstances cited cites citing citizens city ci5tO  UfOwp   Rc^c   7 (Or@Tcr@`c  e  JW!vcW!c 5N7 Ne  , NNN fTc    Tc`c$ $$$`c& N & N  N N S C B A  eW!\cՇ w^ mLN>N :N rfdc58Ne        W!`cTcP    0&Tcd& dN & dN dC N eN e-MMMM"]'|:,̼o P1_p6A67jl;nO#=alysis analyst analysts analytic analytical analyze analyzed analyzer analyzing ancillary and angle animal announced announcements announces annual anode anodes another answer answered answering answers anticipated any anyone anything anyway apart apparatus apparent apparently appeal appealing appeals appear appearance appeared appearing appears append appended appendices appending appendix appends applicability applicable applicant applicants application applications applied applies apply applying appointevil claim claimed claiming claims class classes classification classified clean cleaning cleanliness clear clearance cleared clearing clearly clears clerical clerk clerks clock close closed closely closer closes closest closing closure clue cluster clustering clusterings clusters cm code codes codifying coding coefficient coefficients coffee coherency coherent cold collaboration collaborative colleagues collected collection collections collective collects college color colored column columns combination com p=ף> BCCzEtJ$tJ$nO(khTdpz /usr/lib/unitsattofemtopiconanomicromillicentidecidekahectahectokilomegameggigaterano table you have: you want: * %e / %e conformability underflow or overflow %e %s*%c*cannot recognize %s %l units; %l bytes %sredefination %s 6 d o x f ed cr sB l r`d appointment appoints appraisals approach approached approaches approaching appropriate appropriately appropriateness approval approvals approve approved approximate approximated approximately approximation april arbitrarily arbitrary are area areas argue argued argument arguments arise arisen arises arising arithmetic arose around arrange arranged arrangement arrangements arranges arranging array arrays arrival arrive arrives arriving art article arts as ascertain ascertained aside ask asked asking asks abinations combinatorial combine combined combining come comes coming command commands comment comments commerce commercial commercially commitment commitments committed committee committees common commonly communicate communicated communicates communicating communication communications communist communities community compact companies companion companions company comparability comparable comparative comparatively compare compared compares comparing comparison comparisons compatibility compatible compensate 0> ,:JZZZZZZBRZZzZZPh4 4>^jzspect aspects assembly assess assessed assessment asset assets assign assignable assigned assigning assignment assignments assigns assist assistance assistant assistants assisted associate associated associating association assume assumed assumes assuming assumption assumptions assurance assure assured assures asymmetric at atmosphere atmospheric atom attach attached attack attempt attempted attempting attempts attend attendance attendant attended attention attitude attitudes attorney attract attraction attcompensating compensation compensatory compete competence competency competent competently competes competing competition competitive compilation compilations compiled compiler compilers compiles compiling complement complementary complements complete completed completely completes completion complex complexities complexity compliance complicate complicated complicating component components composed composite composition compositions comprehend comprehended comprehending comprehension comprehensive comprisey|z}ractive attractiveness attributable attributes audio augment augmentation augmented augmenting august author authorities authority authorization authorizations authorize authorized authorizing authors automated automatic automatically auxiliary availability available average averaged averages averaging avoid avoidance avoided avoiding aware awareness away axes axis back background backgrounds bad badly balance balanced ball band bandwidth bank banking banks bar bars base based bases basic basically basis ba comprises comprising compromise compromised compromises computation computational computations compute computed computer computerized computers computes computing conceivable conceived concentrate concentrated concentration concept conceptions concepts conceptually concern concerned concerning concerns conclude concluded concludes conclusion conclusions condensed condition conditional conditionally conditioned conditioning conditions conducive conduct conducted conductivity conductor conductors conference conferences confidence confident confidential confidentiality configuration configurations confirm confirmation confirmations confirmed confirms confounded confounding confuse confused confusion congruent conjectured conjectures connect connected connecting connection connections connects conscious consequence consequences consequently consider considerable considerably consideration considerations considered considering considers consist consisted consistency consistent consisting consists constant constanectives directly director directories directors directory disagreement disagreements disappear disappears discharge discharges disclose disclosed discloses disclosure disconnected discount discounts discourage discouraged discourages discouraging discover discovered discovers discovery discrepancies discrepancy discrete discriminable discriminate discriminated discriminating discrimination discriminatory discuss discussed discusses discussing discussion discussions dispense dispensing display displayed dispexploratory explore explored exponential exponentially exposed exposure express expressed expression expressions extend extended extending extension extensive extensively extent external extinguished extra extracted extracting extreme extremely extremes fabricated face faced faces facilitate facilitated facilities facility fact factor factorial factors facts faculties faculty fail failed failing fails failure failures fair fairly fairness faith fall falls false familiar families family far fashion fast fastts constitute constituting constrain constrained constraint constraints construct constructed constructing construction constructs consult consultant consultants consulted consulting consults consumable consumed consumer consuming consumption contact contacted contacts contain contained containers containing contains contemplate content contention contents context continuation continue continued continues continuing continuity continuous continuously contract contractions contractor contracts contractual colaying displays disposal disposed dissimilar dissimilarities dissimilarity distance distances distant distinct distinction distinctions distinctive distinctly distinguish distinguished distinguishing distorted distortion distortions distractions distribute distributed distributing distribution distributions disturb disturbed disturbing diverse divide divided divides division divisions do document documentation documented documenting documents does doing dollars domain dominance dominant dominated done door er fastest favor favorable fear feasibility feasible feature features february federal federally feed feedback feel feeling feels feet felt female females few fewer field fields fifteen fifth fig figs figure figures file filed files filing fill filled filling fills film filter filtered filtering filters final finally finance financed finances financial financing find finding findings finds fine finely finish finished finite fire fires firm firmly first fiscal fiscally fit fits fitted fitting five fix fixed ntradicting contradiction contradictions contrast contributed contributions control controllable controlled controller controlling controls convenience convenient conveniently convention conventional conventions conversant conversation conversations converse conversely conversion convert converted converter convertibility converting convey conveyed convince convinced convincing cooperate cooperates cooperation cooperative cooperators coordinate coordinated coordinates coordinating copied copies copy core codoors doped dotted double doubling doubt doubtful down dr draft drafting drafts draftsman drastically draw drawing drawings drawn drew drink drinks drive drives driving drop dropped dropping drops dubious due duplicates duplicating duplication duration during dust duties duty dynamic each earlier earliest early earmarked earth ease eased easier easily east easy economic economical economically economics economists economy edge edges edit edited editing editor editorial editors educate educated educating eduflat flexibility flexible flip floor flop flops flow flowing follow followed following follows food foot for force forced forceful forces foregoing foreign forest form formal formally format formation formats formatted formed former forming forms formula formulae formulated formulation forth fortran forward found four fourth fraction fractions frame frames framework framing free freed freedom freely french frequencies frequency frequent frequently fresh friend friendly friends from front fulfill fulfilled frner corners corporate corporation correct corrected correcting correction corrections corrective correctly correctness corrects correlated correlation correlations correspond corresponded correspondence corresponding corresponds cosines cost costing costly costs could council councils count counted counter counting countries country counts couple coupled coupling course courses court cover covered covering covers create created creates creating creation creative creativeness credit crisis criteria criteriocation educational educationally effect effective effectively effectiveness effects efficiency efficient efficiently effort efforts eight either elaborate electric electrical electrode electrodes electron electronic electronically electronics electrons element elements eliminate eliminated eliminates eliminating elimination else elsewhere embedded embedding embodies embodiment embodiments embodying emergencies emergency emotional emotionally emotions emphasis emphasized emphasizes empirical empirically emplulfilling full fully function functional functionally functioning functions fund fundamental funded funding funds furnish furnished furnishes further furthermore future gain gained gainers gaining gains gap gas gaseous gases gate gates gather gathered gathering gating gauge gauges gave general generalist generalists generality generalization generalize generalized generally generals generate generated generates generating generation generator generators geographical geographically geometries geometry germann critical critically criticism criticisms criticize criticized critics crop crops cross crossovers cubic cultural culture cultures currencies currency current currently curve curves customer customers cut cutoff cuts cutting cycle cycles cyclic cycling daily dallas damage damaged damages damaging danger dangerous dark data date dated dates day days dead deal dealing deals dealt debug debugged debugging december decide decided decides deciding decision decisions declared decoded decoder decoding decompositioyed employee employees employer employment empty enable enabled enables enabling enclose enclosed encloses encode encoded encoding encounter encountered encounters encourage encouraged encouragement encourages end ended ending ends energy enforced enforcement enforcing engage engaged engineer engineering engineers english enhance enhanced enhancement enjoy enjoys enlarged enough ensure ensures enter entered entering enters enthusiasm enthusiastic entire entirely entities entitled entity entries entry envel germany get gets getting give given gives giving glance glass glasses global glow go goal goals goes going gone good goods govern governed governing government governmental governments gradually graduate graduates graduating grant granted granting graph graphic graphical graphics graphs great greater greatest greatly green gross grossly ground grounded grounds group grouped grouping groupings groups grow growing grown grows growth guarantee guaranteed guaranteeing guarantees guard guarded gudeance guess guon decrease decreases decreasing deep deeply defect defective defects defend defendant defendants defense define defined defines defining definite definitely definition definitions degree degrees delay delayed delaying delays delete deleted deletes deleting deletion deletions deliver deliverable delivered delivers delivery demand demanding demands demonstrate demonstrated demonstration demonstrations density deny department departmental departments departure departures depend dependency dependent depending ope environment environmental environments environs epitaxial equal equality equally equals equated equation equations equilibrium equipment equipped equitable equivalence equivalent equivalently error errors escape especially essential essentially essentials establish established establishing establishment establishments estimate estimated estimates estimation et etc evaluate evaluated evaluating evaluation evaluations even evening event events ever every everybody everyone everyones everything everywhere essed guesses guests guidance guide guided guidelines guiding habit habits had hair half hall halls hand handbook handle handled handler handles handling hands hang hanging hangs happen happened happening happens hard harder hardly hardware has have having hazy he head headings heads health healthy hear heard hearing heat heating heavily heavy height heights held help helped helpful helps hence her here herein hereinafter hers hesitate hidden hierarchal hierarchical hierarchy high higher highest highly hilldepends depicted deposit deposition deposits depth derive derived deriving descendant descendants descending describe described describes describing description descriptions descriptive descriptors design designate designated designating designed designing designs desirability desirable desire desired desires desiring despite destination detail detailed detailing details detect detected detecting detection detects determination determine determined determines determining develop developed developers developevidence evidenced evident evidently evil exact exactly exaggerated exaggerates examination examinations examine examined examines examining example examples exceed exceeded exceeding exceedingly exceeds excellence excellent except exception exceptionally exceptions excess excessive excessively exchange exclude excluded exclusive executable execute executed executes executing execution executive executives exercise exercised exercises exhaust exhaustion exhaustive exhibit exhibited exhibitions exist existed him himself hire hired hiring his historic historical history hold holding holds hole holes holidays home hook hope hoped hopefully hopes horizontal horizontally hospital hospitals host hot hour hours house houses housing how however human humanly humans hundred hundreds hypotheses hypothesis hypothesized hypothetical idea ideal ideally ideas identical identifiable identification identifications identified identifies identify identifying identity idle if ignore ignored ignores ignoring illness illustrate iing development developments develops deviance deviant deviation deviations device devices diagnose diagnosed diagnoses diagnostic diagonal diagram diagrams dial dialing diameter dictated dictates dictionary did die dielectric differ differed difference differences different differential differentiate differentiating differently differing differs difficult difficulties difficulty diffusion digit digital digits dimension dimensional dimensionality dimensions direct directed direction directions directive dir existence existent existing exists exit exiting exits expand expanded expanding expansion expect expectancy expectation expected expects expedite expeditious expendable expended expenditure expenditures expense expenses expensive experience experienced experiences experiment experimental experimentally experimentation experimented experimenters experimenting experiments expert expertise experts explain explained explaining explains explanation explicit explicitly exploit exploitation exploited exploration llustrated illustrates illustrating illustration illustrations illustrative illustratively image images immediate immediately impact impedance impede implement implementation implemented implementing implementors implications implicitly implied implies imply implying importance important impose imposed impossibility impossible impressed impression impressions impressive impressively improve improved improvement improvements improving impurities impurity in inability inaccessible inactive inadequacy inadequate inappropriate inches inclination inclined include included includes including incoming incompetence incompetent incomplete inconsistent inconvenience inconvenienced inconvenient incorporate incorporated incorporates incorporating incorporation incorrect incorrectly increase increased increases increasing increasingly increment incremental incremented incrementing increments incur incurred incurring indeces indeed indefinite independence independent independently index indexed indexes indexing india indicst look looked looking looks loop loops lose loses losing loss losses lost lot low lower lowest machine machinery machines made magnetic magnitude magnitudes mail mailed mailing mails main mainly maintain maintained maintaining maintains maintenance major majority majors make maker makers makes making male males man manage manageable managed management managements manager managerial managers managing manipulate manipulation manned manner manning manual manually manuals manufactured manufacturer manufacturerves out outcome outcomes outgoing outline outlined outlines outlining output outputs outs outset outside outsiders over overall overhead overlap overlaps overly overview overviews own owned owner owners owns package packages packing packs page pages paid pain painful pair paired pairs panel panels paper papers paragraph paragraphs parallel parameter parameters paramount part partial partially participants participated participating particular particularly parties partition partitioned partitioning partitionate indicated indicates indicating indication indications indicative indicator indicators indices indifferent individual individualized individuals industrial industry ineffective inefficiency inefficient inequalities inequality inexperienced infer inference inferences influence influencing influential inform informal informally information informational informations informative informed informing infrequently inherent inhibits initial initialed initialization initialize initializes initially initiate initis manufacturing manuscript manuscripts many map mapped mapping maps march margin marginal margins mark marked markedly market marketability marketing markets marking marks mask masked masking mass master mastered masters match matched matches matching material materials mathematical mathematically mathematician mathematicians mathematics matrices matrix matter matters maximizes maximum may me mean meaning meaningful meaningfulness meaningless meanings means meant measurable measure measured measurement meass partly parts party pass passage passed passes passing past patent patentable patented patents path paths patient patients pattern patterns pause pauses pay pays peak pension pensions people per perceived percent percentage percentages perceptible perceptibly perceptions perceptual perfect perfectly perform performance performed performing performs perhaps period periodic periodically periodicals periods peripheral peripherals periphery permanent permanently permissible permission permissions permissive peated initiating initiation initiative inner input inputs insert inserted inserting insertion insertions inserts inside insight insights insist instability install installation installations installed installing instance instances instant instantaneously instead institute instituted institutes institution institutional institutions instructed instruction instructional instructions instructor instructors insufficient insurance insure insured insures integer integers integral integrated integrating intellectuaurements measures measuring mechanical mechanics mechanism mechanisms media median medical medicine medium meet meeting meetings meets member members membership memberships memoranda memorandum memory men mention mentioned mere merely merge merged merging merit message messages met metal metallization metallurgy metals method methodological methodologies methodology methods metric microfilm middle might mileage miles military million mind minded minds minimal minimize minimized minimizes minimizing minimum rmit permits permitted permitting person personal personalized personally personnel persons pertain pertaining pertains pertinent perusal phase phased phases phenomena philosophy photocopied photocopies photocopy photocopying physical physically pick picked picking pickup pictorial picture pictures piece pieces pile piles pilot pipe piped pipes pitfalls place placed places placing plan planar plane planned planner planning plans plant plants plausible play played players playing plays pleasant please pleasel intelligibility intelligible intended intends intense intensely intensity intensive intent inter interact interacting interaction interactions interactive interacts interchange interchangeable interchangeably interconnect interconnected interconnection interconnections interconnects interest interested interesting interests interface interfaces interior interlocation intermediary intermediate internal internally international internationally interpret interpretable interpretation interpretations interpretminister minor minority minute minutes miscellaneous missed missing mistake mistakes mix mixed mixes mixture mode model modeling models moderate modern modes modification modifications modified modifies modify modifying modular module modules modulo moment momentarily money monitor monotone monotonic monotonically month monthly months moon moral more moreover morgan morning most mostly motivated motivation motor mount mounted mounting move moved moves moving much multi multidimensional multiple multiplicatid pleasing plots plotted plotter plotters plotting plurality plus point pointed pointer pointers pointing points polarity police policies policy political politically pollution polymers polynomial polynomials pool pooled pooling pools poor poorer poorly popular popularity populating population porter portion portions position positions positive possess possession possibilities possibility possible possibly post posts potential potentially power powerful practicable practical practice practiced practices praed interrelationship interrelationships interrupt interrupted interrupting interruption interruptions interstage interval intervals interview interviewed interviewing interviews intimate intimately into introduce introduced introduces introducing introduction introductory invalid invalidates invent invented invention inventive inventor inventories inventory inverse inversely inverted inverter invest investigate investigated investigation investigations investment investments invite invites involve involved on multiplied multiplier multipliers multiply multiprogram multiprogrammed multiprogramming multistage multivariate murder murray must mutually my name named namely names naming narrow nation national nationally nations natural naturally nature near nearer nearest nearly necessarily necessary necessitate necessitates necessity need needed needing needs negate negated negative neglect neglected neighbor neighboring neither net network networks neutral never nevertheless new newer newest newly news next nice cticing practitioners preassigned precede preceded preceding precise precisely precision predetermined predict predicted predicting prediction predictions prefer preferable preference preferences preferred premium premiums preparation prepare prepared preparing prescription presence present presentation presentations presented presently presents press pressed pressure pressurized presumably presumed pretty prevent prevented preventing preventive prevents previous previously price priced prices pricing primainvolvement involves involving ion ions irrelevant is isolate isolated isolation issue issued issues it item itemized items iteration iterations its itself james january jargon jersey job jobs john johnson join joined joint jointly journal journals jr judge judged judgment judgmental judgments judicious judiciously july jump jumps june just justice justification justified justify justifying keep keeping keeps kennedy kept key keyed keys kill kind kinds knew know knowing knowingly knowledge knowledgeable knonight nine no nobody node nodes noise noisy non none nonexistence nonlinear nonlinearity nonowners nonzero nor norm normal normality normalized normalizes normally norms north not notable notably notation note noted notes noteworthy nothing notice noticeable noticeably noticed notification notified notify noting novel november now nuclear number numbered numbering numbers numeric numerical numerically numerous object objectionable objective objectively objectives objects obligation obligatory observation obrily primary prime priming principal principle principles print printed printer printers printing prints prior priori priorities priority privacy private privilege privileged privileges probabilities probability probable probably problem problematical problems proc procedural procedure procedures proceed proceeded proceeding proceeds process processed processes processing processor processors produce produced produces producing product production productive productivity products profession professional profwn knows label labeled labeling labelled labelling labels laboratories laboratory lack lacking lacks lag laid land language languages large largely larger largest laser lasers last late later latest latter law laws lay layer layers laying layout layouts lays lead leader leaders leadership leading leads learn learned learning least leave leaves leaving led left leftmost legal legally legitimate lend lending length lengthening lengthens lengths lengthy less lessened lesser let lets letter letters letting leveservations observe observed observer observing obsolete obtain obtained obtaining obtains obvious obviously occasion occasional occasionally occupancy occupations occupied occupies occupy occupying occur occurred occurrence occurrences occurring occurs october odd of off offer offered offering offerings offers office officer officers offices official officially officials often oil old older omission omitted on once one ones only onto open opened opening openings opens operable operate operated operates operessionalism professionally professionals professor professors profile profiles program programmed programmer programmers programming programs progress progresses prohibited prohibitively prohibits project projected projection projections projectors projects promotion promotional promotions prompt prompting promptly pronounced proof propagate propagated propagating propagation proper properly properties property proportion proportional proportionate proportions proposal proposals propose proposed proposes prl levels liability liable liason liberal liberalized librarian librarians libraries library lie lies life light lighting lights like likely likened likewise limit limitation limitations limited limiting limits line linear linearly lines link linkage linkages linked linking links list listed listing lists literal literally literature little live lived load loaded loading loads loan loaned loans local locally locate located locates locating location locations log logged logging logic logical long longer longeating operation operational operations operative operator operators opinion opinions opportunism opportunities opportunity opposite optical optically optimal optimality optimistic optimization optimum option options or oral orally order ordered ordering orderings orderly orders ordinary organization organizational organizations organize organized organizer organizing orientation oriented origin original originally originals originated originating originator orthogonal other others otherwise ought our ourselospects protect protected protecting protection protects proters prove proved proven proves provide provided provides providing proving provision provisional provisionally provisions public publication publications publicly publish published pulse pulses purchase purchased purchases purchasing pure purely purpose purposes pushed pushing put puts putting qualities quality quantities quantity quantization quarter quarterly question questionable questioning questionnaire questionnaires questions quick quickly quiet quite quote quoted quotes radio raise raised random randomly range ranged ranges ranging rank ranking rankings ranks rapid rapidly rare rarely rate rated rates rather rating ratings ratio rational ratios ray rays reach reached reaches reaching reaction reactions read readable reader readers readily reading readings reads ready real realistic realistically realities reality realization realize realized realizing really rear reason reasonable reasonably reasons reassigned reassignment receipts receive r sequential sequentially serial series serious seriously serve served serves service serviced services servicing serving set sets setting settings seven several severe shall shape share shared sharing sharp she sheet sheets shift shifting shifts ship shipped shipping ships shop shopping shops short shortage shortages shortened shortens shorter shortest shortly shot shots should show showed showing shown shows side sides sign signal signals signature signed significance significant significantly signing simihereof these they thick thickness thin thing things think thinking thinks third thirty this thoroughly those though thought three threshold thresholds through throughout thus tight time timed timely times timing tip tips title titles to today together toggled told tolerance tolerances tolerant tolerated toll tolls tone tones too took tool tools top topic topical topics tops total totally totals touch toward towards trace traced tracing tracings track tracks trade traditional traditionally traffic train traieceived receiver receivers receives receiving recent recently recognition recognize recognized recognizes recognizing recommend recommendation recommendations recommended recommending record recorded recorders recording recordings records recover recovered recovering recovers recovery rectangular recurring recursive recursively red reduce reduced reduces reducing reduction reductions refer reference referenced references referencing referral referred referring refers reflect reflected reflecting reflection lar similarity similarly simple simpler simplest simplicity simplified simplify simply simultaneous simultaneously since single sit site sits situation situations six sixth size sized sizes skill skilled skills slide slides sliding slight slightly slips slot slots slow slower slowly slows small smaller smallest snow so social societal society soft softest software sole solely solid solution solutions solve solved solving some someone something sometimes somewhat somewhere son soon sooner sophisticated sort ned trainee trainees training transaction transactions transcribe transcribed transcribes transcribing transcription transfer transferred transfers transform transformation transformations transformed transforming transistor transistors transit transition transitions transitory translate translated translation translations translator translators transmission transmit transmitted transmitter transmitting transport transportation transporting travel traveled travelers traveling traverse traversed traverses trreflections refused regard regarded regarding regardless region regional regionally regions register registered registers registration regression regular regularly regulated regulations reinforced reinforces reinforcing reject rejected rejecting rejection rejects relate related relates relating relation relations relationship relationships relative relatively relay relayed release released releases relevance relevant reliability reliable relief remain remainder remained remaining remains remarkable remarkabsorted sorter sorters sorting sorts sought sound sounds source sources space spaced spaces spacing spatial speaker speaking special specialist specialists specialization specialized specializing specially specialties specialty specific specifically specification specifications specifics specified specifies specify specifying spectrum speech speed spell spelling spells spend spent sphere spherical spirit spite splitting spoke sponsor sponsored sponsors spot spots spread spring square squares stability stabilaversing tray trays treasury treat treated treating treatment treats tree trees trial trials triangle triangles triangular tried triggered trip trivial trivially trouble troubles truck true truly try trying tube turn turned turning turns twelve twenty twice two type typed types typewriter typical typically typing typist typists ultimate ultimately unable unacceptable unacceptably unaffected unaltered unassigned unauthorized unavoidable unaware unchanged uncommon uncover uncovered undefined under undergradualy remarks remember remembered remembers remote remotely removal remove removed removes removing rent rental rentals renting repair repaired repairing repairs repeat repeated repeatedly repeater repeaters repeating repeats repetitions repetitive replace replaced replacement replaces replacing report reported reporters reporting reports represent representation representations representative representatives represented representing represents reproduce reproducing reproduction reputation request requested reize stable staff staffed staffing staffs stage stages stand standard standards standing stands start started starting starts state stated statement statements states static station stations statistic statistical statistically statisticians statistics status stay steady step steps still stimulate stimuli stimulus stop stopped stopping stops storage store stored stores storing straight straightforward strange strangers strategies strategy stream streams street streets strength strengthened stress strict stricte underlying understand understandable understanding understands understood undesirable undetected undivided undocumented unduly uneasy unequal unexpected unfamiliar unfortunate unfortunately unidirectionality unidirectionally uniform uniformity uniformly unimportant union unique unit united units unity universal universally universe universities university unknowingly unknown unless unlikely unlimited unnecessarily unnecessary unofficial unpublished unrealistic unrelated unreliable unresponsive unsatisfacquesting requests require required requirement requirements requires requiring requisite requisition requisitions research researcher researchers resemblance resemble resembles reserve reserved reset resetting resident resist resistance resisted resistivity resistor resistors resolution resolve resolved resource resources respect respected respective respectively respects respond respondent respondents response responses responsibilities responsibility responsible responsibly responsive rest resting restoretest strictly strikes striking string strings strong stronger strongly structural structurally structure structured structures structuring struggle student students studied studies study studying style subject subjected subjective subjects submit submitted submitting subordinate subroutine subroutines subsequent subsequently subset subsets substantial substantially substantive substitute substituted substituting substitution substrate succeed succeeding success successful successfully succession successive tory unspecified unstable unsupported until unused unusual unwanted unwilling unwise unwritten up update updated updates updating upon upper us usage use used useful usefulness useless user users uses using usual usually utilities utility utilization utilize utilized utilizing vacation vacations valid validate validated validating validation validity valuable value valued values van variability variable variables variance variances variation variations varied varies varieties variety various variously vary restored restoring restrict restricted restriction restrictions restrictive result resultant resulted resulting results retrieval retrieve retrieved return returned returning returns reveal revealed revealing reveals reverse review reviewed revised revision revisions reward rewarding rewards rewritten rich right rights rigid rigidly rise risk risks roads role roles room rooms root rooted roots rose rotate rotation rotations rough roughly round rounded rounding route routed routes routine routines routing rsuccessively such sudden suddenly suffer suffice sufficiency sufficient sufficiently suggest suggested suggesting suggestion suggestions suggestive suggests suitability suitable suitably suited sum summaries summarize summarized summarizes summary summing sums super superior supervise supervised supervises supervising supervision supervisor supervisors supervisory supplement supplementary supplied supplier suppliers supplies supply supplying support supported supporting supports suppose supposed supposedly varying vast vector vectors verbal verification verified verifiers verifies verify verifying version versions vertical vertically very via viability viable vice view viewed viewpoint views vis visible vision visit visited visiting visitor visitors visits visual vital vocational voice voids voltage voltages volume volumes wait waited waiting walk walking walks wall walls want wanted wanting wants war warn warned warning warnings warrant warranted warrants warranty was washington wastage waste wasted wastefuloutings row rows rule ruled rules run running runs sacrificing safe safely safety said salary sale saleable sales same sample samples sampling san satisfaction satisfactorily satisfactory satisfied satisfies satisfy satisfying save saved saving savings say saying says scalar scale scaled scaling scan scanned scanning scans schedule scheduled schedules scheduling schematically scheme schemes school schooled schools science sciences scientific scientifically scientist scientists scope score scorers scores scrsure surface surprised surprising surround surrounded surrounds survey surveyed surveyors surveys suspect suspected suspects switch switched switches switching symbol symbolically symbols symmetric symmetrically symmetry system systematic systematically systems table tables tabling take taken takes taking talk talked talker talkers talking talks tape tapes target task tasks tax taxed teach teacher teachers teaching teachings team teams technical technically technician technicians technique techniques techno wasting water wavelength way ways we weak weakest week weekly weeks weight weighted weighting weights welcome welcomes well went were western what whatever when whenever where whereas whereby wherein wherever whether which while white who whole whom whose why wide widely wider widespread width will willfully william willing willingly willingness wind window windows wire wired wires wiring wise wiser wish wishes wishful with withdraw withdrawal withdrawals within without witnessed witnesses women word wordieen screened screening sea search searched searches searching second secondary secondly seconds secret secretarial secretaries secretary secretive secrets section sectional sections secure securely security see seeing seek seeking seem seemed seems seen sees segment segmented segments seldom select selected selection selective selectively selects self sell selling sells semiconductor send sending sense sensitive sensitivity sent separate separated separately separates separation september sequence sequenceslogical technologically technologies technologist technologists technology teeth telecommunication telecommunications telephone telephones telephoning telephony tell tellers telling tells temp temperature temporarily temporary ten tend tended tendencies tendency tends term termed terminal terminals terminate terminated terminates terminating termination terms test tested testing tests texas text texts than that the their them themselves then theorem theoretical theoretically theory there thereby therefore tng words work workable worked worker workers working works workshop workshops world worlds worry worse worst worth worthy would write writer writers writes writing written wrong wrote year years yes yet yield yielded yields york you young your yours zero zeros zone zones ants:colony|hill apes:shrewdness asses:pace|bunch badgers:cete bass:shoal bears:sloth bees:swarm birds:dissimulation brats:passel candidates:slate caterpillars:army cats:clowder cattle:drove|herd chickens:peep|flock crows:murder curs:cowardice dogs:pack doves:dule ducks:[pad|ba]dling earthquakes:swarm eggs:clutch elephants:herd elk:gang ferrets:business finches:charm firemen:brigade fish:school foxes:skulk geese in flight:skein geese on water:gaggle goats:trip hawks:cast hens:brood herons:siege horses:haras@  p ! "  %ZRNeF Dw "" *"  & Ne 0"  ;"R"   Ne Y"  e"}"   " @55 5 5%"_  +5 N @ 5@N T "  5_65_6Nf@   @&  5 @  " \@ =5@&  5 & f v%Cock Robin:{the }sparrow sleep|Duncan:Macbeth {the }cat:curiosity|care {John {F{.} }}Kennedy|JFK:{Lee Harvey }Oswald|{the }FBI|{the }CIA {Lee Harvey }Oswald:{Jack }Ruby|{the }FBI|{the }CIA {Martin Luther }King:{James {Earl }}Ray|{the }FBI|{the }CIA [Bobby |Robert {F{.} }]Kennedy|RFK:{Sirhan }Sirhan|{the }FBI|{the }CIA Christ:{the }Romans|{Pontius }Pilate {Sharon }Tate:{Charles }Manson Charles Lindbergh Jr{.}:{Bruno }Hauptman{n} {Mr{.} }{{and }Mrs{.} }Borden|{her }parents:Lizzie{ Borden} {Prof{essor} }{James|team hounds:kennel jellyfish:smack kangaroos|monkeys:troop kittens:kindle lapwings:deceit larks:exaltation|bevy leopards:leap lions:pride locusts:plague magpies:tidings maidens|quail:bevy martens:richness men:band moles:labor monkeys|kangaroos:troop mountains:range mules:barren|baren nightingales:watch operating companies:at&t|bell system owls:parliament partridges|grouse:covey peacocks:ostentation pheasants:bouquet plovers:congregation ponies:string prisoners:gang pups:litter quail|maidens:bevy rabbits:ne@&  5 @  "  N N 5 N N @ 5 @ N @ 5 @  5   "  5        %@@E4P  ~ 7pf \ ^@"Ne@&  "  f \ ?N@& " @ Ne N @  " >@5Ne :@ }Moriarty:{Sherlock }Holmes Achilles:Paris Abel:Cain {the }nurses:{Richard }Speck {J{.} |Julius }Caesar:Brutus{ et al.} Pompeii:Vesuvius {Abraham |Abe }Lincoln:{John {Wilkes }}Booth {Yukio }Mishima:{Yukio }Mishima {Alexander }Hamilton:{Aaron }Burr Cleopatra:{the |an }asp [Ann Boleyn|Catharine Howard]:Henry{ VIII} vaudeville:{the }movies|film {the }movies|film:TV|television st ravens:unkindness rhinoceroses:crash roebucks:bevy rooks:building seals:pod sheep:flock ships:fleet snipe:walk|wisp sparrows:host squirrels:dray starlings:murmuration stars:constellation storks:mustering swallows:flight teal:spring toads:knot turkeys:rafter turtledoves:pitying whales:gam|pod witches:coven wolves:route woodcocks:fall woodpeckers:descent {wild }swine:sounder @EU4PNef& %@@EU4PNfe& %_6@E5@t] @t] _6w rDe f  % "e&  "  D%    # (ww N   #  v & & v% ww D 8 ̋ww fe %ww  f& % T  f& 2%e0 8 wtw bD̋@-wX w BDCԢӋw8 w " ?# # Ne4j & 6  w n%   % @ @m/ӕ.  R  @m& e @ D-wfw$@e7wfw7 f D& w }f@wwwf@fA w,w"e"w"ew"@lw"Alewy &@t`e @& HADCBF7Farg count /bin/cpcp  %ew %.CE D- T #     5#  "# 5!N fw fw  ## %)#@ wpw ^,BNe Ne #fefe %#fefe %#fefe %ʥ/ ʋҋ @aˋ %uu`5 @& B& v% fe,& %wfw,#w f@wx fww0#wXf@)wDfw\wX /usr/lib/tmg $1.t $1.s as - $1.s ld /usr/lib/tmga a.out /usr/lib/tmgb /usr/lib/tmgc -ls p & 6  w   % %  7.# "#& %7#(e04r# Bd!q!" 7#5t!"  7"%47 "--c%"t"      w! -r"    e70"@ 7(" &" "  h7"" w ' "'"#!'!7"7!! R˥ '!(!!!  !!' 2 !!  ww 6#wfw 7 ffww<#wf*wBJ f@wwB#wf@wwH#w~ fAW @w f(1(7 5 ewN# 5& w &L&H&D&@&<&8&4&0&,&(&$& &&|&v&p&j &d&^&Xf& f BRfwT#f D& w. }.de HD .if t .tl '\(rn''' .if t 'sp \\n(m1-1 .if n 'sp \\n(m1 .ps 10 .ft R .if e .1e .if o .1o .ps .ft 'sp \\n(m2 .if \\n(:n .nm 1 1 2 .ns .. .wh 0 HD .de FT 'sp \\n(m3 .ps 10 .ft R .if e .2e .if o .2o .ps .ft 'bp .. .wh -7 FT (1inch) .de m1 .nr m1 \\$1 .. .de m2 .nr m2 \\$1 .. .de m3 .nr m3 \\$1 .ch FT -\\n(m3-\\n(m4-2 .. .de m4 .nr m4 \\$1 .ch FT -\\n(m3-\\n(m4-2 .. .m1 3 .m2 2 .m3 2 .m4 3 .de he .de 1e .tl \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 \\.. .de 1o .tl \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\!!e!  r e( A! y  Ġ(ĥ Z!7R!wU?8! 4!?.! *! 70!!& ?! !7! N!& ? w V @ 7` - !  w8w & ĝ 7 ` ĥ e ! -x t -l h , ` ĥ e N !U2ĥ$8 tĥ0+ĥ9(e-  m 7 ğ ċ7  2ĥ\ &ĥ  w^ĥ$r#Ew 6 % >   wf@w\wXX#wf@fA w,2w",e"w""ew"@lw"Alew &@t`e w jwZwVwjLJw\w JBB BJw:w (BBdb@ BJwf@& HADCBF7F6rw6r@ !!!*!:!A!H!O!V!]!0 8 D P   ) vLvLLLLvLLLL$8 \\$9 \\.. .. .de fo .de 2e .tl \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 \\.. .de 2o .tl \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 \\.. .. .de eh .de 1e .tl \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 \\.. .. .de oh .de 1o .tl \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 \\.. .. .de ef .de 2e .tl \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 \\.. .. .de of .de 2o .tl \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 \\.. .. .he '''' .fo '''' .de bl .rs .sp \\$1 .. .de n1 .nm \\$1 1 2 .nr :n 0 .if \\n(.$% fe& T%%  r l@w eu-!@& Nf r w w  5 DD-Bp 7 y e  5 f ( 33 %&UaN&e 2 3  Nf ( jw w  DD-0 7L y e   f  2N&e ( 22 wl Nf  w J 5 @ȥ)U5 5 5 5 5 5 DD-_5 &();()^|LTXXN()<>&P2 @ HangupQuitIllegal instructionTrace/BPT trapIOT trapEMT trapFloating exceptionKilledBus errorMemory faultBad system callSig 14Sig 15Sig 16Sig 17Sig 18Sig 19/usr/adm/sha% # : cannot opensyntax error '" ;&<>()|^ "'Command line overflow Too many argsToo many characters;& <>([?*chdirchdir: bad directorychdir: arg countshiftshift: no args login/bin/loginlogin: cannot execute newgrp/bin/newgrpnewgrp: can .nr :n 1 .. .de n2 .nm \\$1 1 2 .. .if n .ll 60 .if n .lt 60 .if t .ll 6i .if t .lt 6i  7 y  |e5 e 5eD->U eD-*!& %< 5 5 @ @m !  Nf r 3sssw |@ @m Ne 5 u-@ `A Amp w Be  &  w w p !f @w^ w L @EwN w <  9@ 2 x @ ! (not execute wait:try again : cannot open: cannot create/dev/null/etc/globglob: cannot execute /usr/bin/: not found/bin/shNo shell! : too large : -- Core dumped**gok()  0+ %ew4@ & 6  Vw D 7 7  * 5D *   ZRERUL 8 P M%%@5%%   F%N$ F 5%8   %9%7  (  F 5 8 w*w rv 8 w w @  5 @ p- @ N F 5%ww  F5   @ @m@ & ( N F @ @m5 F FwFw 4N F@  w(f ,|P r l @f P  7 >  4,-&f   7  7 7 f@)wtf@wwX fAW @wv f 1 7j 5 ewV 5& w&NL&HH&BD&<@&6<&08&*4&$0&,&(&$&  &&        e    4% m e7 x mv e7x l f \ \ e5L P mH  8> @ * < , m2 e7,  7 N   fN $w w   = c @m5[5 @ @m  Cf %5  @m & % Am 1 #@ @m  @ @m !@ @m & %A Am  @ @m  D-w0 w   5}@p@p@w w t0 & 6  w l%e@ȥ- e@P7 y >   ew& " w2w. @  ( O%   4t4 t  5* %5  %t5%0%9%a%z%A%Z  7@~B~   :ww '_ "_~  pC7|7_}7 _77&33e%7^77 @7(7w77&&& &&&f& f@wvw, f@@& HADCBF7LFABDWSN\Go^LEM[_@CZ]UFVHJPKYRITOXQ 6Dbh~4FVf~.@Tlrxc (B | o < / - - \<-n | ) /| - `c o|' ` '` \ ' '  C ` ! @m5u-u-w  w 5 @ m~  -j @ md AH@5 wd w R  @& Z  @& Z  55 ? ? 5 _  %   m Hj  %   m H  m  $ v 5&f p 5%  mf  D 5   mB H  m.   5   m H -  m _  % 77 7t7 8 f p2e %~@72 8ĝ.%a(0 %WpCe  Z ww  55 N F 2AWp qu&55 AWp qAWp qWpCfAWp fe &e %5  5pC& e ww N& Z e%ww  7:7 5 Aq55@7d5 5&@pVp@@50 ;= 55 @@m / \u, \ - - /- , ( /u uO - - o ` ` ` o/o[]/- '' []- '` - " " [] [] - o | o ~ > - - t ~~ O-O=c , c ` c , <  0   m H -  0 0@ww  @ȥ- 5 F7  @&  ?N  @&  ?< H ? L @ mB 6 p au-_( @ m A m A H  u-@ m 5@ 5 @ m  u-@ m 5@ mHNffff P e@ 5u^@ m^A mTA H @ m@  %@ m& 5@ 5 @ m  %@ m 5@AHt %%e %5 @@mAHt %}ww  hw  mT AWp `@ҋ % -* w 7 pD777w77@ w f W57 7 5 r 57 5557 5557547   r      0! r C  &8 (%w7    ӕ- ӕ0B~h ӕ.  ӕ0~ B~7F <   ӕ-ӕArgentina:Buenos Aires Bahamas:Nassau Barbados:Bridgetown Bolivia:La Paz Bra[z|s]il:Brasilia Canada:Ottawa Chile:Santiago Colombia:Bogot['a|a'|a] Costa Rica:San Jose Cuba:Ha[v|b]ana Dominican Republic:Santo Domingo Ecuador:Quito El Salvador:San Salvador Guatemala:Guatemala Guyana:Georgetown Haiti:Port au Prince Honduras:Tegucigalpa Jamaica:Kingston Mexico:Mexico Nicaragua:Managua Panama:Panama Paraguay:Asunci['o|o'|o]n Peru:Lima Trinidad[ and Tobago|]:Port of Spain United States|US{A}:Washington Uruguay mHNffff P e@ 5% N&  P e ww u-u- cNf . u-a u- dc N f .  ff x eu-u-   f f x e u-   ww u-N  u-N  u-N  wpw ^u= @ @m&f %@ @m@ @mf ef %5N  5 @ @m .$ B~ӕe ӕ- ӕ+ r e0e0Sw ~wDe   % w7 l7 lׯb- Z X(wL7 N .wBeB J ӕ- R r f e0 @ > ҋ D~8 ӕ0 $f v Le0 9e F  7twe&  mX V ~    ~ w7 *  0   Wp `e0f ,P  :Montevideo Venezuela:Caracas u- u-ww ~wDe   % w7 7 ׯ-  (w|7 ~ .wre$B J ӕ- R r f e0 @ > ҋ D~8LP ӕ0 $f v Le0 9e  7we&  m  ~    ~ w7 Z P L0   8Wp `e0eӕ?f  ,P   @f @f  7  -fw JA 7 ^fAW,f B@ 8 @&61fA   @ @e7@ 1@  1w`f BRf@f =f 5= @& HADCBF7tFf5w * f5w }7 ldW&f! 7 L@% @@A&@!7> @L> Be0# @  7P T-f@w f@)wfwZJA 7 ZfAW,f B@ 8 @&61fA   @ @e7z1@` 1wfw\wXfwf@w@w<lwf,(wm"rwwmfwrwxw f@wwxwN f@ww~w*f@@& HADCB!є !    BA   W !e B@e0!m ` !eȐ9 ȕ0 !ȕ1  `0!!VV 7N"PP7 \EDE!wEBED5!5! w |W!w B w\    2wW! B  w B  wr H w\ 0 w\   BE7EUE@xU@p l "E UUN"p|v 2 bN: & 6 t w @ E57` B%b f e|-xtww p f  %w\w J D- w8@56t@m5)tBm@,","@5ruJt5u-Ӈ D-w @  5@t@m @mAWtAmH u- @ @mA AmH u-ww.w @   N @ WtF7FfA7z fA @e7t1@  1 @ Out of space Cannot open Arg count Jackpot * --- . . %d%d,%df& w ^  vv`D D`D e    incomplete line omitted d o x f$ e c s l2 rwww &w UBE? e"CE eL"@E xb5e55@eYL" H e" 5@> X"; Z"66  Z"^" `&e  Z"   Z"|evbww5Q$"  " f   EU P5   P"fPPQ7 5    5 C B A  `5n  5V  5D  eE p @ @ & w w f Z %p fN f} f    2B 6 0wf w T  t @m0  D-0C- -t@mWtAmp,t@mWtAmp,t @mt @m0 D-@ t@m0  C- & @m WtAmA Ht@mWtAmp,  @m WtAmH @m wd w R % @- e% f  B7 7 7 @&  @ "  "$ $5 $$ 5  5  "5@  wL   w>" "n (    5@^  @ B    & U0w"  w" www  7  a UW 8U" W 8E"fc     `  ""-lv a h h   "  "a  ! p  ""R B" W !W e UETR5  5  Uwp   " "   7 r@"r@"  e  JW!$"W!4" 5N7 Fe  , 04& f"    ""$ $$$"& N & N  N N S C B A  eW! "Շ w^ m  rf"5e        W!""P    0&"d& dN & dN dC N eN e-- fe  2    w))IyYhyiputcall kput obuild seekchar getchar outb outw outt cfile lfile flush iget sptr generate succ getnam"ignore.o Bd < 5w9)fn succ iget ignore"inc.o.o toct trswitch#trace"trans.o T 0 w)gsucc iget trans"tx.o.o l<  w)igenerate obuild .tx".txs"unary.o p0   N w succ .ng".nt".cm"f.oy.o 3|06 w)9.f"succ seekchar  Ehlptx|dpwZt`xDJanFebMarAprMayJunJulAugSepOctNovDec/usr/adm/wtmpNo %s %-8.8s%6.2f total%9.2f %s %2ddox0f>ecslLr> |  X^" ( DV,Z G$T w w w w) ) succ .u update .ia" .ib".da".db"infix.o L8T c  S  N C 6xw .p sprv .a".s" .o".n".x"*lvrv.o W\$ww)).lv".rv"succ getword putoct.o |x"$&E@  e0  putch obuild putoct"arith.o td L ) >%% 6!w &&-  %w)9Y succ fail iget seekchar getword alterwor sprv"Pupdate",.l"".u".p"    mult.o \6< 6pv  r6  rvwIII9.m".q".r"".p sprv octal.o a `  w w)9iIYiputcall iget kput putoct generate succ octal"params.o fH  A1`w(8Ifiget env si .t".st"ctest.o "` & 7 9(Yfj classtab jget ctest"putcstr succ ctestc"cstr.o  7 w7 ~v rW 1 &\4 wN D >w 8 0W @  ~wv )y9Ymend.o . end"any.o lf w w8yi8YIifx j succ fail ctest iget any"append.o t0 &  w) succ putcstr iget append"bundle.o $`  @@e wI(9Yfgg1 succ params"push.oo l($ f && f   succ iget push"putcal.o q<` TA 1W 7translation overflow(((HX9fgk errcom ktab ktat putcall"kput" putdec.o vD$  &-  vr f @e0w<wIi)jget iget succ create rewind putchar getchar allocate smark"rewcstr" putcstr"getcstr"Lsize"~cstrwcstrrcstrtcstrbsympjget.o RT\ XA@E@7  D7` 0` @` p= W  9(Hfj n inputpbundle iget succ bundle"reduce"char.oo `  w&  w9yI(ifij jget iget char"succ fail copy.oo x`W B e 2 7translation overflow2E w wi8HXH8yfix k-32768  putch obuild putdec"px.ot.o 0N  >ff& > w5 %wI8(Y(8y8(8ifij n iget jget succ fail .px".pxs"litcLreln.oo <Zx -# - - -  classtab jget"jgetc\inptinpr$readc^inpb` ktab ktat putcall obuild errcom succ generate rewcstr getcstr scopy"decmal.o  `  w w)9iIYiputcall iget kput putdec generate succ decimal"discd.o $\0  w) 9release discard"iget succ emit.o )F`fe#W8@!q # u -  -w6 w .p sprv .eq".ne" .lt".le"$.gt"0.ge"<trueHfalseRshift.o d0  vvw .p sprv .sr".sl"stack.o |nw W8  Ae@fD W4P w8& #  w~6 & 6  w %U7 >  7D7> 727,5 /r& %!         %CF` % )%&@   p@ @m& $ @ @m  1%  j b% % @ @m   * ~ %vzz % u-_&%         ww  f  %ww @5 wX)9hhhIfgofile dogen succ g1 k emit"find.o 8P&  w& && ee 6e  &   *  ew |6 r n j b6 V R N F  >ew2 Yi(8 9ixI9iiYfigsucc pbundle goto iget g1 stack"unstack" gotab"Laccept" string.o T N& wY(I(9fij succ ctest iget string"table.o &H f w ~wDe   % w7 n7 nׯd- \ Z(wN7 P .wDe"B J ӕ- R r f e0 @ > ҋ D~8JN ӕ0 $f v Le0 9e  7vwe&  mZ X ~    ~ w7 , " 0   Wp `e0eӕ?f ,P   @f  7p Y iIilptr rptr sptr succ fail iget find"enter"seekchar getword getchar putword putchar alterwor getcstr rewcstr length rewind indextableptempwhichframelright left(nomorelfoundgetnam.o =j!   w)9Iallocate putword putchar iget succ table"tq.o.o ,@AuuA Ce5 wA 1`wh88X(Hhx8hfiek ep ek.fs ep.fs si x fs generate .tq"gpar"0gq"trace.o x<   )iputch puR-f@w fw,XJA 7 @fAW,f B@ 8 @&61fA   @ @e71@^ 1wf@wwdwf@wpwljwf@f& CB  ԕ-   e0fv   vA W  ~w @BB BJw0w BBdb@ BJw@& HADCBF7F: cannot open %7s %7s %s %7s %7s total bdoxfecsnlr&w & 7:< A A_p_@5@ 5P`5 @ 5a @ af f 5@ ; 1l__@ 5_ @ af f 5@ ; 1l__; pa;A - 9@ _@ P`Nm X@A @a  NA - @ a@m  *@ _@ P`Nm @A @a  NA - @ A @a   3NN@ lP` @ a@m  *NB - @A @a  NN@ lP` X /V: AAm -%w w  NG - RJ@ a NG - @ D7+G - J G -+ 0 P`+ _+ Ia 8@ IfG -%wjw X@ @A p\ @'NG - @ 5 @ \G - -?@ \G - ? ?p\ww G@ 5\5 u n? @ \G - @ \e5`-D?_| 55@@m55 .@ \ _@ \ P`f f 5@ \ P`f f 5@&),/25!$'*-036"%(+.1478;>ADGJM9<?BEHKN:=pP` N>: a4: &P`*: &_fff:B -eN  N  N w#w #  79@ 5_9 A AP`upP`NN f f 59 A p_~9 p-_p9 P`f96B - |f  N>B - |f   / 9 A Aa  ` pa xMNf8 &af8 &P`8 &_DB -e N w~"w l" N X5 N / *  u-N X w."w " 5@A7e5` u- > NffG -e@@m55 @ \ pP`@ \ AAmp_@e5` u- u-u5 5 -@ \Nm f @ \@m &\ H%@ @al)$f) 5la @e5` u- 7>) A$ p__,) A$ pP`P`) A Am epa =( a( &P`( &_ff(G -e (%H - 5 @ @-6HN@ @a&$.H -%@ @a$  u-7H -wW &  %7 B <AZW - AA& A  nA  8<'TALA&L :A2A&C$AA&RAA&-;R' ;@7B'7 <'@@& @@& @@& _B @ 0_ b;@&L H%p@7F;_ >;^@&C,;L@&R;:@&- ;&@@&@&fW -e@ ?? lapa@ 5_@ 5P`@ 5_@ 5P`NFV@ -% 5@@ 5@-uN XNd@ - N N f f E 1P`NN & f @m4E pP`@ 5@mAA@ @@@5N Nj@ - N XNNm f f "E 1_ / Y! E aE &_D &P`@ &fffDp@ -eN N w.w n. wDt 7D@ P`@ &P` f 5@ _@ P`@ &_@ P` f @m paa_NB - @ P` X@ a l@ P` w w55B - N %N %N *%N XNB - %@5 1P` %@t5 1`P` Id5 P`Z5 &_fffB -e ww  p7(5 0 P`5 _%quR%~FJ%^FB% F:Cf ' 5 5C+ 7O7ONf  %O N F %vO@m lO5`O04c4cN >V4 1a H&?& _" ??&?& _" ??&?& \_" ? ?&?& %7 %_  n?& d?& _" T?L?& _B >&>>& _B > 7%_ H%_ B%_ N$_ D$_ T$_ U$_ x>{$_ }$_ 69 09P>p\_ 9 98>p\_  _ >q _B >c=5BD 1_8D pP`,D A AaB lapa XD affffC@ -e NfC@ -eN N w~-w l-wCwp-w ^- 55%0%9 AWp Ameu@@m 5 W Nf@ -%@w-w ,w2Cw,w ,w$C WC@ - w,w , D7B@ 5_B A p_@ 5B A pP`P`B A Aaepa &WB aB &_B &P`fBA -e pB)A -  * F4 a<4 &_24 &P`f$4f+F -e N 4PF -%ww 5 ! %%%\\%\e%  @ 5@w`w N@C7J/ y@mnNȥ=bNp4c XNTN4c JNFN_4c 2 >K2 27g2 @ 2 p x27>%  :d2 t> :-::7 N2 !8 N0: : m:& x0 78: m:1[ %w w  5% % 7#W71 yKHE*B+?7 B&%\ 5%"vB\jf lBhBpjf ^B%XB jfE[ % 5%"2B0jfjfl"-P= w Njf | / u- @ a l@ a *N XN4A - N w+w + ,7A%- 5@@5 5@@m 5 555u@ \ 5l_@ \ af f 5 u-XA A upAmp_@A pa@ 5@ \ _@m5` u-A C r A A\ AP`AmAA pP` JU2N@;A -%u @ \PA - u-@ a@ &P`x@ &_VA -eb@gA - T@ P` 2M &M$M"Me &M &F -eF - L  / /  wL /%   /%  \dF - d 5HH.@N-L Lw J 5= % @-XL@-NL = @ww .%d 5%  dF &  %0 <A Aa1d@ @a&F -% \ @ K  @ @aKd 5-K A Aa1d@ @a&F -%5 @ @aF - @ @a& \bjf ' 5#% 1 1e[ % 00 A pbh0 0g0_%Ujf ' 5@ %dV @_%@ %dV d_%@ %dV _%@ %dV _%@ dVw & 7 &AM M I{E}A"=~9^5@-<0\ 5%"@@mȕ\ @@@mH @%@ N|[ % 5 {}"~ ^  @-|;@7`/@m8@wt w6 w $      @m`@X%R>@ a @ 5u-_` @ \ 5_@ \ 5P`@@77 yN @ \qA - @ \ a *NNNm wA - N @ \ a *@ \zA - NNNm AN F? aA A\ @a  @ \A - ? aA A\ @la  *NNNm A> _> P`Nm X%R> a  /u @ \  u-wD(w 2( 7l>@ 5_@ 5P`@ 5  u- / ww  DNF - @ 7_J@ 7P`JwJww  @w@ w u-@w@w r  A@]] @ %dNG %w@w .@0]w0w  wFwF F;F-5pF7l- ypF7J`F7I NFeJFvCE-F-R-B-S - F d07D  F& x0 7C @G %7 H d07OEEwBw 0w:w (7 B Cw*w  'G -tO /` @` w  @m w  5% % %  5 5@-'@@mH }% % @@mH 5% @@m@wJ w 8  |5% % jf & \bjf ' 5'7B> b - 3 * \b[ - jf ( 5 @jf, 9 95  @jf - 1\b5  \b@mAHjf N - 1b5   b@mAHjf 2f b\ &\b[ -%_@ 5P`@ 5_@ 5P`@ @m@5@@m@-@@5@ 5@mAA@ @@@5NNN& f &f & %e@m= 1_NNN& f @mx= 1P`@ a@ &a f A @laJ= 1aN<=A -%N XNA - @ a *NNm NA - N X@ A p,aa @ a@ a  / 2QNff<A -e Q< a< &P`x< &_A -eN N N wlOdO 7G -Nf - dEbEZE m\E&EG -e /wO  1ww  ,+N L5+ /N /@  wdw R ++N L5+ /+ /@  ww  r+n+5N L5N /@  ww  0+,+5N L5N /@  ww _ /@  wzw h @ 7aJ 7,hG - , |,  JapP`f, _ @ JfrGww  7$978 jf ( V<79O<7 9%o9%f%O8 %F8 7878ww  5% % jf & jf 7 787wxw f 7% %  7z87wRw @47 007 07 0@e5"h7 0 0R0[ -ee0e6,60 Q eH5@5eE5@t _:, x[ b0  `0  7V0[ - F0 7<060@-ew 00 0 0 0N\ - @ R 5@ R 7557JN @ 4R T eS5 e}/@7/_* w/  x[ n/\ b/-@ Q eH5%'e@t% "/ @f\ -%$5@e@-͆@E7._* ..I\ - .._+f&UT/UP/De D/.E 6/' 0/$ 0 7 00 0!  " # $ + - , * . % ' & ( )     " % & ' ( ) * , *E *F *G *H !  " # $ + - , * .   % ' & ( )     " % & ' ( ) * , "0*N P Q R S D0E0F0?0@0B0A0P Q R S *V K0L0M0N0O0P0Q0R0S0T0 0: ; !2 #9 $8 .? /A 0< 1@ 2= 3> 000&0H0I06070001020pilecpilerpileoversqrtabovesizefontromanitalicboldleftrightdelimDELIMDEFINEdefine.gsize.GSIZEgsizeGSIZEgfontGFONTHATDOTDOTDOTBARTILDEUNDERPRODINTINTEGRALUNIONINTERSUMFROMTOSUPSUPERSUBPILELPILECPILERPILEOVERSQRTABOVESIZEFONTROMANITALICBOLDLEFTRIGHTupUPdownDOWNfwdFWDbackBACKmarkMARKlineupLINEUPmatrixlcolccolrcolcolcan't open file %s quoted string %.20s... too longdefinitions nested > 9token %.20s... too long. define %s . name %s defin~w`;DeV;  P; % /w7 <;7 <;ׯ2;- *; (;(w;7 ; .w;er\B J ӕ- R r f e0 @ >: ҋ D~8\\ :ӕ0 $f v Le0 9eh:b: Z:T: 7D:we&  m(: &: /~  /  /~ w7 9 9 90   9Wp `e0eӕ?f9 ,9P 9 9 @f 9 fi7,x9 \304050.? /A 0< 1@ 2= 3> 0.? /A 0< 1@ 2= 3> 0#9 $8 .? /A 0< 1@ 2= 3> 0!  " # $ + - , * .   % ' & ( )     " % & ' ( ) * , !  " # $ + - , * . 0 1 % ' & ( )     " % & ' ( ) * , -g <0: ; !2 #9 $8 .? /A 0< 1@ 2= 3> '0: ; !2 #9 $8 .? /A 0< 1@ 2= 3> (0: ; !2 #9 $8 .? /A 0< 1@ 2= 3> )0: ; !2 #9 $8 .? /A 0< 1@ 2= 3ed as %s N,Z,Z,,>,T+++8,state %d, value %d, char %d character %d read reduce %d syntax errorerror recovery pops state %d, uncovers %d error recovery discards char %d l\j\l\l\`.d.o.x.f/e.c.sl.l/rfik0fin9f9-`9X9f f-~]`-X-~]  7H- D- @-7 9 7 0-f@w f@)wfw(,w$,\wf,,wm ,\wb+wm+fw+\w@w+ fAW @w+ ffk1fk7+ 5 e61w+\ 5& w&*:L&$:H&:D&:@&:<& :8&:4&:0&9,&9(&9$&9 &9&9&9&9&9 &9&9&9f& f> *0 n o p q C0U0V0W0X0G08090!  " # $ + - , * . 0 1 % ' & ( )     " % & ' ( ) * +r , ,0-0.0/0#9 $8 .? /A 0< 1@ 2= 3> 0#9 $8 .? /A 0< 1@ 2= 3> 0#9 $8 .? /A 0< 1@ 2= 3> 0: ; !2 #9 $8 .? /A 0< 1@ 2= 3> $0: ; !2 #9 $8 .? /A 0< 1@ 2= 3> %0w +v !  " # $ + - , * . 0 1 % ' & ( )     " % & ' ( ) * , =0w +x w +y F2 & 6  w $Ne  @E%  7(@& r  1FNe@&  @E%  e@ %    x& %  wJ2xx % w  V @55 &5 @@@-NNNfex@ &F % -umu-wfww\wf@wbw f@wwfwlfwwlwN @@& HADCBF7:7F-CLRV. b:bob: S%d <- S%d over S%d; b=%d,h=%d,w=%d .ds %d \*(%d\*(%d.ds %d "\*(%d\*(%d\*(%d. b:b shift b: S%d <- S%d vert %d S%d vert %d; b=%d,h=%d,w=%d . e:eb: S%d <- S%d S%d; b=%d,h=%d,w=%d .ds %d \*(%d\*(%d . numb: %s %d . shift: %d . sqrt: S%d <- S%d;b=%d,h=%d,w=%d .ds %d \e|\*(%d . S%d <- %c pile of: S%d;h=%d b=%d,w=%d .ds %d \ \*(%d\ \*(%d\ \*(%d\ .ds %d \*(%d\*(%d\*(%d. shift2 s%w +z !0P Q R S +| n o p q +~ 0* * * * 0000J000000:0;0 0+0#9 $8 .? /A 0< 1@ 2= 3> 0: ; !2 #9 $8 .? /A 0< 1@ 2= 3> #0!  " # $ + - , * . 0 1 % ' & ( )     " % & ' ( ) * , >0w + w + w + w + 0000>A|}!"#$%&'(3456789:;<=>UVWXYZ[\]^_`abo|3f@wvwrrw*f@@& HADCBF7<Fd <- %d %d %d h=%d,b=%d,w=%d BDHNTU6*h.ds %d \*(%d\*(%d\*(%d. from to: S%d <- %d f %d t %d; h=%d b=%d,w=%d .ds %d \*(%d. curly: h=%d b=%d n=%d w=%d l=%c,r=%c .ds %d ^ .ds %d ~ .ds %d .ds %d ...ds %d .ds %d .ds %d \*(%d\*(%d. %c diacrit: S%d <- %d; h=%d,b=%d,w=%d .ds %d \*(%d . move %d dir %d amt %d; h=%d b=%d D DDDDDD#D)D/D5D8D;DADFDLDRDXD`DfDlDsDwD}DDDDDDDDDDDDDDDDDDDDDDDDEE EEEE E(E/E6E:E>EBEFEJEPEVEXEZE^EbEfEjEnEsEwE{EEEEEJajklmnopqrTY^cdoz{~    IWwILOPSVY\_beQTWZ]`cfRUX[^adghknqtwz}ilorux{EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE<=>\ >=<=!=+-==cdotCDOTtimesTIMESSIGMApiPIalphabetagammaGAMMAdeltaepsilonomegaDELTALAMBDAPHIOMEGAlambdamunuthetarhosigmatauphiINFINFINITYinfinfinitypartialPARTIALzetaetaiotakappaxiomicronupsilonchipsiTHETAXIUPSILONPSIdelDELnothingNOTHINGapproxAPPROX>_<_/=+_=_8.98.9xxRJPAB\eGDSCWEFZLM@TKYIb/BC DJKLM2\3]4^5_6`I/W/b/tu/hh}ijFcGdHeaklms]t4 3f5_u67TU*X+Y,Z-[g{O 579=?OQSUW[]_acegikmoquwy{}5WWWWWWWWWWWWWWWWWWWWWXX XXXX#X*X0X6X+D;62(!1 -:".?:H5&  * $ <6:(E    -3$ =8 K  8-  G55K.'E IF%  ) >'  $#Uoooo]]QNikXouXVOXUH[[~=~=~\tconverted token %.20s... too long. %ctext: S%d <- %s; b=%d,h=%d,w=%d .ds %d "%s 8998~dfs22> I.tr ~ %s.ne %d .rs 'sp %d \*(%d 'sp %d .EN%smissing right delim (?) at %.20s.ds %d "%s .ds %d "%s\*(%d. answer <- S%d no strings leftcan't open file %sNEQN ERROR HEREfatal error: file %s, between lines %d and %d .ds %d " . mark %d as %d .ds %d "\*(%d .ds %d " . lineup %d at %d SYYY]YaYeYjYmYqYuY|YYYYYYYYYYYYYYYYYYYYYYYYZ ZZZ Z&Z,Z2Z8Z(-B    ,I 0,"/ *$4. %c column of S%d, rows=%d \ \ . colct=%d . row %d: b=%d, hb=%d . matrix S%d: r=%d, c=%d, h=%d, b=%d, w=%d .ds %d "\*(%d%s  & , F \ j n |   !!.!F!V!z!!!!!$" D"j"n"""""""####(#2#<#F#P#Z#  d#n#d#x# ##      ## ####$$$$"$($  .$8$ !  " # $ + - , * .   % ' & ( )     " % & ' ( ) * , 0@!  " # $ + - , * . 0 1 % ' & NTABUPDOWNBACKFWDMATRIXLCOLCCOLRCOLCOLMARKLINEUPSUMINTPRODUNIONINTERLPILEPILECPILERPILEABOVEDEFINEDELIMGSIZEGFONTFROMTOOVERSQRTSUPERSUBSIZEFONTROMANITALICBOLDMQMQ1LEFTRIGHTDOTDOTDOTHATTILDEBARUNDER$acceptstuffeqnboxmatrixcollistcolumnlcollistccolrcolcolsboxsupersizefontlpilecpilerpilepilesubleftrightpboxfromtodiacritfwdupbackdowntextsupsupersub.ENsumfromtohatdotdotdotbartildeunderprodintintegralunioninterpilel75L 5 4'U;3 *;)G3K.S /( "-+7    K     ;,      .      %  2 -  8                        #        1        -2       5                               ;    '   -   !            @  >                1  %         &B      7         z40  & 6  w Ke'@ȥ-e@ȥl N@ȥa M@ȥv Mu e% f  5 N  Mf %%"M%M % M N MhMLmL7ZM%L NM HMef %   5 Mf J Nf %Nf %dNf %pL L Wp@7LLWpN2Ef %`L E7VLPL E7FLLN 7 @L;7 *LI         # L1M L% LK]LL%"!K E7K2LK7 K$LmKKHM K%KeL K L L K N XKeK2EKWpe2EA-(K-KK@eKA @ KAp~KApeefK&K e KKw K7 KN 7 J_8JJI 7J J_47J7J JH7J7J7J7J7J7J7J7JwJwJ7J7JxJ AwJ7pJ7 bJ=\JWp-^J 9LJWp-LJ+C ҋ D~8jn Bӕ0 $f v Le0 9eBB F BB 7Bwe&  mB B          n ~  n   n ~ w7 ZB PB LB0   8BWp `e0f@wrw` fwvJA 7 AfAW,f B@ 8 @&61fA   @ @e7 1@| 1wfwj wf wfwR AQ  OfA  ^ y   F y @0fA  @9 fA @e&7 w 7 @w7 x@      jmpsvy|w w l@wh@AupNNmf  ww @@@@5 _p fA rBpEu@@`55DCN& t f& ?%5 2`D--`f t $`f& %`Df ?%5 D-& t C-D-%@@AA@ Nf`  u_*Nf  @`5_*f %Cw@w . >DCԒ ww >DCB5ҒS wf@w w wf@w w w f@f&xNCB  ԕ- xN e0fv   vA W  ~f =f 5= @& HADCBF7=Ff5w * f5w }7 ==W&fN 7 =@% v=@A&@N7R @L> Be0# @Nє N    BA   W Ne B@e0Nm <` NeȐ9 ȕ0 Nȕ1 <x & 6  |w   Fww@7,@&   t@77 @ @m %  | J5  |w-   |Nff eww  H5 F5&  ^ f %w @w  H5 5&   f %w P@w d   |  5&  &V %w(  w   78  6 -f   7 ߬ 7 7 f@w fww p<wfw7^ fwxwtBwf@w\wXHwlf@w@w<NwJ fw&w"Tw* f BRf "& w }f@fA w,w"e"w"ew"@lw"Alew &@t`e  <`0NNVV <<7<NPP7  O; O66  O:O `&e  O   O:e:bww5Q$N N f   EU P5:   PNfPPQ7 95    5 C B A  `59  59  5z9  eEN  "$ $5>9 $$ 59  59  N5@8  wL5 @f_VEf d@b`c  5 f_VKf \ 5Q &  f_VSf  5W |&  f,_VNfY % |w w WpqrWpqtWpqvWp er@w w -pw | vmvw w^ Tq   @aȥ/@a 7, @aȋf@    tw w* w  @&@ t read %s ...--%s ~doxfecsl,r  %ew   w>N N8 (    5@8  v8 B    \8 Uf8wN H8 wN 48w88w08w  7 8 8a 7U88W 8UN W 8ENfc     ` NN-77 a h h   N Na  ! p NNR BN :7W !W e UETR57  57  U6wp   NN @&@ w w @&@ @&@ w w @&@  w w p @> wh w V .y  wN w < @@&,WpWtf %w w @@&WpWtf %w w @@&& %w w @p  w w @@&t& %w w v ĝcu\tEQ@@&& %wP w > @%-5 AA @@EA@, w   7 6r@Nr@N  e  JW!NW!N 567 |6e  , f6j6\6 fN    NN$ $$$N& N & N  N N S C B A  eW!NՇ w^ m55 5 rfN55e        W!NNP    0&Nd& dN & dN dC N eN e-J5T5@585u>(\EEa.outCan't find %s Bad format: %s mon.outNo mon.out No symbols: %s No time accumulated w EA@, w w @ w w 5 @ m&} % 5%y 5  @ wn w X +u-  AWpA-w< -u-w  p 55%f &f @ @a @ @ap@ m 5@ @a0  w D Ne \ANfef %5  @@mp @@m5@@m0 Nfefe %Nfef %.nr DO \n(.o .nr tm 0 . RT - reset everything to normal state .de RT .if !\\n(1T .BG .if !\\n(IK .di .ce 0 .ul 0 .if \\n(IP .in -\\n(IQn .if !\\n(IP .nr IQ 5 .if \\n(IP .nr IP -1 .ft R .if t .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n .if n .ta 6 11 16 21 26 31 36 41 46 61 56 61 66 71 76 81 .ps \\n(PS .vs \\n(VSp .fi .. . IZ - initialization .de IZ .br .if n .nr y 0-6 .if t .nr y -1i .nr x 0 1 .nr IP 0 .nr IQ 5 .nr PS 10 .nr VS 12 .ps \\n(PS .vs \\n(VSp .nr TB 0 .if t .CM .if t .nr L/dev/vt0Cannot open vt name %%time #call ms/call %8.8s%6.1f%6s %7.2f  dn oh x f eF cT s$ l r> $$$$$$ $$Df`V$$h2Nzf(4DTd |  w    7 5F @e5@ ȋ6 =%:=Nfe  5%:@e5 =%:=Ne 5 l76 @w0w DC ԋ w ̢̢w f & N  _ ff % E%@_  5 _ @@%@@5 f  5N  ff %Nfef % NN l _ t@a hL 6i .if n .nr LL 60 .ll \\n(LLu .nr LT \\n(.l .lt \\n(LTu .if n .tc ~ .if n .tr ~ .if n .ds CH "- % - .if t .ds CH "\(en % \(en .ds Ch \\*(CH .if n .ds CF "\\*(DY .wh 0 NP .if t .wh -1i FO .if n .wh -6 FO .if n .wh -3 BT .if t .wh -.5i BT .if t .nr EP 10.i .if n .nr EP 60 .. .de TM .pi /usr/bin/col .nr ST 1 .ds MN \\$1 .nr MM \\n(.$ .nr tm 1 .if \\n(.$-1 .ds CA \\$2 .if \\n(.$-2 .ds CC \\$3 .rm RP .rm S0 .rm S2 .rm AX .. .de RP .nr ST 2 .rm SG .rm CS .rm TM .. . TL - title and initialization .de TL .nr TVl  disk offset J7N tape offset 076 count  T      0 Wp `@ illegal digit lr-l  P eP5Ћ 4R`ȋ  `e `R7    0 rf rv@>1ɋt&Nae Zt&Nae Lt@a%K  @`A`pr@`/q@a/r  %  @a WtAa`pr@`0rN f@&fer e N  @t!eu-_Z ww .. wNf w C@57^ y 2x78 y , N f w@    A @@P5  D   Nf   w Nf 1 .di WT .na .fi .if n .ll 50 .if n .if \\n(tm .ll 30 .if t .ll 5.0i .if t .if \\n(tm .ll 3.5i .ft B .if !\\n(tm .ps 12 .. .de TX .rs .if t .sp .5i .if n .sp 3 .ce 1000 .if n .ul 1000 .ps 12 .ft B .vs 15p .ne 4 .WT .. . AU - author(s) .de AU .nr AV 1 .ad .br .di .br .nf .nr NA +1 .ds R\\n(NA \\$1 .ds E\\n(NA \\$2 .di A\\n(NA .ll \\n(LLu .if !\\n(tm .ft I .if \\n(tm .ft B .if \\n(tm .if n .ll 16 .if \\n(tm .if t .ll 1.4i .ps 10 .. .de AX .ft R .rs .ce 1000 .if n .ul 0 .ps 10 .vs 12p .if n .sp 2 .if t .sp .  ww ~w De   % w7 7 ׯ - (w 7  .w eB J ӕ- R r f e0 @ >T  ҋ D~8.2 2 ӕ0 $f v Le0 9e    7 we&  m   ~    ~ w7  0   n Wp `e0eӕ?fV  ,L P B <  @f A1 .if n .sp .if t .sp 0.5 .I1 .if \\n(NA-1 .if n .sp 2 .if \\n(NA-1 .if t .sp .A2 .if \\n(NA-1 .if n .sp .if \\n(NA-1 .if t .sp 0.5 .I2 .if \\n(NA-2 .if t .sp .if \\n(NA-2 .if n .sp 2 .A3 .if \\n(NA-2 .if t .sp 0.5 .if \\n(NA-2 .if n .sp .I3 .if \\n(NA-3 .if t .sp .if \\n(NA-3 .if n .sp 2 .A4 .if \\n(NA-3 .if t .sp 0.5 .if \\n(NA-3 .if n .sp .I4 .if \\n(NA-4 .if t .sp .if \\n(NA-4 .if n .sp 2 .A5 .if \\n(NA-4 .if n .sp .if \\n(NA-4 .if t .sp 0.5 .I5 .. . AI - authors institution .de AI .br .ft R .di .di I\\n(NA .nf .. . AB - begin an abstract .de AB .br .di .ll \\n(LTu .nr 1T 1 .nr IK 1 .di WB .rs .ce 1 .if t .ft I .if n .ul .ll \\n(LTu ABSTRACT .sp .fi .if t .ft R .nr oi \\n(.i .if n .in +\\n(.l/12 .if t .in +\\n(.lu/12u .if t .ll -\\n(.lu/12u .if n .ll -\\n(.l/12 .br .ps \\n(PS .if t .ti +5n .if n .ti +5 .. . AE - end of an abstract .de AE .br .di .ll \\n(LLu .nr 1T 0 .nr IK 0 .if n .in \\n(oi .if t .in \\n(oiu .di .ce 0 .if \\n(ST-1 .SY .rm SY .. . OK - "other keywords" for cover sheet. .de OK .br .di .dt. .de DS .KS .\\$1D .. .de CD .ce 1000 .nf .nr oi \\n(.i .if t .sp 0.5 .if n .sp 1 .. .de D .ID .. .de ID .nf .nr oi \\n(.i .if t .sp 0.5 .if n .sp 1 .if t .in +0.5i .if n .in +8 .. .de LD .nf .nr oi \\n(.i .if t .sp 0.5 .if n .sp 1 .. . DE - display end .de DE .ce 0 .if n .in \\n(oi .if t .in \\n(oiu .KE .if t .sp 0.5 .if n .sp 1 .fi .. . KS keep - for keep release features. As in IBM .de KS .if !\\n(IK .KQ .nr IK +1 .. . KQ - real keep processor .de KQ .br .di KK .nr TB 0 .. . KF - floating keep .de KF .n .ta \\n(IQ+1 .if t .ta \\n(IQn .ti -\\n(IQn \\$1\t\c .. . RS - prepare for double indenting .de RS .in +\\n(IQn .nr IP +1 .. . RE - retreat to the left .de RE .br .in -\\n(IQn .. . CM - cut mark .de CM .po 0 .tl '-''' .po .. . B - bold font .de B .ft B .if n .ul 1000 .. . R - Roman font .de R .ft R .if n .ul 0 .. . I - italic font .de I .ft I .if n .ul 1000 .. . TA - tabs set in ens or chars .de TA .ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n .. . SM - make smaller size .de SM .ps -2 .. . LG i OD .nf .ft B .. . CS - spew out cover sheet .de CS .br .di .if t .pl 15i .tr ~ .if n .sp 6 .if t .po 0.5i .if t .sp .5i .if t .lg .if t .ll 7.0i .nf \s24\(bs\s12\fB Bell Laboratories \s16\fRCover Sheet for Technical Memorandum .sp .if t \s6\l'7i' .fi .ps 9 .ft I .if t .sp 2p The information contained herein is for the use of employees of Bell Laboratories and is not for publication. (See GEI 13.9-3)\p .ft R .nf .if t \s6\l'7i' .sp .if t .ll 6.0i .if n .ll 30 .if t .po 1.0i .ps 9 .if t .ta if !\\n(IK .FQ .nr IK +1 .. . FQ real floating keep processor .de FQ .br .di KK .nr TB 1 .. . KE release - everything between keep and release is together .de KE .if \\n(IK .if !\\n(IK-1 .RQ .if \\n(IK .nr IK -1 .. . RQ real release .de RQ .br .di .if \\n(dn+\\n(nl-\\n(EP .if !\\n(TB .sp 200 .if !\\n(dn+\\n(nl-\\n(EP .if \\n(TB .nr TB 0 .nf .in 0 .if !\\n(TB .KK .in .fi .. . EQ default equation breakout .de EQ .if t .sp .5 .if n .sp .ce .ne 2 .ds EL \\$1 .if \\n(.$-1 .ds EL \\$2 .nr LE \\n(.$ .@\\$1 .. . Th- make larger size .de LG .ps +2 .. . NL - return to normal size .de NL .ps \\n(PS .. . DA - force date; ND - no date or new date. .de DA .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4 .ds CF \\*(DY .. .de ND .ds DY \\$1 \\$2 \\$3 \\$4 .rm CF .. .if \n(mo-0 .ds mo January .if \n(mo-1 .ds mo February .if \n(mo-2 .ds mo March .if \n(mo-3 .ds mo April .if \n(mo-4 .ds mo May .if \n(mo-5 .ds mo June .if \n(mo-6 .ds mo July .if \n(mo-7 .ds mo August .if \n(mo-8 .ds mo September .if \n(mo-9 .ds mo October .if \n(mo-10 .ds 0.5i 4.5i 4.9i .if n .ta 10 40 47 .mk Title- \fB\s10 .rt .if t .in 0.5i .if n .in 10 .WT .rt .ll \\n(LLu .if t .in 4.5i .if n .in 40 \s9\fRDate-\s10\fB .rt .if t .in 4.9i .if n .in 47 \\*(DY .sp .if t .ti 4.5i .if n .ti 40 .mk \s9\fRTM-\fB\s10 .br .rt .CT \\*(MN .rt .in 0 .sp .mk \s9\fROther Keywords-\fB .rt .if t .in 1.1i .if n .in 20 .OD .rm OK .rm OD .in 0 .if t .sp .7i .if n .sp 3 .ps 9 .if t .ta 1.8i 3.3i 4.3i .if n .ta 20 35 45 .ft R Author Location Extension Charging Case- \s10\fB\\*(CA .ps 10 .nf .mis nonsense permits recognition of .EQ L, .EQ I, .EQ C . by invoking macros @L, @I, and so forth. .de @L .ce0 .nr LE -1 .. .de @C .nr LE -1 .. .de @I .ce 0 .ti 10n .nr LE -1 .. .de EN .ce 0 .lt \\n(.lu .if \\n(LE .if n .sp -1 .if \\n(LE .if n .tl '''\\*(EL' .if n .sp 1 .if \\n(LE .if t .sp -1-\\n(.au .if \\n(LE .if t .tl '''\\*(EL' .if \\n(LE .if t .sp \\n(.au .if t .sp 0.5 .ns .. . EM end up macro - process left over keep-release .de EM .if \\n(TB .br .if \\n(TB  .if \\n(TB .NP .. . NP new page .de NP .ifmo November .if \n(mo-11 .ds mo December .if \n(dw-0 .ds dw Sunday .if \n(dw-1 .ds dw Monday .if \n(dw-2 .ds dw Tuesday .if \n(dw-3 .ds dw Wednesday .if \n(dw-4 .ds dw Thursday .if \n(dw-5 .ds dw Friday .if \n(dw-6 .ds dw Saturday .ds DY \*(mo \n(dy, 19\n(yr .IZ .rm IZ .rm mo .de FN .FS .. . FS - begin footnote .de FS 'ce 0 .di .da FF .ev1 .if !\\n+x-1 .fs .. . FE - footnote end .de FE .br .in 0 .ev .di .if t .if !\\nx-1 .nr dn +\\n(.v .nr y -\\n(dn .if n .ch FO \\ny .if t .ch FO \\nyu .if t .if \\n(nl+\\n(k .A1 .rt \\*(R1 \\*(E1 \fR\s9Filing Case- \s10\fB\\*(CC .if \\n(NA-1 .CB 2 .if \\n(NA-2 .CB 3 .if \\n(NA-3 .CB 4 .if \\n(NA-4 .CB 5 .ft R .if t .sp .4i .if n .sp 2 .WB .br .if t .sp |8.3i .if n .sp 5 .FF .rm FF .if t .sp |9.3i .nr x 50-\\n(nl .if n .sp \\nx .if t .po 0.5i .if t .ll 7i .nf .if t \l'7i' .if t .ta 1.4i 2.8i 4.2i .if n .ta 15 30 45 .if t .sp 8p Pages Text \\$1 Other \\$2 Total \\$3 .if t .sp 8p .if n .sp .if t No. Figures \\$4 No. Tables \\$5 No. Refs. \\$6 \b'|||||~~' .if n No. t .CM .if t 'sp 0.5i .if n 'sp 3 .ft R .lt \\n(LTu .ps \\n(PS .PT .ps .ft P .if t 'sp 0.5i .if n 'sp 3 .nr x 0 1 .if t .nr y 0-1i .if n .nr y 0-6 .if \\n(MF .fz .nr MF 0 .ns .os .ev 1 .if \\n(TB .nf .if \\n(TB .KK .if \\n(TB .fi .ev .nr TB 0 .mk .. .de PT .if \\n%-1 .tl '\\*(LH'\\*(Ch'\\*(RH' .. . FO - footer of page .de FO .nr FC +1 .nr dn 0 .if \\nx .xf .nr MF 0 .if \\n(dn .nr MF 1 .if t .ch FO -1i .if n .ch FO -6 .if !\\n(FC-1 .if \\n(NX .RC .if !\\n(FC-1 .if !\\n(NX 'bp .nr FC -1 .. . 2C - begin doubl.v-\\n(.p-\\ny .ch FO \\n(nlu+\\n(.vu .if n .if \\n(nl-\\n(.p-\\ny .ch FO \\n(nl+1 .. .de fs SEPARATOR .if n __________________________ .if t \l'1i' .br .. .de fz .FS .nf .fy .fi .FE .. .de fx .di fy .. .de xf .ev1 .nf .FF .rm FF .di .fi .ev .. .de FL .ev1 .ll \\$1 .ev .. .de HO Bell Laboratories, Holmdel, New Jersey 07733 .. .de WH Bell Laboratories, Whippany, New Jersey 07981 .. .if t .ch FO 12i .if t .wh -1i fx .if t .ch FO -1i .if n .ch FO 100 .if n .wh -6 fx .if n .ch FO -6 .ev1 .ll \n(LLu .if n .ll -\Figures \\$4 No. Tables \\$5 No. Refs. \\$6 .if t \l'7i' .ps 7 .if n .sp .tl 'E-1932-C (6-73)'SEE REVERSE SIDE FOR DISTRIBUTION LIST'' .if t .po 0.5i .ll \\n(LLu .fi .if t .sp |10.8i .if t .po 0 .ps 10 .if t .tl '-''' .if t .pl .bp 1 .if t .po \\n(DOu .. . CB - help with cover sheet .de CB .br .mk .A\\$1 .rt .if \\$1-1 .if !\\$1-2 \& \\*(R2 \\*(E2 .if \\$1-2 .if !\\$1-3 \& \\*(R3 \\*(E3 .if \\$1-3 .if !\\$1-4 \& \\*(R4 \\*(E4 .if \\$1-4 .if !\\$1-5 \& \\*(R5 \\*(E5 .br .. .de CT \\$1 \\$2 \\$3 \\$4 ..e column .de 2C .if !\\n(1T .if n .sp 4 .if !\\n(1T .if t .sp 2 .RT .mk .nr NC 1 .nr NX 1 .nr L1 \\n(.l .nr L2 \\n(.l*7/15 .if n .ll \\n(L2 .if t .ll \\n(L2u .if n .FL \\n(L2*11/12 .if t .FL \\n(L2u*11u/12u .nr RO \\n(L2*8/7 .ns .. .de RC .if \\n(NC-1 .C2 .if !\\n(NC-1 .C1 .nr NC \\n(ND .. .de C1 .rt .if n .po +\\n(RO .if t .po +\\n(ROu .nr ND 2 .nr x 0 1 .ns .. .de C2 .po \\n(DOu 'bp .nr ND 1 .. . 1C - return to single column format .de 1C .nr NX 0 .br .po \\n(DOu .nr ND 1 .if n .ll \\n(L1 .if t .ll \\n(L1\n(.l/12 .if t .ll -\\n(.lu/12u 'ps8 'vs10p .ev .br .em EM . S1 - tm style .de S1 .if n .sp 6 .if t .sp .75i .if t .ta 4.75i .if n .ta 47 .ll 80 .ps 36 .br .if t \t\(bs .vs .25i .ps 12 .br .ft B .nf \tBell Laboratories .ft R .fi .na .ps 8 .vs 12p .if n .sp 3 .if t .sp .5i .mk .fi .ll .if n .ll 40 .if t .ll 4.0i Subject: .ft B .ps .WT .ft R .br .if \\n(MM-1 \\s8Case- \\*(CA\\s10 .if \\n(MM-2 --\s8 File- \\*(CC\\s10 .br .rt .if n .ll 70 .if t .ll 6.5i .if t .in 5.10i .if n .in 52 .ps 8 .mk .ti -6n date: .ps \\n(PS .ft B .br .rt \\*(DY .sp .ft R .ps 8 .mk .ti -6n fru .bp .. . .de R3 . .ll 120 . .pl 102 . .nr LT \\n(.l . .. .de MH Bell Laboratories, Murray Hill, New Jersey 07974 .. .de BT .ft R .lt \\n(LTu .tl '\\*(LF'\\*(CF'\\*(RF' .ft P .. . PP - paragraph .de PP .RT .ne 2 .if \\n(1T .if t .sp 0.3 .if \\n(1T .if n .sp .if t .ti +5n .if n .ti +5 .. . SH - (unnumbered) section heading .de SH .RT .if \\n(1T .sp 1 .if !\\n(1T .BG .RT .ne 7 .ft B .if n .ul 1000 .. . NH - numbered heading .de NH .RT .if \\n(1T .sp 1 .if !\\n(1T .BG .RT .ne 7 .ft B .if n .ul 1000 .nr a \\$1om: .ps .br .rt .ft B .A1 .br .A2 .br .A3 .br .A4 .br .A5 .ft R .sp .mk .ps 8 .ti -6n .ft R .if \\n(MM TM: .br .rt .ps .ft B .hy 0 .ll 10n .if \\n(MM \\*(MN .hy .ll .ft R .ll \\n(LLu .in .sp .ad .ce .ft I MEMORANDUM FOR FILE .ft R .sp .ad .. . S2 - release paper style . SY - cover sheet of released paper .de SY .ll \\n(LLu .sp 6 .ns .if \\n(TV .TX .if \\n(AV .AX .ce 0 .nf .sp 3 .WB .fi .. . S2 - first text page, released paper format .de S2 .SY .rm SY .bp 1 .if \\n(TV .TX .if \\n(AV .AX .ce 0 .ft R .ad .. . .if !\\n(.$ .nr a 1 .if !\\na .nr a 1 .nr H\\na +1 .if !\\na-4 .nr H5 0 .if !\\na-3 .nr H4 0 .if !\\na-2 .nr H3 0 .if !\\na-1 .nr H2 0 .if !\\$1 .if \\n(.$ .nr H1 1 .ds SN \\n(H1. .if \\na-1 .as SN \\n(H2. .if \\na-2 .as SN \\n(H3. .if \\na-3 .as SN \\n(H4. .if \\na-4 .as SN \\n(H5. \\*(SN .. . BG - begin, execute at first PP .de BG .br .di .ce 0 .nr 1T 1 .S\\n(ST .rm S0 .rm S1 .rm S2 .rm OK .rm OD .rm TX .rm AX .rm WT .rm I1 .rm I2 .rm I3 .rm I4 .rm I5 .rm CB .rm E1 .rm R1 .rm R2 .rm E2 .de TL .ft B .sp .D & 6  &w @-  t5 5`u F5 %>?81R_N I&%>8 4/I(B Bm p  %00  ` u-  0@ @m&  @ @m8 > z7  H `GQV5 Nef  \Yhnt5  z @ @a& @ @a0 Nef  ww  8%+  S0- mike lesk conserve paper style .de S0 .ll \\n(LLu .rs .sp 6 .ns .if \\n(TV .TX .if \\n(AV .AX .ce 0 .nf .WB .fi .ad .. . SG - signature .de SG .nf .if n .in +2*\\n(.l/3 .if t .in +2u*\\n(.lu/3u .sp 2 .A1 .if \\n(NA-1 .sp 2 .A2 .if \\n(NA-2 .sp 2 .A3 .if \\n(NA-3 .sp 2 .A4 .if \\n(NA-4 .sp 2 .A5 .in \\$1 .br .. . Tables. TS - table start, TE - table end .de TS .br .RT .ul 0 .if t .sp 0.5 .if n .sp .nf .. .de TE .fi .if n .sp 1 .if t .sp 0.5 .. . DS - display. If .DS C, center; L, left-adjust; I, indenif n .ul 100 .ce 100 .LG \\.. .de AU .ft I .if n .ul 0 .ce 100 .sp .NL \\.. .de AI .ft R .ce 100 .if n .ul 0 .if n .sp .if t .sp .5 .NL \\.. .ds Ch \\*(CH .if n .sp 2 .if t .sp 1 .fi .ll \\n(LLu .. . IP - indented paragraph .de IP .RT .if !\\n(IP .nr IP +1 .if t .sp 0.3 .if n .sp .ne 3 .if \\n(.$-1 .nr IQ \\$2 .LB "\\$1" .. . LP - left aligned (block) paragraph .de LP .RT .if t .sp 0.3 .if n .sp .ne 3 .if \\n(.$ .LB \\$1 .. . IE - synonym for .LP .de IE .LP .. . LB - label paragraph .de LB .in +\\n(IQn .if  >  & >% n   t`@` 5p@  B>ep&/  7.%-// //ww  /. : | 5 > @t&epf %% >  %N `  %    %    %   h  ^ v 7 `FDp 4 v 7 Y2.7   | 5 > fef %%.%*Nf %@-& > XNf %@-E > 4N `wDN ` w $Nc > ww    ,2 ,  tww  5J f  % Nf  Nm >  &Ne @-@E5%N > N > @@tE %| >w6w $@5P@c  x@ > 8 57  @ @m7 & # (/tmp/crt0a/tmp/crt1a/usr/lib/eign/usr/lib/etabCan't open %s /bin/sortsort-o/usr/bin/upostupostcountcount/usr/bin/crpostcrpost-ELine too long: %d. Illegal character: %o line %d Cannot open grammar table; see lem Bad grammar table; see lem Cannot open ignore/only file. Cannot read ignore/only file. Cannot read ignor/only file. Error %d Can't find %s Try again Fatal error in %s t = %d Unrecognized flag: %c Ignore/only symbol too long.  Too many symecsl$r* 0 %ew @ @m7+@ @m7 0 @wj w X .B+  @e5H=f@efe e% AWp Ameu5 * 85%N  @Ae@%' > * 8=%* `w w @Wprepwt w b (7 V0pWpFepp 6Wp%EWpA u@e5 AZ } ( Wpffe e5bols in ignore/only file. i/o file too big; ssiz = %d d oxFfTecslbr3 0  %ew^.]..statemurdersincacollectivesxbardtmisspellspellpoetryindexamericaeuropepresseq-easyposnegsseq-hardsafricadeptWmidearthVsov   @ p w > AWpN&Wpf 0   Wp @:w * %H AWpACplCpɜ@  5_ WpAu%NvWpf | g |  | f % | 8 | %  Wpup-  WpA pluep5NNf |  |  | _7  ^ & 6  F w %@- d e%5  @ 7 @@  \ z 5 L Q  wv  5  " 4 d7 , < d2 5c  > (    } x n e        e    @- x  7 h   % @& z  5 @  zwR   ww  ! "W N, ~=    @ #D  D ҃TP  B ы e@W 0 ,"& 7   0ߋp@E A Ze      |@7x@ eE "  -x  ^f e*ȋ5 5&D9ȋ5@*&e  (: 7 p m  7 w w @-)7|)wx)7 z)7p)7l)7b)@@muu AfAVpu @ %9 A 7r)C r(u& #@e5u @ A H @wAA` 7r(u@ m(m(5-(Ї H ~(-x(x( > R@ m\(`( X(@m-N(H(  > 6(m4(H *( @  (m(H (@(@' w u@@mȕ @ A r 5 Tww _5 5 #u@0D  @D 5% u5 b 5%  %(% %  5 -v@ D -`@pD u5 @  @m5 AAD @   @D 5%   @ uN @D 5~ 5 @D 5 % u-N u- @D 5%  _$ |5_ww B e5_ 555( )%`w w x@ r E  y    w@  @Ջ E 7vf  r f  e0 t f2 w*Wp3e @7EA pw0w MOO w new game PѕW TPw P TW T7 w$w bad guess TW W Y H7 7 w ? TѕW YT 0 ԆT XP TW X ` TPR lN ff % @@mC r e0Ȑ @wzw h    }wP w :p fb  w&w   B w2   w  # p  F    p p  w7 T t@` pw t %$   $ 7     D Wp 6`ew w.w   $@me55#e15 } # u#e15wm# (-@pD %~u   5%  u u-'uu-  @ D    @@D @@e5`uX@@-)u@ <A@  @ D @- u- @D u @@5 %   u@D   u-   @D   u- f"   d5_ww @E% . .  fW X^ w bulls; F w cows -4 .wF& ^w guesses w}  ww  ##w |%v#1B %-d#7 ^# w Z~wd%DeZ%  T% % w<7 @%7 @%ׯ6%- .% ,%(w %7 "% .w%e(B J ӕ- R r f e0 @ >$ ҋ D~8PT $ӕ0 $f v Le0 9el$f$ ^$X$ 7H$we&  m,$ *$ ~    ~ w7 # # #0   #Wp `e0eӕ?.N ww ~w De   % w7 7 ׯ-  (w7  .we B J ӕ- R r f e0 @ >l ҋ D~8   Jӕ0 $f v Le0 9e  7we&  m  ~    ~ w7   0   Wp `e0eӕ?fn ,dP Z T @f 8f# ,#P # # @f # 37$|# X3r#j#-d#\#f@wH fww^w(fww "dwfw7$ fwjJA 7 "fAW,f B@ 8 @&61fA   @ @e71@p 1w<fwwvw"f@ww|wfAW @w f5157 5 e *7&  *-f     7  7 7 f@wd fww wDf@)w0fwh@e7` wfw7P fw:w6" wfAW @w f,1,7  5 eV w( 5& w&L&H&D&@&<&8&4&0&,&(&$& &&&|&v&p &j&d&N!%w  0h0h  7  ^"4  w +w 6 -s D h7 Zw  xtl  0"   ^ w<5#5e׭azw7^ 57ABwыwToo many files. w 5& w&#L&#H&#D&#@&#<&#8&#4&|#0&v#,&p#(&j#$&d# &^#&X#&R#&L#&F# &@#&:#&4#f& fww f D& w }f@w|wxwf@fA w,Rw"Le"w"Bew"8@lw"0Alew# &@t`e @& HADCBF7F6nt^ $ *^f& fw. w f "& w }f@fA w,w"e"w"ew"@lw"Alew &@t`e @& HADCBF7:F       " % ( + / 2 H/tmp/p.tmpaanandasforisofonorthetouparg count %s: cannot open cannot create %s try again /bin/sortsort-d-o/usr/bin/sortsort-d-osomeone moved sort cannot reopen %s %s: cannot open .xx " " "vdoxf7  77  | N  ,7+# E++7?w 7 7   | 9   7    _ B 0 9 A  Z a z  NB7 < 67    \ w VR  nw Dh  7 f hw`durxylt a@n#\\7894312fA@ ыW hW x@ H B\f & 0 Nw L P7 = @`7&(   (  ׬-˕-   ˋ w w`  w`  7 ŀ! #  7 7 p mn mt 7 7Z 7X 7V 7T BV -t t n j 7 H     %  \ ]       w.   & B d w v&w n&w f& m 6Bw B~ m  & rw ~` e Zw ~ & f  % N`  ^ $\ (X jN` .7 S f  7F &L ' ZSf $ Lw 2#H "w`Q *S "S f &7A  w D   w T  F   ~K   P %VE (  > 0K @F R&  VR7 &P BR dI P+ -0  478912fA@ ыW TW `@ E EEf Q Q7 Q QT Q Q7 Q QH%Q A Q ~; pQw lQ@w   ȋЭ7 h    e78  t 0 5-d 7 E"   7 7 :) |& " -l W   TwN& @& 2 0  !&w bj%&     v w`? - e-98734127n \& VSNE N  - xer^W$ ad bp$ br( N` w ~&  V%   f r  ve0 e  fr  v  r  N`   e t N` d N` #    7  2  ^ V 7 ȋ w w   &\ʋ .,()"'` ae a e  i o u y&  T S  7@ H 7 (7, |Qw SW  NN 7 JQTT@ @@`7`S@E (NwLQ I; &~|v  I,  I& -ȋ FDdLlL_w cc. ceF ds^ fij int ix li ll ls na ne nf pa$ blF plp sk sp ss ta ti tr ul un he> hx( foL ehZ ohb efj ofr m1z m2 m3 m4 hc hy n1 n2 nn* ni: joJ arV ro\ nxb po de ig tc mk      77 w  7  z   w B 77w B 7w &  7 H  w  7( L * " 7w  aw l ^ w Hw >7w 2 77 ̇-Հ &EE a B a p   B `De  Ep D C a ^"E8& jC1E`C`˜ E ^  CEC`ѵ 7 @w VՀ  &:  $J E  J 0 "!S3"#`p`Аp@РP`p"! #!4!@``Pp`FP>V>wN>w T_7 F DL7VR7 FL,L4L TL_7 `F7 L L7 >L7 *R7 LCannot open: & AW `R3AwQw KK=E=Q$VDQ@e@7PK=@NQ x=N-NP @UNNPP7 PU@NNPPw PEe  LN<rX  ^P 7 RP7 *NB DP' v@ N -.P W  PwP& B& 4 O   4&w 2%&  M  B @w`M MM  ~ 77 7 w \ ^ B 7     w 0 27 w  &     w 7| w  7 w w d X t6 J B  6  1" w    (w tB v7Dw d f7.w T& P7 7    w "PPw "FFw "w x "w p "w h "w  7`w  7Rw  7Dw  76  : 2 7* "   7w #s5$#D"1f1@` @P` 0P` @````p``p0#!Q "b"1P```PPp@ P@0`` @!`@PA! "Qp@`p``@F! g 3!Bp ``Phk22jWf@P`@P0@ 00 @P@`0#b&`2gY&FI00 @0 @ @@@ @`6%e`8XC  @`PP P 00p P P p P`P` )Vh`0fuP p`0```0@`P000 `@``8U)rPEVwzM vM-:KO 7 O?? ?-?D e-NMHM9873412?B7<x?\D_h DB~? lX  :7 J JUD?M O I I-Ifx& X"2P @X X$$ttyЋ6@ /dev& &   7BL S bDNE N ? >   K^W$ ?  K n r~? l7 r?7 >  c`?7 Z? > &  $  7>7>7K x7   7 w R 77 w < >7w ,8 .7w 77   w  b 7 ^ w  7J >" Zw 7 ,& NE-UxW$     (  b%  7 T?  w X G-  w J5w "w "zw J ` v r j :#%  , v j 7 j7 ^|| ^ "m 7 7 -D$*``00 0`p`5"0f Pf"G>B"f()/ /// @/N@//_?OU3u&'=  //`O@//?@/0e:ou36t(OUH/,oL+/???L?>???o,O=U5/63'V /)P./0>._|-ݶm?o//3"? /?@~(wf"J?H2*s0 P0 o UͯfV/ @p o~%hlr"gjC@ `@P0@ `0 @P@`0r&bY*FH0"p @` `P P @@``&@w T & .? > z \K?w (8I d& x ??> >>> w 87H=G-H  J>w H >>7> n J=w H  &=== G7 G7 =w n   7 = w R :S 7<=& ~ w 6 :S r 7< TG t N 0Jw  G7<B<& & = < G  = G w N Nw V6%mG%F w w( v - ( -% ?  Bw`wz  #7 7 7 7 p #^&  97 V T%  & 0 z7 & p 7   `6%XfXC@  ``P P"`q"cr Q"0`S!Q"0P`Sp!)Vha0f6uP p`@`aR pc"b'cP `0a@ `@``HU)rPUWDD*` p`0  ˙`.`p`5"0 f`a'AAB.  (08@H/usr/lib/suftabixcmvld/dev/tty0/tmp/rtmaf@  x %"t@% %$$ttyЋ7^@ T/devw R @ 7|Fw 6 nF w bFZF7 VFw 6 \     1rX& H I'+ -097H   W H 1 @l W IՇ w 8I & ; 4 w r 7P<   H;w P H ;;7; |  7; d   7t; L  .7^; 4  7H;6;   7";7 ;  G7 ;::7 x;7 x;  G d;w &I 7T; w "H : : w H% % . e  #  # 7 7 7  dw` pm7  h  fA p ! ~7d A 7 F > 7 0 . #    *# w@-<2.7vw" - D 2 v A Z a zfE?w - w  ^ E^ 7 ^7 v7 D h0  - 7%   w .I tG D = w 0 p 7 ;7 pIhI`I Pw T 2H G H $G7 G7 G7 :7 :Y9 " Gh9w G &T9T9N9 F 4 w 2H A w 2H   NE`9S w 2H  D? `C :? nF ( w 2H &7 HF & 2C 8F  0 AU88@f> n 7 >7 B @w  @-@_wToo many string/macro names. bD@E-z8W$ w@ 7 t@7 `>7 Z> Z> d@#bD W$( %  D  7 D  , ^  t 7  >  fw`     7` e 7 n 7 l   7   L v 8 r* (  L D  5  - 4    8  7a    w  - -  m 7  m 7  z7   - Հ E #’E -J &  T wV |  "  R  *  > )-V 4 w?7 lU7 G7 IH 7ZU-H >U -G8UG0U G   H R-GR R 7BH!7>H7G7T X! T M l |W! 7 T7 M ~H p  vM 7rM7 T 7fM 7 VM HJ2ICCCECDD @&fABwBы wBG7 :T DH7F F7 *T $T  T%YF  GE V V V7 V  V U_ Z "  0 9 A  Z a z  U U7S U U S lE X  B@  U$8 87& @7 w@ 7 > 7 @*Ew&E  Ew= ? \ wv7E7 =j7? &    =7 ? w 2H D ? wD 7 B  D  b 7 D7 b=7 b?  D -6R=66 N 57 62 0-6R,&66e6#6p6X6pT6 DGDHDGG<6DGn6w pCannot do "ev". &  l ! 7C  & N e5A  o5tAn 7 lA  7C 5 &   x  m(A&A@7VC & ! bw f2H57 5 * 5 8U W TU5 U@" W 6U 8Uw"5 W TU &   w 2Hr5  N  v >  Bm4 B@ -:@4@> z"@  ?4w x2Hw r ~ > AEl9r4M w Dw:  w 2HV4 z   >'s &p D'M <'> 6' 0'  7& ' F37B3 ' j &I &Fm&&7 & &0< & 37 b%7 &7 &7 2 & & & & d < 27 & / 2 7 |& z& `&7 Z&7 $ n/7 j/ /3 27 &7 &&& `  7%"  &  &%  7`& % x \ %7 %7 v$7 . .7 h$ ݇  "%% %rz%x%t% 7 %`% p%  5$ D%-@%^%  4% 0% @%  V /)P./0>._|-ݶm?o//3"? /?@~(wf"J?H2*s0 P0 o UͯfV/ @p o~%hlr"gjC@ `@P0@ `0 @P@`0r&bY*FH0"p @` `P P @@``&@`6%XfXC@  ``P P"`q"cr Q"0`S!Q"0P`Sp!)Vha0f6uP p`@`aR pc"b'cP `0a@ `@``HU)rPUWDD*` p`0  ˙`.`p`5"0 f`a ʋ@1iIaA w 2H4 > wz3 fwj3 ?f3 T 1 \ "> 2 A&w 02H3 2H3W hR& CC= e37 = @ *3  $  < \7N/7K/7 P9 w 2HJ3<93 ,8  73 d@7t378 7 dw h2H*_h77w2 _h7 7 7)^2 2H|w 2Hexec failed f%  \7? ? 7 27 < j3-z=  R3  n3a b3^ " ?.37 <  F% "w % -%% %-$- %5$ @1  J7 >1$ - Հ E HI ’E & > 0 w$ , $ r$ $ l$ 0 r$)-$( 0 \$ <$ ׬-˕- *$ $$ 2$ˋ &w$w`$ :$ w`$ $7$ŀ &  E7 j#    %  -7 -&   / N` - 7 , ' / v "w2 ,    !TYw C x . 7 H77 M0h0h5 000%(nl$dn yrmodydwhp  .G 76X4  ] +w WQ-P̋Nm @Hԋ ^ H>rԋ8 Hf7ll &܁ 7 J)s "#o i *q $h7 f n w |Gw tG 7 B@@ 0rX   F zTY,7 w4 aH7j77 HJ 2 3332 3 b?1  3  zJ%  r 2 27 27 222  -<*6<"6 <2 B @w n6w d67 2 f p2`2m^2 7 V27 T2T2-T2 $ X21 V2 m1mJ2 82 1r  (2 - 2d -2  m2 2w r1  1 ,> ; *; ;-;0C7 ;7 "57 =Y= = 1 1w 5_X z57 =-0Y &0 ; .0(0;7 "0-x;0 xw = -b;? b@0lX7 :   & d2w %&w %&w %& F/! :2w fX"m &   w <."e  pw  -,&,%1 & f B % N`% w@B&\, zN` w &  V%   f r  ve0 e  ->0H80H40G*0G&0  fr  0 0 v / / r / N`  // // e / N`H#׭zw^7PjLH 7& 6H #p H_h77%H H PF vr`T 7e r w r8 . -B 7B   vr 7j&  0  p `  Too many files. , @*0 %"0 v: R=-0L=U@ m/ - ; W 6U  B& f &  +  - 7 =   @W -W +` <7< 9 x-V0jL ?N0 J0 J w`60w40 B0 j9w  ^9Line overflow & & 80?HI7 :97 07 07 ^<7 /HI/ 8 7 /7 /K7b/ `/  & / 7 / 6   7/ /   .!? H/e7 h/%HI2/   / N`  0   r -X/eaeA  6/$0/*/ $/ / -/ / t.& & CE\ w D7l >7  E(  E\& EUbDNE W$ N ?  :,% $ T " $,  p7 $ $ $  $ $  7wW7 7 #f& & rw))H `#6&M H7N#  Bwh) >#e7 HH*n$\\e fs&t !pck xyldura:?"ww wBadx bp pn br cc c2 ce fi in liL lln ls ns rs na ne nf pl< spZ lv sv os taT ti tr. ul tl lt hc hyn nh nm np nnar$ro2RO*nx:soXpohdedsamasdadirmrnigtc& eceolc> ncV evifwhchrdjtm6nr mkrt abflHexxhRemfcafpi hw+P/7 - F7  7* ȋ 6#*F w  !w 5&ŀŀ5ŀ tW M   W Mww ^+?r Exception word space full. 7 !& f&L)ʋ,-C@ ċċנs ċ@ ҋH6  ы-ՀHw wHQw 2wJLR'BBHQ/usr/l+e5 W"  Dw <w+A-+HR r++r+HQl+ 9G9G7 N+T+9  1 @ @w8fEw (+w"+8G8HP  EHPe5  A%w $wBad storage allocation  A Z a zfEw * w*r:Gj:WEW jf&  +" -$ * HNpN /  4 & r6 77 ` & &  4 - (0  p `e077ҋʋ ""  .,ʋ .,()"'` ae a eiouyAE IOUY&  ^( HR  7( 4G x7 (7( aw j.2 /ww >11w 2. L(F(7D(7 B(͇>(:(-2(Հ*( ,(&EE a B a p   B `De  Ep ' :F ta 6XE;' pC4E`C`˜ ib/suftabixcmvldIXCMVLD/dev/tty0nr.out/tmp/rtmaY$Y`R/usr/lib/tmac.AAAA.' . (08@HPX`hpx 7   &U  W 6U@  ) @b5  )4%R @$W 8S 1w  1-1_w  eNo more number registers. & & \._f& 7 3 + \  w vD7<)  V3 E( F3 vE\& fEUb7 - .vR)J .p(D .t @< .ov(6 .l")0 .i)* .$($ .xB( .c, .h, .nX)   Il@w@H-&X ԕ- w n E < v' CEC`ѵ 7X' T'@w X Հ  4 &L)* WE  W0 "!S3"#`p`Аp@РP`p"! #!4!@``Pp`#s5$#D"1f1@` @P` 0P` @````p``p0#!Q "b"1P```PPp@ P@0`` @!`@PA! "Qp@`p``@F! g 3!Bp ``Phk22jWf@PXv5 !Y ~ \  tw JD7 ( 0  ? ' m'e7&5 8-' (' '4(7 ((7 ((447 47 47 ('' 'e'w|' -r'Yj'7h' 7`'747f(7`(7j(74 1 8eE&G&77 d1 - r? ''eef&w 7 G7 21 5 @ "40R  " 1 4 1  " r" b7V B73 3 0r&n& d&5 7 ^,% %-^1 ~7 5 `@P0@ 00 @P@`0#b&`2gY&FI00 @0 @ @@@ @`6%e`8XC  @`PP P 00p P P p P`P` )Vh`0fuP p`0```0@`P000 `@``8U)rPEVD$*``00 0`p`5"0f Pf"G>B"f()/ /// @/N@//_?OU3u&'=  //`O@//?@/0e:ou36t(OUH/,oL+/???L?>???o,O=U5/63'8 & 6  w h 7| 8"e@ȥ-7l y 4  (  &       N w     w eN w ~ Bʥ^J %*7 y ӕ <ӕ2 ,+ʋ&ӕ &ӕ%^ %~ %]@p ӕ%~  ww   f  5 N   5 ~~7 7 7 7   5  tm} }{H{oward} }Taft {W{illiam|m} }{H{oward} }Taft:1909-{19}13:{W{oodrow} }Wilson {W{oodrow} }Wilson:1913-{19}21:{W{arren} }{G{amaliel} }Harding {W{arren} }{G{amaliel} }Harding:1921-{{19}2}3:{C{alvin} }Coolidge {C{alvin} }Coolidge:1923-{{19}2}9:{H{erbert} }Hoover {H{erbert} }Hoover:1929-{19}33:{F{ranklin} }{D{elano} }Roosevelt|FDR {F{ranklin} }{D{elano} }Roosevelt|FDR:1933-{19}45:{H{arry} }{S }Truman {H{arry} }{S }Truman:1945-{19}53:{D{wight} }{D{avid} }Eisenhower {D{wight} }{D{avid} }Eisenhower:1953-{19}61:e#W8@!q # u@5 wX)9hhhIfgofile dogen succ g1 k emit"end.om " end"f.oom "|06 w)9.f"succ seekchar getword find.om "P&  w& && ee  CC-5~f %"N  h %d N  X R    w: 4 ~`5”%  %  ~ &   !˥œ &  ԋ &  ԋ _N _w  DC O x wtԋ̋& % ` & % ԋԢ  & % ` &   ! w DCË wԠ@~ w  v{J{ohn} }{F{itzgerald} }Kennedy|JFK {J{ohn} }{F{itzgerald} }Kennedy|JFK:1961-{{19}6}3:{L{yndon} }{B{aines} }Johnson|LBJ {L{yndon} }{B{aines} }Johnson|LBJ:1963-{{19}6}9:{R{ichard} }{M{ilhouse} }Nixon {R{ichard} }{M{ilhouse} }Nixon:1969-{19}74:{G{erald} }{R{obert} }Ford {G{erald} }{R{obert} }Ford:1974-: 6e  &   *  ew |6 r n j b6 V R N F  >ew2 Yi(8 Y iIilptr rptr sptr succ fail iget find"enter"seekchar getword getchar putword putchaNf  ^ ww n n t/ l,%^N+  BH/  0 $  3   7  ww ~w De   % 6w7 7 ׯ-  (w7  .we<B J ӕ- R r f e0 @ >h ҋ D~8dh Fӕ0 $f v Le0 9e   7we&  m  6~  6  6~   r alterwor getcstr rewcstr length rewind indextableptempwhichframelright left(nomorelfoundgetnam.om "j!   w- fe  2    w))IyYhyiputcall kput obuild seekchar getchar outb outw w7   0   Wp `e0eӕ?fj ,`P V P @f 4  7" l - f@w f@)wfwwrwf@w~wzxwf@f&CB  ԕ-  e0fv   vA W  ~@& HADCBF7FbcnvX^dRj$*.[\&fl`X*pDp$many.om "lf w w8yi8YIifx j succ fail ctest iget any"append.om "t0 &  w) succ putcstr iget append"arith.om "td L ) >%% 6!w &&-  %w)outt cfile lfile flush iget sptr generate succ getnam"ignore.om "d < 5w9)fn succ iget ignore"inc.o.om "$T w w w w) ) succ .u update .ia" .ib".da".db"infix.om "8T c  S  N C 6xwjUnknown flag RE error Can't open %s %s:%s RE botch %s:%l:%s:%s dPoJxfe(c6slr 9Y succ fail iget seekchar getword alterwor sprv"Pupdate",.l"".u".p".t".st"bundle.om "$`  @@e wI(9Yfgg1 pbundle iget succ bundle"reduce"char.oom "`  w&  w9yI(ifi .p sprv .a".s" .o".n".x"*jget.om "T\ XA@E@7  D7` 0` @` p= W  9(Hfj n input classtab jget"jgetc\inptinpr$readc^inpb`lvrv.om "\${G{eorge} }Washington:1789-{17}97:{J{ohn} }Adams {J{ohn} }Adams:1797-1801:{T{homas} }Jefferson {T{homas} }Jefferson:1801-{{18}0}9:{J{ames} }Madison {J{ames} }Madison:1809-{18}17:{J{ames} }Monroe {J{ames} }Monroe:1817-1825:{J{ohn} }{Q{uincy} }Adams {J{ohn} }{Q{uincy} }Adams:1825-{{18}2}9:{A{ndrew} }Jackson {A{ndrew} }Jackson:1829-{18}37:{M{artin} }Van Buren {M{artin} }Van Buren:1837-{18}41:{W{illiam|m} }{H{enry} }Harrison {W{illiam|m} }{H{enry} }Harrison:1841:{J{ohn} }Tyler {J{ohn} }Tyler:1841-{{18}4}5:{J{amj jget iget char"succ fail copy.oom "x`W B e 2 7translation overflow2E w wi8HXH8yfix k ktab ktat putcall obuild errcom succ generate rewcstr getcstr scopy"cstr.oom " 7 www)).lv".rv"succ mult.om "6< 6pv  r6  rvwIII9.m".q".r"".p sprv octal.om " `  w w)9iIYiputcall iget kput putoct generate succ octal"params.om "H es} }{K{nox} }Polk {J{ames} }{K{nox} }Polk:1845-{{18}4}9:{Z{achary} }Taylor {Z{achary} }Taylor:1849-{18}50:{M{illard} }Fillmore {M{illard} }Fillmore:1850-{{18}5}3:{F{ranklin} }Pierce {F{ranklin} }Pierce:1853-{{18}5}7:{J{ames} }Buchanan {J{ames} }Buchanan:1857-{18}61:{A{braham|be} }Lincoln {A{braham|be} }Lincoln:1861-{{18}6}5:{A{ndrew} }Johnson {A{ndrew} }Johnson:1865-{{18}6}9:{U{lysses} }{S{impson} }Grant {U{lysses} }{S{impson} }Grant:1869-{18}77:{R{utherford} }{B{irchard} }Hayes {R{utherford} }{B{irchard} 7 ~v rW 1 &\4 wN D >w 8 0W @  ~wv )y9YIi)jget iget succ create rewind putchar getchar allocate smark"rewcstr" putcstr"getcstr"Lsize"~cstrwcstrrcstrtcstrbsympctest.om "" A1`w(8Ifiget env si succ params"push.oom "($ f && f   succ iget push"putcal.om "<` TA 1W 7translation overflow(((HX9fgk errcom ktab ktat putcall"kput" putdec.om }Hayes:1877-{18}81:{J{ames} }{A{bram} }Garfield {J{ames} }{A{bram} }Garfield:1881:{C{hester} }{A{lan} }Arthur {C{hester} }{A{lan} }Arthur:1881-{{18}8}5:{G{rover} }Cleveland{ (1st term)} {G{rover} }Cleveland{ (1st term)}:1885-{{18}8}9:{B{enjamin} }Harrison {B{enjamin} }Harrison:1889-{18}93:{G{rover} }Cleveland{ (2nd term)} {G{rover} }Cleveland{ (2nd term)}:1893-{18}97:{W{illiam|m} }McKinley {W{illiam|m} }McKinley:1897-1901:{T{heodore|eddy} }Roosevelt|TR {T{heodore|eddy} }Roosevelt|TR:1901-{{19}0}9:{W{illiam|` & 7 9(Yfj classtab jget ctest"putcstr succ ctestc"decmal.om " `  w w)9iIYiputcall iget kput putdec generate succ decimal"discd.om "\0  w) 9release discard"iget succ emit.om "F`f"D$  &-  vr f @e0w<w-32768  putch obuild putdec"putoct.om "x"$&E@  e0  putch obuild putoct"px.ot.om "0N  >ff& > w5 %wI8(Y(8y8(8ifij n iget jget succ fail .px".pxs"litcLreln.oom "<Zx -# - - -  -  -w6 w .p sprv .eq".ne" .lt".le"$.gt"0.ge"<trueHfalseRshift.om "d0  vww  B%0%9 wWp D`ew CDӋ  D   3N  ww BN N e r@  xXJ` C- rDWpB`>% AJ @0 e  @JepJ%  r e0  r e0@ % BBm  @J ww zDetae%e[ rde r`%e r@w:w (~wDe  7# F>$e54$N(ef %7(-(z # 6 85   #@ ww  # #e7##Apww  #1`@% 7## |#?~# z#v# E7l#f#e5uo N#@= ?@# <#?8# 4#wFw 4'qAp&0 w w  N ` p5  p5 @w w .@ ef  @w uo%X w w @ H w f N `vw .p sprv .sr".sl"stack.om #|nw W8  Ae@fD W4P w8& #  w9ixI9iiYfigsucc pbundle goto iget g1 stack"unstack" gotab"Laccept" string.om #T N % w 7 7 ׯ-  (w7  .weB J ӕ- R r f e0 @ >f ҋ D~8(, Dӕ0 $f v Le0 9e   7we&  m  ~    ~ w7   0   Wp `e0eӕ?fh ,^P T N @f 2 7f  0- p5%Z !wJ w 8  " S--o-- !-  !C- E7-Nefe-- euu@ uNff %5uo = 22ZX ew w ~ = @@=uum%X-^  u}} w< w * }  @  @w w  $ E7$$$?$$$e$ w w  `b &  e N `ȋ + f  & & & e u-& wY(I(9fij succ ctest iget string"table.om #&H f w )9Iallocate putword putchar iget succ table"tq.o.om #,@AuuA Ce5 wA 1`wh88X(Hhx8hfiek epf@@& HADCBF S M Tu W Th F S\`dhlptx|JanFebMarAprMayJunJulAugSepOctNovDecusage: cal [month] year %s %l %s %l %s %s %s %s %s %s Bad argument %s JdoxfexcsVlrH   wR w @ $$o$$  %0* $ w* w  5 U ?ew w o5 E%D& w w d+ E7Z+T+R+?N+J+F+eB+w w jln j-v d  P Fw` w N  4 70wF # @ m"7 "0 "5" @`7"@me5% " N `""1w     ` &  w~ w l * ek.fs ep.fs si x fs generate .tq"gpar"0gq"trace.om #x<   )iputch putoct trswitch#trace"trans.om #T 0 w)gsucc iget trans"tx.o.om #l<  w)igenerate obuild .tx".txs"unary.om #p0  ._..aplasciicatfontcongressXdeverrenpffhgreekhanoikbdsoundstabstmheadertmpage1m *7 **p wL w : N 2))pN 2w& w  - ) ) )A Hww  !e5 uo  @ew@w   % % N w@  x t    p N      8  6% &  7w e%(%f &  N `e5N  ef %7x % ww  A r  A r e0@?>  N w succ .ng".nt".cm" &@ & 6  w  4     V 7 &\ t%5% - @%   &w R4^  5  &5   V 7^ \L t%5% n ^4^  5 Pw-E%@ .* .# N % ww v 7  2 2 % @wTw B @^X@me% B 5 @@mAp23 : w`w N % " e5e7  -  @ 5 0 N ?  E7@= ? ? ww   5 5%05  u-@= .+ ` v &  % @ % @   x4NNm w"NNAupNA 5r 0 Aupu@ N %w N `5ȥ- 5 5 9AWp B`eu . .. r0 r1 r2 r3 r4 r5 sp pc csw mov movb cmp cmpb bit bitb bic bicb bis bisb add sub br bne beq bge blt bgt ble bpl bmi bhi blos bvc bvs bhis bec bcc blo bcs bes jbr jne jeq jge jlt jgt jle jpl jmi jhi jlos jvc jvs jhis jec jcc jlo jcs jes clr clrb com comb inc incb dec decb neg negb adc adcb sbc sbcb tst tstb ror rorb rol rolb asr asrb asl aslb jmp swab jsr rts sys clc clv clz cln sec sev sez sen cfcc setf setd seti setl clrf negf absf tstf movf movif movfi movof movfo addf subf mulf divf cmpf modf movie @m 7@2 w@p^2fww f@w fwwwf@ww wlfww&wN f@wjwf,w*f@@& HADCBF7lF.../ 0@ wN@w 6 5 5 w(w  85@m5 n@ 7ww  5*~%uo%X@ @ @-@e5 @ 7nww p  85 @ @Nm P &  w:w (% 2 &    %  ww 5  `5 @ ȋN ww  `55  `AH%@p% %wzw h movei ldfps stfps fr0 fr1 fr2 fr3 fr4 fr5 als alsc mpy mul div ash ashc dvd xor sxt mark sob .byte .even .if .endif .globl .text .data .bss .comm &!$'(+.147:=),/$  `5 5 `ȋ 5%@ 5` # #A H-#> @ ?v# r#ww ~wn%Ded%  ^% % Fw7 J%7 J%ׯ@%- 8% 6%(w*%7 ,% .w %e%B J ӕ- R r f e0 @ >$ ҋ D~8"&&& $ӕ0 $f v Le0 9ev$p$ h$b$ 7R$we&  m6$ 4$ F~  F & 6  w  %  %P@ 5%_% _@ %_%'_@ &0 %  6&f te e6 * e% @ %_%'y      26 % 2   4   6   eH6& teHM&e teHd&e te He6 * eH%e%    t & 6  @w . 0*7*7*D&7&7 &0*@e7` X@e7`D&@e7`22ZX e% @& " 7d1 4\1  7N1 ww Nv  ww n %_ N% J%<$D%I h 6% *%  $$% %O$ %%H $ $D$ $$ $5$$0}$$$p$$ $" NX$$ $ $G$$$:$$3$$ t$  w~w l$V$   F~ w7 $ # #0   #Wp `e0eӕ?f# ,#P # # @f # 47# *&4|#t#-n#f#f H! 2B!:! 2  7*! &! "!7# 7 !f@w^ f@)wHfww0&w*f@@& HADCBF7"F%s Call stack overflowSoftware errorSoftware error %d %c%s%c%c%s%c%c Software errorSoftware errorArg collection overflow    . 4 Definition table overflow& 6 @ L l No room for substr # trace  warn  copy quote! serial " list  size substr go  gobk  del  dnl  seq  sne add sub mpy div exp gt eq ge lt ne le  def if $f v Le0 9e** ** 7*we&  m* * ~    ~ w7 ^* T* P*0   <*Wp `e0eӕ?f$* ,*P * * @f ) ,7) ,))-))fww )Rw4fAW @w f.1.7 5 ewn 5& w&8+L&2+H&,+D&&+@& +<&+8&+4&+$0<>#:;,0&+,&+(&*$&* &*&*&*&*&* &*&*&*f& f@@& HADCBF7J(Farg count /usr/bin/%s not found doxf&ecsl4r, 0$1 d`oZxfe8cFslr4369<?@CFILORUADGW  EA&w6AYpNo error. Floating op code error Floating divide check Integer conversion error Floating overflow Floating underflow Floating undefined Floating maintennace trap P2c0 & 6  w  @7sq@ 7& heAWt12t5&7& eB& e@A 12r %q xwzw|w7 w7 ww%3@ @mȥ-*@ @mf7b y@ @m F T (      5Rbf %5%R DN ^  E%  vvvv ^5 @ x %vz & 6  w  %#  f5 %  @0& "?ew   @ ȋ @5/ * 1@5 *  5 Z| *5 ~@e5 %Ae5u-5  % @P5 @ A  t5  %Ne- *%0 @ % | *    ww 5   Dv  7vv t 7~v@ @m7%_5 _ 7 Pv @ @m&  72v D_~N2x& %  H5Wtq2t> ;mAWp @mvA@`5 t02t5@ AWp@m<A@`5 N%t02t5@N%B- aAWp@`A@`5 t02t5@  5_ u u ^ _J & L t ^ 5 tt'! e * D%a zA`u@ *@ 5wfl ,bP X R @f 6 7$ - f   7  7 7 f@@& HADCBF "DB$!  @@ !A "B$DA% ________________________________________________ | []| ________________________________/ D F 5@-4 Dt t 7~t: D D  7ftS D\t %   ^4p5%  :t  7$t^ Dt tm  %f a  5% 5 5!@mȬpr& %d@mȬp8 &%!H& % :a < 5% & %   ^3p5%   0s ^4s * & L s ^ s ^s s  7rg Dr t 7r_q Dy7 r7 l L________________| 7 rmXAWp @mHA@`5 :aAWp@,`A@`  2rA A @l2r7`Jr FrAWp@mA@`5 N%E 72rr-rrrrB- r7 rjq  %5j& %N2x& % 5 & L q ^q ^ 5 qq| e D% D  5@- D V5I   Dq e:5  @ 55  @m 5? p: e  Df* & 6  hw V%  4 e5 @= % 5 }eue@ A H u-=  Z  Z  Z  2  2  2   wpw ^~w+De+  + % w@7 +7 +ׯ+- + +(w+7 + .wv+eB J ӕ- R r f e0 @ >"+ ҋ D~8 +ӕ0 % D @5@- D ww  x *  Fww N F ww @ xA @~ ~E-@ x)@ A px~@ &x@ &x %A 1x@ xw(@ x F w @ %xA @x xf L A @lxH @  ww @ x@ &x@ &x d%@ px @ x F ~wfw T%u_ 7 u uv7 y N ^7t% %)%WdN ^7t% tW%\%A%LKN ^7t% % w7 (%A~t6%Zvt mhteH^te 42x%aNt%zFt m8teH.t2x7 N ^7t% %_ 2xaw  N ^42x% w PaeHå <aw D@aȕ  A r  N f  %& fNmA r e0^ @ww p>seqE72swj7   ӕ- ӕ0B~ӕ.  ӕ0~ B~7  JW!ZW!j 54g7 ,ge  , gg g f8    8D$ $$$D& N & N  N N S C B A  eW!@Շ w^ mff ~f rfH5|fe        W!D8P    0&8d& dN & dN dC N eN e-efee:B"`@,Czlx1n2@2%'-.<  B Unrecognizable argument: %c /usr/lib/saltread salt/usr/tmp/ttmpa1/usr/tmp/ttmpa2/usr/tmp/ttmp-+ w  =  n - e w-hw Shuffle 4L$ $Z T -F  t l:-  w  p 7  r7w7      7 x w w Action $ h & w You break even w You win $ w You lose $   A23456789TJQKHSDC  b ӕ-ӕ.t B~ӕe ӕ- ӕ+ r e0e0Sw ~w~rDetr  nr % w7 Zr7 ZrׯPr- Hr Fr(w:r7 q ҋ D~88< qӕ0 $f v Le0 9eqq F xqrq 7bqwe&  mFq Dq ~    ~ w7 q q q0   pWp `e0fa3creat tmp fileopen input file/usr/bin/usortusort-osortforkprobscreat tmp/usr/lib/w2006open w2006open tmpopen tmp create tmp/bin/sortsort+0nr+1-osortforkprob/bin/catcatPossible typo's in /bin/prpr-3-hprforkprobcannot %s read error write error on t.%d d o xN f\ e c s lj r~ 0  %ew> E=sMBԝ`=B.pF:|+eiD(/zC@;\)@3d5@3e1@rzlB#"3h wp ,pP p p @f p ~7p @~pp-ppf@w fwwFwfw@e7Lwjfw\7 r f"wB fwnwjRw"f@wRwNXwfAW @w. f17" 5 etw^ 5& w&hqL&bqH&\qD&Vq@&Pq<&Jq8&Dq4&>q0&8q,&2q(&,q$&&q & q&q&q&@?ØGe@lB,k$aXUbj<6,rx>$P<| *:P & 6  w 5 % @5%0%9 ^AWp Ameu@ 5N wHw 6~wDe   % @w7 x7 xׯn- f d(wX7 Z .wNeB J ӕ- R r f e0 @ > ҋ D~8&* ӕ0 $f v Le0 9e  7we&  md b @~  @ q&q &q&p&pf& fw2 dw f D& w }f@w w hwf@fA w, w" e"w" ew" @lw" Alew &@t`e @& HADCBF7mFf5w R * f5w < }7 ooW&f  7 o@% o@A&@27 @L> Be0# @ є 2    BA   W z & 6  w t< @mȥ-# @m r eA! yR @m 7D 6 @m7* @m7 D- %B   d%    UB \ H   ; `2N `ȋ rea2N  rea@2N 2N HN    d%  H  %  -"H  w  C˥0 ˥9 Wp @@`e ˋwf@w @~ w7 6 , (0   Wp `e0eӕ?f ,P  @f  F7 .F-f@#f@@& HADCBFarg count bad character dZoTxfe2c@slrF2e B@e0 mz "o` eȐ9 ȕ0 ȕ1 nB n`0  VVf5u @AfW@V fW@V  Vf@ Wf@@67 f@f @A z B @7 &e# 7 # VVf5 @Wf&7@  @W@@J < . BH : , Vw VV mm fw""JA 7 fAW,f B@ 8 @&61fA   @ @e71@( 1w fwA.Q  OfA  ^ y   F y @0fA  @9 fA @e&7w7@4wP7 Vf@ww:w*f@@& HADCBF7FZbbbbbbbr) & 6  \w J %@-  7 e%  \ e^&5 @  % 5 Be u- 8 F^/  ^*  ^&  /  \wxw f~w4+De*+  $+ % wH7 +7 +ׯ+- * *(w*7 * .w*e"B J ӕ- R r f e0 @ >* ҋ D~8JN p*ӕ0 $f v L7mPP7 BmEDE!wE(mED5!5! w |W!wwn  (wW! B  w w wwn  8~lE7lEnlUflE@^lU@Vl Rl NE UUVlbl\l l * BE? eRCE e@E xX5ke5k5@keY傁 H eR 5@k> ; 66  bbbcannot open input xCannot create output e0 9e<*6* .*(* 7*we&  m) ) ~    ~ w7 ) ) )0   )Wp `e0eӕ?f) ,)P ) z) @f ^) L,7`L) RL,B):)-4),)fw2w. )>Xwf"w f@@& HADCBFw B 5  ʥ ʥ ʥ- ʥ9 Wp @@`eʥ0  w7V(Fusk `&e     bke\kbww5Q$6 B f   EU P5j   P8fPPQ7 xj5    5 C B A  `5Tj  56 8Ti ( w w x@ r E  y    w@  @Ջ E 7vf  r f  e0 t f2 w*Wp3e @7EA pw0w w Black Jack  0  4w new game 7 m7  w  jvfr (7dVm`  Tw up 6N2J+ 7 :-4w (*  mage: nice [ -n ] command /usr/bin/%s not found rdoxfecs~l rL,     5@Di  &i B    i Uiw6 h w6 hwhwhw  7 h ha hUhhW 8UD W 8E8fc     ` @L-Rh\h a h h   8 @a  ! p B6R B6 gW !W e UETR5g  5g  Ugwp   6B   7 lgr@8r@D  em wm  w Insurance? w 7` 7` 7 7 - Y- w You have black jack! Z7`j 7`d D6-2J Jw dSplit pair? w B , - #- w 4Double down? w cm v m-$  -  w You bust w~ w Hit? w w  w You have t ( hw: Kw Dealer has D@ m0<m,8 0 w ^ = blackjack (-  w 6 = bust 7  X[^adgjmY\_ T  & 6 % w |   %y  5 &  0 !  ` e 5 ! te0   r@t0 0 !7 $ `   `  `"5 C-  `A ` "   ee ~0 !2 e  ! te05U  ! te05U  7tU6 t5rrow's path - a list of room numbers. The list is terminated with a 0. The first room in the path must be connected to the room you are in. Each succeeding room must be connected to the previous room. If there is no tunnel between two of the rooms in the arrow's path, the arrow chooses one of the three tunnels from the room it's in and goes its own way. If the arrow hits the wumpus, you win! If the arrow hits you, you lose! Warnings: When you are one or two rooms away from the ww  wɋR b `  ҕ | ey q  Z   H   . wN hCB C B8  7 :  e8 f rfe0 w f r fe0 w f    q,   &8   7X  7K 67   te05 _R5 _R5   7v ! `t&e0        !   . >  !  ` S  W Y  _- n  2   `" { 77!`_-z   !>  75 W- @ `"   te0     C5   x 5  umpus, the computer says: 'I smell a Wumpus' When you are one room away from some other hazard, it says: Bat - 'Bats nearby' Pit - 'I feel a draft' Instructions? (y-n) You are in room %d You fell into a pit You were eaten by the wumpus Theres a bat in your room I smell a wumpus Bats nearby I feel a draft There are tunnels to %d Move or shoot (m-s) which room? You hit the wall Give list of rooms terminated by 0 You shot yourself You slew the wumpus That was your last shotBe8&8 " q,  n7q,  Z7e8 &fCC  j @q o  &  6`( d  Vw`  Bl error on copy f1N1N1N1&0C  Bqqq&qq, qf& H@l1 11 1 + m  xX _te0E ! `7tU6_  |%y   j%y_L_\w"w     ue0  a" aH ww  d   ċ r @7ww z  ^ wpxN @  v& ~ wLw :  !  0 9      Wp D`e ww DC  at06  ww  Another game? (y-n) Same room setup? (y-n)   D ( & qf7 q,@ @  b@  ȝ q,q q,@   h \   f7d Hq,@ @  T 8 @  \ȝ(  x f   Wv Ee    2 2 2  7 f& Wv Ee  @E7 2bwe2 @@ww ~wDe   % wv7 7 ׯ-  L7  .<epB Jdox*f8ecslFr ӕ- R r f e0 @ > ҋ D~8 $ ӕ0 $f v Le0 9e  7we&  m  ~    ~ w|7 T J F0   2Wp `e0[eӕ?f ,P ehknZ]`cfi@` .&&w2 f  2 2 Wv E@`e & ! ,   e e$ fhr    ,  e7 & 2 ,    &e " ::e8p:@11     : bwOut of space.  :e8p:e8Bl s3 B88& F V 1:1 8p: f&7 H 0 :  @f  7  (-f  ~   7n j f 7z 7 V w w LwHAupNNmf  ww  @@5 _  fA rBpEu@@`55DCN& f& %5 2`5!-`f $`f& . %`Df l %5 5!&  5!%@@AA Nf`  u_Nf  @`5_Bn"0 z 7 x    /       &e  & !eRɋʋe7 7 xnpedmfinqc? ^ B 77zawM p >  8ҕ d "    "    wLNf0q e`CKe8 Gxe, 2e8 Be8, 2 8 4l4 4<80<Ae8   ,Out of headers.      @ @W \W 85W,W,@@& ,e ":e8  & 87 & 7 7  v 8 d e8^ U\87R e ef . %Cww  DCԒ wvw d DCB5ҒS wFf BRwf@6p7lF@& HADCBFv 7p fh Wp3e @7Z Ef h . a   ( * [ G}Mdf:p([fh "_yX Welcome to 'Hunt the Wumpus.' The Wumpus lives in a cave of %d rooms. Each room has %d tunnels leading to other rooms. Hazards: 7   w x www ʋ @ n | @ \  ~/bin/ed/tmp/ftmpaCannot open temp. file t f w< 2 jN   F       xw p w ww|< = f  B L v .  "  8  " @ F wP  ww< , ҕ  052 :  Z. e8& 2   8:8A e8 8  bw w 8  not in memory. Cannot open file cannot open output file form.m Bottomless Pits - Some rooms have Bottomless Pits in them. If you go there, you fall into the pit and lose! Super Bats - Some other rooms have super bats. If you go there, a bat will grab you and take you to somewhere else in the cave where you could fall into a pit or run into the . . . Wumpus: The Wumpus is not bothered by the hazards since he has sucker feet and is too big for a bat to lift. Usually he is asleep. Two things wake him up: your entering his room your shooting an ar w 6"(  z  ҕ  d P ҕ zww` / "ҕ   D ҕ:  .ҕ wZ      ҕ w& H z  > p WpUWfU| 7  \,    H |c  h e 45 $ \)  ~8w -5 (   Ve   w  l & 6  8w &  l  5v d  f %N 5 % @&  5@} d 7a2 *&ef %N  te   %2wfw T % d. ,s   N d    dx % ww ~w|Der  l % w7 X7 XׯN- F D(w87 : .w.eB J ӕ- R row anywhere in the cave. If the wumpus wakes, he either decides to move one room or stay where he was. But if he ends up where you are, he eats you up and you lose! You: Each turn you may either move or shoot a crooked arrow. Moving - You can move to one of the adjoining rooms; that is, to one that has a tunnel connecting it with the room you are in. Shooting - You have 5 arrows. You lose when you run out. Each arrow can go from 1 to 5 rooms. You aim by telling the computer the aw vw f w8w  `-X P J @ vҕ lB-*w > w header not accounted for part of asmem released free headers free blocks size  &@     ʋeʋB   & T P D D* 7 0 ʋ.| &'ʋ%f ?  J % <  xeʋBf    r f e0 @ > ҋ D~8 ӕ0 $f v Le0 9e~ vp 7`we&  mD B ~    ~ w7   0   Wp `e0eӕ?f ,P   @f  7 -|tf@w f@)wfw7: fw,w(w|f@ww wZf@#f@www*f@@& HADCBF7F/etc/utmputmp? %s? try again /dev/ttyxcannot open tty%c Broadcast Message ... d0o*xlfzecslr_hNN;  -h(  *n;y; / ;  ?x(%; e^( ?P(% L( @( pЁ2e2( _` ; _` ( U2 ; ( (*;; / r *<< / ' ?'e' '' 'r' 0 25 %|_` ' ?r~' <  | %I J&5D 21 7<  %V<  5% bl<   ' A pЁ2_` <  _` N<  _` w&w & }/ eeu-u-9  p6B8Buu"@@&( X%  vH( \"A1eeu-ڂ_   p:B -G? % A p@g@ @g A p@  vH _w h # fe &W? /%f 58BZ 56B }-n? eu-}N \"A1e p8Bu@K -? ww  7   .%other::1: bin::3:root,bin ('< / 52< / -&< /< /hh<= /Vh = / w2&w &  P(-H(J(@(=  6( y*(ew% (-( ((;=  'tyt yy 'tyApt_B y_0y\_0I87~+ y't t_Bv't t_Bd'tt_BR't t_B@'t'tc0't"t[ 't\tSX=Dx7J0F07 07g= &tx@ r  @ r m -'@ re5 @ mx e% @ r mN @ r m0  -ww 7 7%7|% t%( .%(Ue  +L%L%7  f .%_(@ 0 vH m } .%N P5 _:@t _6@t@t5%!@ 8BA @6Bt@-V@ A %vHpvHDu#@tx-@te@t&e  @ty|qtwz}rux{~AWtx`Wtvx`ePpt&t t=  |&tx&t r&j& 0 Ё`&_ w ($&;ttʥ  (%a%z%A%Z %0%9%_ ttt&t &#= /e -%% 7&w#w #%ev-n= n nw|#w j# 5 %"%m>%%7 2% % %/8 J"%*&= ! 6"5% %  R% "5%/%  4%%* !5   w"5 @87) yunv  -% N A 1} N Am 1] -_6 P ^N? / @ }@ }f &? /% -@m }@m }@ &? /% -? /} X& A 1VE  &e} X& A 1V5 @ %vH_ -dw>w , t7 ~@ 58B@ 6B#x~tl~t Z~t`  lp -" :~eB-ڂ _!5  t0 -~2J` & 6  v2w d2 BNf  |4et7A  |  R " <' p Fw*2w 2 @t5t@t5^Vw1w 1 >/ (4 p/N `/ %  ` x4 3  4 4 p5 5 P/ p/5 3  H&5)5 6  ff 2%  -5ff 2e05  d3  N5 `5 s55 P/ p/w0w 0Ƅ >//&w0w 0 @ = _ !5%  = %\  !5\ u-_N ^!5 r e8A! y%02%9.@e7H%0 5 5%0w$ _%9 upAmew%a%z%A%Z %_%.%$:lDu%a%z%A%Z%0%9 %_%.%$N  H#B#:# 5@_w #  _=  _b=  _b= t t5%  "( .%-}[t%;t5H-1t0 T)eu% AEtAWt 1P( te(( X% @ me(( X%@ m @ me5@ mze5u-_ (tp/  R(t&et&e X% ?tup5 -|| -n? v|tph|t  J|t`  p( -r  ,|e-|| <: f@w0w 0ue @ 5r@ b  55_N f  5e}- = u=w0w / %@ b@tt5  @w/w / 2\ 15 / 15 / /5 / 5 /@t%t N 5 / -l15 /5 /5 @ 5 / -D1<1 6 /  1 11 16 /e....46 /e10W6 /%. 58B0 _b>  _b>  _h >  _h>  _n>  _n#>  _n*>  _n1>  _t7>  _t=>  _B>  _sG>  % " 7 "% "% !% !%:!_!mn!7 h _w p fs5 @tt  @sj@4sj@ew4 -N! @    -6!%  rrt>  N \ w  5% 3 5 !,%\  5%}(\? /% *t ? /t0 te ? / te ? / -{w2w  DWp Ce4 `5$ C-Wp e4@w -4. -*? 5 WpAm @A Amp4 -LWp w  @ B5 _%@ vH 7|N P t } .%5 @t5%@ } Nf & A 1} -bz%FZ7 5 _%@t5_$@ 7-_$@tAWt06 /%...@K &6 /e006 /%0p. 6 / |07 / r0l07 /%X0G7 / L0X7 / H0 D0- >/\z7 / &0 07 / 0 07 / 0/7 / 7 /w-w - / >/7 /Nf / /7 / /  p/wL-w :-N7 / $w0-w -N7 /  r 7 /w-w ,7 /w,w , ؀@ A Hw,w , @A H w, 21%%  5%}% 21N 21%  x5 > wNw < 5 R5@ r e8A! y N 21w  N 21 5%$> /%- @ 5 5%0<%985 %9AWp Ameu 5%0 N%+-> /%AupN> / $ 21 _T- 21_T N 21 &5%*_TN 21 5> '%*N 21 5%/_"N 21 5 > @` BEBt@0:@ }7@ p}- N @ } &f@ /e@ } -\@ P p} Z Fݵ @ }N( *   x @ N @ &}fT@ /e @  p}@ } -x_#N .+ - _# b wZ w H @ B5 $@ vH@ p}N ^@ 5lvH @ vH } ^ -  @ B @ re ^ -  @ B@ r w , ,@ 7`,,K -,7 @w`,w N, 5 @ @mH u-w6,w $,   @m Am@R @m  @m -;w+w + u717 /#@t @mAE t  @0 N 7 / --8 /wp+w ^+ PF@-1C@870 y w&9 . 7/9 d-\-T- @D9  A1`@ȋe %w -W9`9 . 7~h9 >  _%\ N 21 5u-_w X 7  -. @ w w  $@ B_(N )@ p5 5 4@ vH,@ p-% r@& . 7 9  9 /9R~ \ z,9@~ \ 94~ \ KX*vu5 5 5X r e8A! y 5 pЁ5  @tU5 @tU @tU p +L9 /9 /9 /9 /(: /L: /l: /)~i)e~)x)er)l)ef)? b)e\)X)Li5 5 r eT8A! y: /: /: /: /;   _h@t6t-+_h%_h@tt+;  u$@te@t&e@t&e X%5P@ m e@e5eu-ʂ 5 @te \"A mm  -0 &( 5 @ Nf  N N w&w  D   ww N N ww  ww  9D  5 j          @5 wLw :N  & j  n & j     $        ww  7  lA / eu-@ vH @ vH qA / M4@ 5}+N A / %AA /%NA@ A / - A / A / ww  %r  f 42 57o%af 42 5& f R2% f 1 5@wPw > w,qw>w ,A w.w N 1ww   ww ~wpDep  p % 21w7 p7 pׯp- p p(wp7 p .wpeABtermTERMtokenTOKENleftLEFTnonassocNONASSOCbinaryBINARYrightRIGHTprecPRECinvalid escape, or illegal reserved word: %s%s should have been defined earliereof before %%}yyvalyyvalv(yypv%c%d)yypv[%d]EOF inside commentEOF in string or character constantaction does not terminatenonterminal %s not defined! %s: %d too many statesputitem(%s), state %d yacc error--duplicate itemout of state space%d: %s %d, %s %d, working set overflow State %d, nolook = %d flag set! %s  n   7 7  w0!  ?w n  7h7 r ^_ X4_ x>_ 0_ "  :7 N%_  _  7 N%   7 N%r @f V   _f 40 R7( n 3  w N _l  J ӕ- R r f e0 @ >@p ҋ D~8BB pӕ0 $f v Le0 9eoo oo 7owe&  mo o 21~  21  21~ w7 |o ro no0   ZoWp `e0eӕ?fBo ,8oP .o (o @f  o ~7n B~nn-nnf VlPlHl  78l 4l 0l7*n 7 lf@too many lookahead sets$$$~$yyact %d: reduce/reduce conflict (red'ns %d and %d ) on %s %d: shift/reduce conflict (shift %d, red'n %d) on %syypactyyr1yyr2off = %d, k = %d action table overflow %d no space in action tableyygoyypgo%s: gotos on %s nonterminal %s %d %d state %d, pre-nonterminal %s states %d and %d have equal positions state %d %s same as %d %s accepterrorshift %dreduce %d . reduce %d . error The function "system" is called/dL0oF0  7 N    @03 J  h w J  w<w * 2tw&w C n ww  @ ~ t5 u B5   65 _ x     n5 _, e 5 \ W ' n M  5 25@  5 Nf %55%%w fwwBwfw@e7"Bwhfww(BwNf@ww.Bw, f@@& HADCBF7dmF Kx0f0e$0c20s0l0r~ I n= N }uN&  [ n5 55  ~ %t_ 5 3wB% %_ { n_ % 5ssKCw  5 @0C_f P_f   %_X x  5     p55% % @P%  @P% @P= N  %@=@0   N& % _d"x./yopt -r./yopt -rv./yopt./yopt -v/usr/yacc/yopti-r-rv-voptimization execl call failsMH2019.yaccopt -rMH2019.yaccopt -rvMH2019.yaccoptMH2019.yaccopt -v : int nterms %d; int nnonter %d; int nstate %d; char *yysterm[] { "%s", 0 }; char K  <5% %  @00t@p     \5 D _ 4 nw$w  555555 ~œ%   dœ% n -_ 5 & %œ _D%7% 5 œ _D%!% n  N5& %œ _% n  œ%(     @P:% -_-_*yysnter[] { "%s", "%s" }; %d/%d terminals, %d/%d nonterminals %d/%d grammar rules, %d/%d states %d shift/reduce, %d reduce/reduce conflicts reported %d/%d working sets used memory: states,etc. %d/%d, parser %d/%d %d/%d distinct lookahead sets %d extra closures %d action entries %d action entries saved through merging %d states %d goto entries %d entries saved by goto default conflicts: %d shift/reduce, %d reduce/reduce fatal error: , line %d int %s[] {0,%d ,-1}; memory overflo0 & 6 F w N  ww zN  J swdw R% @&  7@!$   76# 6 . 7  8 . 7  : . 7  > . 7  D . 7  K . 7  R . 7 Z . a . v  l n j \   wTw B >5%  w: 4%  $  7  5s      5w BD n  5 5N& %@Ap  @) n@@s  }u e}u 5 @=N @0  @ApN }s_ _ ,_ 5& %__ _ _ T5& %__ 5'u@= n@B@ 55 @6 Q nww NULL { %s }ORVorvxZxZ$828<8 h h\8d8l8t8VX)XUW 6 6  V f "'\bnrt| l H $ 6 Z 8888) bhzntz"%'\@@899=>prhy.outputcannot open y.outputillegal option: %cyacc.tmpy.tab.ccannot open table filecannot open input# $enderror$acceptdefine yyerrok yyerrf = 0 define yyclearin yychar = -1 subroutine yyact  >  >ww   t @ 52wlw Z@ r eA! y wB    w  % % 8%  h % eeww www zf wpw ^ \N  wL  <4  27  $N  3 3w   w D5  2D- N  `52@0B @5  5  H52 }@0 @w > C* 5D % D-  N5%  3@w w B C-2w w @ 55 55u  55_*u@5_* ` R5A1}5@p% t A1= %  u_ju 5 5 @Jr=  f t =@0 f t 5 tA1N 55@@  Nf j D Nf  @D-5 5D(   4 _C @4_C  u-_5@5@@5%  DC-D- }@0 @5-Nf j 5_ _u _ _Nfs there:\ Home{-| }Thoughts{,} From Abroad:\ {Robert }Browning Ah, but a man's reach should exceed his grasp{,}:\ Or what's a heaven for{?}:\ Andrea Del Sarto:\ {Robert }Browning How do I love thee? Let me count the ways.:\ I love thee to the depth and breadth and height:\ Sonnet{s} {From the Portuguese}{ 43}:\ {Elizabeth }{Barrett }Browning A Book of Verses underneath the Bough{,}:\ A Jug of Wine, a Loaf of Bread{-|,| }and Thou:\ {The }Rubaiyat{ of Omar Khayyam}{ 12}:\ {Edward }Fitzgerald The Moving Finger j 5_  %   @0_@p_@ _Nf  _@5@@ N CN  w    @0@  5 N f  N N  w C"  xn . $     n wFw 4 %,  w0 u-%   n  n  J  3u@Come live with me and be my love:\ And we will all the pleasures prove:\ {The }Passionate Shepherd{ to his Love}:\ {Christopher }Marlowe Shall I compare thee to a summer's day{?}:\ Thou art more lovely and more temperate:\ Sonnet 18:\ {William }Shakespeare Fine knacks for ladies, cheap, choice, brave, and new!:\ Good pennyworths{! }but money cannot move:\ Fine Knacks{ for Ladies}:\ {John }Dowland My mind to me a kingdom is:\ Such perfect joy therein I find:\ My Mind to Me a Kingdom Is:\ {Sir }{Edward }Dyer writes; and, having writ,:\ Moves on{\:|,|.} nor all your Piety nor Wit:\ {The }Rubaiyat{ of Omar Khayyam}{ 71}:\ {Edward }Fitzgerald Ah Love! could you and I with Him conspire:\ To grasp this sorry Scheme of Things entire:\ {The }Rubaiyat{ of Omar Khayyam}{ 99}:\ {Edward }Fitzgerald Remember me when I am gone away,:\ Gone far away into the silent land:\ Remember:\ {Christina }Rossetti Home is the sailor, home from the sea,:\ And the hunter home from the hill:\ Requiem:\ {Robert }{Louis }Stevenson I fled H ˂ x| ! n! n 55@2 @5    @04D-%! n u@2uN u@&   5=u A1@& t &  u   5f %5 N K_@ @5  ~  s_w DC@  x &  w& & & & Underneath this stone doth lie:\ As much beauty as could die:\ Epitaph on Elizabeth{,} {L. H.}:\ {Ben }Jonson Death be not proud, though some have called thee:\ Mighty and dreadful{,} for thou art not so:\ {Holy }Sonnet{s}{ 10}:\ {John }Donne Gather ye rose-buds while ye may:\ Old Time is still a-flying:\ To the Virgins{,} {To Make Much of Time}:\ {Robert }Herrick Why so pale and wan, fond lover?:\ Prithee{,} why so pale{?}:\ Song:\ {Sir }{John }Suckling Stone walls do not a prison make:\ Nor iron bars a caim, down the nights and down the days;:\ I fled Him, down the arches of the years:\ {The }Hound of Heaven:\ {Francis }Thompson So 'ere's to you, Fuzzy-Wuzzy, at your 'ome in the Soudan;:\ You're a {pore|poor} benighted {'|h}eathen but a first class fightin{'|g} man:\ Fuzzy{-| }Wuzzy:\ {Rudyard }Kipling Morns abed and daylight slumber:\ Were not meant for man alive:\ Reveille:\ {A{.}{ }E{.}{ }}Houseman I will arise and go now, and go to Innisfree,:\ And a small cabin build there{,} of clay and wattles made:\  w @7@  x 5& t   n7 h@ _@_C5u& t f     5u & t @& t   5uu & t f  5@& t  N     _8@p,  N P@ 4    N     t --=! nww CB%ge:\ To Althea{,} From Prison:\ {Richard }Lovelace I saw Eternity the other night:\ Like a great ring of pure and endless light:\ {The }World:\ {Henry }Vaughan Come and trip it as you go,:\ On the light fantastic toe:\ L'Allegro:\ {John }Milton When I consider how my light is spent:\ Ere half my days in this dark world and wide:\ On His Blindness|When I Consider:\ {John }Milton The grave's a fine and private place{,}:\ But none{,} I think{,} do there embrace{.}:\ To His Coy Mistress:\ {Andrew }Marvel Great {The }{Lake Isle of }Innisfree:\ {William }{Butler }Yeats I must go down to the seas again, to the lonely sea and the sky,:\ And all I ask is a tall ship and a star to steer her by:\ Sea{-| }Fever:\ {John }Masefield April is the cruelest month, breeding:\ Lilacs out of the dead land:\ {The }Waste{ }Land:\ {T{.}{ }S{.}{ }}Eliot Now as I was young and easy under the apple boughs:\ About the little house and happy as the grass was green:\ Fern Hill:\ {Dylan }Thomas w  x ^! n   f ,zP p j @f N #7< !#2*-$f !!  7  7 7 f@w f@)wfwhwd!wfTPwmJ!wv>wm8fw(!wTw f@w w!w*f@@& HADCBF7F% wits are sure to madness near allied:\ And thin partitions do their bounds divide:\ Absalom and Achitophel|Absalom:\ {John }Dryden A little learning is a dangerous thing{;}:\ Drink deep{,} or taste not the Pierian spring{.}:\ {An }Essay on Criticism|{On }Criticism:\ {Alexander }Pope The curfew tolls the knell of parting day{,}:\ The lowing herd wind slowly o'er the lea:\ Elegy{ Written in a Country Church{-| }Yard:\ {Thomas }Gray The best laid schemes o' mice an' men gang aft a-gley{,}:\ An{'|d} lea{'|v}e u & 6  w p    5f %% l@ F  2_@Ӌ  /@ /˥/ @@e *ҋe@  @̋  5t tf `%e@% Ȃ@  whw V-^  ZN f `% `% & `% `%ww Dԋ@ ww ~w De   % nw7  ~x~pcannot open inputfsendstartdefinereturnfreturnsyspitsyspotOut of free space bad integer string eof on inputr > J > > 2 8 x  T T  xxxxx xxxx x illegal literal stringpopno operand preceding operatorillegal juxtaposition of operandserror in functionno operand at end of expressiontoo many ('sunrecognized component in matchno space beginning statementunrecognized component in matchunrecognizes nought but grief an{'|d} pain for promised joy{.}:\ To a Mouse:\ {Robert }Burns Tiger! tiger! burning bright!:\ In the forests of the night:\ {The }Tiger:\ {William }Blake My heart leaps up when I behold:\ A rainbow in the sky:\ My Heart Leaps Up:\ {William }Wordsworth The world is too much with us; late and soon{,}:\ Getting and spending{,} we lay waste our powers:\ {The }World is Too Much With Us|Sonnet:\ {William }Wordsworth A sadder and a wiser man{,}:\ He rose the morrow morn:\ {The }{Rime of }{The }7 ׯ - (w 7  .w eB J ӕ- R r f e0 @ >d  ҋ D~804 B ӕ0 $f v Le0 9e    7we&  m  n~  n  n~ w7   0   ~Wp `e0eӕ?ff ,\P R L @f 0  7 8  -fwXwTd component in assignmentunrecognized component in gotoname doubly definedname doubly definedillegal component in define^dV:VDJ     ~h$d$,attempt to take an illegal valueattempt to store in a valuephase errorillegal functionillegal functionparameters do not matchattempt to transfer to non-labelattempt to make an illegal assignment#%Ancient Mariner:\ {Samuel }{Taylor }Coleridge In Xanadu did Kubla Khan:\ A stately pleasure{-| }dome decree:\ Kubla Khan:\ {Samuel }{Taylor }Coleridge She walks in beauty, like the night:\ Of cloudless climes and starry skies:\ She Walks in Beauty:\ {George Gordon, }{Lord }Byron I want a hero- an uncommon want{,}:\ When every year and month sends forth a new one:\ Don Juan{ Canto I}:\ {George Gordon, }{Lord }Byron A thing of beauty is a joy forever.:\ Its loveliness increases{;|.} {it will never/Pass into n>wfw@w<Dwf@w$w Jwpf$fPwN f@wwTw*f@@& HADCBF7F/etc/mtabarg count umount/etc/mtab%s not in mount table Unknown error: 2doxfe`cns>lr -?O[m} 1EVet!Error 0Not super-userNo such file or directoryNo such processInterrupted systeroot 8m othingness}:\ Endymion{ Book I}:\ {John }Keats Matched with an aged wife, I mete and dole:\ Unequal laws unto a savage race:\ Ulysses:\ {Alfred{,} }{Lord }Tennyson He will hold thee, when his passion shall have spent its novel force{,}:\ Something better than his dog{,} a little dearer than his horse:\ Locksley Hall:\ {Alfred{,} }{Lord }Tennyson 'Tis better to have loved and lost:\ Than never to have loved at all:\ {In }Memoriam{ A. H. H.}:\ {Alfred{,} }{Lord }Tennyson Oh, to be in England:\ Now that April'm callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedError 14Block device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken Pipe  $#& R% Z  j z    T    e :ww Ne8    R%  &  ed- e   _5 %9AWp `euNe &%0 %d %,!%-O% h% eB%  _JN Zҕҕ  wҕR5 Ne &%0 %dR%,% % ҕ+%9AWp `euҕR5 Ne &%0, %d% % R Ne &% %  % %% @f ( 8 7z 8 -fwLwHwf40,w fwwwnf@wwwLf@www*f@@& HADCBF7F/etc/mtab%s on %s arg count mount/etc/mtabUnknown error: dox&f4ecslBr8 )9Q[u&8GWfwrm -f /etc/mtab /etc/update %*_ҕ%9AWp `eu _%% ҐNe &% ҕ _~Ne &_f@w fwZwV wfwB@e7: wfw7  fw JA 7 fAW,f B@ 8 @&61fA   @ @e71@  1wfwxwt wfd`wmZ wNwmHfw8 wzw* f@w^ fAW  !Error 0Not super-userNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedError 14Block device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seroot::0:3::/: daemon::1:1::/: bin::3:3::/bin: ken::6:1::/usr/ken: @w f 1 7 5 e>w 5& w&L&~H&xD&r@&l<&f8&`4&Z0&T,&N(&H$&B &<&6&0&*&$ &&&f& f@#f BRfw w f D& w }f@ww wf@fA w,xw"re"w"hew"^@lw"VAlewI &@t`e w 4wekRead-only file systemToo many linksBroken Pipe & 6  w % . @-e5%% + . `e 5  @ @m& f 5Nf N P7 J u-  ww @ %@ _ fe f  % @ 5% @0     N 7n % d F   N & %  Z 5  Z @p 7 N fe f % @ %@ @ ww4w&w N   ww DeL@4 & n  : w/%J %K  t5  t5 N  5N  5  B-B-%B-B-% & n  :  w4w "DC%: e`m e rfww p@&f L %  r<R r< r<R r< rWtC` re rwPF   !070 %n6   000 010 020 030 040 050 060 070 18- 090 0a0 0b0 0f0 0g0 0h0 0i0 0j0 0k0 0l0 0m0 0n0 0o0 0p0 0q0 0r1 0s0 0t2 0u0    N & % ww   N =  u=@w w t  u  }@@wVw D    }w, w  B_  . f %7 w; .w  @  @me5'5@ A @l 5 } @  N u@ A @l 5@A 1`  }  ww @ @  w @  0!  7  ww  H ԔAA WpCeb  ԔԔԔ BeWpCex ԔԔԔ& ed& ed& ed& e@ &  wxw fA r nw^mw FD % A r  r e0@ԕ A r e0@w@& HADCBF7fF6rw6r@f@  P`Hm`  `LH/usr/lib/crontab/tmp/crontmp/bin/shsh-tcannot open table  . & 6  w %. 3@b3@ 5!@ 5@tN]f@& % 9  b? wn@cw H5 %0%9w4AWp Ameu@ 5@w b- N xf %p % x& %s %ww Dԋ@ ww p~wDe   % BwR7 n7 nׯd- \ Z(wN7 P .w @ &@ & %A @, @ 0 w ~wVDeL  F % w7 27 2ׯ(-  (w7  .weHB J ӕ- R r f e0 @ > ҋ D~8pt ӕ0 $f v Le0 9e^X PJ 7:we&  m  ~    ~ w7   0   Wp `e0eӕ?f , 0  %ewPF@ D M:/ESTEDTDay Mon 00 00:00:00 1900 SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecDevB J ӕ- R r f e0 @ > ҋ D~8 ӕ0 $f v Le0 9e  7vwe&  mZ X B~  B  B~ w7 , " 0   Wp `e0eӕ?f ,P   @f  >7  >-fwwwwN f@wwP   @f   7Tn x d\-VNf@w fww ~wnf@wwwLf@www*f@@& HADCBF7F Usage: cpost [-d] file1 file2 ... -d: 0 < d < 10 read error dox6fDecslRr   & 6  w    5$f %%$%$ ˋ e $ %e@%. wz % @&@& ^% 9 @ҋ  /@ /ʥ/ @$%$ ăˋIe A@ @ e?  A@ @ e $ @ˋ? @ 5$t t$f %_e@w XJ-V | N f %X % & %w*f@@& HADCBF7Farg count mknodusage: mknod name b/c major minor Unknown error: d\oVxfe4cBslr>/?Wa{ ,>M]l}!Error 0Not super-userNo such file or directoryNo such processInterrupted system callI/O errorNo such device or addressArg list too longExec format errorBad file numberNo childrenNo more processesNot enough corePermission deniedE j & 6  tw    7t  B    P L  B    < 7&  97                     ҋ% e<-    rw D & x @-%% N  w @-@- 0 e@-  w Ne  D  wz w h   l9  @aȋ Z p f[ %ww Dԋ@ ww ~w De   % w7 7 ׯ - (w 7  .w e^B J ӕ- R r f e0 @ >\  ҋ D~8 : ӕ0 $f v Le0 9e   7we&  m  ~    ~ w7   0   vWp `e0eӕ?f^ ,TP J Drror 14Block device requiredMount device busyFile existsCross-device linkNo such deviceNot a directoryIs a directoryInvalid argumentFile table overflowToo many open filesNot a typewriterText file busyFile too largeNo space left on deviceIllegal seekRead-only file systemToo many linksBroken Pipef@w fwwwfwwwf@wwwf@ww|wd f BRf@wLwHw*f@@& HADCBF7F6rw 6r@ @` :arg count %s: cannot create %s: cannot open %s: cannot open isize = %d free list %d/%d d--777 0 0 $ %s: cannot open init %s: bad format %s: too big %l/%l: out of textout of swap space0B@@@@@@@@A b5 @@QDQEQ@ U0 % 5 Q 2pv Er b" "I 2 F%%  m5%f F%&  N 7 7- e-  % : 5 @ 0  %5 fe  -8 5 @ 0  %  w w . @ `& e5Pg& %5PP& %5P@07@& % @eCpt5P % 5 ~5 ~P & 6  Jw 8 u@e= dA1 @e0 @e5 } *A1  @e0  ww     tE5 % 7 @ww zF7 z  %@ B H  @A@x = %Zd  X  L  @  4  (  8@ @aC r ~ &@ @a @ @at" "7 "5U0 7r޷ xv"ަBE   5 e Eއ1 އަB   5 |v  8އ,އ! ! + `! f EA `E E v EE \&v  E H&v  v   Zݞ # I .Dݞ # I#& %-  55 5 @ @a0 %5 @ @a0 @ @a0 % @e55 5 @E7  y 4  ( 5_& Nefefefe  e%_U 5Nef  u 55 55@e5f& %5f& %te5@e5f > 5 %_}ee fef F%55`Nefefefe  eN _e0 A AaA rNe0  @  0  F5 wj b@l Z@l R@l J@l B@l5,*(&$" 5 @ @ap= @m5@ A ru% =% 9AAm ru%a %z%ze%z%a %z @0% % uN_2w ^& %7w^ E w p^ % ww n x r  ݞ # & ܞ| #v &n ܇d   4P ~ (P~  & ~ &~&   &  # jܘb܇PI@Iܷзܦ   P~ۇ۷  & C~ۇmH   W W @ 6r 6r@@A6v@@& ADCBFw 7 Ze ft5 Z5P_@Nefefefe7f e Nefefefe:f e  \$<7_NefefefeJ e eNe 5 u-_@ @aA Aap f  ww  5 @@mH@ @a @@mȋ- @&< % nww p d5 5 5 "@09 M *AWp B`eu @@ww  527Z y ] ^  (%7 `w\f@wwwLf@www*f@@& HADCBF7F  !"$(06J $ B L%  " %F   Wt p 0 e%>TWpWtN( 1 8 5 7. L%f "%` "%2 2z |M BF @ 0 X- 7 X- 7JD :  v: & & &e&  P#% wnw ^%(`#%ș%( #5 %ww %(dN P(%N  % 5 @p l5% % %  @0ww  fZ h%fH F%5% Nb @wTw B f h%f %5% Nr w w  &" 5 0    f >  5 @ A p %d@ww  %dR 5 @ A p %df  7 rn p bw6w $@ @m H @ @m 55 }   %                   P(&f p e% G_L(N P(&f F &f : ee%@@m@me-H je%  @teU   %ze% @teUDm  %z   %Dm#%  @tU"e# jz%z% w\w L@etwHw 8t &% b  d< 2& >% dd7Dڐ4e% Nf f f  eww  5Nf  5 @ @m %= @ @m H % DwXw F "   wB w *%dldd @a0 -R   7r@D@a@`02@am  7rD - 5.e50 J D.D-0 J & & % @`2 J -@0m!  J D-0wLw :~wP DeF  @  % B w7 , 7 , ׯ" -   (w 7   .w[ r< ww7TDr7Nr7HG7Btz7<x76u57$PPR`0  ȋ ` 7  CtEe  e &55F { e[f W  W C G[tEm(>  0 "& A4477ww N H,e 5  I  `5?Nf ~*%  !Nf b de >% dd2e R6Nf d  fw2 NB 42 w w N H,&e 5 Nf& ~*% ; 4 %d#Nf d d&e >%4  c4e R6 apw.w DCe - NK 42 w w N H,&e eB J ӕ- R r f e0 @ >  ҋ D~8 ӕ0 $f v Le0 9eX R J D 74 we&  m    B ~  B   B ~ w7  0   Wp `e0eӕ?f  , P  @f z 7Vh  ^ V -P H f   7  7 7  AA|AxAl7@`fA-=================y$s=t..vtvRw88qqqqxr=====================================r.s=======================zz=s=uu=.vtvJy|y=h  /etc/initmem = %l no clockiinitno spacebad blockOut of inodesbad countno fsno imtInode table overflow panic: %s %s on dev %l/%l errbn%l er%o %o swap errorno procsout of swap spaceswap error 5 *  a5Nf X-  e e w  . 5 5 KNef b 5 @ ` %5 @tp-d@tp-f %d ap%de% dd%d 5#4e R6 NU 42 +_+w N H,%d  apwdw TX L-%d%d Nc 42 4 4  e%v ڂm 2ww Q X *#  d 4ܜܞ& >% ce%v ΂b̵  & .  `Qe %7 6 iwTw D & 5  b5-(5-$̵̵X 2!e%v t 2{ 1c w e %ɂtt̕fe v$ f b 5 dd .fe $ tl5eSee  ddw D  /4 & ,  & .  `Q 4 d  ddf b 5D@E5 `N (5@ `N d d dd7 H%@ `72̓w Hڂڂ ؂ ؂ Ђ Ȃ Ƃw(@ b" j w ğ  | tEw^` "jKw ?ww ww DCB~ww D 5et DL  2 X@ f& nhe  2  fB L%47z R6ww v$0 e44@m- tLm  Leww |s %/& X-  %/   rr . _&Or _$OE%@@& J H  r %VҐ %/%V %/Or7 Vr7 Pr>r5 & v$ 72r5 *r$ N dd% & J 7"r @e7q5q N ddq v$ & 6; & b 5X@&qE` >%eq xq q  `Qww BʵL H,Ee5f v$  b 5f $ tA@lee ʵxveʵTeTN cw"w D5 pe5[ U5HN& b e5 1e@-%& b 5e5  N& ) @p- dd& ) ,ȃ ddN& ) = e@-E4 4 w*w ޏ * w@U4 }  0w @ X@54 et& L%  .ww _T@  e %b t-0a 24 tPe?tEet DL  2e v: & & &etr7 hN 2Z e& nhe3C  v:  # #  >% L wTw DD  &B L%w$w  @E%U@e 7h@  xZ> 1 lqHZH` %V N dd% & J _pMw5 .qf X- _|M_vMw LpE pwHw 8p p "%jpw$w  x *# X(pq Jbq^qVqʕ2˕3̕w3@ 0  .w D% 4 3 5Ee R6 `Q Ue 5  8Q, 7 o7o 2o `Qw,w Do 8Q  `Q7 o  `Q o o B w%7ZHԔ%VTDXFl 3d .ww Ce 1 1@ %%B %d%l%o %o  1 %s 1ew*w Nf v$ N& 1 Nf $ e0 1ww D x 5t t tv%  1 1 1 1tww wJ N 1 ^w h@@&f 1ewTw DD  42 Nf& 1ew"w B _3E% Wp l _3BNeH 1 NR 1 ` 2 < B   |& 6wNe "%  7~ENe "Ete%)N "e "E?%?Ete "e " 1  N " 1e "~f~ pB$3~d-~'~_AU~5 _A _@~ B _A_@C~ !  E _A _@w ,~ # 7~ww d}ww ww  t-N& B e%ww U `Qe 5 7 Lo Ho@o 5 70o 3 `Q5Ee R6w dD& 5 ̵wLw mw:m6mw2m.m(m"mm &e@@ A @e56mpNf " @ ef " & b" ҋ@ fe " k5 k k 5 k5 e%  m~l %rl0  %6 .N dd%  @$e 5 \ X A Dww u-@w@w u-@w|@w fC@Dm*Q]5# &Ҋ 8#Ɗ& P#%jw`B 2$      T= w \ %   t̕t n7hx R6   #w| t̕t Pw JC 2  x6e~w4w $D4 ̕ 7z R6ww DEted`& && &e7 \{t7T{7F{ 3 .7{ ww { t@-@@ & v$ {e {{`{~{ &e  wFz` v:zz@lL{ & #   $ ` {w {rzR ̥ -z Tz0- e%7z: ! 5 7 jzjzE7\zT  x6! 5 42۸z (y7 ! R6w2w "y-  w7 ! R6 _G xz "%_G " R6 ww 2lt7k ww @k%   Ie%k .  DL  2 d  >% cj&B L%̕ ,  R6 R6 ,  ʥ x6e% e%ڂ w   Bj, n ʥL k b  L% 2 2 22 2lj 2$   2$ lj 2$   2$ j dd1ʥ   ZjVjWtUp% :ww ~x 5  ̥  5e%%4z  tD mB DL J X E%̥.̥+e%% E%̥̥ 5e%%D  & >%_7@ && nhe ,m D&& nhe et& L%4_7 2ww   # #7` 7 27 "%e "]%Z 7 ~ " Krl "  ^ " ;RL "Bڃ e%%6   % " my ye UE_Fx_F F _Fw M  2  e  5#   &  e   3ee3@E%  x x f  xw d%<^_RI5f<J J B 2-@:-60 R65"b R6 ʋ0 x6e% (Hi 5 _U 3iww ,i ˋ e% i  ? i7 i7 i7 i7 i7 i7 i  ii1`wDw 4 Vie?tE ViJi P(t  6i4ie`,i&i i`i &e ` i jh`hh& #  N v:w v:*h`h & #     $w V fXwVw F fXwFw 6Ch I>̰ g8>hg:hg7g̵ % O  P7g7g% 2e% ʥ     ~ fю #  #wlw \5 7 $ѷ  ̋ 5- e%D 2̕  4%@ ` #D7BCB DL 5˕t # & & >%˕ w\t N f # w &5tu- NmfNB L%? #NB DL E%  r2d 6e%ۂ`7Zx R6@E%@e 7w  Dv 6wVw F B n e e   !tt_ww C % w Ov w D̵Ee R6e R6 E& :J wrw bDE72 yfWp j% .w&ft (w DE7 y- fWp 3gbg&e 2$ gNg? hww  dO M   g g& jY%ww xdO M fgE 0 & jY%wBw 2 CB%5 J 5 J E%@f{f'  / `Q "E .gE J ;f @ 0  .ww f If 0  Iwrw bf ID̵e=jf%^ft 5Rft5%E 8f5    x5mfe 2$ t #N& >% 5  Nm # u-fB L% # wvw f@55S@5/5LN (C5 @ @m@ @m0  %@0 d@U@t55@ @mBN (0 w@ @mN ( d@ @m7 B%@ @m7*΀@ @m0f b %4@tEe5 `N (5 dd@ `AH hft &%-?uww DC% H,u% u!̵ u %@5I 7 tt7 tt0 tw6w & dO M   7 t   . ww twst w   ?:uw؄ %Gtw   04 4 whe%! 1sw XCK-smK ew0e  w BD e D-m tm@m-*4c &tw E5` w  dO M A!e6E%@ +eedO M d .de0- .d 0 .ww   dO M d d  e 0e .ww  $efe 2$ حҭff @$e  w @$e Nf @$e w|wxZ 5w (d I@d& \ ww  dO M  d& \  .ww  f . @&e v$ @& b @&e $ tle@e5 Nef " e % f " e % ddw8w (c I  @ ww 5b"cb dO M  5   X  " Ib .w e%v  b& f@t &%bf b a dd2J d2& >%22>bE2 dd `Qw 5ya;X " D6& r! @5 '\ %D  % 5\ %B  !%5DeD-w *BCE% 5 5 %%% B  Ll4%5%A%Ze  r! 5 % %  R6 r! 5 4n  owxw h CDE%5 _o% 5  4n _o5tҋ !\ 4n %a%ze% 5 4n _copyout"P#_copyiin",#_copyiou"D#_idle"#_savu"#_retu"#_aretu"#_spl0"#_spl1"#_spl4"#_spl5"#_spl6"#_spl7"#_copyseg"#_clearse"$_dpadd"2$_dpcmp"@$_ldiv"v$_lrem"$_lshift"$csv"$cret"$_ka6# _bdevsw#&_nodev"=_nulldev"=_hsstrat"y_hstab$$_hpopen"s_hpstrat"t_hptab$._htopen".v_htclose"tv_htstrat"Rw_httab$8_cdevsw#h_klopen"8q_klclose"q_klread"q_klwrite"q_klsgtty"xr_mmread"r_mmwritee%v Wa*b 5-=ae %& f@t (% .3  ddwrw b dO M E%``-t` .w*w xaww @|axa8ww ^aXa7 R6ww ğ>a7^` 7N`N`07D`ww 8`aa,`ww ğ`7` 7 `7 `wxw h_``_w`w P_? `wNw > BwBw 2`%  (  _0ww dO M 3 `Q_ X-  2e & r! Ze5 E B xfʋ=ʊ;tE5%ʋt&e 5 % tE5% U@%  e &U r! w5@tE5%% w ̴D owĴw B &5"e !%EP4 Eo VI%wZw JD  l   e ! T= ww D# . o@&e 5 %2  ".s_hsread"z_hswrite"z_hpread"u_hpwrite"u_htread"Jy_htwrite"|y_rootdev# _swapdev# _swplo#_nswap#_canonb$B_coremap$B_swapmap$ _rootdir$ _execnt$ _lbolt$ _time$ _tout$ _callout$ _mount$X _mpid$v _runin$x _runout$z _curpri$| _maxmem$~ _lks$ _updlock$ _rablock$ _proc$ _text$_inode$b_icode#_mfree"L_printf" 1_min"5_panic"2_cinit" l_binit"f_iinit"d(_iget"X-_newproc"@9_expand"v:_estE%@ \_XP_L_7 `_ 3 . .ww  dO M E%@^ .@& J ^ .7^ `Qw@w 0 E^E@_<_E4P .ww   _ _  .ww ^%% I^ ?_ ^4^!(^0ww 5 ^^    ,% ]7] `^& B e%܂ ]w"w  0^ " e$^%ww ^E7Z^^V^^R^^  4n  oww DC 33w k w dN8CteBN sDuepeeH3 #@UCU@ww ܲDueB k4wβw @teB Rpww @teB pww DueB o % e R6whw XBteBU53& rm w4w $DueBN& p ww AB $ ME abur"&_sched"6_sureg">&_nseg"P(_nblkdev$_nchrdev$_buf$_bfreeli$N_bread"b_getblk"d_bcopy">_brelse"dd_alloc"(_getfs"H,_sleep"5_badbloc"~*_wakeup"R6_clrbuf"f_prdev"42_free")_bwrite"c_ialloc"*_iput"._ifree",_update",_iupdat"._prele"`Q_bflush"i_itrunc"/_maknode"0_wdir"0_writei"3_panicst$f_putchar"1_printn"1_deverro"X2_readi"2_bmap"6;_breada"c_iomove"65_bawrite"Nd_bdwrite"d_max"5E7F^ww Nf d 5wU &@t *  ew ~B N d N d 5 U &@t * #N d N d 5 dd U @t * N b w ew DE & t * 5 e dd5 jww D t,%?%8 NdU ddw^w NDU cwHw 8D5@ R65@йE@ȹN R65 V 2EH0 Nww ؿD@tE m.E@` "__ M T= w~w nL7 L7aLB 2$ wRB $ LE .L LtE mnE@` 8" __ 쯾w D>  ww D Ete@ "U XfL4  $  v$  rWtPt r4` N73-, 3-,3f  _cpass"=_passc"T=_file$h_issig"C_setrun"x6_setpri"6_malloc"DL_xswap">_swap"nh_xccdec"X@_xfree">_xalloc"?_sysent#_psignal"B_psig"C_trap1"pB_grow"E_nosys"B_nullsys"B_ipc$!_signal"B_stop"@C_procxmt"zF_exit"T_core"JD_schar"PO_namei" M_access"J_ptrace"E_rexit"T_fork"W_read"FX_write"VX_open"X_close"Z_wait"U_creat"$Y_link"Z_unlink"`_exec"Q_chdir"a_gtime"__mknodt, s-3! w  w @-ط 2N %N0<U@"N 5 @t, 2 t-t-  b5U@& < (fw & (f5U c0003t tw D ҽ& 5 5  jww tD 00UwTw DD5  LhU5 ddE@ R6w w @ ~ww N7777 WpDew֯w ƯVJ t&& geww 77 5@" & X2%5p   5 ~ ͑ Ǒ U77 Xf Nw w N u fCt fieww N u  fCt fiewʮw B $ BJe v$ `@Et0!J ww nDE%DCIDC 0 LC \C f v w8w (DE4DC f v f v f v ww D 5 "[_chmod"la_chown"a_sbreak"hW_stat"\_seek":Z_getpid"L`_smount"]_sumount"^_setuid"__getuid"__stime"__fstat"t\_stty"Xk_gtty"k_nice"j`_sslep"[_sync"^`_kill"b_getswit"__dup"t]_pipe"O_times"b_profil"b_setgid"`_getgid"4`_ssig"a_timeout"VI_getf"I_closef"I_closei":J_openi"J_owner"vK_uchar"dO_suser"K_ufalloc"K_falloc"K_readp"O_plock"8Q_writep"P_rdwr"fX_open1"jY_stat1"\_get Wpe!tNf`07X dd % & @ e wpw `DCL @ tEWt@PUA5UUw&w DC%F L EtUA5U8U0wڼw ʼ%FF5 U@? 5 5U BU  e%   e%0w`w PE 5@t? R67 fw>w .? ^U@& 5 5@ U l@t 7 w @t7@tE7d5 tE( 5 5*%@EUEU: 5 *E%@U wZw JD E e\C - - U f Xf!55 4  0 707x  wެw άha tE(%@EUEU:E LCDC5 U7 Xf-- &Y  G &[ < &&& geww O E5@ *5* %,CDCmdev":__buffers$!_swbuf$?_tmtab$?_iowait"e_incore"d_geterro"j_notavai"(f_iodone"Xf_mapfree"Lh_devstar" 0){ s = s/10 f = f + 1 } scale = t + f f=1 while(x > 2){ x = sqrt(x) f=f*2 } while(x < .5){ x = sqrt(x) f=f*2 } u = (x-1)/(x+1) s = u*u b = 2*f c = b d = 1 e = 1 for(a=3;1==1;a=a+2){ b=b*s c=c*a+d*b d=d*a g=c/d if(g==e){ scale = t return(u*c/d) } e=g } } scale = 20 define a(x){ auto a, b, c, d, e, f0/1 RF0 100000 - error 040000 - freeze 020000 - write check error 010000 - data parity error 004000 - non-existent disk 002000 - write lock out 001000 - missed transfer 000400 - disk clear 000200 - control ready 000100 - interrupt enable 000040 - extend memory 000020 - extend memory 000010 - maintenance 000004 - function 000002 - function 000001 - go 1/n - RKn 100000 - drive error 040000 - overrun 020000 - write violation 010000 - seek error 004000 - programming error 002000 - non-existent memory 001000 - &` `"%4 z77` _  _Z 55@ h @- @ h 5 u-S " 5 _ @ d 5Ne2] " 5 _ 5@ ^d/AWp#Am %@ dAWp#Am f fe0h " eNe2fe2 " %N@ &h B@ `d AWp#Am " 2N@ &h u-"NAWp#Am f fe1 " eNe2fe2 " % u-_5 _N@ &h 7%@, g, s, t if(x==0) return(0) t = scale f=1 while(x > .5){ scale = scale + 1 x= -(1-sqrt(1.+x*x))/x f=f*2 } while(x < -.5){ scale = scale + 1 x = -(1-sqrt(1.+x*x))/x f=f*2 } s = -x*x b = f c = f d = 1 e = 1 for(a=3;1==1;a=a+2){ b=b*s c=c*a+d*b d=d*a g=c/d if(g==e){ scale = t return(x*c/d) } e=g } } scale = 20 define j(n,x){ auto a,b,c,d,e,g,i,s s= -x*x/4 if(n<0){ n= -n x= -x } a=1 c=1 for(i=1;i<=n;i++){ a=a*x c = c*2*i } b=a d=1 e=1 for(i=1;1;i++){ a=a*s data late 000400 - timing error 000200 - non-existent disk 000100 - non-existent cylinder 000040 - non-existent sector 000020 - 000010 - 000004 - 000002 - checksum error 000001 - write check error 2/n TCn 100000 - end zone 040000 - parity error 020000 - mark track error 010000 - illegal operation 004000 - selection error 002000 - block missed 001000 - data missed 000400 - non-existent memory 000200 - tape is up to speed 000100 - clock simulates timing 000040 - maintenance mark track 000020 - data track 000 ^d-N@ `d@m &h NAWp#Am f fe1fe0N@ &h (@ @- N@ &h Nefe2fe2fe " e u- u-_t " 5 _L@ d @ d " _Hu-@ ^fNf 5 _4N@ &h  r eA! y!@ ^d AWp#Am AWp#Am N f " N@ &h :@ 5d 1A " '@ `d b=b*i*(n+i) + a c=c*i*(n+i) g=b/c if(g==e){ return(g) } e=g } } 010 - data track 000004 - data track 000002 - extended data 000001 - extended data 3/n MTn - no messages 4/n RPn 100000 - write protect violation 040000 - file unsafe violation 020000 - non-existent cylinder 010000 - non-existent track 004000 - non-existent sector 002000 - program error 001000 - format error 000400 - mode error 000200 - longitudinal parity error 000100 - word parity error 000040 - checksum error 000020 - timing error 000010 - write check error 000004 - non-existent memory 000002 - end of AWp#Am " @ `d-359@ u-_4C " u-_E " J " ww |@ ȋwt@ } w N 5  @ ȋ@w<w *@7* yw w %a %z %Z%A ww  5 9AWp B`eu 0@ww Nf 7 yw~ w h @    @wNw <Nf  7J yw$ w u5 W[illia|]m [I|1|the Conqueror]:11:W[illia|]m [II|2|Rufus|the Red] W[illia|]m [II|2|Rufus|the Red]:11:Hen[ry|] [I|1] Hen[ry|] [I|1]:12:Stephen Stephen:12:Hen[ry|] [II|2] Hen[ry|] [II|2]:12:Rich[ard|] [I|1] Rich[ard|] [I|1]:12:John John:13|12-13:Hen[ry|] [III|3] Hen[ry|] [III|3]:13:Ed[w[ard|]|] [I|1] Ed[w[ard|]|] [I|1]:13-14|13|14:Ed[w[ard|]|] [II|2] Ed[w[ard|]|] [II|2]:14:Ed[w[ard|]|] [III|3] Ed[w[ard|]|] [III|3]:14:Rich[ard|] [II|2] Rich[ard|] [II|2]:14:Hen[ry|] [IV|4] Part 1 Hen[ry|] [IV|4] Part 1:15|14-15pack 000001 - disk error .  @$ wu- . @   u-uRL HA H=@w ^%0%9 wVw >O " 5 '@ `d AWp#Am " N@ &h Ne2T " u-\ " ww F@e7(]@e5J% w]e   % uew\e_x f@& %_x %ue-\l \r0\0 5 h5:Hen[ry|] [IV|4] Part 2 Hen[ry|] [IV|4] Part 2:15|14-15:Hen[ry|] [V|5] Hen[ry|] [V|5]:15:Hen[ry|] [VI|6] Hen[ry|] [VI|6]:15:Ed[w[ard|]|] [IV|4] Ed[w[ard|]|] [IV|4]:15:Ed[w[ard|]|] [V|5] Ed[w[ard|]|] [V|5]:15:Rich[ard|] [III|3] Rich[ard|] [III|3]:15:Hen[ry|] [VII|7] Hen[ry|] [VII|7]:15-16|15|16:Hen[ry|] [VIII|8] Hen[ry|] [VIII|8]:16:Ed[w[ard|]|] [VI|6] Ed[w[ard|]|] [VI|6]:16:Mary Mary:16:Eliz[abeth|][ [I|1]|] Elizabeth[ [I|1]|]:16-17|16:Ja[me|]s [I|1] Ja[me|]s [I|1]:17:Cha[rle|]s [I|1] Cha[rle|]s [I|1]:17:[Om._..x.fcorey.maila.outxx.j\ d\ T55 5 N\5 F\ r e^A! y"N J Z@YN ?N :u6@E?[ [-@e5=5e@ffe& @e 5 @e5 f@& % ?[@e5N 55 @5@@5rff %@ f@& %@ ff %@ @e7ZZ Z5_ %f& %wX w F  0Z Zw< 5  @A tE5 @eliver |]Cromwell [Oliver |]Cromwell:17:Rich[ard|] Cromwell Rich[ard|] Cromwell:17:Ch[arle|]s [II|2] Cha[rle|]s [II|2]:17:Ja[me|]s [II|2] Ja[me|]s [II|2]:17:W[illia|]m and Mary W[illia|]m and Mary:17-18|17:Anne Anne:18:Geo[rge|] [I|1] Geo[rge|] [I|1]:18:Geo[rge|] [II|2] Geo[rge|] [II|2]:18:Geo[rge|] [III|3] Geo[rge|] [III|3]:18-19|18|19:Geo[rge|] [IV|4] Geo[rge|] [IV|4]:19:W[illia|]m [IV|4] W[illia|]m [IV|4]:19:Victoria Victoria:19:Ed[w[ard|]|] [VII|7] Ed[w[ard|]|] [VII|7]:19-20|19|20:Geo[rge|] [V|5] Geo[rge+ .   # & ) , / 0 3 6 9 < ? B 0?fZ bZw @t5E @E5% e7@e0?Z Zw w 5 %9AWp AmeuY5 Y%0 Y@w^ w L Y YwL w : @e5 @ -Y YA r }eA r 5 @e@-= e 0@?0Y ,Y@e@-w w  4 % n  %@ 5%f%F5 5 5 - 555 5 B5 @5 5 B5|] [V|5]:20:Ed[w[ard|]|] [VIII|8] Ed[w[ard|]|] [VIII|8]:20:Geo[rge|] [VI|6] Geo[rge|] [VI|6]:20:Eliz[abeth|] [II|2] bI & 6  vw 4 z7%9 ef l rf  7^N, " %  >Dfe2 l Ne2 Ne2  % w6w $H " F>cH\5 5 @ 0 ^f %Ne 5 @@m_R@@m  _B@ AAmeph@ 0 `d1@@mn@@mN!@ `d@ `d@ 0 d@ A phh@ 0 `d @@m  @@m NNme  A  B5 um555 B5 u-5uWA5 B5@5 % "0 . @@50 u-5 )55e0= @ @-. 5uu5 B5 u- A >E @ 5- dA r 5u-A 5re0= A 5ruA r 5 = wZ w H 5  @ ȋ@w6 w $ % nu  Shire:Michel Delving|Hobbiton Mordor:Minas Morgul Gondor:Minas Tirith Umbar:{City of the }Corsairs Rhovanion:Esgaroth{ upon the Long Lake} Rohan:Edoras Lothl['o|o|o']rien:Caras Galadon Breeland:Bree Arnor:Ann['u|u'|u]minas Arthedain:Fornost{ Erain}|Norbury of the Kings 1d@ d @@a0 @@m @@m @@m0 %_ 5 _Ma l _&.aa  @ ad~a xa@ 0 d5 _%  XaTa5?Ja Fa@ `dRN@ &h R .AWp#Am N AWp#Am 1" AWp#Am &@ A `fA`fp^f AWp#Am 1  AWp#Am Q N@ &h   u-AWp#Am Z` _AWp#Am R u-.` *` l=%  w=@w  ^% nu @& J @ 5  J @ww | % n %N  AWp ebhu@ N  @  f X @9 Gfe@&@p&f e  x@N   @@@ @ A@ wxw f " Nf f fff " e  Jb lw8w & @&7^  y 5  f  5 Nf X @wf  5f lNB  w  ,%X n %@wAWp ebhu@ N`  @ f X A@ HA1`@A@,@ & f 0%@ @@p&f T% @Ns  @@0 w ,AWp ebhu@Ap@A p N %xNef  %(  = % $ !Ned 556:84{(C(n,3))}:Tetrahedral{ numbers}|C(n,3) 1,4,11,20,31,44,61:100{(n**2 base 8)}:[Squares|n[**|^]2} base 8|octal squares 1,4,16,256:65536{(2**2**n)}:{labeled }boolean functions|2[**|^]2[**|^]n 1,6,28:496{(perfect nos)}:perfect{ numbers} 2,7,1,8,2,8:1{(e)}:{digits of }e 3,1,4,1,5,9:2{(pi)}:{digits of }pi 3,7,31,127:8191{(Mersenne primes)}:Mersenne{ primes} ;3&:%46 -% %&,;42&86->#-D2*JP V#\* b&H #%&h3+q>-"!*<>$$!3#>-3#>44##<5-6.' >4 & 3# & %" <;. 9 4 : 89@ F 1*L *R 4$X ^ %d j ;4p &4v "4| & ?> $( > $ 6.& %  $ 3+ "  *$ 3# *  % %.@ p@Aedp@=@p @A ehp@=@%  @t5pww | 5 N  % N vwdw R ]%YAWp ebhu@  @   x& f 0%@ff T%@Ap@0 @  @%@  @ 0 N Vw@ &f 0w nN wpw ^D m" a2  ew.eE !݃%%Wate for me at the gate.:wait No, he couldn't go eather.:either Speak softly, plese.:please Does the horse kik high?:kick John never told a ly:lie Poor cloun, he hasn't any friends!:clown No scool today, it's snowing.:school Cawl the kids in out of the rain.:call When the clock strikes, it will be sevin.:seven Corn flackes are better than puffed wheat.:flakes The pear was biten in half.:bitten That towel gets you only haf dry.:half The keeper feeds the bares at eight.:bears The son went behind a cloud.:sun  "4     $ ;  $$ ?>* %  >4 5%: :R %X ^ -/d j =-p  | * ! %     $ *$ :   $  )  *$  6&  /  % +2v ! #  ; $+0 3+6 < <>B  H -N $T "Z *"f 8;l r <>x + +  # 8<   <  8<   <3 ~  #  %  -5 %Je w De!c bb! c33ww zf T% T% T% wJ7h ^  ӕ- ӕ0B~<ӕ.  ӕ0~ B~7   ӕ-ӕ. B~ӕe ӕ- ӕ+ r e0e0Sf@w fw`w\wf@wDwf fw.w*wFf@www$fDid you see the monky at the zoo?:monkey  ;  "  $  %," ( . 4 4$: @ "F L ;4R X ?<^ 4j p v $| 6&  %  ;4  " d  <3    :%  ;-  "  0  -#  <>  0   ;-& $-, "2 8 <>> 7'J "+P  V ;3\ b :%h -t -z  %  "  ;#  :% n  ?<  <5  $D % 1! %  3* $` $* wmwwmfwww f@www f@wwwf@fA w,lw"fe"w"\ew"R@lw"JAlew= &@t`e @& HADCBF7MFf@  xM h"M @h h$$ttyЋ7M@ Mf5w  * f5w t }7 tMlMW&fi 7 TM@% HM@A= @ C F 2 5 8 ; > A D G H K N Q T W Z ] I L O R U X [ ^ J M P S V Y \ _ ` c f i l o r u a d g j m p s v b e h k n q t w x { ~ y |  z } >- :%!! $3#<>$!-0 63#< B$HN<>T$*Z*`!j>-p$%v5%|>/ <: % *  7' /%%>/#<:   :% 4 # <:":(.>-4 :$ @ F4$L$R*$X# j p #|-#4%v4#* #4 <44 #-#?<<44 #&@0i7@L> Be0# @iє 0i    BA   W 0ie B@e0im L` ieȐ9 ȕ0 iȕ1 Lz L`0iiVVH\&')679!)19bbbb ( ( Nnt t | Ss -ms/usr/lib/tmac.swhere is input file %s .TS.TS .TE.nr 49 0 .nr %2d 0 .nr 48 \n(%2d+\w'%s'+%dn .if \n(48-\n(%2d .nr %2d \n(48 .nr 47 \n(%2d+\w'%s'+%dn .if \n(47-\n(%2d .nr %2d \n(47 .nr %d \n(%2d+\w'%s'6Vienna GameKing's Gambit Declined%5& , 2&%8%>.&DJ#:%V$\*#bh2*n t"z %%:% ") <;:%P.&$&: ?=$% . %:%$%*6/0 /6./<B1)H N T=- `?=f l%rx&~.&Z 28<;.&'<;56.':$%#".#*#:d>-#$^(4.->-BH<:NX:%^:jp v4| d*<::%>- 4     :## *<##3#7/2>48>%D:, P7/V\%b h#n t>4zJ3#, ")$;"$ #"" !>4 4  6?+%dn .if \n(%d-\n(%d .nr %d \n(%d .fc  @ %s %s@@%s@%s%s@@%s@ .fc .TE .ta \n(%du fr!"%(!&! x f x J T f x J T 4 ^ 4 ^ x ftoa gets puts .Rcgetc cgetc: %d illegal file numbercgetc: %d not open to readcgetc: error on %dERROR arw, &:copen: bad file %scputc cputc: %d not opencputc: writing %d`: argument count wrong That's all, folks 4i%#2 %"$ * 0-.-;6#<;-F<>#R2*X^$dj0(pv |<> 2*-58<$:5$8<$+:#$*#%2* "-5# <>&, 2# 8;->&-H7/N% Z8;`f l&;r-x~:%%<> <> :%%" ;4&4-# 4#65% <:$%!$:%*4: @;#F$L#R!X3#^;4 j>-pv5%| %:%%>- )*4!0 ") 5% 3+L $ d! ;#:2* &-,#2+$8$>  J P+V!\ 4%h n*4tz;<*$D*4b:,<>  =+-:,  :% ;+ %ew/dev> #  +#% "&?>&/26-8#->2*DJ S<> ^,d j" p&;v-|%,:% &-LT  ,#X%'% "#?=6:% <;.%$-.*#0;-6&-<* 7/B3 R%X^;+d&j:%p%v+"|"0(?<<::3;4 6& 7/% : % =+<> -=+$ */<>6' <6.B'H+#N TZ `*"+#0=4fl1*z$*7':%$+#$3+ 3#3+;4 ;<>?#*<>#*#   =4:>-"#(1*.$*489@"F4%L"R<>X^*"dj>4p v4-|=4-.#1*$*3+ >-3+:;-$&3*" =4>-1,1,2,1,2,2,3,1,2,2,3,2,3,3,4:1{(1's in binary nos)}:number of 1's in binary numbers 1,1,2,2,4,2,6,4,6,4,10:4{(phi(n))}:Euler's [totient|phi]{ function}|phi(n) 1,2,2,4,2,4,2,4,6,2:6{(diff of primes)}:diff{erences} [between|of] primes 1,2,4,11,34:156{(unlabeled graphs)}:{unlabeled }graphs 1,2,5,14,42,132:429{(Catalan)}:Catalan{ numbers} 1,2,5,16,61:272{(Euler)}:Euler{ numbers} 1,3,12,60,360:2520{(n!/2)}:Even permutations|n!/2 1,3,16,125,1296,16807:262144{(n**(n-2))}:{labeled }trees|n[**|^](n-2) 1,4,10,20,35,#!+#% ";-#&-#,;#8-#>D*JPV 2\:b<>r*;x#~,##:, ;4#l%+##2* <>&7/&%  "  S &* <>")"($.4*4:#@-#F L:R0))^")d<='p-#v|) "*&#6&7/#Xj%<:#6-&-1*!*%3:%! #$&$,%2=4B&H>-NT%Z`*fl%3+<$r {2*&1!0( 3+*$ =< <>;3 :%%4%%5%  3+<>$ *>->406=6@F$L RFour Knights Game#p?7&7/?< >7&3#7/ #;4$'-+464+6 -4.-'">(.%;>4: DJ.=V$.\'bh3+nt?=z %  ;$.'' .5 ;& P7/-'$5>5. &<5 $"-( .*4#: 8:F!L*RX:3^ d3+j p?-';4 ($(3$&($,,(6-2(&-8(3*D(!*J(:3P(!V(93>(9*\(b(>-l(&r(9*%93&+$ (;4x(~(((9*( ( 1*(!*(<>(&(>4(!(3+((( (;4(="((; )$)3*)!*)+$$)*)>40)&6):3<)!B)9*H)N)3+T)Z)`) f)>4r) x)="~)!);))!)9*))") )2"))="|%3+(2"(9*)=l)3#)$)<:+)=+))+) 7$8#8-#8#893 8#&8+#,8283+88>8$D8 J82*P8 V80 ,52*73#87/\8b8 )t8 z8)"882*8 8 8!83#8 8488-886-8&-8+#88=;88#8&9*# 9#9$83+9 90 82*&9,9 )69 <93#3 &49*t4=<8;4B9 H99*.;4^9d9j- z9*9Scotch Game=<9<4997/99*;99!9,9 9-,999989   <> -*"2,?>8"#> 22 D2J=?'$*  2)#)<=' ) *&%5-&3+ $&<>+%<3($3.'4$:'@F )L R5%X^;3d j:p v;+$+3+$*$$<>#-# +"3+|--#*##%,)9*)*:, * *;-**+"*$#(*3#.* 4*-:*$@*!1*L**R*,3X*^*:,d*$,j*=+p*!v*9*|*$*#,**>-**$**;#*#*"%9*:%$)>-F*3#* *Ruy Lopez * *1****,*+$+% +9*++:,+ $+2"*+ 0+)6+<+=;B+;H+#)N+T+-#Z+#`+3#f+ l+ 7/x+~+#4+ +?<++8;++<5++7/+ +#4+ +<:+5%+ +93++:,+ +998<9=<:! :$; :' :-$&:,:5-2:!8:2*>:$D:'J:P:4#V:\:;-:*4b: h::r:x:;+::<>: : <:: ::3: :4 : : : : :;4: :<>~:+:: :%::<>;& ;9$:$; ;;-(;!.;-$4;$:;*$@;$F;5-L; R;=+X;^;;3!3j;-$p;$v;*$|;$;<:; ; 5,;,;,;!;:,;:;;+4;";<>; ;:3;=+;;#5;;?<45&5-&:%  &+, 2 +#>D2+J+P4+V\:,b h<484n4t;4~3*#*+ 8::1 1) ;-5% <>$$*#<>$$3+*0;46#4<"4B&H,N $T%7/` f-&l r6-x#-~: ) 3+&*Z" +<<>, $*" -#+#,;#,# ,#), ,<:$, *,:,0,6,-#<,#B, ;*N,T,:%Z, `,<>f,l,*;r,;x,#4~,,;#H,-#,#,&$,,%,,5%, ,>?, ,:,,,3), ,<>,, ;2,-<>- -2*--4.-$--3,:,*- 0-*4:-@-3#,3+F- L-<>r+3#,9*V- \-:p- v-3#|- - --#%--5%- --<- -2"--0)-)-4.- -*4-- =<-5-; <=+";:3d;;#< <#1("?=5=4==;4===<=&=7/='=7/='=:%o=7/=2*=;4==<>-+ <>;+"+"#4(".-#4 :* @ F- 3+LR <>bh;3n t:z$# ,##1)+#:, 3+3+<>4-#-0(  /- 8;&,:328<->D#+JP;#V#\5%b h0(n t>?z 7/-< 3# * *#- -#"\4<>#((!$-2).).3# . .#3#.$.0*.0.2*6.<.0B. H.0N.T.5- `.-3f.$l.$r.x.2)~.). .)0Z.3#..*.!.*-3+-0 . .<>. . ). .<>..#..-.$.2*/ /3# // //0 $/ */ )0/ 6/;4B/H/9*N/ T/*"Z/ `/f/ l/=//;4//;4//7///<>/ /)2// 2/o==<>=:%>& >.-.> >$&>&,>;-2>8><>>>D> *4P> V>;3\> b>=n>:%t>:z>>9*> >$3->>1)>>93> ><>> > > ><>>+>>!; 4$>$>+$?$?$>93J>$>9*>;4 ? ?3).?4?7.:?.@?-.F?L?$R?&X?;-^? d?<>j?p? |? ?<:??0 ??:3??3)??;4? ?=+v?$??$Z==+(?93? ? 9*? !?!1!  $*  ' " $(  . < 4  : ?<@ "F ="L R !?=^ ,=d 4/+#930$05-80 >0D0 J09*P0V0"\0b0<>h0 n0#t0 z0-#0#0 ;40 0 0 07/00300:00+#09*00 <:006&00;3011)11:,119* 1&17/,1 212*202"0 819* >1:,V1\16.b1h1+"n1"t13"z11;4119311;41$1*$1$1-116&1&17/1&13+19*1 1& )1#?#@ @;4@@  <>(@$.@9*<#?$@:"@="4@:@ ")V@ \@*b@h@'.n@ t@<:z@ @'@@;3@ @:@;) @ @ @;@ @9*@" @#*@#+<4@!@:@@6&@AA  AAA*$A$A9**A0A-6AA A(A AAA;A A" A AA&A:AAA!="5%6.X>-"" 6/"?> "6&">-," 8"$>"D"&J"?=/V"&-\" b"3+h"5#n">/t"P"z"<;"5"*""-" "3+"">-"-"*""&-""";&"2""=""3#'. #* # #<># "#=+(# .##4#:#'@#F#:L#5%X##,^# d#,#j##p#=4v#|#<:# #;3##:,#R##-####3##Three Knights Game=6' #6.#'#;## #1*#1*42 28;2 2,2 2#&2 ,2:22829*>2$D2;#J2#P2\2 b25%h2 n2:,t2z29*22-#2 2 2$2-#V2=<2$2"#*2 2 )2 2;#2#2 ;#2#2-#2 2 )2 3$2-#2=<3#3;&"3(3'.3 434-@3=fA-*B0B93DB& JB'PB&VB:%\B bB=B#*B2*B!BGorin Gambit3-BB;2B B5%BB93BB-#C C<> CC7/C C=+$CB#+*C-#P@=">B=B2*3C9#8CGiuoco Piano `CfC%&lC6&rC%xC C< C CCCCC"CC8-$$*"" #$ $!%Falkbeer Counter Gambit{@% F%>4L%R%;+X%$#^%3#d%j%9*p%v%!*7/%&%=4%%,3%%3,%$,%:3%!%<4%!2%4&%&%+"%!%3$% %3-#3#4933+# 4 43+4  40),4)24:84 >43#D4 J4 P4V4*\4 b4 )h4 n40z4 4:%4#4-#4 4-4#43#4 4;<46<4#4%64*#4%42*44)04 4-4#4 5 5-5 5$4)5 "593#252)85>5<;D5 J5+-P5$V5-%\5b5;+h5$n56-t5&-z57/5&5 :%55=55'55255#+5<=5'55#5)5 5;25&5-$5 55-5<C DDD'/D D &D,D2D8D>D<DD JD4PDVD8<\DbD '/nD tDzD< D>6D-0&!6&;4<& B&2*H& N& "Z& `& T&;4f& l&+v&!|&;4%;-&3$&&=+&$+&&=4&,4&;4& ,&7.&' &!2*&!&;4&'?&>-&7.&$.&6.&''$-*" '$'1*' ', $'$**'4,0',6':,<' B' 9*N' T'6?Z'5?`'-f'$5l'=6r'x'&~''9*H'6&'';4''=6''<=' ''6$'$'3$' '=6' '2*''6&'5)25-#56#6$6./<, 6&6>?,6/.266>86'/>676D6'J6>7P67V6)\6 b6h6n66-t6$-z6&/<6'66-6-6$26 63#6 62$6$6$665-6;26&63<6<6-+6&6:367;-7 773#7& 75-&7,7.&87>7%D7J7<P7V7.'275%\7 b7-.l7&r73#7;-x7$-~7-67$73#6$7 70(7 7%.7 7937 72*77#,77:%7 7;#7"E-F$ F+$FF:(F"+F $F#E1*.F!*4F<>>F$DF$PF3$VF\F)(bFhF")tF)zF$*FF$FF3$F F FF)(FF8:nF3$F0 F F=F F;)FF$F G93G!3 G;4GG9*$G*G$0G 6G9*JF:3G<=hGnG93tG$3zG :,GG9*G! G;)GG:3G<=G!G*#G$G#*#GGGG;4G"G 9*GG<>HH*#H$H"GG"4H  H*#PG$.H#4HDHJH<:PH&VH;4\H%bH,%hH%nH'tH zH7'H H +#HH<:H H;2H H+#H3=H H93HH <:H H-HH;2H H+$H$I,-II;4I I5,I=,&I,,I:,6IH3+mIrI-##I+#IIIIII*#I#I1!I+#I I2*II*IIII") W=+X&X#;:X&%X+4X4$X=4*X &0X,+6X-X X3,XX;4vX3*X2"XX*XY$Y  Y9*Y Y+$.5$Y<5*Y50Y+,.:Y,@Y!FY2*PY!VY")\YbY9*hW$W:3Y="hYnY#".V# #,YYDanish Gambit <>Y Y>-Y Y9*Y Y:1Y*1Y;)Y YY Y<>Yg-g hhh-#h"h(h .h84h :h:@h Fh&!LhRh!Xh^h1*dh jh=|hh=+h h>-hh;&h#*h(!h6&#h>-h6.'h/'h'h*#hh#h&/hh=+h i%ii-i i>-&i,i5%2i* 8i:3>i*Di89Ji:3Vi89\ibi4*hi#*ni+ti zi5%ii>4iPi iii&ii'i i7'ii5%ii>4i#iii&iII<>J J7/JJ-4:(J.J34J&-:J;3@JFJ6-LJ#-RJ2*XJ^J )dJ jJ" pJvJ |J#J >?JJ7/"J* J:,J&J<>JJ,JJ)JJ$JJ*4JJ;3JJ:,J K")KK:I:,J<>J7/K K9*,K2*mI2K-&BK -HK>63-NK-TK93^KdK6-jK&-pK vK |K) K K" K K;)K#K3#K&K2*K KEvans Gambit+33=K4K$4K93K#+K<=KY 8=ZZ=5Z Z:, Z &Z%,Z 2Z<>8Z >Z5%DZJZ-PZVZ;)\Z bZ"Z"hZnZ>-xZ;)~ZZ="Z Z="Y9*ZY#*Z 6.Z Z<=ZZ4-Z&-Z=4Z&Z#-ZZZZ:Z[$[  [#-[[2*$[*[0[6[9*[:<[B[Bishops Opening,.#2b[<>h[#n[4,t[#+z[%[[5%[[-'[ [ [ [:[[[[;4["[[ [$[[-#L[="[ i:3j i#ij;&j,>&"j<=(j.j3,4j:j?/@jFj7'LjRj-Xj^j=+dj#jj>-pj*#vj:3|j *j*#j#j5%j j j1*j&?6jj8=j j>?j6jjj j=j j j-jj:k k<>k k=k%.(k .k:%4k :k89@k "kFk>-LkVk\kbk&hk#*nk!tk zk;&k ,:k"k?'kk2+kk'k k:,k k7'kk+2k)2kk k<=k!)k=+ $KLL<= $L L L)L) &L#,L*#L LK3#L!L2*LK!L#RC2*|I3+K1!L3#LTwo Knight's defence :%0M 6M3#M MM3#M[ <>\ \;4\\0(\ "\93(\.\=+4\:\>-@\F\;#Y2*Z>-[5%L\U#R\:,l\=4r\ x\4.~\ \ *\ \$\ \;+\\#\ \3#\ \* \\9*\\9* %5%*>-S="U3#g\>4\French Defence>7]&]]6& ]&]7/,]!2]+28]">]<>D]J]>-P] V]5%\]7/ h]<>n] t]>-z] ]5%] b]];3]]2*] ]*4]<>]] ]] ]]6& ]8<]]<>]kkl l>-ll*l#k!"l1!(l#h!*j!2l0(8l/Ll&4Rl Xl ^l dl5%jlpl?=vl=|l>/ll<:l l:l!l;&l=+ll l2*l l(!ll*l!l1!l!l0(l l>-m # mm;#m m $m %*m0m 6m3% Tm Zm`m=fmNm lm#rm |m>-m m:3m!m0(m.mm4.m! m2*mm*4m m<>mm>-m m=+m Fl !ZM M9*N  N;-N N'<"N"=(N<.N4N :N:@NFN<LN RN;-XN ^N dN jN=|N %N N5%N N<>N N-$N N;-N N N! N2*N#N!N N3#N -3N N=O O*$O$O # &O,O9* O$2O"8O;#BO"HO!3)TOZO9*`O fO4=lO&rO-3xO~O:%OO+"O"O+$NO;4O$O-OO3+O OOOO O<>OO9*O O] ]>-^ ^;^^+^#$^*^<> 6^>-<^B^;H^N^+T^\0^"Z^*c^2++r^;3x^8< ^;+^ ~^+^<>^^>-^ ^#^ ^6.^ ^^ l^ ^5%^^^%"+^4%^^_ _ _3_% &_3%,_8_+>_D_J_ _2_ P_;3V_ d_j_2""p_v_*|_!_0(_; _4#_ ___* _(_9)_1(_89_#_%_ _5%__<>_ l m m m$m4# n=<n1"n<>(n.n:34n:n>-@nFn*4Ln RnXn^n=dn#jn#pnvn$|n;31n*$n!1n0(n$n+$n !n=+n n n$n$n n:nn>-nf$g!n n n9*n o\3# oSicilian Defence;*o,0o6o*?PP9*P $P3+*P0P<>6PTPZP;+`P$#fP3#lPrP1!xP ~P2*PP5%P=PP:,P P>?PP9*PP<>P9*#*P2*PP>?P#P<>Q PQ3#QQ-Q$%$Q#+0 0Q 6Q4?rQ#xQ~Q;Q0(Q93Q Q1!Q;<Q<>QQ(2QQ Q(QQQ9(Q_!1_>4_3!1`6-`-`;3 ` !&`>-,` 2`%8`>` D`J` P`- \`+3b`$h`8` `%``>-` ` `` `+ `` `'` `.'``<.` `;<` `<>a a>-a a "a%(a>-.a 4a:a @a Fa V``aLa5%Ra5%c^#daja*pa]^ !` za=+a a a=6 a6.a a>-a =6a>/ a6.a$%aa5%a aa aop"p>=p=p8=p p &p,p32p8p=>p Dp5.Jp.Pp#Vp \p"bphp'.nptp'zpp<:o<>p p;3pp="pppp.pp-.p$p+$pp4+p$p*$p$p=-p q-q q>?qq<> q&q+-,q 2q=48q1(>q89DqJqPq Vq#)\q1bq=-nq<>tqzq=+qqq1(q89q0(qq*; q%q'q-/q q=-q )9qq4"q qqQ QQ2*R<>lQR5%R R5%*Q3#$R P*R-4R$>R/BP-DRJR4TR ZR`R P fR"lR3+OvRN$R RM-RRCMRPonziani #,R R;#R R R#R$R R-#R#R65,R$,R-3S$S=4SS=R$S  S930S 6S3#*S3+-pb vb5%|bb2*b b6.bb$b$Xb b*$b &.b b;&b b>/bb'b b7'b a$bb$b>->4c c2*c c $c*#*c#4c?/:c@c7'Fc Lc<3Rc$3Xc=+^c%3jc$3pc&%vc|c>-ccc34*c>-c#c#%cc&#c#c<3cc/.c$3c=+cc<3c$3cq-r rr r9)r) r#)&r ,r%2r(8r=->r(q Dr>?Jr Tr<>Zr%fr4%lrrr$xr ~rrr*4rr>?r!r0(r(!r4+rr<>rr%rr#)r4"r r5.r&r>5rs6&s ss s* s$&s)*,s2s,8s(>s9)Ds Js3,Ps*Vs#\sbs=;hsns $zs sss$s/s#$s*4s#s<>"2s.&s#"s*4ss s#s+/s+.s63ss6sops Game) T T>-TT-"T(T9*.T*24T:T#*@T:FT#LT'.<;XT5^T24dT 'jT=?pT&7vT6-|T-T '6-T-T?=T<>T&T3+TT>-T T"T&T+2T T-+T&T3#RT"TT;-TT"U UM'?>U> U5%&U,U3+2U 8U$,;?PUVU\U bU9*hUnU<>tUzU>4U$U$U UL>-U!U5%U2*U!U;4UU#2*U;&>-U9*>U1!U3+U3#USUCe?/c=+c c d7' ddcd;&d$$d1**d=<6d#+HdNdTdZd`dfd&#ld rd"xd#~d2"dd=+dd*d d>-d!d;&d!*0d d3dd$d6.d$*d d:9d d2"d e<:e $*e <:e $e2"*e# ee0e 6e;4-e*,e:9ee*ee<:ee*e eee&st4&t tt(t3+ t ,t2t8t#>t$DtJt(PtVt)(\tbt3ht nt#ttzt<>t(t):09t3%tt3tt&t t%t(0t4%tt*4tt'&tt/.tt%'tu=%u u9=u u$ u&u-/,u 2u=-8u>u4+Du Ju#)PuVu9)t<>\u&tbu<>ts%luvu`rr=4uu2$u32u u>?u$u<>u( u9)uu2"uu=4u u*$uuunter Game!$ VV*V V9*"V(V&65,4V*,:V+2@V*FV.,LV#&RV1*XV!*^V2*dV&#jV,#pV$&vV%,|V#V=+V V>/VV3%V$V*$V$V*VV,-VV7'VV5%VV-VV"VW & W W6&WW")$W*W>-W5-0W 6W,.V="@WFW<:PWVW:3\W!bW':nWtWzW&W5-W W&5<;W;W! WW W=WWW W,4W,$W&W#?-*fe 0f6f;#Ff Lf8;RfXf%^fdf;4jf pf<>vf#|f="f f>-f f$f @f f*$f c!d$f:f7'f<:ff;+ff>4f f6$f$f=6g g g g:gg6.$g<: 0g;46g -rgxg$~g2* g$gg>-g *gg g*$gg%g g&'g g+gg1*gg:%g "4&v v9= v=v2"vv>?$v*v<>0v6v=4v$v=+vv3v v#w w$ww%w( w9)&w,w*$2w8w>w*$JwPw#5Vw\w3#bw#hw>?nwtw<>zw(w w w w w3w'w6.w 'w$ww#ww=w8 w<5w08w9)w(0w'ww# x xx3x"x (x.x4x:x>?@x Fx*LxRx#Xx 9=dx jx px vx'|x x= x(*x9=x>?x*#x= x*;2:x5=x=x9 x x#x9)x(*xy*$yyy"y (y.y=4y :y@y FyLy( Ry9=Xy=^y#dy(*x  y jypy'x~y3y ^x y<>y yy =yy+"y+y y++.yy&y y 6&y+ #  $ =+" (<:.;3:'@ F<:L&R-4X ^%dj="p 4 v;-|‡ ';-'>?* #ƈ-̈҈=<؈ވ4-640(=5$*  20 9:&,-212889> D+,J1P#-V \<>bh*$nt<>;+z=4*$ %+.*$ =4ĉ4+ʉ Љ#։?<#:9#0865 ,$+$$"+$-,*760,-66-<;-B="H#;N46T*,Z5-`#f6=lr80x~>7*+*;+*3441)7/Ƙ+3̘ Ҙ=;ؘޘ<>3+ /6 3  ; &*,!20 8 >=/D J=6ʗ:P , V#4` j6$ z=6;$*$$&6&.™ș'Ιԙ="ڙ /'&?=yy+z  z<>y+z z "z(z 4z*:z @z, Lz;Rz Xz=<^zdz9;jzpz3,vz |z<>z(zzz z3Fzz3+.z z z#zy z"z *zz,z,z3,zz#z {"{#=%{{3{!${)!*{0{6{ <{B{H{<>N{(T{9)Z{ f{ l{=r{x{~{ {<>{{*{{,{,{3,{{"{ {#{({!`{ z( {=4w*$x="{ {%{&-?<  = 4&" ( .-":4"@ "F=6L R6&X!^0(d j#-p v*$|# 4# 4& #Ċ ʊЊ֊+܊?< &' =+%   #4&܉ 4!   <:& @ <>L R=4X^d j1)p!*v|!;4F#- %$} X  5% p ʋ4&=<ڋ,4!4.6&  #4$)3& ,$+2"8<:> D:,JP&$V \$b%h;&n&t/'z*;%%  /';4:,:, Қ ؚ:, 2*&:," ;4)3!2&<=,! "$2?/8"B2*H!N$T` $lr;x &;f ~ 80)#)ƛ2*̛Z#қ;؛/& &Dw{u%v${1(|#)q89|1|,&,|2|2+8| >| D| J|5 P|$+V|.\|$b|;,h|n|*;t|z|>?| |1)| |"+| |+"|"|3"||8=||=5|&|5.| |)3| |,4||/,| |<>}  }'5}}%}"}'(}.}-/4}:}=+@} F}0 L} R};-X} ^} =4j}p}7'v} |}}}6&} }<:} };-} }#)}* }1};+hq;3&|#)d}0(}>=} }}%}-%&!8 25"(.4:2@$FL;&RX.^!d8jp v|( 0 *,>?, :,Č4.ʌ Ќ#4֌܌% 5% *4!% 7' ;#$#*>.06,#<#B-%H N&T Z?>`f5-l r6&x ~<>:,"0 %=<$ -/'/č0)ʍ)Ѝ+-֍'܍-/ >=.74&ޚ;%4ƚ%/̚%4&*%*#)4#) :@=4F;3V:,\P b&hr6&x##:!2"-!-*=Ҝ-*؜ Ɯ ̜ ޜ1!$;-8; 5,,:, "( )4:: .@FP#V#$\"b<$h$$x<$~ " r ; ##$ĝʝН;֝$<$8:}!%}$~! ~!~~*~"~/(~.~#4~ :~@~ F~ %L~!V~(!\~!b~?>h~ n~% z~'~!~(!~!~ ~ ~-~*~ ~~= ~:9~7/~ ~/6~6~-6~26~./~>6 &- -5.""2(45.#"434:8#@="F#5L+-R#X:3^*8d+j*p1:v|.&:1;&# !?> -.   ;+'.=- $.*'0*6 <B!H7'NT<>Z`4.f l:r x#4~% 5%,#8<<3 :,Ǝ;-̎Ҏ$؎ގ#;-: # >?<> #$&,%6<5%B 64N T.)Z'`46f/l>.rx<4~(/91":9/(?>   Ə%̏*ҏ/؏;<ޏ%3*"1: # :%""($.;4:,#@;)F$L<$R" ^#d:,- p v6?|- < # ;-">6 ;-ƞ̞<$Ҟ  :X j$6"؞=<ޞ<><;$;):3 $&=",#<$B;&HN"T"6 $Z2"`jp  $ v*| =4 &*, Ÿ?/ȟ/Ο=/ԟ ڟ/' :95-*  1!!~ ~  =/t~7'~%*  .+*4 :;+@"F1)L R$X ^*d "j#p v/|#!(4#>&!%$ Ā*ʀ Ѐ#4ր܀-,$% ?>-,>."$(.-44 :%@"!F# R-$X ^< d j$pv*|"!?>L?< "(! !=/  :3>ȁ< ΁ ԁ$ ځ!$ #!!"91 1 ! 43 " *&,)2 8#> DJPV!\(!b!h-#nt0(z :9#-<: :% % 5% Ȑ&ΐ Ԑ;4ڐ 6&  H 0(") $,+4"(4-. 4,:@>?FL8;RX2*^d;+jp<>v |* :*6= 0766. đ?7ʑБ=<ܑ֑7/2* <: +3 :,/' "(&.+3>:,D+- P/'V J \=6b 8l#+r% 5% :, &  |;# #6&89̠ Ҡ1!ؠޠ+" :;4 <> # &!*$8=62$>D=+,6&N  ~ Ơ T:Ћ=" =45%Г6.p7/^*!, 7/ 6&*:9ġ,#ʡ#С<:֡* , #-/* ! ;# -/"(#.4?<:/@$FL*R!X=/^ djpv |0(% &#$-$ $+$ $‚Ȃ΂%Ԃ ڂ:9 *4!;>   :9*1="!*".( .4 :>@*4LR;>X ^>dj=+pv|F$# /?> =6 ȃ$΃ԃ ڃ  / ;* 4">? $,* 06 < BH:,N T0 Z"`%f l5%r x<>~ #) 8;"+""Ē ʒ*"В֒:(ܒ1*!*2*- % $*$!*0 06<>< B#-H N;4T Z=+`6& l")r x<>~=":,;-&-7/& #-=+ fƓ  ړ 8:  -% $;3)#, 2"84">"D<>JP=4V \8(bh0 nt#)z;3&5-:,%5% >? Ƣ<>̢Ң=6آ ޢ6&0(4.:!$#4   o7/&t39*839*LFR-#X#b3#h%t&z6&,:"354-$4-#ȣ$Σ£ ԣ0(ڣ*# * # !ƒ&",-/2 8%>=+ DN X6&^ d<:j'54v8= |   '= <> =ƄЄ-ք ܄6. ?= 5##=4 <:-$#)*0&6 <6&BH<:N T7'Z d'5j p |  *#?== <:ą<>! Ѕ2*օ1!܅*;1#-% % % %" (,.41):@:FL%RX*^d4%j p7/v|#4<>=678 ##%# Ĕʔ Д֔?8ܔ>5/? =%%4%  %,/$:,*' 0+6$<5%B H;+N T Z`!f lr$x"~ 8 .4 '2" 1)(!4.ƕ̕&ҕؕ0(ޕ $*"1!  3+  8; &o5%,5;3:5;3F@Lo:,R _<>d_<>pj v=4| !9*2"-##3#*ʤ"Ф ֤:9ܤ?<%<::% ;-="$*$0 6#< 3B9*H0(#*^$dj;#p v#|;:&:3#<;;#$=R X ĥ-#ʥ#ܥ3#2" <>.=4  -ʅ #-v'. (%6<'B pH;-N=,%/^3=d4%j)"p98v-3|:9 #!-;#).)*4/.)Ć2)ʆ!)Іֆ ܆ #) -/ % &!(!!$6&* 06<=* H/V \#bh-/n t0(B$z==+ <: ;-'1(891;3 ȇ'· ԇ6-ڇ -!.&7/ <> =6&.,286=>DJ-P=6V\,bh3;n tz ! 6=&>6-$– Ȗ=Ζ Ԗ!ږ;8 ( *"6= -&'"(&. "4/':@4-FL=;R X;3^ d8;jp;4v|:,4. .& 0( 7/ <>ė 56З ֗;3ܗ,*/'$,8;= 3# *<:$:%*0#$6<;#B#H3#N; Z%`f-lr="x ~:%3*  T*9*$ n Ĥo>-Alekhine's Defense,#<> =-#!""(.#4*'"@<3F'L="R ^*d"Xj;-pz#!-##0( 8:;# #,# §ȧ Χ#ԧ6-ڧ&-0 /8; = ;=3="( .,34 :@!F*LR0 X^-dj#p4&| 4&! =#-#!¨"ȨΨ,Ԩڨ#& v <>=40(  5,%,$),*0;)6<*BH"N'%T,5Z'`6-f&-l=4r :! &x>-~ 9*:,%5%2"Ʃ ̩3#ҩةަ$ީCaro-Kann Defense6." 5- 7'<>" *#2#80)>)D'J P")V\ ;3h n"+tz<>)") "+<> ;3  ,ʸ"#и#ָ ܸ"+ 8: ( 8; *# #$; * 4"+: @:,F P7'b:<>V0 :(:r<>x (\ ~>4 =":(=5% 1**x4$Ĺ;)ιԹ#=48;-&# % 4*5-"&(>4.)!:!@!F-LR;-X ^ dj4*pv>4|<>=4>- .4 % * :;;)8:#  );$>4$*"0$6#< B; NT1*Z$*`"f$l=4rx>-~# ">-;)H8:*$ 3";);"4=4 -3<5 0(+"93(.>447/@0(FL2*RX6.^d93j<5v2*|3-937/6.p>44# ȪΪ Ԫ?=ڪ#+%0(>4 2* :ª5%" 0;+6+<=+BH$N T3#ZNimzovich Defense=?>z:6?6*;«=ȫ Ϋ$ԫ, %/ =+:,4$"  &!,4$28>->4$JP#V \   +b)h n"t zD")"  "7/ <> =4ĺ&ʺ8;кֺ:,ܺ4$"=6" =; $<>* 0=46 <H$N#Z `")f l0 r!8;~ "46-&-# 6-&-7/ #ƻ ̻"һ ػ-$$5- +""<> =+ ;-&&-,7/2&87/D J4"P"V;)8:>=4\b>-p | v% ) ;)%1*$*<>$,% %"=44, #-##7'&)2,2*48>")DJ="PV%\b$hn,$tz-;-&-="*$="&%3$#& 4,4$  "1*!*:, 4%$" (>4. ګ!43#: D "h9*JCenter Counter Defense2"tz ; 1!?; ; #¬Ȭ8;ά Ԭڬ4-<4434 &4;3"(.?<4:34@4F<3L!3R;4X!3&4^*dn-#t#z=4&:3!>--4 :%2;- "­=6*;έ"ԭ*ڭ" ȭ- "+  -&7/$"+* 0-< B+2H&-#TN Z<:`j# v| 8; "+p" 6-&-8; ,#Ƽ1̼ Ҽؼ6-޼-) &=4#<4-=/# &6-, &-2")8B4.NT;#Z#`,#flrx'~ 7' *44-%&6--=4#ƽ̽8;ҽ޽( ,%  *8:""4,|>-,%8; >2 89J P*#V#\;#b#h4,nt1*z$*" '$ ""޹;)>-2:%D:; 5-6&  0 <> >44, 1*<>  >4&,"1)8">,$DJ#P V-<\b<>hn4,tz4,2>-*#*>4#,#(!#:,9*0( #!!2:,6&")?< <:  ="& ,:32 8;->&&-D7/J&T>-Z `3#f,5 .v5.|&/&.7/ 4.;3 >4&=+Į ʮ:,Ю;+ ܮ=<<> 4-&-=4& >-֮ 3#p(9*.>->;3DJ:,PV7/\b9*hn2"tz3#8\$Yugoslav Defense<>%¯ȯ ί#ԯ گ=+>-5%+)(=""6&& $&,7/2 8 %,D J P V*\ b6-h&-n,%tz<>=4-3>*1#*6-# &-8:̾Ҿ#) ƾ#ؾ ؽ ޾<:޻=48;H")-3 -6 :," &:,, 2() >6-D#-J<:P#V4-\&-b(h n#t&z" :,"##-###&-)*¿ȿ$ο Կڿ -% ")=;;- 9*!-$*#0 6<><B9*4$>-HN ; b"h0(tz8::11)("9("<>:(1*$*-34,$9*-3 3<3$3;<"(:1.$41):@"93FL<>V \"\>-b9*n l=6z;$  0 #-%:,9*4$" 9* 3#% <>$ *=+0 6>-< B 5%H X^dj p v |" :9 ?;;* ,İ4"ʰ"а-ְܰ<: :,# 9* 7/;4$>-*0="6R <3#B \ o ٦ cW  L7/ #="=~>-  &09 Ʊ ̱"ұ(ر3:ޱ&5-&<>6- 4- &-"!&-#":, &, =D-J$P8;V \"b h:,n t$1! "+=467/z#$8-##*:%1*$"%$:,$=;0($ <> #" (!98418:$9@1F"$L$R-3X^*d j#p v'|  <> =# =4.:" x&   T4,B4$6. 9*6.5-;2BenoniBenko GambitBenko Gambit 6&@ F=5L R:,X^>4dj'v|7'6&4%!?<>- 5- 1)8989;2 5%>4>- =6 & 8:28<4>&D:%J P 1*\*b%hn8:t&z"8: 4- $:%:7/;2V<4?< =689(,3;2 : &, 2<>8>8:D J"P V*#\89l;) x8:~0 + "+&&     >=Բڲ=< 3 $  4%4#>?=9"( 3@ F8?dj3p Rv, 9!4# , 7/*3³ȳ4#γ Գ8*ڳ 8$)" "6./%$  /%6<3,BH/N-Z`4,f l7'rx,%~3,T *  <>;)=4 1!4,-;3/*; 0 -$" $4";$"*#0 6 <>B H=4N T:3Z ` <>l$r*$x&~8:$1!=""# "! :1 3*6. "$( .4 :7'7/@F !*b$hn:\4*x~*=6 7'V>4=6P5-5-p>46.,>-6&<==; =44$-3 4$>- 29* ):34 :; @F89L R4$X^9*dj>4v=|:9* 4$.p5-*!9* 8  , 89=9,:,3|>?²8<Ȳ4#β ;8:8@,=:L",R$X^d"j+"p)"v:| 1*>*="=4<;)f:31!""<><> <> =+ :3=4=+;)" (-#@#F3*L*R8:X"#d jp v=| =+4, '4,38: ^:3" 4$4$" =< <>$=6*0 ;)<!BN T-Z `; f l9*r x "  "4$ 0 6.69*H"~4,93 3"4*>4"4$ =6 6. (2"!(!:1:@9*F L)"R"X"93jp'd%v$| 4$">49*=" 4$"$">-939(.0 41)^:;25- ". 4. +$$ *"+0%< "+H BN;<>?T=-^%d#%| )$ 4% ;) " $Ķ%ζ&Զ6 j =<<*##:;#*# "+5%$ # *"+5%ڶ;<0;3; ܵ> ;:8:T")#ֵ#H f<>x#f:,#: <> >4:,>-*##η+.Էڷ;+ '" ;):%:4,6":3; " 4-D90J+PV\89b%h*8n<4t*z1**;!")4-&-;47/&<>>-=""$>-=""  <51*89"1($. 4-$: @5-F$L* R X"8:;); ^d#v" .<> >- <4 8: >-6-;- 6=;9#=+# 2" 2$ 8;&,:%28 DJ;2>; PV<>` f=6l r6.x~3-&-7/0(&#+3)3)0( <> 93 =6&#)<;#;## -##,#$4,*0936.0(6<<>PV=+\ b;-h-n>-tz%5%>-J4$## <>=6 3- 93 3- 935%#;##,# &6.4,,#2#<B-H N -Z `9(f!l-r x" 9(!2" 2"~4,; <>"& -#6-&-5%  #- $2"2**&02"<>:@=6JP<>\ b=4hn9*t z2" 7 &/&&.74,7/'.' 2"T:%6.V4,:teradian radian2 sphere 4 pi-steradian sr steradian / Time second sec s sec minute 60 sec min minute hour 60 min hr hour day 24 hr da day week 7 day year 365.24219879 day fuzz yr year month 1|12 year ms millisec us microsec / Mass gram millikg gm gram mg milligram metricton kilokg / Avoirdupois lb .45359237 kg lbf lb g ounce 1|16 lb oz ounce dram 1|16 oz dr dram grain 1|7000 lb gr grain shortton 2000 lb ton shortton longton 2240 lb / Apothe06-2 gm cubit 18 in cup 1|2 pt curie 3.7+10 /sec dalton amu decade 10 yr dipotre /m displacementton 35 ft3 doppelzentner 100 kg dozen 12 drop .03 cm3 dyne cm-gm/sec2 electronvolt e-volt ell 45 in engineerschain 100 ft engineerslink 100|100 ft equivalentfootcandle lumen/pi-ft2 equivalentlux lumen/pi-m2 equivalentphot cd/pi-cm2 erg cm2-gm/sec2 ev e-volt faraday 9.652+4 coul fathom 6 ft fermi 1-15 m fifth 4|5 qt fin 5 dollar finger 7|8 in firkin 9 gal footcandle lum"9(!.  1)&92,2 8; >9D#JP>- "V\%f l2"rx2">-:%~  1*!*#!-##*23+ 1)2*!*0(-< <>=4 ;2&!, <>8>=6DJ"P V<>b&h=4n t1*!*:, "$ ;#$#!3#+#&$ *>?cary scruple 20 grain apdram 60 grain apounce 480 grain appound 5760 grain / Length meter m cm centimeter mm millimeter km kilometer nm nanometer micron micrometer angstrom decinanometer inch 2.54 cm in inch foot 12 in feet foot ft foot yard 3 ft yd yard rod 5.5 yd rd rod mile 5280 ft mi mile british 1200|3937 m/ft nmile 1852m acre 4840 yd2 cc cm3 liter kilocc ml milliliter / US Liquid gallon 231 in3 gal gallon quart 1|4 gal qt quart pien/ft2 footlambert cd/pi-ft2 fortnight 14 da franklin 3.33564-10 coul frigorie kilocal furlong 220 yd galileo 1-2 m/sec2 gamma 1-9 weber/m2 gauss 1-4 weber/m2 geodeticfoot british-ft geographicalmile 1852 m gilbert 7.95775-1 amp gill 1|4 pt gross 144 gunterschain 22 yd hand 4 in hectare 1+4 m2 hefnercandle .92 cd hertz /sec hogshead 2 barrel hd hogshead homestead 1|4 mi2 horsepower 550 ft-lb-g/sec hp horsepower hyl gm force sec2/m hz /sec imaginarycubicfoot 1.4 ft3 jero, :3+&"<>( .3+z-=44:89 N-3T#Z*#`#f;2l r3*x*~1!:3 0(<> =66." 3#4,26.\4$H3+ 9*3#>-  S  4$3#"2"(. =Z&`=6f l r x:~&# 6. >- 3#!-$$ &6&>4nt 1|2 qt pt pint floz 1|16 pt fldr 1|8 floz / US Dry dry 268.8025 in3/gallon fuzz peck 8 dry-quart pk peck bushel 4 peck bu bushel / British brgallon 277.420 in3 fuzz brquart 1|4 brgallon brpint 1|2 brquart brfloz 1|20 brpint brpeck 554.84 in3 fuzz brbushel 4 brpeck / Energy Work newton kg-m/sec2 nt newton joule nt-m cal 4.1868 joule / Electrical coulomb coul ampere coul/sec amp ampere watt joule/sec volt watt/amp ohm volt/amp mho /ohm farad coulboam 4|5 gal karat 1|24 kcal kilocal kcalorie kilocal kev 1+3 e-volt key kg khz 1+3 /sec kilderkin 18 gal knot nmile/hr lambert cd/pi-cm2 last 80 bu league 3 mi lightyear c-yr line 1|12 in link 66|100 ft longhundredweight 112 lb longquarter 28 lb lusec 1-6 mm-hg m3/s mach 331.46 m/sec magnum 2 qt marineleague 3 nmile maxwell 1-8 weber metriccarat 200 mg mev 1+6 e-volt mgd megagal/day mh millihenry mhz 1+6 /sec mil 1-2 in millenium 1000 year minersinch 1.5 ft3-; ="4$ &:1, 2+"+>D1:J P3#V \>4b!h;-n%t$z 5% ="!>6/693-'<>/=66.,$3+#2"  >-4, "4$0(!( .:1< B#:,N T>4Z$`*$f$l$r x~ =,$;#,##3# 9* ->- ;3:%/volt henry sec2/farad weber volt-sec / Light cd candela lumen cd sr lux cd sr/m2 / Money / epoch fri sept 6, 1974 wall st j $ dollar argentinapeso .102 $ australiadollar 1.4925 $ austriaschilling .053 $ belgiumfranc .0253 $ brazilcruzeiro .149 $ britainpound 2.3101 $ canadadollar 1.012 $ colombiapeso .0397 $ denmarkkrone .1603 $ equadorsucre .0401 $ finlandmarkka .2630 $ francefranc .2071 $ greecedrachma .0338 $ hongkongdollar .198 $ indiarupee .125 $ iranrial .0148 $ iraqdin/min minim 1|60 fldr mo month mpg mile/gal mph mile/hr nail 1|16 yd nauticalmile nmile nit cd/m2 noggin 1|8 qt nox 1-3 lux ns nanosec oersted 2.5+2 pi-amp/m oe oersted pace 36 in palm 3 in parasang 3.5 mi parsec au-radian/arcsec pascal nt/m2 pc parsec pennyweight 1|20 oz percent % perch rd pf picofarad phot lumen/cm2 pica 1|6 in pieze 1+3 nt/m2 pipe 4 barrel point 1|72 in poise gm/cm-sec pole rd poundal ft-lb/sec2 pdl poundal proof 1|200 psi lb-%5%0( 3+4.$ **40#64$<3# B !+"X!^"dj2"pv93|!3:3!=6;+$+3+ -#$>- >4 4$ 3#& 9*" 2"&=6$ *4$R3#2">-<2*1)81!H4,9*L0(R6.6&0ar 3.4 $ israelpound .2385 $ italylira .001508 $ japanyen .003303 $ lebanonpound .45 $ mexicopeso .08006 $ netherlandsguilder .3675 $ newzealanddollar 1.43 $ norwaykrone .1795 $ pakistanrupee .102 $ perusol .0234 $ phillippinespeso .149 $ portugalescudo .0387 $ singaporedollar .4035 $ southafricarand 1.425 $ spainpeseta .0174 $ swedenkrona .2225 $ switzerlandfranc .3314 $ taiwandollar .0264 $ uruguaypeso .00081 $ venezuelabolivar .233 $ germanymark .3744 $ mark germanymark bolivar veng/in2 quarter 9 in quartersection 1|4 mi2 quintal 100 kg quire 25 rad 100 erg/gm ream 500 registerton 100 ft3 rehoboam 156 floz rhe 10 m2/nt-sec rontgen 2.58-4 curie/kg rood 1.21+3 yd rope 20 ft rutherford 1+6 /sec rydberg 1.36054+1 ev sabin 1 ft2 sack 3 bu seam 8 bu section mi2 shippington 40 ft3 shorthundredweight 100 lb shortquarter 25 lb siemens /ohm sigma microsec skein 120 yd skot 1-3 apostilb slug lb-g-sec2/ft span 9 in spat 4 pi sr spindle 14400 yd s \tables#x!si!j!k!n! g1!env! ek!ek.fs!ep!ep.fs!fs!lptr!sptr!rptr!outb$ outt!@outw# stkt! stkb$stke$ktat!ktab$Linput#cfile#lfile#dfile#ofile#ezuelabolivar peseta spainpeseta rand southafricarand escudo portugalescudo sol perusol guilder netherlandsguilder peso mexicopeso yen japanyen lira italylira dinar iraqdinar rial iranrial rupee indiarupee drachma greecedrachma franc francefranc markka finlandmarkka sucre equadorsucre pound britainpound cruzeiro brazilcruzeiro / PDP-11 baud bit/sec byte 8 bit word 2 byte block 512 byte K 1024 word tc 578 block rktrack 12 block rkcylinder 2 rktrack rk 203 rquare 100 ft2 stere m3 sthene 1+3 nt stilb cd/cm2 stoke 1-4 m2/sec stone 14 lb strike 2 bu surveyfoot british-ft surveyorschain 66 ft surveyorslink 66|100 ft tablespoon 4 fldr teaspoon 4|3 fldr tesla weber/m2 therm 1+5 btu thermie 1+6 cal timberfoot ft3 tnt 4.6+6 m2/sec2 tonne 1+6 gm torr mm hg township 36 mi2 tun 8 barrel water .22491|2.54 kg/m2-sec2 wey 40 bu weymass 252 lb Xunit 1.00202-13m kcylinder rptrack 10 block rpcylinder 20 rptracks rp 406 rpcylinder rftrack 8 block rfshoe 8 rftrack rfdisk 16 rfshoe rf 2 rfdisk / Trivia % 1|100 admiraltyknot 6080 ft/hr apostilb cd/pi-m2 are 1+2 m2 arpentcan 27.52 mi arpentlin 191.835 ft astronomicalunit au atmosphere 1.01325+5 nt/m2 atm atmosphere atomicmassunit 1.66044-27 kg fuzz amu atomicmassunit bag 94 lb bakersdozen 13 bar 1+5 nt/m2 barie 1-1 nt/m2 barleycorn 1|3 in barn 1-28 m2 barrel 42 gal barye 1-1 nt/0 & 6  w %&   @&  71   @&  7v  @&  =   L%J      L7$ L7 L7 L7 L L L \               &   &     r 7t 7 X b eH % N e: %8 ( %(  %   L / dimensions m *a* kg *b* sec *c* coul *d* candela *e* dollar *f* radian *g* bit *h* deg *i* / constants fuzz 1 pi 3.14159265358979323846 c 2.997925+8 m/sec fuzz g 9.80665 m/sec2 au 1.4959789+11 m fuzz mole 6.022169+23 fuzz e 1.6021917-19 coul fuzz energy c2 force g mercury 1.33322+5 kg/m2-sec2 hg mercury / dimensionless degree 1|180 pi-radian circle 2 pi-radian turn 2 pi-radian grade .9 degree arcdeg 1 degree arcmin 1|60 arcdeg arcsec 1|60 arcmin sm2 bev 1+9 e-volt biot 10 amp blondel cd/pi-m2 boardfoot 144 in3 bolt 40 yd bottommeasure 1|40 in britishthermalunit 1.05506+3 joule fuzz btu britishthermalunit buck dollar cable 720 ft caliber 1-2 in calorie cal carat 205 mg cent centidollar cental 100 lb centesimalminute 1-2 grade centesimalsecond 1-4 grade century 100 year cfs ft3/sec chain 66 ft circularinch 1|4 pi-in2 circularmil 1-6|4 pi-in2 clusec 1-8 mm-hg m3/s coomb 4 bu cord 128 ft3 cordfoot cord crith 9. L5  ` &  7 7   e %  %  %   L L5 ` &  7 F P e6 %: $ %*  %  % U  P &    : &    $ &     &   L    LEm m~   x &   tD  w@w .@EJ,  Np    xww ~w De   % w7 7 ׯ - (w 7  .w eB J ӕ- R r f e0 @ >Z  ҋ D~8 8 ӕ0 $f v Le0 9e    7 we&  m   ~    ~ w7  0   t Wp `e0eӕ?f\  ,R P H B  @f & 7d+  7b+ 7T+15 5 5 Der Z  Talloc.d++ t  --fatal *5C * *r  5E r  x+7bad address in parsingH І *5' b5E    F@e DEC55 DEC6*2*(*w$*f&  @! LC eT,f5  C)w) )Lttt e!$4u w7stack overflow  > >.lvO ++.ibO--.dbO$6&B>ZR>Z >)++.iaO`--.daOl6\>eh>q.ntO.ngO.cmO!>->~>!zW|<<<<|~|$>">X(>>86J:TXLV  | ||~ |jtoo many char classesO?E    -f@w fwJA 7 fAW,f B@ 8 @&61fA   @ @e71@ 1w,fwwwfwAQ  OfA  ^ y   F y @0fA  @9 fA @e&7FwB7<@wR7 Ff@www, f@@&&@D f @D @5C D)g 5E r  x+  7bad address in translationHuue ueT,” uACeu  7not a bundle eT, 6& & e-v(v(& ,f(f(h(ȋ 1, wZ(W @& D(8(,7 4(A &ECA @lA UuxJDJ"DHK1 N ?H:J"?I;??? N T.globl classtabclasstab:NN ?) V?; J6 J@8ZH.V?..NV?vv8,>v HADCBF7F pvvArg count Input file Output file Bad input format No relocation bits Bad relocation %o ldoxf ecsxlrcrt0.ostartsysfix.o~mainargcargvwordsrel~getrelrprintf.oformploop rjustndigitgnumjwidthndfndswtabdecimalloctalhex6 h;>? l2;DDRD\ ;?;R?Il?cI:*:?y.pn:1 .pxs;12.tn:1 .txs;12NN ?/**/1 succO@@v>)>D>, 8X>Dn;: j>n> proc(6pWparams;N ?.c*Wpush;N ;K=.N v?6 i.i6 v<>v^`pvpW?1 O @floatscien characstringlogicalxremoteprbuf$prstr,ffltpr.oputchr.oflclose.ogetc.o.indirbadretfillopen.oputc.obadretgoodretflseek.oexit.ocsv.ocerror.osavr5$_exit"_main"_tbuf$_rbuf$ _obuf$ _txtsiz$_datsiz$_bsssiz$_symsiz$_txtrel#_datrel$csv"_printf"_open"_fcreat"_getw"L_putw?>l, >salt;N I:alt;NPgoto;VN`H:I:|H >'>g, $ >:   4> V(L)V)>, alt;Ov\salt;O * :F(X)>Y>k/>} I f < w wV $ @@e w2 p w&  w B B e  2T, 7translation overflow2T,E w * > ..R:  .Bc* b\n\0Od1 succOn1 succO  <H  *>k ()>w z|)@:  > >  * 8 HF <trans;1 NT .pxNn .pnO .tO .pO = *  \ >_  < >s  * >   N C 6xwwjw^ 6pv  r6  rvwhm T  Tw w  A 1`w f && f   TA 1T,W 7translation overflow  X >f f& >  w5 % wD -# - - -  -  -w06 w(  vvw N& \w f V R N < lw[ ? >  > ]> [-\<1]N O *> D $? gpar;NH @ | (r ~ ) >O  W.c1 generateO {} >   } >  > .txN .tnO .tq;N < > T *$ > T $6 > T F > T *V p  ? .tq;Nb ?i I0H;.  >{ (  ) ? *  .tp;.byte N H,H;  H AuuA Ce5  wA 1`w  Z w6  w   N w6  w&E@  e0 B L ) >%% 6!w z&&- t h%wj V& 7   7 4w<7 >& "W 1+ & 4 Pw  w  W @+  j w A@E@7  7+ > >s;'N 6  h? >\>N O >\0>;.evenH<N( O,  \ > ^ z & ?5 \\\Nj 6hh z ?o   H ? r 8 r >   4  >  .t;alt;salt;N N H:I:? : ? .l;Nf   t>I  , >S  ( )  r >]  >k .l;N .rvO .fO 0+ @+ p=   W       74  7'  e > 8@@@@qqqqf7t  tq,@ @  R X @ | ȝ40 T#q,q  n\#& xCC  6 jq&  6`( d# w`d#  Blerror *  > ( )*r > [8 ]> .uO2.stO@=^>7b>E++d.aOp.sOx.mO.qO.rO.oO.xO.nO==.eqO!=.neO<=.leO>=.geO<<.slO.ltO>>.srO.gtO6+"h>u -2>} *B> /R> %b> |r> ^> &> > > > > > <>on copy f < T# Wv Eed#   f1N1N1N1f&@l1 11 1 ,    T#2 D#2 L#2 \# 7 Lf& Wv Eed# T# @E7 2D#(wD#L#eL#2 T#D#@`&D#w2 T#f  2 D#2 L#D#Wv E@`ed# & 7! ,\#\# e e,4  q,@ p & \#  f7 q,@ @  8@  JȝT#  \#fr\#   ,\#\#e& ^  T   & B4B4e@4pB4@11    B4 .!Out of space. B4e@4pB4e@4"Bls3 B@4@4& R 1B41 @4pB4 f&7  t B4`COe@4 Kl<"L"\"mX,`  ww  7  Ng w7  5 b l x 7t t  Ne @-@E5% @tE5 tpw ~5 5   @ b   -  5 @ A pb -z @ 0  V of  &  5   N 5 - @ b r @ b  \ f@ &b    error in %s status = %d unlink %s ratjunkcan't open ratjunk can't open %ssubroutinefunctionrealintegerlogicaldoubleprecisioncomplexblockblockdata MAIN.ft d o x f e c s l" rF 0 %ew 1e@4 8Be@4,2  @44l"4 4D4@40D4Ae@4      @ @W b4W @8&"Error in allocator. W b4W @8w,Pw,H@@& p ,"B4e@4 &@4@&## 7#7#cannot open output file alloc.db4@47|e e 882 b`mZZB4  b4w N  w7  V  wj 7  V of  5   w  5 u 5 / @ 5%% @ ȥ.@w w u@ ȋ@p@w w N Nf N  N wR w <  h 5 @ @m @ @m  5GNf N  Ne @-@E5% %2|  & 6  w   7r  7| 5 @ 0  %f 55z4 f_^ 527 y A rfN ~ u-*A rf !A rf Nb > A rf N $A rf 1 A rfN 5 ( N5%7A rfN ~ A rfN     f  5 AAm rf AAm rf Nf > %f rwfz     z5A r   Le@4D2 :4, b  @4B4@4A e@4@4 `N @tE5   @ % wZ w H l f b A H@w2 w N %ou@ 5@ H@ ȋ w u@e5w N r  pN %o w w | N   wj N w N   7 @ ;Nefe2 t Ne VNefe  5Ne2 Nefe2 2 Ne2 ~ Ne N b Ne2    w  5 @J7D y @ ȕ e  @ȥȥȥȥ% ȋ@H ww @ @  $z 6e ZA 1z@ &  wFw 4 5 @0z % @ z7&  w w   =w@ A Hw  5  @@mȋ@wf&UUDe .E ' $  7 ?%7e- U e? 7jU55 b wNe2 w  5= %  =@wrw ` N@&  p wNw <N J\ V1bw0w    @f  e e  _ Kf  Tf  cYf  eaf  if  epf  e zf  f  @@e0p 45 @@mAH2 5 @@mAAmH @@m > @@mȕ. ` ć `7l d`U ef@e7:E4w ~w^ DeT  N  % w7 : 7 : ׯ0 - ( & (w 7   .w erB J ӕ- R r f e0 @ > ҋ D~8 ӕ0 $f v Le0 9ef` XR 7Bwe&  m& $ ~    ~ w7   0   Wp `e0eӕ?@@mȕf @@m ww ~ @ A H wlw T%a%z%A%Z %0%9 w,w w   e@nd  w hNf   4ww ~w,De"   % wv7 7 ׯ-  (w7  .weB J ӕ- R r f e0 @ > ҋ D~8 hӕ0 $f v f ,P   @f   7nv  ld-^Vf 6 0(   7  7  7 f@)wrfwmwTwmfww2w f@@& HADCBF7zF ^P"08%s %s ljlld oxFfTecslbr Le0 9e4. &  7we&  m   ~    ~ w7  0   Wp `e0eӕ?f  , P x r  @f V F7D  F: 2 -, $ f   7  7 7 f@w@ fwPwLw fw8w4  wfw7v fwww/usr/lib/quiz/state:state:cap[ital|]:abbr[ev[iation|]|] /usr/lib/quiz/america:[country-|]America:cap[ital|] /usr/lib/quiz/europe:[country-|]Europe:cap[ital|] /usr/lib/quiz/africa:[country-|]Africa:cap[ital|] /usr/lib/quiz/midearth:[country-|]M[iddle-Earth|E]:cap[ital|] /usr/lib/quiz/pres:pres[ident|]:term:succ[essor|] /usr/lib/quiz/sov:sov[ereign|]:cen[t[ury|]|]:succ[essor|] /usr/lib/quiz/seq-easy:seq[uence|]-easy:next:name /usr/lib/quiz/seq-hard:seq[uence|]-hard:next:name /usr/lib/quiz/posneg:pos[itive|]:n fwwwfwAQ  OfA  ^ y   F y @0fA  @9 fA @e&7Bw>78@w7 \ fAW @w fH1H7 5 e0w 5& w& L& H& D& @& <& 8& 4& 0& ,& (& $& & & & & & & & & f& fw eg[ative|] /usr/lib/quiz/bard:Shakespeare[-line[s|]|]|line[s|]:next:work:char{acter} /usr/lib/quiz/inca:inca:succ[essor|] /usr/lib/quiz/murders:victim:killer /usr/lib/quiz/collectives:ind{ividuals}:coll{ective} /usr/lib/quiz/misspell:mis{spell}:right /usr/lib/quiz/poetry:poem-line:next:poem:author P`  & 6  w z5 e@ @mȥ-,@ @m7 y lH7 hE777<84 @0@ @m5N 5%rN %fN of t &  N J  u- *   5    % I zF5 +.1 @ A p-<@ <@ @@ M@ 0 P V ww  X w f "& w }f@fA w,w"e"w"ew"@lw"Alew &@t`e @& HADCBF7z F2cdfrvXxf`/usr/fort/fc1/usr/lib/ratfor/usr/fort/fc2cflag=%d, nl=%d ld-x/lib/fr0.o-lf/lib/filib.a-l/bin/ldratjunkf.tmp1%s: ratjunkcan't ratfor ld-r-x/bin/lda.out%s: as-f.tmp1/bin/asa.outmove failed: %s %s Can't find %s Try again Fatal     #define CHAR 01 #define BLOCK 02 #define INTR 04 #define EVEN 010 #define KL 020 #define ROOT 040 char *btab[] { "rk", "rp", "rf", "tm", "tc", "hs", "hp", "ht", 0 }; char *ctab[] { "console", "pc", "lp", "dc", "dh", "dp", "dj", "dn", "mem", "rk", "rf", "rp", "tm", "hs", "hp", "ht", 0 }; struct tab { char *name; int count; int address; int key; char *codea; char *codeb; char *codec; char *coded; char *codee; } table[] { "console", -1, 60, CHAR+INTR+KL, "\tklin; br4\n\tklou:\tjsr\tr0,call; _dnint\n", "", "\t&dnopen, &dnclose, &nodev, &dnwrite, &nodev,", "dhdm", 0, 304, INTR, "\tdmin; br4+%d.\n", "", ".globl\t_dmint\ndmin:\tjsr\tr0,call; _dmint\n", "", "", /* * DR11-A+ * DR11-C+ * PA611+ * PA611+ * DT11+ * DX11+ */ "dl", 0, 308, INTR+KL, "\tklin; br4+%d.\n\tklou; br4+%d.\n", "", "", "", "", /* * DJ11 */ "dh", 0, 308, CHAR+INTR+EVEN, "\tdhin; br5+%d.\n\tdhou; br5+%d.\n", ".globl\t_dhrint\ndhin:\tjsr\tr0,call; _dhrint\n", ".globl\t_dhx(equal(q->name, p)) { if(root < 0 && (q->key&BLOCK)) { root = 0; q->key =| ROOT; } if(q->count < 0) { printf("%s: no more, no less\n", p); return(1); } q->count =+ n; if(q->address < 300 && q->count > 1) { q->count = 1; printf("%s: only one\n", p); } return(1); } if(equal(p, "done")) return(0); printf("%s: cannot find\n", p); return(1); } equal(a, b) char *a, *b; { while(*a++ == *b) if(*b++ == 0) return(1); return(0); } getchar() { int c; c = 0; read(0, ou; br4\n", ".globl\t_klrint\nklin:\tjsr\tr0,call; _klrint\n", ".globl\t_klxint\nklou:\tjsr\tr0,call; _klxint\n", "", "\t&klopen, &klclose, &klread, &klwrite, &klsgtty,", "mem", -1, 300, CHAR, "", "", "", "", "\t&nulldev, &nulldev, &mmread, &mmwrite, &nodev,", "pc", 0, 70, CHAR+INTR, "\tpcin; br4\n\tpcou; br4\n", ".globl\t_pcrint\npcin:\tjsr\tr0,call; _pcrint\n", ".globl\t_pcpint\npcou:\tjsr\tr0,call; _pcpint\n", "", "\t&pcopen, &pcclose, &pcread, &pcwrite, &nodev,", "int\ndhou:\tjsr\tr0,call; _dhxint\n", "", "\t&dhopen, &dhclose, &dhread, &dhwrite, &dhsgtty,", /* * GT40 * LPS+ * VT20 */ 0 }; char *stra[] { "/ low core", "", "br4 = 200", "br5 = 240", "br6 = 300", "br7 = 340", "", ". = 0^.", "\tbr\t1f", "\t4", "", "/ trap vectors", "\ttrap; br7+0.\t\t/ bus error", "\ttrap; br7+1.\t\t/ illegal instruction", "\ttrap; br7+2.\t\t/ bpt-trace trap", "\ttrap; br7+3.\t\t/ iot trap", "\ttrap; br7+4.\t\t/ power fail", "\ttrap; br7+5.\t\t/ emulator &c, 1); return(c); } clock", -2, 100, INTR, "\tkwlp; br6\n", ".globl\t_clock\n", "kwlp:\tjsr\tr0,call; _clock\n", "", "", "parity", -1, 114, INTR, "\ttrap; br7+7.\t\t/ 11/70 parity\n", "", "", "", "", /* * 110 unused * 114 memory parity * 120 XY plotter * 124 DR11-B * 130 AD01 * 134 AFC11 * 140 AA11 * 144 AA11 * 150-174 unused */ "lp", 0, 200, CHAR+INTR, "\tlpou; br4\n", "", ".globl\t_lpint\nlpou:\tjsr\tr0,call; _lpint\n", "", "\t&lpopen, &lpclose, &nodev, &lpwrite, &nodev,", "rf", 0, trap", "\ttrap; br7+6.\t\t/ system entry", "", ". = 40^.", ".globl\tstart, dump", "1:\tjmp\tstart", "\tjmp\tdump", "", 0, }; char *strb[] { "", ". = 240^.", "\ttrap; br7+7.\t\t/ programmed interrupt", "\ttrap; br7+8.\t\t/ floating point", "\ttrap; br7+9.\t\t/ segmentation violation", 0 }; char *strc[] { "", "/ floating vectors", ". = 300^.", 0, }; char *strd[] { "", "//////////////////////////////////////////////////////", "/\t\tinterface code to C", "///////////////////////////////                       # & ) , / 2 5 ! $ ' * - 0 3 6 " % ( + . 1 4 7 8 ; > A 204, BLOCK+CHAR+INTR, "\trfio; br5\n", ".globl\t_rfintr\n", "rfio:\tjsr\tr0,call; _rfintr\n", "\t&nulldev,\t&nulldev,\t&rfstrategy, \t&rftab,", "\t&nulldev, &nulldev, &rfread, &rfwrite, &nodev,", "hs", 0, 204, BLOCK+CHAR+INTR, "\thsio; br5\n", ".globl\t_hsintr\n", "hsio:\tjsr\tr0,call; _hsintr\n", "\t&nulldev,\t&nulldev,\t&hsstrategy, \t&hstab,", "\t&nulldev, &nulldev, &hsread, &hswrite, &nodev,", /* * 210 RC */ "tc", 0, 214, BLOCK+INTR, "\ttcio; br6\n", ".globl\t_tcintr\n", ///////////////////////", "", ".globl\tcall, trap", 0 }; char *stre[] { "/*", " */", "", "int\t(*bdevsw[])()", "{", 0, }; char *strf[] { "\t0", "};", "", "int\t(*cdevsw[])()", "{", 0, }; char *strg[] { "\t0", "};", "", "int\trootdev\t{(%d<<8)|0};", "int\tswapdev\t{(%d<<8)|0};", "int\tswplo\t4000;\t/* cannot be zero */", "int\tnswap\t872;", 0, }; int fout; int root -1; main() { register struct tab *p; register *q; int i, n, ev, nkl; int flagf, flagb; while(input()); /* * p]`< wwt7ZU7TT7N*7HW7BZ7<\& b \Z7b#|> EfF E50 UaE 8 U0 %  2pv Er bI 2 VUNE@HBE   5 e Eaa"tcio:\tjsr\tr0,call; _tcintr\n", "\t&nulldev,\t&tcclose,\t&tcstrategy, \t&tctab,", "", "rk", 0, 220, BLOCK+CHAR+INTR, "\trkio; br5\n", ".globl\t_rkintr\n", "rkio:\tjsr\tr0,call; _rkintr\n", "\t&nulldev,\t&nulldev,\t&rkstrategy, \t&rktab,", "\t&nulldev, &nulldev, &rkread, &rkwrite, &nodev,", "tm", 0, 224, BLOCK+CHAR+INTR, "\ttmio; br5\n", ".globl\t_tmintr\n", "tmio:\tjsr\tr0,call; _tmintr\n", "\t&tmopen,\t&tmclose,\t&tmstrategy, \t&tmtab,", "\t&tmopen, &tmclose, &tmread, &tmwriteass1 -- create interrupt vectors */ nkl = 0; flagf = flagb = 1; fout = creat("l.s", 0666); puke(stra); for(p=table; p->name; p++) if(p->count != 0 && p->key & INTR) { if(p->address>240 && flagb) { flagb = 0; puke(strb); } if(p->address >= 300) { if(flagf) { ev = 0; flagf = 0; puke(strc); } if(p->key & EVEN && ev & 07) { printf("\t.=.+4\n"); ev =+ 4; } ev =+ p->address - 300; } else printf("\n. = %d^.\n", p->address); n = p->count; if(n < 0) n 1 UE@B ``  5 ``  Μ HĜ  =] ` f EA_ ` rv NtExXXXXXXP\\\\\X78@ExTDT"555@EWtU& @ U7@D7@t z@ r525/E*@tE_ m5 5 5 5&e \e V55 %a&EPtE, &nodev,", "ht", 0, 224, BLOCK+CHAR+INTR, "\thtio; br5\n", ".globl\t_htintr\n", "htio:\tjsr\tr0,call; _htintr\n", "\t&htopen,\t&htclose,\t&htstrategy, \t&httab,", "\t&htopen, &htclose, &htread, &htwrite, &nodev,", "cr", 0, 230, CHAR+INTR, "\tcrin; br6\n", "", ".globl\t_crint\ncrin:\tjsr\tr0,call; _crint\n", "", "\t&cropen, &crclose, &crread, &nodev, &nodev,", /* * 234 UDC11 */ "rp", 0, 254, BLOCK+CHAR+INTR, "\trpio; br5\n", ".globl\t_rpintr\n", "rpio:\tjsr\tr0,call; = -n; for(i=0; ikey & KL) { printf(p->codea, nkl, nkl); nkl++; } else printf(p->codea, i, i); } if(flagb) puke(strb); puke(strd); for(p=table; p->name; p++) if(p->count != 0 && p->key & INTR) printf("\n%s%s", p->codeb, p->codec); flush(); close(fout); /* * pass 2 -- create configuration table */ fout = creat("c.c", 0666); puke(stre); for(i=0; q=btab[i]; i++) { for(p=table; p->name; p++) if(equal(q, p->name) && (p->key&BLOCK) && p->count) { priD5 5   ЇE:H E Bv EE (&v  6  fU`I  >U8vp& h"^  P ~ & ~8 *&  .EUPEIUUrEvIEnU fE`UXE@RUJE DU<60( _rpintr\n", "\t&nulldev,\t&nulldev,\t&rpstrategy, \t&rptab,", "\t&nulldev, &nulldev, &rpread, &rpwrite, &nodev,", "hp", 0, 254, BLOCK+CHAR+INTR, "\thpio; br5\n", ".globl\t_hpintr\n", "hpio:\tjsr\tr0,call; _hpintr\n", "\t&hpopen,\t&nulldev,\t&hpstrategy, \t&hptab,", "\t&hpopen, &nulldev, &hpread, &hpwrite, &nodev,", /* * 260 TA11 * 264-274 unused */ "dc", 0, 308, CHAR+INTR, "\tdcin; br5+%d.\n\tdcou; br5+%d.\n", ".globl\t_dcrint\ndcin:\tjsr\tr0,call; _dcrint\n", ".globl\t_dcxintntf("%s\t/* %s */\n", p->coded, q); if(p->key & ROOT) root = i; goto newb; } printf("\t&nodev,\t\t&nodev,\t\t&nodev,\t\t0,\t/* %s */\n", q); newb:; } puke(strf); for(i=0; q=ctab[i]; i++) { for(p=table; p->name; p++) if(equal(q, p->name) && (p->key&CHAR) && p->count) { printf("%s\t/* %s */\n", p->codee, q); goto newc; } printf("\t&nodev, &nodev, &nodev, &nodev, &nodev,\t/* %s */\n", q); newc:; } puke(strg, root); flush(); close(fout); if(root < 0) writ   P ~tnx0lHB  & C~2NmH   W W @57\PP0R`0  ȋ `5 a~tEķ Tb  L  0 L&  6r 6r@@A6v@@& ADCBFw 7 ^HVe  ^d b/%  F %FV  Wt p\ndcou:\tjsr\tr0,call; _dcxint\n", "", "\t&dcopen, &dcclose, &dcread, &dcwrite, &dcsgtty,", "kl", 0, 308, INTR+KL, "\tklin; br4+%d.\n\tklou; br4+%d.\n", "", "", "", "", "dp", 0, 308, CHAR+INTR, "\tdpin; br6+%d.\n\tdpou; br6+%d.\n", ".globl\t_dprint\ndpin:\tjsr\tr0,call; _dprint\n", ".globl\t_dpxint\ndpou:\tjsr\tr0,call; _dpxint\n", "", "\t&dpopen, &dpclose, &dpread, &dpwrite, &nodev,", /* * DM11-A */ "dn", 0, 304, CHAR+INTR, "\tdnou; br5+%d.\n", "", ".globl\t_dnint\ndne(2, "no block device given\n", 22); } puke(s, a) char **s; { char *c; while(c = *s++) { printf(c, a); printf("\n"); } } input() { char line[100]; register char *p; register struct tab *q; register n; p = line; while((n=getchar()) != '\n') { if(n == 0) return(0); if(n == ' ' || n == '\t') continue; *p++ = n; } *p++ = 0; n = 0; p = line; while(*p>='0' && *p<='9') { n =* 10; n =+ *p++ - '0'; } if(n == 0) n = 1; if(*p == 0) return(1); for(q=table; q->name; q++) if 0 e%>F^WpWtN^  *^  7 ^VVd b/%Uf]] %`]] %^ hU]]]]RfM] BF @ V 2 7\\V 2 7pj :  P & & e& ^ % wnw ^%(T`#%%(T #5 %ww %(RTN * %N * &f p e% m_& N * &f F &f : ee%@@m@me-:\ je%  @teU   %ze% @teUDm  %z   %Dm#%  @tU"e# jz%z% w\w L@etwHw 8SSt ]%pS E  G_ & % >G7Z0SZ4447Y7Yww N "e   I  5e%j%&LFf \D md / J TRfE%̥.̥+e%j%RfE%̥̥ 5e%j%D  & %_@ && HKe ,m D&& HKe et&d b/%4__ ww ̃Rfă LJ n7RG7 2e%jRfʥ  x nh T^XJKdS^S   PS  ;DS>S 4S e%%6   % "_ mȖ e URERR_d)ƕR_f) F R_d)w M; ;2e e  5# :e  &  e e 3ee3@E%  f Z  ֕ V:%<P:_,,5f<<: <: 4: -2:,:-(:":e ,5:T7e ,RfʋE%  r2d e%jۂ  `5?Nf X %  !Nf E de % >G2e ,Nf G  fIw2 N_   w N "&e  Nf& X % ; 4 %d#Nf G d&e %4  F4e , apw.w DCe - N_  w w N "&e  *  a5Nf 2  e e n  bwlw \5 7 J JRf̋ 5-I e%jD_ ԣ̕I  4%@  LD7hCd / 5˕t L & & %˕ w\t N f  w &5tu- NmfNd b/%? LNd /  LN& % 5  Nm  u-R:7L:Df ,@E%@e 7  D wVw F Be t e e   !tt_ww C % w u w D̵Ee ,e , E& - wrw bDEVa74 yfWp 0^% ^w&ft ]w DEba73 y-KfWp .^ft ]%-Jeww DC% " w  ^ 5 5 KNef E 5 @ ` %5 @tp-0l@tp-2l %d ap%de% >G%d 5#4e , N_  Q_ w N "%d  apwdw T$f L-%d%d N)_  4 4  e%Bfڂ3_ ww VQ V$f *#  G 4UU& % Fefd b/% n wvw f@55S@5/5LN C5 @ @m@ @m0  %@0 F@U@t55@ @mBN 0 w@ @mN  F@ @m7 4G%@ @m7G@ @m0f E %4@tEe5 `N 5 >G@ `AH F  >Gf E 5D@E5 `N 5;%3!̵ ( %@5I 7 t7 t0 w6w & >2 /   7 ȑ   ^ ww w w   ?`w؄ %mw   04 4 w4ze%T}na w XCK-smK ew0e  w BD e D-m tm@m-*4c &e44@m- tLm  Le%Bf΂.l̵ e&   :4e %x7 (V KwTw D &   .l5-(5-$̵̵$f2!e%Bf:_ A_  w e %xɂtt̕fe P f E 5 >G ^fe \ tl5eSee  >Gw D  d4 &  e&   :4 4  :4ww BʵL "Ee5f P @ `N F F >G7 :F%@ `7$Fw H  w(@֟ ` j w ğ  Ew Fjqw eww ww DCB~ww D 5etd / _  2# f& HKe _   fd b/%4D7DFf ,ww $0  2#54 et&d b/%  ^www |@ %/5& 2  %/    ^ _2ݏ _1E%@@& - H   %VҐ %/%V %/u7 |7 vd5 & P 7X5 P$ N >G% & - 7H @e75 N >G P &  & E 5X@&E` %e  HZH` %V N >G% & E 5f \ tA@lee ʵjShSeʵTeTN Fw"w D5 pe5[ U5HN& E e5 1e@-%& E 5e5  N& @p- >G& ,ȃ >GN& = e@-E4 4 w*w   w@U4  w @7ZHԔ%VzjXl  ^ww Cew О_.# j e %.l t-0a_ 4 tve?tEetd / _ e P & & e&7 N d e& HKe3C  P  L L & % L wTw DD  &d b/%w$w  @E%U@e 7@  x_H:`  Ne`  N`  &`  b %   |L - _J0w5 ^Df 2 _V0_P0w L$E wHw 8 F%jۍw$w  d, # X( J|ʕ2˕3̕w3@ 0  ^w D% 4 3 5Ee , :4 Ue   4, 7 7 d :4w,w D֌ 4  :47 Œ  :4   % w% U :4e  7 r nf  7V  1 @ %%B %d%l%o %o  \ %s ew*w Nf P N& \ Nf \ e0 ww D x 5t t tv%     tww w2 /  _7e  %1 1 G5@ - _75`_7@5 5 $ %_7eN F%_7 %)_7  55 7 7  d7݊_75 %^OmZZ7 TPe?tE5>mG ww BE% Wp 4^ _ l_B j VE5FN  5E%`   X%& G& E 5 fff e˨N >G 5ƨN (GN F &E fe 5 򝂨 ~ g jww u-@w  Ĝ  wz 5w \ ,˕ H  % Rf, e%j jww ̙2 57%% 0 xe 'f&e  R&  B0:E0 x,`7ƙ  etQ7 wbw R7 P`$*2 /  I \C - 55`1ȘĘ- d7 ˜7  e & && e7 t7z7l  ^] ww ˵ 1_7% %_7a  % & f& e7 ve7lމ dwdw`\wXTNHB e@@ A @e5\pNf  @ ef  & ` ҋ@ fe  5  5 5 e% _ m %_0  %6 ^N >G%-e , -ww Xt7 ww f% @w u-@w|@w fC@Dm*Q] 5# & & %jӧw`ҧB X ħ     . w  %   t̕t `M7ZMDf ,   bw| t̕t h Pw JCRf2  Re~w4w $D4 ̕L~IL 7LFf ,ww DEted`%L ,Iww pLDf  Rf̥ t@-@@ & P ˜e ` e  wF` P@lr &     `Fw .RRf̥ - z0- e%j]: tTT}  7 \T\TȗE7NTFT  RT}  &T$Tޗ T7 TT} ,w2w "-S  wS7 ST} , _* x@`S F%_*S 7SS F%eS S]%Z 7zS pS    ,e%> ^ d / xa & G  % F&d b/%̕Rf, hf , ,Rf,  ʥ Re%j e%jڂ w  Rfh, n ʥL ,% E d b/% 2 2 22 2l懎 X   X l X   X  >G1ʥ   |WtUp0 Re%j (n  _8 Yww RRfˋ e%j 5  ? 7 7 7 7 7 7  ܆1`wDw 4 |e?tE |p * t  \Ze`RLF`> e `0 ` &   N Pw PP` &      w V @;wVw F @;wFw 6Cʅ ,>̰ ل8d؄`Ԅ7Ƅ̵ % 2  Z377% d 툄&e X t?Fww  >2 /   ބ  e .wpw `DCL @ tEWt@PUA5UUw&w DC%Fx L EtUA5U8U0wڼw ʼ%F45 U@P  5PUP BU  e%   e%0w`w PE 5@fP ,7 XPw>w .z ZU@&  5@ U XP@t 7OwO@t7O@tE7Oztt ] &  55@ , EH5RtEWt@PU@`--U   UU TR TV5 PRww nJ R(5Z5PF A ; 7,*%5@PU 7 77 2IT 0 wZw JN [fBY @LeC 7dw(w N [ fBY @Le7 dww DB j    wЫw D5 J Eteb@ "U ؄& D<%ww x>2 / E \ & D<%wBw 2 CB%5 - 5 - E%@'  d :4 "E TE r- a @ 0  ^ww  , 0  ,wrw b ,D̵=%t 5xt5%E ^5    xa5mfe X ttw E5` w  >2 / AGEww ~%5- U I F -5%z NwFw 6 Ds5_M5s_Mms _M\teE5 Rt5 tEB-_MmstEAmt@ t _M U@&  5@ U t E4 sWt @`E@`t4`tE4B j 4r E 4 4r&  4&  5r5@ , EH 7r Mjqrww D57YrQrww 2IL4   \   P  rWtPt r4` `73-, 3-,3n  ww ^R t&& Jewªw $:$7 && 2%5 ߕ  5~ 5~  U77 2I Nw@w 0N ] f&[ @Leww N ]  f&[ @Leww کB j be P `@Et0!b[b w( 6E%@ +D>2 /   ^.0- ^  ^ww   >2 /   2 \( ^ww  &&Jfe X &&ff fe  w&&&& fe Nf&& fe wn&wj&Ze w ( ,f& ? ww  >2 /  B& ?  ^ww ef  @&e P @& E @&e \ tCe jN5rr&  e&  e&  wTw Dr 7re 7xre 7lr jNww r ,E% q fWp 6^%wظw ȸD @&e   &O ww eEe% .^ e 7)w`w PDe  e   ,e , >  4ww C   w    ޵c6&  @5 '\ %c  % [b XXBYb VVc TTTTRU rUV F]r] XX,[^[ h  /etc/initmem = %l no clockiinitno spacebad blockOut of inodesbad countno fsno imtInode table overflow panic: %s %s on dev %l/%l errbn%l er%o %o swap errorno procsout of swap spaceswap errorout of textout of swap space %#######le@e5 Nef  e % f  e % >Gw8w ( ,  @ ww 5"< >2 /  5   $f  " o ^w e%Bf  & f@t ]%-f E  >G2J G2& %22dE2 >G :4w 5~;$f " e%Bf}~*.l 5-c~e %x& f@t aa 5\a %d  %5ceD-w *BCE% 5 5 %%% ~%  &O4%5%A%Ze   5 % %  ,  5 Q  Rwxw h CDE%5 _nR% 5  Q _nR5:bҋ !\ Q %a%ze% 5 Q e &  ZeLb5 E B x,bʋ=ʊ;tE5##$$#"$($#%$%ka6 = %o aps = %o trap type %o trap&&&&&&'&&&))))* *r**corev%79 ;0;;<8;=pCZ4CjBh>FD~DB:p?=&Cv@ABBB(h%N?h%v%2NMh%DC>8CD\Bh%h%N@b2dEEh%BCDh%h%h%h%h%h%h%h%h%h%h%h%h%h%h% `D-`-V- `---no file out of swap=====unlink -- igetblkdevdevtab|#`{}@]% ^3  >Gwrw b >2 / E%`}-f6} ^w*w x~ww 2#~~*#ww ~#~~7#e ,ww ğd~7} 7t}t}07j}ww ^}8~4~R}ww ğ"~7C} 73}71}wxw h%}}}}w`w P}? }wNw > BwBw 2}%  (  |0ww >2 / 3 :4| 2 a E%@ |Xv|r|7 |  ^ ^w%ʋt&e  % tE5% U@%  e &U  w5@tE5%% w ̴D RwĴw B &5"e %LbEP4 ER 0,%wZw JD  xO   e  . ww D#  R@&e  %2   Q  Rww DC 33w~ABCDEFGHIJKLMNOPQRSTUVWXYZVRXRQQ&RrRR({)}!|^~'`\XXX##hN<2 / E%@| ^@& - | ^7 | :4w@w 0 E{Ef|b|E4P ^ww   4| /|  ^ww |%% o{ ?B| {Z{!N{0ww 5 |4{Rf    ,%hf{7{ {& % e%j܂ zw"w  V{  eJ{%ww 8{E7{.{|{*{x{&{ E7l{ww Nf G 5wU &@t ]  N w dl8Ctel sDuepeeH3 #@UCU@ww ܲDue N4wβw @te ,Sww @te jSww Due R % e ,whw XBteU53& LP w4w $DueN& S ww AB j jE tE mE@` F__"p_regloc#__fubyte"F_subyte"`_fuibyte"F_suibyte"`_fuword"_suword"_fuiword"_suiword"_copyin"_copyout"_idle":_savu"L_retu"n_aretu"b_u!_spl0"_spl1"_spl4"_spl5"_spl6"_spl7"_copyseg"_clearse" _dpadd"X_dpcmp"f_end$L_edata#b_main"_ldiv"P_lrem"\_lshift"jcsv"zcret"_ka6#]_cputype#]badtrap$H_bdevsw#]_nodev" _nulldev" _rpstrat"[_rptab$b_tmo Hw ~B N G N G 5 U &@t ] #N G N G 5 >G U @t ] N E w Hw DE & t ] 5 H >G5 Mww D t]%b% (GU >Gw^w NDU FwHw 8D5@ ,5@2E@2z ,5 "z .EH0 zww ؿD@t] s-3! w  w @-0a  ?j . w~w n$j7 j7ajB X wRB j iE .i RtE m\E@` ` __ Ԯw N K@E0ޞww D5 J%B EޞU 2I4  7  07   RwJw : 7 ˕U 2I ' EޞE @ ˕{ t  tUC5UV wүw ¯F 565 & 2%5 Eޞ7pen"X_tmclose"X_tmstrat"BY_tmtab$b_tcclose"V_tcstrat"V_tctab$c_cdevsw#.^_klopen"T_klclose"T_klread"T_klwrite"T_klsgtty"RU_mmread"rU_mmwrite"V_rpread"F]_rpwrite"r]_tmread",[_tmwrite"^[_rootdev#^_swapdev#^_swplo#^_nswap#^_canonb$c_coremap$d_swapmap$d_rootdir$e_execnt$e_lbolt$e_time$e_tout$e_callout$e_mount$$f_mpid$Bf_runin$Df_runout$Ff_curpri$Hf_maxmem$Jf_lks$Lf_updlock$Nf_rablock$Pf_proc$Rf_text$jz %z"2<U@2z  r @t]a  t-t-  ^5U@& $ Iw 1 I5U F0003t tw D μ&  5  Mww tD 00UwTw DD5  &KU5 >GE@ ,w w @ ~ww z70707070 WpDex Wpe\}tzX0R007J0 >G % ] @ E U7 7 ! ,!5 E U˕CwP   xFbߕ 2I - -؂"" Et5 @PUA j e-w ̮Dyg  0  ww D4 & Y & Y w~w ne  5R@t@]U`RwDw 4D e - - U fI 2I!55 4   l 7f b 07Z N   ԫw̭w U74  2I* W 5 @_inode$.l_icode#^_mfree"b/_printf"_min"_panic"_cinit"N_binit"~I_iinit"> _iget"2_newproc"_expand"P_estabur" _sched"_sureg" _nseg"* _nblkdev$x_nchrdev$x_buf$x_bfreeli$z_bread"E_getblk"G_bcopy" _brelse">G_alloc" _getfs""_sleep"_badbloc"X _wakeup",_clrbuf"fI_prdev"_free" _bwrite"F_ialloc" _iput"^_ifree"_update"_iupdat"_prele":4_bflush"K_itrunc"d_maknode"\_wdir"_writei"_panicst$2z_putchar"_printn"\_deverro"2_readi"d_bmap"_breada"E_iomove"_bawrite"(G_bdwrite"F_max"_cpass"~ _passc". _file$4z_issig"%_setrun"R_setpri"_malloc"/_xswap" _swap"HK_xccdec"2#_xfree"!_xalloc"!_sysent#V`_psignal"%_psig"h&_trap1"J%_grow"'_nosys"h%_nullsys"v%_ipc$T}_signal"~%_stop"&_procxmt"T)_exit"7_core"$'_schar"*2_namei"/_access"-_ptrace"(_rexit"7_for   P ~tnx0lHB  & C~2NmH   W W @57\PP0R`0  ȋ `5 a~tEķ T c  l  0 L&  6r 6r@@A6v@@& ADCBFw 7 ^fVe  ^,d b/%  F %F,V  Wt p &E feH  N  59@ 74P @- $Pf& E%N& E 5rff eN >G ww BE% Wp R^ _ l_B j VE5FN  5E%`   X%& G& E 5 fff e˨N >G 5ƨN (GN F &E fe 5 򝂨 ~ g jww u-@wk"9_read" ;_write"0;_open";_close"<_wait"8_creat";_link"=_unlink"pC_exec"Z4_chdir"C_gtime"jB_mknod"h>_chmod"FD_chown"~D_sbreak"B:_stat"p?_seek"=_getpid"&C_smount"v@_sumount"A_setuid"B_getuid"B_stime"B_fstat"N?_stty"2N_gtty"M_nice"DC_sslep">_sync"8C_kill"D_getswit"\B_dup"N@_pipe"b2_times"dE_profil"E_setgid"B_getgid"C_ssig"D_timeout"0,_getf",_closef",_closei"- 0 e%>d^WpWtN _  H^  7>^VVd b/%Uf^^ %`^^ %_ U]]]]pfM] BF @ :V 2 7\\"V 2 7pj :  P & & e& ^ % wnw ^%(T`#%%(T #5 %ww %(pTN * %N * &f p e% m_& N * &f F &f :@w u-@w|@w fC@Dm*Q] 5# & & %jӧw`ҧB X ħ     . w  %   t̕t ~M7xMbf ,   bw| t̕t h Pw JCpf2  Re~w4w $D4 ̕MIL 7Ldf ,ww DEted`%L JIww Lbf  pf̥_openi"r-_owner"P._uchar">2_suser"._ufalloc"._falloc"._readp"2_plock"4_writep"Z3_rdwr"@;_open1"D<_stat1"?_getmdev"B_buffers$\}_swbuf$z_httab$_iowait"H_incore"G_geterro"M_notavai"I_iodone"2I_mapfree"&K_devstar"J_rhstart"`J_maplock$_mapallo"J_physio"@L_partab#Lb_maptab#a_cfree$_sgtty"jN_wflusht"N_flushtt"&O_canon"xO_ttyinpu"LP_ttyoutp"Q_ttstart"R_ttrstrt"R_ttread",S_ttwrite"jS_ttystty"S_kl11$_tcper ee%@@m@me-X\ je%  @teU   %ze% @teUDm  %z   %Dm#%  @tU"e# jz%z% w\w L@etwHw 8SSt ^%S E  G _ & % >G7ZNSZ4447 Z7Zww N "e   I  5e%j%DLdf \D m,d / J TpfE%̥.̥+e%j%pfE%̥̥ 5e%j%D  & %_@ && HKe ,m D&& HKe et&d b/%4__ ww pf LJ n7pG̃7 ȃ2e%jpfʥ    T~vJ$ޞ_tcstart"G2e ,Nf G  fIw2 N&_   w N "&e  Nf& X % ; 4 %d#Nf G d&e %4  F4e , apw.w DCe - N/_  w w N "&e  *  a5Nf 2  e e n  bwlw \5 7 4J 0Jpf̋ 5-J e%jD_ ԣ̕I  4%@  LD7hC,d / 5˕t L & & %˕ w\t N f  w &5tu- NmfN,d b/%? LN,d /  LN& % 5  Nm  u-G J M 9 < ? B E H K N : = @ C F I L O P S V Y \ _ b e Q T W Z ] ` c f R U X [ ^ a d g h k n q t w z } i l o r u x  w  ^ 5 5 KNef E 5 @ ` %5 @tp-Nl@tp-Pl %d ap%de% >G%d 5#4e , N9_  Q_ w N "%d  apwdw TBf L-%d%d NG_  4 4  e%`fڂQ_ ww VQ VBf *#  G 4UU& % Fef,d b/% n wvw f@55S@5/5LN C5 @ @m@ @m0  %@0 F@U@t55@ @mBN 0 w@ @mN  F@ @m7 RG%@ @m7:G@ @m0f E %4@tEe5 `N 5 >G@ `AH F  >Gf E 5D@E5 `N 5^b< wwt7ZU7TT7N*7HW7BZ7<\& |z7b#|^ EfF E50 UaE 8 U0 %  2pv Er bڝԝI 2 ĝVUNE@HBE   5 e E$a a%`f΂Ll̵ e&   :4e %x7 FV KwTw D &   Ll5-(5-$̵̵Bf2!e%`fX_ __  w e %xɂtt̕fe P f E 5 >G ^fe \ tl5eSee  >Gw D  d4 &  e&   :4 4  :4ww BʵL "Ee5f P @ `N F F >G7 XF%@ `7BFw H  w(@֟ ` j w ğ  Ew Fjqw eww ww DCB~ww D 5etd / _  2# f& HKe _   f,d b/%4D7Ddf ,ww $0  2#54 et&d b/%  ^w 1 UE@B ``  5 ``   H䜂ٜԜ ͜ [] ` f EA_ `  NtExXXXXXXP\\\\\X7X@ExTDT"555@EWtU& @ U7 @D7@t z@ r525/E*@tE_ mʛ5 5 5 5&e \e V55 %&EPtE E 5f \ tA@lee ʵSSeʵTeTN Fw"w D5 pe5[ U5HN& E e5 1e@-%& E 5e5  N& @p- >G& ,ȃ >GN& = e@-E4 4 w*w   w@U4  w @7ZHԔ%VzjXl  ^ww Cew О_.# j e %Ll t-0a_ 4 tve?tEetd / _ e P & & e&7 N d e& HKe3C  P  L L & % L wTw DD  &,d b/%w$w  @E%U@e 7@  x_f:"`  Ne,`  N6`  D`  b %   |Ld5 5   ЇE6:0H ("E Bv EE (&v  6  fU`I  >U8& "~  P ~ & ~X J&  .4.EUPEIUUrEvIEnU fE`UXE@RUJE DU<60(  1 @ %%B %d%l%o %o  \ %s ew*w Nf P N& \ Nf \ e0 ww D x 5t t tv%     tww wZe Nv_  .w h@@&f_ ewTw DD _  Nf&_ ew"w B ̪_E% Wp P^ _B j 55E5xN  E%`#ZT wNe %  ܜ7 ENe Etet`%t`)N e E?%?Etet` "e  1  N  1e " J%JYdSM_#U=5 _# _#* % _#_#C p  ' _# _#w ,̛ L 7ww dŚww ww pft-N& % e%jww %D t̥d̕d̥ Rww TĜ   Ĝ  wz 5w \ ,˕ H  % pf, e%j jww ̙2 57%% 0 xe 'f&e  R&  B0:E0 xJ`7ƙ  etQ7 wbw R7 n`$*2 /  I \C - 55`1ȘĘ- d7 ˜7  e & && e7 t7z7l  ^] ww ˵ 1_7% %_7a  % & f& e7 ve7lމ dwdw`\wXTNHB e@@ A @e5\pNf  @ ef  & ` ҋ@ fe  5  5 5 e% _ m %_0  %6 ^N >G%.e , .ww Xt7 ww f%  Hw ~B N G N G 5 U &@t ^ #N G N G 5 >G U @t ^ N E w Hw DE & t ^ 5 H >G5 Mww D t^%c% (GU >Gw^w NDU FwHw 8D5@ ,5@2E@28z ,5 @z .EH0 8zww ؿD@t^ s-3! w  w @-0a  t@-@@ & P ˜e ` e  wF` P@lr &     `Fw .Rpf̥ - z0- e%j]: Tr}  7 zTzTȗE7lTdT  Rr}  DTBTޗ 8T7 *Tr} ,w2w "-T  wT7 Tr} , _* x^`S F%_*S 7SS F%eS S]%Z 7S S    ,e%> ^ d / a & G  % F&,d b/%̕pf, f , ,pf,  ʥ Re%j e%jڂ w  pfh, n ʥL ,% E d b/% 2 2 22 2l懎 X   X l X   X  >G1ʥ   |WtUp0 Re%j (n  _8 Yww Rpfˋ8z %8z@2<U@228z  r @t^a  t-t-  ^5U@& $ Iw 1 I5U F0003t tw D μ&  5  Mww tD 00UwTw DD5  &KU5 >GE@ ,w w @ ~ww 8z70707070 WpDex Wpez}t8zv0p007h0 >G %  ^ @KS|S   nS  ;bS\S RS e%%6   % "_ mȖ e USES S_d)ƕR_f) F R_d)w M; *;2e e  5# :e  &  e e 3ee3@E%  f Z  ֕ t:%<n:_,,5f<Z: Z: R: -P:J:-F:@:e ,52:r7e ,pfʋE%  r2d e%jۂ e%j 5  ? 7 7 7 7 7 7  ܆1`wDw 4 |e?tE |p * t  \Ze`RLF`> e `0 ` &   N Pw PP` &      w V @;wVw F @;wFw 6Cʅ ,>̰ ل8d؄`Ԅ7Ƅ̵ % 2  Z377% d 툄&e X t?Fww  >2 /   ބ  e .wpw `DCL @ tEWt@PUA5UUw&w DC%F L EtUA5U8U0wڼw ʼ%FR5 U@P  5PUP BU  e%   e%0w`w PE 5@P ,7 vPw>w . ZU@&  5@ U v&P@t 7PwP@t7 P@tE7O<tt ^ &  55@ , EHp:7j:bf ,@E%@e 7  D wVw F Be t e e   !tt_ww C % w u w D̵Ee ,e , E& - wrw bDEta7<4 yfWp N^% ^w&ft ^w DEa73 y-0KfWp L^ft ^%-Keww DC% "؄& D<%ww x>2 / E \ & D<%wBw 2 CB%5 - 5 - E%@'  d :4 "E TE r- a @ 0  ^ww  , 0  ,wrw b ,D̵=%t 5xt5%E ^5    xa5mfe X ttw E5` w  >2 / AGEww ~%5- U I F .5%8z NwFw 6 Ds5_M5s_Mms _M\teE5 Rt5 tEB-_MmstEAmt@ t _M U@&  5@ U t E4 sWt @`E@`t4`tE4B j 4r E 4 4r&  4&  5r5@ , EH 7r Mjqrww D57YrQrww ;%3!̵ ( %@5I 7 t7 t0 w6w & >2 /   7 ȑ   ^ ww w w   ?`w؄ %mw   04 4 wRze%r}a w XCK-smK ew0e  w BD e D-m tm@m-*4c &e44@m- tLm  Le6E%@ +D>2 /   ^.0- ^  ^ww   >2 /   2 \( ^ww  '&Jfe X &&ff fe  w&&&& fe Nf&& fe w&w&Ze w ( ,f& ? ww  >2 /  B& ?  ^ww ef  @&e P @& E @&e \ tCe jN5rr&  e&  e&  wTw Dr 7re 7xre 7lr jNww r ,E% q fWp T^%wظw ȸD @&e   &O ww eE e%Ԟ L^ e 7)w`w PDe  e   ,e , >  4ww C   w    ޵.c6&  @5 '\ %.c  %ww |@ %/5& 2  %/    ^ _2ݏ _1E%@@& - H   %VҐ %/%V %/u7 |7 vd5 & P 7X5 P$ N >G% & - 7H @e75 N >G P &  & E 5X@&E` %e  HZH` %V N >G% &le@e5 Nef  e % f  e % >Gw8w ( ,  @ ww 5"< >2 /  5   Bf  " o ^w e%`f  & f@t ^%-f E  >G2J G2& %22dE2 >G :4w 5~;Bf " e%`f}~*Ll 5-c~e %x& f@t aa 5\a %,d  %5.ceD-w *BCE% 5 5 %%% ~%  &O4%5%A%Ze   5 % %  ,  5 Q  Rwxw h CDE%5 _nR% 5  Q _nR5Xbҋ !\ Q %a%ze% 5 Q e &  Zejb5 E B xJbʋ=ʊ;tE5 - _J0w5 ^Df 2 _V0_P0w L$E wHw 8 F%jۍw$w  , # X( J|ʕ2˕3̕w3@ 0  ^w D% 4 3 5Ee , :4 Ue   4, 7 7 d :4w,w D֌ 4  :47 Œ  :4   % w% U :4e  7 r nf  7V ^% ^3  >Gwrw b >2 / E%`}-6} ^w*w x~ww P#~~H#ww ~.#~~7&#e ,ww ğd~7} 7t}t}07j}ww ^}8~4~R}ww ğ"~7C} 73}71}wxw h%}}}}w`w P}? }wNw > BwBw 2}%  (  |0ww >2 / 3 :4| 2 a E%@ |Xv|r|7 |  ^ ^w%ʋt&e  % tE5% U@%  e &U  w5@tE5%% w ̴D RwĴw B &5"e %jbEP4 ER 0,%wZw JD  xO   e  . ww D#  R@&e  %2   Q  Rww DC 33w :45Ee ,w dD&  ̵wLw 2 /  _7e  %41 .1 G5@ - _75`_7@5 5 $ %_7eN F%_7 %)_7  55 7 7  d7݊_75 %^OmZZ7 TPe?tE5>m2 / E%@| ^@& - | ^7 | :4w@w 0 E{Ef|b|E4P ^ww   4| /|  ^ww |%% o{ ?B| {Z{!N{0ww 5 |4{pf    ,%f{7{ {& % e%j܂ zw"w  V{  eJ{%ww 8{E7{.{|{*{x{&{ E7l{ww Nf G 5wU &@t ^  N w dl8Cteܞl sDuepeeH3 #@UCU@ww ܲDueܞ N4wβw @teܞ ,Sww @teܞ jSww Dueܞ R % e ,whw XBteܞU53& LP w4w $DueܞN& S ww AB j jE tE m:E@` F__ ?j . w~w n$j7 j7ajB X wRB j iE .i RtE mzE@` ` __ Ԯw N K@E0ww D5 J%B EU 2I4   7  07   RwJw : 7 ˕U 2I ' EE @ ˕   tUC5Uj wүw ¯Z 565 & 2%5 E7X_tmclose"X_tmstrat"BY_tmtab$c_nulldev" _tcclose"V_tcstrat"V_tctab$c_hpopen"[_hpstrat"[_hptab$"c_cdevsw#L^_klopen"T_klclose"T_klread"T_klwrite"T_klsgtty"RU_mmread"rU_mmwrite"V_tmread",[_tmwrite"^[_hpread"d]_hpwrite"]_rootdev#^_swapdev#^_swplo#^_nswap#^_canonb$,c_coremap$,d_swapmap$d_rootdir$e_execnt$e_lbolt$e_time$e_tout$e_callout$e_mount$Bf_mpid$`f_runin$bf_runout$df_curpri$ff_maxmem$hf_lks$jf_updloript count subscript out of range subscript syntax error DATA syntax error DATA semantics error equivalence inconsistency equivalence syntax error separate common blocks equivalenced common block illegally extended by equivalence common inconsistency created by equivalence DATA table overflow () imbalance in expression expression syntax error illegal variable in equivalence Storage initialized twice by DATA non array/function used with subscripts/arguments goto syntax error illegal return continue, return' E U7 7 ! ,!5 E U˕CwP   xdbߕ 2I - -؂"" Et5 @PUA ~ e-w ̮Dyg  0 $ 4ww D4 & Y & Y w~w ne  5R@t@]U`RwDw 4D e4 - - U fI 2I!55 4   7z v 07n b   ԫw̭w U7H  2I> W 5 $@ck$lf_rablock$nf_proc$pf_text$j_inode$Ll_icode#^_mfree"b/_printf"_min"_panic"_cinit"N_binit"~I_iinit"> _iget"2_newproc"_expand"P_estabur" _sched"_sureg" _nseg"* _nblkdev$x_nchrdev$x_buf$x_bfreeli$8z_bread"E_getblk"G_bcopy" _brelse">G_alloc" _getfs""_sleep"_badbloc"X _wakeup",_clrbuf"fI_prdev"_free" _bwrite"F_ialloc" _iput"^_ifree"_update"_iupdat"_prele":4_b, stop, call, end, or pause syntax error assign syntax error if syntax error I/O syntax error do or I/O iteration error do end missing illegal statement in block data multiply defined labels undefined label dimension mismatch expression syntax error end of statement in hollerith constant array too large B table overflow unrecognized statement 5RtEWt@PU@`--U   UU TR TV5 PRww J R(5Z5PZ U O $7@*%5@PU 7 $7 7 2IT 0$ wZw JN [fBY @LeC 7dw(w N [ fBY @Le7 dww DB j  $  4wЫw CC  ww D Eflush"K_itrunc"d_maknode"\_wdir"_writei"_panicst$Pz_putchar"_printn"\_deverro"2_readi"d_bmap"_breada"E_iomove"_bawrite"(G_bdwrite"F_max"_cpass"~ _passc". _file$Rz_issig"%_setrun"R_setpri"_malloc"/_xswap" _swap"HK_xccdec"2#_xfree"!_xalloc"!_sysent#t`_psignal"%_psig"h&_trap1"J%_grow"'_nosys"h%_nullsys"v%_ipc$r}_signal"~%_stop"&_procxmt"T)_exit"7_core"$'_schar"*2_namei"s v y |  teb@ "U 2IL4  \  P  rWtPt r4` B73-, 3-,3  wتw Ȫrf t&& `Jeww 2727(5@" & 2%5p   5 ~   U77 2I Nw"w N ] fD[ @Leww N ]  fD[ @Lew̩w B j jbe P `@Et0!/_access"-_ptrace"(_rexit"7_fork"9_read" ;_write"0;_open";_close"<_wait"8_creat";_link"=_unlink"pC_exec"Z4_chdir"C_gtime"jB_mknod"h>_chmod"FD_chown"~D_sbreak"B:_stat"p?_seek"=_getpid"&C_smount"v@_sumount"A_setuid"B_getuid"B_stime"B_fstat"N?_stty"2N_gtty"M_nice"DC_sslep">_sync"8C_kill"D_getswit"\B_dup"N@_pipe"b2_times"dE_profil"E_setgid"B_getgid"C_ssig"D_timeoT60.% \  w -?c*w 0.Aj*w $.Dw)U0IH|OOOS_Sw #hU 2_suser"._ufalloc"._falloc"._readp"2_plock"4_writep"Z3_rdwr"@;_open1"D<_stat1"?_getmdev"B_buffers$z}_swbuf$_httab$_iowait"H_incore"G_geterro"M_notavai"I_iodone"2I_mapfree"&K_devstar"J_rhstart"`J_maplock$_mapallo"J_physio"@L_partab#jb_maptab#a_cfree$_sgtty"jN_wflusht"N_flushtt"&O_canon"xO_ttyinpu"LP_ttyoutp"Q_ttstart"R_ttrstrt"R_ttread",S_tlogical*1logicalinteger*1integer*2integerdoublecomplexdoubleprecisioncomplexreal*8realw  w  w w w l $ (w 58Ifw   K W/ w w n >w RTU I>IU@FD~DB:p?=&Cv@ABBB(h%N?h%v%2NMh%DC>8CD\Bh%h%N@b2dEEh%BCDh%h%h%h%h%h%h%h%h%h%h%h%h%h%h% `D-`-V- `---no file out of swap=====unlink -- igetblkdevdevtab|#twrite"jS_ttystty"S_kl11$ܞ_tcper$_tcstart"I w @I@IBIw $`3 >IBIePxw "main: w r"%n.:`{}@~ABCDEFGHIJKLMNOPQRSTUVWXYZVRXRQQ&RrRR({)}!|^~'`\XXX%,Qfd,trap"start"dump"call"_klrint"U_klxint"T_clock"*_tcintr"W_tmintr"Z_hpintr"\_trap"b#nofault$`ssr$b_runrun$ c_swtch"v_savfp"X_display"X_incupc"Z_getc"_p/usr/sourcerp1 %n_  ~IL>IF `f eC 9 &w : \&\w Aw Aw l \0> w b9Aw   cw N w Hcw tb9 AD B(@A w  c%d: w  %o Fw 4f b9 S$   `# ׭--.w h h-EWW 7t8XTTTw\7wHw ,\7&w X \77w N \77Fw \7 E  X* Temp file? f.tmp1f.tmp2-n+w 2w Bf,IFw 6d,IF5Itanhsqrtsnglsinsignrealmodmin1min0max1max0isignintifixidintidimiabsfloatexpdsqrtdsindsigndrealdmoddmin1dmax1dlog10dlogdimagdimdexpdcsqrtdcsindcosdconjgdcmplxdclogdcexpdccosdcabsdbledatan2datandabscsqrtcsincosconjgUI*B `w @ d%d: %d.  w $ ..; w  %d.; Iw   w  f@qDaRqw  $ w z "w l %w ^Ŝ=IDq@f&55 .  w - - E ` s qDD`fD @ `   r D D  b D&`@ f f@Dfnw h1: w  w T; .%d w  $  w Hw  (w .(w " &Tw  (M w zI `w ; d%dw 6 V; V66  V%V `&e  V   V%ez%bww5Q$XV dV f   EU P5$   PZVfPPQ7 $5    5 C B A  -b%`DZ%XDT%>I -" +"*'" w 2 lval; c%d w w %w  stsp; ft+%d. e$ w $w  stst; ft+%d. e$& "$ w *w &w w ; >Iw 5EE w n  w ^ Ez)w B%c%d" ""   e07=2 82752 'f@$ w (W,w  W) STJ)" 7 W FwxST@E$x""""T#(w  w w 4ST w W. Bw V%<R3Wh4 $. *+ w ST < & Rw @7 3ҕ  Uw w w $ @$ w  WeWd W+W-w WeRRw &@$ ST@$   `5r$  5Z$  5H$  eEZV  "$ $5 $ $$ 5#  5#  XV5@#  wL   w>XV ZVr# (    5@b#  D# B    *# U4#wXV # wXV #w#w"w  7 " "a "U""W 8UfV W 8EZVfc     ` bVnV-p"z" a w  $w ^ agoto $w P cagoto W( <D@ )W,w Vfw  cgoto ы ɋw  #w 8w  .%d @ , )w  0 w #w &w >w : ɋ w H  3 0w w  stop; %d !w   w w r paus; %d  @w b %w P retrn ɋw H &-40I w 58I ew  slist1; d%d 2:w & w  slist3 iow \ w j slist2; 2bw l w n=w Vw Fw @ !,&fȕ) w .w fw "w  w ޕ,w  "w )w w  %s  (w ) bksprewienfl w .4(w Aw Dw w .w w "w 6w A j* x%X7 / 7 F 0 p `e07/"" " j v ' ".7/ef J 7 ~/UW %I Xfh r e0c r e0ce0#7 1`>w h-=w L.bss :> w <ft: .=.+%d. !b9w ".data w base:  (7]58I&Pp  @j*w  ! "W N  @ &   / e&7 J  j De Ԥ!@eW  8m RW et ZEWue T!eD @5 &     7 = ߋpH@E A Ze      @7@ eE "   r t@P ljɋ ',$  ' N& & %' ''  _ 00  _  ' ' N& %  _ wn w \  5    :̥4˥1 . +  &&  %4 33   @w w &*̥& < %0-  @ %2.0 4w` w N @ wL @w 4 B" ʥ ʋ @@ & 6  `w  N%M , T   & &    :e  !2   <  & & %~ @! 6!& >%       %   7 y % d  JJ   &   :% ( !    :%  (  7N   2.e %0 %6!- e 2e%6!   e%6!@t  & 6  w  % @+ e &% @- e % @&  7(@! b   7'%@&  7V+N+@" b   7&+ 7%7%7% X t  z `  %  % `  l %%  * _|" b <%(" b 4%;" b (%Q" b %b" b %w" b %" b $" b $" b $    ԋw w D  00w w D̥ w w D Epa-l % /$ ^% e<67a2wZ w H  Wp1& % 77*w6 w $ AWpDe&C  Ԓ˥( r5 ӥ,$w w D <AmWp1&N&  ̋)̥(r5ԥ*CWp@$&Wp1&7: @e w` w N @ '7wD w 2 B '̥,̋' * %6! !  ew   2e%6!ww D   & x 4 ww J!L %%  w7,7&7 w PB -   V         & e ` :e T ww 2  @%ae et& %N! >% <  @7@! &  %6! >% wRfwwj wF fwwp w& " b $" b $" b $# b $# b $4# b $D# b $X# b $etEp# b  ww v&  5 x  ^L!$ 44 ,w84 $ ^L## 4 ^4 # 4 4 34 %%0 w $%:  Pw% Ԑ 0w zD %9 Wp C`e%0 wZw D&j 7. y z# b Y #ԥ,w w DNWpfe&  w @e!w D̥r0 4 eww &0   wvw dD̋ wbӋ̥-(̥*-(+̋ԥr̥0̥4Wp1&#w  _(N'  5_.N'  %%  ='+R +ӕ,'7V re077  r/@e07$7! ++  A1 w0w  _f@w fwfwbv wf@)wfw:@e72| wfw7 f&f w fww wbf@ww w@f@ww w fAW @w f`!1`!7~ 5 eRwj 5& w&L&H&D&@&<&8&4&0&,&(&$& &&&&& &&&%d4   #e 3## b %d# b ̥̥###& # b%  # b # bwnw \ B$ % ԋ ̥,5 ̥*  Ԥ(, N#  2 !ww  5D ̋ w ԋ%D ԋ ^D%D @w  t @`@`E r9C e(%(( #ewXw F *$˥ ˥ Ҕˋ ˥ ˥  @e5+̥&˥  5p3 @0tD  @F@p@&w*"#̥̥̥    00 w2w  = @˥8 H$  ) t t5& %     w˥ w AWpDe&̥$  Wpe&@'wh <'&  w : DCԥ$ӥ$ w, ˥7 tf& f BRf D& w }f@wTwP wf@fA w,*w"$e"w"ew"@lw"Alew &@t`e w wwww@& HADCBF70F @X/bin/sh-/etc/rc/etc/init/etc/ttys/etc/utmp/usr/adm/wtmp/dev/tty8//dev/ttyxetc/getty %0 %e$t$ @`$@`E r9 e(u3*Ң!ӋӋed$ˋ˥0ӥ9 $Z  wӥbe%((DL$$ w d* %+ ̥  r 1*4  9̥̥̥ .4  r C*, ˥,   @   ^̥  @ˋ˥   ww z7 R  _̥̥̥ "  @˥      ̥e`˥0 ̥7 te`̥0̥+ ˥+ ԢӋC@ ˂ x $       삱 釮 憫 ヨw pDC˥$   ''ҔwRw @uu@ H w*@ ȋw D  7w'w D̥* ̥(̥- ( 5 ԋ +̥)ww ~wDe   % w|7 ~7 ~ׯt- l j(w^7 ` .wTeL$B J ӕ- R rwL(ʥ#˥  04   ̥(̥%K#0 p R  40  ˥ 00     _ww  5 D w h 4  ̥˥&   @w C˥ % ^> 84 4  03wBw 0D̥C?<˥ f e0 @ > ҋ D~8t$x$ ӕ0 $f v Le0 9e  7we&  mj h ~    ~ w7 < 2 .0   Wp `e0eӕ?f ,P   @f   ,7$  |$ ,-f ((  7  7 7 fw w $w<f@)f  disk offset J7H tape offset 070 count  T      0 Wp `@ illegal digit f-  ^ e*ȋ5 5&D9ȋ5@*&e  (: 7 . r f rv!FDɋ˥˥6$  32   ʥʥ w! ʥ,@ D h 52  005s5r h N @    w \̥%  ʥ &   wvw dDC h    ̥w(fw w $w ft p wmj $w^ wmX fwH $ww: f@w* w& $wff@fA w, w" e"w" ew" @lw" Alew &@t`e @& HADCBF7jF !!!!!!"!&!*!.!3! 8! (_Z Hq%}_-_ ) H8+_ q_@ 2 _%$b 6%  _ Z_%#_ &_:   % _ y % _Nb r e`A! yb 6_b@5 % _ _N_ w 8,B 5h w0,  Nfe %  5h  Nfe %   Nff % N $"=w  <y %@ 5h=%%  e@_5 f 0f 6 f& |%w0w D &mf& %6f 6N:f 6 ww N@f 6 ww @  xhdEf 6 PfNaf 6 ww  ` lddf^mf 6 Nff f fff 6e  H8 $7HdwRw @ D -rf 6%w*w *}`De@e!wf { 9E%f  9E r erdA! yR +D 5h w+%(Nf&e b %  $"=%$%(Nf&e b %  $"=% r e:aA! y" f %Pe( ^ xa  U "4 % %, p _%p, NBv& %e =_  _%y-re@@ Bv&  & %w )D@t%Bv% %!% Nf& % w)  f 6, !;f 6ff !f 6 f !{ 9f 6%{ 9fff 6{ 9e%f%_g{ 9 g 6 'g !{ 9=g !{ 9Fg !{ 9Ng{ 9{ 97R\} { 9A1e{ 9=f} _V{ 97\@e!Wg  97 ] Bv&  & %}]_{ 9% { 9 & & & &  &  .eA~09 & 6  9w |9#a  9{@& 8 a  9@& 8 7* @a   9}|  |a 6z 8{@& 8 a  9a 6  7 |  9w8w 8C E%}$z@ 5h55N&  55W 5h@ 5h3Nf %w83@ 5h 5h@3Nf %s@5N5he > e > Nf&  & % w \)D% %!% =e >e >w")%$%(%( w (Dw( &&&& .e w ( D%$:ON&  % w(j555Nffe %w b(D Hl  f %  $z& %    }& % w (w (u-@w (@w 'D  &# .  %%#%: 5h e !e_ & & &  .e { 91{ 91 { 9{ 9&  .e_{ 9{ 9&&  .e 4_ & & & .e{ 9{ 9&g .e{ 9 _ !og_* !ug_R {  & |_.{ 9 7>_ 5h @e!g  9&& {  & .e _d & { t &w w D Ԑ { P9 %@ww { 9 Ng f  5 e}-@=E@-5ʥ@%$/N&& `% $@ 5h E@-@%$  &f `% eʋ_ w 6B5  @@ 5% C w6 r e2`A! y"   & e%#3% % Za  H8Nm %  &a 6%NBv %%y -}% 5hNfe %CBv %#w'w 'C_  xb.e 6 Z_80e 6 _8%e  Z+ H8    xb L4e LG :e>e=$ H8%*& d#% + Te 6% %& -\e* H8 _de wp&w ^&{e w`&w N&D  ee e 6 w*&w &DN&  % % %w%w %D9 5 2 x c ( 6 { 9g 6 { 9%g 6ww vB _2%_B$%     h5_B$5 t%_2%%2 5@" ,(r%/_B$7& && .e2 $"2 $"25L 5& 5% @-%% r_ %% % %$%   .  &  5  &  5%5  r eg 5 _ZNfe b % _Z%y_Z%_Z@_%yQ& & & .e $"3 5 5 % y Ne 8 ` % Ne 8 ` Cc % bNm <% wx%Bv_%m_ Q%_%:3%L\_[_ "_C%Bv%_2N <%S%m Q%nN iI i5bENm <% f5%$z%}%   b 6 w%$z"% % %%%% wr% ƃ% t-w :%BC%%  %  %w%55EU%%% %P%!w $DL-  e 6 e Ne  wz$w h$C%$%( %%#wJ$ w 4$D 5h#%gfw$ w #DN f @,c7zM y Uw#w #%  xHcA! y4U & &&_" . _\% _.%_\% _2%(@% &ex_"@A p_"%%K  ee%( /:% /%.%L%%  & %_"%'%#e& ,%wv .@m2_B$ .5_H$u-Nf  w &C   $"3w%g $"3h7pB y & &  .e&& & - .e 3- &fb 6e |w%yf*b 6%_Nb  _2w ^3Bu@ 5h5%5 %6%"_%y_NY5& Y eNf` % dY | N Nf` %@Y AWp 8 e 6 IIffVc 6e I,b, e 6 eNe 6 %M:I 4I0I *INffIIffc 6e H e 6 e Ne 6 Ce 6 e Ne 6  f 6w""@t5M5 @ @a0 Z u-N&& 9% @a Ze 5 5 @ /3 t & &  .e3 $"%$%_'_'&( .e 3 3 34 4 _%%#% 4 _%% %%%2- %  %(;%84%2l %# `t  5h_ %?2h7@ y%3  #_,&%:4 : 4_&@ 47Ye  %5%(%F %% -Xym%y% %! WNBv %5WNf %5_@55  5h@5 5E H8@ r e`A! y. f _%+%I_ _D5 '+ N&  @5%' 5 kf %5D%b H8 f f H8_%@%b H8 Dm@e@ap-Z@ @a5Z u-AupA- uAupu @ @-G GGG GNm ffGfc 6e G5 GNme 6 u-5 *~G zGe 6 N&& 9%@-N&& 9%e 6 e ㆵ u-"G Ge 6 5 u-_~Ne 6 N&& 9%@-f 6 e 놵 w . CB 05 '4- f  w 4- 54t5 te ׂ  w C  Y_&   &  3_%w n`5 5 B f5Nef .-% C Cae !u%% ef ,% %(%0_)  .   w%(%%# A1l %( Ne *Ce . P &  5%*  5 _*@ @ae54N @-/ .@m2%*%/@ @a% %*%5 ! U5$z5y5%m5%+ %,%I%J w5 2 %$z%$%}%$z}5u 5h%uuNf& %5%m-v_55u- Nf F &ubXu_u-_5>   75)5TN f  AAE@ 5TN   AE@ u@ 5_Nf &b 6e_u- f %% 1w w xB #  %*.%+-%HLK  $"w,w DC B_xTd7I y & tE5& jE e& eN _x& & e& & e& e_x D5& D e&  & &Bv %% @ 5h'%!% ) $"= m %$f 6 <  @_(N f  54%(%* / %( .5 )@A pr u-_~)%*   . &  2_(w @ @me,55 De,_+%*_+%f5 Ce,M I%*E%@Ap,p( $" N v, AA 2r %AA 2r  eC- u-u5ueD- FA1@ @m5DC(@p@0@pAf r2p $"5 _^+ N&_f+w6 w $ D eD-w w  D@( = xBh=a;ADp}5@ =@0=Q-=x@' ~h %+A r=A r &@t@t=Ah w~ w l BCJ- `f .-%f .-%_~. $"J- f H%*%.B%> 9%(5%/%*eAfVp^ H `&e     GeGbww5Q$  f   EU P5,G   PfPPQ7 F5    5 C B A  `5F  5F  5F  eE  "$ $5TF $$ 5.F  5F  5@E  wL   w> selectnameshort constantstringfloatdouble*r++*--r++pre--pre++post--post!un&*-~.+-*/%>><<&|^->int->doubledouble->int&&||&~double->longlong->doubleinteger->longlong->integer==!=<=<>=>p>=p=+=-=*=/=%=>>=<<=&=|=^=& for tests*/%=& ~=*=/=%?<<=<<callcallcallgotojump condbranch condset nregsload valueforce registerP`/d/<h/l/jh/l/=h/l/>h/l/?h/l/@h/l/Ah/l/Bh/l/Ch/l/Dh/l/Eh/l/(p/x/Fp/x/)t/|/Gt/|/p/x/t/|/ p/x/!t/|/AADtp0(%( 5 @ `, 5!@ `5,@ `,BD " `,w* w  O5BeCe~%zh  97N@w w %w w D%% %w %: w Dbh7L9 y e( $"wt e& # .e4movclrcmptstaddsubincdecmuldivasrashaslbicbic $1,bitbit $1,bisbis $1,xornegcom*$ashclmulldivlremalmulaldivalreE (    5@E  E B    rE U|Ew ^E w JEwNEwFEw  7 (E $Ea EUEEW 8U W 8Efc     ` -DD a h h    a  ! p R B PDW !W e UETR50D  5D  UDwp      7 Cr@r@  *//H//+//I//,//J//-//K//.//L/////7//U//Q//0//N//1//O//%//&//b//c//[//\//R//S//T//V//W//X//<//=//>//?00@00A//B 00C00D00E0 0//////0000 // // 0#0 #00 //jL011 0!0%0&0b80c80P0( 1) 1*1+1,1-1. 17 10 111F1G1HX2I2J2K2LX2N1U1O2f*03*34>38F39N3:b3;j3[ 3R~3S~3T~3V3W3X3jmp GBjmp(I) jsrc,MA GBmjeqjnejlejgtjltjgejlosjhijlojhis/nopjbr?Rn?Xn?dn?nn??|n?n?n?n?n?n?n?n?n?n?nn?oTo*oT?Po?fooToo??p??p??p?&p?&p?2p>pNphpzpT?pT?p?p?p?p?p?p?p?p?Tp?Tp?p?p? q? q??q??q?*q?6q?Hq??\q?p??xq?q?p?p?Tp?Tp?p?p??q??q?q?Tq?q??q?p?Tp?e  JW!ʃW!ڃ 5C7 Ce  , |CCrC f    $ $$$& N & N  N N S C B A  eW!Շ w^ mBB B rf5Be        W!P    0&d& dN & dN dC N eN e-`BjBVBNB<=@A>?DEBC=EDCB'>`F`L`R`Z```  :hhjsrc,#(I) GAjsrc,(I) clr clrf movC,I movof,I GBmovC(I),I GBmovof(I),I mov+,I+ mov,I GBmov+2(I),I+ mov(I),I movC',I M'C mov',I M,A GJmovC(J),I M'C(J) GBmovC(I),-(sp) M'C(I) movCsp)+,I GJmov(J),I M,#(J) GBmov(I),-(sp) M,#(I) movsp)+,I GAM1,A+ V GJmov+2(J),I+ mov(J),I M1,#+2(J) V(J) GBmov+2(I),-(sp) mov(I),-(sp) add1,#+2(I) V(I) movsp)+,I movsp)+,I+ GAMP GAM M+ V KAmovC,A KAmovfo,A GBKAmovf,#(I) GBmovC,#(I) movC(I),I GBKAmovfp??qqqqr?*rT:rTr?nr?nr?rT?r?r?r? s?0sqq?rTr?nr?nr?r? s?0s`s?sT?s?sqTr?nr?r? s?0s t?*tT?Pt?~t?*r?t?tu u?p?Tp?p? q??q?8u?Bu??Ru??^u??ju?u?u??u??u?u?u??v??v??,vtvtvzvzvvvvv?vvvTvTvvTvTvTNNNN```##< * * * * < 6 6 6 6 6 ````` Z | Z X 4  B Z z   Z t l ppppppDaLaTa\afabbppppppppArg countMissing temp fileCan't create %s.globl fltused Missing temp file.globl .data Illegal initializationmov%c r%d,r0 mov r%d,-(sp) mov%c r%d,%c(sp) tst%c r%d No code table for op: %sNo code table for op %dmov%c r%d,o,#(I) GBKImovC,#(I) movC,I KAGJmovf,#(J) KAGJmovfo,#(J) GDKAmovC,*(sp)+ GDKAmovfo,*(sp)+ GAGAM' GAMD,I GAKJMD(J),I GAKIMP,I KDGAMD(sp)+,I KCGAMPsp)+,I GAM,I+ V GAM,I M+,I+ V GAKIM+,I+ V M,I KCGAMsp)+,I Msp)+,I+ V GCKAxor,(sp) movsp)+,I GAasr GATsxt- div,I- GATsxt- KJdiv(J),I- GATsxt- KIdiv,I- KCGATsxt- divsp)+,I- M,A' mov,I movC',I MP,I movC,A KBM(I),A' mov,I KAM,A' mov,I KBGJM(I),#(J) mov(J),I movf',I KIMP,I movf,A KC?vvv?ww w.w?@w?PwT?fwwwww?wwT?w?x?0xv?vvTvvTvT?vv?wwww?wwT?w?0xVxVxXxvv?vzvTv^x?zxT?v?w?xwww?wwT?w?0xxxxx x x ?xy?y?>ytvtvzzvzv z?z?zvvvv?p?pTvTvv?Tp?Tr%d mov%c r%d,r%d mov%c r%d,r%d Register overflow: simplify expressionr%d*tst r%d adcsbcF 04 00000000FFFFFFFFF *+,HIJcmp r0,$%o jhi L%d asl r0 jmp *L%d(r0) .data L%d:mov $L%d,r1 mov r0,L%d L%d:cmp r0,(r1)+ jne L%d jmp *L%d-L%d(r1) .data L%d:mov r0,r1 clr r0 div $%o,r0 asl r1 add $L%d,r1 mov r0,*(r1)+ mov (r1)+,r1 L%d:cmp r0,-(r1) jne L%d jmp *L%d-L%d(r1) .data L%d: "56x`4movC',I MPsp)+,I movC,A KCmovof',I MPsp)+,I movfo,A KAGJM,#(J) mov(J),I KCGBMsp)+,#(I) mov(I),I GDKCmovC2(sp),I MPsp)+,I movC,*(sp)+ KCGBmovC(I),I MPsp)+,I movC,#(I) KCGBmovof(I),J MPsp)+,J movfo,#(I) movf,I movC',I sxt- divP,I- movC-,A KCmovC',I sxt- divsp)+,I- movC-,A KCGJmovC(J),I sxt- divsp)+,I- movC-,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- movC-,*(sp)+ movC',I sxt- div,I- movC,A KCmovC',I sxt- divsp)+,I- movC,A KCGJmovC(J),I sxt- divsp)+,I-p?p?pvv?w??q??qvv?p?p??q?? z?? z?Bz?Bz?Nz?Zz?lz?z?z?z??z??z??zw ~wJDeJ  J % H8w7 J7 JׯJ- J J(wJ7 J .wJezB J ӕ- R r f e0 @ >PJ ҋ D~8{ { .Jӕ0 $f v Le0 9eII II 7Iwe&  mI I H8~  dddddddddddd      !j  p$L%d(r%d)r%dCompiler error: pname(r%d)%c%c(r%d)pname called illegallyIllegal use of registerL%d_%.8s%sNo match' for op %djbr L%d sub $%o,r0 L%d L%d %o L%d:.. L%d L%d L%d L%d:.. %o L%d:L%d L%d .text Duplicate case (%d)ashc $0,r0 cfcc jbr L%d L%d:tst (sp)+ cmp (sp)+,(sp)+ add $%o,sp %d: movC,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- mov,*(sp)+ KCmovb',I xor,(sp) movsp)+,I movb,A GDmovC(sp),-(sp) KAxor,(sp) movCsp)+,I movC,*(sp)+ asrC' movC,I GBasrC(I) movC(I),I movif,I GBmovif(I),I GAmovif,I GAmovfi,I GAsetl movfi,-(sp) movsp)+,I movsp)+,I+ seti setl movif,I seti GBsetl movif(I),I seti GCsetl movifsp)+,I seti GI!sxt mov+,I GBmov+2(I),I GAmov+,I KCGCjsrc,M add10,sp KCGCjsrc,M add6,sp 44 4!4P3F4G4Nb4Ub4K>5LL5\H8  H8~ w7 I I ~I0   jIWp `e0eӕ?fRI ,HIP >I 8I @f I 夁7B I {IH-HHf@w fw>Bw:B{wfw&B{JA 7 pHfAW,f B@ 8 @&61fA   @ @e7A1@ { 1w&f@@& HADCBF7GF6rwI6r@ A %c%oStack botchIntermediate file error.byte .text .data .bss .globl _%s jmp cret .comm _%s,%o .=.+%o .even jsr r5,csv tst -(sp) sub $%o,sp mov $L%d,r0 jsr pc,mcount .bss L%d:.=.+2 .text ~%s=L%d ~%s=%o ~%s=r%d Expression input botch _%s: _%s: ~~%s: Binary expression botch%o%c gggggg  \%$$$d%<$\%J%$$<$\%$#<$<$\%d%$$<$<$\%$$<$ "#$%&%p'&&&'''%&3''' (,"-,,,--,,,"-"-"-"-"--*+,HIJl5M'C GBM'C(I) ML,A KBML(I),A KAMC,A GBML,#(I) GBKJML(J),#(I) GBKIMC,#(I) KBGJML(I),#(J) KAGJMC,#(J) GDKBML(I),*(sp)+ GDKAMC,*(sp)+ clr clr+ mov,A+ sxt mov(I),A+ sxt KAmov,A+ sxt KAsetl movfi,A seti KAGJsetl movfi,#(J) seti M,A+ V M,A M+,A+ V KBM(I),A M+2(I),A+ V GBM,2+#(I) V(I) KAM,A M+,A+ V GBmov,#+2(I) sxt(I) KAGJM+,#+2(J) V(J) M,#(J) KCGBmovsp)+,#+2(I) sxt(I) KCGBMsp)+,#(I) Msp)+,#+2(I) V(I) M'C KBmovC',J M(I),J JJ7IPP7 IEDE!wEIED5!5! w |&{W!w;;w;x;  <{wW! B  w;; w;; w;;w;x;  L{HE7 IEHUHE@HU@H H E UUHHH ~H 4@BE? eƒCE e@E xl{5 ; 66  */*/*/8/8/8/\/Divide checkC error: constExp. ov. pass 2<<88888888867>6">6#>6$>6%>6(>6)>6*>6+>6->6.>6Q60>6<5=5>5?5@5A5B5C5D5E5H>6I>6O>6movof,I GBmovof(I),I GEHAjL6(l6)l67l60l6:686clrC(sp) mov,-(sp) GBmov(I),-(sp) mov+,-(sp) mov,-(sp) GCM'sp) GCM,(sp) GCKBM(I),(sp) GCKAM,(sp) GCsxt(sp) GAsetl movfi,-(sp) seti 7db7o\7x7f7e:7cH7s7l7r:::;;;;;;::;l>t>;$=F=@=6=;;??|><>H==.@Z>==F>==;;;<<$<4%% 5 h`` 6 T3L01 ^$ 3<e1  55   A A3Amp1 7p1% % %  115%# 1 V5%  %"%'* e1p  5@-_ % ,A 5re0= A 5ruA r 5 = ww  5  @ ȋ@ww  2%- " %N-  AWp e6u@ N.  @  f Z @9 Gfe@&@p&f e  x-@N-.  @@@ @ A@ ww @& L ww vB. Nf f fff e  L n wHw 6 @J.7 y 5  f # 5 FNp1 D@ up1% _ $01 b1#_~ < 1  71( &e1r  mF#& <%7 m,#, F  n 7 "7 _  1 " _~ w $h \5% % 7L5 %;% %  fNme 5% @@m0rfe  7 Ne, F  n   1 0 b1ww p     @m`@` @` wD  @m w  V5% Nf Z @wf # 5f ~#Nf.  w  <%|. " %@wAWp e6u@ N.  @ f Z A@ HA1`@A@,@ & f B$%@ @@p&f f$% @N.  @@0 w ,AWp e6u@Ap@A p N (%%xNef # %( = % $ !Ned !5&t( & 6 v  $w $  7(  && l( p:1  w$w $N & F/ LF/ & N B Ne  8&wr$w `$& F/ LF/ &  h7' B Zw8$w &$  % D7'% 1:1 2' & F/ LF/ & ' B w#w #N B N  %w#w # 5% % % 7)%( & F=@w# 55 5AAm '%'%" fNm t  @-%%{%} N% % 7J+7H y ww4 7(%4j4  |(4  5 %+ @ %+ N%@ +  5% % % 7z%a%z%A%Z w 5 '% 2% /%{,%})%;&%(#%) %'%" fNm  @-fNm  5% w @@m@ww v   %0%9@ 5wRw @wJw 8%0 %9%z %a%A%.@ p.@Aedp@=@p @A e6p@=@%  @t5pww  5 N % N $wtw b ]%YAWp e6u@  @   x.& f B$%@ff f$%@Ap@0 @ . @%@ . 2"@ 0 .N h#w@ &f B$w ~N !ww nN 2"wpw ^D m " a2  ew.eE. !݃ ' F @@m%( %) w " $$w"w ".' N F/f n F/  w"w " % u@ 5 55fNm 5 %;%{% %} %QN0' F % +% %+%-%*%(%/%,%&%|%=;%;w'@@m0 Nh' F @w!% % u%'%" fNm  @-%( _%)_ _NL' %Zw  w  ,5% % 77 :#% % % #p4 # 5w"04 34  5 0 35 %c, F n " |!A 1 35  @  3@mAH4 \5% % 7L5  @p4 *5% @04N |!A 135  @ 3@mAH4ww 47 xt7 r7 p@e5d5 T RH, ee2e  ) e(5@5eE5@t%%5 #%Je 2"w De.!c bb! c33ww zf f$%. f$%. f$% wJ7z p   ӕ- ӕ0B~N ӕ.  ӕ0~ B~7, "   ӕ-ӕ. B~ӕe ӕ- ӕ+ r e0e0Sf@w fwr wn .wf@wV .wf fw@ w< /wFf@w$ w /F _w !  F/ L 7$  "" ~$ p:1+ |!5" "1N1=w * %'%" @F/ @-@F/5 %;@0E/F/  F/  u %'%" @F/ @-@F/5 %;@0E/NeF/  # ' NeF/ ' h#e B Z#  5 @ApF/F/ @G/@0F/N |!5 !! 5N1N N  '  _ x,     7-   7@-ew^Z   |N.-  @ :* 5@ :* 77 N ` @ * * el*5 e}/@7_ w   x, 9- -@ ) e(5%'e@t%  @fF- %@e@-͆@E7X_ NLq-  >6_w FF@e7 @e5L% .w w$f wm /w wm fw /ww f@w w /w f@w w /wf@fA w,~ w"x e"w"n ew"d @lw"\ AlewO &@t`e @& HADCBF7Ff@  x 7"2/@7 7$$ttyЋ7@ f5w * f5w }7 W&f>7 7 x@N  N B Ne  u@ ȋNNf ! ww ' N F/f n 7 D"  76" R N $":1" F/  wjw X  N  N  wFw 4 ' F :1 B ww  ' F :1 B ww  @ 5 % % % w w ## &b1' eNf %'  'wzw h ## &b1' e 5%;%}%   %d'w(w  e   % uew~ e_ f@& %_ %ue-F l : r0, 0 5 h5.   T55 5 5  r e-A! y"N @J Z@YN 4?N :u6@E? -@e5=5e@ffe& e 5 @e5 f@& % ?$@e5N 255 @5@@5rff %@ f@& %@ ff % l@A&@f77& @L> Be0# @>7є f7    BA   W f7e B@e0>7m ` >7eȐ9 ȕ0 >7ȕ1  `0>7>7VVY if(.not.) if(.not.) if(.not.)missing left parenmissing right parenthesis at %.20s statement too long at %.20smissing left paren at %.20smissing right paren at %.20s if(.not.()) illegal BREAKillegal NEXTerror at line %d, file %d: syntax error, line %d, file %d -0v1v1.(  77wu @@-NN h , u- @ 5@5@ r e'A! y@ %= 2(<(A( N 7( N %=%>F(%=K(= , %=P(U(%& [(%| a(  Nw %G 0pv1 ww @  , ww ~0v1v1f(  7 hb v1 X -NH&v1 >wTw B , %( ,  r%w"w  %@ @e7 5_6%f& %w w  0J Fw 5  @A tE5 @e0?  w ` @t5E @E5% e7@e0? w& w  5 %9AWp Ameu5 z%0 p@w w \ Xw w @e5 @ -, (A r }eA r 5 @e@-= e 0@? @e@-w: w (  %- " ' ((>&  &  %s .ge..gt..le..ne..lt..eq..ne..not..and..or.%s continue goto b+e+h+k+n+s+x+|+++++++++++++++> x J J J " 0 N \ j x 0@             0             0 0 0 0 00000000 0000 0  !            0000 ;< =>? @ABCDEFA r 5 A r Ne0 , ww  N j(  ww t( N  ww @ l x($ a$ .\$ U$ PN$ G$ @t$ 9f$& @ 0T$ :)F$ !2$ + $ $ B $  w# # # #w t 7#7%@-6r ew%w% 7%7f7`7Z7% %!r %@ 5%f%F5 5 5 - 555 5 B5 @5 5 B5  B5 um555 B5 u-5uWA5 B5@5 % "0 . @@50 u-5 )55e0= @ @-. 5uu5 B5 u- A >E @ 5- dA r 5u-GJKLMPQnopq   ! "+++++++,,,,,!,&,,,2,7,?,H,O,U,],c,h,k,r,x,|,,,         ;{}$*doDOifIFelseELSEforFORrepeatREPEATuntilUNTILwhileWHILEbreakBREAKnextNEXTdefineDEFINEincludeINCLUDE errorLCURLRCURLLPARRPARSCOLDIGITSXIFXELSEXFORXWHILEXBREAKNEXTOLDDONEWDOXGOKXDEFINEXINCLUDEREPEATUNTIL$acceptstatlstatififelsewhileforrepeatnewdolabelcan't open %sunbalanced quotecan't open %scan't open %stoo many defined namesDbstate %d, value %d, char %d character %d read reduce %d syntax errorerror recovery pops state %d, uncovers %d error recovery discards char %d ----!"%(!&!N  N N ftoa <cget__%_w ('D V333 3 3 ̥  Ve e5R w&w &#( $@ 5H5MM * MM%[ *3 3 3M_%#  *%d 5 5 @ r eCA! y% D u& ff *e _E%4D &  &d%#L_E%ID & J &$& & &f (% R "%%E% % ) ) R )_7%AA%7A % ) %7A& % B& (% RvA )pA )fAdA_\A +TA_JA +BA_:A8A.%0A (%$%(A %%5 % ) RA )@ *%_%D_f t& (%@ )@_  %_ @ BFUF _Z%\@$@|@er@l$ h$ )_Zb@X$\@ R$ 5f  N& & n *e ( @^ @c cgetc: %d illegal file numbercgetc: %d not open to readcgetc: error on %dERROR arw.(<copen: bad file %scputc cputc: %d not opencputc: writing %db! : argument count wrong That's all, folks j7 %ew/dev> *e_%$  ^(1% & 0 &f]D 5 5  5   5_ %3_ _ KeK   $ KK%% %lD KeKu@E%N .(5f %#  &  *e?JKeDK( @E%$ %_K K& f _x %4  f % _&_2 5 %%D  5%52 kF  6%J#7???#? ##? # z2_F + %:7 ?CˋF˕  # #7#  ( %F  T ww  |%C<#  ( ^% P%? ) <%'# > &g *e ( %" R> ) w 7"%>"> " 45" %";" Rn"h"b> )N (wR"w^"w t n%   \%w^F                 " %      5 N &&  teI5@tE5E @555%P %% 55 u5 !%%D-5%> %%c%5 %5 %)5 D-%  3 ) )5%% D  Nff e ff e55 f %  &ff *e ?HeH % HH )&  e?HeHw\!w J!@ T w := X7=!5 ! )=7 = R= )N ) ===!=F r,e &F r,%e-~=F r,t= )wn=b=ww `= r $XA0 NA7FA#3˕ E% *` AL@˥E%E  `3EU3˥E `eF  ˥eF  x   e%Xx 8NEiF r,%V / xG ->DG >  Nfe ! 5w> ^G >w w   %  iG =@w rL> `%$>ʋʕ w B/ L. @CҢ Ӌ7]w/e w . = ==%7 ], YY7 Y Y  v-I r ez@A! y.] ] d=7 x] fY w.(& %2)> e&&  % P 6%(%1 4(% %)%/%*B  \e%P<7<& & % .>?=& & % -@A=" * % +_ '7 HX%* r'%/7 4X_l .XB _D 4. Nff f fff 4.e D 4.ww  Be VDe~@ww 0F@ 7`&F%_ FD  ,1ww D%%$D ww D% % w|@@% xD`?EeEBpC r r@ @Px @ t tw  L N%D  Lww  _%_7p,5  \LNefe %%@,N% 7 &L& f 8#eLM 0 `ʥ w > 7 >%  ' wʥzG E  `4=7 =B7 B r wvBwv= % E `eG  E 0 `w j%d8G  ,1w\w JCN ff 8#e5` &% %%%@ 'w w C5 %  7< 7%% %  5ff 4'%5 wmVA@ w %V H5 tAE@P@t55D]<ʋ%7X%0 -%_R;[ ;_R _ j_L [ ӕ.7 [% L +{I|I% L7W %_R%[~[_R[_R5/&_60|_B _lI_w h, r&@-@wd,7 ,W@w H,[K  [%LKC " F:Z :w,w +  Zfp C r,e$C r, K E&C r, -zF)C r,7 Zw+w +7 fZ`  %' %-C wn+w \+C a_7 a_ LehE r,%7 KE% 7+%% .(7+e    % %%kE 7 + xE  T  Rww t+NrE r,e r 8P@+FG :+ j76+%E  RGpE r,e7 +w@w .@@E  ` .(E%N * r55%  fVpC 7*% %upN EfeE r,e_ NeqE r,e `5%f&f ʥ% ʥ 2! % ʥ 2!2 ʐ% ;; ;; E%E%  P p `5 % O *5 5 7\% 5 L 5Nf& 4'%55` 5`  -@@- ?rwm? r- rE% ʥ ʥ G ʕ ʥ  *7`66 2_#ʥ  $ &j fpG r,e _#ʥ_#E%5 E%%?G  (A74; yEC 7VC ) r e@A! y  1 .+  %0%7 te` ) %7`  Y ~97 Y V) w*w *Zj9Q@e5@e5XQ X r e8AA! y0Yʋ  $%(ʕ  Xʕ  8 8 < X7X&XpZC r,eX& %&  *ejX 4bX&  &  *e ?PeP%XPiC  ,1 _ e :5% %7)w)& f&f e%% 5ru NNE r,% Ame 5rA f r upNE r,% @E% @E  `% @E%E AA @@5E r, w<w *CB 7(%'%#(   4-H  HN HE r,%7 Hw HHL%(G H 7 H 7 xE%1E r,%)E%%%%e7"H&E?>_#w 6 04G7*! y tU_'99 ` x.G 97 99 & &  "e9 9 %YtU= D %)7p 7j9E  fe `R9Vp^ -HB <49 ` \% #$  `tU 6 7w.  % 'w BDCG  = = t`7 = .(E%% ED-7 d= . %N mF=%7 <=e%%N m=%7 = G VeS QC  T _ D 77%7W7W_%7 7W7W7xWW_%" %/#$  %e |7d  W   HtE5% % ZWuu- u-1 5H+A78 y %@e@-}C  ,1ee}_@5 r eAA! y6 O Ow'%_N _ & & & *e?NeNdN & &  *e?NeN% ~e %% : w4& & h *e (7G5&Ew E ww  HE7, y !F _ & zG r' n'0F r,% 3F r,%  z%_7:' R >C6F&G _: x0E  )_ _ _ 5 %aF Z xE 0 & &f (% @ )* %;B & z&f (% ^ ) dB\B +f (% r%_ b%%&F_Z&_@wH w 6 H N T w0 w  7eH  w w  D5pH wtEE@Pw @EtAE@PUww Nffg *e (ww N (LH r,%wxw fD+&H7T yHe H&H r,e%  H r, w&&H r,e (&&H (&&H ( 5H (&H r,%w NoH r,%ww rNpH r,%wjw XB5wN .(2 *2w "B  .(E  `E%E%!%  ' xFH"ttE A `Cp@H  E ݃H ww N * Eww n h74%' N%;" 5̋    ̥̋ %w  w 7 0 % 0ww 0 % %  4 7 4% 4 70ww  H ww  ?,e,$ ,,&  & & f *e (w& $&DDDx~DDDDD>82 \FAPAXA`AfAlAvAntXtHX !d: : :  AAAA  ! !B p intcharfloatdoublestructlongautoexternstaticregistergotoreturnifwhileelseswitchcasebreakcontinuedodefaultforsizeofArg countCan't find %sCan't create tempBBSymbol table overflowWarning: assignment operator assumedNontermifA @e71@  1 @ fA7  fA & 9 &fA @e&7w|@fA  AEwww &w Uw w&w Nw DRw @ .%;%  @,e~,?z,et,P h,Apn N,J, (/ )ww fe 1%ww ` 3bCe@ TH7 y U d0  @& 0 @ & 0& w< 7 97 97 97 29w @ 9 97 9 .9 9$ e!& 7 297 2 9 t + - 7.w t 7 p2l2j97p. f9' V9D9 ~ `   nated commentUnknown characterString too longBNBB1N100Long character constantNonterminated stringBBNB1N1N1N1N0BExpression overflowexpression overflowExpression syntaxCCC-2@  j V @ j j Txr~06 @<$(Illegal conditionalCall of non-functionIllegal indirectionIllegal lvalueIllegal structure refUnimplemented structure operationIllegal conversionInteger operand required%d: Expression overflowLvalu   ! $ ' ( + . 1 4 7 : = ) , / 2 5 8 ; > * - 0 3 6 9 < ? @ C F I L O R U A D G J M 22.7 . 0 81wp8`w1 e0w ~w8De8  8 % V,w7 87 8ׯ8- 8 8(w87 8 .w~8e`JB J ӕ- R r f e0 @ >*8 ҋ D~8JJ 8ӕ0 $f v Le0 9e77 77 77we&  m7 7 V,~  V,  V,~ w7 f7 \7 X70   D7Wp `e0eӕ?f 5e requiredConstant required.@jN:Fr~DH D N ( BSToo many }'sExternal definition syntaxBBSCompound statement requiredBNBBSNBBSBNBNToo many initializersBBNB1N0B1N0B1N1N0B1N1N1N1N0Inconsistent external initializationUnexpected EOFBNBNMissing '}'Case not in switchSwitch table overflowDefault not in switchUnknown keywordRedefinitionStatement syntaxStatement syntaxBNNNN0Undefined structure: %.8sNot an argume:&( & 6  9w |9#A  9([@& 8 A  9@& 8 7` @A   9:]\  \A 6Z 8([@& 8 A  9A 6  7 H\  9w8w 8C E%0]$Z@ 5H55N&  55W 5H@ 5H3Nf %w83@ 5H 5H@3Nf %s@5Nf d54d  74 4 476 7 4fw`w\JwfwHAJQ  OfA  ^ y   F y @0fA  @9 fA @e&7w7@JwP7 5f@wwJw*f@@& HADCBF75F 6675dgPP7 5EDE!wE5ED5!5! w |JW!wP33w,32  Jnt: %.8sBN%.8s undefinedBSN\!\!\!\! ng; pg66  pg4tg `&e  pg   pg3e3bww5Q$g "g f  e<<888888888g g1 (    5@1  1 B    l1 Uv1wg X1 wg D1wH1w@1wT3^3~33333 &fB 6e *W%Yf*B 6%_NB  _,w ^3Bu@ 5H5%5 %6%"_%Y_N95& 9 zeNf@ % j9 v N Nf@ %F9 B9 @ZW%YN&  95& 9 ze VNf %5wU 85& 8 v N Nf %55 Nf &fB 6eN @w1%ZN  5 5%%: Nf %5  7 "1 1a 1U11W 8U$g W 8Egfc     `  g,g-00 a h h   g  ga  ! p "ggR Bg J0W !W e UETR5*0  50  U 0wp   g"g   7 /r@gr@$g  e  JW!:gW!Jg 5/7 /e  , v/z/l/ fg    g$g$ $$$._..lockcfa02132dfa02132cfa01081dfa01081dfa01067cfa01070dfa01070cfa01076dfa01076cfa01079dfa00296cfa00181dfa00181cfa00305dfa00305%(%F %% -YM%Y% %! 7NBV %57Nf %5_@55  5H@5 5E B8@ r e@A! y. ` _%+%I_ _D5 '+ N&  @5%' 5 Kf %5D%b B8 ` f B8_%@%b B8 DM@e5$g& N & N  N N S C B A  eW! gՇ w^ m.. . rf(g5.e        W!$ggP    0&gd& dN & dN dC N eN e-Z.d.P.H.\AAAB BBB B $B +B4B9B@BCBIBNBUBZB`BiBlBtBxB[@@@@@   t*"lN2@@@AT000F @"  -df w Rw 4  7  w ( #F "  r$"dfw :F w ,:  W  ѕ W N W V Pw L:w : w : UF w : ! F  $L`B~FdUw`!G w j@ w 4!G w P@w h@w 4w 4 @ /dev/lp/usr/lpd/lock/usr/lpdfA7  ! U5$Z5Y5%M5%+ %,%I%JV5 , %$Z%$%0]%$Z0]5u 5H%uuNf& %5%M-8V_55u- Nf F &uBXu_u-_5>   75)54N f | AAE@ 54N  | AE@ u@ 5_Nf &B 6e_u- u+ -4B NB 6_8 (_T P%0]_-_ ) B8+_ P_@ , _%$B 6%  _ T_%#_ &_4   % _ Y % _NB r e@A! yB 6_B@5 % _ _N_ w 8,B 5H w0,  Nfe %  5H  Nfe %   Nff % N "=w +DY %@ 5H=%%  e@?5 ` 0F 6 f& v%w0w D &Mf& %6F 6N:F 6 ww N@F 6 ww @  xhDEF 6 PFNaF 6 ww  .@ l>D8D>mF 6 Nff f fff 6e  B8 $7CwRw @ D -rF 6%w*w *:]?De@e!wF ([ 9E%F  9E r erDA! yRF 6 @m5DC(@p@0@pAf r2p "5 _X+ N&_`+w6 w $ D eD-w w  D@( = xBH=a;ADp}5@ =@0=Q-=x@' ~H %+A r=A r &@t@t=AH w~ w l BCJ- `f (-%f (-%_x. "J- ` H%*%.B%> 9%(5%/%*eAfVp^  5H w+%(Nf&e \ %  "=%$%(Nf&e \ %  "=% r e:AA! y" ` %Pe( ^ xA  U 4 |% %, p _ %p, NBV& %e =_   _ %Y-Qe@@ BV&  & %w )D@t%BV% %!% Nf& % w)  5H, !;F 6FF*a !F 6 F*a !([ 9F 6%([ 9FFF 6([ 9e%F%_G([ 9 G 6 'G*a !([ 9=G*a !([ 9FG*a !([ 9NG([ 9([ 97<:] ([ 9A1e([ 9=f:] _P([ 97;@e!WG  97 = BV&  & %:]=_([ 9% ([ 9 & & & &  &  |.e eAADtp0(%( 5 @ `, 5!@ `5,@ `,BD " `,w* w  .5BeCe~%"aH  97.@w w %w w D%% %w %: w DbH7R y e( "wt e& # |.e4movclrcmptstaddsubincdecmuldivasrashaslbicbic $1,bitbit $1,bisbis $1,xornegcom*$ashclmulldivlremalmulaldivalremjeqe 8 e 8 Nf&  & % w \)D% %!% =e 8e 8w")%$%(%( w (Dw( &&&& |.e w ( D%$@/N&  % w(j555Nffe %w b(D K  ` %  $Z& %    0]& % w (w (u-@w (@w 'D  &# .  %%#%: 5H % !e_ & & &  |.e ([ 91([ 91 ([ 9([ 9&  |.e_([ 9([ 9&&  |.e 4_ & & & |.e([ 9([ 9&g |.e([ 9 _*a !oG_$*a !uG_L ([  & v_(([ 9 7_ 5H @e!G  9&& ([  & |.e _^ & ([ t &w w D Ԑ ([ J9 %@ww ([ 9 NG 6 jnejlejgtjltjgejlosjhijlojhis/nopjbr?RN?XN?dN?nN??|N?N?N?N?N?N?N?N?N?N?NN?OTO*OT?PO?fOOTOO??P??P??P?&P?&P?2P>PNPhPzPT?PT?P?P?P?P?P?P?P?P?TP?TP?P?P? Q? Q??Q??Q?*Q?6Q?HQ??\Q?P??xQ?Q?P?P?TP?TP?P?P??Q??Q?Q?TQ?Q??Q?P?TP?P?#w'w 'C_ xB.E 6 T_20E 6 _2%e  T+ B8    xB F4E FG :E>E=$ B8%*& d#% + TE 6% %& -\E* B8 _dE wp&w ^&{E w`&w N&D  Ee E 6 w*&w &DN&  % % %w%w %D9 5 2 x C ( "%([ 9G 6 ([ 9%G 6ww vB _,%_<$%     H5_<$5 n%_,%%2 5@" &(r%/_<$7& && |.e2 "2 "25L 5& 5% @-%% r? %% % %$%   .  &  5  &  5%5  r eGA! ?QQQQR?*RT:RTR?nR?nR?RT?R?R?R? S?0SQQ?RTR?nR?nR?R? S?0S`S?ST?S?SQTR?nR?R? S?0S T?*TT?PT?~T?*R?T?TU U?P?TP?P? Q??Q?8U?BU??RU??^U??jU?U?U??U??U?U?U??V??V??,VtVtVzVzVVVVV?VVVTVTVVTVTVT?V % %%%% wr% ƃ% t-w :%BC%%  %  %w%55EU%%% %P%!w $DL-  E 6 e NE  wz$w h$C%$%( %%#wJ$ w 4$D 5H#%Gfw$ w #DN ` @,C7- y Uw#w #%  xHCy4U & &&_" . _V% _(%_V% _,%(@% &ex_"@A p_"%%K  ee%( /:% /%.%L%%  & %_"%'%#e& ,%wv .@m2_<$ .5_B$u-Nf  w &C   "3w%g "3H7v" y & &  |.e&& & - |.e 3/3 VV?WW W.W?@W?PWT?fWWWWW?WWT?W?X?0XV?VVTVVTVT?VV?WWWW?WWT?W?0XVXVXXXVV?VzVTV^X?zXT?V?W?XWWW?WWT?W?0XXXXX X X ?XY?Y?>YtVtVZzVzV Z?Z?ZVVVV?P?PTVTVV?TP?TP?w#@ w #CB NE 6 _) ) f _t55>AWp 8 E 6 ))ffVC 6e ),b, E 6 eNE 6 %M@) :)6) 0)Nff ))ffC 6e ) E 6 e NE 6 CE 6 e NE 6  F 6w""@t5M5 @ @a0 Z u-N&& 9% @a Ze 5 5 @ @ap-t & &  |.e3 "%$%_'_'&( |.e 3 3 34 4 _%%#% 4 _%% %%%2- %  %(;%84%2l %# `t  5H? %?2H7  y%3  #_&&%:4 : 4_&@ 47X94ae   P?PVV?W??Q??QVV?P?P??Q?? Z?? Z?BZ?BZ?NZ?ZZ?lZ?Z?Z?Z??Z??Z??Zw ~w*De*  * % B8w7 |*7 |*ׯr*- j* h*(w\*7 ^* .wR*eZB J ӕ- R r f e0 @ >) ҋ D~8[ [ )ӕ0 $f v Le0 9e)) )) 7)we&  mh) f) B8~  B8 Z@ @a5Z u-AupA- uAupu @ @-' ''' 'Nm ff'fC 6e '5 'NmE 6 u-5 *' 'E 6 N&& 9%@-N&& 9%E 6 e ㆵ u-(' $'E 6 5 u-_xNE 6 N&& 9%@-F 6 e 놵 w . CB 05 '4- F  w 4- 54t5 te ׂ  w C `:9_&   &  3_%w n`5 5 B `5Nef (-% C Cae !u%% ef ,% %(%0_)  .   w%(%%# A1l %( Ne *Ce . P &  5%*  5 _|*@ @ae54N @-/ .@m2%*%/@ @a% %*%  B8~ w7 :) 0) ,)0   )Wp `e0eӕ?f) ,(P ( ( @f ( La7"( [La((-((f@w fwD"w@"[wfw,"[JA 7 (fAW,f B@ 8 @&61fA   @ @e7!1@ [ 1w&f@@& HADCBF7n'F6rwz)6r@ %% 1w w xB #  %*.%+-%HLK  "w,w DC B_rTD7) y & z%5& p% ze& zeN _r& & ze& & ze& ze_r $5& $ ze&  & &BV %% @ 5H'%!% ) "= M %$F 6 < < @_(N f  54%(%* / %( .5 )@A pr u-_x)%*   . &  2_(w @ @me,55 De,_+%*_+%f5 Ce,M I%*E%@Ap,p( " N p, AA 2r %AA 2r  eC- u-u5ueD- FA1@<=@A>?DEBC=EDCB'>@F@L@R@Z@`@  4bbHHHH@@@##6 $ $ $ $ 6 0 0 0 0 0 @@@@@ T v T R . < T t  T n f jjjjjjDALATA\AfA \ \jj jjj jjjArg countMissing temp fileCan't create %s.globl fltused Missing temp file.globl .data Illegal initializationmov%c r%d,r0 mov r%d,-(sp) mov%c r%d,%c(sp) tst%c r%d No code table for op: %sNo code table for op %dmov%c r%d,r%d mov%c r%d,r%d mov%c r%d,r%d Register overflow: simplify expressionr%d*tst r%d adcsbc@*.********@@@@@@@@@*+,HIJcmp r0,$%o jhi L%d asl r0 jmp *L%d(r0) .data L%d:mov $L%d,r1 mov r0,L%d L%d:cmp r0,(r1)+ jne L%d jmp *L%d-L%d(r1) .data L%d:mov r0,r1 clr r0 div $%o,r0 M,A' mov,I movC',I MP,I movC,A KBM(I),A' mov,I KAM,A' mov,I KBGJM(I),#(J) mov(J),I movf',I KIMP,I movf,A KCmovC',I MPsp)+,I movC,A KCmovof',I MPsp)+,I movfo,A KAGJM,#(J) mov(J),I KCGBMsp)+,#(I) mov(I),I GDKCmovC2(sp),I MPsp)+,I movC,*(sp)+ KCGBmovC(I),I MPsp)+,I movC,#(I) KCGBmovof(I),J MPsp)+,J movfo,#(I) movf,I movC',I sxt- divP,I- movC-,A KCmovC',I sxt- divsp)+,I- movC-,A KCGJmovC(J),I sxt- divsp)+,I- movC-,#(J) GDKCmovC2(sp),I sxt- d0 -%_L;[ ;_L _ j_K [ ӕ.7 [%K h+{I|I%K7LW %_L%[,[_L[_L5/&_60|_B _fI_w <, r&@-@w8,7 V@w ,ZJ  Z%KJC " F:Z :w+w +  Zfp C l,e$C l, J E&C l, -(F)C l,7 2Zw+w n+7 Z_  %' %-C wB+w 0+C`_7 `_(Aasl r1 add $L%d,r1 mov r0,*(r1)+ mov (r1)+,r1 L%d:cmp r0,-(r1) jne L%d jmp *L%d-L%d(r1) .data L%d: "56rZ.DDDDDDDDDDDD     6!!,6!8 !d6!8 6! 6! 6! d6!$!6!26!T6! 6!d 8 j$L%d(r%d)r%dCompiler error: pname(r%d)%c%c(r%d)pname called illegallyIllegal use of registerL%d_%.8s%sNo match' for op %djbr L%d sub $%o,r0 L%d L%d %o L%d:.. L%d L%d L%d L%ivsp)+,I- movC-,*(sp)+ movC',I sxt- div,I- movC,A KCmovC',I sxt- divsp)+,I- movC,A KCGJmovC(J),I sxt- divsp)+,I- movC,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- mov,*(sp)+ KCmovb',I xor,(sp) movsp)+,I movb,A GDmovC(sp),-(sp) KAxor,(sp) movCsp)+,I movC,*(sp)+ asrC' movC,I GBasrC(I) movC(I),I movif,I GBmovif(I),I GAmovif,I GAmovfi,I GAsetl movfi,-(sp) movsp)+,I movsp)+,I+ seti setl movif,I seti GBsetl movif(I),I seti GCsetl movifsp)+,I seti GI!sxt mo7:; yEC 7UC ) r e@A! y  1 .+  %0%7 te` T) %7<`  JY 97 @Y *) wz*w d*Zp9Q@e5@e5:XtQ X r e8AA! y0Xʋ  $%(ʕ  Xʕ  8 8  < ~X7`X&TXpZC l,ez5?z5@z5Az5Bz5Cz5Dz5_%_w &D P333 3 3 ̥  Pe e5R w&w x&#( $@ 5H5zMvM $ ^MZM%[ *3 3 36M_%#  $%d 5 5 @ r eCA! y% D u& ff $e _E%4D &  &d%#~L_E%ID & J &$ $eJKKK KK%K3KAKDKGKJKLKOKQKTKXK[K_KbKeKhKkKnKrKvKyK|KKKKKKKKKKKKKKKKKKKKKK:,field selectnameshort constantstringfloatdouble*r++*--r++pre--pre++post--post!un&*-~.+-*/%>><<&|^->int->doubledouble->int&&||&~double->longlong->doubleinteger->longlong->integer==!=<=<>=>p>=p=+=-=*=/=%=>>=<<=&=|=^=& for tests*/%=& ~=*=/=%?<<=<<callcallcallgotojump condbranch condset nregsload valueforce rEz5H86I86O86movof,I GBmovof(I),I GEHAjF6(f6)f67f60f6:686clrC(sp) mov,-(sp) GBmov(I),-(sp) mov+,-(sp) mov,-(sp) GCM'sp) GCM,(sp) GCKBM(I),(sp) GCKAM,(sp) GCsxt(sp) GAsetl movfi,-(sp) seti 7d\7oV7x7f7e47cB7s7l7rLa_%$  X(1% & 0 &f]D 5 5  5   5_ %3_ _ KeK   $ ~KzK%% %lD XKeRKu@E%N ((5f %#  &  $e?JeJ( @E%$ %_JJ& f _r %4  f % _&_, 5 %%D  5%52 5 egisterPZ/^/<b/f/jb/f/=b/f/>b/f/?b/f/@b/f/Ab/f/Bb/f/Cb/f/Db/f/Eb/f/(j/r/Fj/r/)n/v/Gn/v/j/r/n/v/ j/r/!n/v/*z/z/Hz/z/+~/~/I~/~/,z/~/Jz/~/-//K//.//L/////7//U//Q//0//N//1//O//%//&//b//c//[//\//R//S//T//V//W//X//<//=//>//?/0@0/A//B0 0C00D00E 00///////00/ // // 00 00 //jF011 0!0%0&0b20c20P0(1)1*1+1,1-1.171011|1S V B E H K N Q T W X [ ^ a d g j m Y \ _ b e h k n Z ] ` c N &&  teI5@tE5E @555%P %% 55 u5 !%%D-5%> %%c%5 %5 %)5 D-%  3 ) )5%% D  Nff e ff e55 f %  &ff $e ?HeH % H~H )&  e?`HeZHw0!w !@ F1G1HR2I2J2K2LR2N1U1O2f$03$34838@39H3:\3;d3[3Rx3Sx3Tx3V3W3X3jmp GBjmp(I) jsrc,MA GBjsrc,#(I) GAjsrc,(I) clr clrf movC,I movof,I GBmovC(I),I GBmovof(I),I mov+,I+ mov,I GBmov+2(I),I+ mov(I),I movC',I M'C mov',I M,A GJmovC(J),I M'C(J) GBmovC(I),-(sp) M'C(I) movCsp)+,I GJmov(J),I M,#(J) GBmov(I),-(sp) M,#(I) movsp)+,I GAM1,A+ V GJmov+2(J),I+ mov(J),I M1,#+2(J) V(J) GBmov+2(I),-(sp) mov(I),-(sp) add1,#+2(I)@1  & 6  0w 0%B  0 @& / 7Xd @B   0`@& 0 b@& 0 B  0# _@`̋ rWtKe    Z B l, ^ B l, ` 0b 0 ^  0w/w / 5 K˥. 5`%KA rDueK Ҥe%6XKeʋ K%K7^wl/ J%JB  0 4 4 4 ]KeҔ%Kw / / xC% @w!N & &  $ef& f%+* $e 3N& f& $e4:;89w v DCB%#  xC f && %w>  |w  DE%& P &# $eww CE%%% wFeF&  & %# FFw x@% %D-D w`w N@  xC wFw " M.D V(I) movsp)+,I movsp)+,I+ GAMP GAM M+ V KAmovC,A KAmovfo,A GBKAmovf,#(I) GBmovC,#(I) movC(I),I GBKAmovfo,#(I) GBKImovC,#(I) movC,I KAGJmovf,#(J) KAGJmovfo,#(J) GDKAmovC,*(sp)+ GDKAmovfo,*(sp)+ GAGAM' GAMD,I GAKJMD(J),I GAKIMP,I KDGAMD(sp)+,I KCGAMPsp)+,I GAM,I+ V GAM,I M+,I+ V GAKIM+,I+ V M,I KCGAMsp)+,I Msp)+,I+ V GCKAxor,(sp) movsp)+,I GAasr GATsxt- div,I- GATsxt- KJdiv(J),I- GATsxt- KIdiv,I- KCGATsxt- divsp)+,I- K. @CҢ Ӌ7]w.e w . = ==%7 v], dY^Y7 ZY VY  J-I r ez@A! y.6] 0] j=7 &] Y wf.(& %2)> e&&  % P 6%(%1 4(% %)%/%*B  \e%P<7<& & % .>?=& & % -@A=" * % +_ '7 W%* r'%/7 W_f WB _7W%. Nff f fff .e D .ww  Be PDe~@ww E@ 7`E%_ED  0ww D%%$D wrw `D% % wP@@% xD`?LEeFEBpC r r@ @Px @ t tw  zL N%D  `Lww  _%_7v,5   LNefe %%F,N% 7 K& f 2#eKMKehE l,%7 KE% 7+%% ((7+e    % %%kE 7 + xE  N  Lww xz+NrE l,e l OF+F @+ j7<+%E  LFpE l,e7+ww @@E _ ((E%N * r55%  fVpC 7*% %upN EfeE l,e_ NeqE l,e `5%f&f e% ʥ 2! % ʥ 2!2 ʐ% ;; |;t; E%E%  P p _5 % O *5 5 7b% 5 R 5Nf& .'%55` 5`  -?@- ?rwm? r- rE% ʥ ʥ G ʕ ʥ  *7`V6R6 2_#ʥ  $ &p lpG l,e _#ʥ_#E%5 E%%>G  >>bol table overflowWarning: assignment operator assumedNonterminated commentUnknown characterString too longBNBB1N100Long character constantNonterminated stringBBNB1N1N1N1N0BExpression overflowexpression overflowExpression syntaxCCC-2: d P : d d Nrlx~*0:6"Illegal conditionalCall of non-functionIllegal indirectionIllegal lvalueIllegal structure refUnimplemented structure operationIllegal conv :5% %7)w)& f&f e%% 5ru NNE l,% Ame 5rA f r upNE l,% @E% @E _% @E%E AA @@5E l, ww CB 7(%'%#(   .-xH  xHN hHE l,%7 ^Hw PHLHL%(G JH 7 @H 7 xE%1E l,%)E%%%%e7G&E ~e_#w 04G70! y tU_ '9z9 ` x.G j97 d9\9 & &  "eF9 F9 %YtU= D %)7v 79E  fe_9Vp^ -NH B8_ \% #* $_tU 6 7w  % 'w BDCG  P= J= t`7 >= ((E%% ED-7 = . %N m<%7 zB > H " BSToo many }'sExternal definition syntaxBBSCompound statement requiredBNBBSNBBSBNBNToo many initializersBBNB1N0B1N0B1N1N0B1N1N1N1N0Inconsistent external initializationUnexpected EOFBNBNMissing '}'Case not in switchSwitch table overflowDefault not in switchUnknown keywordRedefinitionStatement syntaxS %% : w& & h $e (7G5&Ew E ww  HE7, y !F _ & (G x' t'0F l,% 3F l,%  z%_7@' L B6FF _4 x0E  )_ _ _ 5 %aF Z xE 0 & &f z(% @ )* %;>B & &f z(% ^ ) B B +f z(% r%_ b%%E_T &_& w w H N N w w 7eH  ww D5pH wtEE@Pw @EtAE@PUww Nffg $e (wnw \N (RH l,%wLw :D+&H7Z yHe H&H l,e%  H l, w&&H l,e (&&H (&&H ( 5H (&H l,%w `NoH l,%wXw FNpH l,%w>w ,B5w"tatement syntaxBNNNN0Undefined structure: %.8sNot an argument: %.8sBN%.8s undefinedBSNV!V!V!V!6!h!2!h!h!h!h!!!!!z&':&*'"&&"'Conflict in storage classType clashMisplaced 'long'Bad structure name%.8s redeclaredDimension/struct table overflowBad functionBBNBNBBad register %oField too longBad type for fieldDeclaration syntax%.8s redeclared g(B)(*)*)*)Z)r)P*\*`*h*p**`*01BNS,,,,,,,Illegal indirectionBNBBNNSNBNNBNNBNNBNBNBNBad struct& &f z(% L "%%E% % ) ) L )_7%`A^A%7TA % ) %7BA& % B& z(% L$A )A )AA_ A +A_@ +@_@@4%@ .%*%@ $% %5 % ) L@ )@ *%_%D_f t& z(%z@ )r@_  %_ P@ BFUF _T%[6@$.@*@e @r$ n$ )_T@^$ @ X$ 5f  N& & n $e ( ?^ ?kF ((2 *2w B  ((E _E%E%!%  ' xFH"ttE A_Cp@H  E ݃H wjw XN * EwTw B h7:%' N%;"4̋    ̥̋ %w w 7 0 % ~0ww r0 h% %  d4 7 Z4% N4 780ww z H wvw d ?,e,$ x,t,&  & & f $e (w&w ureCompiler error (length)Break/continue errorBotch in outcode<<888888888 ) <%'# > &g $e ( %" Ln> ) w 7"%R>"L> " 45" %":" Lt"n"> )N (wX"wd"w H n%   \%w2F  N .%;%  @2,e,,?(,e",P ,Apn ++ (h/ )ww fe 0%ww ` D3bCe@ TH7 y U 20  @& p0 @ & p0& w7 97 97 97 29w  9 97 ~9 .v9 r9$ e!& 7 `2^97 X2 P9 T + - 7D.w T 7 *2&2$97*. 9' 9- . No floating point!-7 - 0 81wp# /* */ /* * Screw Works interface via DC-11 */ #include "../tty.h" #define VSADDR 0174150 #define CDLEAD 01 #define B1200 030 #define STOP1 0400 #define CLSEND 02 #define RQSEND 01 #define MAGIC_MAP 0377 struct { int vsrcsr; int vsrbuf; int vsxcsr; int vsxbuf; }; struct { struct clist iq; struct clist oq; } vs; vsopen(dev) { VSADDR->vsrcsr = IENABLE|B1200|CDLEAD; VSADDR->vsxcsr = STOP1|IENABLE|B1200; vschar(0); } vsclose(dev) { vschar(0); VSADDR->vsrcsr =& ~IENABLE; while (getc(&vs.iw = X7=!5 ! )=7 = Lz= )N ) n=d=f=!^=F l,e &F l,%e-,=F l,"= )w==wtw b= l $A0 @7@#3˕ E% *` @K@˥E%E _3EU3˥E _eF  ˥eF  ~   e%6X~ 8DiF l,%8 ҋ D~8JJ 7ӕ0 $f v Le0 9e77 77 77we&  mn7 l7 P,~  P,  P,~ w7 @7 67 270   7Wp `e0eӕ?f 4d44d  74 4 476 7 q) >= 0); } vswrite(dev) { register int count, c; count = 0; while ((c=cpass()) >= 0) { if (--count <= 0) { count = 60; vschar(0); } vschar(c); } vschar(0); } vschar(c) { c =^ MAGIC_MAP; spl5(); while (vs.oq.c_cc > 60) { vsxintr(); sleep(&vs.oq, TTIPRI); } putc(c, &vs.oq); vsxintr(); spl0(); } vsxintr() { static lchar; register c; register int *xcsr; xcsr = &VSADDR->vsxcsr; if (*xcsr&DONE) { if (lchar==MAGIC_MAP) { *xcsr =& ~RQSEND; lchar = 0; if (vs.oq.c_cc +e%6X݂w w D   x`E&e G l,eww D %7ww   D ff "e5Nefe % & .'%`wRw @5  D5 %  5w> 85%> / xG ->DG >  Nfe ! 5wX> ^G H>w w   %  iG =@w F= `%=ʋʕ$ 4fwwJwfwzAJQ  OfA  ^ y   F y @0fA  @9 fA @e&7w7@JwP7 5f@wwJw*f@@& HADCBF75F[AAAB BBB B $B +B4B9B@BCBIBNBUBZB`BiBlBtBxB[@@@@@   ==0) goto wake; } if ((*xcsr&CLSEND) == 0) { *xcsr =& ~RQSEND; *xcsr =| RQSEND; if ((*xcsr&CLSEND) == 0) goto wake; } if ((c = getc(&vs.oq)) >= 0) VSADDR->vsxbuf = lchar = c; if (vs.oq.c_cc <= 15) wake: wakeup(&vs.oq); } } vsread(dev) { register int c; spl5(); while ((c = getc(&vs.iq)) < 0) sleep(&vs.iq, TTIPRI); spl0(); passc("?0*#?546?213?879?"[c&017]); } vsrintr() { register int c; c = VSADDR->vsrbuf; if (vs.iq.c_cc<=10) putc(c, &vs.iq); wakeup(&vs. 0 _ʥ w= 7 =%  ' wʥzG E _4J=7 b=:B7 4B l w$Bw$= % E _eG  E 0_w >%d>G  0w0w CN ff 2#e5` &% %%%@ 'w w C5 %  7n< 7%% %  5ff .'%5 wmA@ wp %\ H5 tAE@P@t55D];ʋ%ʥn$fH,@@@A& $&>>>rx>>>>>82, \ FAPAXA`AfAlAvAhnRnB R !d4 4 4 AAAA  ! !B j intcharfloatdoublestructlongautoexternstaticregistergotoreturnifwhileelseswitchcasebreakcontinuedodefaultforsizeofArg countCan't find %sCan't create tempBBSymiq); } # /* */ /* * VT01 driver via DR11C to 11/20 */ #include "../param.h" #include "../user.h" int vtflag; struct vtreg { int csr; int buf; }; #define VTADDR 0167770 #define RQINT 01 #define BIENABL 040 #define SEOF 0100000 #define VTPRI 8 vtopen(dev, flag) { if (!flag) u.u_error = ENXIO; else VTADDR->csr = BIENABL; } vtclose() { VTADDR->buf = SEOF; VTADDR->csr =| RQINT; } vtwrite() { register int c; int register count; while ((c=cpass()) >= 0) { retry: for (count=0; count<10; cou !B ' !"> j   R \ tcf: error &>$ >   55 eE > A A E]>E EP E?PB Eu x { ~ nt++) if ((VTADDR->csr&RQINT)==0) { VTADDR->buf = c&0377; VTADDR->csr =| RQINT; goto contin; } spl5(); if (VTADDR->csr&RQINT) { vtflag++; sleep(VTADDR, VTPRI); } spl0(); goto retry; contin:; } } vtintr() { VTADDR->csr =& ~RQINT; if (vtflag) { vtflag = 0; wakeup(VTADDR); } }  "&*.26:>BFJNRVZ^bfjnrvz~_ _~_Z _p _  "&*.26:>Bp < z~&~&~zp ~~~  \ pw RB @z POWER FAILED # /* */ /* * GP DR11C driver used for C/A/T */ #include "../param.h" #include "../user.h" #include "../tty.h" #define CATADDR 0167750 #define PCAT 9 #define CATHIWAT 60 #define CATLOWAT 15 struct { int catlock; struct clist oq; } cat; struct { int catcsr; int catbuf; }; ctopen(dev) { if (cat.catlock==0) { cat.catlock++; CATADDR->catcsr =| IENABLE; } else u.u_error = ENXIO; } ctclose() { cat.catlock = 0; } ctwrite(dev) { register c; extern lbolt; while ((c=cpass()) >= 0) { spl5(wm &tv&e&  ֥  f&f&%NeF5x E:]440x x95 x*n hb ~w `w P jw w d7 w o w  \5xw z x"ePC=GOOD DATA= BAD DATA=m m\  A h5zE    B C ~EBaC C  C Ԝ  MM); while (cat.oq.c_cc > CATHIWAT) sleep(&cat.oq, PCAT); while (putc(c, &cat.oq) < 0) sleep(&lbolt, PCAT); catintr(); spl0(); } } catintr() { register int c; if (CATADDR->catcsr&DONE && (c=getc(&cat.oq))>=0) { CATADDR->catbuf = c; if (cat.oq.c_cc==0 || cat.oq.c_cc==CATLOWAT) wakeup(&cat.oq); } else { if (cat.catlock==0) CATADDR->catcsr = 0; } } p @ B ew J @ B @ B @ B  RZ % 7*  w LOADER IS RESTORED 01234567LAST MEMORY ADDRESS IS 000000 @ nw ,N  x@   7 5x" zw F   e@ .w w  ~ e @  E e C e  @  @ e |000 nul|001 soh|002 stx|003 etx|004 eot|005 enq|006 ack|007 bel| |010 bs |011 ht |012 nl |013 vt |014 np |015 cr |016 so |017 si | |020 dle|021 dc1|022 dc2|023 dc3|024 dc4|025 nak|026 syn|027 etb| |030 can|031 em |032 sub|033 esc|034 fs |035 gs |036 rs |037 us | |040 sp |041 ! |042 " |043 # |044 $ |045 % |046 & |047 ' | |050 ( |051 ) |052 * |053 + |054 , |055 - |056 . |057 / | |060 0 |061 1 |062 2 |063 3 |064 4 |065 5 |066 6 |067 7 | |070 8 |071 9 |072 : |073 ; |074 < |075 = |0N  disk offset J70 tape offset 07 count  T      0 Wp `@ illegal digit Nr-l  P eP5Ћ 4R`ȋ  `e `R7 . r f rv!^\ɋ B   %F    %  "     %     %@ T \ & b@  @&  @& @2& @ E&  "_t@w  _te e Ux&  &  w | _@F dEFx _  <@Exw *@ _t76 > |077 ? | |100 @ |101 A |102 B |103 C |104 D |105 E |106 F |107 G | |110 H |111 I |112 J |113 K |114 L |115 M |116 N |117 O | |120 P |121 Q |122 R |123 S |124 T |125 U |126 V |127 W | |130 X |131 Y |132 Z |133 [ |134 \ |135 ] |136 ^ |137 _ | |140 ` |141 a |142 b |143 c |144 d |145 e |146 f |147 g | |150 h |151 i |152 j |153 k |154 l |155 m |156 n |157 o | |160 p |161 q |162 r |163 s |164 t |165 u |166 v |167 w | |170 x |171 y |172 z |173 { |1!  "W N  f kr pX7 p&B :  /B e&7 `   Ce Ԥ!e  N   " et ZEWue T!e 5 &     f r f rvr t@P ! ɋp ȋ?E A Ze   ?    7?mmUx&  &  &  &  @%  w @_d@Ex     4    F e @$   z7   @@ %w W_w Yߋt" & w7 @B7 5x zw |   7 w nr   Zw X   w B w 6  m  m : r 6 74 | |175 } |176 ~ |177 del| ! "W N, R=    @ #D  D ҃TP  B ы e@W 0 ,"& 7   0ߋp@E A Ze      |@7x@ eE "  ɋ -lɋ e-RNHɋ ^? h   N x| 0  ^ F x >P5w w 0"4 T ZVxw \    . N xߋp r r   H x 6 7 d ` H x@w w w@ w p lpw ^ \ %  %  ~ ZEU > w64 ready drive 0 and type y & %y >   > >   n F 76A 7(A B7A7H777777 7 7 7 7 77A7A 7A  7 7    A7  tw  v ^7x P 7j  ` :wX  0 7H 7> 74 7( 7 7   D#9>p ready drive 0 and type y & %y  n ȋ e  rkf: error  0U@p   @BeR   C "( %D  BcJ e   7w w %zet rmmw X  L   : r I PARITY ERROR  LN@ P   ~  z e~ zz@~z zU " 8    f e @z@ee~z E @ E RRRRRRRR    6 l@  @  & @  & @  & @  & @ ,  ń R R R R    C  @ C  555 t l f7L  :@ @ Z  &  &  & 0 cmpf (sp)+,fr0 cfcc jmp (r0)  & @ @ 5@x @ @  . & Z@ b  & J@ r @ @  B5@x n    Hw  @ @       @ @ &  & ~  @  ~ քR R  @  F R &        JJJJJJJJRJJJJJJJas suftab.s strip a.out cmp a.out /usr/lib/suftab as roff?.s ld -s a.out -l cmp a.out /usr/bin/roff as nroff[1-5].s roff7.s nroff8.s ld -s -n a.out cmp a.out /usr/bin/nroff yacc ne.g cc -s -O -n ne*.c -ly cmp a.out /usr/bin/neqn rm y.tab.c *.o a.out JR @   | ~@ & V & J & > & 2  5@x r   ߋp—rE¥\Xw N    ¥ w 270 ew E D D D PE5x]]x@5x7 TO RESTORE LOADERS START AT 204 ENABLE PARITY? 1/0=YES/NO STARTING BANK #(8)? # OF 4K BANKS TO TEST(8)? PATTERN #? ? TYPE CONSTANT INPUT # OF 256. WORD BLOC/ / / rc -- complex arithmetic .globl c8c16 .globl c16c8 .globl i4c8 .globl r4c8 .globl r8c8 .globl i4c16 .globl r4c16 .globl r8c16 .globl cad8 .globl csb8 .globl cmp8 .globl cdv8 .globl cng8 .globl cad16 .globl csb16 .globl cmp16 .globl cdv16 .globl cng16 .globl rval16 .globl rval16p .globl gas16 .globl ceq8 .globl cne8 .globl ceq16 .globl cne16 .globl cpi8 .globl cpi16 one = 040200 a = r2 b = r3 c = r4 d = r5 e = r0 f = r1 gas16: mov 16.(sp),r0 setd movf (sp)+,a movf (sp)+,b tst (sp)+ movf a,(KS TO TEST INSTEAD OF TYPE ADDRESS PROGRAM HAS BEEN RELOCATED,TO RESTORE START AT *DZQMB DONE!E7w P@Ex  ~_~@B J)eL x  N N Ê <%! ,c ѐhˋÜ`E $  P   L ɋr hr0)+ movf b,(r0)+ jmp *(r4)+ rval16p: mov r3,r0 add (r4)+,r0 mov (r0),r0 br 1f rval16: mov (r4)+,r0 1: setd movf (r0)+,a movf (r0)+,b movf b,-(sp) movf a,-(sp) jmp *(r4)+ cad16: setd br 1f cad8: setf 1: jsr pc,garg addf a,e addf b,f br sarg csb16: setd br 1f csb8: setf 1: jsr pc,garg subf a,e negf e subf b,f negf f br sarg cmp16: setd br 1f cmp8: setf 1: jsr pc,garg mulf a,e mulf b,f subf f,e mulf d,a mulf c,b movf a,f addf b,f sarg: movf f,-(sp) movf e,-(s & 'p' for rp; 'k' for rk  k` pD7b disk offset J7D tape offset 0 b  count  H    0 Wp `@ illegal digit 5PߋRTV`RߋR R tape error T `R`Rl hf \r f rv!r t@P ɋ  disk error  ._..p) jmp *(r4)+ cdv16: setd br 1f cdv8: setf 1: divide: jsr pc,garg absf e absf f cmpf e,f cfcc blt 1f / algorithm #1 |c| > |d| movf d,e divf c,e / r = d/c movf d,f mulf e,f addf c,f / x = c+rd movf f,c movf a,f mulf e,f negf f addf b,f mulf b,e addf a,e divf c,e divf c,f br sarg / algorithm #2 |c| < |d| 1: movf c,e divf d,e / r = c/d movf c,f mulf e,f addf d,f / x = d+rc movf f,c movf b,f mulf e,f subf a,f mulf a,e addf b,e divf c,e divf c,f br sarg cng16: s! "W N, p=    @ #D  D ҃TP  B ы e@W 0 ,"& 7   0ߋp@E A Ze      |@7x@ eE "  r-lx  Pf eP5Ћ 4R`ȋ  `e `R7 ._..dldrdtfmbootmcopymemrkftbootuboothbootzhpubooththphtrkhtrpresetrkubootrpuboottcftmhptmrktmrpetd br 1f cng8: setf 1: movf (sp)+,a negf a negf (sp) movf a,-(sp) jmp *(r4)+ / setup the following registers / (a,bi) +o (c,di) -> (e+fi) / a,b,c,d are input / e,f are output and also contain / c,d on input garg: mov (sp)+,r0 movf (sp)+,e movf e,c movf (sp)+,f movf f,d movf (sp)+,a movf (sp)+,b jmp (r0) i4c8: setf br 1f i4c16: setd 1: setl movif (sp)+,fr0 br 2f r4c8: setf br 1f r8c16: setd 1: movf (sp)+,fr0 br 2f r4c16: setd br 1f r8c8: setf 1: movof (sp)+,fr0 2: clV wNLFD set up to format on drive 0 V   V V   v f 7VA 7HA B7:A74H7.7(7"777  7 7 7 7 77A7A 7A  7 7    A7  w   ~7 p 7r   Zw`  P 7P @7F 67< *70 7& 7   D#6V 0 cfcc jmp (r0) rf -(sp) movf fr0,-(sp) jmp *(r4)+ c16c8: setd br 1f c8c16: setf 1: movf (sp)+,r0 movf (sp)+,r1 movfo r1,-(sp) movfo r0,-(sp) jmp *(r4)+ ceq16: setd br 1f ceq8: setf 1: mov $1,r1 br 2f cne16: setd br 1f cne8: setf 1: clr r1 2: jsr pc,garg cmpf c,a cfcc bne 1f cmpf d,b cfcc beq 2f 1: inc r1 bic $2,r1 2: mov r1,-(sp) jmp *(r4)+ cpi8: setf br 1f cpi16: setd 1: clr r0 tst (sp)+ mov (sp)+,r1 bge 1f inc r0 neg r1 1: movf (sp)+,fr0 movf fr0,fr4 movf (sp)+,fr0 movf !B $ !V   rw e07b`Z errorx tcst in r0; tccm in r1 &V$ V   55 eE V A A E]VE EP E?PB E/ / / re -- comparison of 8-byte quantities .globl rle8 .globl rlt8 .globl req8 .globl rne8 .globl rge8 .globl rgt8 rlt8: jsr pc,compar blt one br zero rle8: jsr pc,compar ble one br zero req8: jsr pc,compar beq one br zero rne8: jsr pc,compar bne one br zero rge8: jsr pc,compar bge one br zero rgt8: jsr pc,compar bgt one br zero one: mov $1,-(sp) jmp *(r4)+ zero: clr -(sp) jmp *(r4)+ compar: setd mov (sp)+,r0 movf (sp)+,fr0 cmpf (sp)+,fr0 cfcc jmp (r0) / / / ra -- fortran runtime -- real ** real .globl rpr4 .globl rpr8 .globl log .globl exp .globl rerr rpr8: setd br 1f rpr4: setf 1: seti movf (sp)+,fr1 movf (sp)+,fr0 cfcc beq 3f / 0**x movf fr1,-(sp) jsr pc,log bes error mulf (sp)+,fr0 jsr pc,exp bes error 2: movf fr0,-(sp) jmp *(r4)+ 3: tstf r1 cfcc bgt 2b error: jsr r5,rerr; 17. / / / rb -- funct/subr stuff .globl call .globl callp .globl retrn .globl stsp callp: mov (r4)+,r0 add r3,r0 mov (r0),r0 br 1f call: mov (r4)+,r0 1: mov r3,-(sp) mov (r4)+,r3 mov r4,-(sp) mov r0,r4 mov (r4)+,-(sp) / lv of funct jmp *(r4)+ retrn: mov r3,r0 mov (sp)+,r1 / lv of funct mov (sp)+,r4 mov (sp)+,r3 mov (r0),sp tst (r4)+ / arg count mov (r4)+,r0 / return byte count inc r0 bic $1,r0 add r0,r1 1: sub $2,r0 blt 1f mov -(r1),-(sp) br 1b 1: jmp *(r4)+ stsp: mov sp,*(r/ / / r6 -- real arithmetic .globl rad4 .globl rad8 .globl rsb4 .globl rsb8 .globl rmp4 .globl rmp8 .globl rdv4 .globl rdv8 .globl rng4 .globl rng8 .globl r4r8 .globl r8r4 .globl i4r4 .globl i2r4 .globl r4i4 .globl r8i2 .globl i2r8 .globl r4i2 .globl i4r8 .globl r8i4 .globl rerr rad8: setd br 1f rad4: setf 1: movf (sp)+,fr0 addf (sp)+,fr0 br store rsb8: setd br 1f rsb4: setf 1: movf (sp)+,fr0 negf fr0 addf (sp)+,fr0 br store rmp8: setd br 1f rmp4: setf 1: movf (sp)+,fr0 mulf (sp)+,fr0 jsr pc,compar bge one br zero bhis one br zero igt4: jsr pc,compar bgt one br zero bhi one br zero one: mov $1,(sp) jmp *(r4)+ zero: clr (sp) jmp *(r4)+ compar: mov (sp)+,r0 mov (sp)+,r1 mov (sp)+,r2 cmp (sp)+,r1 beq 1f jmp (r0) 1: cmp (sp),r2 jmp 4(r0) lor2: bis (sp)+,(sp) jmp *(r4)+ lan2: tst (sp)+ bne 1f clr (sp) 1: jmp *(r4)+ lnt2: tst (sp) beq one br zero ieq2: leq2: cmp (sp)+,(sp) beq one br zero ilt2: cmp (sp)+,(sp) bgt one br zero ile2: cmp (sp)+,(sp) 4)+ jmp *(r4)+ br store rdv8: setd br 1f rdv4: setf 1: movf (sp)+,fr1 movf (sp)+,fr0 divf fr1,fr0 store: movf fr0,-(sp) jmp *(r4)+ rng8: setd br 1f rng4: setf 1: negf (sp) jmp *(r4)+ r8r4: setd br 1f r4r8: setf 1: movf (sp)+,fr0 movfo fr0,-(sp) jmp *(r4)+ i2r8: seti br 1f i4r8: setl 1: setd br 2f i2r4: seti br 1f i4r4: setl 1: setf 2: movif (sp)+,fr0 movf fr0,-(sp) jmp *(r4)+ r8i2: seti br 1f r8i4: setl 1: setd br 2f r4i2: seti br 1f r4i4: setl 1: setf 2: movf (sp)+,fbge one br zero igt2: cmp (sp)+,(sp) blt one br zero ige2: cmp (sp)+,(sp) ble one br zero ine2: lne2: cmp (sp)+,(sp) bne one br zero leq1: cmpb (sp)+,(sp) beq one br zero lne1: cmpb (sp)+,(sp) bne one br zero / / / r8 - fortran runtime -- powers of integers .globl ipi2 ipi2: tst (sp)+ mov (sp)+,r0 bge 1f clr (sp) jmp *(r4)+ 1: mov (sp)+,r1 mov r3,-(sp) mov $1,r3 1: tst r0 beq 1f asr r0 bcc 2f mpy r1,r3 2: mpy r1,r1 br 1b 1: mov r3,r1 mov (sp)+,r3 mov r1,-(sp) jmp *(r4)+ r0 movfi fr0,-(sp) jmp *(r4)+ / / / r1 -- fortran runtime .globl gas1 .globl gas2 .globl gas4 .globl gas8 .globl stop .globl lval .globl rval4 .globl rval8 .globl do1 .globl do12 .globl do14 .globl do2 .globl do22 .globl do24 .globl goto .globl cgoto .globl cagoto .globl agoto .globl rerr gas8: mov 8.(sp),r0 mov (sp)+,(r0)+ mov (sp)+,(r0)+ br 1f gas1: movb (sp)+,*(sp)+ jmp *(r4)+ gas2: mov (sp)+,*(sp)+ jmp *(r4)+ gas4: mov 4(sp),r0 1: mov (sp)+,(r0)+ mov (sp)+,(r0) tst (sp)+ jmp *(r4)+ stop: sys exit lval: mov (r/ / one = 40200 / r9 -- fortran runtime -- real**integer .globl ipi4 .globl rpi4 .globl rpi8 .globl rerr ipi4: setf setl movif 4(sp),fr0 movf fr0,4(sp) jsr r5,1f movfi fr1,-(sp) jmp *(r4)+ rpi4: setf br 2f rpi8: setd 2: jsr r5,1f movf fr1,-(sp) jmp *(r4)+ 1: cmp (sp)+,(sp)+ / jsr + msp of i4 mov (sp)+,r0 movf $one,fr1 movf (sp)+,fr0 tst r0 bgt 1f cfcc beq 9f tst r0 beq 3f divf fr0,fr1 movf fr1,fr0 neg r0 movf $one,fr1 1: asr r0 bcc 2f mulf fr0,fr1 2: tst r0 beq 3f m/ / / r5 -- long integer arithmetic .globl iad4 .globl isb4 .globl imp4 .globl idv4 .globl ing4 .globl rerr iad4: jsr pc,load addf fr0,fr1 br store isb4: jsr pc,load subf fr0,fr1 br store imp4: jsr pc,load mulf fr0,fr1 br store idv4: jsr pc,load divf fr0,fr1 store: movfi fr1,-(sp) jmp *(r4)+ load: mov (sp)+,r0 setd setl movif (sp)+,fr0 movif (sp)+,fr1 jmp (r0) ing4: neg (sp) neg 2(sp) sbc (sp) jmp *(r4)+ 4)+,-(sp) jmp *(r4)+ rval8: mov (r4)+,r0 add $8.,r0 mov -(r0),-(sp) mov -(r0),-(sp) mov -(r0),-(sp) mov -(r0),-(sp) jmp *(r4)+ rval4: mov (r4)+,r0 mov 2(r0),-(sp) mov (r0),-(sp) jmp *(r4)+ do22: mov (sp)+,r1 br 1f do12: mov $1,r1 1: mov (sp)+,r2 mov (sp)+,r0 add r1,(r0) cmp (r0),r2 bgt goto tst (r4)+ jmp *(r4)+ do24: do2: mov (sp)+,r2 mov (sp)+,r1 br 1f do14: do1: clr r2 mov $1,r1 1: mov 4(sp),r0 add r1,2(r0) adc r2 add r2,(r0) cmp (r0)+,(sp)+ bgt 1f blt 2f cmp (r0),ulf fr0,fr0 br 1b 3: jmp (r5) 9: jsr r5, rerr; 17. / / / r4 -- short integer arithmetic .globl iad2 .globl isb2 .globl imp2 .globl idv2 .globl i2i4 .globl i1i4 .globl i4i2 .globl i4i1 .globl ing2 .globl rval2 .globl rval1 .globl l2l1 iad2: add (sp)+,(sp) jmp *(r4)+ isb2: sub (sp)+,(sp) jmp *(r4)+ imp2: mov (sp)+,r1 mul (sp)+,r1 mov r1,-(sp) jmp *(r4)+ idv2: mov 2(sp),r1 sxt r0 div (sp)+,r0 mov r0,(sp) jmp *(r4)+ i4i2: i4i1: tst (sp)+ jmp *(r4)+ i2i4: i1i4: tst (sp) sxt -(sp) jmp *(r4)+ ing2: neg (sp) jmp *(r4)+ rval2: mov *(r4(sp) bhi 1f 2: cmp (sp)+,(sp)+ tst (r4)+ jmp *(r4)+ 1: cmp (sp)+,(sp)+ goto: mov (r4),r4 jmp *(r4)+ cgoto: tst (sp)+ mov (sp)+,r0 asl r0 add r4,r0 1: tst (r4)+ beq gotoe cmp r0,r4 bne 1b mov -(r0),r4 jmp *(r4)+ cagoto: tst (sp)+ mov (sp)+,r0 1: tst (r4) beq gotoe cmp r0,(r4)+ bne 1b mov r0,r4 jmp *(r4)+ agoto: tst (sp)+ mov (sp)+,r4 jmp *(r4)+ gotoe: jsr r5,rerr; 14. / / / r7 -- fortran runtime achk = 1 / 1 to check array bounds .globl lvalp .globl rval1p .globl rval2p .globl rval4p .globl rval8p .globl alval .globl alvalp .globl arval .globl arvalp .globl rerr lvalp: mov r3,r0 add (r4)+,r0 mov (r0)+,-(sp) jmp *(r4)+ rval1p: mov r3,r0 add (r4)+,r0 movb *(r0)+,-(sp) jmp *(r4)+ rval2p: mov r3,r0 add (r4)+,r0 mov *(r0)+,-(sp) jmp *(r4)+ rval4p: mov r3,r0 add (r4)+,r0 mov (r0),r0 cmp (r0)+,(r0)+ mov -(r0),-(sp) mov -(r0),-(sp) jmp *(r4)+ rval8p: )+,-(sp) jmp *(r4)+ rval1: movb *(r4)+,r0 mov r0,-(sp) l2l1: jmp *(r4)+ / / / rd -- short list I/O do loop .globl slist1 .globl slist2 .globl slist3 .globl temp slist1: mov (r4)+,r0 mov (r0)+,r2 mov $1,r1 1: mpy (r0)+,r1 sob r2,1b mov $temp,r2 mov r1,(r2)+ clr (r2)+ mov (r0)+,(r2)+ jmp *(r4)+ slist2: mov (r4)+,r0 dec temp ble 1f mov r0,r4 1: jmp *(r4)+ slist3: mov $temp+2,r0 add (r0)+,(sp) add (r0),-(r0) jmp *(r4)+ setd mov r3,r0 add (r4)+,r0 movf *(r0)+,fr0 movf fr0,-(sp) jmp *(r4)+ alval: jsr r5,getsub; 1 mov (r4)+,-(sp) add r1,(sp) jmp *(r4)+ arvalp: jsr r5,getsub; 0 mov r3,r2 add (r4)+,r2 mov (r2),r2 br 1f arval: jsr r5,getsub; 1 mov (r4)+,r2 1: add r2,r1 mov -(r0),r2 asr r2 bcc 1f movb (r1),-(sp) jmp *(r4)+ 1: add (r0),r1 1: mov -(r1),-(sp) sob r2,1b jmp *(r4)+ getsub: tst (sp)+ mov (r4)+,r0 mov (r0)+,r2 clr r1 tst (r0)+ 1: tst (sp)+ dec (sp) add (sp)+,r1 mpy (r0)+,r1 sob r/ / / r3 -- comparisons .globl lif2 .globl lif1 .globl rif4 .globl iif2 .globl iif4 .globl rif8 lif2: lif1: tst (sp)+ bne 1f mov (r4),r4 jmp *(r4)+ 1: tst (r4)+ jmp *(r4)+ rif8: setd tstf (sp)+ cfcc br 2f iif4: rif4: mov (sp)+,r0 mov (sp)+,r1 tst r0 bne 2f tst r1 cln br 2f iif2: tst (sp)+ 2: bmi 1f beq 2f tst (r4)+ 2: tst (r4)+ 1: mov (r4),r4 jmp *(r4)+ / / / rtx -- last routine .globl ecore .bss ecore: 2,1b tst (r5)+ beq 2f mov r1,-(sp) mov -2(r4),r0 mov (r0)+,r2 inc r2 mov $1,r1 1: mpy (r0)+,r1 sob r2,1b .if achk cmp r1,(sp) bhi 1f jsr r5,rerr; 15. .endif 1: mov (sp)+,r1 2: jmp (r5) alvalp: jsr r5,getsub; 0 mov r3,r0 add (r4)+,r0 mov (r0),-(sp) add r1,(sp) jmp *(r4)+ / / / r2 -- comparison of 4-byte integers .globl ilt4 .globl ile4 .globl ieq4 .globl ine4 .globl ige4 .globl igt4 .globl lan2 .globl lor2 .globl lnt2 .globl ieq2 .globl ile2 .globl igt2 .globl ige2 .globl leq2 .globl ine2 .globl ilt2 .globl lne2 .globl leq1 .globl lne1 ilt4: jsr pc,compar blt one br zero blo one br zero ile4: jsr pc,compar ble one br zero blos one br zero ieq4: jsr pc,compar beq one br zero beq one br zero ine4: jsr pc,compar bne one br zero bne one br zero ige4: function ccos(z1) complex ccos, z1, z2 dimension dummy(2) equivalence (a,z2,dummy(1)), (b,dummy(2)) z2 = z1 c = exp(b) d = 1.0/c b = sin(a)*(d-c)/2.0 a = cos(a)*(c+d)/2.0 ccos = z2 return end d$ !                      / / / dim fortran function .globl dim. .globl retrn .globl temp .globl rerr / dim.: temp .+2 setf cmp *2(sp),$2 bne 2f movf *2(r3),r0 subf *4(r3),r0 cfcc bge 1f clrf r0 1: movf r0,temp jmp retrn 2: jsr r5,rerr; 7. / / / cos & dcos fortran functions .globl cos. .globl dcos. .globl cos .globl retrn .globl temp dcos.: temp .+2 setd br 1f cos.: temp .+2 setf 1: movf *2(r3),r0 jsr pc,cos movf r0,temp jmp retrn / / / cabs fortran function .globl cabs. .globl dcabs. .globl sqrt .globl retrn .globl rerr .globl temp dcabs.: temp .+2 setd br 1f cabs.: temp .+2 setf 1: mov 2(r3),r1 movf (r1)+,r0 movf (r1)+,r1 jsr pc,hypot bes 1f movf r0,temp jmp retrn 1: jsr r5,rerr; 4 hypot: movf fr1,-(sp) absf fr0 absf fr1 cmpf fr0,fr1 cfcc bne 1f movf $one,fr0 br 3f 1: blt 2f movf fr0,-(sp) movf fr1,fr0 movf (sp)+,fr1 2: divf fr1,fr0 mulf fr0,fr0 3: addf $one,fr0 jsr pc,sqrt mulf fr1,fr0 cfcc mov mv a.out dim.o as dimag.s; mv a.out dimag.o as exp.s; mv a.out exp.o as float.s; mv a.out float.o as iabs.s; mv a.out iabs.o as idim.s; mv a.out idim.o as idint.s; mv a.out idint.o as ierr.s; mv a.out ierr.o as ifix.s; mv a.out ifix.o as isign.s; mv a.out isign.o as mod.s; mv a.out mod.o as real.s; mv a.out real.o as sign.s; mv a.out sign.o as sin.s; mv a.out sin.o as sngl.s; mv a.out sngl.o as sqrt.s; mv a.out sqrt.o fc -c tanh.f ar r /lib/libf.a *.o rm *.o chdir ../rt2 as ctime.s; mv a.out ctime.o as ge/ / / dimag fortran function .globl dimag. .globl rval16p .globl retrn .globl temp dimag.: temp rval16p; 2 .+2 setd tstf (sp)+ movf (sp)+,r0 movf r0,temp jmp retrn movfi r1,temp 2: jmp retrn / / / abs & dabs fortran functions .globl abs. .globl dabs. .globl retrn .globl temp dabs.: temp .+2 setd br 1f abs.: temp .+2 setf 1: movf *2(r3),r0 absf r0 movf r0,temp jmp retrn / / / max1, amax1 & dmax1 fortran functions .globl amax1. .globl dmax1. .globl max1. .globl retrn .globl temp max1.: temp .+2 setl setf mov pc,r2 / integer flag br 2f dmax1.: temp .+2 setd br 1f amax1.: temp .+2 setf 1: clr r2 / integer flag 2: mov *2(sp),r0 / arg count mov r3,r1 tst (r1)+ / argpp movf *(r1)+,r1 br 2f 1: movf *(r1)+,r0 cmpf r0,r1 cfcc ble 2f movf r0,r1 2: dec r0 bgt 1b tst r2 bne 1f movf r1,temp br 2f 1: movfi r1,temp 2: jmp retrn / / / sin & dsin fortran functions .globl sin. .globl dsin. .globl sin .globl retrn .globl temp dsin.: temp .+2 setd br 1f sin.: temp .+2 setf 1: movf *2(r3),r0 jsr pc,sin movf r0,temp jmp retrn / / / aimag fortran function .globl aimag. .globl rval8p .globl retrn .globl temp aimag.: temp rval8p; 2 .+2 setf tstf (sp)+ movf (sp)+,r0 movf r0,temp jmp retrn / / / min0 & amin0 fortran functions .globl amin0. .globl min0. .globl retrn .globl temp min0.: temp .+2 mov pc,r2 br 1f amin0.: temp .+2 clr r2 1: setf setl mov *2(sp),r0 / arg count mov r3,r1 tst (r1)+ / argpp movif *(r1)+,r1 br 2f 1: movif *(r1)+,r0 cmpf r0,r1 cfcc bge 2f movf r0,r1 2: dec r0 bgt 1b tst r2 bne 1f movf r1,temp br 2f 1: movfi r1,temp 2: jmp retrn function tanh(a) b = exp(a) c = 1.0/b tanh = (b-c)/(b+c) return end / / / aint fortran function .globl aint. .globl temp one = 40200 .globl retrn aint.: temp .+2 setf movf *2(r3),r0 modf $one,r0 movf r1,temp jmp retrn / / / min1, amin1 & dmin1 fortran functions .globl amin1. .globl dmin1. .globl min1. .globl retrn .globl temp min1.: temp .+2 setl setf mov pc,r2 br 2f dmin1.: temp .+2 setd br 1f amin1.: temp .+2 setf 1: clr r2 2: mov *2(sp),r0 / arg count mov r3,r1 tst (r1)+ / argpp movf *(r1)+,r1 br 2f 1: movf *(r1)+,r0 cmpf r0,r1 cfcc bge 2f movf r0,r1 2: dec r0 bgt 1b tst r2 bne 1f movf r1,temp br 2f 1: movfi r1,temp 2: jmp retrn function csin(z1) complex csin, z1, z2 dimension dummy(2) equivalence (a,z2,dummy(1)), (b,dummy(2)) z2 = z1 c = exp(b) d = 1.0/c b = cos(a)*(c-d)/2.0 a = sin(a)*(c+d)/2.0 csin = z2 return end / / / alog & log fortran functions .globl alog. .globl dlog. .globl log .globl retrn .globl rerr .globl temp dlog.: temp .+2 setd br 1f alog.: temp .+2 setf 1: seti movf *2(r3),r0 jsr pc,log bes 1f movf r0,temp jmp retrn 1: jsr r5,rerr; 1 / / / amod & dmod fortran functions .globl amod. .globl dmod. .globl retrn one = 40200 .globl temp .globl rerr dmod.: temp .+2 setd br 1f amod.: temp .+2 setf 1: cmp *2(sp),$2 bne 1f movf *2(r3),r0 movf r0,r2 movf *4(r3),r1 divf r1,r2 modf $one,r2 mulf r1,r3 subf r3,r0 movf r0,temp jmp retrn 1: jsr r5,rerr; 2 / / / max0 & amax0 fortran functions .globl amax0. .globl max0. .globl retrn .globl temp max0.: temp .+2 mov pc,r2 br 1f amax0.: temp .+2 clr r2 1: setf setl mov *2(sp),r0 / arg count mov r3,r1 tst (r1)+ / argpp movif *(r1)+,r1 br 2f 1: movif *(r1)+,r0 cmpf r0,r1 cfcc ble 2f movf r0,r1 2: dec r0 bgt 1b tst r2 bne 1f movf r1,temp br 2f 1: movfi r1,temp 2: jmp retrn / / / alog10 & dlog10 fortran functions .globl dlog10. .globl alog10. .globl log .globl retrn .globl rerr .globl temp dlog10.:temp .+2 setd br 1f alog10.:temp .+2 setf 1: movf *2(r3),r0 jsr pc,log bes 1f mulf const,r0 movf r0,temp jmp retrn 1: jsr r5,rerr; 1 const: 37736;55730;124467;24146 / / / atan & datan fortran functions .globl atan. .globl datan. .globl atan .globl retrn .globl temp datan.: temp .+2 setd br 1f atan.: temp .+2 setf 1: movf *2(r3),r0 jsr pc,atan movf r0,temp jmp retrn r5 1: cmp (sp),(r5)+ beq 1f tst (r5)+ bne 1b br eoprnd 1: jmp *(r5) exsw2: '+; exadd '-; exsub '*; exmul '/; exdiv 037; exor '&; exand 035;exlsh 036;exrsh '%; exmod '!; exnot '^; excmbin 0; 0 excmbin: mov r0,r3 / give left flag of right br eoprnd exrsh: neg r1 beq exlsh inc r1 clc ror r2 exlsh: jsr r5,combin; 0 als r1,r2 br eoprnd exmod: jsr r5,combin; 0 mov r1,-(sp) mov r2,r1 clr r0 dvd (sp)+,r0 mov r1,r2 br eoprnd exadd: jsr r5,combin; 0 add r1,r2 br eoprnd e function clog(z1) complex clog, z1, z2 dimension dummy(2) equivalence (a,z2,dummy(1)), (b,dummy(2)) z2 = z1 c = cabs(z2) b = atan2(b, a) a = alog(c) clog = z2 return end / / / atan2 & datan2 fortran functions .globl atan2. .globl datan2. .globl retrn .globl rerr .globl temp .globl atan2 datan2.: temp .+2 setd br 1f atan2.: temp .+2 setf 1: cmp *2(sp),$2 bne 1f movf *2(r3),r0 movf *4(r3),r1 jsr pc,atan2 movf r0,temp jmp retrn 1: jsr r5,rerr; 3 / / / mod fortran function .globl mod. .globl retrn .globl temp one = 40200 .globl rerr mod.: temp .+2 setd setl cmp *2(sp),$2 bne 1f movif *2(r3),r0 movf r0,r2 movif *4(r3),r1 divf r1,r2 modf $one,r2 mulf r1,r3 subf r3,r0 movfi r0,temp jmp retrn 1: jsr r5,rerr; 11. / / / exp & dexp fortran functions .globl exp. .globl dexp. .globl exp .globl retrn .globl rerr .globl temp dexp.: temp .+2 setd br 1f exp.: temp .+2 setf 1: seti movf *2(r3),r0 jsr pc,exp bes 1f movf r0,temp jmp retrn 1: jsr r5,rerr; 8. / / / isign fortran function .globl isign. .globl retrn .globl rerr .globl temp isign.: temp .+2 setd setl cmp *2(sp),$2 bne 2f movif *2(r3),r0 absf r0 movif *4(r3),r1 cfcc bge 1f negf r0 1: movfi r0,temp jmp retrn 2: jsr r5,rerr; 10. nch opl6: opl10: opl11: jsr pc,expres add $2,dot rts pc / .byte opl16: jsr pc,expres inc dot cmp r4,$', bne 1f jsr pc,readop br opl16 1: rts pc / < (.ascii) opl17: add numval,dot jsr pc,readop rts pc /.even opl20: inc dot bic $1,dot rts pc /.if opl21: jsr pc,expres tst r3 bne 1f jsr r5,error; 'U 1: tst r2 bne opl22 inc ifflg opl22: /endif rts pc /.globl opl23: cmp r4,$200 blo 1f bisb $40,(r4) jsr pc,readop cmp r4,$', bne 1f jsr pc,readop br opl23 1: rts pc opl25: opl26/ / / float fortran function .globl float. .globl rval4p .globl lval .globl gas4 .globl i4r4 .globl retrn .globl temp float.: temp lval; temp rval4p; 2 i4r4 gas4 retrn / / / real & dreal fortran function .globl real. .globl dreal. .globl retrn .globl temp dreal.: temp .+2 setd br 1f real.: temp .+2 setf 1: movf *2(r3),r0 movf r0,temp jmp retrn ,r1 beq 1f add $8,r0 cmp r0,cerrp blo 1b rts pc 1: add $8,r0 mov -(r0),-(sp) mov -(r0),-(sp) mov $one,-(sp) mov -(r0),r3 jmp retrn .data one: 77777; 177777 zero: 0; 0 cerrp: errbuf .bss errbuf: .=.+50 eerbuf: / / / iabs fortran function .globl iabs. .globl retrn .globl temp iabs.: temp .+2 setl setd movif *2(r3),r0 absf r0 movfi r0,temp jmp retrn function dcsqrt(z1) double complex dcsqrt, z1, z2 double precision dummy(2), a, b, c equivalence (a,z2,dummy(1)), (b,dummy(2)) z2 = z1 c = dcabs(z2) c = dsqrt(c) b = datan2(b, a)/2.0d0 a = c*dcos(b) b = c*dsin(b) dcsqrt = z2 return end f (sp)+,fr1 rts pc one = 40200 / / / idim fortran function .globl idim. .globl retrn .globl rerr .globl temp idim.: temp .+2 setd setl cmp *2(sp),$2 bne 2f movif *2(r3),r0 movif *4(r3),r1 subf r1,r0 cfcc bge 1f clrf r0 1: movfi r0,temp jmp retrn 2: jsr r5,rerr; 9. function dcsin(z1) double complex dcsin, z1, z2 double precision dummy(2), a, b, c, d equivalence (a,z2,dummy(1)), (b,dummy(2)) z2 = z1 c = dexp(b) d = 1.0d0/c b = dcos(a)*(c-d)/2.0d0 a = dsin(a)*(c+d)/2.0d0 dcsin = z2 return end xsub: jsr r5,combin; 1 sub r1,r2 br eoprnd exand: jsr r5,combin; 0 com r1 bic r1,r2 br eoprnd exor: jsr r5,combin; 0 bis r1,r2 br eoprnd exmul: jsr r5,combin; 0 mpy r2,r1 mov r1,r2 br eoprnd exdiv: jsr r5,combin; 0 mov r1,-(sp) mov r2,r1 clr r0 dvd (sp)+,r0 mov r0,r2 br eoprnd exnot: jsr r5,combin; 0 com r1 add r1,r2 br eoprnd eoprnd: mov $'+,(sp) jmp advanc combin: mov r0,-(sp) bis r3,(sp) bic $!40,(sp) bic $!37,r0 bic $!37,r3 cmp r0,r3 ble 1f mov r0,-(sp) mov r3,/ / / idint fortran function .globl idint. .globl retrn .globl temp idint.: temp .+2 setd setl movf *2(r3),r0 movfi r0,temp jmp retrn function dccos(z1) double complex dccos, z1, z2 double precision dummy(2), a, b, c, d equivalence (a,z2,dummy(1)), (b,dummy(2)) z2 = z1 c = dexp(b) d = 1.0d0/c b = dsin(a)*(d-c)/2.0d0 a = dcos(a)*(c+d)/2.0d0 dccos = z2 return end : opl27: mov dotrel,r1 asl r1 mov dot,savdot-4(r1) mov savdot-[2*25](r0),dot asr r0 sub $25-2,r0 mov r0,dotrel rts pc / .common opl32: cmp r4,$200 blo 1f bis $40,(r4) jsr pc,readop cmp r4,$', bne 1f jsr pc,readop jsr pc,expres rts pc 1: jsr r5,error; 'x rts pc addres: cmp r4,$'( beq alp cmp r4,$'- beq amin cmp r4,$'$ beq adoll cmp r4,$'* beq astar getx: jsr pc,expres cmp r4,$'( bne 2f jsr pc,readop jsr pc,expres jsr pc,checkreg jsr pc,checkrp add $2,dot clr r0 rts pc 2/ / / dble fortran function .globl dble. .globl rval4p .globl lval .globl r4r8 .globl gas8 .globl retrn .globl temp dble.: temp lval; temp rval4p; 2 r4r8 gas8 retrn function dclog(z1) double complex z1, z2, dclog double precision a,b,c double precision dummy(2) equivalence (a,z2,dummy(1)), (b,dummy(2)) z2=z1 c=dcabs(z2) b=datan2(b,a) a=dlog(c) dclog=z2 return end / / / conjg fortran function .globl conjg. .globl rval8p .globl retrn .globl temp conjg.: temp rval8p; 2 .+2 setf movf (sp)+,r0 movf r0,temp movf (sp)+,r0 negf r0 movf r0,temp+4 jmp retrn / / / catch runtime errors: / if (ierror(errno)) goto place / on call, returns 0 / on occurrence of error, returns non-zero .globl ierror. .globl erret .globl rerr .globl retrn ierror.:zero .+2 mov 2(r3),r0 mov 2(r0),r1 mov $errbuf,r0 1: cmp r0,cerrp blo 2f cmp cerrp,$eerbuf blo 3f jsr r5,rerr; 120. 3: add $8,cerrp br 1f 2: cmp r1,(r0) beq 1f add $8,r0 br 1b 1: mov r1,(r0)+ mov r3,(r0)+ mov 2(sp),(r0)+ mov 4(sp),(r0)+ jmp retrn .data erret: jmp 9f .text 9: mov $errbuf,r0 cmp (r0)0,010, /*!*/ 022,022,000,000,000,000, /*"*/ 022,077,022,022,077,022, /*#*/ 036,054,036,015,055,036, /*$*/ 001,062,064,013,023,040, /*%*/ 014,022,014,024,042,035, /*&*/ 010,010,000,000,000,000, /*'*/ 004,010,010,010,010,004, /*(*/ 010,004,004,004,004,010, /*)*/ 000,022,014,014,022,000 /***/ }; char blank ' '; char plot 'X'; int msk 040; /*mask at sixth bit*/ main(argc,argp) char **argp;int argc; { int i; /*if invoked with no arguments, prints error comment; if invoked with an argument, prints>ierr.sDifix.sLisign.sTmod.sreal.ssign.ssin.ssngl.ssqrt.sdcsqrt.fdcsin.fdccos.fYdclog.ff.tmp1abs.oaimag.oaint.oalog.oalog10.oamax0.oamax1.oamin0.oamin1.oamod.oatan.oatan2.ocabs.ocexp.occos.ocmplx.oclog.oconjg.o/ / / ifix & int fortran functions .globl ifix. .globl int. .globl lval .globl r4i4 .globl gas4 .globl rval4p .globl retrn .globl temp int.: ifix.: temp lval; temp rval4p; 2 r4i4 gas4 retrn / / / move, line sct = 2 / fortran vt0 interfaces / erase screen erase.: temp .+2 jsr pc,setfil mov f,r0 sys write; erase; 2 jmp retrn / move(x, y) / / sets current x,y to arguments / .globl move. .globl line. .globl erase. .globl frame. .globl arc. .globl circle. .globl temp .globl retrn frame.: temp .+2 jsr pc,setfil mov 2(r3),r0 movb 2(r0),frame+1 mov f,r0 sys write; frame; 2 jmp retrn move.: temp .+2 jsr pc,garg mov r0,x mov r1,y jmp retrn / line(x, y) / / plot vector from current x,y / to arguments, setting current / x,y when done to arguments / line.: temp .+2 jsr pc,garg mov r0,x1 mov r1,y1 movb $3,command mov f,r0 sys write; command; 9 mov x1,x mov y1,y jmp retrn / call circle(x, y, radius) / circle's center at x, y circle.:temp .+2 jsr pc,garg mov r0,x mov r1,y mov 6(r3),r0 mov 2(r0),r0 ash $2,r0 mov r0,x1 movb $5,command mov f,r0 sys write; command; 7 jmp retrn / call arc(xo, yo, x1, y1, x2, y2) / plot circle arc: origin xo,yo; / counterclockwise .globl ctime., retrn, temp ctime.: temp .+2 sys time clr temp mov r0,temp+2 setd setl movif temp,fr0 mulf $44200,fr0 mov r1,temp+2 movif temp,fr1 addf fr1,fr0 movf fr0,temp jmp retrn dvanc; case MCALL: *cp++ = block(0,0,0,0); /* 0 arg call */ os = CALL; break; case INCBEF: case INCAFT: case DECBEF: case DECAFT: *cp++ = block(1, CON, INT, 0, 1); break; case LPARN: if (o!=RPARN) goto syntax; goto advanc; case LBRACK: if (o!=RBRACK) goto syntax; build(LBRACK); goto advanc; } build(os); goto opon1; syntax: error("Expression syntax"); errflush(o); return(0); } copname(acs) struct hshtab *acs; { register struct hshtab *cs; register struct tname *from x1,y1 to x2,y2 arc.: temp .+2 jsr pc,garg mov r0,x mov r1,y cmp (r3)+,(r3)+ jsr pc,garg mov r0,x1 mov r1,y1 cmp (r3)+,(r3)+ jsr pc,garg mov r0,x2 mov r1,y2 movb $6,command mov f,r0 sys write; command; 13. sub $8.,r3 jmp retrn setfil: tst f bne 1f sys creat; vt; 17 bes 9f mov r0,f 1: rts pc garg: jsr pc,setfil mov 2(r3),r0 mov 2(r0),r0 mov 4(r3),r1 mov 2(r1),r1 ash $2,r0 ash $2,r1 sub $2048.,r0 sub $2048.,r1 rts pc 9: mov $1,r0 sys write; bmes; emes-bmes sys exit / Fortran library-- setfil / call setfil(unit, 5hname ) .globl setfil. .globl getbuf .globl chkunit .globl retrn .globl utable .globl temp .globl rerr setfil.: temp .+2 mov 2(r3),r1 mov 2(r1),r1 jsr r5,chkunit tstb utable(r1) beq 1f jsr r5,rerr; 112. 1: jsr r5,getbuf movb $-1,utable(r1) mov 4(r3),r0 mov r2,r1 1: movb (r0)+,(r1) beq 1f cmpb $' ,(r1)+ bne 1b clrb -(r1) 1: jmp retrn t (sp)+ mov (sp)+,r5 rts pc 1: jmp *(r1) esw1: '+; binop '-; binop '*; binop '/; binop '&; binop 037; binop 035; binop 036; binop '%; binop '[; brack '^; binop 1; exnum '!; binop 0; 0 binop: cmpb (sp),$'+ beq 1f jsr pc,errore 1: movb r4,(sp) br advanc exnum: mov numval,r1 mov $1,r0 br oprand brack: mov r2,-(sp) mov r3,-(sp) jsr pc,readop jsr pc,expres cmp r4,$'] beq 1f jsr r5,error; '] 1: mov r3,r0 mov r2,r1 mov (sp)+,r3 mov (sp)+,r2 oprand: inc opfound mov $exsw2,frame: .byte 4,0 erase: .byte 1,1 .byte 0 vt: bmes: ; emes: .bss .=.+1 command:.=.+1 x: .=.+2 y: .=.+2 x1: .=.+2 y1: .=.+2 x2: .=.+2 y2: .=.+2 f: .=.+2 / call getarg(n, array [, nword] ) / / fill in the array with the n-th argument to the routine. / array is integer. / n counts from 1 for the file name (first) arg / if nword is specifies it gives the max number / of words to fill in / If no nword is given the array ends with at least one blank. / if nword is given the array is blank-padded to that length. / iargc(dummy) returns the number of arguments / (1-origin) .globl getarg., iargc. .globl retrn, temp .comm argp,2 getarg.: temp .+2 mov $512.,r2 unt the number of appearances of temp1[j] */ count = 0; tred = -temp1[j]; for( p=1; p<=nterms; ++p ){ if( temp1[p]+tred == 0 ) ++count; } if( count >ntimes ){ lastred = tred; ntimes = count; } } /* clear out entries in temp1 which equal lastred */ for( p=1; p<= nterms; ++p ) if( temp1[p]+lastred == 0 )temp1[p]=0; /* write out the state */ /* first, check for equality with another state */ /* see if there is a nonterminal with all dots / / / fortran random I/O .globl rread. .globl rwrite. .globl temp .globl retrn .globl rerr rread.: temp .+2 mov 2(r3),r0 mov 2(r0),0f mov rfin,r0 bne 1f sys open; rf; 0 bes 9f mov r0,rfin 1: sys seek; 0:..; 0 mov 4(r3),0f mov 6(r3),r0 mov 2(r0),0f+2 mov rfin,r0 sys read; 0:..; 0 jmp retrn rwrite.:temp .+2 mov 2(r3),r0 mov 2(r0),0f mov rfout,r0 bne 1f sys creat; rf; 17 bes 9f mov r0,rfout 1: sys seek; 0:..; 0 mov 4(r3),0f mov 6(r3),r0 mov 2(r0),0f+2 mov rfout,r0 sys write; 0cmp *2(sp),$3 blt 1f mov 6(r3),r2 mov 2(r2),r2 asl r2 asl r2 1: mov 4(r3),r4 mov 2(r3),r1 mov 2(r1),r1 mov argp,r0 cmp r1,(r0) bgt 1f asl r1 add r0,r1 mov (r1),r1 2: tst r2 ble 1f movb (r1)+,(r4)+ beq 2f dec r2 br 2b 2: dec r4 1: movb $' ,(r4)+ dec r2 bit $3,r2 bne 1b cmp r2,$256. bge 1f tst r2 bgt 1b 1: jmp retrn iargc.: temp .+2 clr temp mov *argp,temp+2 jmp retrn before it. */ p0 = 0; q1 = pstate[i+1]; for( q0=pstate[i]; q0pitem) ) < NTBASE ) goto standard; if( p0 == 0 ) p0 = p1; else if( p0 != p1 ) goto standard; } /* now, all items have dots before p0 */ if( cdebug ){ settty(); printf("state %d, pre-nonterminal %s\n",i,nontrst[p0-NTBASE].name); } for( j=0; j .even rfin: .=.+2 rfout: .=.+2 / fortran random number generator. / either single or double prec. .globl rand., srand. .globl retrn srand.: value .+2 mov *2(r3),seed1 inc first jmp retrn rand.: value .+2 tst first bne 1f sys time mov r1,seed1 inc first 1: mov seed1,r1 jsr pc,ran mov r1,seed1 seti setd movif r0,fr0 divf $44000,fr0 movf fr0,value jmp retrn ran: mpy $13077.,r1 add $6925.,r1 mov r1,r0 bic $100000,r0 rts pc .bss first: .=.+2 seed1: .=.+2 value: .=.+8 cdebug )printf("states %d and %d have equal positions\n",i,j); q1 = pstate[j+1]; for( q0=pstate[j]; q0pitem) != p0 ) goto nextj; } /* we have a match with state j ! */ tystate[i] = -j; zzacsave =+ tystate[j]; zznsave++; wrstate(i); return; nextj: ; } standard: tystate[i] = 2; wrstate(i); size = 0; for( p0=1; p0<=nterms; ++p0 ) if( (p1=temp1[p0])!=0 ) { arrval( TESTACT+trmse/ / / openr, openw-- / / call open(r|w) (string, iunit) / or, / call open(r|w) (argno, iunit) / where argno is an argument number (0 is command name) .globl openr. .globl openw. .globl utable .globl btable .globl ftable .globl getbuf .globl fopen .globl fcreat openr.: temp .+2 mov pc,-(sp) br 1f openw.: temp .+2 clr -(sp) 1: mov 4(r3),r1 mov 2(r1),r1 jsr r5,chkunit tstb utable(r1) beq 1f jsr r5,rerr; 101. sys exit 1: jsr r5,getbuf mov 2(r3),r0 mov 2(r0),r0 cmp r0,$32. bhi 1f cmp r0,targ.s; mv a.out getarg.o as nice.s; mv a.out nice.o as rand.s; mv a.out rand.o as setfil.s; mv a.out setfil.o as uio.s; mv a.out uio.o ar r /lib/libf.a rm *.o t[p0].value ); if( p1 < 0 ) arrval( REDUCACT - p1 ); else if( p1 == ACCEPTCODE ) arrval( ACCEPTACT ); else if( p1 == ERRCODE ) arrval( ERRACT ); else arrval( SHIFTACT + p1 ); size =+ 2; } if( lastred ) arrval( REDUCACT + lastred ); else arrval( ERRACT ); tystate[i] = size+1; /* store entry size in tystate */ zzacent =+ (size+1); return; } wrstate(i){ /* writes state i */ int j0,j1,s; struct item *pp, *qq; settty(); printf("\ns*argp bhi err asl r0 add argp,r0 br 2f 1: tst (sp)+ beq 1f movb $1,utable(r1) 26); goto out; } while((c = read(tbuf[0], tbuf+1, 512)) > 0) write(pbuf[0], tbuf+1, c); unlink(tfile); exit(0); } putc(c, tbuf); } ill: write(2, "Password file illformed\n", 24); out: unlink(tfile); bex: exit(1); } f = r5 .globl iget .globl env,si .globl succ .globl params params: jsr pc,iget mov (r0),r0 asl r0 mov env(f),r1 add r0,si(r1) jmp succ / / / fortran nice subroutine .globl nice. .globl retrn, temp nice.: temp .+2 mov $16.,r0 tst *2(sp) beq 1f mov 2(r3),r0 mov 2(r0),r0 1: sys nice jmp retrn 37 .byte -14,141,142,143,144,145,146,147 .byte 150,151,152,153,154,155,156,157 .byte 160,161,162,163,164,165,166,167 .byte 170,171,172,-14,-26,-14,176,-14 .data namedone:.byte 0 a.tmp1: a.tmp2: a.tmp3: .even curfb: -1;-1;-1;-1;-1;-1;-1;-1;-1;-1 obufp: outbuf symend: usymtab .bss curfbr: .=.+10. savdot: .=.+6 bufcnt: .=.+2 hshsiz = 1553. hshtab: .=2*hshsiz+. pof: .=.+1 wordf: .=.+1 fin: .=.+1 fbfil: .=.+1 fileflg:.=.+1 errflg: .=.+1 ch: .=.+1 .even symbolb:bob: S%d <- S%d over S%d; b=%d,h=%d,w=%d .ds %d \*(%d\*(%d.ds %d "\*(%d\*(%d\*(%d. b:b shift b: S%d <- S%d vert %d S%d vert %d; b=%d,h=%d,w=%d . e:eb: S%d <- S%d S%d; b=%d,h=%d,w=%d .ds %d \*(%d\*(%d . numb: %s %d . shift: %d . sqrt: S%d <- S%d;b=%d,h=%d,w=%d .ds %d \e|\*(%d . S%d <- %c pile of: S%d;h=%d b=%d,w=%d .ds %d \ \*(%d\ \*(%d\ \*(%d\ .ds %d \*(%d\*(%d\*(%d. shift2 s%d <- %d %d %d h=%d,b=%d,w=%d s==STATIC) { dsym->hoffset = isn; printf(".bss\nL%d:.=.+%o\n.text\n", isn++, rlength(dsym)); } else if (dsym->hclass==REG) { if ((type&TYPE)>CHAR && (type&XTYPE)==0 || (type&XTYPE)>PTR || regvar<3) error("Bad register %o", type); dsym->hoffset = --regvar; } syntax: return(elsize); } getype() { register int o, type; register struct hshtab *ds; switch(o=symbol()) { case TIMES: return(getype()< 2: .even / / wc: mov r1,-(sp) mov r2,-(sp) mov r3,-(sp) clr r3 1: cmp r3,nbuf bge 1f mov r3,r2 asl r2 tst w1(r2) ble 2f mov r3,r1 ashc $9.,r1 bic $777,r1 add $b1,r1 jsr pc, goto getf; case NAME: defsym = ds = csym; type = 0; ds->ssp = dimp; getf: switch(o=symbol()) { case LPARN: if (xdflg) { xdflg = 0; ds = defsym; declare(ARG1, 0, 0, 0); defsym = ds; xdflg++; } else if ((o=symbol()) != RPARN) goto syntax; type = type<ssp&0377; oname); } ont; collect/t/cont; collect/u/cont; collect/v/cont; collect/w/cont; collect/x/cont; collect/y/cont; collect/z/cont; collect/A/cont; collect/B/cont; collect/C/cont; collect/D/cont; collect/E/cont; collect/F/cont; collect/G/cont; collect/H/cont; collect/I/cont; collect/J/cont; collect/K/cont; collect/L/cont; collect/M/cont; collect/N/cont; collect/O/cont; collect/P/cont; collect/Q/cont; collect/R/cont; collect/S/cont; collect/T/cont; collect/U/cont; collect/V/cont; collect/W/cont; collect/X/cont; collect/Y/c/ / / a6 -- pdp-11 assembler pass 1 opline: mov r4,r0 jsr r5,betwen; 0; 200 br 1f cmp r0,$'< bne xpr jmp opl17 xpr: jsr pc,expres add $2,dot rts pc 1: movb (r4),r0 cmp r0,$24 beq xpr jsr r5,betwen; 5; 36 br xpr mov r0,-(sp) jsr pc,readop mov (sp)+,r0 asl r0 jmp *1f-12(r0) 1: opl13 / map fop freg,fdst to double opl6 opl7 opl10 opl11 opl13 / map fld/fst to double opl13 opl13 / map fop fsrc,freg to double opl15 opl16 opl17 opl20 opl21 opl22 opl23 xpr opl25 opl26 opl27tate %d\n",i); qq = pstate[i+1]; for( pp=pstate[i]; pp0 ){ /* shift, error, or accept */ if( j1 == ACCEPTCODE ) printf( "accept" ); else if( j1 == ERRCODE ) printh tst r1 bne 1f mov r0,r4 bis $400,r4 jsr pc,putw inc numval br 1b 1: mov $-1,r4 jsr pc,putw mov $'<,r4 tst (sp)+ rts pc rsch: jsr pc,rch cmp r0,$'\e beq 4f cmp r0,$'\n beq 4f clr r1 cmp r0,$'\\ bne 3f jsr pc,rch mov $schar,r2 1: cmpb (r2)+,r0 beq 2f tstb (r2)+ bpl 1b rts pc 2: movb (r2)+,r0 clr r1 rts pc 3: cmp r0,$'> bne 1f inc r1 1: rts pc 4: jsr r5,error; '< jmp aexit schar: .byte 'n, 012 .byte 't, 011 .byte 'e, 004 .byte '0, 000 .byte 'r, 015 .byte 'a, 006 / / / a8 -- pdp-11 assembler pass 1 chartab: .byte -14,-14,-14,-14,-02,-14,-14,-14 .byte -14,-22, -2,-14,-14,-22,-14,-14 .byte -14,-14,-14,-14,-14,-14,-14,-14 .byte -14,-14,-14,-14,-14,-14,-14,-14 .byte -22,-20,-16,-14,-20,-20,-20,-12 .byte -20,-20,-20,-20,-20,-20,056,-06 .byte 060,061,062,063,064,065,066,067 .byte 070,071,-20,-02,-00,-20,-14,-14 .byte -14,101,102,103,104,105,106,107 .byte 110,111,112,113,114,115,116,117 .byte 120,121,122,123,124,125,126,127 .byte 130,131,132,-20,-24,-20,-20,1f( "error" ); else printf( "shift %d", j1 ); } else printf("reduce %d",-j1 ); } /* output the final production */ if( lastred ) printf("\n\t. reduce %d\n\n", lastred ); else printf("\n\t. error\n\n" ); ret: settab(); } % r@& . 7 9  9 /9R~ \ z,9@~ \ 94~ \ KX*vu5 5 5X r e8A! y 5 pЁ5  @tU5 @tU @tU p +L9 /9 /9 /9 /(: /L: /l: /)~i)e~)x)er)l)ef)? b)e\)X)Li5 5 r eT8A! y: /: /: /: /;   _h@t6t-+_h%_h@tt+;  jsr r5,error; '* 1: jsr pc,addres add r0,dot rts pc errora: jsr r5,error; 'a rts pc checkreg: cmp r2,$7 bhi 1f cmp r3,$1 beq 2f cmp r3,$4 bhi 2f 1: jsr pc,errora 2: rts pc errore: jsr r5,error; 'e rts pc checkrp: cmp r4,$') beq 1f jsr r5,error; ') rts pc 1: jsr pc,readop rts pc /* fake portable I/O routines, for those sites so backward as to not have the port. library */ int cin, cout; extern int fin, fout; copen( s, c ) char *s; { int f; if( c == 'r' ){ fin = f = open( s, 0 ); } else if( c == 'a' ){ f = open( s, 1 ); seek( f, 0, 2 ); } else { /* c == w */ f = creat( s, 0666 ); } return( f ); } cflush(x){ /* fake! sets file to x */ flush(); fout = x; } system(){ error( "The function \"system\" is called" ); } ccll; skip/H/coll; skip/I/coll; skip/J/coll; skip/K/coll; skip/L/coll; skip/M/coll; skip/N/coll; skip/O/coll; skip/P/coll; skip/Q/coll; skip/R/coll; skip/S/coll; skip/T/coll; skip/U/coll; skip/V/coll; skip/W/coll; skip/X/coll; skip/Y/coll; skip/Z/coll; collect/'/cont; collect/-/hyphen; collect/ /out; collect/a/cont; collect/b/cont; collect/c/cont; collect/d/cont; collect/e/cont; collect/f/cont; collect/g/cont; collect/h/cont; collect/i/cont; collect/j/cont; collect/k/cont; collect/l/cont; collect/m/cont; colle: cmp r3,$24 / register type bne 1f jsr pc,checkreg clr r0 rts pc 1: add $2,dot clr r0 rts pc alp: jsr pc,readop jsr pc,expres jsr pc,checkrp jsr pc,checkreg cmp r4,$'+ bne 1f jsr pc,readop clr r0 rts pc 1: mov $2,r0 rts pc amin: jsr pc,readop cmp r4,$'( beq 1f mov r4,savop mov $'-,r4 br getx 1: jsr pc,readop jsr pc,expres jsr pc,checkrp jsr pc,checkreg clr r0 rts pc adoll: jsr pc,readop jsr pc,expres add $2,dot clr r0 rts pc astar: jsr pc,readop cmp r4,$'* bne 1fose(i){ close(i); } cexit(i){ flush(); exit(); } mov l(r1),r3 sub a(r1),r3 /L-A cmp r2,r3 ble 1f jsr pc,release mov r2,r0 jsr pc,allocate mov 4(sp),r0 / 1: mov a(r1),w(r1) /rewind w pointer mov a(r0),-(sp) / 4: mov (sp),0f mov afi,r0 sys seek;0:.. ;0 /set input pointer cmp r2,$512. ble 2f mov $512.,r3 /# output this time mov r3,0f mov r3,3f add r3,(sp) sub r3,r2 /# left to output br 1f / 2: mov r2,0f mov r2,3f mov r2,r3 clr r2 / 1: mov afi,r0 sys read;b1;0:.. bes bad cmp r0,r3 bne bad mov afout,r0 mov (r1),0f add r3,(r1) sys2J` & 6  v2w d2 BNf  |4et7A  |  R " <' p Fw*2w 2 @t5t@t5^Vw1w 1 >/ (4 p/N `/ %  ` x4 3  4 4 p5 5 P/ p/5 3  H&5)5 6  ff 2%  -5ff 2e05  d3  N5 `5 s55 P/ p/w0w 0Ƅ >//&w0w 0 @ =||((lp&03)==0))return(0); if((lt>>3) == (lp>>3)){ return(lt&03); } if((lt>>3) > (lp>>3)) return(3); return(1); } int cdebug 0; /* debug for common states */ wract(i){ /* output state i */ /* temp1 has the actions, lastred the default */ int p, p0, p1, size; int ntimes, tred, count, j; struct item *q0, *q1; /* find the best choice for lastred */ lastred = 0; ntimes = 0; for( j=1; j<=nterms; ++j ){ if( temp1[j] >= 0 ) continue; if( temp1[j]+lastred == 0 ) continue; /* co/ / / cmplx fortran function .globl cmplx. .globl dcmplx. .globl retrn .globl temp .globl rerr dcmplx.:temp .+2 setd br 1f cmplx.: temp .+2 setf 1: cmp *2(sp),$2 bne 1f mov r3,r1 tst (r1)+ movf *(r1)+,r0 movf *(r1)+,r1 mov $temp,r1 movf r0,(r1)+ movf r1,(r1)+ jmp retrn 1: jsr r5,rerr; 6. / / / cexp fortran function .globl cexp. .globl rval8p .globl retrn .globl temp .globl rerr .globl exp .globl sin .globl cos cexp.: temp rval8p; 2 .+2 setf movf (sp)+,r0 jsr pc,exp bes 1f movf r0,temp movf (sp),r0 jsr pc,sin mulf temp,r0 movf r0,temp+4 movf (sp)+,r0 jsr pc,cos mulf temp,r0 movf r0,temp jmp retrn 1: jsr r5,rerr; 5. turn(1); return(0); } numb(str) char *str; { /* convert to integer */ int k; for (k=0; *str >= '0' && *str <= '9'; str++) k = k*10 + *str - '0'; return(k); } broken(str, nlin) { switch(ylet(str,nlin)) { case 'n': case 'N': return(1); } return(0); } ylet (str, k) char *str; { k++; while (*str &&k--) str++; return(*--str); } span(str, k) { switch(ylet(str,k)) { case 's': case 'S': return(1); } return(0); } maknew(str) char *str; { /* make two numerical fields */ ine error5 cmp r0,$buffer+nword+nword blo 1b mov (sp)+,r0 rts pc mtrack: mov (r0)+,(r5) jsr pc,flag rts r0 flag: bit $100200,tccm beq flag blt error6 rts pc flag1: bit $100200,tccm beq flag1 bge 1f tst tcst bge error7 add $2,(sp) 1: rts pc comobv: mov r0,r4 bic $!777,r0 asl r0 mov cobtab(r0),r0 swab r0 clr r1 ror r0 rol r1 asl r0 asl r0 rol r1 swab r4 bic $177401,r4 bis cobtab(r4),r0 rts pc bcomobv: mov r0,r2 bic $!70,r2 mov r0,r3 mov $6.,r4 1: asr r3 dec r4 bne 1d Missing temp fileIllegal initialization.bss L%d:.=.+4 .text mov%c r%d,r0 mov%c r%d,%c(sp) tst%c r%d No code table for op: %sNo code table for op %dmov%c r%d,r%d mov%c r%d,r%d Register overflow: simplify expressionr%d*tst r%d adcsbc r%d """""Hh(FTNTNNNt*+,HIJB@@B@@L\\nnh "56&$L%d(r%d)r%dCompiler error: pname(r%d)%c%c(r%d)pname called illegallyIllegal use of re?{xuJ q | z * inp1L24L20004L27L28 _font"~fontp1p2_shift"~shiftp1L30L32 _sqrt"~sqrthinpsp2L34L35 L36 L37L20006L40 _lpile"0L10005 L10006 L69L62>L65L59~lpile0binlist2hitypebhgetvec (n) { return (alloc(n)); } alloc(); while(a != '\n') { c->p1 = d = alloc(); c = d; l: c->ch = a; if(a == '\0') { if(fin) { close(fin); fin = 0; a = getchar(); goto l; } rfail = 1; break; } a = getchar(); } b->p2 = c; if(rfail) { delete(b); b = 0; } return(b); } syspot(string) struct node *string; { register struct node *a, *b, *s; s = string; if (s!=0) { a = s; b = s->p2; while(a != b) { a = a->p1; putchar(a->ch); } } putchar('\n'); } strstr(s) char s[]; { inti = r3 .globl putcall,iget,kput,putdec .globl generate,succ .globl decimal decimal: mov $1f+1,r0 jsr pc,putcall jsr pc,iget mov (r0),r0 jsr pc,kput jmp succ 1: mov (i),r0 jsr pc,putdec jmp generate 2.,b1e(r2) / set end clr w1(r2) /clear w mov (sp)+,r0 sub b1s(r2),r0 add r1,r0 / set r0=byte addr in buffer mov (sp)+,r1 mov (sp)+,r3 rts pc / / / routine to wc a buffer / mov buffer addr,r2 / mov buffer addr+6,r1 beginning of buffer / jsr pc,clean / clean: mov r0,-(sp) mov b1s(r2),0f mov afout,r0 sys seek;0:..;0 mov r1,0f sys write;0:..;512. clr w1(r2) /clear w mov (sp)+,r0 rts pc / / routine to get buffer addr of byte whose disc / addr is in r0 - also returns addr of write / flag for buffb = isn++; brklab = isn++; label(o3 = isn++); statement(0); label(contlab); contlab = o1; if ((o=symbol())==KEYW && cval==WHILE) { cbranch(tree(), o3, 1); label(brklab); brklab = o2; goto semi; } goto syntax; case CASE: o1 = conexp(); if ((o=symbol())!=COLON) goto syntax; if (swp==0) { error("Case not in switch"); goto stmt; } if(swp>=swtab+swsiz) { error("Switch table overflow"); } else { swp->swlab = isn; (swp++)->swval =.globl allocate,putword,putchar .globl iget .globl succ .globl table table: mov $10,r0 jsr pc,allocate mov r1,-(sp) clr r0 jsr pc,putword jsr pc,putword jsr pc,putword jsr pc,putchar jsr pc,iget mov (sp)+,(r0) jmp succ dy ~ { x w t q n k h e b v s p m j g d a u r o l i f c ` _ \ Y V S P M J ^ [ X U R O L I ] Z W T Q N K H G D A > ; 8 5 2 F C @ = : 7 4 1 E B ? < 9 6 3 0 / , ) & #   . + ( % "    - * ' o1; label(isn++); } goto stmt; case SWITCH: o1 = brklab; brklab = isn++; np = pexpr(); chkw(np); rcexpr(block(1,RFORCE,0,0,np), regtab); pswitch(); brklab = o1; return; case DEFAULT: if (swp==0) error("Default not in switch"); if ((o=symbol())!=COLON) goto syntax; label(deflab = isn++); goto stmt; case FOR: o1 = contlab; o2 = brklab; contlab = isn++; brklab = isn++; if (o=forstmt()) goto syntax; label(brklab); contlab = i = dfile(temp[t1].beg); if((ct = temp[t1].ct) >= 8) { ct = 8; *curf = -1; } else { *curf = '\t'; } put(i,temp[t1].beg,ct); put(i,curf,curfl); if(cross) put(i,curs,cursl); conf(lno,4,lbuf); put(i,lbuf,5); break; case 2: i = dfile(curf+1); put(i,curf+1,curfl-1); if(cross) put(i,curs,cursl); else { conf(lno,4,lbuf); put(i,lbuf,5); } if((ct = temp[t1].ct) >= 8) { put(i,temp[t1].beg,8); put(i,&mone,1); PARN) { /* incr part */ peeksym = -1; statement(0); branch(contlab); return(0); } l = contlab; contlab = isn++; st = tree(); if ((o=symbol()) != RPARN) return(o); ss = space; if (space-treebase > forsps) { error("Expression too large"); space = &treebase[forsps]; } sp2 = savxpr; for (sp1=treebase; sp1hclass>0) { error("Redefinition"); goto stmt; } o1->hclass = STATIC; o1->htype = ARRAY; if (o1->hoffset==0) o1->hoffset = isn++; label(o1->hoffset); if ((peeksym=symbol())==RBRACE) return; goto stmt; } } peeksym = o; rcexpr(tree(), efftab); semi: if ((o=symbol())==SEMI) return; syntax: error("Statement synturn(0); } flsh(fil) { extern tp[],utmp; if(optr[fil] <= 0) return(optr[fil]); if(bct[fil]++ >= 128 && utmp == 0) { printf("Wraparound temp file %d\n",fil); dexit(); } nflush++; if(write(tp[fil],obuf[fil],optr[fil]) != optr[fil]) return(-1); optr[fil] = 0; return(0); } nt point; char *p, *q; p = str; for (point=0; *str; str++) if (*str=='.') point=1; if (!point && *(str-1)== '$') return(0); for(; str>p; str--) if ( (point && *str == '.') || (!point && digit(*(str-1)) ) ) break; if (!point && p==str) /* not numerical, don't split */ return(0); p= str; q = exstore; while (*exstore++ = *str++); *p = 0; return(q); } digit(x) { return(x>= '0' && x<= '9'); } settab(ncol, ilin) { int k, icol; printf(".ta "); for (icol = 0; icolname, cval); if (nel>nchstr) { strflg++; printf(".=.+%o\n", nel-nchstr); strflg = 0; nchstr = nel; } return(nchstr); } if (peeksym==RBRACE) return(ninit); initflg++; s = tree(); initflg = 0; switch(width) { case 1: printf(".byte "); if (s->op != CON) goto bad; case 2: if (s->op==CON) { printf("%o\n", s->value) case SFCON: case CON: printf("$"); psoct(p->value); return; case FCON: printf("L%d", p->value); return; case NAME: i = p->offset; if (flag==2) i =+ 2; if (i) { psoct(i); if (p->class!=OFFS) putchar('+'); if (p->class==REG) regerr(); } switch(p->class) { case SOFFS: case XOFFS: pbase(p); case OFFS: printf("(r%d)", p->regno); return; case EXTERN: case STATIC: pbase(p); return; case REG: printf("r%d", p->nloc); return; } ellect/1/cont; collect/2/cont; collect/3/cont; collect/4/cont; collect/5/cont; collect/6/cont; collect/7/cont; collect/8/cont; collect/9/cont; collect/0/cont; collect/./cont; collect/_/cont; collect/ /out; skip/'/agobl; skip/"/agobl; skip/op==FCON || s->op==SFCON) { if (type==STRUCT) { ninit =+ 3; goto prflt; } goto bad; } rcexpr(block(1,INIT,0,0,s), regtab); break; case 4: sf = fcval; printf("%o;%o\n", sf); goto flt; case 8: prflt: printf("%o;%o;%o;%o\n", fcval); flt: if (s->op==FCON || s->op==SFCON) break; default: bad: bxdec(); } return(++ninit); } bxdec() { error("Inconsistent external initialization"); } statement(d) { register o, o1, o2; int o3, o4; structrror("Compiler error: pname"); return; case AMPER: putchar('$'); p = p->tr1; if (p->op==NAME && p->class==REG) regerr(); goto loop; case AUTOI: printf("(r%d)%c", p->nloc, flag==1?0:'+'); return; case AUTOD: printf("%c(r%d)", flag==1?0:'-', p->nloc); return; case STAR: p = p->tr1; putchar('*'); goto loop; } error("pname called illegally"); } regerr() { error("Illegal use of register"); } pbase(ap) struct tnode *ap; { register struct tnode *p; p = ap; if (p->class=ength(ds) / nel; /* * Pretend a structure is kind of an array of integers. * This is a kludge. */ if (basetype==STRUCT) { nel =* realwidth/2; width = 2; } if ((peeksym=symbol())==COMMA || peeksym==SEMI) { printf(".comm\t_%.8s,%o\n",ds->name,(nel*width+ALIGN)&~ALIGN); return; } ninit = 0; printf(".data\n_%.8s=.\n", ds->name); if ((o=symbol())==LBRACE) { do ninit = cinit1(ds, basetype, width, ninit, nel); while ((o=symbol())==COMMA); if (o!=RBRACE) peeksym = o; } else { pe; > A 7 C F 2 5 D G " % ( + ' " %   7 : ) , / =SOFFS || p->class==STATIC) printf("L%d", p->nloc); else printf("_%.8s", &(p->nloc)); } xdcalc(ap, nrleft) struct tnode *ap; { register struct tnode *p; register d; p = ap; d = dcalc(p, nrleft); if (d<20 && p->type==CHAR) { if (nrleft>=1) d = 20; else d = 24; } return(d); } dcalc(ap, nrleft) struct tnode *ap; { register struct tnode *p, *p1; if ((p=ap)==0) return(0); switch (p->op) { case NAME: if (p->class==REG) return(9); case AMPER: case FCON: case AUTOI: case AL209 L210 L211+L212/~label lL2145_popstk" L10057( L215 L216 L219 L221 ~popstk aL220:L20072 L222EL223V~error fsp1p2p3 p4 p5p6_flush _fout L225b~psocth ansignnL227~ L228g# /* C compiler */ #include "c0h.c" extdef() { register o, elsize; int type, sclass; register struct hshtab *ds; if(((o=symbol())==EOF) || o==SEMI) return; peeksym = o; type = INT; sclass = EXTERN; xdflg = FNDEL; if ((elsize = getkeywords(&sclass, &type)) == -1 && peeksym!=NAME) goto syntax; if (type==STRUCT) blkhed(); do { defsym = 0; decl1(EXTERN, type, 0, elsize); if ((ds=defsym)==0) return; funcsym = ds; ds->hflag = FNDEL; printf(".globl _%.8s\n", ds->name); xdflg UTOD: return(12); case CON: case SFCON: return(p->value==0? 4:(p->value==1?5:8)); case STAR: p1 = p->tr1; if (p1->op==NAME || p1->op==CON) return(12); } return(p->degree<=nrleft? 20: 24); } notcompat(ap, ast, op) struct tnode *ap; { register at, st; register struct tnode *p; p = ap; at = p->type; st = ast; if ((at&07)==STRUCT) at =& 077770; /* map to int */ if (st==0) /* word, byte */ return(at>1 & at<=07); if (st==1) /* word */ return(at>0 & at<=07); st =- 2; if ((at&0%7 te`  %7    7  ww Z@e5@e5 H r e.A! y0Zʋ  L%(ʕ  6ʕ    0 7&e e & %&  e&  &  e ?e%P   VeS Q  _ D &7>%7L7F_%$ 76707x($_%" %/= 0; if ((ds->type&XTYPE)==FUNC) { if ((peeksym=symbol())==LBRACE || peeksym==KEYW) { funcblk.type = decref(ds->type); cfunc(ds->name); return; } } else cinit(ds); } while ((o=symbol())==COMMA); if (o==SEMI) return; syntax: error("External definition syntax"); errflush(o); statement(0); } cfunc(cs) char *cs; { register savdimp; savdimp = dimp; printf(".text\n_%.8s:\n", cs); if (stflg) printf("~~%.8s:\n", cs); declist(ARG); regvar = 5; retlab = isn++; if ((peeksym07L41L42 L43*L44J_lintyp"L10008jL10009lL45L46L10010L47L48L49L20002L52L10011L54(L55L10012"L58_plength L10013TL59^L60 L62~_convert"L64L10014L10015cret L10019L72L74L77L70.L73L75L76~convertnpt/L61RL67L68L69rL20005L71}L72L73L74*L75L200070L77\L79L81L82L10012L83L10013L84_cpyact"" L10014L85L10015L86 L89L93&L94_finact"L1L966_getchar _putchar L99VL100;L101hL102ZL103L104pL106L107L109cret ~fin = symbol()) != LBRACE) error("Compound statement required"); statement(1); printf("L%d:jmp cret\n", retlab); dimp = savdimp; } cinit(ds) struct hshtab *ds; { register basetype, nel, ninit; int o, width, realwidth; nel = 1; basetype = ds->type; /* * If it's an array, find the number of elements. * "basetype" is the type of thing it's an array of. */ while ((basetype&XTYPE)==ARRAY) { if ((nel = dimtab[ds->ssp&0377])==0) nel = 1; basetype = decref(basetype); } realwidth = width = l_debug _defsym _funcsym _xdflg _proflg _stflg _csym _cval _fcval _nchstr _nerror _paraml _parame _strflg _osleft _mosflg _initflg _inhdr _dimtab _obuf _sbuf _dimp _regvar _funcblk eksym = o; ninit = cinit1(ds, basetype, width, 0, nel); } /* * Above we pretended that a structure was a bunch of integers. * Readjust in accordance with reality. * First round up partial initializations. */ if (basetype==STRUCT) { if (o = 2*ninit % realwidth) printf(".=.+%o\n", realwidth-o); ninit = (2*ninit+realwidth-2) / realwidth; nel =/ realwidth/2; } /* * If there are too few initializers, allocate * more storage. * If there are too many initializers, extend * the decla tnode *np; stmt: switch(o=symbol()) { case EOF: error("Unexpected EOF"); case SEMI: case RBRACE: return; case LBRACE: if (d) { o2 = blkhed() - 6; if (proflg) { printf("mov\t$L%d,r0\n", isn); printf("jsr\tpc,mcount\n"); printf(".bss\nL%d:.=.+2\n.text\n", isn++); } printf("jsr r5,csv\n"); if (o2==2) printf("tst -(sp)\n"); else if (o2 != 0) printf("sub $%o,sp\n", o2); } while (!eof) { if ((o=symbol())==RBRACE) return; peeksym = o; statement(llect/u/cont; collect/v/cont; collect/w/cont; collect/x/cont; collect/y/cont; collect/z/cont; collect/A/cont; collect/B/cont; collect/C/cont; collect/D/cont; collect/E/cont; collect/F/cont; collect/G/cont; collect/H/cont; collect/I/cont; collect/J/cont; collect/K/cont; collect/L/cont; collect/M/cont; collect/N/cont; collect/O/cont; collect/P/cont; collect/Q/cont; collect/R/cont; collect/S/cont; collect/T/cont; collect/U/cont; collect/V/cont; collect/W/cont; collect/X/cont; collect/Y/cont; collect/Z/cont; cored size for benefit of "sizeof" */ if (ninitnel) { if ((ds->type&XTYPE)==ARRAY) dimtab[ds->ssp&0377] = ninit; nel = ninit; } /* * If it's not an array, only one initializer is allowed. */ if (ninit>1 && (ds->type&XTYPE)!=ARRAY) error("Too many initializers"); if (((nel&width)&ALIGN)) printf(".even\n"); } cinit1(ds, type, awidth, aninit, nel) struct hshtab *ds; { float sf; register struct tnode *s; register width, n0); } error("Missing '}'"); return; case KEYW: switch(cval) { case GOTO: if (o1 = simplegoto()) branch(o1); else dogoto(); goto semi; case RETURN: doret(); goto semi; case IF: np = pexpr(); o2 = 0; if ((o1=symbol())==KEYW) switch (cval) { case GOTO: if (o2=simplegoto()) goto simpif; cbranch(np, o2=isn++, 0); dogoto(); label(o2); goto hardif; case RETURN: if (nextchar()==';') { o2 = retlab; goto simpif; } actiL111$L112L113L20009L10023L10024L116L117L118L119L200114L121L122 L10026L10027L141^L140NL142nL138*L136L137L139<L143~~defin>cpcptL124~L125fL126L123zL128L129?L130L131$L132L133L10028L144\L20012  if (stack->typ) writes("illegal function"); a1 = stack->p1; if (a1->typ!=5) writes("illegal function"); a1 = a1->p2; op = a1->p1; a3base = a3 = alloc(); a3->p2 = op->p2; op->p2 = 0; a1 = a1->p2; a2 = list->p2; f1: if (a1!=0 & a2!=0) goto f2; if (a1!=a2) writes("parameters do not match"); op = op->p1; goto f3; f2: a3->p1 = a4 = alloc(); a3 = a4; a3->p2 = and(a1); assign(a1->p1, eval(a2->p2, 1));/* recursive */ a1 = a1->p2; a2 = a2->p1; goto f1; f3: o; case 5: a = addr->p2->p1; delete(a->p2); a->p2 = value; return; } } >p1; if (e == 0) etc->p1 = 0; else etc->p1 = eval(e, 0); e = b->p2; if (e == 0) etc->p2 = 0; else { e = eval(e, 1); etc->p2 = strbin(e); delete(e); } goto badvanc; retard: a = back->p1; if (a == 0) { rfail = 1; goto fail; } list = a; back = list->p2; var = back->p2; str = var->p1; etc = var->p2; if (etc->p2) goto retard; if (var->typ == 1) { if (bextend(str, last) == 0) goto retard; goto adv0; } if (ubextend(str, last) == 0) goto retard; adv0: a = str->p2; adv01->typ == 0) { list->p1 = 0; if (rfail == 1) { a = 0; goto fail; } list = base; if (r == 0) next = last = 0; else { next = r->p1; last = r->p2; } goto adv1; } b = alloc(); list->p1 = b; list = b; badv1: list->p2 = back = alloc(); back->p1 = last; b = a->p2; c = a->typ; list->typ = c; if (c < 2) { back->p2 = eval(b, 1); goto badvanc; } last = list; str = alloc(); etc = alloc(); back->p2 = var = alloc(); var->typ = b->typ; var->p1 = str; var->p2 = etc; e = b-+... main.c2parser.c0zacc.c)zerr.c*zinit.ca.outmain.oparser.ozacc.ozerr.ozinit.o: if (a == last) next = 0; else next = a->p1; advanc: a = list->p1; if (a == 0) { a = alloc(); if (r == 0) { a->p1 = a->p2 = 0; goto fail; } b = r->p1; a->p1 = b; if (next == 0) { a->p2 = r->p2; goto fail; } while(1) { e = b->p1; if (e == next) { a->p2 = b; goto fail; } b = e; } } list = a; adv1: back = list->p2; var = back->p2; d = list->typ; if(d < 2) { if (var == 0) goto advanc; if (next == 0) goto retard; a = next; b = var->p1;p = execute(op); /* recursive */ if (op) goto f3; a1 = stack->p1->p2; op = a1->p1; a3 = a3base; stack->p1 = op->p2; stack->typ = 1; op->p2 = a3->p2; f4: a4 = a3->p1; free(a3); a3 = a4; a1 = a1->p2; if (a1 == 0) goto advanc; assign(a1->p1, a3->p2); goto f4; case 11: case 10: case 9: case 8: case 7: a1 = and(stack); stack = pop(stack); a2 = and(stack); a3 = doop(op, a2, a1); delete(a1); delete(a2); stack->p1 = a3; stack->typ = 1; goto advanc; case 15:,...$dextern&y0.c(y1.cKy2.c1y3.c#y4.cy5.cl.outy0.oy1.oy2.oy3.oy4.oy5.oa.out e = var->p2; while(1) { if (a->ch != b->ch) goto retard; if (b == e) goto adv01; if (a == last) goto retard; a = a->p1; b = b->p1; } } str = var->p1; etc = var->p2; str->p1 = next; str->p2 = 0; c = etc->p2; if (var->typ == 1) { d = bextend(str, last); if (d == 0) goto retard; if (c == 0) goto adv0; while(1) { c =- d; if (c == 0) goto adv0; if (c < 0) goto retard; d = bextend(str, last); if (d == 0) goto retard; } } if (c = a1 = copy(list->p2); a2 = 1; goto l3; case 14: a1 = list->p2; a2 = 0; l3: stack = push(stack); stack->p1 = a1; stack->typ = a2; goto advanc; } } doop(op, arg1, arg2) { register int a1, a2; a1 = arg1; a2 = arg2; switch (op) { case 11: return(div(a1, a2)); case 10: return(mult(a1, a2)); case 8: return(add(a1, a2)); case 9: return(sub(a1, a2)); case 7: return(cat(a1, a2)); } return(0); } execute(e) struct node *e; { register struct node *r, *b, *c; struct node *[], yyr1[], yyr2[], yyact[], yypact[]; auto int *ps, s[_maxdepth]; auto int ac, n, *p; yystate = 0; yychar = -1; yynerrs = 0; yyerrflag = 0; ps= &s[0]-1; yypv= &yyv[0]-1; stack: /* put a state and value onto the stack */ if( yydebug ) printf( "state %d, value %d, char %d\n",yystate,yyval,yychar ); *++ps = yystate; *++yypv = yyval; newstate: /* set ap to point to the parsing actions for the new state */ p = &yyact[ yypact[yystate+1] ]; actn: /* get= 0) { if(d==3 & next!=0) { str->p2 = last; goto adv0; } goto advanc; } while(c--) if (ubextend(str, last) == 0) goto retard; goto adv0; fail: list = base; goto f1; fadv: free(back); b = list->p1; free(list); if (b == 0) return(a); list = b; f1: back = list->p2; var = back->p2; if (list->typ < 2) { delete(var); goto fadv; } str = var->p1; etc = var->p2; if (a != 0 & etc->p1 != 0) { if (str->p2 == 0) { free(str); str = 0; } assign(etc->p1, copy(str)); } m, *ca, *d, *a; r = e->p2; lc = e->ch; switch (e->typ) { case 0: /* r g */ a = r->p1; delete(eval(r->p2, 1)); goto xsuc; case 1: /* r m g */ m = r->p1; a = m->p1; b = eval(r->p2, 1); c = search(m, b); delete(b); if (c == 0) goto xfail; free(c); goto xsuc; case 2: /* r a g */ ca = r->p1; a = ca->p1; b = eval(r->p2, 0); assign(b, eval(ca->p2, 1)); goto xsuc; case 3: /* r m a g */ m = r->p1; ca = m->p1; a = ca->p1; b = eval(r->p2, 0); d = search(m, b->p2d p  ~ | !  |  c = j f   z C } n  }   \!  f  } x { B y  2 n LOPS  'M8 N=@Cp) o& +MK c  *MB =  'M88)  'wD [^MPSV)  *MX b &M0J) & &M  &M$#&), M  Uif (str) free(str); free(etc); free(var); goto fadv; } ); if (d == 0) goto xfail; c = eval(ca->p2, 1); if (d->p1 == 0) { free(d); assign(b, cat(c, b->p2)); delete(c); goto xsuc; } if (d->p2 == b->p2->p2) { assign(b, c); free(d); goto xsuc; } (r=alloc())->p1 = d->p2->p1; r->p2 = b->p2->p2; assign(b, cat(c, r)); free(d); free(r); delete(c); goto xsuc; } xsuc: if (rfail) goto xfail; b = a->p1; goto xboth; xfail: rfail = 0; b = a->p2; xboth: if (b == 0) { return(e->p1); } b = eval(b, 0); if (b == lookr movb r0,(r1)+ cmp r0,$'# bne 1b sub $2,r1 cmp r1,r4 blo 2b br 1b 1: clrb (r1) cmp r1,r4 blos start mov $1,tapa mov $-6144.,wc jsr pc,tread clr r1 1: mov r1,r2 mov r4,r0 2: cmpb (r0)+,(r1) bne 2f tstb (r1)+ bne 2b br 1f 2: mov r2,r1 add $64.,r1 cmp r1,$12288. blo 1b jsr pc,rew br start 1: mov 44.(r2),tapa mov 38.(r2),r0 inc r0 clc ror r0 neg r0 mov r0,wc clr r0 1: clr (r0)+ cmp r0,sp blo 1b jsr pc,tread jsr pc,rew br callout tapa: 0 wc: 0 ba: 0 name = ..-32. #include "sno.h" /* * sno4 */ and(ptr) struct node *ptr; { register struct node *a, *p; p = ptr; a = p->p1; if (p->typ == 0) { switch (a->typ) { case0: case 0: a->typ = 1; case 1: goto l1; case 3: flush(); return(syspit()); case 5: a = a->p2->p1; goto l1; case 6: return(binstr(nfree())); } writes("attempt to take an illegal value"); goto case0; l1: a = copy(a->p2); } return(a); } eval(e, t) struct node *e; { struct node *list, *a2, *a3, *a4, *a3base; et) return(0); if (b == lookfret) { rfail = 1; return(0); } if (b->typ!=2) writes("attempt to transfer to non-label"); return(b->p2); } assign(adr, val) struct node *adr, *val; { register struct node *a, *addr, *value; addr = adr; value = val; if (rfail == 1) { delete(value); return; } switch (addr->typ) { default: writes("attempt to make an illegal assignment"); case 0: addr->typ = 1; case 1: delete(addr->p2); addr->p2 = value; return; case 4: sysput(value); returnd1h1h2h3p1p2p3supshL772 L78\ L79f L80s L81y L82d L83 L84 L85 L86 register struct node *a1, *stack, *op; if (rfail == 1) return(0); stack = 0; list = e; goto l1; advanc: list = list->p1; l1: op = list->typ; switch (op) { default: case 0: if (t == 1) { a1 = and(stack); goto e1; } if (stack->typ == 1) writes("attempt to store in a value"); a1 = stack->p1; e1: stack = pop(stack); if (stack) writes("phase error"); return(a1); case 12: a1 = and(stack); stack->p1 = look(a1); delete(a1); stack->typ = 0; goto advanc; case 13: Z ] I O R U X [ J 9 ,68,16,74,17,75,18,76,19,77,50 ,92,51,93,52,94,53,95,54,96,73 ,47,87,47,98,47,116,131,117,132,133 ,47,-1,4,-1,20,-1,104,104,125,-1 ,105,-1,106,70,99,71,100,72,101,127 ,134,128,135,129,136,130,137,-1,97,-1 ,107,-1,108,-1,109,-1,115,93,116,-1 ,52,-1,7,-1,8,-1,10,-1,11,-1 ,12,-1,13,-1,51,-1,14,-1,102,-1 ,15,-1,53,95,117,-1,54,-1,55,-1 ,16,-1,17,-1,18,-1,19,25,84,30 ,85,42,88,43,89,44,90,45,91,103 ,123,-1,79,-1}; int yypgo[] {0,1,3,13,53,55,57,61,63,79 ,81,83,85,87,91,93,95,97,99,101 ,103,105,107,109,111,1138ii8Y ((89((9Y 99 IHH HI((9Y extern int yyline; /* input line number */ yyerror(s) char *s; { extern int yychar; extern char *yysterm[]; printf("\n%s", s ); if( yyline ) printf(", line %d,", yyline ); printf(" on input: "); if( yychar >= 0400 ) printf("%s\n", yysterm[yychar-0400] ); else switch ( yychar ) { case '\t': printf( "\\t\n" ); return; case '\n': printf( "\\n\n" ); return; case '\0': printf( "$end\n" ); return; default: printf( "%c\n" , yychar ); return; } } tcdt = 177350 tccm = 177342 tread: mov $tcdt,r0 mov $tccm,r1 for: mov $3,(r1) / rbn for 1: tstb (r1) bge 1b tst (r1) blt rev cmp tapa,(r0) beq rd bgt for rev: mov $4003,(r1) / rbn bac 1: tstb (r1) bge 1b tst (r1) blt for mov (r0),r2 add $5,r2 cmp tapa,r2 blt rev br for rd: mov ba,-(r0) / bus addr mov wc,-(r0) / wc mov $5,-(r0) / read 1: tstb (r1) bge 1b tst (r1) blt tread rts pc rew: mov $4003,tccm rts pc 8ii8Y ((89((9Y 99 IHH HI((9Y  the next action, and perform it */ n = ( ac = *p++ ) & 07777; /* n is the "address" of the action */ switch( ac>>12 ) { /* switch on operation */ case 1: /* skip on test */ if( yydebug && (yychar<0) ){ yychar = yylex(); printf( "character %d read\n", yychar ); } if( n != ( (yychar<0) ? ( yychar=yylex() ) : yychar ) ) ++p; goto actn; /* get next action */ case 2: /* shift */ yystate=n; yyval=yylval; yychar= -1; if( yyerrfb bic $!7,r3 bis r3,r2 mov r0,r3 mov $6.,r4 1: asl r3 dec r4 bne 1b bic $!700,r3 bis r3,r2 com r2 bic $!777,r2 rts pc bn: .=.+2 savr5: .=.+2 savsp: .=.+2 cobtab: .=.+1024. buffer: .=.+nword+nword 7    r epA! y.  7  w(& %2)> 2e&&  % P 6%(#%1  X R7NJ~%)%/%* $e%P<7 & & % .>?=& & % -@A=" * % +_F  _D  l 7 ~ z\7  y b \%/_7L%0 %_ &  _ _F H_f = r5 i = r3 .globl j,n .globl iget,jget .globl succ,fail .globl .px,.pxs .pxs: mov i,r0 tst (i)+ br 1f .px: jsr pc,iget 1: inc litc mov n(f),-(sp) mov j(f),-(sp) mov r0,-(sp) 2: tstb *(sp) beq 2f jsr pc,jget cmpb r0,*(sp) beq 1f tst (sp)+ mov (sp)+,j(f) mov (sp)+,n(f) jmp fail 1: clr n(f) inc (sp) inc j(f) br 2b 2: cmp (sp)+,(sp)+ mov (sp)+,n(f) jmp succ litc: 0 _dlag ) --yyerrflag; goto stack; /* stack new state */ case 3: /* reduce */ if( yydebug ) printf("reduce %d\n",n); ps =- yyr2[n]; yypv =- yyr2[n]; yyval=yypv[1]; yyactr(n); /* consult goto table to find next state */ for( p= &yygo[yypgo[yyr1[n]]]; *p != *ps && *p >= 0 ; p =+ 2 ) ; yystate = p[1]; goto stack; /* stack new state and value */ case 4: /* accept */ return(0); case 0: /* error ... attempt to resume parsing */ F  ӕ.7 % {|%7 ,7%[[_F7_F_F5/&_T60|_T __Fw ZV P7J% %  D-@w,7 (@w  7  & 1 " t5 7 ww 7   %' t%8 ww C _. 7 _47  yP 7PC J r eA! y  1 .+  %00,8252 ,4401,8256,4402,8253,4403,8254,12312,4398,8255,4399 ,8257,4400,8252,4401,8256,4402,8253,4403,8254,12313 ,4387,8249,4388,8248,4398,8255,4399,8257,4400,8252 ,4401,8256,4402,8253,4403,8254,12314,4353,8225,4354 ,8224,4355,8226,4356,8227,4357,8228,4358,8235,4359 ,8237,4360,8236,4361,8234,4362,8238,4367,8197,4368 ,8198,4369,8229,4370,8231,4371,8230,4372,8232,4373 ,8233,4374,8218,4375,8221,4376,8219,4377,8220,4386 ,8201,4389,8213,4390,8217,4391,8214,4392,8215,4393 ,8216,4394,8223,4396,8222,0,4353,8225,4354, switch( yyerrflag ){ case 0: /* brand new error */ ++yynerrs; yyerror( "syntax error" ); case 1: case 2: /* incompletely recovered error ... try again */ yyerrflag = 3; /* find a state where "error" is a legal shift action */ while ( ps >= s ) { for( p= &yyact[ yypact[*ps+1] ] ; (*p>>12) == 1 ; p =+ 2 ) /* search ps actions */ if( *p == 4352 ) goto found; /* the current ps has no shift onn "rb.orc.ord.ore.orf.org.orh.orx.o39L213L214L10048_ispow2 L235hL10043L236L20045L10046L249~delayprregtabletreepp1L251HL10055(L20046BL250DL252b_sdelay"L253rL254~sdelayappp1L10056L256_ncopy"L255L10057L257L20049~ncopyappL261L260~chkleaf:error", pop stack */ if( yydebug ) printf( "error recovery pops state %d, uncovers %d\n", *ps, ps[-1] ); --ps; --yypv; } /* there is no state on the stack with an error shift ... abort */ abort: return(1); found: /* we have a state with a shift on "error", resume parsing */ yystate = p[1] & 07777; goto stack; case 3: /* no shift yet; clobber input char */ if( yydebug ) printf( "error recovegnore erase label dlabel setsiz 2: erase: jsr pc,cerase br disp label: jsr pc,getc tst r0 bne label br disp dlabel: clr vtcol clr vtlc 1: jsr pc,getc tst r0 beq disp jsr pc,char br 1b setsiz: jsr pc,getc mov r0,cscale br disp point: jsr r5,collect 4 jsr pc,vtpoint br disp vect: jsr r5,collect 8. jsr pc,vtvect br disp frame: jsr pc,getc br disp circle: clr xory mov $cxy,r1 1: jsr pc,getc movb r0,(r1)+ cmp r1,$cxy+6 blo 1b jmp disp / temp mov radius,r1 mov r1,# define NUMA 14 # define NUMC 128 # define NUMS 3 # define SIZA 8 # define SIZC 2 # define SIZS 8 # define PTRI 509 # define CHARI 4000 # define PTRX 509 # define CHARX 4000 # define CONT 1 # define COLL 2 # define SAVE 3 # define OUT 4 # define ASYM 5 # define ASW 6 # define CSYM 7 # define CSW 8 # define INCL 9 # define DECL 10 # define SK2 11 # define SK 12 # define TABS 13 # define SEMI 14 # define SHARP 15 # define SKIP 0 # define COLLECT 1 # define SKIP2 2 #define CREATC 0644 ry discards char %d\n", yychar ); if( yychar == 0 ) goto abort; /* don't discard EOF, quit */ yychar = -1; goto newstate; /* try again in the same state */ } } } @w0w 0ue @ 5r@ b  55_N f  5e}- = u=w0w / %@ b@tt5  @w/w / 2\ 15 / 15 / /5 / 5 /@t%t N 5 / -l15 /5 /5 @ 5 / -D1<1 6 /  1 11 16 /e....46 /e10W6 /%. 58B0 lA / eu-@ vH @ vH qA / M4@ 5}+N A / %AA /%NA@ A / - A / A / ww  %r  f 42 57o%af 42 5& f R2% f 1 5@wPw > w,qw>w ,A w.w N 1ww   ww ~wpDep  p % 21w7 p7 pׯp- p p(wp7 p .wpeAByyaccpt(){} _pres _pfirst _pempty#_nnonter#_lastred#_ftable _foutput _arrndx _zzcwset#_zzpairs#_zzgoent#_zzgobes#_zzacent# _zzacsav#"_zznsave#$_zzclose#&_zzsrcon#(_zzrrcon#*_ctokn _lineno#,_peekc#._tstates _ntstate _mstates _clset _lkst ` _nlset#0_lsetsz#2_wsets ` _cwset _wssize#4_numbval _rflag#6_oflag#8_ndefout#:_nerrors#<_fatfl#>_machine 15,01114,01122,01107,03111,01120, 01103,01126,01105,01132,01104,01102,01123,01131, xxxxx,01106,01130,01101,01127,01112,01125,01113, 01060,03061,01062,01063,01064,01065,01066,01067, 01070,01071,01052,01055,00004,00005,00006,01055, 00007,01100,02050,02051,03133,02135,00010,00011, 01075,00012,03072,01053,xxxxx,04041,00013,01077, 02047,04174,xxxxx,01043,00014,01044,xxxxx,xxxxx, xxxxx,xxxxx,xxxxx,xxxxx,xxxxx,xxxxx,xxxxx,xxxxx, xxxxx,xxxxx,xxxxx,xxxxx,xxxxx,xxxxx,xxxxx,xxxxx, }; int ibuf[259]; int obuf[2(chdir ../util; tp 2cr *) >/dev/null : 0 mboot dd if=../util/mboot ibs=512 count=1 conv=sync : 1 hboot dd if=../util/hboot ibs=512 count=1 conv=sync : 2 thru 97 dd if=/dev/tap2 bs=512 skip=1 count=96 : 98 dd if=../util/hpuboot ibs=512 count=1 conv=sync : 99 dd if=../util/rpuboot ibs=512 count=1 conv=sync : 100 dd if=../util/rkuboot ibs=512 count=1 conv=sync : 101 thru 4099 dd if=/dev/rk0 bs=512 skip=1 count=3999 : 4100 dd if=../util/rkuboot ibs=512 count=1 conv=sync : 4101 thru 8099 dd if=/dev/rk1 bs=512 skd } z  | } break; case 46:{ yyval = numb(yypv[1]); } break; case 47:{ yyval = numb(yypv[1]); } break; case 48:{ yyval = 'H'; } break; case 49:{ yyval = 'B'; } break; case 50:{ yyval = 'N'; } break; case 51:{ yyval = 'D'; } break; case 52:{ yyval = 'T'; } break; case 53:{ yyval = 'U'; } break; case 56:{ yyval = yypv[2]->c1; } break; case 57:{ yyval = '{'; } break; case 58:{ yyval = yypv[2]->c1; } break; case 59:{ yyval = '}'; } break; case 60:{ yyval = 0; } break; case 61:{ lp[ct++] = yypv[1]; } break; case 62:{ lp[.globl .m,.q,.r .globl .p,sprv .m: jsr pc,sprv mov (sp),r0 mpy 4(sp),r0 mov r1,4(sp) br 1f .q: jsr pc,sprv mov 4(sp),r1 sxt r0 dvd (sp),r0 mov r0,4(sp) br 1f .r: jsr pc,sprv mov 4(sp),r1 sxt r0 dvd (sp),r0 mov r1,4(sp) 1: jmp .p { switch ( ylet(style[icol],ilin)) { default: case 'L': case 'l': format = "%s@"; break; case 'R': case 'r': format= "@%s"; break; case 'n': case 'N': if (!dwide[icol] || tabentry[ilin][icol+1] != 0) { format=dwide[icol]? "@%s" : "%s@"; break; } case 'c': case 'C': format = "@%s@"; break; case 's': case 'S': format= ""; break; } if (! (dwide [icol-1]>0 && tabentry[ilin][icol] == 0 )) printf(format, tabentry[ilin][icol]); onbr"~chconbrlL40L42_dogoto"~dogotonp_tree _build _chkw _doret"~dorettL45D~putcharPbcL47b_putc L271 L273 ~getypez dstypeoL10071 L268 L274x L20048 L279 L280 L282` _conexp L283< L20046$ L286p ~decsyn oL288~redec L290fltused { int i; char *o; /*printf("%d %c %d\n",fil,*string,n);/*DEBUG*/ string--; if((i = optr[fil] + n - 512) >= 0) { n =- i; o = &obuf[fil][optr[fil]] -1; while(--n >= 0) *++o = *++string; optr[fil] = 512; flsh(fil); n = i; } o = &obuf[fil][optr[fil]] - 1; optr[fil] =+ n; while(--n >= 0) { *++o = *++string; } return(0); } flsh(fil) { extern tp[]; if(optr[fil] <= 0) return(optr[fil]); nflush++; if(write(tp[fil],obuf[fil],optr[fil]) != optr[fil]) return(-1); optr[fil] = 0/ read rk rblk: iocom = 5 f = r5 i = r3 .globl j .globl succ .globl ctest,iget .globl string string: tst -(sp) jsr pc,iget 1: mov j(f),(sp) mov r0,-(sp) jsr pc,ctest mov (sp)+,r0 bcs 1b mov (sp)+,j(f) jmp succ *INSTR*/ /* dexit(); /*INSTR*/ /* times(tbuf); /*INSTR*/ /* tm1 = tbuf[0]/6; /*INSTR*/ /* tm2 = tbuf[1]/6; /*INSTR*/ /* printf("Prep: %d %d\n", tm1, tm2); /*INSTR*/ /* exit(); /*DEBUG*/ fn = "/bin/sort"; av[0] = "sort"; av[1] = tmp[0]; av[2] = "-o"; av[3] = tmp[0]; av[4] = 0; callsys(fn, av); /* times(tbuf); /*INSTR*/ /* tm1 = tbuf[3]/6; /*INSTR*/ /* tm2 = tbuf[5]/6; /*INSTR*/ /* printf("Sort: %d %d\n", tm1, tm2); /*INSTR*/ if(usw) { fn = "/usr/bin/upost"; av[0] = "upost"; i = 0; } e@ & e %   0 %c t  - x lf X R D>  w(w $   Nf    ww N ww N  r  ww  wzw v p@ A HwVw R L@A H w. w  @ i))99d, w BNf et7 p Fww @t5@t5~vwrw n ^ N % 8 ` x $     !(  2  BE  ff %  Iff eL   j |   wjw fb ZXwTw PL DBw>w : @ =@ww uurn; } error(a) { printf("Error %d\n",a); dexit(); } dexit() { extern nflush; /* printf("nflush = %d\n",nflush); /*DEBUG*/ if(tp[0] > 0 && utmp == 0) { unlink(tmp[0]); unlink(tmp[1]); } exit(); } callsys(f,v) char f[],*v[]; { int t,status,i; if((t = fork()) == 0) { for(i = 1; i <= 12; i++) signal(i,0); execv(f,v); printf("Can't find %s\n",f); exit(1); } else { if(t == -1) { printf("Try again\n"); return(1); } } while(t != wait(&status)); /* printf("Status = %o, %s\n",i = r3 .globl putcall,iget,kput,putoct .globl generate,succ .globl octal octal: mov $1f+1,r0 jsr pc,putcall jsr pc,iget mov (r0),r0 jsr pc,kput jmp succ 1: mov (i),r0 jsr pc,putoct jmp generate L227 L220 L221, L219~treeDcsandflgoppppsosopstprstopL160L10034L164_nextcha L165L167_copname" L20042PL173eL10031L10032 _block L177rL178L179L183,L228_errflus L159 L20043*L189L190L195L199L10043LL206XL10044zL207r(yyprdn) common/yycomn/yylval,yyval,yypv,yyvalv(150) common/yylcom/yychar,yyerrf,yydebu integer yychar, yyerrf, yydebu integer yyprdn,yyval,yylval,yypv,yyvalv #define yyclearin yychar = -1 #define yyerrok yyerrflag = 0 extern int yychar, yyerrflag; int yyval 0; int *yypv; int yylval 0; yyactr(__np__){ please define type # of %s earlierbad precedence syntax, input %dgoto 1000 switch(__np__){ previous rule not terminatedtoken illegal on lhs of grammar rulemissing :semicolon preceeds action * intcharfloatdoublestructlongautoexternstaticregistergotoreturnifwhileelseswitchcasebreakcontinuedodefaultforsizeofArg countCan't find %sCan't create temp.globl .data Symbol table overflowWarning: assignment operator assumedNonterminated commentUnknown characterL%d:.byte %o,0 Long character constantNonterminated string.data L%d:%o;%o;%o;%o .text Expression overflowexpression overflowExpression syntaxBad function.bss L%d:.=.+%o .text Bad register %of = r5 .globl j .globl classtab,jget .globl ctest .globl putcstr .globl succ ctest: inc ctestc mov r0,-(sp) jsr pc,jget asl r0 bit *(sp)+,classtab(r0) clc beq 1f asr r0 jsr pc,putcstr inc j(f) sec 1: rts pc .data ctestc: 0 L10012 L65:L20024RL20026T_subseq"L71L20031L72L73L74L10003L75L76L78L20032L804L89L91~L85L10007L10008L10009_getnum _getstr"_getcc"6L102L10010L104L105(L20021&L107fL108TL112~subseqxcabcL114L10019L115L116L113entry[ilin][icol], ct); else if (span(style[icol],ilin) && (icol+1==ncol || !span(style[icol+1],ilin))) printf(".if \\n(%d-\\n(%d .nr %d \\n(%d\n", 30+ilin, icol+50, icol+50, ilin+30); } } /* run out table, put field characters in */ printf (".fc  @\n"); for (ilin=0; ilin  _b>  _h >  _h>  _n>  _n#>  _n*>  _n1>  _t7>  _t=>  _B>  _sG>  % " 7 "% "% !% !%:!_!mn!7 h _w p fs5 @tt  @sj@4sj@ew4 -N! @    -6!%  rrt>  N \ w  5% 3 5 !,%\  5%}(\0(%( 5 @ `, 5!@ `5,@ `,BD " `,w w 15BeCe~-1nF  271@wt movclrcmptstaddsubincdecmuldivasrashaslbicbic $1,bitbit $1,bisbis $1,xornegcom*$jeqjnejlejgtjltjgejlosjhijlojhis/nopjbr ?K?K?K?K?K?K??K??K?K?K?L?L?L?L?L?&L?6L?JLhL?xLTLLT?L?LLT5 %5 %)5 D-%  3  5%%   Nff e ff ef %  &ff xe ?.e( %  &  e?eww @ / x% @wN & &  xef& f%+* xe 3N& f& xe4:;89w >DCB%#  x used _hshtab _space _cp _cmst P_isn _swtab _swp _contlab _brklab _retlab _deflab _nauto _autolen _peeksym _peekc _eof _line _treebas _debug _defsym _funcsym _xdflg _proflg _stflg _csym _cval _fcval _nchstr _nerror _paraml _parame _strflg _osleft _mosflg _initflg _inhdr _dimtab _obuf _sbuf _dimp _regvar _funcblk 7 % %upN Efe %_^ Ne 5%f&f be 5% %7w& f&f be%# 5ru NN  Ame 5rA f r upN  @E% @E % @E% AA @@5 ww CB 7%-%)r  ffe %-P  HN @# 7 2w ,(?% :  7  $f v Le0 9ev*p* h*b* 7R*we&  m6* 4* 0~  0  0~ w7 * ) )0   )Wp `e0eӕ?f) ,)P ) ) @f ) Z7D') JXZ|)t)-n)f)f@w fw'w&PXwfw&VXJA 7 (fAW,f B@ 8 @&61fA   @ @er3 / byte 1: mov 2(sp),r4 / working x bisb (r1)+,r3 2: add cscale,r4 aslb r3 bcs 3f bne 2b sub cscale,r5 dec (sp) bne 1b tst (sp)+ mov (sp)+,x add $8*7,x add $16.*7,r5 mov r5,y incb vtcol rts pc 3: mov r4,x mov r5,y jsr pc,vtpoint br 2b .bss .=.+50. stack: eof: .=.+2 lchar: .=.+2 nchar: .=.+2 hiwat: .=.+2 fchar: .=.+2 charb: .=.+nbuf scnt: .=.+2 xy: .=.+12. x = xy y = xy+2 count: .=.+2 evenodd:.=.+2 vtcol: .=.+2 vtlc: .=.+2 cscale: .=.+2 cxy: ox: .=.+2 oy: .=.+2 radius: cx: .=.+2 _d"x./yopt -r./yopt -rv./yopt./yopt -v/usr/yacc/yopti-r-rv-voptimization execl call failsMH2019.yaccopt -rMH2019.yaccopt -rvMH2019.yaccoptMH2019.yaccopt -v : int nterms %d; int nnonter %d; int nstate %d; char *yysterm[] { "%s", 0 }; char yy y   y%;  f %   f % %_< %%__  f %  l%%^X T    _74,($7    7 &  & %   _ _ _  5   x t%_< %b_< f P& %D <_, 4 .%_<   5 B@ @ae54N @-#@ !%*@ @a% %  @@54 u-%* \  ~ &  2_z#w b @ @me,55 De,_%%*_%%f5 Ce,M I%*E%@Ap,p(  N d& AA 2r %AA 2r  eC- u-u5ueD- FA1@ @m5...patablefctable]mtab.catabctabMetablea.outetabctaba.outetabetabmq mov r1,mul mov ac,rsq mov mq,rsq+2 mov r1,cy mov $-1,cx asl r1 asl r1 mov r1,count br cirarc cirarc: jsr r5,idle; 10 br 2f br 1f 2: jmp disp 1: loop: tst cx bge 2f mov $-ssize,r0 br 1f 2: mov $ssize,r0 1: mov r0,dely tst cy bge 2f mov $ssize,r0 br 1f 2: mov $-ssize,r0 1: mov r0,delx mov cx,mq mov cx,mul mov mq,r1 mov ac,r0 mov cy,mq mov cy,mul add mq,r1 adc r0 add ac,r0 sub rsq+2,r1 sbc r0 sub rsq,r0 mov cx,r1 mov cy,r2 bic $!100000,r0 bic $!100000,r1 bic $!100L3N_disarra"X_chkfun"L4_length L20000 L5L10002L11L12@ _error" L20006_block"xL20001L17L18T _decref L208L20007.L21LL22i L20010`L24_incref L25L20013L26} L33_chklval"L34_chkw"L35L36L37L38L10000.L296L30 L31d_setype"L1_fold"L100~getstrcL118&L119L20034L1211_mapch"tL1225~getcc6cccpccL124RL20036FL127lL1288L10022L10023L10024L10025L10026L135@L153L156L157 L145L144L143L10028L10029$L138L140~mapchtL130acnmpeekacL131.L1334L134L100f = r5 i = r3 .globl j .globl jget,iget .globl char .globl succ,fail char: jsr pc,jget bne 1f tst (i)+ jmp fail 1: mov r0,-(sp) jsr pc,iget mov (sp)+,(r0) inc j(f) jmp succ / read and echo character from tty. / perform normal cr/lf uc/lc mapping. tks = 177560 tkb = 177562 getc: tstb *$tks bge getc mov tkb,r0 bic $!177,r0 cmp r0,$'A blo 1f cmp r0,$'Z bhi 1f add $'a-'A,r0 1: cmp r0,$'\r bne putc mov $'\n,r0 / put a character on the tty. / also performs delay. tps = 177564 tpb = 177566 putc: cmp r0,$'\n bne 1f mov $'\r,r0 jsr pc,(r5) mov $'\n,r0 1: tstb tps bpl 1b mov r0,tpb rts pc / write a string to tty / jsr pc, mesg; ; .even mesg: movb *(sp),0) printf ("%s\n",page[(mustwr+i) % PL]); flush(); } outc (c, lp) char **lp; { int j; j = 0; while (j >0 || *(*lp) == '\b' || *(*lp) == ESC || **lp == SI || **lp == SO) { switch (*(*lp)) { case '\b': j++; (*lp)++; break; case '\0': *(*lp)++ = ' '; j--; break; case ESC: /* 'escape' */ (*lp) =+ 2; break; case SI: case SO: (*lp)++; break; default: (*lp)++; j--; break; } } if (c != ' ' || *(*lp) == '\0') *(*lp) = c; (*lp)++; } store (ll) { if (page[ll/ / / sqrt & dsqrt fortran functions .globl sqrt. .globl dsqrt. .globl sqrt .globl retrn .globl rerr .globl temp dsqrt.: temp .+2 setd br 1f sqrt.: temp .+2 setf 1: movf *2(r3),r0 jsr pc,sqrt bes 1f movf r0,temp jmp retrn 1: jsr r5,rerr; 13. 8253 ,4403,8254,12328,4383,8250,4384,8251,4385,8242,4387 ,8249,4388,8248,4398,8255,4399,8257,4400,8252,4401 ,8256,4402,8253,4403,8254,12329,4383,8250,4384,8251 ,4385,8242,4387,8249,4388,8248,4398,8255,4399,8257 ,4400,8252,4401,8256,4402,8253,4403,8254,12330,4363 ,8302,4364,8303,4365,8304,4366,8305,0,12355,12373 ,12374,12375,12376,12359,12344,12345,4353,8225,4354,8224 ,4355,8226,4356,8227,4357,8228,4358,8235,4359,8237 ,4360,8236,4361,8234,4362,8238,4367,8240,4368,8241 ,4369,8229,4370,8231,4371,8230,4372,8232xxxxArg countMissing temp fileCan't create %sTree space botch.globl fltused Missing temp fileIllegal initialization.bss L%d:.=.+4 .text mov%c r%d,r0 mov%c r%d,%c(sp) tst%c r%d No code table for op: %sNo code table for op %dmov%c r%d,r%d mov%c r%d,r%d Register overflow: simplify expressionr%d*tst r%d adcsbc r%d  Bb"|@NHNHHHn*+,HIJ<::<::FVVhhz/ PDP-11/20 vt01 driver ssize = 2 nbuf = 4500. rti = 2 reset = 5 drsc = 167770 drrc = 167774 dr11cx = 167772 dr11ps = 167750 dr11pb = 167752 lks = 177546 vtsc = 176756 vtxr = 176760 vtyr = 176762 csw = 177570 ps = 177776 ac = 177302 mq = 177304 mul = 177306 div = 177300 sr = 177311 ash = 177316 .. = 20 jmp *$restart .+2; 0 / bus .+2; 0 / ins .+2; 0 / bpt .+2; 0 / iot .+2; 0 / pwr .+2; 0 / emt .+2; 0 / sys . = [100-..]^. / clock clint; 300 . = [500-..]^. / dr11c dr11int; 240 restart:too many lookahead sets$$$~$yyact %d: reduce/reduce conflict (red'ns %d and %d ) on %s %d: shift/reduce conflict (shift %d, red'n %d) on %syypactyyr1yyr2off = %d, k = %d action table overflow %d no space in action tableyygoyypgo%s: gotos on %s nonterminal %s %d %d state %d, pre-nonterminal %s states %d and %d have equal positions state %d %s same as %d %s accepterrorshift %dreduce %d . reduce %d . error The function "system" is called/dL0oF0dV     r h  4 G  : o  m  _ & s  k  z  b \  D 8 B ?   i g   t   =   t hpunixrp40xvC',I sxt- div,I- movC,A KCmovC',I sxt- divsp)+,I- movC,A KCGJmovC(J),I sxt- divsp)+,I- movC,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- mov,*(sp)+ KCmovb',I xor,(sp) movsp)+,I movb,A GDmovC(sp),-(sp) KAxor,(sp) movCsp)+,I movC,*(sp)+ movC',I asr movC,A GBasrC(I) movC(I),I movif,I GBmovif(I),I GAmovif,I GAmovfi,I GAsetl movfi,-(sp) movsp)+,I seti setl movif,I seti GBsetl movif(I),I seti GAmov,-(sp) setl movifsp)+,I seti GCsxt GAmovsp)+,I -- 7j&1@\X 1w&f@@& HADCBF7F(F6rwH*6r@<=@A>?DEBC=EDCB(KfSVW' P<@#<@d@p@|@@ #!""$vJJJHJ0@@@## @@@A A  L v R r  < HH00HHHHHHbAjArAzAAiy(8XyyXyyXyy$ 5&  5&  \5@&  wL   w>\ \& (    5@x&  Z& B    @& UJ&w\ ,& w\ &w&w&w  7 % %a %U%%W 8U] W 8E\fc     ` \ ]-%% a h h   \ \a  ! p ]\R B\ %W !W e,8224,4355,8226,4356,8227,4357,8228,4358,8235,4359 ,8237,4360,8236,4361,8234,4362,8238,4367,8240,4368 ,8241,4369,8229,4370,8231,4371,8230,4372,8232,4373 ,8233,4374,8218,4375,8221,4376,8219,4377,8220,4386 ,8201,4389,8213,4390,8217,4391,8214,4392,8215,4393 ,8216,4394,8223,4396,8222,12350,4378,8311,4395,8330 ,0,4378,8311,4395,8331,0,4378,8311,4395,8332 ,0,4378,8311,4395,8333,0,12301,12302,12303,12304 ,-1}; int yypact[] {0,1,62,65,124,125,148,149,150,150 ,150,205,208,211,214,217,276,150,150,150 ,150,277,280,28s rkf.s strip a.out cp a.out ../util/rkf as reset.s strip a.out cp a.out ../util/reset as dldr.s strip a.out cp a.out ../util/dldr as mcopy.s tm.s wrk.s rk.s strip a.out cp a.out ../util/tmrk as mcopy.s tm.s wrp.s rp.s strip a.out cp a.out ../util/tmrp as mcopy.s tm.s whp.s hp.s strip a.out cp a.out ../util/tmhp as mcopy.s ht.s wrk.s rk.s strip a.out cp a.out ../util/htrk as mcopy.s ht.s wrp.s rp.s strip a.out cp a.out ../util/htrp as mcopy.s ht.s whp.s hp.s strip a.out cp a.out ../util/hthp rm a.o((hxx(h(xx(H((hx8H( mov $inod,r4 1: mov (r5)+,(r4)+ cmp r4,$addr+16. blo 1b rts pc / routine to read in block / number specified by bno / after applying file system / mapping algorithm in inode. / bno is incremented, success / return is a skip, error (eof) / is direct return. rmblk: add $2,(sp) mov bno,r0 inc bno bit $LRG,mode bne 1f asl r0 mov addr(r0),r0 bne rblka 2: sub $2,(sp) rts pc / large algorithm / huge algorithm is not implemented 1: clr -(sp) movb r0,(sp) clrb r0 swab r0 asl r0 mov addr(r0),r0)Hyiy)iHy)yy))vH%5 @ 5vHu @ p-vH - u-uu -d @ 7`p h5 @ vH@ p-vHN ^@ vH ^ee( - e  ^N ^e - _' @ B @  ^ -  w w p   } .%@ } 15 5 -n @ re5 }@ re5 } @ }  p) @ @ / 5 @ } @ @ / - ump condbranch condset nregsload valueforce registerP((<((j((=((>((?((@((A((B((C((D((E(((((F(()((G(((((( ((!((*((H((+((I((,((J((-((K((.((L((/((W((7((U((Q((0()N()1 ) )O ) )%))&))b))c))<))=))>")&)?*).)@.)*)A&)")B2)7)C<)@)D@)<)E7)2)))))")&)*).).)*) &)") )) F)K) K)F) ))j)0+0+ )!)%)&)b`)c`)P*(Z*)Z***+*,*-*.Z*7Z* Z& f% w$ w  u-@w @w D  w%%%%%# 5~Fw C_ xCC / p_C / _%e  p+ 0    xB C G CC=$ 0%*& d#% + C /% %& -C* 0 _C ww pC wrw `D  Ce C / w<fr0,fr5 movf $one,fr0 clrf fr1 1: dec r1 bmi 1f movf fr0,fr2 movf fr1,fr3 mulf fr4,fr0 mulf fr4,fr1 mulf fr5,fr2 mulf fr5,fr3 subf fr3,fr0 addf fr2,fr1 br 1b 1: tst r0 beq 1f clrf -(sp) movf $one,fr2 movf fr2,-(sp) movf fr1,-(sp) movf fr0,-(sp) jmp divide 1: movf fr1,-(sp) movf fr0,-(sp) jmp *(r4)+ )9999(9h9yyyy9yyyyyyy9Ix _cvtab _opdope _ctab _symbuf _hshDeclaration syntax%.8s redeclared(8HY(8(888ii(IHIyI888X88XXII(888AE@ 5N  AE@ u@ 5_Z Nf & e_Z u- u- N _ (_ X%_Z -_V ) +_Z ,_Z @ _Z %$ %  _Z  _Z %#_Z  &_  % _Z   % _Z N r eA! y 'N_ _Z N_V w ,4R,8Z,9b,:v,;~,jmp GBjmp(I) jsrc,MA GBjsrc,#(I) GAjsrc,(I) clr clrf movC,I movof,I GBmovC(I),I GBmovof(I),I mov+,-(sp) mov,I GBmov+2(I),-(sp) mov(I),I movC',I M'C mov',I M,A GJmovC(J),I M'C(J) GBmovC(I),-(sp) M'C(I) movCsp)+,I GJmov(J),I M,#(J) GBmov(I),-(sp) M,#(I) movsp)+,I GAM1,A+ V'GJmov+2(J),-(sp) mov(J),I M1,#+2(J) V'(J)GBmov+2(I),-(sp) mov(I),-(sp) add1,#+2(I) V'(I)movs rts r5 vtvect: jsr r5,idle; 10 rts pc mov xy+4,r0 mov xy+6,r1 mov $2,r3 / sign(dx) mov r0,r2 sub x,r2 / abs(dx) bge 1f mov $-2,r3 neg r2 1: mov $2,r4 / sign(dy) sub y,r1 / abs(dy) bge 1f mov $-2,r4 neg r1 1: clr r5 clr -(sp) / residules cmp r2,r1 blt 2f / select loop on max(dx,dy) mov r2,count asr count loop1: jsr pc,xvtpoint cmp r5,(sp) ble 1f add r2,(sp) sub r5,(sp) clr r5 add r4,y 1: add r1,r5 add r3,x dec count bge loop1 tst (sp)+ rts pc 2: mov r1,count asr X w e d V _foutput _cin _cout _arrndx _zzcwset _zzpairs _zzgoent _zzgobes _zzacent _zzacsav _zznsave _zzclose _zzrrcon _zzsrcon _ctokn _ntlim _tlim _lineno _peekc _tstates _ntstate _mstates _clset _lkst _nlset _lsetsz _wsets _cwset _wssize _numbval _rflag _oflag _ndefout _machine _setup"L10001L10002L14ZL16bL9<L17pL10008"L100 8 8(iY Y Y yyyYyY Duplicate case (%d)cfcc jbr L%d L%d:tst (sp)+ cmp (sp)+,(sp)+ add $%o,sp %d: %c%oEEEE! r * * r * * dr D" Hn(& $&@@ @ \@<FNV\bl& |&|&"& "&0& !d  ! !BL z V V L V  L V ,   7` 25ʥ    %!ʥE%5 E%% @ _ w J7j y tU_ VR :` x >7 84 & &   e  %YtU= %)7 7E  feVp^ -  v% # tU P 7Zwl  .% w J N w6w 2.e w _%2 5@ "r%/_7& & & v(e2 2 25L "5& 5% @-%% r? %% ,% %$%    &  5   &  5 r eEA! y"U & &&_: % $ v(e Nf  2%wf%U(A p_%p)+,I GAMP GAMsp) VM KAmovC,A KAmovfo,A GBKAmovf,#(I) GBmovC,#(I) movC(I),I GBKAmovfo,#(I) GBKImovC,#(I) movC,I KAGJmovf,#(J) KAGJmovfo,#(J) GDKAmovC,*(sp)+ GDKAmovfo,*(sp)+ GAGAM' GAMD,I GAKJMD(J),I GAKIMP,I KDGAMD(sp)+,I KCGAMPsp)+,I GAM,I M+,(sp) VGAKIMsp)+,(sp) VM,I KCGAMsp)+,2(sp) VMsp)+,(sp) GCKAxor,(sp) movsp)+,I GAasr GATsxt- div,I- GATsxt- KJdiv(J),I- GATsxt- KIdiv,I- KCGATsxt- divsp)+,I- M,A' mov,I movC',I MP,I movC,A KBM(I),A' mov,I KAM,A' mov,I KBGJM(I),#(J) mov(J),I movf',I KIMP,I movf,A KCmovC',I MPsp)+,I movC,A KCmovof',I MPsp)+,I movfo,A KAGJM,#(J) mov(J),I KCGBMsp)+,#(I) mov(I),I GDKCmovC2(sp),I MPsp)+,I movC,*(sp)+ KCGBmovC(I),I MPsp)+,I movC,#(I) KCGBmovof(I),J MPsp)+,J movfo,#(I) movf,I movC',I sxt- divP,I- movC-,A KCmovC',I sxt- divsp)+,I- movC-,A KCGJmovC(J),I sxt- divsp)+,I- movC-,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- movC-,*(sp)+ mo L10027& L126L127L10025L118:L119PL120TL121\L122fL129L128L123nL124vL125z~foldopap1ap2p1v1v2L115L114L116<L20019XL20020b_conexp"~conexpt_tree L132L134  s $ ~ t   =    t   g mv a.out r3.o as r4.s; mv a.out r4.o as r5.s; mv a.out r5.o as r6.s; mv a.out r6.o as r7.s; mv a.out r7.o as r8.s; mv a.out r8.o as r9.s; mv a.out r9.o as ra.s; mv a.out ra.o as rb.s; mv a.out rb.o as rc.s; mv a.out rc.o as rd.s; mv a.out rd.o as re.s; mv a.out re.o as rf.s; mv a.out rf.o as rg.s; mv a.out rg.o as rh.s; mv a.out rh.o as rx.s; mv a.out rx.o ar r /lib/filib.a *.o rm *.o chdir ../rt1 as abs.s; mv a.out abs.o as aimag.s; mv a.out aimag.o as aint.s; mv a.out aint.o as alog.s; mv a.out alog.o ah w %( $@ 55 X %[ 3 3 3_ %#  X%d 5 5 @ r eA! y%@ u& ff xe _E%T & &d%#_ E%i & &$ xe_%$  1% & ^ &f} 5 5 5  5_%3 ee%5%1e& &%% %.%L%% & %_0u- @w C   3w%g 3" _*" xF%$%_*"_*"&( p(e 3 3 34 4 %#% 4 % %%%2- %  %(;%84%2l %#] != 0) free (page[ll]); page[ll] = alloc ( leng (lbuff) + 2); copy (page[ll],lbuff); } fetch(ll) { int i; for (i=0; i < LINELN; i++) lbuff[i] = '\0'; copy (line=lbuff, page[ll]); } copy (s,t) char *s, *t; { if (t == 0) return (*s=0); while (*s++ = *t++); } leng (s) char *s; { int l; for (l=0; s[l]; l++); return (l); } n }C z   UETR5$  5$  U$wp   \]   7 $r@\r@]  e  JW!]W!(] 5h$7 `$e  , J$N$@$ f\    \]$ $$$]& N & N  N N S C B A  eW!\Շ w^ m## # rf]5#e        W!]\P    0&\d& dN & dN dC N eN e-.#8#$## L20044 L163 L164 _rlength L20046 L167 L168P L169v L170rL171 L172_prste"" _blkend" ~blkend csL20048 L177 L179 L180L10016<L186B L182Z L188^ L185> ~prste" csrflgacsL187L189~errflust aooL191 L20050~ ~declist scsclasselsizeoffsettypeL194 5:4N f  AAE@ 54N   AE@ u@ 5_x Nf z &B /e_x u- u-3B NB /_ (_ N%Z_x -_t ) 0+_x M_x @  _x %$B /%  _x  p_x %#_x  &_  , % _x  V % _x NB r e@A! yB /'NB_ _x BN_t w <$B 5~F * x+ % %#2 %e7&= e %% D w%% && & h e & 7t5&6w dJ wXw T L 7l  y o w, < e ~     %    %7   _ x  _, t_, l_, 5 Z%aN Z x :0 0 *f %  * ; mv a.out f44.o as ../fx/fhd.s f45.s; mv a.out f45.o as ../fx/fhd.s f46.s; mv a.out f46.o as ../fx/fhd.s f47.s; mv a.out f47.o ld -r ../a.out *.o mv a.out .. rm *.o chdir ../fx as fhd.s fx1.s; mv a.out fx1.o as fhd.s fx2.s; mv a.out fx2.o as fhd.s fx3.s; mv a.out fx3.o as fhd.s fx4.s; mv a.out fx4.o as fhd.s fx5.s; mv a.out fx5.o as fhd.s fx6.s; mv a.out fx6.o as fhd.s fx7.s; mv a.out fx7.o as fhd.s fx8.s; mv a.out fx8.o as fhd.s fx9.s; mv a.out fx9.o as fhd.s fxa.s; mv a.out fxa.o as fhd.s fxb.s; mv a.ou w4$  Nfe j%  5~F  Nfe j%   Nff j% N =w #D 5~F w#%(Nf&e %  =%$%(Nf&e %  =% r eXAA! y"  %Pe( ^ x8A b U 4 % %, p _~%p, NfS& f%e =_ b _~%V# # # int fromflg 0; # define CONTIG 257 # define QTEXT 258 # define SPACE 259 # define THIN 260 # define TAB 261 # define UP 262 # define DOWN 263 # define BACK 264 # define FWD 265 # define MATRIX 266 # define LCOL 267 # define CCOL 268 # define RCOL 269 # define COL 270 # define MARK 271 # define LINEUP 272 # define SUM 273 # define INT 274 # define PROD 275 # define UNION 276 # define INTER 277 # define LPILE 278 # define PILE 279 # define CPILE 280 # define RPILE 281 # define ABOVE 282 # define DEFINE N& <85& 28 eRNf f%5wR 75& 7  N Nf f%55 Nf b &B /eN @w)%ZN  5 5Nf X%5%(%F %% -Q(K%V% %! 7NfS %56Nf %5_@55  5~F@5 5E 0@ r e@A! y.  _%+%I_ _D5 " w z u sj  GCM,(sp) GCKBM(I),(sp) GCKAM,(sp) /d/o/x0f,0e/c/s/l:0rZV3d3t3333333l3|3366355553328886z575586^66606644^4h444444H 8X _cvtab _opdope _ctab _symbuf _hshused _hshtab _space _cp _cmst P_isn _swtab _swp _contlab _brklab _retlab _deflab _nauto _autolen _peeksym _peekc _eof _line _treebas _debug _defsym _funcsym _xdflg _proflg _stflg _csym _cval _fcval _nchstr _nerror @ 5@ @m@5@@m@-@@5@ 5@mAA@ @@@5NNN& &f & %e@mv 1NNN& @mT 1@ @ & A @l& 1Nf %N Ns @  NNm Ny N @ A p, @ @   Nff~ e nh ^ &T & eN N N w&-CLR>. d: N K H E B ? < 9 M J G D A > ; 8 7 4 1 . + ( % " 6 3 0 - * ' $ ! 5 2 / , ) & #                           L86*L87L90L20009<L93_simpleg L98L20011_branch L100, _dogoto _doret _pexpr" L107*_cbranch _label L108@_nextcha L110_chconbr L113< L10006hL114L20012L20016_conexp L121L122L20017L20021L124L20019_chkw _pswitch" L128zL129_forstmt"N L131L134L135.L136L137;~forstmt#$  %e d    tE5% % uu- u-1 5+7" y %@e@-  ee}_@5 r eA! y w%_N _ & & & e?edN & &  e?e%__%_w dD 333 3 3 ̥  e e  h 9  F ?  _paraml _parame _strflg _osleft _mosflg _initflg _inhdr _dimtab _obuf _sbuf _dimp _regvar _funcblk _build"L10003L10004L10005L10006L7L20003xL19(L27L15L10L16L23pL28 ~buildopdopepcvndtleftccvnp1p3p2t1t2t3csv L2L10029L147L148kL150~defout6cpciL153L20017@L20013L157L20019RL10035L20015XL10031dL10032pL10033|L155L163_chstash"~chstashcL165L166L164L10040L10041L10042L10043L10044L207n L199D L200J L206h L204\ L205b L201P L202V L10055L10056L188L196prflagaregctabletreerregstringcprregtableopdatreeoptp1p2reg1L10015PL99~_branch _label L20033L98zL20024L20026L102nL103x_oddreg _chkleaf":L10016L105L106L10017 L1076 L110Z L111z L10032 L10018 L118 L20029 L20027 L121 213,4390,8217,4391,8214,4392,8215,4393 ,8216,4394,8223,4396,8222,0,12322,4394,8270,0 ,4353,8272,4354,8273,4355,8274,4356,8275,0,12356 ,12357,12358,12351,12352,12354,12353,4353,8272,4354,8273 ,4355,8274,4356,8275,4394,8278,0,12363,12364,12365 ,12366,12367,12368,12369,12370,12371,12372,12298,4383,8250 ,4384,8251,4385,8242,4387,8249,4388,8248,4398,8255 ,4399,8257,4400,8252,4401,8256,4402,8253,4403,8254 ,12293,12294,12296,12326,12360,12361,12342,12343,12336,12337 ,12338,12339,12340,12341,4398,8255,4399,8257,44011,4395 ,8313,0,4378,8311,4395,8314,0,12321,4353,8272 ,4354,8273,4355,8274,4356,8275,4395,8316,0,4363 ,8302,4364,8303,4365,8304,4366,8305,4395,8318,0 ,12299,4394,8319,0,4394,8320,0,4394,8321,0 ,4394,8322,0,12305,12306,12307,12308,12362,12319,12315 ,12316,12317,12318,12346,12347,12300,12331,4387,8249,4388 ,8248,4398,8255,4399,8257,4400,8252,4401,8256,4402 ,8253,4403,8254,12309,4383,8250,4384,8251,4385,8242 ,4387,8249,4388,8248,4398,8255,4399,8257,4400,8252 ,4401,8256,4402,8253,4403,8254,12323,4353,8225,4354 / hpwrite wblk: iocom = 61 N& 55V 5@ 53Nf %3@ 5 5@3Nf %s@5Nf 5 e}-@=E@-5ʥ@%$/N&& % $@ 5 E@-@%$  &f % eʋ_w B5  @@ 5% C wx r eFA! y7  7n  e%#3% ,%d ,-1}; memory overflow NULL { %s }  )9IyiiiyHIhi9YY(h9YY9YY(hyYHYyyIHIyy+2(sp),*2+2(sp) rts pc 1: mov 4+2(sp),r1 mov 6+2(sp),r0 jsr pc,seekchar mov 0+2(sp),r0 jsr pc,alterword / make sp hold a simple rv (forget it might be a table value) sprv: mov (sp)+,r0 cmp $-1,2(sp) bne 1f mov (sp)+,(sp) mov (sp)+,(sp) 1: mov r0,pc 9: jmp succ 8224 ,4355,8226,4356,8227,4357,8228,4358,8235,4359,8237 ,4360,8236,4361,8234,4362,8238,4367,8240,4368,8241 ,4369,8229,4370,8231,4371,8230,4372,8232,4373,8233 ,4374,8218,4375,8221,4376,8219,4377,8220,4386,8201 ,4389,8213,4390,8217,4391,8214,4392,8215,4393,8216 ,4394,8223,4396,8222,4397,8295,12348,4383,8250,4384 ,8251,4385,8242,4387,8249,4388,8248,4398,8255,4399 ,8257,4400,8252,4401,8256,4402,8253,4403,8254,12327 ,4383,8250,4384,8251,4385,8242,4387,8249,4388,8248 ,4398,8255,4399,8257,4400,8252,4401,8256,4402,bol"L10005\L10006dL88dL92L90tL94L84L10013pL10014zL10015L10016L10017L10018L61L67@L68JL110~L70xL96L69\L79L99L640L81>L98L20018L82HL109nL77L63(L100L111~symbolspcL55L56L54FL57L60 L20016D_getchar .globl putch,obuild .globl putoct putoct: mov r0,-(sp) bic $7,r0 bic r0,(sp) clc ror r0 ror r0 ror r0 beq 1f jsr pc,putoct 1: mov (sp)+,r0 add $'0,r0 jsr pc,putch rts pc ? 7 `    / copy and execute DEC loaders core = 24. prs = 177550 mov $dldr,r0 mov $[core*2048.]-300,r1 mov r1,r2 1: mov (r0)+,(r1)+ cmp r0,$end blo 1b jmp (r2) dldr: 10706 24646 10705 62705 114 5001 13716 177570 6016 103402 5016 404 241 6116 1001 10116 5000 4715 105303 1374 4715 4767 74 10402 162702 4 22702 2 1441 4767 54 61604 10401 4715 2004 105700 1753 0 751 110321 770 16703 150 105213 105713 100376 116303 2 60300 42703 177400 5302 207 12667 44 4715.globl .p,sprv .globl .a,.s,.o,.n,.x / + .a: jsr pc,sprv add (sp),4(sp) br 9f / - .s: jsr pc,sprv sub (sp),4(sp) br 9f / | .o: jsr pc,sprv bis (sp),4(sp) br 9f / & .n: jsr pc,sprv com (sp) bic (sp),4(sp) br 9f / ^ exclusive or .x: jsr pc,sprv mov (sp),r0 xor r0,4(sp) 9: jmp .p  9 y)) yiyy yyiiiiii) y)y yy)) iiii iy5 %5 %)5 D-%  3  5%%   Nff e ff ef %  &ff xe ?.e( %  &  e?eww @ / x% @wN & &  xef& f%+* xe 3N& f& xe4:;89w >DCB%#  x _svargv _eht _ebase _ewid _yyval _yypv _yylval _tht <_tbase <_ptr _nptr d_sptr d_eqnreg _eqnht _eqnbase _lefteq _righteq _lastcha _ESC _HREV _HFWD _SI _SO _boverb"~boverbtregbhwp1p2csv _oalloc _max L2L3 _printf L4 _down _fwd L5$ _back _upc,flag1 br 1b / reverse pass put in / foreward and reverse / block numbers mov $4017,tccm jsr pc,flag 1: mov $nword+3.,r4 2: clrb tcst clr (r5) jsr pc,flag dec r4 bne 2b clrb tcst clr (r5) mov bn,r0 jsr pc,comobv jsr pc,flag movb r1,tcst mov r0,(r5) jsr pc,flag dec bn blt check clrb tcst clr (r5) jsr pc,flag clrb tcst clr (r5) jsr pc,flag clrb tcst mov bn,(r5) jsr pc,flag clrb tcst clr (r5) jsr pc,flag clrb tcst clr (r5) jsr pc,flag br 1b / foreward pass / confirm blo/ copy mag tape to disk / load with proper tape and disk drivers jsr pc,rew 2: jsr pc,4(r5) .even jsr pc,numb mov r0,dska jsr pc,4(r5) .even jsr pc,numb mov r0,tapa jsr pc,4(r5) .even jsr pc,numb mov r0,r2 1: jsr pc,tread jsr pc,wblk inc tapa inc dska dec r2 bne 1b jsr pc,rew rts pc numb: clr r1 1: jsr pc,2(r5) cmp r0,$'\n beq 1f sub $'0,r0 cmp r0,$9 bhi 2f mul $10.,r1 add r0,r1 br 1b 1: mov r1,r0 rts pc 2: jsr pc,4L20052 _declare L10020DL212\L2082L217xL201L205~getkeyw elsizetptrolongfisadeclskwtkwscptrL197 L199L206,L207L10017BL10018F_strdec"L213hL214L215~L218L196L219L220L221L222L224L226~strdecdsmosftkwpelsizessymoL228 mov f,r0 /go back to prev stack frame mov k(r0),k(f) 3: tst (sp)+ jmp succ cerase: bit $1,csw bne cerase jsr r5,vtcom 6 rts pc vtcom: jsr r5,idle; 10 br 1f jsr pc,vtok mov (r5)+,vtsc rts r5 1: tst (r5)+ rts r5 getc: tst nchar bne 2f tst eof beq 1f jmp restart 1: mov $240,ps jsr pc,stardr clr ps br getc 2: movb *fchar,r0 bic $!377,r0 inc fchar dec nchar cmp fchar,$charb+nbuf bne 1f mov $charb,fchar 1: rts pc stardr: cmp nchar,$nbuf\/2 ble 2f cmp nchar,$nbuf blt 1f mov pc,hiwat rts pc 1: tst hiwat bne 1f 2: clr hiwat bis $2,drsc 1: rts pc ww D% % w@@% x& `?eBpC r r@ @Px @ t tw b ^ Z%  Dw<-2x(p ..:PT\fnvzIllegal conditionalCall of non-functionIllegal indirectionIllegal lvalueIllegal structure refUnimplemented structure operationIllegal conversionInteger operand required...$dldr.sdtf.smcopy.srkf.stboot.suboot.sfsboot.smboot.sJrun]hp.s[ht.sbreset.s"rhp.srk.sWrp.srrk.sIrrp.stc.sPtcf.sXtm.stpboot.stty.swhp.sYwrk.s|wrp.smakout cmp a.out /bin/rmdir cc -s -f -O sa.c cmp a.out /usr/bin/sa cc -s -n -O sh.c cmp a.out /bin/sh cc -s -O size.c cmp a.out /bin/size cc -s -O sleep.c cmp a.out /usr/bin/sleep cc -s -O sort.c cmp a.out /bin/sort cc -s -O split.c cmp a.out /usr/bin/split as strip.s strip a.out cmp a.out /bin/strip cc -s -O stty.c cmp a.out /bin/stty cc -s -O su.c cmp a.out /bin/su as sum.s strip a.out cmp a.out /bin/sum cc -s -O sync.c cmp a.out /bin/sync cc -s -O tbl.c -lp cmp a.out /usr/bin/tbl cc -s -O tee.crd+nword blo 1b mov (sp)+,r0 rts pc mtrack: mov (r0)+,(r5) jsr pc,flag rts r0 flag: bit $100200,tccm beq flag blt error6 rts pc flag1: bit $100200,tccm beq flag1 bge 1f tst tcst bge error7 add $2,(sp) 1: rts pc comobv: mov r0,r4 bic $!777,r0 asl r0 mov cobtab(r0),r0 swab r0 clr r1 ror r0 rol r1 asl r0 asl r0 rol r1 swab r4 bic $177401,r4 bis cobtab(r4),r0 rts pc bcomobv: mov r0,r2 bic $!70,r2 mov r0,r3 mov $6.,r4 1: asr r3 dec r4 bne 1b bic $!7,r3 bis r3,r2 movf = r5 i = r3 .globl x,k .globl ktab,ktat .globl putcall,obuild .globl errcom,succ,generate .globl rewcstr,getcstr .globl scopy scopy: mov $2f+1,r0 jsr pc,putcall jsr pc,rewcstr mov k(f),r2 neg r2 add $2,r2 1: jsr pc,getcstr tst r0 beq 1f movb r0,ktab(r2) inc r2 cmp r2,$ktat blt 1b jsr r0,errcom ;.even 1: clrb ktab(r2) bic $1,r2 neg r2 mov r2,k(f) jmp succ 2: mov i,r0 jsr pc,obuild jmp generate .globl .p,sprv .globl .sr,.sl / >> .sr: neg (sp) / << .sl: mov 4(sp),r1 clr r0 alsc (sp),r0 mov r1,4(sp) jmp .p  -% N A 1} N Am 1] -_6 P ^N? / @ }@ }f &? /% -@m }@m }@ &? /% -? /} X& A 1VE  &e} X& A 1V5 @ %vH_ -dw>w , t7 ~@ 58B@ 6B#x~tl~t Z~t`  lp -" :~eB-ڂ _!5  t0 -~/usr/bin/wc cc -s -O who.c cmp a.out /bin/who as write.s ld -s a.out -l cmp a.out /bin/write rm a.out / unix DEC-tape time/mtrack track formatter nword = 256. nblock = 578. endz = 7200. ps = 177776 tcst = 177340 tccm = 177342 tcwc = 177344 tcba = 177346 tcdt = 177350 mov r5,savr5 mov sp,savsp start: mov savr5,r5 mov savsp,sp jsr pc,4(r5) .even clr r0 mov $cobtab,r1 1: jsr pc,bcomobv mov r2,(r1)+ inc r0 cmp r0,$512. bne 1b mov $buffer,r0 1: mov $-1,(r0)+ cmp r0,$buffer+nword+nword blo 1b mov savr5,r5 jsr pc,2(r5) mov $340,ps mov $tcdt,r5 mov clr eof mov $stack,sp mov $7,cscale mov $charb,fchar mov $charb,lchar clr nchar mov $100,drsc / IE on dr11c / mov $100,lks / IE on clock disp: jsr pc,getc asl r0 cmp r0,$2f-1f bhis 2f jmp *1f(r0) 1: disp / ignore order point vect frame circle arc explor disp / screw movexy disp / photo 2: jsr pc,cerase clr vtcol clr vtlc mov $-4000,x mov $3777,y mov $7,cscale 1: jsr pc,getc jsr pc,char br 1b order: jsr pc,getc asl r0 cmp r0,$2f-1f bhis disp jmp *1f(r0) 1: disp / iopr.c cmp a.out /bin/opr cc -s -O passwd.c cmp a.out /bin/passwd as pfe.s strip a.out cmp a.out /usr/bin/pfe cc -s -O pr.c cmp a.out /bin/pr cc -s -f -O prof.c cmp a.out /usr/bin/prof cc -s -O ps.c cmp a.out /bin/ps cc -s -O ptx.c cmp a.out /usr/bin/ptx cc -s -O pwd.c cmp a.out /usr/bin/pwd cc -s -O quiz.c cmp a.out /usr/bin/quiz cc -s -O rc.c cmp a.out /usr/bin/rc cc -s -O restor.c cmp a.out /bin/restor as rew.s strip a.out cmp a.out /bin/rew cc -s -O rm.c cmp a.out /bin/rm as rmdir.s strip a.<=@A>?DEBC=EDCB(KfSVW' P<@#<@d@p@|@@ #!""$|PPPNP6@@@## @@@A A  R | X x  B NN66NNNNNNbAjArAzAA~~~~Arg countMissing temp fileCan't create %sTree space botch.globl fltuse Xh(r5) .even tst (sp)+ rts pc ba: buf wc: -256. .bss buf: .=.+512. dska: .=.+2 tapa: .=.+2 .text L167L168L20053L170L172~sortcpfplpafptalpintchL175L176VL177LL20055L180L181L174L179H_ispow2"Z~ispow2ZtreedatreeL184L183_pow2"~pow2treediatreeL187L188L20057L10041L10042L10043L10045_optim V V V ?VSSlWSSvW?W?WSSSS?NN?NNTSTSS?TXN?TXN?fN?fNTT?$T??N??NSS?NN?fN??N??W??W?W?W?W?W?W?W?W?W?? Xw ~wn+Ded+  ^+ % 0w7 J+7 J+ׯ@+- 8+ 6+(w*+7 ,+ .w +eXB J ӕ- R r f e0 @ >* ҋ D~8BXFX *ӕ0 hiY99IYYfltused!fpp_getnum"_peekc _getchar _cval _fcval _error nfract.totdig2decpt0base,getdigfperr_tbitset _nolook _nstate _pstate _apstate _actsiz _tystate _stsize _memsiz _mem0 _mem _amem _memact _nprod _prdptr _prdlim _levprd _nterms _nerrors _fatfl _extval _trmset _cnames _cnamsz _cnamp _maxtmp _temp1 _temp2 _trmlev _nontrst _indgo _pres _pfirst _pempty _nnonter _lastred _ftable8xx8  283 # define DELIM 284 # define GSIZE 285 # define GFONT 286 # define FROM 287 # define TO 288 # define OVER 289 # define SQRT 290 # define SUPER 291 # define SUB 292 # define SIZE 293 # define FONT 294 # define ROMAN 295 # define ITALIC 296 # define BOLD 297 # define MQ 298 # define MQ1 299 # define LEFT 300 # define RIGHT 301 # define DOT 302 # define DOTDOT 303 # define HAT 304 # define TILDE 305 # define BAR 306 # define UNDER 307 #define yyclearin yychar = -1 #define yyerrok yyerrflag = 0 extern int yy cmp a.out /usr/bin/tee as time.s strip a.out cmp a.out /bin/time as tp?.s ld a.out -lc -l cmp a.out /bin/tp cc -s -O tr.c cmp a.out /usr/bin/tr as tty.s ld -s a.out -l cmp a.out /bin/tty cc -s -f -O typo.c cmp a.out /usr/bin/typo cc -s -O umount.c cmp a.out /etc/umount cc -s -O uniq.c cmp a.out /bin/uniq cc -s -f -O units.c cmp a.out /usr/bin/units as update.s strip a.out cmp a.out /etc/update cc -s -O usort.c cmp a.out /usr/bin/usort cc -s -O wall.c cmp a.out /etc/wall cc -s -O wc.c cmp a.out _line _ascbuf _nerror _cctab _efftab _regtab _sptab _lsptab _instab _brancht _opdope _opntab _nstack _nfloat _spacep _spacema _treebas _didreor _czero#_cone#_fczero#_tabtab#_cregtab _lleft#&_lassgn#2_llocv#<_main"~mainargcspargvtreetreespacctablecsv L2 L3_error _exit _fopen L4FL5@ r  @ r m -'@ re5 @ mx e% @ r mN @ r m0  -ww 7 7%7|% t%( .%(Ue  +L%L%7  f .%_(@ 0 vH m } .%N P5 _:@t _6@t@t5%!@ 8BA @6Bt@-V@ A %vHpvHDu#@tx-@te@t&e  @t../fx/fhd.s f31.s; mv a.out f31.o as ../fx/fhd.s f32.s; mv a.out f32.o as ../fx/fhd.s f33.s; mv a.out f33.o as ../fx/fhd.s f34.s; mv a.out f34.o as ../fx/fhd.s f35.s; mv a.out f35.o as ../fx/fhd.s f36.s; mv a.out f36.o as ../fx/fhd.s f37.s; mv a.out f37.o as ../fx/fhd.s f38.s; mv a.out f38.o as ../fx/fhd.s f39.s; mv a.out f39.o ld -r ../a.out *.o mv a.out .. rm *.o chdir ../f4 as ../fx/fhd.s f41.s; mv a.out f41.o as ../fx/fhd.s f42.s; mv a.out f42.o as ../fx/fhd.s f43.s; mv a.out f43.o as ../fx/fhd.s f44.s $-4000,x clrb vtcol ret: rts pc vtbs: sub $8.*7,x decb vtcol rts pc vttab: incb vtcol add $8.*7,x bitb $7,vtcol bne vttab rts pc vtpfx: jsr pc,getc mov r0,r1 sub $'7,r1 cmp r1,$2 bhi ret asl r1 jmp *0f(r1) 0: vtrev vthrev vthfor vtrev: add $8.*7,y decb vtlc vthrev: add $8.*7,y decb vtlc rts pc vthfor: sub $8.*7,y incb vtlc rts pc gchar: asl r1 asl r1 asl r1 asl r1 add $chrtab,r1 mov x,-(sp) / reference x mov y,r5 / working y mov $16.,-(sp) / table counter clr i = r3 .globl putch,putoct .globl trswitch .globl trace trace: jsr pc,putch mov i,r0 jsr pc,putoct mov $'\n,r0 jsr pc,putch rts pc .data trswitch: 0 0003,00004,00005,01141,00007,01130, 02042,02145,00003,02157,00005,02160,00007,00008, 01137,01134,00003,00004,00005,00006,00007,00008, 00001,01167,00003,00004,00005,00006,00007,00008, 00001,01055,01055,00004,01075,00006,00007,00008, 00001,00002,00003,00004,00005,00006,00007,001075, 00001,01076,00003,01074,01057,00006,01131,00008, 01135,01050,01174,01173,01050,01051,01175,01051, 01135,01133,01133,01130,00005,00006,00007,00008, 00001,00002,02173,02175,02047,02140,02136,00008, 00001,00002,02176,00004,/ read rp rblk: iocom = 5 ,4373,8233 ,4374,8218,4375,8221,4376,8219,4377,8220,4386,8201 ,4389,8213,4390,8217,4391,8214,4392,8215,4393,8216 ,4394,8223,4395,8306,4396,8222,0,12332,12333,12334 ,12335,4387,8249,4388,8248,4398,8255,4399,8257,4400 ,8252,4401,8256,4402,8253,4403,8254,12311,4387,8249 ,4388,8248,4398,8255,4399,8257,4400,8252,4401,8256 ,4402,8253,4403,8254,12310,4387,8249,4388,8248,4398 ,8255,4399,8257,4400,8252,4401,8256,4402,8253,4403 ,8254,12320,4383,8250,4384,8251,4385,8242,4387,8249 ,4388,8248,4398,8255,4399,8257,4400,8296 ,8222,12291,4096,16384,0,4353,8225,4354,8224,4355 ,8226,4356,8227,4357,8228,4358,8235,4359,8237,4360 ,8236,4361,8234,4362,8238,4367,8240,4368,8241,4369 ,8229,4370,8231,4371,8230,4372,8232,4373,8233,4374 ,8218,4375,8221,4376,8219,4377,8220,4386,8201,4389 ,8213,4390,8217,4391,8214,4392,8215,4393,8216,4394 ,8223,4396,8222,12289,12290,4383,8250,4384,8251,4385 ,8242,4387,8249,4388,8248,4398,8255,4399,8257,4400 ,8252,4401,8256,4402,8253,4403,8254,12292,12295,12297 ,4353,8225,4354,8224,4355,8226,4356,8227,4357,L95GL20018L10012L90L10013L10014L91*L93<L97`L10027L10028L10029L10030L184 L189 L195 L10033L10034L10035L10036L10037L10038L112 L114 L1324 L140 L135^ L130z L180: L168 L165 L117 L158Z L123 L172 L119 L161r L183r L170 L126$ L137~ L139 ~cex_cvtab _opdope _ctab _symbuf _hshused _hshtab _space _cp _cmst P_isn _swtab _swp _contlab _brklab _retlab _deflab _nauto _autolen _peeksym _peekc _eof _line _treebas _debug _defsym _funcsym _xdflg _proflg _stflg _csym _cval _fcval _nchstr _nerror yy)I  9 I y x 9 x I x yy))x ye @ 5@   5_N vf  5e}- = u= ww %@ @t5  @wLw H @\ 6 (   @t% N v -  5 @  -   ~zvr* eb^ZVP eFBs %4 5($ %ite pointer .bss cstrr: .=.+2 /read pointer cstrb: .=.+cstrt /base of quick access fragment status,f); /*DEBUG*/ if((t = (status & 0377)) != 0) { if(t != 2) { printf("Fatal error in %s\n",f); printf("t = %d\n",t); } dexit(); } return((status>>8) & 0377); } flags(argv) char *argv[]; { int j,xx; char *ap; j = 1; ap = argv[1]; while(*++ap != '\0') { switch(*ap) { default: printf("Unrecognized flag: %c\n",*ap); dexit(); case 'c': count = 1; continue; case 'i': /* Ignore file */ if(!xx) { xx = 1; only = 0; ignonl = argv[++j]; }.globl succ .globl iget .globl push push: jsr pc,iget mov (r0),r2 mov r2,r1 1: mov r1,-(sp) jsr pc,iget mov (sp)+,r1 mov r0,-(sp) mov (r0),-(sp) dec r2 bgt 1b mov r1,-(sp) jsr pc,succ / preserve c bit from here on mov (sp)+,r2 1: mov (sp)+,*(sp)+ dec r2 bgt 1b rts pc /pass sret or fret back to invoking rule [] {0,1,1,1,2,2,2,2,2,2 ,4,5,5,6,6,6,6,7,9,10 ,11,12,12,3,3,3,3,3,3,3 ,3,3,3,3,3,3,3,3,3,3 ,3,3,3,3,27,28,29,30,26,26 ,26,26,26,26,24,25,21,21,22,22 ,22,8,8,16,17,19,18,14,15,15 ,15,15,20,13,23,23,23,23,23,23 ,23,23,23,23,23,31,31,31,31,-1}; int yyr2[] {0,1,1,0,1,2,2,1,2,1 ,1,1,2,4,4,4,4,1,1,1 ,1,2,0,3,2,2,2,4,4,4 ,4,4,3,3,1,5,3,3,2,2 ,2,2,2,4,2,2,2,2,1,1 ,1,1,1,1,1,1,2,2,2,2 ,0,1,3,1,1,1,1,2,1,1 ,1,2,1,1,3,1,1,1,1,1 ,1,1,1,1,1,1,1,1,1,-1}; int yygo[] {0,-1,1,0,2,14,73,31,87,119 ,133,-1,98,2,47,7,66,8,67,omp: %s %s\n",a,b); /*DEBUG*/ a--; b--; while(*++a == *++b) { if(*a == '\0') return(1); } return(0); } char buf[512]; int nread 1; get(ifile) int ifile; { char static *ibuf; if(--nread){ return(*ibuf++); } if(nread = read(ifile,buf,512)){ if(nread < 0)goto err; ibuf = buf; return(*ibuf++); } nread = 1; return(0); err: nread = 1; printf("read error\n"); return(0); } int tp[1] 1; int optr[4]; char bsp[512]; char *obuf[1] bsp; int nflush; put(fil,string,n) char *string;?O?nP?PnQ?QT?Q?Q?O?R? 0: .even mov (sp)+,r1 mov (sp)+,r0 0 rts pc compare: mov r0,-(sp) mov $buffer,r0 1: cmp (r0)+,$-1 b; itab.hptr = &ipsp; itab.symt = &issp; itab.hsiz = PTRI; itab.ssiz = CHARI; itab.nsym = 0; itab.curb = 1; if((fi = open(ignonl,0)) < 0) { printf("Cannot open ignore/only file.\n"); dexit(); } if((read(fi,b,6) == 6) && (b[0] == 0100200)) { if(read(fi,itab.hptr,b[1]) < b[1]) { printf("Cannot read ignore/only file.\n"); dexit(); } if(read(fi,itab.symt,b[2]) < b[2]) { printf("Cannot read ignor/only file.\n"); dexit(); } close(fi); } else { close(fi); compile(); } retct/T/cont; collect/U/cont; collect/V/cont; collect/W/cont; collect/X/cont; collect/Y/cont; collect/Z/cont; skip2/a/coll; skip2/b/coll; skip2/c/coll; skip2/d/coll; skip2/e/coll; skip2/f/coll; skip2/g/coll; skip2/h/coll; skip2/i/coll; skip2/j/coll; skip2/k/coll; skip2/l/coll; skip2/m/coll; skip2/n/coll; skip2/o/coll; skip2/p/coll; skip2/q/coll; skip2/r/coll; skip2/s/coll; skip2/t/coll; skip2/u/coll; skip2/v/coll; skip2/w/coll; skip2/x/coll; skip2/y/coll; skip2/z/coll; skip2/A/coll; skip2/B/coll; skip2/C/coll; 10304 4715 303 50304 16707 26 4767 177752 4715 105700 1342 6204 103002 0 677 6304 114 0 . = dldr-500+744 16701 26 12702 352 5211 105711 100376 116162 2 [core*2048.]-400 5267 177756 765 prs end: VV V V ?VSSlWSSvW?W?WSSSS?NN?NNTSTSS?TXN?TXN?fN?fNTT?$T??N??NSS?NN?fN??N??W??W?W?W?W?W?W?W?W?W?? Xw ~w+De+  + % 0w7 +7 +ׯ+- + +(w|+7 ~+ .wr+eXB J ӕ- R r f e0 @ >+ ҋ D~8BXFX *; return(0); } $13,tccm jsr pc,flag / 8Kch for end zone mov $endz,r4 1: jsr r0,mtrack; 101101 dec r4 bne 1b / foreward guard mov $199.,r4 1: jsr r0,mtrack; 10101 dec r4 bne 1b / blocks mov $nblock,r3 1: jsr r0,mtrack; 10101 jsr r0,mtrack; 10110 jsr r0,mtrack; 11010 jsr r0,mtrack; 01000 jsr r0,mtrack; 01000 jsr r0,mtrack; 01000 jsr r0,mtrack; 01000 mov $nword-4,r4 2: jsr r0,mtrack; 111000 dec r4 bne 2b jsr r0,mtrack; 111011 jsr r0,mtrack; 111011 jsr r0,mtrack; 111011 jsr r0,mtrack; 111011 js b ee%5%1e& &%% %.%L%% & %_6u- @w C   3w%g 3" _0" xF%$%_0"_0"&( v(e 3 3 34 4 %#% 4 % %%%2- %  %(;%84%2l %intf("Line too long: %d.\n",lno); dexit(); } if(c & 0200) { printf("Illegal character: %o line %d\n",c,lno); dexit(); } if(fl) { if((*flag[fl])()) continue; } /*printf("cs = %d cc = %c ca = %d\n",cs,c,tab[cs].cl[c]); /*DEBUG*/ if(p = tab[cs].cl[c]) (*acts[p])(); continue; } if(ibuf == ibuf1) return; ibuf = ibuf1; goto top; } init() { int b[3]; auto fi,i; extern coll(),save(),out(),asym(),asw(),csym(),csw(); extern incl(),decl(),sk(),sk2(); extern dexit(); ib, 7 $7 $7 7 w @  7  . $ e!& 7 7   + - 7w t 7 rn7h ' t ~    7  0 wp`w e0YYYI9YY9 init(); i = 0; if(argc == 1) { *ibuf1 = 0; curfl = 2; curf[0] = '_'; curf[1] = '\t'; goto pipe; } while(++i < argc) { curs[4] = '\t'; if(fopen(argv[i],ibuf1) < 0) { printf("Can't open %s\n",argv[i]); dexit(); } curfl = 0; while((curf[curfl] = *argv[i]++) != 0 && curfl <=8) if(curf[curfl++] == '/') curfl = 0; curf[curfl++] = '\t'; if(curfl == 8) curf[8] = -1; pipe: ibuf = ibuf1; lno = 1; driver(); close(file); } flsh(0); close(tp[0]); /* monitor(0); /DEBC=EDCB' P&#&NZfl #!""$^22202##   4 ^ z : Z r r $ ~ 00000000LT\dn````Arg countMissing temp fileCan't create %sTree space botch.globl fltused Missing temp fileI M8M??xM??xM??M?M?M?MMMMMT?MT? N?N?N?.N?BN?FN?NN?NN?TXN?TXN?fN?fN?rN?rN??N??N?N?N??N?fN??N?N?NN?NN?TXN?TXN?fN?fN??N??N?N?TO?(O?? L20002L13L14D L15XL16J _eqnbox"l~eqnboxlbhp1p2L18L17jL19BL20 L21 _size"n~sizenp1p2_numb"|~numb|c `t  5~F? %5"F7# y%3  #_  4@ 478Ze   7_b!   3_ w ``5 5 B 5Nef '% C Cae !u%% ef &% %(_&$ %%   w%%# A1l %( Ne $Ce L &  5%*  5 B@ @ae54N @-#@ !%*@ @a% %  @@54 u-%* \  ~ &  2_z#w b @ @me,55 De,_%%*_%%f5 Ce,M I%*E%@Ap,p(  N d& AA 2r %AA 2r  eC- u-u5ueD- FA1@ @m5L%  5  Nfe L%   Nff L% N =w D 5 w%(Nf&e %  =%$%(Nf&e %  =% r eBA! y" %Pe( ^ x" U 4 % %, p _`%p, N& H%e =_b _`%-&e@@ cc -c -O c0[01234].c cc -c -O c1[0123].c as c1t.s; mv a.out c1t.o cc cvopt.c a.out table.s table.i as table.i; mv a.out table.o cc -c -O c2[01].c ed c0t.s g/fpp =/s/1/0/ w q as c0t.s; mv a.out c0t.o cc -s -n c0?.o cmp a.out /lib/c0 ed c0t.s g/fpp =/s/0/1/ w q as c0t.s; mv a.out c0t.o cc -f -s -n c0?.o cmp a.out /lib/fc0 cc -s -n c1?.o table.o cmp a.out /lib/c1 cc -f -s -n c1?.o table.o cmp a.out /lib/fc1 cc -s -n c2?.o cmp a.out /lib/c2 rm *.o table.i a.out DC(@p@0@pAf r2p 5 _L% N&_T%w w D eD-w w D@( = x2F=a;ADp}5@ =@0=Q-=x@' RF %+A r=A r &@t@t=A_F w w BCJ- `f '%f '%_l( J-  H%*%.B%> 9%(5%/%*eAfVp^ AADtpd       O N M L K I GAmovif,I GAmovfi,I GAsetl movfi,-(sp) movsp)+,I seti setl movif,I seti GBsetl movif(I),I seti GAmov,-(sp) setl movifsp)+,I seti GCsxt GAmovsp)+,I -- -!-P,F-G-NZ-UZ-K-L-M'C GBM'C(I) ML,A KBML(I),A KAMC,A GBML,#(I) GBKJML(J),#(I) GBKIMC,#(I)  M8M??xM??xM??M?M?M?MMMMMT?MT? N?N?N?.N?BN?FN?NN?NN?TXN?TXN?fN?fN?rN?rN??N??N?N?N??N?fN??N?N?NN?NN?TXN?TXN?fN?fN??N??N?N?TO?(O??* ҋ D~8BXFX *ӕ0 $f v Le0 9ev*p* h*b* 7R*we&  m6* 4* 0~  0  0~ w7 * ) )0   )Wp `e0eӕ?f) ,)P ) ) @f ) Z7D') JXZ|)t)-n)f)f@w fw'w&PXwfw&VXJA 7 (fAW,f B@ 8 @&61fA   @ @e7j&1@\X 1w&f@@& HADCBF7F(F6rwH*6r@<=@A>?DEBC=EDCB(KfSVW' P<@#<@d@p@|@@ #!""$vJJJHJ0@@@## @@@A A  L v R r  < HH00HHHHHHbAjArAzAAN& <85& 28 eRNf f%5wR 75& 7  N Nf f%55 Nf b &B /eN @w)%ZN  5 5Nf X%5%(%F %% -Q(K%V% %! 7NfS %56Nf %5_@55  5~F@5 5E 0@ r e@A! y.  _%+%I_ _D5 mov $4005,tccm jsr pc,compare jsr pc,flag tst r4 bne 1b mov $4003,tccm jsr pc,flag1 br error4 jsr pc,compare mov savr5,r5 mov savsp,sp rts pc error1: mov $1,r0 br 1f error2: mov $1,r0 br 1f error3: mov $3,r0 br 1f error4: mov $4,r0 br 1f error5: mov $5,r0 br 1f error6: mov $6,r0 br 1f error7: mov $7,r0 1: mov $1,tccm mov savr5,r5 mov savsp,sp jsr pc,4(r5) ; .even rts pc compare: mov r0,-(sp) mov $buffer,r0 1: cmp (r0)+,$-1 bne error5 cmp r0,$buffer+nwo5:4N f  AAE@ 54N   AE@ u@ 5_x Nf z &B /e_x u- u-3B NB /_ (_ N%Z_x -_t ) 0+_x M_x @  _x %$B /%  _x  p_x %#_x  &_  , % _x  V % _x NB r e@A! yB /'NB_ _x BN_t w <$B 5~F 5~F55N& , 55V 5~F@ 5~F3Nf %3@ 5~F 5~F@3Nf %s@5Nf , 5 e}-@=E@-5ʥ@%$/N&& % $@ 5~F E@-@%$  &f % eʋ_w .B5  @@ 5% C w. r e\@A! y7 < 7f<  e%#>HCHRHYH_HfHkHpHvH|HHHHHHHHHHHHHHHHHHHHHHHHHHHHI IIIIIIII"I&I)I,I/I2I5I9I=I@ICIFIHITIYI[I`IeIjIoIyIIII:,nameshort constantstringfloatdouble*r++*--r++pre--pre++post--post!un&*-~.+-*/%>><<&|^->int->doubledouble->int&&||&~double->longlong->doubleinteger->longlong->integer==!=<=<>=>p>=p=+=-=*=/=%=>>=<<=&=|=^=& for tests=& ~?callcallcallgotoj w4$  Nfe j%  5~F  Nfe j%   Nff j% N =w #D 5~F w#%(Nf&e %  =%$%(Nf&e %  =% r eXAA! y"  %Pe( ^ x8A b U 4 % %, p _~%p, NfS& f%e =_ b _~%Vf = 1; goto loop; /* lead backward */ case 014: leadf = 0; goto loop; /* initialize */ case 000: escf = 1; leadf = 1; rail = 0; mag = 0; font = 0; x = 0; y = 1300; goto loop; default: error("Bad control"); } /* flash code */ case 00: case 01: flash(code&077); goto loop; } error("Eh?"); } done() { fflush(obuf); exit(); } erase() { wvt(2, 01, 01); } flash(c) { char *cp; int sx, sy; int ft; if (font) c =| 0100; if(rail && mag) ft = p'+ N& | @5%' 5 If `%5D%b 0  f 0_x %@%b 0 D(K@e5 5W5V5%(K5%+ %,%I%JO5  %W%$%Z%WZ5u 5~F%uuNf& f%5%(K- O_x 5u_x u-_x    75)00005,00006,00007,00008, 00001,00002,00003,00004,00005,00006,00007,00008, 00001,00002,00003,00004,00005,00006,00007,00008, 00001,00002,00003,00004,00005,00006,00007,00008, }; int fontab[128] { 00000,01150,01164,01156,01155,03154,03151,01172, 01163,01144,01142,01170,01146,02152,01165,01153, xxxxx,01160,01055,02073,xxxxx,01141,01137,01143, 02140,01145,02047,01157,00001,01162,00002,01166, 01055,01167,01161,01057,03056,01147,00003,03054, 01046,01171,xxxxx,01045,xxxxx,01121,01124,01117, 01110,01116,011Z S P W R U \ ] ^ _ ` a } :0j2 & 6  2w 1%A  2X@& l1 A  2@& N1 7rZ @A   2X 17.Z@e-$ZA  2@e7ZBZX 1X 1X 1 5,@X 17WX 1  &Y %7Y 7 Y f f%# 0X 1 lYA /PW 81X@& l1 A  2 0X 1 F/ Y  2wf0w T0C wR0%ZW@Duplicate case (%d)cfcc jbr L%d L%d:tst (sp)+ cmp (sp)+,(sp)+ add $%o,sp %d: %c%oEEEE! r * * r * * dr D" AWp 8 E / .)*)ffD /e ),b, *E / eN/E / %M( (( (Nff((ffJD /e ( 4E / e N8E / C@E / e NEE / jE /w(@t5M5 @ @a0 Z u-N&& Z2% @a Ze 5 5 @ @ap-Z@ @a5Z u-AupA- uAupu @ @-v' p'l'h' b'Nm ffP'fD /e <'5 2'NmJE / u-5 *' 'OE / N&& Z2%@-N&& H2%WE / e ㆵ u-& &[E / 5 u-_N`E / N&& Z2%@-eE / e 놵 w 4CB 05 '4- qE  w4- 54t5 te ׂ  w C  %% 1w w ~B b#  %*.%+-%HLK  w2w DC B_tC7^( y & %5& $ e& eN _& & e& & e& e_ z$5& p$ e&  & &  z  k   s & _  mts = 172520 mtc = 172522 mtbrc = 172524 mtcma = 172526 tread: 1: mov ba,mtma cmp mtapa,tapa beq 1f bhi 2f jsr pc,rrec br 1b 2: jsr pc,rew br 1b 1: mov wc,r1 1: jsr pc,rrec add $256.,r1 bmi 1b rts pc rrec: mov $mts,r0 bit $2,(r0)+ bne rrec tstb (r0)+ bpl rrec inc r0 mov $-512.,(r0)+ mov mtma,(r0) mov $mtc,r0 mov $60003,(r0) 1: tstb (r0) bpl 1b tst (r0)+ bpl 1f mov $-1,(r0) mov $60013,-(r0) br rrec 1: add $512.,mtma inc mtapa rts pc rew: mov $60017,*$mtc clr mtapa rts pto loop; /* lower rail */ case 001: rail = 0; goto loop; /* upper mag */ case 003: mag = 1; goto loop; /* lower mag */ case 004: mag = 0; goto loop; /* upper font */ case 006: font = 1; goto loop; /* lower font */ case 005: font = 0; goto loop; /* escape forward */ case 007: escf = 1; goto loop; /* escape backward */ case 010: escf = 0; goto loop; /* stop */ case 011: error("done"); /* lead forward */ case 012: leadase(); y = 1300; } } else { y =+ esc; /* if (y>1300) error("Off top"); */ } goto loop; /* control, size change */ case 02: if ((code&020) != 0) { /* size */ esc = code & 017; if (esc==15) error("Bad size"); size = sizetab[esc]; wvt(3, 1, 4, size); if (dflag & single[esc]) x =+ 55; if (!dflag & !single[esc]) x =- 55; dflag = !single[esc]; goto loop; } switch(code&017) { /* control */ /* upper rail */ case 002: rail = 1; gohSwitch table overflowDefault not in switchUnknown keywordRedefinitionStatement syntaxExpression too largeStatement syntaxUndefined structure: %.8sNot an argument: %.8s%.8s undefined~%.8s=%c%o ~%.8s=L%d Conflict in storage classType clashMisplaced 'long'Bad structure name%.8s redeclaredDimension/struct table overflowiy))ytermTERMtokenTOKENleftLEFTnonassocNONASSOCbinaryBINARYrightRIGHTprecPRECinvalid escape, or illegal reserved word: %s%s should have been defined earliereof before %%}yyvalyyvalv(yypv%c%d)yypv[%d]EOF inside commentEOF in string or character constantaction does not terminatenonterminal %s not defined! %s: %d too many statesputitem(%s), state %d yacc error--duplicate itemout of state space%d: %s %d, %s %d, working set overflow State %d, nolook = %d flag set! %s     XX@ 5u-_H @  5@  5@ 7 yN @ K @   NNNm Q N @   @ T NNNm Z N " A A @  @ ]  A A @l  NNNm c   Nm %R   u @  u-wXw T L7H@ 5@ 5@ 5@ 5@ 506L10007L58~summarypnisL60zL61_printf L62L63L64L65(L20021L67$L69L70L71L72^L20023FL75L76 L77*L78PL79sL80L81L82L83 L84 L850 L86c L87t L10008zL59L89 L90L91 L92L93 L94L95 yi9X99 )999 9 i9 H 9 H H i9  9 H H 9 9 ip=1 count=3999 : 8100 : dd if=../util/rkuboot ibs=512 count=1 conv=sync : 8101 thru 12099 : dd if=/dev/rk0 bs=512 skip=1 count=3999 aregtregL100380L89@_arlengt"HL10040 L20031TL107fL101xL105`~arlengtHtL100nL99jL20033Z_dirsw# L108 _simpsw# L109 _hashsw#6 L1106 _pswitch"~~pswitch~deflabfptlablptabsbestpoctabZijafpalpncaserangeswpworstL112L113 L111_sortjle  $ %%  eu@E%N 5f %#  &  xe?fe`( @E%_$ _%4  f % _&_5 %%  5%52 5 N &&  te5@tE5E @555%P %% 55 u5 $%%D-55 %> %%e%_cbranch"L10050 L10051 L201 L200 L194 L197 L192 ~cbranchalblareg condoptreelblregatreel1L191 L10052 L195b L20063H _label" L20067 L20071z L20069 L10047 L10048 _rcexpr L202& L203Z L10053< L204N L206l L207%L10054v L10055z _branch" ~branch opclblaop` Cc % bN(K $% wT%fS_%(K_ 7 _C%fS%_FN $%F%(K D%nA \G< \G]B8N(K $% 5%W%Z%W- &f@B /e S%VfRB /%_vB  _Fw *Bu@ 5~F5%5 %6%"_%V_N85& 8 eNf@ f% 8  N Nf@ f%b8 ^8 @ZW%V page[ll%PL]=0; } fetch (ll%PL); cp = 0; continue; case '\0': continue; case ESC: c = getchar(); if (c == '7') { store(ll%PL); ll--; fetch (ll%PL); } else { outc (ESC, &line); outc (c, &line ); } continue; case '\r': line = lbuff; continue; case '\t': outc (' ', &line); cp = line-lbuff; while (cp++%8) outc(' ', &line); continue; default: outc(c, &line); } for (i=0; i  _%\ N 21 5u-_w X 7HCHRHYH_HfHkHpHvH|HHHHHHHHHHHHHHHHHHHHHHHHHHHHI IIIIIIII"I&I)I,I/I _ !5%  = %\  !5\ u-_N ^!5 r e8A! y%02%9.@e7H%0 5 5%0w$ _%9 upAmew%a%z%A%Z %_%.%$:lDu%a%z%A%Z%0%9 %_%.%$N  H#B#:# 5@_w #  _=  _b=  _b= xxxxArg countMissing temp fileCan't create %sTree space botch.globl fltused Missing temp fileIllegal initialization.bss L%d:.=.+4 .text mov%c r%d,r0 mov%c r%d,%c(sp) tst%c r%d No code table for op: %sNo code table for op %dmov%c r%d,r%d mov%c r%d,r%d Register overflow: simplify expressionr%d*tst r%d adcsbc r%d  Bb"|@NHNHHHn*+,HIJ<::<::FVVhhzzb "56  $L%d(r%d)r%dCompiler error: pname(r%d)%c%c(r%d)pname called illegallyIllegal use of registerL%d_%.8s%sNo match' for op %dcmp r0,$%o jhi L%d asl r0 jmp *L%d(r0) .data L%d:mov $L%d,r1 mov r0,L%d L%d:cmp r0,(r1)+ jne L%d jmp *L%d-L%d(r1) .data L%d:mov r0,r1 clr r0 div $%o,r0 asl r1 add $L%d,r1 mov r0,*(r1)+ mov (r1)+,r1 L%d:cmp r0,-(r1) jne L%d jmp *L%d-L%d(r1) .data L%d:jbr L%d sub $%o,r0 L%d L%d %o L%d:.. L%d L%d L%d L%d:.. %o L%d:L%d L%d .text _%2 5@ "r%/_7& & & v(e2 2 25L "5& 5% @-%% r? %% ,% %$%    &  5   &  5 r eEA! y"U & &&_: % $ v(e Nf  2%wf%U(A p_%5DC(@p@0@pAf r2p 5 _R% N&_Z%w w D eD-w w D@( = x2F=a;ADp}5@ =@0=Q-=x@' RF %+A r=A r &@t@t=A_F w w BCJ- `f "'%f "'%_r( J-  H%*%.B%> 9%(5%/%*eAfVp^ AAfS f%V f%@ 5~F=%%  e@?5  E /  f& %ww D Jf& `%E /NE / wdw RNE / wNw <@  xCE / ENE / ww  = ==;E / Nff f fff /e  0 7=ww  D -E /%ww B __%     ~F5_5 ӕ0 $f v Le0 9e** ** 7*we&  m* * 0~  0  0~ w7 Z* P* L*0   8*Wp `e0eӕ?f * ,*P * * @f ) Z7>') JXZ))-))f@w fw&w&PXwfw&VXJA 7 H)fAW,f B@ 8 @&61fA   @ Dtp0(%( "5 @ `, "5!@ `5,@ `,BD " `,w w L25BeCe~-42nF  272@wt movclrcmptstaddsubincdecmuldivasrashaslbicbic $1,bitbit $1,bisbis $1,xornegcom*$jeqjnejlejgtjltjgejlosjhijlojhis/nopjbr ?K?K?K?K?K?K??K??K?K?K?L?L?L?L?L?&L?6L?JLhL?xLTLLT?L?LLT M8M??xM??xM??M?M?M?MMMMMT?MT? N?N?N?.N?BN?FN?NN?NN?TXN?TXN?fN?fN?rN?rN??N??N?N?N??N?fN??N?N?NN?NN?TXN?TXN?fN?fN??N??N?N?TO?(O??@p ҋ D~8BB pӕ0 $f v Le0 9eoo oo 7owe&  mo o 21~  21  21~ w7 |o ro no0   ZoWp `e0eӕ?fBo ,8oP .o (o @f  o ~7n B~nn-nnf VlPlHl  78l 4l 0l7*n 7 lf@l _fcval _nchstr _nerror _paraml _parame _strflg _osleft _mosflg _initflg _inhdr _dimtab _obuf _sbuf _dimp _regvar _funcblk _extdef"~extdefdselsizetypesclassocsv _symbol L1_getkeyw" L10000TL2L6`_blkhed" _decl1 L7b_printf L8L10001L4_decref _cfunc"_cinit"|L11p_error Y IIY Y yyyyY Y  IY  IY Y iYY8228 ,4358,8235,4359,8237,4360,8236,4361,8234,4362,8238 ,4369,8229,4370,8231,4371,8230,4372,8232,4373,8233 ,4374,8218,4375,8221,4376,8219,4377,8220,4386,8201 ,4389,8213,4390,8217,4391,8214,4392,8215,4393,8216 ,4394,8223,4396,8222,0,4394,8261,0,4394,8262 ,0,4394,8263,0,4394,8264,0,4353,8225,4354 ,8224,4355,8226,4356,8227,4357,8228,4358,8235,4359 ,8237,4360,8236,4361,8234,4362,8238,4367,8197,4368 ,8198,4369,8229,4370,8231,4371,8230,4372,8232,4373 ,8233,4374,8218,4375,8221,4376,8219,4377,8220,4386 ,8201,4389,8_cvtab#_opdope#_ctab#_symbuf _hshused _hshtab _space _cp _cmst P_isn _swtab _swp _contlab _brklab _retlab _deflab _nauto _autolen _peeksym _peekc _eof _line _treebas L20035 L20034 L124 L125 _prins L1270 L1298 L131H L20036V L10019r L138 L141 L142 L143 L10020 L144. _collcon L146* L147D L148T L149v L10021h L150p L10022 L152 L1558 L10023$ L10024 _xdcalc L157L160x L162 L163L164L20037 L171 L174 L175L176& L182L10026 L190L20030erm[] { "%s", 0 }; char *yysnter[] { "%s", "%s" }; %d/%d terminals, %d/%d nonterminals %d/%d grammar rules, %d/%d states %d shift/reduce, %d reduce/reduce conflicts reported %d/%d working sets used memory: states,etc. %d/%d, parser %d/%d %d/%d distinct lookahead sets %d extra closures %d action entries %d action entries saved through merging %d states %d goto entries %d entries saved by goto default conflicts: %d shift/reduce, %d reduce/reduce fatal error: , line %d int %s[] {0# `t  5~F? %5"F7# y%3  #_  4@ 47b8Ze   D8_h! "  3_ w ``5 5 B 5Nef "'% C Cae !u%% ef &% %(_,$ %%   w%%# A1l %( Ne $Ce L &  5%* ?O?O?nP?PnQ?QT?Q?Q?O?R?+ ҋ D~8BXFX *@e7d&1@\X 1w&f@@& HADCBF7(F6rw*6r@ J&**7*B]PP7 v*EDE!wE\*ED5!5! w |bXW!wZ44w643  xXwW! B  wZ44 wL4"4 w64 4w643  X)E7)E)U)E@)U@) )  ]E UUB]))) L) $BE? e]CE e@]@E xX5 )e5(5@(eY@] H e] 5@(> L]; N]66  N](R] `&e  N]   N](e(bww5Q$\ ] f   EU P5'   P\fPPQ7 '5    5 C B A  `5'  5p'  5^'  eE\  "$ $5"' $$ 5&  5&  \5@&  wL   w>\ \& (    5@x&  Z& B    @& UJ&w\ ,& w\ &w&w&w  7 % %a %U%%W 8U] W 8E\fc     ` \ ]-%% a h h   \ \a  ! p ]\R B\ %W !W e UETR5$  5$  U$wp   \]   7 $r@\r@]  e  JW!]W!(] 5h$7 `$e  , J$N$@$ f\    \]$ $$$]& N & N  N N S C B A  eW!\Շ w^ m## # rf]5#e        W!]\P    0&\d& dN & dN dC N eN e-.#8#$##<=@A>?DEBC=EDCB(KfSVW' P<@#<@d@p@|@@ #!""$|PPPNP6@@@## @@@A A  R | X x  B NN66NNNNNNbAjArAzAA~~~~Arg countMissing temp fileCan't create %sTree space botch.globl fltused Missing temp fileIllegal initialization.bss L%d:.=.+4 .text mov%c r%d,r0 mov%c r%d,%c(sp) tst%c r%d No code table for op: %sNo code table for op %dmov%c r%d,r%d mov%c r%d,r%d Register overflow: simplify expressionr%d*tst r%d adcsbc r%d """""Hh(FTNTNNNt*+,HIJB@@B@@L\\nnh "56&$L%d(r%d)r%dCompiler error: pname(r%d)%c%c(r%d)pname called illegallyIllegal use of registerL%d_%.8s%sNo match' for op %dcmp r0,$%o jhi L%d asl r0 jmp *L%d(r0) .data L%d:mov $L%d,r1 mov r0,L%d L%d:cmp r0,(r1)+ jne L%d jmp *L%d-L%d(r1) .data L%d:mov r0,r1 clr r0 div $%o,r0 asl r1 add $L%d,r1 mov r0,*(r1)+ mov (r1)+,r1 L%d:cmp r0,-(r1) jne L%d jmp *L%d-L%d(r1) .data L%d:jbr L%d sub $%o,r0 L%d L%d %o L%d:.. L%d L%d L%d L%d:.. %o L%d:L%d L%d .text Duplicate case (%d)cfcc jbr L%d L%d:tst (sp)+ cmp (sp)+,(sp)+ add $%o,sp %d: %c%oEEEE! # define PL 102 # define ESC 033 # define SI 017 # define SO 016 # define LINELN 800 char *page[PL]; char lbuff [LINELN], *line; main () { int c, i, j, ll, cp, mustwr; extern int fin, fout; fin = dup(0); fout = dup(1); for (ll=0; ll0) switch (c = getchar()) { case '\n': store (ll%PL); if (++ll >= mustwr) if (page[ll%PL] != 0) { printf ("%s\n",page[ll%PL]); mustwr++; free (page[ll%PL]); ijgapmidwnlistp1p2L10000LL10001PL42L20008L45L20010L10002FL10003PL48L49 L50L20012tL53* L540 L55A L56L57L58H L100076L63K L64Q L20013L66T L67Z L70] L71c L72z L73 L20015 _shift2" ~shift2 b1b2b3subsh+2(I) ML,A KAMC,A GBML,#(I) KBGJML(I),#(J) KAGJML,#(J) GBKJML(J),#(I) GBKIML,#(I) GDKBML(I),*(sp)+ GDKAML,*(sp)+ M'C M,A KBM(I),A KAM,A GBM'C(I) KBGJM(I),#(J) KBmovC',J M(I),J movC,A KAmovC',J M,J movC,A KAGJM,#(J) KCGBMsp)+,#(I) KCGBmovC(I),J Msp)+,J movC,#(I) asrC GBasrC(I) aslC GBaslC(I) ash,A KBash(I),A KAash,A j ..7.".#.$.%.(.).*.+.-...Q.0.< .= .> .? .@ .A .B .C .D .E .H.I.O.movo-!-P,F-G-NT-UT-K-L-M'C GBM'C(I) ML,A KBML(I),A KAMC,A GBML,#(I) GBKJML(J),#(I) GBKIMC,#(I) KBGJML(I),#(J) KAGJMC,#(J) GDKBML(I),*(sp)+ GDKAMC,*(sp)+ clr clr+ mov,A+ sxt mov,A mov+,A+ mov(I),A+ sxt KAmov,A+ sxt KAsetl movfi,A seti KAGJsetl movfi,#(J) seti KBmov(I),A mov+2(I),A+ KAmov,A movsp)+,A+ GBmov,#+2(I) sxt(I) KAGJmovsp)+,#+2(J) mov,#(J) GBKImov+2,#(I) sxt(I) KCGBmovsp)+,#+2(I) sxt(I) KCGBmovsp)+,#(I) movsp)+,#vC',I sxt- div,I- movC,A KCmovC',I sxt- divsp)+,I- movC,A KCGJmovC(J),I sxt- divsp)+,I- movC,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- mov,*(sp)+ KCmovb',I xor,(sp) movsp)+,I movb,A GDmovC(sp),-(sp) KAxor,(sp) movCsp)+,I movC,*(sp)+ movC',I asr movC,A GBasrC(I) movC(I),I movif,I GBmovif(I),I GAmovif,I GAmovfi,I GAsetl movfi,-(sp) movsp)+,I seti setl movif,I seti GBsetl movif(I),I seti GAmov,-(sp) setl movifsp)+,I seti GCsxt GAmovsp)+,I -- >HCHRHYH_HfHkHpHvH|HHHHHHHHHHHHHHHHHHHHHHHHHHHHI IIIIIIII"I&I)I,I/I2I5I9I=I@ICIFIHITIYI[I`IeIjIoIyIIII:,nameshort constantstringfloatdouble*r++*--r++pre--pre++post--post!un&*-~.+-*/%>><<&|^->int->doubledouble->int&&||&~double->longlong->doubleinteger->longlong->integer==!=<=<>=>p>=p=+=-=*=/=%=>>=<<=&=|=^=& for tests=& ~?callcallcallgotoj clint: rti dr11int: bic $2,drsc movb drrc,*lchar tst drrc bge 1f inc eof br 3f 1: inc lchar inc nchar cmp lchar,$charb+nbuf bne 3f mov $charb,lchar 3: jsr pc,stardr 2: rti char: bit $!177,r0 jne disp jsr r5,idle; 10 rts pc mov r0,r1 sub $40,r1 bpl gchar movb chrsw+40(r1),r1 jmp *0f(r1) 0: ret / ignore vtnl vtcr vtbs vttab vtpfx ret / was escape vtnl: sub $16.*7,y incb vtlc incb vtlc cmpb vtlc,$[256.\/7]*2-6 blt vtcr mov $3777,y clrb vtlc jsr pc,cerase vtcr: movf,I GBmovof(I),I GEHAj.(.).7.0.clrC(sp) mov,-(sp) GBmov(I),-(sp) mov+,-(sp) mov,-(sp) GCM'sp) GCM,(sp) GCKBM(I),(sp) GCKAM,(sp) /d/o/x0f&0e/c/s/l40rZ2I5I9I=I@ICIFIHITIYI[I`IeIjIoIyIIII:,nameshort constantstringfloatdouble*r++*--r++pre--pre++post--post!un&*-~.+-*/%>><<&|^->int->doubledouble->int&&||&~double->longlong->doubleinteger->longlong->integer==!=<=<>=>p>=p=+=-=*=/=%=>>=<<=&=|=^=& for tests=& ~?callcallcallgotojump condbranch condset nregsload valueforce registerP((<((j((=((>((?((@((A((B((C((D((E(((((F(()((G(((((( ((!((*((H((+((I((,((J((-((K((.((L((/((W((7((U((Q((0))N))1))O))%))&))b))c))< )$)=$) )>(),)?0)4)@4)0)A,)()B8)=)CB)F)DF)B)E=)8) )$)$) )(),)0)4)4)0) ,)()  )$) L)Q) Q)L) $) )j)6+6+ )!)%*&*bf)cf)P*(`*)`***++,+-*.`*7`*0`*1*F6+G6+H+I+J,K6,L+N6+U6+O",fX)3D,4X,8`,9h,:|,;,jmp GBjmp(I) jsrc,MA GBjsrc,#(I) GAjsrc,d       movC,I KAGJmovf,#(J) KAGJmovfo,#(J) GDKAmovC,*(sp)+ GDKAmovfo,*(sp)+ GAGAM' GAMD,I GAKJMD(J),I GAKIMP,I KDGAMD(sp)+,I KCGAMPsp)+,I GAM,I M+,(sp) VGAKIMsp)+,(sp) VM,I KCGAMsp)+,2(sp) VMsp)+,(sp) GCKAxor,(sp) movsp)+,I GAasr GATsxt- div,I- GATsxt- KJdiv(J),I- GATsxt- KIdiv,I- KCGATsxt- divsp)+,I- M,A' mov,I movC',I MP,I movC,A KBM(I),A' mov,I KAM,A' mov,I KBGJM(I),#(J) mov(J),I movf',I KIMP,I movf,A KCmovC',I MPsp)+,I movC,A KCmovof',I MPsp)+,I movfo,A KAGJM,#(J) mov(J),I KCGBMsp)+,#(I) mov(I),I GDKCmovC2(sp),I MPsp)+,I movC,*(sp)+ KCGBmovC(I),I MPsp)+,I movC,#(I) KCGBmovof(I),J MPsp)+,J movfo,#(I) movf,I movC',I sxt- divP,I- movC-,A KCmovC',I sxt- divsp)+,I- movC-,A KCGJmovC(J),I sxt- divsp)+,I- movC-,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- movC-,*(sp)+ movC',I sxt- div,I- movC,A KCmovC',I sxt- divsp)+,I- movC,A KCGJmovC(J),I sxt- divsp)+,I- movC,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- mov,*(sp)+ KCmovb',I xor,(sp) movsp)+,I movb,A GDmovC(sp),-(sp) KAxor,(sp) movCsp)+,I movC,*(sp)+ movC',I asr movC,A GBasrC(I) movC(I),I movif,I GBmovif(I),I GAmovif,I GAmovfi,I GAsetl movfi,-(sp) movsp)+,I seti setl movif,I seti GBsetl movif(I),I seti GAmov,-(sp) setl movifsp)+,I seti GCsxt GAmovsp)+,I -- -!-P,F-G-NZ-UZ-K-L-M'C GBM'C(I) ML,A KBML(I),A KAMC,A GBML,#(I) GBKJML(J),#(I) GBKIMC,#(I) KBGJML(I),#(J) KAGJMC,#(J) GDKBML(I),*(sp)+ GDKAMC,*(sp)+ clr clr+ mov,A+ sxt mov,A mov+,A+ mov(I),A+ sxt KAmov,A+ sxt KAsetl movfi,A seti KAGJsetl movfi,#(J) seti KBmov(I),A mov+2(I),A+ KAmov,A movsp)+,A+ GBmov,#+2(I) sxt(I) KAGJmovsp)+,#+2(J) mov,#(J) GBKImov+2,#(I) sxt(I) KCGBmovsp)+,#+2(I) sxt(I) KCGBmovsp)+,#(I) movsp)+,#+2(I) ML,A KAMC,A GBML,#(I) KBGJML(I),#(J) KAGJML,#(J) GBKJML(J),#(I) GBKIML,#(I) GDKBML(I),*(sp)+ GDKAML,*(sp)+ M'C M,A KBM(I),A KAM,A GBM'C(I) KBGJM(I),#(J) KBmovC',J M(I),J movC,A KAmovC',J M,J movC,A KAGJM,#(J) KCGBMsp)+,#(I) KCGBmovC(I),J Msp)+,J movC,#(I) asrC GBasrC(I) aslC GBaslC(I) ash,A KBash(I),A KAash,A j..7.".#.$.%.(.).*.+.-...Q.0.<.=.>.?.@.A.B.C.D.E.H.I.O.movof,I GBmovof(I),I GEHAj.(.).7.0.clrC(sp) mov,-(sp) GBmov(I),-(sp) mov+,-(sp) mov,-(sp) GCM'sp) GCM,(sp) GCKBM(I),(sp) GCKAM,(sp) /d/o/x0f,0e/c/s/l:0rZV3d3t3333333l3|3366355553328886z575586^66606644^4h444444 5 B@ @ae54N "@-#@ !%*@ @a% %  @@54 u-%* b  ~ &  2_#w b @ @me,55 De,_%%*_%%f5 Ce,M I%*E%@Ap,p(  N j& AA 2r %AA 2r  eC- u-u5ueD- FA1@ @m5DC(@p@0@pAf r2p 5 _R% N&_Z%w w D eD-w w D@( = x2F=a;ADp}5@ =@0=Q-=x@' RF %+A r=A r &@t@t=A_F w w BCJ- `f "'%f "'%_r( J-  H%*%.B%> 9%(5%/%*eAfVp^ AADtp0(%( "5 @ `, "5!@ `5,@ `,BD " `,w w L25BeCe~-42nF  272@wt movclrcmptstaddsubincdecmuldivasrashaslbicbic $1,bitbit $1,bisbis $1,xornegcom*$jeqjnejlejgtjltjgejlosjhijlojhis/nopjbr ?K?K?K?K?K?K??K??K?K?K?L?L?L?L?L?&L?6L?JLhL?xLTLLT?L?LLT M8M??xM??xM??M?M?M?MMMMMT?MT? N?N?N?.N?BN?FN?NN?NN?TXN?TXN?fN?fN?rN?rN??N??N?N?N??N?fN??N?N?NN?NN?TXN?TXN?fN?fN??N??N?N?TO?(O??+ ҋ D~8BXFX *ӕ0 $f v Le0 9e** ** 7*we&  m* * 0~  0  0~ w7 Z* P* L*0   8*Wp `e0eӕ?f * ,*P * * @f ) Z7>') JXZ))-))f@w fw&w&PXwfw&VXJA 7 H)fAW,f B@ 8 @&61fA   @ @e7d&1@\X 1w&f@@& HADCBF7(F6rw*6r@ J&**7*B]PP7 v*EDE!wE\*ED5!5! w |bXW!wZ44w643  xXwW! B  wZ44 wL4"4 w64 4w643  X)E7)E)U)E@)U@) )  ]E UUB]))) L) $BE? e]CE e@]@E xX5 )e5(5@(eY@] H e] 5@(> L]; N]66  N](R] `&e  N]   N](e(bww5Q$\ ] f   EU P5'   P\fPPQ7 '5    5 C B A  `5'  5p'  5^'  eE\  "$ $5"' $$ 5&  5&  \5@&  wL   w>\ \& (    5@x&  Z& B    @& UJ&w\ ,& w\ &w&w&w  7 % %a %U%%W 8U] W 8E\fc     ` \ ]-%% a h h   \ \a  ! p ]\R B\ %W !W e UETR5$  5$  U$wp   \]   7 $r@\r@]  e  JW!]W!(] 5h$7 `$e  , J$N$@$ f\    \]$ $$$]& N & N  N N S C B A  eW!\Շ w^ m## # rf]5#e        W!]\P    0&\d& dN & dN dC N eN e-.#8#$##<=@A>?DEBC=EDCB(KfSVW' P<@#<@d@p@|@@ #!""$|PPPNP6@@@## @@@A A  R | X x  B NN66NNNNNNbAjArAzAA~~~~Arg countMissing temp fileCan't create %sTree space botch.globl fltused Missing temp fileIllegal initialization.bss L%d:.=.+4 .text mov%c r%d,r0 mov%c r%d,%c(sp) tst%c r%d No code table for op: %sNo code table for op %dmov%c r%d,r%d mov%c r%d,r%d Register overflow: simplify expressionr%d*tst r%d adcsbc r%d """""Hh(FTNTNNNt*+,HIJB@@B@@L\\nnh "56&$L%d(r%d)r%dCompiler error: pname(r%d)%c%c(r%d)pname called illegallyIllegal use of registerL%d_%.8s%sNo match' for op %dcmp r0,$%o jhi L%d asl r0 jmp *L%d(r0) .data L%d:mov $L%d,r1 mov r0,L%d L%d:cmp r0,(r1)+ jne L%d jmp *L%d-L%d(r1) .data L%d:mov r0,r1 clr r0 div $%o,r0 asl r1 add $L%d,r1 mov r0,*(r1)+ mov (r1)+,r1 L%d:cmp r0,-(r1) jne L%d jmp *L%d-L%d(r1) .data L%d:jbr L%d sub $%o,r0 L%d L%d %o L%d:.. L%d L%d L%d L%d:.. %o L%d:L%d L%d .text Duplicate case (%d)cfcc jbr L%d L%d:tst (sp)+ cmp (sp)+,(sp)+ add $%o,sp %d: %c%oEEEE! x 0 0 x 0 0 jx J" B!H"H"%&3\"h"p""&'&&&&'&&&''''''Divide checkC error: constExp. ov. pass 2<<888888888HCHRHYH_HfHkHpHvH|HHHHHHHHHHHHHHHHHHHHHHHHHHHHI IIIIIIII"I&I)I,I/I\`w  _%_75  Nefe %%M% H 7 & f eB~eb 7 dE% R7N%% 78e  | % % p  t  ww N N   7%   7ww @@E  E%N  r55%  fVpC  tk h {qwxevbmhSwitch table overflowDefault not in switchUnknown keywordRedefinitionStatement syntaxExpression too largeStatement syntaxUndefined structure: %.8sNot an argument: %.8s%.8s undefined~%.8s=%c%o ~%.8s=L%d Conflict in storage classType clashMisplaced 'long'Bad structure name%.8s redeclaredDimension/struct table overflowiy))y)Hyiy)iHy)yy))7 % %upN Efe %_^ Ne 5%f&f be 5% %7w& f&f be%# 5ru NN  Ame 5rA f r upN  @E% @E % @E% AA @@5 ww CB 7%-%)r  ffe %-P  HN @# 7 2w ,(?% :  7 iy)) I I  )yy y ii5 5%; 6 xD  - %  fe  5w   % w wt   %   =@w 2 * $%ʋʕ   0 ʥ w 7 %  wʥ E /7   Ew| x% E e E 0w 6%d0!  wPPL101L100~lintyptL93~error fsp1p2p3 p4 p5p6_fflush L103 _printf _putchar ~blockxanapopoldpd nptp1 p2p3_gblock"L107~gblocknpL109L110 _exit ~chklvalappL111L113 L10027& L126L127L10025L118:L119PL120TL121\L122fL129L128L123nL124vL125z~foldopap1ap2p1v1v2L115L114L116<L20019XL20020b_conexp"~conexpt_tree L132L134 PP2ppppp &v"(8Hl^ B Z ^ > \\\\2xxxxx.globl _%.8s External definition syntax.text _%.8s: ~~%.8s: Compound statement requiredL%d:jmp cret .comm _%.8s,%o .data _%.8s=. .=.+%o .=.+%o Too many initializers.even _%.8s=L%d .=.+%o .byte %o %o;%o %o;%o;%o;%o Inconsistent external initializationUnexpected EOFmov $L%d,r0 jsr pc,mcount .bss L%d:.=.+2 .text jsr r5,csv tst -(sp) sub $%o,sp Missing '}'Case not in switciiyyiyi)iyih * x+ % %#2 %e7&= e %% D w%% && & h e & 7t5&6w dJ wXw T L 7l  y o w, < e ~     %    %7   _ x  _, t_, l_, 5 Z%aN Z x :0 0 *f %  * yy)I  9 I y x 9 x I x yy))x y%;  f %   f % %_< %%__  f %  l%%^X T    _74,($7    7 &  & %   _ _ _  5   x t%_< %b_< f P& %D <_, 4 .%_<     ) x      yx )y y y_% e _ r5  f& & n e & |_  %[v7rjfb` \XV R C_ < 8%:%7 .*ˋ.˕     7%__7 & %_;  t _w 2 %N %8 %@[xrp l h5 `%+TNJ % L 6e,7.Ce$C &  9 y)) yiyy yyiiiiii) y)y yy)) iiii iy ee%5%1e& &%% %.%L%% & %_0u- @w C   3w%g 3" _*" xF%$%_*"_*"&( p(e 3 3 34 4 %#% 4 % %%%2- %  %(;%84%2l %# `t  5~F? %5"F7# y%3  #_  4@ 478Ze   7_b!   3_ w ``5 5 B 5Nef '% C Cae !u%% ef &% %(_&$ %%   w%%# A1l %( Ne $Ce L &  5%*  5 B@ @ae54N @-#@ !%*@ @a% %  @@54 u-%* \  ~ &  2_z#w b @ @me,55 De,_%%*_%%f5 Ce,M I%*E%@Ap,p(  N d& AA 2r %AA 2r  eC- u-u5ueD- FA1@ @m5DC(@p@0@pAf r2p 5 _L% N&_T%w w D eD-w w D@( = x2F=a;ADp}5@ =@0=Q-=x@' RF %+A r=A r &@t@t=A_F w w BCJ- `f '%f '%_l( J-  H%*%.B%> 9%(5%/%*eAfVp^ AADtp0(%( 5 @ `, 5!@ `5,@ `,BD " `,w w 15BeCe~-1nF  271@wt movclrcmptstaddsubincdecmuldivasrashaslbicbic $1,bitbit $1,bisbis $1,xornegcom*$jeqjnejlejgtjltjgejlosjhijlojhis/nopjbr ?K?K?K?K?K?K??K??K?K?K?L?L?L?L?L?&L?6L?JLhL?xLTLLT?L?LLT M8M??xM??xM??M?M?M?MMMMMT?MT? N?N?N?.N?BN?FN?NN?NN?TXN?TXN?fN?fN?rN?rN??N??N?N?N??N?fN??N?N?NN?NN?TXN?TXN?fN?fN??N??N?N?TO?(O??* ҋ D~8BXFX *ӕ0 $f v Le0 9ev*p* h*b* 7R*we&  m6* 4* 0~  0  0~ w7 * ) )0   )Wp `e0eӕ?f) ,)P ) ) @f ) Z7D') JXZ|)t)-n)f)f@w fw'w&PXwfw&VXJA 7 (fAW,f B@ 8 @&61fA   @ @e7j&1@\X 1w&f@@& HADCBF7F(F6rwH*6r@<=@A>?DEBC=EDCB(KfSVW' P<@#<@d@p@|@@ #!""$vJJJHJ0@@@## @@@A A  L v R r  < HH00HHHHHHbAjArAzAAxxxxArg countMissing temp fileCan't create %sTree space botch.globl fltused Missing temp fileIllegal initialization.bss L%d:.=.+4 .text mov%c r%d,r0 mov%c r%d,%c(sp) tst%c r%d No code table for op: %sNo code table for op %dmov%c r%d,r%d mov%c r%d,r%d Register overflow: simplify expressionr%d*tst r%d adcsbc r%d  Bb"|@NHNHHHn*+,HIJ<::<::FVVhhzzb "56  $L%d(r%d)r%dCompiler error: pname(r%d)%c%c(r%d)pname called illegallyIllegal use of registerL%d_%.8s%sNo match' for op %dcmp r0,$%o jhi L%d asl r0 jmp *L%d(r0) .data L%d:mov $L%d,r1 mov r0,L%d L%d:cmp r0,(r1)+ jne L%d jmp *L%d-L%d(r1) .data L%d:mov r0,r1 clr r0 div $%o,r0 asl r1 add $L%d,r1 mov r0,*(r1)+ mov (r1)+,r1 L%d:cmp r0,-(r1) jne L%d jmp *L%d-L%d(r1) .data L%d:jbr L%d sub $%o,r0 L%d L%d %o L%d:.. L%d L%d L%d L%d:.. %o L%d:L%d L%d .text Duplicate case (%d)cfcc jbr L%d L%d:tst (sp)+ cmp (sp)+,(sp)+ add $%o,sp %d: %c%oEEEE! r * * r * * dr D" HCHRHYH_HfHkHpHvH|HHHHHHHHHHHHHHHHHHHHHHHHHHHHI IIIIIIII"I&I)I,I/I2I5I9I=I@ICIFIHITIYI[I`IeIjIoIyIIII:,nameshort constantstringfloatdouble*r++*--r++pre--pre++post--post!un&*-~.+-*/%>><<&|^->int->doubledouble->int&&||&~double->longlong->doubleinteger->longlong->integer==!=<=<>=>p>=p=+=-=*=/=%=>>=<<=&=|=^=& for tests=& ~?callcallcallgotojump condbranch condset nregsload valueforce registerP((<((j((=((>((?((@((A((B((C((D((E(((((F(()((G(((((( ((!((*((H((+((I((,((J((-((K((.((L((/((W((7((U((Q((0()N()1 ) )O ) )%))&))b))c))<))=))>")&)?*).)@.)*)A&)")B2)7)C<)@)D@)<)E7)2)))))")&)*).).)*) &)") )) F)K) K)F) ))j)0+0+ )!)%)&)b`)c`)P*(Z*)Z***+*,*-*.Z*7Z*0Z*1*F0+G0+H+I+J,K0,L+N0+U0+O,fR)3>,4R,8Z,9b,:v,;~,jmp GBjmp(I) jsrc,MA GBjsrc,#(I) GAjsrc,(I) clr clrf movC,I movof,I GBmovC(I),I GBmovof(I),I mov+,-(sp) mov,I GBmov+2(I),-(sp) mov(I),I movC',I M'C mov',I M,A GJmovC(J),I M'C(J) GBmovC(I),-(sp) M'C(I) movCsp)+,I GJmov(J),I M,#(J) GBmov(I),-(sp) M,#(I) movsp)+,I GAM1,A+ V'GJmov+2(J),-(sp) mov(J),I M1,#+2(J) V'(J)GBmov+2(I),-(sp) mov(I),-(sp) add1,#+2(I) V'(I)movsp)+,I GAMP GAMsp) VM KAmovC,A KAmovfo,A GBKAmovf,#(I) GBmovC,#(I) movC(I),I GBKAmovfo,#(I) GBKImovC,#(I) movC,I KAGJmovf,#(J) KAGJmovfo,#(J) GDKAmovC,*(sp)+ GDKAmovfo,*(sp)+ GAGAM' GAMD,I GAKJMD(J),I GAKIMP,I KDGAMD(sp)+,I KCGAMPsp)+,I GAM,I M+,(sp) VGAKIMsp)+,(sp) VM,I KCGAMsp)+,2(sp) VMsp)+,(sp) GCKAxor,(sp) movsp)+,I GAasr GATsxt- div,I- GATsxt- KJdiv(J),I- GATsxt- KIdiv,I- KCGATsxt- divsp)+,I- M,A' mov,I movC',I MP,I movC,A KBM(I),A' mov,I KAM,A' mov,I KBGJM(I),#(J) mov(J),I movf',I KIMP,I movf,A KCmovC',I MPsp)+,I movC,A KCmovof',I MPsp)+,I movfo,A KAGJM,#(J) mov(J),I KCGBMsp)+,#(I) mov(I),I GDKCmovC2(sp),I MPsp)+,I movC,*(sp)+ KCGBmovC(I),I MPsp)+,I movC,#(I) KCGBmovof(I),J MPsp)+,J movfo,#(I) movf,I movC',I sxt- divP,I- movC-,A KCmovC',I sxt- divsp)+,I- movC-,A KCGJmovC(J),I sxt- divsp)+,I- movC-,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- movC-,*(sp)+ movC',I sxt- div,I- movC,A KCmovC',I sxt- divsp)+,I- movC,A KCGJmovC(J),I sxt- divsp)+,I- movC,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- mov,*(sp)+ KCmovb',I xor,(sp) movsp)+,I movb,A GDmovC(sp),-(sp) KAxor,(sp) movCsp)+,I movC,*(sp)+ movC',I asr movC,A GBasrC(I) movC(I),I movif,I GBmovif(I),I GAmovif,I GAmovfi,I GAsetl movfi,-(sp) movsp)+,I seti setl movif,I seti GBsetl movif(I),I seti GAmov,-(sp) setl movifsp)+,I seti GCsxt GAmovsp)+,I -- -!-P,F-G-NT-UT-K-L-M'C GBM'C(I) ML,A KBML(I),A KAMC,A GBML,#(I) GBKJML(J),#(I) GBKIMC,#(I) KBGJML(I),#(J) KAGJMC,#(J) GDKBML(I),*(sp)+ GDKAMC,*(sp)+ clr clr+ mov,A+ sxt mov,A mov+,A+ mov(I),A+ sxt KAmov,A+ sxt KAsetl movfi,A seti KAGJsetl movfi,#(J) seti KBmov(I),A mov+2(I),A+ KAmov,A movsp)+,A+ GBmov,#+2(I) sxt(I) KAGJmovsp)+,#+2(J) mov,#(J) GBKImov+2,#(I) sxt(I) KCGBmovsp)+,#+2(I) sxt(I) KCGBmovsp)+,#(I) movsp)+,#+2(I) ML,A KAMC,A GBML,#(I) KBGJML(I),#(J) KAGJML,#(J) GBKJML(J),#(I) GBKIML,#(I) GDKBML(I),*(sp)+ GDKAML,*(sp)+ M'C M,A KBM(I),A KAM,A GBM'C(I) KBGJM(I),#(J) KBmovC',J M(I),J movC,A KAmovC',J M,J movC,A KAGJM,#(J) KCGBMsp)+,#(I) KCGBmovC(I),J Msp)+,J movC,#(I) asrC GBasrC(I) aslC GBaslC(I) ash,A KBash(I),A KAash,A j ..7.".#.$.%.(.).*.+.-...Q.0.< .= .> .? .@ .A .B .C .D .E .H.I.O.movof,I GBmovof(I),I GEHAj.(.).7.0.clrC(sp) mov,-(sp) GBmov(I),-(sp) mov+,-(sp) mov,-(sp) GCM'sp) GCM,(sp) GCKBM(I),(sp) GCKAM,(sp) /d/o/x0f&0e/c/s/l40rZ2I5I9I=I@ICIFIHITIYI[I`IeIjIoIyIIII:,nameshort constantstringfloatdouble*r++*--r++pre--pre++post--post!un&*-~.+-*/%>><<&|^->int->doubledouble->int&&||&~double->longlong->doubleinteger->longlong->integer==!=<=<>=>p>=p=+=-=*=/=%=>>=<<=&=|=^=& for tests=& ~?callcallcallgotojump condbranch condset nregsload valueforce registerP((<((j((=((>((?((@((A((B((C((D((E(((((F(()((G(((((( ((!((*((H((+((I((,((J((-((K((.((L((/((W((7((U((Q((0))N))1))O))%))&))b))c))< )$)=$) )>(),)?0)4)@4)0)A,)()B8)=)CB)F)DF)B)E=)8) )$)$) )(),)0)4)4)0) ,)()  )$) L)Q) Q)L) $) )j)6+6+ )!)%*&*bf)cf)P*(`*)`***++,+-*.`*7`*0`*1*F6+G6+H+I+J,K6,L+N6+U6+O",fX)3D,4X,8`,9h,:|,;,jmp GBjmp(I) jsrc,MA GBjsrc,#(I) GAjsrc,(I) clr clrf movC,I movof,I GBmovC(I),I GBmovof(I),I mov+,-(sp) mov,I GBmov+2(I),-(sp) mov(I),I movC',I M'C mov',I M,A GJmovC(J),I M'C(J) GBmovC(I),-(sp) M'C(I) movCsp)+,I GJmov(J),I M,#(J) GBmov(I),-(sp) M,#(I) movsp)+,I GAM1,A+ V'GJmov+2(J),-(sp) mov(J),I M1,#+2(J) V'(J)GBmov+2(I),-(sp) mov(I),-(sp) add1,#+2(I) V'(I)movsp)+,I GAMP GAMsp) VM KAmovC,A KAmovfo,A GBKAmovf,#(I) GBmovC,#(I) movC(I),I GBKAmovfo,#(I) GBKImovC,#(I) movC,I KAGJmovf,#(J) KAGJmovfo,#(J) GDKAmovC,*(sp)+ GDKAmovfo,*(sp)+ GAGAM' GAMD,I GAKJMD(J),I GAKIMP,I KDGAMD(sp)+,I KCGAMPsp)+,I GAM,I M+,(sp) VGAKIMsp)+,(sp) VM,I KCGAMsp)+,2(sp) VMsp)+,(sp) GCKAxor,(sp) movsp)+,I GAasr GATsxt- div,I- GATsxt- KJdiv(J),I- GATsxt- KIdiv,I- KCGATsxt- divsp)+,I- M,A' mov,I movC',I MP,I movC,A KBM(I),A' mov,I KAM,A' mov,I KBGJM(I),#(J) mov(J),I movf',I KIMP,I movf,A KCmovC',I MPsp)+,I movC,A KCmovof',I MPsp)+,I movfo,A KAGJM,#(J) mov(J),I KCGBMsp)+,#(I) mov(I),I GDKCmovC2(sp),I MPsp)+,I movC,*(sp)+ KCGBmovC(I),I MPsp)+,I movC,#(I) KCGBmovof(I),J MPsp)+,J movfo,#(I) movf,I movC',I sxt- divP,I- movC-,A KCmovC',I sxt- divsp)+,I- movC-,A KCGJmovC(J),I sxt- divsp)+,I- movC-,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- movC-,*(sp)+ movC',I sxt- div,I- movC,A KCmovC',I sxt- divsp)+,I- movC,A KCGJmovC(J),I sxt- divsp)+,I- movC,#(J) GDKCmovC2(sp),I sxt- divsp)+,I- mov,*(sp)+ KCmovb',I xor,(sp) movsp)+,I movb,A GDmovC(sp),-(sp) KAxor,(sp) movCsp)+,I movC,*(sp)+ movC',I asr movC,A GBasrC(I) movC(I),I movif,I GBmovif(I),I GAmovif,I GAmovfi,I GAsetl movfi,-(sp) movsp)+,I seti setl movif,I seti GBsetl movif(I),I seti GAmov,-(sp) setl movifsp)+,I seti GCsxt GAmovsp)+,I -- -!-P,F-G-NZ-UZ-K-L-M'C GBM'C(I) ML,A KBML(I),A KAMC,A GBML,#(I) GBKJML(J),#(I) GBKIMC,#(I) KBGJML(I),#(J) KAGJMC,#(J) GDKBML(I),*(sp)+ GDKAMC,*(sp)+ clr clr+ mov,A+ sxt mov,A mov+,A+ mov(I),A+ sxt KAmov,A+ sxt KAsetl movfi,A seti KAGJsetl movfi,#(J) seti KBmov(I),A mov+2(I),A+ KAmov,A movsp)+,A+ GBmov,#+2(I) sxt(I) KAGJmovsp)+,#+2(J) mov,#(J) GBKImov+2,#(I) sxt(I) KCGBmovsp)+,#+2(I) sxt(I) KCGBmovsp)+,#(I) movsp)+,#+2(I) ML,A KAMC,A GBML,#(I) KBGJML(I),#(J) KAGJML,#(J) GBKJML(J),#(I) GBKIML,#(I) GDKBML(I),*(sp)+ GDKAML,*(sp)+ M'C M,A KBM(I),A KAM,A GBM'C(I) KBGJM(I),#(J) KBmovC',J M(I),J movC,A KAmovC',J M,J movC,A KAGJM,#(J) KCGBMsp)+,#(I) KCGBmovC(I),J Msp)+,J movC,#(I) asrC GBasrC(I) aslC GBaslC(I) ash,A KBash(I),A KAash,A j..7.".#.$.%.(.).*.+.-...Q.0.<.=.>.?.@.A.B.C.D.E.H.I.O.movof,I GBmovof(I),I GEHAj.(.).7.0.clrC(sp) mov,-(sp) GBmov(I),-(sp) mov+,-(sp) mov,-(sp) GCM'sp) GCM,(sp) GCKBM(I),(sp) GCKAM,(sp) /d/o/x0f,0e/c/s/l:0rZV3d3t3333333l3|3366355553328886z575586^66606644^4h444444, x  & 6 % w Z  f7v P7p @-@7T e @& V 5 e@ @.  w p p    v   p 5 @ P77A& .e&7& ewB77&> je | *  v  ww  r5% @@ H=@&77 ww   7 P  K Jdu7 ~ d an I-~~ d an end d and a s d and any d and eac d and fre d and ind d and its d and kno d and pre d and ret d and sep d and sub d and tha d and the d and wri d and wri d and~~~ d anew, s d another d any dat d apart f d arbitra d are use d are~~~ d as I-no d as an a d as an e d as a~~~ d as desc d as dire d as need d as the d as the d as~~~ 1 d at 304 d at a di d at a pr d at data d at loca d at loca d at the d at the d at~~~ d be made d be mare d be mare d be mark d be the d be used d because ncreasing ncreasing ncremente nct to~~~ nction is nction of nction of nction of nction se nction wi nction wi nctionall nctions b nctions~~ nctive tr ncy of th ncy of th nd nd "A.1" nd 104 ma nd 104 st nd 1C ill nd 1C sho nd 203 co nd 205 ar nd 205 co nd 206,~~ nd 208, s nd 222.~~ nd 222~~~ nd 224, r nd 232 fo nd 237 ar nd 237.~~ nd 26B ar nd 307 ea nd 3C ill nd 3C sho nd 4C sho nd 529. nd I-numb nd a coun nd a matc nd a sepa nd a spec nd all of nd alloca nd an I-~ nd an end nd and re nd and~~~ ndg returns %d dctran returns %d dclast = %o dclser =%o dcih returns %d invalid dc command bad format Iiiihii9Y9YiYyYyf"w w@&HFfA7R; fA @e71@x;  1 @ fA7~;  fA & 9 &fA @e&7w@;"(.6<BDJPV\bhnrx|/usr/chess/bookseek 0 /%s Cannot open %s eh? ambiguous illegal gok %c kqrbnp PNBRQK r n b k q b n rr n b q k b n r o-o-onullresigndrawep(q)iles suc iles the iles the iles the iles to iles whi iles, an iles, an iles, bu iles, di iles, ho iles, so iles, th iles, un iles,~~~ iles. A iles. D iles. F iles. F iles. I iles. S iles. T iles. T iles. T iles.~~~ iles.~~~ iles;~~~ iles;~~~ iles~~~ iles~~~ ile~~~ ile~~~ ile~~~ ile~~~ ile~~~ ile~~~ ile~~~ ile~~~ ile~~~ ile~~~ 1 ile~~~ 1 ile~~~ 1 ile~~~ 1 ile~~~ 1 ile~~~ 1 ile~~~ 1 ile~~~ 1 ile~~~ 1 ile~~~ 1 ile~~~ 1 ile~~~ 2 ile~~~ 2 ile~~~ 2 ile~~~ 2 ile~~~~~ ile~~~~~ iliated  @$ G@bswitch" @ fA7FL  fA & 9 &fA @e&7w@n&@wՋ@@ 7t Ef `C  r CpDD`f@ Z`  H &D D  D&` f@ www &w Uw w&w w sortargcgetnum(num2colfrevfnumfascii|tabfibuf involv In~~~ in~~~ in~~~ in~~~ is a d is a f is a n is a p is a s is a s is an is a~~ is a~~ is che is des is eff is eli is enc is fou is fou is gen is gen is gre is ill is ind is ind is ind is lin is not is not is of is par is per is per is per is pos is pos is pre is pro is pro is pro is pro is rea is ref is sea is sea is so is sto is sto is tha is the is the is to is und is ver is~~~ is~~~ is~~~ is~~~ is~~~ is~~~ is~~~ is~~~ betwee 4 ~ 15 f 4 ustrati 4 stem. 4 r stora 5 .~~~ 6 5 become 4 ~ 15 d 4 user~~~ 4 ssible 4 r provi 5 . User 5 be use 4 ~ 14 t 4 user. 4 so that 4 r more 5 . In t 5 at the 4 ~ 14 f 4 user to 4 so cont 4 r in th 5 . File 5 at loc 4 ~ 14 a 4 user ar 4 sk file 4 r examp 5 . Any 5 areas 4 ~ 14 4 used fo 4 shows t 4 purpose 5 -node. 5 are al 4 ~ 12 s 4 urring 4 showing 4 previou Aug 23 14:16 \n", ciotp) ; extern int *iot, iotta[], *ciotp, ef[], *cacms ; ccih.c ccih extern int selmes[], *ciotp, *irr, *iras ; start( ciotp ) ; commd.c commd pt[10] = ciotp ; /* store link into last to this iot */ ciotp = iotp ; ciotp = iotp ; ciotp = iotp ; ciotp = iotp ; ciotp = iotp ; ciotp = iotp ; /* set curren iotp */ fcp[11] = ciotp ; fcp[11] = ciotp ; /* update last link */ extern int *iot, fct[], *bt, *ciotp ; /*diag*/printf(" cief[1] == 2 ) goto badf ; if( ef[1] == 2 ) goto badf ; if( ef[1] == 2 ) goto badf ; if( op[0] == '\n' ) { ef[1] = 1; goto badf; } if(( ef[1] == 2) &&( ef[2] == 'l') ) if(( op[0] = getchar() ) == '\n' ){ ef[1] = 1; goto lir ;} if((ef[1]==1) &&(i==0) ) ; if((op[0] = getchar() ) == '\n') { ef[1] = 1 ; goto badf ; } if((op[0] = getchar() ) == '\n') {ef[1] = 1 ; goto badf ; } if((op[1] = getchar() ) == '\n') { ef[1] = 1 ; goto badf ; } _sidcf _chcnt _maxch _p20flg _printf"S_getchar"zR_savpsw"Q_ef _ciotp _dcdspy"4_mtdspy"_iodspy"T!_dkdspy"h$_qdspy"_bfdspy"$._ccdspy"J_numbrs"_getnum"~_pswold _pswtmp _dccs#^V_mtc#fV_dkc#lV_ccs#xV_mts#dV_reboot"~S_ccsr#V_cco#zV_cci#|V_dcwc#`V_dcma#bV_c1 _c2 _c3 _d1 _d2 _d3 _syinit"_ldunix"S_iras"P_irc _ircmax sswiely, a ively, ma ively, wh ively. F iven by a iven dire iven file iven mome iven the iven to t iven when iven. Th iven. Th ives to t ive~~~ 7 ividual d ividual w iving a~~ iving its ivities t ix A.~~~ ix the ma ixed and ixed leng ixed leng ixed leng ixed leng ixed~~~ ize 423 s ize 423.~ ize by an ize error ize may t ize of da ize of~~~ ize, comp ize, the ized by t ized for ized in t ize~~~ 6 ize~~~ 10 junct to~ junction junction just~~~ 1 k (I-node k 0 and b k 0 and b k 1, and k 1. Tog k 10  w2w 2 5 @? 5@ HNe17 2 @ /  4@@ @ ,:5 N H7 4 5* 4- 4 47 2@7 27 27 2w21w 17@5@5@,:5N 7575 t5 @ 5@ 5Z8M@CNff %@M MȕxNff % L Lȕ-Nf * )7 7  7 7 7   ch points ch provid ch refer ch reliev ch system ch the co ch the sa ch they h ch throug ch throug ch time t ch user a ch user h ch user. ch users ch will b ch will b ch will n ch would ch, root chal arra chal dire chal dire chal dire chal dire chal dire chal dire chal file chal file chal file chal file chal file chal file chal name chal name chal nami chal nami chal nami chal nami chal~~~ 1 chal~~~ 1 chal~~~ 1 changed a changed b changed.~ character character chart for charts sh charts sh charts sh chart prior art prior art prior art prior art prior art prising a prising a prising t problem o procedure process i process.~ program a program e program i program p program s program s program. programmi programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs programs, programsart FIG. art arran art file art file~ art form. art from art from art gener art metho art metho art of a art of th art root~ art suffe art syste art, diff art. A g art. Com art. In articular articular articular articular articular articular articular articular articular articular arting lo arting po arting po arts show arts show arts show arts, the art~~~ 20 ary ary and f ary conce ary depen ary diagr ary for d ary maxim ary numbe ary numbe ary stora ary, it i ary. Phy ary~~~ 15 ar~~~ 13 as again~ All da all I- all of all of all of alloca alloca alloca alloca alloca alloca alloca alloca alloca alloca alloca alloca alloca alloca alloca along~ alread Also c also c also c also c also c Also l also c altern altern Althou Althou altern always always always always amodif among an alt An an an att an end an ent an I-n an I-n an I-n an I-n an exi an ind an ind an ind an ind an int an inv an ope an unu and "A and 22 and 22 and 22 and 23 11 or~~~ 11 or~~~ 13 or~~~ 14 or~~~ 17 or~~~ 18 or~~~ 18 or~~~ 20 or~~~ 20 or~~~~~ ose I-no ose I-nu ose a da ose a se ose crea ose data ose digi ose digi ose much ose of p ose phys ose prog ose prog oses, bu ose~~~ 1 osing ca osition osition ossibili ossibili ossible ossible ossible. ossible~ ost due ost due ost file ost part ost, all ost. Th ost~~~ osure ot a dat ot a dir ot appar ot be er ot conce ot conta ot conta ot direc ot direc ot direc ot direc ot direc ot direc ot direc ot direc ot d struct struct struct struct sub-~~ subdir subdir subrou subrou subrou subrou subrou subrou subrou subtle such a such a such a such b Such m such s suer. suffer Summar symbol symbol symbol symbol symbol symbol System System symbol symbol SYSTEM System system system system system system system system system system system system system system system system system system system system system system system system system system system system system ut.cgetchar chcnt = 0 ; chcnt getput.cgetchar chin[++chcnt] = *tkb & 0177 ; chcnt getput.cgetchar extern maxch, chcnt ; chcnt getput.cgetchar if( chcnt > maxch ) goto newlin ; chcnt getput.cgetchar if( chin[chcnt] == '#' ) {if(chcnt >=1 ) { chcnt=-2; /*decr*/ chcnt getput.cgetchar if( chin[chcnt] == '@' ) { chcnt = -1 ; /* delete line*/ chcnt getput.cgetchar if(( chin[chcnt] == '\n' ) ||( chin[chcnt] == '\r' ) ) chcnt getput.cgetchar maxch = chcnt ; chcnt getput.cgetchar return( chin[ch-' wJ f'4^@x;  N @e -|' wf@OB&L 6= .& f & 8%@e& & 8%@,u-z;  eu-~;  N N Nf V eFf)EwEEeEHEeEAeAH@wf)Ed&; 8 7P&L&;  0% ; 8 7%%;  >% 8% J&VE$ $ 7 7 2 $$-" 7 $ @7z$- & 6 % mlevniceprintplaymanualsetupscore/xxxxxxxxseektestinputxxxxxxxxxxxxxxxehpictscaleforeachbookw 5D 55 5 LdED .@ 5 7CC DC 4%5 @Z w-Z@D &*N w-D e V3e `47 e5 @ @ r @_l X 7@_ X  6_ _ X 5___ 5>@ 2  3"c `4wc er m a single a single a single a single a small a small~ a specia a specia a storag a storag a storag a stored a subrou a summar a symbol A throug A throug A throug a true h a used b a user d a user m a user m a user m a user w a user w a user w a user w a user w a user~~ a user~~ A" is fo A" is no A" is se A", for~ A"~~~ 4 a volume a which a whole A" is se A, 1B an A, 1B, a A, 2B, 2 A, 3B an A, 4B an a write a, and i a, direc A, I-lis A, inclu A, it wi A. All A.~~~ 10 A.~~~ 15 a, e.g. A.1" are A.1@_ - ]f 95-\_ -\@\ff h&%_ kkW T%jjW T%_ W T5 \e@-A mp\Aup@ m^\ fW T% _ W T F1=% W \_ @ @[[r[#h[f[[[s[a    x _ W _ 0=% [_ WuWf_ _ -j[gW T_ -V[V[W T_ -B[F[ X T_ X T_ f 9 this ero, the ero~~~ ero~~~ 1 erpreted erred be erred fr erred fr erred fr erred th erred to erred to erred to erred to erred to erred to errelati erring t erring~~ erroneou erroneou error an error,~~ Errors i error. error.~~ error.~~ errorono errors i errors i errors m errors n errors o errors o errors. error~~~ ers 223, ers 420. ers and ers and ers and ers and ers appe ers are ers are ers are ers are ers are ers are~ ers asso ers caut ers cont ers easi ers file ers for ers from ers in b er@    xzzzz@ @ @    xL&0@8U 4Uȕ+,U (Uc U : W-_Rc@ 2 ;@ 2 TA 2cA 2 wf/w T/@ ?T TwF/w 4/N T  J AT T @T ~Tȕ/Nef . w.w .@t5A ru%@5W-@ T Tȕk W-@T Tȕq@A5S SHS@ @5S SAe0HwJ.w 8. , H i ntion, ph ntion: t ntion;~~~ ntion;~~~ ntions of ntions, a ntive phy ntly bein ntly bein ntly occu ntly prov nto I-lis nto buffe nto buffe nto open nto the I nto the I nto the I nto the I nto the c nto the f nto the l nto the o nto the o nto the v nto this nto~~~ 4 nto~~~ 5 nto~~~ 9 nto~~~ 10 ntrast to ntrast to ntries (l ntries 10 ntries 11 ntries 52 ntries ar ntries co ntries co ntries ha ntries ha ntries is ntries mu ntries po ntries po ntries.~~ ntries.~~ ntries~~~ ntries~~~ ntroduced ntroducti e. A file. B file. D file. I file. L file. T file. T file. T file. T file. T file. W file. W file.~~~ file.~~~ file.~~~ file.~~~ file.~~~ file.~~~ file.~~~ Files 20 file; wh files 20 files 22 files am files an files an files an files an files an files an Files ar files ar files be files be files by files by files by files co files cr files ex files ex files fo files fo files in files in files in files in files is files is files of files of files of files on files or files su files th files th fi1 file~~~ 2 file~~~ 2 file~~~ 2 file~~~ 2 file~~~~~ file~~~~~ filled, t filled, t find a ma find each find phys first I-n first I-n first be first por first por first ref first use first use first use first use first use first use first~~~ first~~~ first~~~ fit from fix A.~~~ fix the m fixed and fixed len fixed len fixed~~~ flag indi flagged f flags are flexible flow char flow char flow char flow char flow char for a fir for a par for a sec for a sin for all d for all o for all o for a~~~ for backu ng 6 ion poi 6 econd u 7 e~~~ 6 7 to dat 6 tion in 6 path na 6 inters~ 6 each I- 7 es~~~ 1 7 to a d 6 th~~~ 6 own in 6 ing and 6 e open 7 esent i 7 the nu 6 the ope 6 ould be 6 indepen 6 e indic 7 erred t 7 the in 6 the new 6 or~~~ 6 in open 6 e first 7 er wish 7 subrou 6 the fre 6 ory is 6 implifi 6 e acces 7 er may 7 simpli 6 ter mem 6 ond use 6 ill be 6 e I-~~~ 7 ent~~~ 7 simple 6 tem dir 6 oncerne  ]c v4 7\\ cA 2 w\ @ w-w -5 NS JS5W- @ pc@ W- w-w -< # <; z5%@e&; 4%@ N N   wT-w B-@@t5%b@ t@mDC! #e "! L3t!$@t&@t% Ne   f  e5 L3twp,w ^,Q 8   8 (  r4)+ rts pc patt: bit (r5)+,_dir(r0) bne 1f mov r0,r1 add (r5)+,r1 jsr pc,look jsr pc,look rts r5 1: add $6,r5 rts r5 satt: mov r5,-(sp) bit (r5)+,_dir(r0) bne 1f mov r0,r1 add (r5)+,r1 jsr pc,look / pawn mov r0,r1 2: mov (sp),r5 bit (r5)+,_dir(r1) bne 1f add (r5)+,r1 tst _board(r1) beq 2b tst (r5)+ mov r4,-(sp) jsr pc,look jsr pc,look jsr pc,look jsr pc,look cmp (sp)+,r4 bne 2b 1: mov (sp)+,r5 add $14.,r5 rts r5 look: cmp (r5)+,_board(r1) bne 1f mov -2(r5),(r4)+ 1:d|yvspolifc`]Znkheb_\Ymjgda^[XWTQNKHEBVSPMJGDAUROLIFC@?<9630-*>;852/,)=:741.+('$!&# %"lr r4 div r3,r4 asr r4 mul r3,r4 mov r5,r4 add r1,r4 mov (sp)+,r5 mov r1,-(sp) mov r2,-(sp) loop: mov r1,r0 cmp (r0),(r4) bge loop1 add r3,r1 br loop loop1: cmp r2,r4 blos 1f sub r3,r2 mov r2,r0 cmp (r0),(r4) bge loop1 jsr pc,exchange cmp r1,r4 bne loop mov r2,r4 br loop 1: cmp r1,r4 beq 1f jsr pc,exchange mov r1,r4 br loop1 1: mov (sp)+,r2 mov r4,-(sp) mov r4,r1 add r3,r1 jsr pc,qsort mov (sp)+,r2 mov (sp)+,r1 br qsort done: rts pc exchange: mov r1,-(sp) mov ode, her ode, sto ode, tha ode. Ea ode. Fi ode. Fu ode. It ode. Wi ode.~~~ ode.~~~ odern~~~ odes 201 odes all odes and odes are odes are odes are odes are odes are odes as odes by odes by~ odes dir odes for odes in odes in odes in odes on odes per odes per odes poi odes res odes tak odes to odes) st odes, an odes, th odes. A odes. D odes. T odes; di odes;~~~ odes~~~ odes~~~ odes~~~ odes~~~ ode~~~ ode~~~ ode~~~ ode~~~ ode~~~ 1 ode~~~ 1 ode~~~ 1 ode~~~ 1 ode~~~ 2 ode~~~ 2 odicall ame is r ame is s ame is~~ ame is~~ ame is~~ ame mann ame matc ame may ame must ame of a ame of a ame of a ame of a ame of t ame of t ame or a ame phys ame refe ame sear ame spec ame time ame tree ame volu ame". T ame, and ame, et~ ame, whi ame,~~~ ame. "R ame. A ame. In ame. Th amed fil amed in amed~~~ amees fo ames and ames and ames and ames app ames are ames are ames for ames for ames in ames is~ ames may ames mus ames of ames of ames of ames of~ ames of~ ames onl ames whi ames wit ames, a name Newly neces need No pe node node not a numbe numbe numbe numbe numbe numbe numbe numbe numbe obtai occur of fi of le of wo on th one w opera opera or wr own c Physi Physi owner permi Physi physi point point point point previ progr progr progr read read readi refer refer regar reque retur role Root root same same searc secon set i set t shari shari shari shown Singl 12 l~~~ 13 l~~~ 13 l~~~ 14 l~~~ 15 l~~~ 15 l~~~ 16 l~~~ 16 l~~~ 18 l~~~ 18 l~~~ 18 l~~~ 18 l~~~ 19 l~~~ 21 l~~~~~ l~~~~~ l~~~~~ m actions m and use m and use m area 50 m area 50 m as a do m a~~~ 20 m because m debuggi m directo m directo m directo m directo m directo m directo m directo m directo m directo m directo m drawbac m each I- m entry) m error,~ m errors m file si m file~~~ m for dat m for the m form in m giving m in Tabl m in comm m indexes m informa m in~~T>XX  w7vPPE@E? (E p@Ext.$ZFUE ]&&   5  c  (7  E w*  &PC @EE 7H 7BE 6-0U, $( $E U5@ D &5@775@  wD J@ Ex.>6HPe5.e(`D E ectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory" rectory, rectory, rectory, rectory, rectory. rectory. rectory. rectory. rectory. rectory. rectory. rectory~ rectory~ rectory~ rectory~ rectory~ rectory~ rectory~ rectory~ r = ob; symtab = stab; for (c=0; c<200; c++) { stab[c].name[0] = '\0'; stab[c].value = 0; } defloc = lookup("define", 1); defloc->value = defloc->name; incloc = lookup("include", 1); incloc->value = incloc->name; stringbuf = sbf; line = ln; lineno = 0; if (fcreat(tmp4, obuf) < 0) { printf("Can't creat %s\n", tmp4); dexit(); } while(getline()) { if (ibuf==ibuf2) putc(001, obuf); /*SOH: insert */ if (ln[0] != '#') for (lp=line; *lp!='\0'; lp++) putc(*lp, obuf); putc('\n', e~~~ 13 e~~~ 13 e~~~ 13 e~~~ 13 e~~~ 13 e~~~ 13 e~~~ 13 e~~~ 13 e~~~ 14 e~~~ 14 e~~~ 14 e~~~ 14 e~~~ 14 e~~~ 14 e~~~ 14 e~~~ 14 e~~~ 14 e~~~ 14 e~~~ 14 e~~~ 14 e~~~ 15 e~~~ 15 e~~~ 15 e~~~ 15 e~~~ 15 e~~~ 15 e~~~ 15 e~~~ 15 e~~~ 15 e~~~ 15 e~~~ 15 e~~~ 15 e~~~ 16 e~~~ 16 e~~~ 16 e~~~ 16 e~~~ 16 e~~~ 16 e~~~ 16 e~~~ 16 e~~~ 16 e~~~ 16 e~~~ 17 e~~~ 17 e~~~ 17 e~~~ 17 e~~~ 17 e~~~ 17 e~~~ 17 e~~~ 17 e~~~ 18 otp = %o\n",ciotp ) ; common.c _ int *iot; int *ciotp; dspydr.c main ccdspy( ciotp ) ; ciotp = iodspy() ; dcdspy(ciotp) ; /* call dc display routine */ dkdspy(ciotp) /* call dk display routine */ ; mtdspy(ciotp) /* call mt display routine */ ; extern int *ciotp ; /*diag*/ printf("ciotp = %o \n", ciotp ) ; iodspy.c iodspy return(ciotp) ; pter = ciotp ; extern int *iot, ef[], *ciotp ; syinit.c syinit ciotp = iot ; extern int fct[], *ciotp, *tsical physical physical physical physical physical pical of pid acce pid acce pid inde ping tra place, t placed i placed i placing ple and ple and~ ple arra ple exte ple file ple file ple file ple in a ple" fil ple, a u ple, a~~ ple, inc ple, nam ple, sys ple, the ple, to ple, to plement plemente plementi ples of plete se pleted.~ pleted.~ pletely~ pletes t plex and plex sin plexitie plexity plicate plicate plicate plicated plicated plicated plicated plicate~ plicatio plicatio plies a plified pl 7 w f $"_- 7    "p$"_$׭\ p$"d^'$"׭\   "dp$"IF׭P  ׭D\ pl  "`(p$"+׭>$׭  ׭   ^"B'/<\ Ff - $"N׭* c!/T p$" *"C׭f  ׭Z/Nc!*.0t7$":%׭4\ `\$p$"P *" F"data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data file data is t data layo data layo data layo data layo data rema data stor data stor data used data whic data, and data, dir data. A data~~~ data~~~ data~~~ data~~~ data~~~ 1 data~~~ 1 data~~~ 1 data~~~ 1 data~~~ 1 data~~~ 2 date the dated as da_ccint"`_dcint"`_mtint"(`_dkint"8`_clkint"H`_ccih _dcih _mtih _dkih _iras _pswold _reg rtistreg`testirT`tstretX`phighb`retx`resregldunix.oJ.+X  Xȋ_X_ldunix"printf.oJ{+HPw A 5r5Nf ` A 5rNe0 ww @e5@ les f files f files f files f files f files f file~~ f file~~ f file~~ f file~~ f I-node f I-node f I-node f I-node f I-node f indica f indica f indire f indire f indire f indire f indire f input/ f its po f large f levels f links f links f many o f miscel f of the f physic f primar f provid f read a f refere f simple f simult f stored f system f system f system f the bl f the cl f the co f the cu f the cu f the cu f the da f the da f the da f the da f the da f the da f the da f the de f the di f t 03<5m@,=5 @> _&e u@ 03<5m@,=5@$> :e  L= @m,= e5  @3== 5 @5== Ff50 %  %  %  0* F" %  %  %  0* u@Juw-&$eN  %  =% e}ee Nfw hB@w \B-*w nB@7 *wxfw*w TB7 *wbf@w`w\w<w@fwHw$ w&f \w }w7n,FB@$Y r Cd$YDf 7-.7#(e 7#e7#m  %efwwwVwZf@www4w8fAww5WpeW  W D wDwwf& @&HFfA7hJ  first~ e fixed e flags e flow c e flow c e flow c e for ma e for th e for th e for th e for th e form o e format e format e format e format e format e formin e for~~~ e free I e free b e free I e free I e free. e free~~ e free~~ e full p e full p e full p e functi e functi e functi e genera e genera e given e given e given e given e greatl e handli e has be e having e having e having e having e I-node e I-node e I-node e I-node e I-~~~ e herein e hierar e hierar e hierar e hierar e I-list e I-list C __dklast C __dklser 053160D __dkma C __dkntf C __dkq 026060T __dkstat C __dktl 022042T __dktran 053156D __dkwc C __ef 020220T __endiot C __eof 017616T __fatal C __fclen C __fct C __fcthrs C __frecnt 051172T __getchar 016176T __getnum 012464T __gq 033770T __initb 012402T __initq C __inmess 020524T __iodspy C __iot C __iotta 050326T __iras C __irc C __ircmax C __klcs 051606T __l - - - - - - - - - on 5 rams~~~ 5 length 5 es may 6 ame~~~ 6 an ind 5 themsel 5 rammati 5 le. Th 5 es in t 6 ame of 6 an I-n 5 the vol 5 r.~~~ 1 5 le and 5 erences 6 ame fil 6 additi 5 the sec 5 r ident 5 layout 5 erence 6 additio 6 256 wo 5 the roo 5 r I-nod 5 l stora 5 er.~~~ 6 _____ o 6 21 5 the buf 5 own at 5 l data 5 er iden 6 ____ of 6 locat 5 the_ 5 ow char 5 its I-n 5 er area 6 I-node. 6 File 5 4 check t 4 ows the 4 ng bit 4 ist (I- 4 h the I 4 ectory, 4 ch user 4 ovide f 4 ng a~~~ 4 isk fil 4 h of th 4 eatment 4 ch is~~ 4 ough th 4 nes for 4 is then 4 h is~~~ 4 earch i 4 ce~~~ 1 4 ossible 4 neously 4 is prov 4 h data 4 e. Thi 4 ccurrin 4 ory str 4 ned as 4 is perf 4 gh the 4 e. I-n 4 ccordin 4 ory nam 4 ne or m 4 is not 4 ge arra 4 e the f 4 cation, 4 ory lev 4 nd writ 4 ion~~~ 4 ge area 4 e that e simpli e simply e simult e single e size 4 e size 4 e size o e size, e size~~ e size~~ e so tha e some d e space e space e specia e specia e specia e specia e spectr e starti e starti E STORAG e storag e storag e storag e storag e storag e storag e storag e storag e storag e storag e storag e storag e storag e storag e storag e storag e stored e stored e subrou e such b e superv e superv e superv e swappe e symbol e symbol E SYSTEM e symbol e symbol e system e system e system e system e system e syste I-number I-number I-number I-number I-number I-number I-number I-number I-number I-number I-number I-number I-number I-~~~ 7 I-~~~ 8 I-~~~ 10 I-~~~ 10 I-~~~ 11 I-~~~ 17 h~~~ 13 h~~~ 13 h~~~ 15 h~~~ 19 i -~~~~~ I-list ( I-list 2 I-list 2 I-list 2 I-list 2 I-list 2 I-list a I-list a I-list i I-list i I-list) I-list), I-list, I-list. I-list.~ I-list.~ I-node 2 I-node 2 I-node 2 I-node 2 I-node 2 I-node 2 I-node c I-node c I-node w I-node) I-node, I-nodes I-nodes I-nodes I-nodes I-nodes I-nodes5-[K@Hw [I[6X T _ f 95-Z1@.wZ/ZBX T _ _ RI NX`XrX|XX TW _ @ _ zZX Tw2Iw IW- NX T 5 Ih FN 7 T w6dccs = %o dcwc = %o dcma = %o dcbe blocks o blocks o blocks o blocks o blocks p blocks u blocks w blocks, blocks, blocks, blocks, blocks. blocks. blocks. blocks.~ blocks.~ blocks.~ blocks; block~~~ block~~~ block~~~ block~~~ block~~~ block~~~ block~~~ block~~~ block~~~ block~~~ block~~~ block~~~ bodiment bodiment bodiment bolic fi bolic fi bolic na bolic na bolic na bolic na bolic na bolic na bolic na bolic na bolic na bolic na bolic ne both ent both. N both~~~ Brief bove. T branches broadly broutine broutine broutine broutin @ uu- e}eew!w-eN j*F % }ee Tw\Ff@wH@wB@@ _,*,=_) <55 3=e& 0* ee& 0* 55=e & 0* e z & 0* 4=e& 0* 5 <=e& 0* n== 5<@ K=a& 0* e_(= ==@ 5@ 2< l@& 0* e:5: 5N wR3f 5 @? 5@ HNe1v9 4 @ /  6@@ @ D<5 N 9 6 5* 6- 6 69 4@9 49 49 4wf2f 69  r6 V O9  O @5@5@D<5N n95_N b/  N 89x  9 b/  - ified plified plified plified plified, plify fi plished plishes pluralit pluralit pluralit ply inde ply.~~~ point fr point in point of point to point to point to point to point.~~ pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointer pointers pointers pointers pointers pointers pointers pointers pointers pointers ps of f mes of f mes of~~ mes of~~ mes only mes such mes the mes whic mes with mes, and mes, nam mes. A~ mes. Fo mes.~~~ mes~~~ mes~~~ 1 mes~~~~~ method f method o method o method o method o methods methods me~~~ 3 me~~~ 8 me~~~ 8 me~~~ 11 me~~~ 12 me~~~ 14 me~~~ 14 me~~~ 18 me~~~ 20 might wr milar~~~ minated minated, minated. mination mine the mined an mined lo mined lo mined,~~ minent m ming con ming fun ming fun ming lar ming may ming of ming of ming or ming sch ming ser ming sma ming, an m1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pson 1-1 pt to th ption ption ption is ption of ptions~~ ptually pt~~~ 7 pular, a pularity pulate f pulate I pulating pulating purpose purpose purpose purposes put buff put data put into put reso put/outp put/outp put/outp puter ap puter me puter me puter me puter me puter me puter me puter sy puter sy puters, puters~~ pute g~~~ 6 g~~~ 8 g~~~ 8 g~~~ 9 g~~~ 10 g~~~ 11 g~~~ 12 g~~~ 13 g~~~ 13 g~~~ 13 g~~~ 14 g~~~ 14 g~~~ 14 g~~~ 15 g~~~ 15 g~~~ 17 g~~~ 19 g~~~ 19 g~~~ 20 g~~~ 20 g~~~ 20 g~~~ 21 g~~~ 21 g~~~~~ g~~~~~ g~~~~~ h 14B ar h 16 wor h 18 are h 20 are h 23 are h 24 giv h 25B ar h a flag h a numb h a numb h admini h all of h all~~~ h an arr h anothe h any ar h any fi h any ot h any~~~ h are eq h are us h as dat h as dis h as lis h assure h a~~~ h a~~~ h become h begins h being h betwe is rea is rea is rep is res is res is ret is ret is ret is rew is sea is set is set is set is set is set is sho is sho is sig is so is sto is ter is the is the is the is the is the is the is the is the is to is to is tra is tra is tra is use is use is, ea is, th is, th is~~~ is~~~ is~~~ is~~~ It is is~~~ is~~~ is~~~ is~~~ is~~~ it is it mus it the it wil its "f its co its co Its I- its I- its I- its I- its I- its ph its po itself ]; selmes[10]; reg[8]; siccf common.c _ siccf;sidcf; dspydr.c main siccf = 0 ; siccf = 1 ; extern siccf, sidcf; siccf = 1 ; /*init to simulate the ccreg on pdp20 */ syinit.c syinit extern siccf, sidcf ; if( siccf == 0 ) { sidcf common.c _ siccf;sidcf; dspydr.c main sidcf = 0 ; sidcf = 1 ; extern siccf, sidcf; sidcf = 1 ; /*init to simulate the dcreg on pdp 20 */ syinit.c syinit extern siccf, sidcf ; if( sidcf == 0 ) { snack ccdspy on the on the on the on the Once~~ on the on the one di one or one or one or one or one su ones.~ one~~~ only a only b only d only,~ on~~~ open f operat operat operat operat operat operat operat operat operat operat operat operat operat operat operat operat operat operat operat or dir or for or mor or mor or mor or mor or mor or oth or pro or pro or pro or pro or the order order order order~ orient orient or~~~ other other other other f he new n he norma he norma he numbe he numbe he numbe he numbe he numbe he numbe he numbe he occas he only he open he open he open he open he open he open he opera he order he outse he outse he owner he owner he owner he parti he physi he physi he physi he physi he physi he physi he physi he physi he physi he physi he physi he physi he physi he physi he physi he physi he physi he point he possi he preci he prefi he prese he prese he prese he prese he prese he prese he prese he prese he Prior he pr er of th er of th er of th er of th er of th er of th er of wo er of wo er of~~~ er of~~~ er of~~~ er opera er point er prese er previ er progr er progr er read~ er reque er reque er retur er searc er servi er stora er stora er stora er store er subdi er subro er syste er syste er that er the m er the p er the u er to an er to an er to di er to fi er to op er to pe er to ph er to re er to re er to re er to re er to th er to th er to th er to us er twice er two. er user er user er which er which er whicor dir e or ind e or mor e or mor e or mor e or mor e or pro e or pro e order~ e outset e outset e owner e owner e owner e partic e partic e passed e pass~~ e perfor e permis e permis e permis e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e physic e pointe e pointe e point~ e popula e possib e precis e prefix e prepar e presen e presen eal~~~ 16 al~~~ 18 al~~~ 18 al~~~ 18 al~~~ 19 al~~~ 21 al~~~~~ am actio am error am form am itsel am parti am size, am subro am. Eac ame "1" ame "1"~ ame "A" ame "A" ame "A" ame "A", ame "A.1 ame "USE ame (the ame 123. ame 125 ame 127~ ame A.1, ame and ame and ame I-no ame I-no ame and ame and ame as~~ ame a~~~ ame begi ame begi ame by w ame data ame dire ame file ame file ame file ame file ame file ame file ame I-no ame in a ame in o ame in s ame is a ame is a ame is a ame is f ame is f ame is p ) ) extern int ef[] ; dkdspy.c dkdspy n[i++] = getnum(ef) ; ef[1] = 1 ; ef[1] = 0 ; if( ef[1] == 2 ) goto badf ; if( ef[1] == 2 ) goto badf ; if(( ef[1] == 1 ) &&( n[i] == 0 ) ) i =-1 /* decr */; if(ef[1] == 2 ) goto badf ; while(( ef[1] == 0 ) &&( i <= 5 ) ) extern int ef[] ; dspydr.c main i = getnum(ef) ; if( ef[1] == 2 ) goto badf ; if( ef[1] == t e is fir e is fou e is fou e is fou e is in e is lin e is mad e is mod e is ope e is ope e is par e is poi e is poi e is pre e is rea e is rea e is rea e is ref e is sea e is sep e is so e is ver e is~~~ e is~~~ e is~~~ e is~~~ e is~~~ e is~~~ e is~~~ e it app e it is e itself e key to e key~~~ e large e last d e last d e last m e last~~ e later e layout e length e less s e less~~ e level e linear e linkin e linkin e linkin e linkin e links e list ( e list 5 e list 5 e list 5 e list 5 e list per~~~ per~~~ pesudo Physic physic physic physic physic physic physic physic physic physic physic physic physic physic physic physic physic place, placed placed placin plural point point point pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointe pointi i o locati o locati o longer o lose d o marked o named~ o not co o not in o obtain o one in o one, t o open a o open a o open a o open f o open t o open t o open t o permit o permit o pesudo o physic o physic o physic o physic o physic o physic o possib o princi o prior o provid o provid o read b o read o o read o o read, o reduce o refer o refer o refer o refer o refer o relate o remove o rename o share o simpli o simula o specia o that a o that a o that b o that i o that s o that t o the ad o the ed, the~~ ed, thus ed,~~~ 16 ed,~~~ 18 ed. Also ed. As b ed. As f ed. Comp ed. Each ed. If t ed. In t ed. Inst ed. Main ed. The ed. The ed. The ed. The ed. The ed. Ther ed. This ed. This ed. User ed. When ed.~~~ 4 ed.~~~ 5 ed.~~~ 7 ed.~~~ 7 ed.~~~ 7 ed.~~~ 10 ed.~~~ 11 ed.~~~ 12 ed.~~~ 16 ed.~~~ 18 ed.~~~ 18 ed.~~~ 21 eded for eded to c eded.~~~ edetermin edetermin edetermin ediate ac edicated edicated edicated edly comp edly upda eds the f eds the f eds. It educe the ed~~ 5 d~~~ 6 d~~~ 7 d~~~ 7 d~~~ 8 d~~~ 8 d~~~ 9 d~~~ 10 d~~~ 11 d~~~ 11 d~~~ 13 d~~~ 13 d~~~ 15 d~~~ 15 d~~~ 16 d~~~ 17 d~~~ 17 d~~~ 18 d~~~ 19 d~~~ 20 d~~~ 21 d~~~ 21 d~~~ 21 99 89i9HH 89YYY? ???TDRRRRS3pFf 55% 5 @0 @0 W-- 55W-oW-0W-0HW-9D 97 AupAmeu `55W-0u-@@4  7  ,@@p@@ h7 ,@@pAupu@Ff5 @5@LW-9ast I-no ast modi ast modi ast one ast port ast to t ast to~~ ast~~~ as~~~ 13 as~~~ 17 at 205. at 304 s at 3B, i at 408 w at a dif at a dir at a kno at a kno at a kno at A.1, at a pre at all I at all p at any p at any~~ at an~~~ at a~~~ at a~~~ at block at data At FIG. at FIG. at FIG. at FIG. at deal at error at file at file at immed at immin at is de at is, e at is, s at is, t at is, t at least at locat at locat at locat at locat at locat at no sp at of st at of th at one p at shown at the b"(.6<BDJPV\bhntz~/mnt/chess/book/treeseek 0 /%s Cannot open %s %c kqrbnp PNBRQK r n b k q b n rr n b q k b n r %d. ... o-oo-o-onullresignep(q) pnbrqkrnb/dev/vscannot open vs /mnt/chess/draw/cvtabcannot open cvtab Cannot create %s nullresigno-ooo-oo*x-ep(q)ch+junk on end ambiguous illegal . . /dev/vt0cannot open vt /mnt/chess/draw/cvtabcannot open cvtab %d %d %d %d wgen %9.0f bgen %9.0%q k @5@5@N Ne18N ww A rNea 8@t ww |A r NC r  rfA r<& ew>w :4 (  ww   7ww  7 ww - -j7 W-7@ m5@2e2@ A rd 5A rd5@ @ m4AWpd(H 5@@ become become been l before begin. beginn behalf being being~ benefi betwee betwee betwee be~~~ be~~~ be~~~ bit 12 bit 12 bit 20 bit 20 bits 2 block block block block block block block block block block block block block block block block block block block block block block block block block block block block block block block block block block block block block block BLOCKS blocks blocks blocks blocks [0] ; /*diag*/printf("(at %o)", ccs ) ; extern int selmes[], fct[], *ccs, *cco, *cci, *cacms, ef[] ; printf("ccs= %o cco= %o\n", *ccs, *cco ) ; ccih.c ccih *ccs = 0 ; *ccs = 0100100 ; /* left bit is read only bit. extern int inmess[], *cco, *cci, *ccs ; cctran.c cctran extern int *ccs, *cci, *cco ; if( *ccs >= 0 ) { while( *ccs >= 0 ) while(( i<=(len-1) ) &&( ccs[0] < 0 ) ) *cco = mess[i++] ; common.c _ int *ccs c1; int *cco c2; int *cci c3; dspydr.c main iv; int *dciv; int *mtiv; int *dkiv; int *clkiv; syinit.c syinit *dciv = &dcint ; cciv[1] = dciv[1] = mtiv[1] = dkiv[1] = clkiv[1] = 0340 ; /* set priority */ dciv = 0124 ; extern int *cciv, *dciv, *mtiv, *dkiv, *clkiv ; dclast common.c _ int *cclast; int *dclast; int *mtlast; int *dklast; dcbeg.c dcbeg dclast = iotp ; extern int *dclast, *sycroq ; dcdspy.c dcdspy if( i >= 1 ) dclast = n[0] ; printf("dclast = %o dclser =%o\n", dclast, dclser ) ; extern int *d se r user. r users' r users, r using t r which d r which i r which i r which p r who cre r wishes r wishes r wishes r wishes r wishes r wishes r wishes~ r within r write i r write r r writing r writing r writing r writing r writing r writing r written r's area, r's~~~ 9 r's~~~ 9 r) to loc r)~~~ 7 r, a link r, altern r, altern r, and th r, and~~~ r, mainte r, or sys r, the su r, there r,~~~ 5 r,~~~ 6 r,~~~ 7 r,~~~ 8 r. Advan r. Any d r. As be r. Diagr r. Furth r. In a r. In od/: t s r o j i h g f e d a M L   ybA'? , } `O  0 z0g^A MLS5 s X : . -d*  &" %5 F  777& ewr&7r7l7 @ 5N  w w @ 5 @ 5 @  ~ ww u@ @@mȕ A r 5 N ff % @@mC r e0Ȑ @wN V7 L ӕ0B~8ӕ.  ӕ0~ B~  :ӕ. B~ӕe ӕ- ӕ+ r e0e0S&e@7 e(  @&-8w 5 @5@LW-9DW-d<A r5A ruA r5A ruA r 5A r u@t AWt@PAWt@P@]=@w> 8 ; int comd, ba, *fcp, fc ; switch(comd) { /* comds that need to deallocate buffers */ commd ccdspy.c ccdspy flag = commd( mess, &i ) ; ccih.c ccih na = commd( inmess, &linked ) ; commd.c commd commd(sc,linked) int sc[], *linked ; { d1 common.c _ d1; d2; d3; d4; d5; d6; d7; d8; d9; int *dccs d1; int *dcwc d2; int *dcma d3; dspydr.c main dccs = icle sketches the history of their use in Bell Laboratories research, and describes some of the current frontiers of our minicomputer work. While some of these applications will by their nature remain closely associated with research, an increasing number of them have already impacted and will continue to impact directly on the Bell System. Background__________ By 1966 it was clear that the single-stream batch com- puting era at Bell Laboratories, typified by computers *mtcr m2; char *dkcr d4; char *ccsr c1; int *mts m1; int *mtc m2; int *mtbrc m3; int *mtma m4; m1; m2; m3; m4; m3 common.c _ int *mts m1; int *mtc m2; int *mtbrc m3; int *mtma m4; m1; m2; m3; m4; m4 common.c _ int *mts m1; int *mtc m2; int *mtbrc m3; int *mtma m4; m1; m2; m3; m4; main dspydr.c main main() { /* display driver - dspydr */ maxch common.c _ fclen; fcthrs; comd; chcnt; maxch; dspydr.c main extern chcnt, maxch ; maxch = 0 ; fatal.c fatal chcnt = maxch + 1 ; /* deled the co d the di d the I- d the en d the I- d the I- d the la d the na d the ph d the ph d the ph d the pr d the re d the se d the us d the us d their d then p d then t d then u d there d theref d therei d the~~~ d the~~~ d the~~~ d the~~~ d throug d thus c d thus~~ d thus~~ d time~~ d to a s d to acc d to acc d to as d to ass d to be d to be d to be d to be d to buf d to by d to cho d to con d to con d to cor d to cur d to fil d to for d to I-n d to I-n d to hav d to loc d to ref d to sim d to theors gone */ dkstat.c dkstat *dkc, *dkds, *dker, *dkda ) ; *dkc, *dkds, *dker, *dkda ) ; extern int *dkc, *dkds, *dker, *dkda ; if((*dker & 1 ) != 0 ) ss = ss | 010000 ; /* cksum */ if((*dker & 2 ) != 0 ) ss = ss | 010000 ; /* cksum */ if((*dker & 040 ) != 0 ) ss = ss | 01000 ; /* misc */ if((*dker & 0100 ) != 0 ) ss = ss | 01000 ; /* misc */ if((*dker & 0200 ) != 0 ) ss = ss | 01000 ; /* misc */ if((*dker & 0400 ) != dclser, p20flg ; if( dclser != 1 ) goto er2 ; syinit.c syinit dclser = 0 ; extern dclser, mtlser, dklser ; dcma common.c _ int *dccs d1; int *dcwc d2; int *dcma d3; dcdspy.c dcdspy case 2: *dcma = n[2] ; printf("dccs = %o dcwc = %o dcma = %o\n", *dccs, *dcwc, *dcma); extern int *dccs, *dcwc, *dcma, *dclast ; dctran.c dctran *dcma = dct[2] ; extern int *dccs, *dcwc, *dcma ; dspydr.c main dcma = 0172412 ; } dcma = &d3 ; extern int *dccs, *d goto ret ; } { deallb( iotp, 1, iot ) ; { deallb(iotp,1,iot); {deallb(iotp,1,iot); { deallb(iotp, 1, iot ) ; { deallb(iotp,1,iot); /* deal iot entry */ { deallb(iotp,1,iot); /* deall iot entry */ { deallb( iotp, 1, iot ) ; if( i != 0 ) { deallb(iotp,1,iot); na = 15; goto ret; } iotp = allocb( 1, iot ) ; iotp = allocb( 1, iot); iotp = allocb(1, iot ) ; iotp = allocb(1, iot ) ; /* alloc io225 c de 225. de 230 h de 230 i de 235 h de 235 w de 301 i de 308, de 308. de 408 s de 408 s de 408 w de 520 i de 520. de 530 o de 530. de a con de a dir de alloc de also de also de also de an ad de and r de and t de and~~ de arbit de arbit de are a de arran de as wi de by pl de by th de capac de chang de conta de conta de conte de corre de fixed de for t de for t de for t de for t de havin de havin de in a de in th de in th de in th de in tu de inacc de in~~~ de is ag de is al de is co de is in deYi @mV `U V `U_j `N5 5-_` @D@-wV `U _j @-wV `U _j pnhdV `U _j RPLV `U _j h  xV pppppppp* _` ?bQ?fQ?hQnQ@TQ_j V `U_j W `U LN_j @M=% _` f "M% _` @&-7 7P7PPP_j -d 7 \ PP P_j cc  xN_` L=% _` f] ) ; bt delb.c deallb if( bt[i] == ba ) bt[i] = -bt[i] ; bt delb.c deallb if( i >(bt[-1] - 1) ) goto allfre /* if past end of table error */ ; bt delb.c deallb blksz = bt[-2] ; bt delb.c deallb if(( ba< bt[-4] ) ||( ba > bt[-5] ) ) bt delb.c deallb while( i < bt[-1] ) if(ba == bt[i++] ) goto releas ; bt delb.c deallb deallb(ba, size, bt) int ba, size, bt[]; { bt endiot.cendiot deallb( iotp[8], fcp[5], bt ) ; bt endiot.cendiot extern int *iot, *bt, fct[] ; bt inb.c initb *(bt-1) = q ;pO_n  :9 cx xhv  71sd { t^ odjx  i:!h $   ?:68$ "  ~hcnt fatal.c fatal chcnt = maxch + 1 ; /* deletes present input line */ chcnt fatal.c fatal extern chcnt, maxch ; chcnt getput.cgetchar else chcnt = -1 ; /* reinit */ chcnt getput.cgetchar chin[chcnt] = chin[chcnt] | 040 ; chcnt getput.cgetchar chin[chcnt] = '\n' ; chcnt getput.cgetchar if((chin[chcnt] >= 0101 ) &&(chin[chcnt] <= 0132 ) ) chcnt getput.cgetchar putchar( chin[chcnt] ) ; chcnt getput.cgetchar chcnt = -1 ; /* init cnt */ chcnt getpd~}|{zyxwvucwc, *dcma, *dclast ; syinit.c syinit dcma = &d3 ; } dcma = 0172412 ; } extern int *dccs, *dcwc, *dcma ; dctran dcbeg.c dcbeg if( dctran( &iotp[2] ) == 0 ) goto que ; dcdspy.c dcdspy flag = dctran( &iotp[2] ) ; dcih.c dcih i = dctran( &dclast[2] ) ; dctran.c dctran dctran( dct ) int dct[] ; { dcwc common.c _ int *dccs d1; int *dcwc d2; int *dcma d3; dcdspy.c dcdspy case 1: *dcwc = n[1] ; printf("dccs = %o dcwc = %o dcma = %o\n", *dccs, *dcwc, *dcma); <= 3 ) ) extern int ef[] ; numbrs.c numbrs ef[1] = 0 ; extern int ef[] ; if( ef[1] == 1 ) /* no line left */ { *amount = 0; goto ret; } if( ef[1]==2 ) i =-1 ; /* decr since error in last num */ if((ef[1]==1) &&(array[i]==0) ) i =-1 ; /* decr again */ while((ef[1]==0) &&(i < max) ) array[i++] = getnum(ef) ; qdspy.c qdspy {n = 0 ; ef[1] = 1 ; { ef[1] = 1 ; /* have blank*/ n= getnc ata buff ata by i ata cont ata due ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata file ata fiyiy9I9)y)v, *mtiv, *dkiv, *clkiv ; dclast common.c_ int *cclast; int *dclast; int *mtlast; int *dklast; dclast dcbeg.c dcbeg dclast = iotp ; dclast dcbeg.c dcbeg extern int *dclast, *sycroq ; dclast dcdspy.cdcdspy if( i >= 1 ) dclast = n[0] ; dclast dcdspy.cdcdspy printf("dclast = %o dclser =%o\n", dclast, dclser ) ; dclast dcdspy.cdcdspy extern int *dccs, *dcwc, *dcma, *dclast ; dclast dcih.c dcih else /* disk */ dkbeg(dclast) ; dclast dcih.c dcih endiot(dclast) ; dclast /* tape */ mtbeg(iotp) ; mtbrc common.c _ int *mts m1; int *mtc m2; int *mtbrc m3; int *mtma m4; mtdspy.c mtdspy case 1: *mtbrc = n[1] ; extern int *mtc, *mts, *mtbrc, *mtma ; printf("mtc= %o mtbrc= %o mtma= %o mts= %o\n",*mtc,*mtbrc,*mtma,*mts); mtih.c mtih ames[5] =(*mtbrc - mtlast[7]) >> 1 ; /* actual words(not bytes)trans*/ extern int *mtlast, *mtc, *mts, *mtbrc, *mtma, *iot ; mtstat.c mtstat extern int *mts, *mtbrc ; if(((*mts&01000 )!=0) &(*mtbrc!=0) ) ss = ss | d~{xur}zwtqtes present input line */ extern chcnt, maxch ; getput.c getchar extern maxch, chcnt ; if( chcnt > maxch ) goto newlin ; maxch = chcnt ; syinit.c syinit extern irc, ircmax, maxch, chcnt, p20flg ; maxch = 0 ; mtbeg dcih.c dcih if((dclast[5]&3) == 1 ) mtbeg(dclast) ;/*tape*/ mtbeg.c mtbeg mtbeg(iotp) int iotp[] ; { mtdspy.c mtdspy flag = mtbeg(iotp) ; snack.c snack if( dev == 1 ) { mtbeg(iotp) ; goto pop ; } /* mag tape */ start.c start if((iotp[5]&3) == 1 ) dklast[9], usn ) ; /* get unique sector number */ dcbeg dcbeg.c dcbeg dcbeg(iotp) int iotp[] ; { dcdspy.c dcdspy flag = dcbeg(iotp) ; dkih.c dkih { if( ackqed == 1 ) /* ack sent */ dcbeg( dklast ) ; } mtih.c mtih dcbeg(mtlast) ; snack.c snack if((*iotp &(3<<8) ) == 0 ) {dcbeg(iotp); goto pop ; } start.c start dcbeg( iotp ) ; dccs common.c _ int *dccs d1; int *dcwc d2; int *dcma d3; dcdspy.c dcdspy case 0: *dccs = n[0] ; printf("dccs = %o dcwc = %o - Nf  _Z `U_N 5NZ `U _N J5@_N[ `U _@A1,_@ @m[ `U _@A1,i@@5@e5@ @m[ `U _@A1,A@5@A1,@5,@ @m[ `U 5 @5,@ @m [ `U   ;&[<[J[ `UFfu  f x9%7DN  72N@ &e  7N@5NBX `U _ @e@e& %-_ @W-wW-wVX `U%_ @e@e& %-~^@5 N rX `U R X `U I@e@e& %-*4@W-wW-wX `U% I laF be re( ihd tr: nt st X `UX `UFf)5 5 K@U55@J@U 55J@U55J@U55J  J @0@U55J@U@55ast = %o \n", dclast ) ; dspydr.c main extern int *dccs, *dcwc, *dcma, *dclast ; dclser common.c _ dclser; mtlser; dklser; dcbeg.c dcbeg dclser = 1 ; /* say dclast awaiting service */ extern dclser ; if( dclser != 0 ) goto que ; dcdspy.c dcdspy if( i == 2 ) dclser = n[1] ; printf("dclast = %o dclser =%o\n", dclast, dclser ) ; extern dclser ; dcih.c dcih dclser = 0 ; /* say dclast has been serviced by int */ dclser = 1 ; /* say needs service */ externed "f arked as arked fr arked fr arked us arked. arly ben arly sea arly, to arly~~~ arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrangem arrows a arrows a ars at a ars in s Art art FIG. art arra art file art file art form art from art from art gene art meth art meth art of a art of t art root art suff art syst art, dif art. A art. Co art. In articula articula ar i = getnum(ef) ; getnum.c getnum getnum(ef) int ef[]; { iodspy.c iodspy i = getnum(ef) ; mtdspy.c mtdspy n[i++] = getnum(ef) ; numbrs.c numbrs while((ef[1]==0) &&(i < max) ) array[i++] = getnum(ef) ; qdspy.c qdspy /* have blank*/ n= getnum(ef) ; n = getnum(ef) ; gq dcih.c dcih if(( ndc = gq(sycroq) ) == 0 ) goto st; /*trans on empty*/ dkih.c dkih dklast = gq(dkq) ; /* get top of disk q */ if(( nq = gq(dkq) ) == 0 ) goto sendac ; /* q empty iii9IY9)yiYyy)9IYi)9YIi)9IYi95 W-@?Ne,:fe,: * 5 W-&5 W-@AWpAN?@`eRAWpAfNmeR *  w w Nf * @ =@ =wr w ` @5}}wT w B W- "5 W-@AWpAAmBtC r 49eR  w w "@e 5u@e 57 /4[0  _,P$1 D 5@ A@ A@  _,W-57N N  _,7x 5&557!X5N &5spy printf("dcih returns %d\n", dcih() ) ; dcih dcih.c dcih dcih() { /* data channel interrupt handler */ dcint syinit.csyinit *dciv = &dcint ; dcint syinit.csyinit extern ccint, dcint, dkint, mtint, clkint ; dciv common.c_ int *cciv; int *dciv; int *mtiv; int *dkiv; int *clkiv; dciv syinit.csyinit *dciv = &dcint ; dciv syinit.csyinit cciv[1] = dciv[1] = mtiv[1] = dkiv[1] = clkiv[1] = 0340 ; /* set priority */ dciv syinit.csyinit dciv = 0124 ; dciv syinit.csyinit extern int *cciv, *dciUDX w7vPPE@E? (E p@Ext.$ZFUE ]&&   5  c  (7  E w*  &PC @EE 7H 7BE 6-0U, $( $E U5@ D &5@775@  wD J@ Ex.>6HPe5.e(`D E erea bfdspy.cbfdspy area = iotta ; area bfdspy.cbfdspy area = ackara ; area bfdspy.cbfdspy area = bufara; area bfdspy.cbfdspy if( area == ackara ) area bfdspy.cbfdspy if( area == bufara) area bfdspy.cbfdspy if( area == iotta ) area bfdspy.cbfdspy printf("area(%o) not equal to either bufara(%o)",area,bufara); area bfdspy.cbfdspy extern int *table, *area ; area common.c_ int *table;int *area; area syinit.csyinit area = ackara ; area syinit.csyinit if((op[1] = getchar() ) == '\n') {ef[1] = 1 ; goto badf ; } ef[1] = 0 ; extern int ef[] ; if( ef[1] == 1 ) goto end2 ; getnum.c getnum case 10: /* newline */ ef[1] =1; ef[1] = 0 ; ef[1] = 1 ; ef[1] = 2 ; ef[1] = 2 ; ef[2] = 0 ; ef[2] = i ; ef[2] = i ; getnum(ef) int ef[]; { iodspy.c iodspy if( ef[1] == 2 ) goto getptr ; i = getnum(ef) ; if( ef[1] == 1 ) goto curptr ; if( ef[1] == 2 ) goto per ; if( i == '\n' ) { ef[1] == 1; goto curptr ; p [?q on, ention: ention;~ ention;~ entions entions, entive p ently be ently be ently oc ently pr entries entries entries entries entries entries entries entries entries entries entries entries entries entries. entries. entries~ entries~ entry 11 entry 11 entry 12 entry 12 entry 12 entry ac entry co entry co entry ha entry in entry in entry in entry is entry is entry ma entry po entry so entry) f entry. entry.~~ entry~~~ entry~~~ entry~~~ entry~~~ entry~~~ ents are ents are ents are ents for ent dspydr.cmain dccs = &d1 ; dccs dspydr.cmain *dkc = *mtc = *dccs = 0200 ; dccs dspydr.cmain extern int *dccs, *dcwc, *dcma, *dclast ; dccs syinit.csyinit dccs = &d1 ; dccs syinit.csyinit *ccs = *dccs = *mts = *dkc = 0 ; /* 4 major channels */ dccs syinit.csyinit dccs = 0172414 ; dccs syinit.csyinit extern int *dccs, *dcwc, *dcma ; dcdspy dcdspy.cdcdspy dcdspy(iotp) int iotp[] ; { dcdspy dspydr.cmain dcdspy(ciotp) ; /* call dc display routine */ dcih dcdspy.cdcdextern int *bt, bufara[], *ackmes, ackara[] ; commd.c commd iotp[8] = allocb( fcp[5], bt ) ; iotp[8] = allocb( fcp[5], bt ) ; if( i != 0) { deallb(fcp[3],fcp[5],bt); na = 15; if( sc[3] > fcp[5]*bt[-2]) if( sc[3] > fcp[5]*bt[-2]) deallb(fcp[3], fcp[5], bt ) ; fcp[3] = allocb(n,bt) ; if( iotp == 0 ) { deallb(fcp[3],fcp[5],bt);na=6;goto ret;} extern int *iot, fct[], *bt, *ciotp ; common.c _ int *bt; delb.c deallb bt[-4],bt[-5]prisam ; mtih.c mtih extern mtq, irc, ircmax ; syinit.c syinit extern irc, ircmax, maxch, chcnt, p20flg ; irc = ircmax = 0 ; ircmax = 1 ; irr ccih.c ccih extern int selmes[], *ciotp, *irr, *iras ; klcs common.c _ int *klcs; syinit.c syinit *tks = *tps = *klcs = 0 ; /* tty and clock */ extern int *klcs ; klcs = 0172540 ; ldunix dspydr.c main ldunix() ; /* no return */ m1 common.c _ int *mts m1; int *mtc m2; int *mtbrc m3; int *mtma m4; m1; m2; m3; m4; m2 common.c _ char int *dkds d9; d8 common.c_ d1; d2; d3; d4; d5; d6; d7; d8; d9; d8 common.c_ int *dkc d4; int *dkwc d5; int *dkma d6; int *dkda d7; int *dker d8; int *dkds d9; d9 common.c_ d1; d2; d3; d4; d5; d6; d7; d8; d9; d9 common.c_ int *dkc d4; int *dkwc d5; int *dkma d6; int *dkda d7; int *dker d8; int *dkds d9; damin commd.c commd i = damin( &sc[2], &fcp[8]) + damin( &sc[4], &fcp[9] ) ; damin commd.c commd i = damin( &sc[4], &iotp[9] ) ; /* disk adr conversion */ damin commd.c commd if( dami   xjd^XBRBLBZ `Ue_zN 5N*Z `U ^Ne l5N@h~z  p .ɉ$m#<.ɁBijkl#Y(ɁJh*Y(  +ɁhZ[\MY(ɁYXWVZ,QQɁ GHIJKLMY( 1 ; iotp[5] = comd << 8 | 2 ; iotp[5] = comd << 8 | 1 ; iotp[5] = comd<< 8 | 2 ; iotp[5] = comd<<8 | 1 ; iotp[5] = comd<<8 | 1 ; /* store comd and tape op */ iotp[5] = comd<<8 | 2 ; iotp[5] = comd<<8 | 2 ; /* store comd and disk op */ iotp[5] = comd<<8 | 1 ; iotp[5] = comd<<8 | 2 ; /*diag*/ printf("comd= %d fc= %d\n",comd,fc) ; comd = 63 & sc[1] ; extern fclen, comd ; printf("unknown command from sel comd = 5_N*Y `U Ne  _@EU=_8Y `UNJY `U 5_50-V-V-V7 V VTnh5 Z EU 5@e  __& -|Ve  _!55 EU 5@e  __50 V V-V7 _U-55 u5 Fh@ 5OX55 u 55<  x^$tt$$$$t[ fclen *(dklast[1] & 037) ] ; i =( dklast[0] &(3<<8) ) >> 8 ; /* dc status */ if( dklser == 1 ) dklast = nq ; if( dktran(&dklast[6]) == 0 ) { e = 301 ; goto er1 ; } if( i == 3 ) endiot( dklast ) ; /* dc half done - release iot entry */ if((dklast[0] & 01400 ) == 0 ) ac[6] = dklast ; /*dc stat not started*/ ldc =(dklast[5] & 0177400 ) >> 8 ; /* last device comd */ printf("from dklast = %o ", dklast ) ; while( i < 10 ) printf(" %o", dklast[i++] ) ; dklser common.c _ & sc[1] ; comd commd.c commd extern fclen, comd ; comd commd.c commd printf("unknown command from sel comd = %o\n", comd ) ; comd commd.c commd switch(comd) { comd common.c_ fclen; fcthrs; comd; chcnt; maxch; comd endiot.cendiot comd =( iotp[5] &(0377<<8) ) >> 8 ; comd endiot.cendiot int comd, ba, *fcp, fc ; comd endiot.cendiot switch(comd) { /* comds that need to deallocate buffers */ commd ccdspy.cccdspy flag = commd( mess, &i ) ; commd ccih.c ccih na = commd( inmess, &linked ) ; como badf ; if( ef[1] == 2 ) goto badf ; if( ef[1] == 2 ) goto badf ; if( ef[1] == 2 ) goto badf; if( ef[1] == 2 ) goto badf; if( ef[1] == 2 ) goto pbi ; if( op[0] == '\n' ) {ef[1] = 1; goto badf; } if(( ef[1] == 1 ) &&( n == 0 ) ) goto pre ; if((ef[1] == 1 ) &&( n == 0 ) )goto dedef ; if((ef[1] == 1) &&( n == 0 ) ) goto aldef ; if((ef[1] == 1) &&( n2 == 0 ) ) goto wrone ; if((ef[1] == 1) &&(n==0) ) goto indef ; if((ef[1] == 2)DW-d<A r5A ruA r5A ruA r 5A r u@t AWt@PAWt@P@]=@Ff @Et5@Et5@Et5@E5@AWpCp`Cp `Amp= Ff)@= 9-= 25 7 u-  A Am  - - @ @m @ =Ff NT[ `U @?z[ `U[ `U=[ `U8[ `U\ `U/&\ `U*T\ `U%\ &5 & 4/e5 5555N&  55 x7-5ww  w- N5 &5& H-eXv-r-el- . $ 5@57 55  -N N5&5 & D0e5 ,5555N&  55  7,5ww  ,,e, h5T#Wp mJ#Au55 @ 5555 Vw- @zEu@u@55B  @  -  -N N5&5 & H-e5 J5% - I_wf) J N  5 @EU=Ne  @EU=w|@Ff)w"@?M@?MM5 @Ff@e55 W-f Nm I% _ @_ 5 7 W-  A Aa1-_ - @ @a @ LLLL   x   LLLL X `Ue_ N 5N0X `U _ Ne  rJ@U55^J@U55 JJ@U55@6J@U 55"J"5@JW-W-W- 5I@U5@U5NX `U @Ff(I-LIU?I-8_,&IE 7xX Et7fXbX\XX `U%TI_FXBXX `U%4X5 @e  __5_  xlU?d7 `W 5PE5Awp< 1 Awp. qNY `U  t&e  7NAWpfe  7f x9%7f x9%7 7777w5 W- A wp 1 vrpljd 7^7ZT7 P7 L7 H7 D7 @7 <67 2-. ;;;_ 57z;v;r; 57`;\;X;  .;*; &; ;;;P;R57;T;V:;:57::: :p:r:t:v:`JD>8 2 ?:?:?:?: ??:?: w -He 7 5uw-%@e5N N 5 u- uNf ewjwd@wZw V P? J-FD>f  [.55 "w-HL e f Hw-.+eN  N 5u- uNf u-ew w@wxw tn? h-db@_ T555 Dw->C@e 5w-$2u-.AWt = 0100 ; /* select remote bit */ extern int *mtc, *mts ; mtdspy.c mtdspy case 3: *mts = n[3] ; extern int *mtc, *mts, *mtbrc, *mtma ; printf("mtc= %o mtbrc= %o mtma= %o mts= %o\n",*mtc,*mtbrc,*mtma,*mts); mtih.c mtih extern int *mtlast, *mtc, *mts, *mtbrc, *mtma, *iot ; tmpsta = *mts ; mtstat.c mtstat if((*mts & 0100 ) == 0 ) ; /* selr off do nothing */ extern int *mts, *mtbrc ; if(( *mts & 0100 ) == 0 ) ss = ss | 020000 ; /* selr */ if(( *mts & 01000er 523 fer 523, fer 523. fer 523. fer 523. fer and fer and fer dire fer from fer is f fer to a fer to a fer to d fer to f fer to p fer to t fer to t fer to t fer to u fere wit ference ference ference ference ference ferenced ferences ferences ferences ferences ferences ferent f ferent f ferent n ferent p ferent p ferent s ferent u fering a ferred b ferred f ferred f ferred f ferred t ferred t ferred t ferred t ferred t ferred t ferred t ferring ferring~ fers to ffected ffective ffective ffer 523 eady */ /*diag*/ if( p20flg != 1 ) *dkc = *dkc | 0200 ; extern p20flg, dkntf; if( p20flg != 1 ) *dkc = *dkc | 0200 ; /* set ready */ dspydr.c main if( p20flg == 1 ) { if( p20flg == 1 ) { else p20flg = i ; if( p20flg == 0 ) { printf("no unix load\n" ); goto endlin; } printf("p20flg = %d\n", p20flg ) ; if( p20flg == 0 ) { printf("no reboot\n"); goto endlin ; } if( p20flg == 1 ) savpsw() ; if( p20flg == 1 ) savpsw() ; extern p2ccs, *dcwc, *dcma, *dclast ; dcih.c dcih else /* disk */ dkbeg(dclast) ; endiot(dclast) ; if((dclast[5]&3) == 1 ) mtbeg(dclast) ;/*tape*/ dclast = ndc ; /* save last transfer */ dclast[0] = dclast[0] | 3<<8 ; /* dc status to done */ dclast[0] =( dclast[0] & 0377 ) | 2<<8 ; dcold = dclast ; /* save present dclast for starting linked iot */ extern int *dclast, *sycroq, *dccs ; i = dclast[0] & 3 ; i = dctran( &dclast[2] ) ; /*diag*/printf(" new dcliiYYiYiY ccs = ccsr = 0167770 ; ccs = ccsr = &c1 ; *ccs = 0100000 ; extern int *ccs, *cco, *cci ; syinit.c syinit ccs = ccsr = &c1 ; *ccs = *dccs = *mts = *dkc = 0 ; /* 4 major channels */ ccs = ccsr = 0167770 ; ccsr = ccs ; extern int *ccs, *cco, *cci ; ccsr ccih.c ccih extern char *ccsr; while((i@CNff 2%@ ȕxNiled in t iles 204 iles 204, iles 221 iles amon iles and iles and iles and iles and iles and iles and~ iles are iles are iles beco iles begi iles by n iles by s iles by~~ iles cont iles crea iles exis iles expe iles for iles for iles in a iles in a iles in c iles in t iles is e iles is~~ iles of a iles of a iles of~~ iles on~~ iles or i iles such iles them iles them iles they iles to b iles whic iles, and iles, and iles, but iles, dir iles, how iles, so~ iles, the iles, una iles,~~~ iles. Al il e I-node e I-node e I-node e I-node e I-node e I-node e I-numb e I-~~~ e identi e identi e illust e implem e in a c e in a d e in acc e in ano e in a~~ e in ord e in par e in seq e in the e in the e in the e in the e in thi e in tur e inacce e index e index~ e indica e indica e indica e indica e indica e indica e inform e input/ e integr e integr e interr e Invent e into b e invent e invent e involv e in~~~ e is a f e is a p e is aga e is all e is als e is ass e is a~~ e is con e is del e is ext e is extion. ation. ations f ations t ations w ations w ations. ations.~ ationshi ation~~~ ation~~~ ation~~~ ation~~~ ative, a atively atively, atively, ative~~~ atly sim atly~~~ atment g atment o atment o atment~~ ator 234 ator 239 ator 239 ats show attempt~ atum giv atus and at~~~ 3 ault dir ault dir ault dir ault~~~ ault~~~ ault~~~ ause an ause dir ause dir ause it ause mai ause of ause som ause the aution t autiousl availabl ave an~~ ave a~~~ ave I-no ave been ave been ave link ave more ave the jsr r5,getc; 9:.. swab r0 bis (sp)+,r0 rts r5 getc: mov r1,-(sp) mov (r5)+,r1 dec 2(r1) bge 1f mov r1,r0 add $6,r0 mov r0,0f mov r0,4(r1) mov (r1),r0 sys read; 0:..; 512. bes 2f tst r0 bne 3f 2: mov (sp)+,r1 sec rts r5 3: dec r0 mov r0,2(r1) 1: clr r0 bisb *4(r1),r0 inc 4(r1) mov (sp)+,r1 rts r5 put.s.ci+/ putw/putc -- write words/characters on output file / / fcreat -- create an output file for use by put(w|c) / / calling sequences -- / / mov $filename,r0 / jsr r5,@5W- W-@5N (5W- 5 5W- Nf  Nf  Nf  Nf   Ff @ N (@- Ff BҤ Ff(5 u- -(? (u-wt(@5@ 5N N ew>(w f >@ 5 W-.W-b  8 5`?@ -'ee \w4.@ @N R w'w 'C C5=     C &ZbJkRnDqbrjׯCpG@   =  &   @e W/  @ =   x B@ @ @e=ׯB/  BN f ^ wx&w f&B B5%1 W-8@e=G@4Nf ^ @2Nf ^ @@=  at a k at a p at any at a~~ at FIG at the A~~~ 1 A~~~ 1 a~~~ a~~~ a~~~ a~~~ a~~~ a~~~ a~~~ 1 a~~~ 1 a~~~ 1 a~~~ 1 a~~~ 1 a~~~ 1 a~~~ 1 a~~~ 1 a~~~ 2 a~~~~~ a~~~~~ Backgr a~~~~~ B.2,~~ B.3,.. backup be ano be che be con be con be ded be fun be giv be gre be loc be loc be mor be pas be pre be pro be sep be sha be sha be sho be tak be the be the be tre be und be use be use Becaus Becaus becaus becaus becaus becaus becaus becaus become ion 50 ation 52 ation 52 ation 52 ation 52 ation 52 ation 52 ation 52 ation an ation an ation bi ation bi ation bu ation co ation fo ation in ation in ation in ation is ation is ation is ation of ation of ation of ation of ation of ation of ation of ation of ation of ation of ation of ation of ation of ation on ation on ation po ation po ation po ation po ation po ation po ation sh ation sh ation to ation wa ation wo ation, a ation, a ation, a ation, s ation, t ation, t ation, t ation,~~ ation,~~ ation. an ames, na ames. F ames.~~~ ames~~~ ames~~~~ ame~~~ ame~~~ ame~~~ 1 ame~~~ 1 ame~~~ 1 ame~~~ 2 amined,~ aming co aming fu aming fu aming ma aming of aming of aming sc aming, a aming. aming~~~ ammatica ammatica ammatica ammatica ammatica amming o amodific among fi among se ample in ample, a ample, a ample, i ample, n ample, s ample, t ample, t ample, t amples o ams and ams are ams are ams are ams as p ams beca ams conc ams conc ams deal ams deta ams gain ams in d ams in f ams may ams may ams ma ng may b ng metho ng name ng name ng name ng of a ng of da ng of da ng of di ng of in ng of th ng of th ng on th ng on th ng only ng open ng or ti ng or wr ng or wr ng or wr ng other ng physi ng physi ng point ng point ng previ ng proce ng progr ng progr ng pseud ng rapid ng schem ng servi ng sever ng shown ng simpl ng small ng succe ng symbo ng syste ng syste ng syste ng syste ng syste ng syste ng syste ng syste ng syste ng syste ng syste ng syste ng syste ng syste ng syste ng syste ng syste ng syst When When Word "A" i "defa "ROOT "ROOT (FIG. - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 28 - 29 - 30 - 31 - 32 1 an 1 ar 1 ar 1 be 1 da 1 I- 1 di 1 I- 1 in 1 in 1 lo 1 st 1 th 1 th 1 tr 1 tr 2 2 2 2 2 da 2 di 2 I- 2 en 2 fi 2 in 2 is 2 nu 2 ow 2 re 2 tr 2 us 256 w 256 w 3 3 3 30 3 ar 3 bl 3 co at"4pscien"zndigit$retrn"cerror"_putcha"putc"flush"2_errno$_getcha"getc"log"lgetw#V fopen"putw# fcreat" 5 e list 5 e list 5 e list 5 e list 5 e list e e list~~ e list~~ e locate e locate e locate e locati e locati e locati e locati e locati e locati e locati e locati e locati e locati e logica e lose m e lost d e lost. e made a e made b e made i e made m e made m e mainta e mainte e mainte e mainte e mainte e mainte e mainte e mainte e mainte e mainte e manner e manner e map 40 e map 40 e map 40 e map 40 e map 40 e map bi e mared e mared e marked e marked e matche e maximu e may ac e may ac e may be e may) sub $512.,save(r3) 1: clr ct br 2b .bss buf: .=.+512. bufe: ct: .=.+2 end: .=.+2 file: .=.+2 count: .=.+2 ind: .=.+2 save: .=.+100. ;z$. & 6 % mlevxxxxprintplaymanualsetupscore/xxxxxxxxseektestinputxxxxxxxxspeakxxxxehpictscaleforeachbookw B:@ 95 5 6`A@ < : 7?? @? 9%5 @V w-~V@@ h.N pw-z@  a .8a :97 a5 @ ;  @_z 7<__ _  5___ | 5< 7  7_ :9w_ _Umcheck.s!/ check -- verify consistency of file system clr r2 mov $argbuf,r3 mov (sp)+,r5 tst (sp)+ 1: dec r5 ble 1f mov (sp)+,r4 cmpb (r4),$'0 blo 2f cmpb (r4),$'9 bhi 2f clr r1 3: movb (r4)+,r0 beq 3f sub $'0,r0 mpy $10.,r1 add r0,r1 br 3b 3: mov r1,(r3)+ br 1b 2: mov r4,r2 br 1b 1: mov $-1,(r3)+ tst r2 bne 1f mov $rf0,0f jsr r5,mesg; ; .even jsr pc,check mov $rk1,0f jsr r5,mesg; <\nRK1:\n\0>; .even jsr pc,check mov $rk2,0f jsr r5,mesg; <\nRK2:\n\0>; .ev&d1 ; extern c1,c2,c3,d1,d2,d3; syinit.c syinit dccs = &d1 ; extern c1, c2, c3, d1, d2, d3 ; d2 common.c _ d1; d2; d3; d4; d5; d6; d7; d8; d9; int *dccs d1; int *dcwc d2; int *dcma d3; dspydr.c main dcwc = &d2 ; extern c1,c2,c3,d1,d2,d3; syinit.c syinit dcwc = &d2 ; extern c1, c2, c3, d1, d2, d3 ; d3 common.c _ d1; d2; d3; d4; d5; d6; d7; d8; d9; int *dccs d1; int *dcwc d2; int *dcma d3; dspydr.c main dcma = &d3 ; extern c1,c2,c3,d1,d2,d3; alloc alloc alloc Also Altho Altho alway an I- Any a Any~~ and " and a and i and o and t Any f Any n are c are c are n area area arran arran arrow As bl As fi as al As an As se at 40 At FI At th At th be un below bit s block block Buffe block block block block block block block block block branc buffe but n by al by in By se by re Canad Canad Canad Canad Canad Canad Canad Canad t& 6 % Ff07 @e5V `UV `U P=% - jOW z_` 7 r OA1@ T_` -J $O@_, 6 _j * L _j r7V `U _j  %_j _j +_j  ^L_j 5 @e@e& %--l 5-_` W-_` -_` W-_` uW-@ 5 u-@ @mA AaH u-u5 u-@ _ 5% W 7 5-_-@# 5-_@@e@-@e5-jNfZ %7PLJ>-DNf4 %7*&$+-Nf %7 % %0 _B w 5% W  5- -@tpjR _ T5% W >_ 5-(_-@# M 9-  ^ L K J I H G F E D C B A @ ? > = < ; : 9 8 7 6 5 4 3 2 1 0 / . - , + * ) ( ' & % $ # " !     r inters ar inters as inters ca inters co inters ea inters fo inters fr inters in inters in inters in inters in inters in inters in inters in inters is inters of inters pe inters po inters th inters to inters to inters to inters to inters to inters to inters to inters to inters to inters to inters to inters to inters wh inters, a inters, p inters,~~ inters. inters. inters. inters.~~ inters.~~ inters.~~ inters.~~ inters; I inters~~~ inters~~~ inters~~~ inters~~~ inters~~~ inters~~~ inter~~~ inter~~~  w"w "@O'L > x' fj' x5%@e&T' 4%@,u-x8 2eu-|8 2N N  Nf  Vewn!w \!D2GT7"GwL!w :!,G'8 5 7''8 2& 8 5 7&&8 2;p& 4% p'FX& T& 4 4 2 8&4&-$ 7 *& (&$&-#7 & JwvFw w v  7r# r#wp%N r#wp%f 7r#`e &% ron.c _ int *sycroq; int *ackq; int *mtq; int *dkq; mtbeg.c mtbeg extern int *mtq, *mtlast ; if( testq(mtq) == 0 ) goto empty ; pq(mtq,iotp) ; mtih.c mtih extern mtq, irc, ircmax ; if((nq = gq(mtq) ) == 0 ) goto sendac ; qdspy.c qdspy q = mtq ; extern int *sycroq, *ackq, *mtq, *dkq ; syinit.c syinit extern int *sycroq, *ackq, *mtq, *dkq, qa[] ; mtq = initq( &qa[ql*2], ql ) ; mts common.c _ int *mts m1; int *mtc m2; int *mtbrc m3; int *mtma m4; dspydr.c main *mtsirect e direct e direct e direct e direct e direct e direct e direct e direct e direct e direct e direct e direct e direct e direct e direct e direct e direct e direct e each~~ e elimin e embodi e end of e end of e entrie e entry e entry~ e equal e erroro e errors e errors e exampl e except e exerci e extens e file A e file a e file a e file a e file d e file d e file f e file i e file i e file i e file i e file i e file n e file n e file n e file n e file n e file n e file n e file n e file n e file n e drawba Drawin due to due to due to duplic duplic Each d duplic duplic duplic During during each d each I each f Embodi each~~ easily effect effect effici elimin elimin elimin embodi encoun encoun ending entrie entrie entrie entrie entrie entrie entrie entrie entrie entrie entry entry entry entry entry entry entry entry entry entry entry entry entry) entry. entry~ entry~ errone error Errors error, errors errors errors errors errors made mo e maintai e mainten e mainten e mainten e mainten e mainten e mainten e mainten e mainten e mainten e manner e manner~ e map 402 e map 406 e map 406 e map 406 e map 406 e map bit e mared " e mared a e marked e marked e matches e maximum e may acc e may acc e may be e may be e may be e may loc e may thu e method e modific e modifie e more co e more th e more us e more va e more~~~ e more~~~ e most pa e much of e must be e must be e must pr e name "1 e name "A e name "A e name "U e name (t e nan ind n and ma n and pr n anothe n any di n any ev n any I- N are~~~ n area o n are~~~ n arises n arrang n as I-n n as set n at 205 n at 3B, n at FIG n at FIG n at FIG n attemp n a~~~ n a~~~ 1 n a~~~ 2 n backup n be giv n be sei n become n behalf n bit is n bit is n bit wh n bits 4 n bits f n block n block n block n blocks n but on n by any n change n checki n choosi n common n comput n comput n comput n comput n conjun n conjun n contai n contra n contra n creati n data b n dealin n diagra n differ n deallb /* incr not in use counter */ niucnt =+1 ; extern niucnt, toterr, rngcnt, frecnt ; syinit.c syinit extern niucnt, toterr, rngcnt, frecnt ; niucnt = toterr = rngcnt = frecnt = 0 ; numbrs ccdspy.c ccdspy numbrs( 3, n, &i ) ; numbrs( 6, n, &i ) ; numbrs( 6, n, &i ) ; numbrs( 6, n, &i ) ; numbrs( 6, n, &i ) ; numbrs( 6, n, &i ) ; numbrs( fclen, n, &i ) ; dcdspy.c dcdspy numbrs(2, n, &i ) ; dkdspy.c dkdspy numbrs(2, n, &i ) ; _commd"L2rsave _fclen _fct _comd L3_printf L5 L6V_fcthrs L7hL8 L9zL10000L10L10001L11_bt _allocb L12 _iot L13H_deallb L148_damin L15L16L17>L18X_ciotp L19(L20L21L22<L23:L24@L25RL26bL27xL28@L29re es to th es to th es to~~~ es which es which es which es which es which es withi es) stor es, and es, and es, and es, and~ es, but es, but es, but es, comp es, dire es, FIG. es, for~ es, howe es, name es, so~~ es, the es, the es, unaf es, user es, viol es, whil es,~~~ 1 es-- to es. A l es. All es. As es. As es. At es. A~~ es. Dir es. Dir es. For es. For es. For es. Fur es. I-l es. In es. Onc es. Suc es. Sys es. The es. The es. The es. The es. Thu es. Thu es.~~~ es.~~W-"XN  @ , `5@-W- @N  W-\ 4  7 W--? 5% @-> f  NP  _@N  5_  W-` @ww bp Nf   @ ,wlw Z*e- v  He-e7w&w  Hww _ 7 @_ 5%/:7 t7%*/07  \5@ % J5%/-ZZ X r~~~ puter~~~ puter~~~ p~~~ 10 qual and qual the que.~~~ quence o quence o quence w quential quently ques of quest in quest is quest is questing quests d quire le quired i quiring quite di quite si r (index r 211 to r 211. r 212 wh r 234 wi r 239 is r 239 to r 523 an r 523 an r 523 is r 523 is r 523, a r 523. r 523. r 523. r 528 of r a diff r a firs r a full r a part r a seco r a sing r a smal r access r admini r all da r all of r all of r also g r always r amy us r and co r and lo r and th r ad=:741EB?<9630/,)&# .+(%"-*'$!     , the a ks, the c ks. An i ks. Fixe ks. Many ks.~~~ 3 ks.~~~ 12 ks.~~~ 19 ks; I-nod ks~~~ 20 kup stora kup stora kup stora kup.~~~ 1 k~~~ 2 k~~~ 2 k~~~ 4 k~~~ 5 k~~~ 5 k~~~ 6 k~~~ 7 k~~~ 8 k~~~ 10 k~~~ 11 k~~~ 14 k~~~ 16 k~~~ 17 direct n direct n direct n direct n direct n direct n direct n direct n direct n disk s n duplic n each 1 n each~~ n end of n entrie n entry n entry n error. n error. n error~ n exampl n FIG. 1 n FIG. 1 n FIG. 1 n FIG. 2 n existi n FIG. 3 n FIG. 3 n FIG. 3 n FIG. 3 n FIG. 3 n FIG. 4 n FIG. 4 n FIG. 4 n FIG. 5 n file i n file l n file l n file l n file l n file l n file l n file l n file l n file l n file l n file l n file l n file n n file.~ n file~~ n file~~ n file~~ n flow c n for ke n free b n free b n just~~ keepin key to key to key~~~ known Large large large large large. large~ large~ last m last m later later~ layout layout layout leads~ least length length length length length length level level levels levels Likewi linear link i link t links links links list 4 list 5 list 5 list 5 list 5 list 5 list 5 list 5 list e list. list~~ list~~ locate locate Locati Locati Locati locati locati locati locati locati locati locati locati e& e@e5EW 25 2 5%W- AWp AmeuN,"f@e@e& e@e5@Ae@%'( h (2 nFf \Wp*ed!Ff7 4 0d!lWped!\p ,"FWpf:Wpf e5_ @V ׭(l18"WpfWpf ec 8"WpfWpf e MDC?002z0+   numbrs(2,n,&i) ; dspydr.c main numbrs( 11, n, &r) ; iodspy.c iodspy numbrs( l, n, &nums ) ; mtdspy.c mtdspy numbrs(1,n,&i) ; numbrs(2, n, &i ) ; numbrs(2,n,&i) ; numbrs.c numbrs numbrs(max,array,amount) int array[],amount[] ; { oldpri common.c _ p20flg; irc; ircmax; oldpri; p20flg common.c _ p20flg; irc; ircmax; oldpri; dcih.c dcih extern dclser, p20flg ; if( p20flg != 1 ) *dccs = *dccs | 0200 ; dkih.c dkih /*diag*/if(p20flg != 1) *dkc = *dkc | 0200 ; /* rlves emselves emselves, emselves, em~~~ 3 em~~~ 9 em~~~ 13 em~~~ 16 em~~~ 18 em~~~~~ en a data en a data en a data en a data en a dire en a dire en a file en a file en a pseu en a user en a user en a user en a user en an exi en be sei en become en by any en change en comput en direct en direct en file i en file l en file l en file l en file l en file l en file l en file l en file l en file l en file l en file l en file l en file.~ en file~~ en file~~ en into t en locate en make i en moment en no d<;:9876543210/.-,+*)('&%$#"!      th ion;~~~ ion;~~~ ional di ional na ional na ional na ional sy ionally ional~~~ ions bet ions for ions of ions of ions to ions und ions wil ions wit ions, an ions. B ions.~~~ ionship ions~~~ ions~~~ ions~~~ ion~~~ ion~~~ ion~~~ 1 ion~~~ 1 ior Art ior art ior art ior art ior art ior art ior art ior art ior art ior art ior art ior art, ior art. ior art. ior art~ ious pro ious ser iously d iously d iously n iously. iously.~ ip among ipal fun ipal wit ipal~~~ iprogram iption iptiota, alpha, lev); remove(); if(v > alpha) { alpha = v; use(pv, m); if(alpha >= beta) break; } } lmp = p2; f1: pvp = pv; return(alpha); } double maxmin(alpha, beta, lev) double alpha, beta; int lev; { int m; register *pv, *p1, *p2; double v, minmax(); if(lev >= xlev) return(maxqui(alpha, beta, lev)); pv = pvp; *pvp++ = 0; p1 = lmp; agen(false); p2 = lmp; m = p2-p1; if(m == 0) { alpha = -1.0e4+lev; goto f1; } p2 = p1; lev++; while(p1 != lmp) { m = *p1++; move( C 4 EC`fC K"e  "@@ b(C C @@ b(Ce  @ v0&0, P &f @ ,ty_qsort"qsortdoneloop$loop12))99ii_attacv _center _wheur _bheur _control _qdepth _mdepth _rand _matflg _bookf _bookp _intrp _moveno _gval _vtabf _fout _vx _vy _vtab ._game _fault _pvalue _abmove _pvbuf _pvp _lmp _sbufp _clktim _mantom _ply _value _evalue _mfmt _debug _deptory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rectory rerenc erformed erformed erformed erformed erformed erformed erformed erformed erformin erical d ering an eriodica eriods f eristics erly acc erly app erly dup ermed a ermed he ermed hi ermine t ermined ermined ermined ermissib ermissio ermissio ermissio ermit ac ermit fi ermit in ermit ra ermits d ermits t ermitted ermitted ermitted ermittin ermittin ermittin ermore, ern in t ern to t ernative ernative ernative ernative erned wi erned wi erned wi erned wi erned wi erned wi ern~~~ 1 ero coun ero dedi ero_`a bU Bh er who c er wishe er wishe er wishe er wishe er wishe er wishe er wishe er withi er's are er's~~~ er's~~~ er) to l er)~~~ er, and er, main er, or s er, the er, ther er,~~~ er,~~~ er,~~~ er. Adv er. As er. Dia er. In er. In er. In er. Thu er. Use er.~~~ er.~~~ 1 er.~~~ 1 er.~~~ 1 er.~~~ 1 ER1" is~ ER1.A.1" era. Th era. Th eral and eral dir eral hie eral hie eral pur eral pur eral tim eral use erally a erally l erally n erally p erally q erally r erally~~ eral~~~ erarchal erarch88Y_printn"`rsave L2$`_putchar L18`rretrn _printf"<`L4L`L5L`L6t`L3DaL8aL9`L10`L11`L12`L13`L14HaL15`L16PaL10000`L10001`L17`L18`L19`L20aL70asswitch psw.o.oJ;+`$_֠_savpsw" *area ; common.c _ int *table;int *area; syinit.c syinit extern int fct[], *ciotp, *table, *area ; table = ackmes ; testq ccbeg.c ccbeg if( testq( ackq ) == 0 ) goto empty ; dcbeg.c dcbeg if( testq(sycroq) != 0 ) goto que ; dkbeg.c dkbeg if( testq(dkq) == 0 ) goto empty ; iras.c iras if( testq( ackq ) == v ) goto prisam ; v = testq( ackq ) ; mtbeg.c mtbeg if( testq(mtq) == 0 ) goto empty ; qdspy.c qdspy n = testq(q) ; qu.c testq testq(qt) int qt[] ; { snack.c snack ifA & 9 &fA @e&7w@&./lib/crt20.o/usr/c/c0/usr/c/c1/usr/bin/nas/tmp/ctm0a%s: c0c1as-a.outa.outmove failed: %s ld-l2/lib/libc.a-l/bin/lddefineincludeCan't creat %s Undefined controlNested 'include'Missing file %sControl syntax%d: Line overflowCan't find %s Try again Fatal error in %s  fw  7 df\w 7 Finb.oiodspy.oMiras.omtbeg.omtdspy.omtih.omtstat.omttran.onumbrs.oqdspy.oqu.osnack.ostart.osyinit.oLcompsyinit.osnack.ostart.osyinit.oiear.oldunix.opsw.oreboot.ocrt20.siear.sa.outf the ll of the ll of the ll of the ll of the ll of the ll of the ll path n ll path n ll path n ll path n ll path n ll path n ll physic ll physic ll pointi ll possib ll unallo llaneous llaneous lled, the lled, the lling fil llocatabl llocatabl llocatabl llocatabl llocatabl llocated llocated llocated llocated llocated llocated llocated llocated llocated, llocated. llocated~ llocating llocation llustrate llustrate llustrate llustrate llustrate llustrate llustrate llustrate llustrate llustrati llustrY `U e l5NY `U @d !EU? Y `Ug ! @ z:@0 Ff) J xNe l @EU=wJDN:  5 @EU=@Ff)5fC5 ^C@?VC@?JCBC5 @Ff@e55 W-f Nm ?% _h@_L5 7 |xW-  A Aa1-P_r -@ @ @a @ ~BvBnB br err 1: mov r1,r3 clr r4 / count entries 2: cmp (r3),ii bne 2f inc r4 add $12.,r3 br 2b 2: cmpb r4,(r2) beq pall jsr r5,mesg; <#\0>; .even err: incb longf+1 jsr r5,mesg ; .even pall: tst longf beq 1f mov r5,-(sp) mov ii,r5 jsr pc,decml mov (sp)+,r5 1: cmp (r1),ii bne 1f tst longf beq 2f jsr pc,pentry jsr r5,mesg <\n\0>; .even 2: add $12.,r1 br 1b 1: tst longf beq ep2 jsr r5,mesg; <\n\0>; .even ep2: inc r2 inc ii cmp ii,maxi ble p2 tst (r1) beq 1f mov (r1),ii " may A.1" the a. A se a. The a. The A.1 is a A.1, A.2 A.1, the A.2, A.3 A.3,..., A.~~~ 12 Abstract ability able 1. able blo able blo able blo able for able spa able spa able to above. absence abular f access I access I access c access d access d access i access t access t access t access t access t access t access t access t access t access t access t access t access t access t access. access. accessib accessib accessin access~~ accommod accompli accompli accordin accordin accordin accordin ac)())99I)()))())9h999I)Y9y9y9y the~ ein, and ein:~~~ eing dea eing sho eing~~~ eir corr eir file eir need eir stor eized fo el file el of in el of in el, each elate th elates t elations eld of t eld. Th eleted a eleted, eletion, elf to~~ elf) is elf-~~~ elf. Th elf. Us elieve t eliminat eliminat eliminat eliminat ell as t ellaneou ellaneou elow.~~~ elow.~~~ els --sy els may els of i els, for els, mai els. Sy elves ar elves st elves st elves, c elves, v ely by t ely cont ely inde ely open ely sepa ely, a b ely, may ely, whi el 7 I- 7 ma 7 me 7 me 7 mo 7 na 7 no 7 oc 7 Ph 7 of 7 sa 7 te 7 to 8 50 8 by 8 co 8 co 8 en 8 fi 8 fi 8 in 8 li 8 ma 8 nu 8 re 8 se 8 sh 8 st 8 un 8 un 8 x 2 9 9 25 9 25 9 FI 9 a 9 ad 9 bu 9 di 9 fi 9 fi 9 in 9 nu 9 ow 9 ro 9 si 9 Th 9 th A dir A lar A lin A plu A use a man A num A sin a use accom Admin admin Advan All d Also An an $$jUTY `U rY `U 5 W- @ mY `U Y `U55 N@e& J%5NY `U Y `U5 W-@ @aY `U Y `UFEt5W-. "@@   !-w-w@ z:@0  N ! !Ff-DU?D-f7 U?|xE5@f E%T J (%@ "82 5=NY `U w ed in op ed in pr ed in pr ed in ta ed in th ed in th ed in th ed in th ed in th ed in th ed in th ed in th ed in th ed in th ed in th ed in th ed into~ ed in~~~ ed in~~~ ed lengt ed lengt ed lengt ed lengt ed locat ed locat ed on a ed on a~ ed on du ed on th ed on th ed on th ed on th ed ones. ed physi ed previ ed separ ed since ed so th ed the~~ ed throu ed to a ed to ac ed to ac ed to as ed to as ed to be ed to be ed to be ed to bu ed to by ed to ch ed to co ed to co ed to cu ed to fi ed to fo ed to It common.c _ fclen; fcthrs; comd; chcnt; maxch; dspydr.c main chcnt = 5 ; extern chcnt, maxch ; fatal.c fatal chcnt = maxch + 1 ; /* deletes present input line */ extern chcnt, maxch ; getput.c getchar else chcnt = -1 ; /* reinit */ chin[chcnt] = chin[chcnt] | 040 ; chin[chcnt] = '\n' ; if((chin[chcnt] >= 0101 ) &&(chin[chcnt] <= 0132 ) ) putchar( chin[chcnt] ) ; chcnt = -1 ; /* init cnt */ chcnt = 0 ; chin[++chcnt] @5W- W-@5N (5W- 5 5W- Nf  Nf  Nf  Nf   Ff @ N (@- Ff BҤ Ff'5 u- -'> 'u-w'@5@ 5N N ewV'wf (=@ 5 W-.W-b  8 5`>@ -&e a num gh all o gh any a gh a~~~ gh buffe gh direc gh direc gh direc gh not s gh the I gh the d gh the I gh the I gher in ght loca ght phys ght phys ght writ gh~~~ 3 gh~~~ 13 gical or gin. In ging.~~~ ginning ginning ginning ginning ginning ginning ginning ginning ginning ginning ginning~ ginning~ gins in gins wit gins~~~ gital co gital co give the given by given di given fi given mo given th given to given wh given. given. gives to giving a giving i gle acce gle dire gle dire gle file g= *tkb & 0177 ; extern maxch, chcnt ; if( chcnt > maxch ) goto newlin ; if( chin[chcnt] == '#' ) {if(chcnt >=1 ) { chcnt=-2; /*decr*/ if( chin[chcnt] == '@' ) { chcnt = -1 ; /* delete line*/ if(( chin[chcnt] == '\n' ) ||( chin[chcnt] == '\r' ) ) maxch = chcnt ; return( chin[chcnt++] ) ; syinit.c syinit chcnt = 5 ; extern irc, ircmax, maxch, chcnt, p20flg ; chin common.c _ char chin[70]; getput.c getchar chin[chcnt] = chin[chcnt] | 040 ; chin[chcnt] may b ing metho ing name ing name ing name ing of a ing of da ing of da ing of di ing of in ing of th ing of th ing on th ing on th ing only ing open ing or ti ing or wr ing or wr ing or wr ing other ing physi ing physi ing point ing point ing previ ing proce ing progr ing progr ing pseud ing rapid ing schem ing servi ing shown ing simpl ing small ing succe ing symbo ing syste ing syste ing syste ing syste ing syste ing syste ing syste ing syste ing syste ing syste ing syste ing syste ing syste ing symd commd.c commd commd(sc,linked) int sc[], *linked ; { d1 common.c_ d1; d2; d3; d4; d5; d6; d7; d8; d9; d1 common.c_ int *dccs d1; int *dcwc d2; int *dcma d3; d1 dspydr.cmain dccs = &d1 ; d1 dspydr.cmain extern c1,c2,c3,d1,d2,d3; d1 syinit.csyinit dccs = &d1 ; d1 syinit.csyinit extern c1, c2, c3, d1, d2, d3 ; d2 common.c_ d1; d2; d3; d4; d5; d6; d7; d8; d9; d2 common.c_ int *dccs d1; int *dcwc d2; int *dcma d3; d2 dspydr.cmain dcwc = &d2 ; d2 dspydr.cmain extern c1,c2k d @95 N f d L@@ 5Ne0 f V w/f W- Nfe( IW-Ne  N7 7W-dA r   9 A r uA rd& V : A rdu@Ff @     xF  $ N , fe( w.f)@   F. bv k nz q~ r Nf w-f3_ -ZT_ 49 7 74extern int *mtlast, *mtc, *mts, *mtbrc, *mtma, *iot ; if( *mtc < 0 ) goto deverr ; if( p20flg != 1 ) *mtc = *mtc | 0200 ; /* mtc ready */ lfunc =(*mtc & 016 ) >> 1 ; mttran.c mttran *mtc = mtreg[0] ; /* function and go */ extern int *mts, *mtc, *mtbrc, *mtma ; if(( *mtc & 0200 ) == 0 ) goto busy /* controller busy */ ; syinit.c syinit extern int *mts, *mtc, *mtbrc, *mtma ; mtc = mtcr= 0172522 ; mtcr = mtc ; mtcr common.c _ char *mtcr m2; char *dkcr d4; char *ccsr c1; mtII9)Iy)III9)99)with on word on, a na on, all on, all on, phys on, rena on, stor on, the on, the on, this on,~~~ 1 on,~~~ 1 on. In on. The on. Thi on. Wor on.~~~ 1 on.~~~ 2 on: tha on;~~~ on;~~~ 2 onal dir onal nam onal nam onal nam onal sys onally a onal~~~~ onceptua oncern i oncern t oncerned oncerned Once~~~ oncerned oncerned oncerned oncerned ond dire ond dire ond dire ond leve ond port ond port ond port ond set ond the ond to I ond user ond user ond user ond user ond user ond user ond, for ondary s on 3 loc 3 rea 3 sam 3 sto 3 wri 30 -~~ 301 is 302 re 303 ex 303~~~ 304 sh 305. 306 an 307 ea 308, t 308. 31 -~~ 32 -~~ 3A and 3A sho 3A, in 3A, it 3A.~~~ 3A.~~~ 3B is 3B, is 3B.~~~ 3C ill 3C is 4 4 4 and 4 bit 4 blo 4 com 4 dat 4 Gen 4 exp 4 is 4 it 4 key 4 lar 4 nee 4 sta 4 the 401 ar 401 be 401. 402 of 402. 403, b 404 co 404. 404. 404~~~ 405 is 406 ar 406 co 406. 406.~~ 407 co 408 wh 408 wi 420. L% _` @ 7dP7VPRPNP_j  PPP_j cc  x_`  W `U_j "W `U_j L 5-b_` -V@wB>0W `U _j K=% @5O I>W `U _j  5-d-@wPW `U _j  5-a-x->-@wZW `U _j  ^Mp pacm& 4  NM6 B hW~WWWWWW `UW @ W `U-ng~ erating~ eration eration, eration, eration, eration, erations erations erations ercised ere a la ere are ere are ere I-no ere shou ere shou ere to d ere user ere with ereby ma ereby po ered in ered in ered use ered. I erefore erefore erefore, erefore, erein as erein re erein te erein th erein, a erein:~~ erence t erence t erence t erence t erence w erenced~ erences erences erences erences erences erent fi erent fr erent na erent po erent po erent sy erent us erest in erest in erfere w erfeer~~~ her~~~ hes begi hes file hes the hes to c hes to c hes to e hes to l hes to o hes to o hes to r hes to r hese cha hese dir hese spe hese two hese~~~ hese~~~ hes~~~ 1 hether t hey cont hey deal hey do n hey had hey have hey repr he~~~ 2 he~~~ 2 he~~~ 2 he~~~ 3 he~~~ 3 he~~~ 3 he~~~ 4 he~~~ 4 he~~~ 4 he~~~ 4 he~~~ 4 he~~~ 5 he~~~ 5 he~~~ 5 he~~~ 6 he~~~ 6 he~~~ 6 he~~~ 7 he~~~ 7 he~~~ 7 he~~~ 8 he~~~ 8 he~~~ 9 he~~~ 9 he~~~ 10 he~~~ 10 he~~~ 10 he~~~ 11 he~~~ 13 he~~~ 13 ta bl l data bl l data bl l data fi l data fi l datum g l directo l directo l directo l directo l directo l directo l directo l directo l directo l directo l directo l directo l disk fi l file fo l file na l file na l file na l file na l file na l file na l file st l find a l form a~ l form of l form;~~ l functio l handlin l handlin l hierarc l hierarc l illustr l illustr l its dat l linking l linking l locatio l locatio l modern~ l name in l name is l name tr l names w l names~~ l naming l naming l nami name ile name ile name ile name ile name ile name ile name ile name ile name ile name ile name ile name ile name ile name ile name ile name ile name ile name ile name ile nami ile of a ile of a ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile oper ile or b ile or d ile or p ile read ile retu ile sepa ile seve ile shar ilies ectories ectories ectories ectories ectories ectories ectories ectories ectories ectories ectories ectories ectories ectories ectories ectories ectories ectories ectories ectories ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 1 ectory 3 ectory 3 ectory a ectory a ectory a ectory a ectory a ectory a ectory a ectory a ectory a ectory a ectory b ectory b ectory b ectory b ectory b ectory b ecto               _value _bkpos _game errorVpmoveXnmoveHbmoveHrmoveqmove<kmovemoveHmovekmovexmoveomoveoomovepmoveq _ char *mtcr m2; char *dkcr d4; char *ccsr c1; dspydr.c main ccs = ccsr = 0167770 ; ccs = ccsr = &c1 ; extern char *ccsr ; syinit.c syinit ccs = ccsr = &c1 ; ccs = ccsr = 0167770 ; ccsr = ccs ; char *mtcr, *dkcr, *ccsr ; cctran ccbeg.c ccbeg if( cctran(mess,len) == 0 ) goto alack ; ccdspy.c ccdspy flag = cctran( mess,6 ) ; cctran.c cctran cctran(mess,len) int mess[],len ; { snack.c snack if( cctran(idx,6) == 0 ) goto ret ; /* busy */ chcnret phigh: mov _reg+12.,r0 / get old stack pter add $2,r0 / get psw word mov (r0),r1 bic $!0340,r1 / have old priority mov r1,_pswold bis $0340,(r0) / set psw priority high ret: jsr pc,resreg / restore regs mov _reg+12.,sp / set stack rti / interrupt return / / / internal sub to store regs ( not sp ) streg: mov r0,_reg mov $_reg+2,r0 mov r1,(r0)+ mov r2,(r0)+ mov r3,(r0)+ mov r4,(r0)+ ii} if(( c[0] = getchar() ) == '\n' ) { ef[1] = 1 ; goto badf ; } if((ef[1]==2) &&( ef[2]!='p') ) goto badf ; extern int *iot, ef[], *ciotp ; mtdspy.c mtdspy n[i++] = getnum(ef) ; ef[1] = 1 ; ef[1] = 0 ; if ( ( ef[1] == 1 ) && ( n[i] == 0 ) ) i =-1 /* decr */; if ( ef[1] == 2 ) goto badf ; if ( ef[1] == 2 ) goto badf ; if ( ef[1] == 2 ) goto badf ; if ( ef[1] == 2 ) goto badf ; while ( ( ef[1] == 0 ) && ( i k d @:5 N f d M@@ 5Ne0 f V w/f W- Nfe( IW-Ne  N7 7W-dA r   9 A r uA rd& V : A rdu@Ff @     xF  $ N , fe( w.f)@   ,/ bv k nz q~ r Nf w.f4_ -BU_ 5: 8 75p[9] ) ; i = damin( &sc[4], &iotp[9] ) ; /* disk adr conversion */ if( damin( &sc[4], &iotp[9] ) != 0 ) /* error in adr */ if( damin(&sc[4],&iotp[9]) != 0 ) if( damin(&sc[4],&iotp[9]) != 0 ) dam.c damin damin(secptr,pdp) int secptr[], pdp[] ; { dkih.c dkih damin( usn, &da ) ; /* map sector num back to disk adr */ damout dam.c damout damout(pdp,secptr) int pdp[], secptr[] ; { dkih.c dkih damout( &dklast[9], &ac[4] ) ; /* disk adr, sel format damout( &0 ) != 0 ) ss = ss | 010000 ; /* pae */ if(( *mts & 0200 ) != 0 ) ss = ss | 01000 ; /* nxm */ if(( *mts & 02000 ) != 0 ) ss = ss | 0100 ; /* eot */ if(( *mts & 020000 ) != 0 ) ss = ss | 010000 ; /* cr */ if(( *mts & 040 ) != 0 ) ss = ss | 020 ; /* bot */ if(( *mts & 0400 ) != 0 ) ss = ss | 01000 ; /* bte */ if(( *mts & 04000 ) != 0 ) ss = ss | 0400 ; /* bgl */ if(( *mts & 040000 ) != 0 ) ss = ss | 040 ; /* eof */ if(((*mts&01000 )!=0) &(*bf _fout _vx _vy _vtab ._game _fault _pvalue _abmove _pvbuf _pvp _lmp _sbufp _clktim _mantom _ply _value _evalue _mfmt _debug _depth _flag _eppos _bkpos _wkpos _edge _pval _dir _board _mbuf ` _sbuf d_use"rsave L2L3L1rretrn _princ""L52L6~_putchar _out L10000ld [ 3?v d .b ; 50xj Y A .4LpO_n  :9 cx xhv  71sd { t^nmnohupnroffodoedoprovpasswdpfeplotprproofpsptiptxrelocrewrmrmdir+] ) ; extern fclen ; commd.c commd while( i < fclen )fcp[i++] = 0 ; extern fclen, comd ; fcp = &fct[ fc*fclen ] ; while( i < fclen ) printf(" %o", fcp[i++] ) ; common.c _ fclen; fcthrs; comd; chcnt; maxch; dkih.c dkih ba = fct[ fc * fclen + 8 ] ; ea = fct[ fc * fclen + 9 ] ; extern fclen ; fcp = &fct[ fclen *(dklast[1] & 037) ] ; endiot.c endiot extern fclen ; fcp = &fct[ fc*fclen ] ; mtih.c mtih extern fclen ; fct[ fc * fclen + 1 ] = 0 ; fct[ spydr.cmain extern int *ciotp ; ciotp dspydr.cmain /*diag*/ printf("ciotp = %o \n", ciotp ) ; ciotp iodspy.ciodspy return(ciotp) ; ciotp iodspy.ciodspy pter = ciotp ; ciotp iodspy.ciodspy extern int *iot, ef[], *ciotp ; ciotp syinit.csyinit ciotp = iot ; ciotp syinit.csyinit extern int fct[], *ciotp, *table, *area ; clkint syinit.csyinit *clkiv = &clkint ; clkint syinit.csyinit extern ccint, dcint, dkint, mtint, clkint ; clkiv common.c_ int *cciv; int *dciv; int *mtiv; int *dkiv; int *c at the b at the c at the I at the I At the o At the o at the d at the d at the f at the s at the t at the u at they at the~~ at the~~ at the~~ at the~~ at this at to pr at volum at when at, dupl at. Use ata arra ata as n ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata bloc ata blo W-  5@@ @ A Aapvwtwr> KP `  x 7 -~<-Ul-U^-Z-RUH-RU:47 07 ,w&w"BrKN<Qr Rp PbNkn*qbad char -- %c too many squares illegal position only one king each side needs a king black is in check iYYi)ufara[], *ackmes, ackara[] ; bufara bfdspy.cbfdspy area = bufara; bufara bfdspy.cbfdspy if( area == bufara) bufara bfdspy.cbfdspy printf("area(%o) not equal to either bufara(%o)",area,bufara); bufara bfdspy.cbfdspy extern int *bt, bufara[], *ackmes, ackara[] ; bufara common.c_ bufara[1550]; ackara[117]; qa[68]; ef[3]; iotta[150]; bufara syinit.csyinit bt = initb( bufara, bufl, 256 ) ; bufara syinit.csyinit extern int *iot, iotta[], *bt, bufara[], *ackmes, ackara[] ; n = getnum(ef) ; n = getnum(ef) ; n = getnum(ef) ; n = getnum(ef) ; n = getnum(ef) ; n2 = getnum(ef) ; n2 = getnum(ef) ; ccdspy.c ccdspy i = getnum(ef) ; i = getnum(ef) ; dcdspy.c dcdspy n[i++] = getnum(ef) ; dkdspy.c dkdspy n[i++] = getnum(ef) ; dspydr.c main i = getnum(ef) ; lmax: i = getnum(ef) ; { l = getnum(ef) ; if( ef[1] == 2 ) goto badf ; i = getnum(ef) ; cnt++] ) ; chcnt syinit.csyinit chcnt = 5 ; chcnt syinit.csyinit extern irc, ircmax, maxch, chcnt, p20flg ; chin common.c_ char chin[70]; chin getput.cgetchar chin[chcnt] = chin[chcnt] | 040 ; chin getput.cgetchar chin[chcnt] = '\n' ; chin getput.cgetchar if((chin[chcnt] >= 0101 ) &&(chin[chcnt] <= 0132 ) ) chin getput.cgetchar putchar( chin[chcnt] ) ; chin getput.cgetchar chin[++chcnt] = *tkb & 0177 ; chin getput.cgetchar extern char chin[] ; chin getput.cgetchar if( c 01 ;/*rle*/ mttran.c mttran *mtbrc = mtreg[1] ; extern int *mts, *mtc, *mtbrc, *mtma ; syinit.c syinit extern int *mts, *mtc, *mtbrc, *mtma ; mtbrc = 0172524 ; mtc common.c _ int *mts m1; int *mtc m2; int *mtbrc m3; int *mtma m4; dspydr.c main *dkc = *mtc = *dccs = 0200 ; extern int *mtc, *mts ; mtdspy.c mtdspy case 0: *mtc = n[0] ; extern int *mtc, *mts, *mtbrc, *mtma ; printf("mtc= %o mtbrc= %o mtma= %o mts= %o\n",*mtc,*mtbrc,*mtma,*mts); mtih.c mtih fc * fclen + 2 ] = selsta ; syinit.c syinit extern fclen ; fclen = fcel ; while( i < 32 ) fct[ i++ * fclen ] = 0 ; fct ccdspy.c ccdspy fcp = &fct[ i*fclen ] ; extern int selmes[], fct[], *ccs, *cco, *cci, *cacms, ef[] ; commd.c commd extern int *iot, fct[], *bt, *ciotp ; fcp = &fct[ fc*fclen ] ; common.c _ fct[320]; inmess[10]; selmes[10]; reg[8]; dkih.c dkih ba = fct[ fc * fclen + 8 ] ; ea = fct[ fc * fclen + 9 ] ; extern int fct[], *dktl, *dkq , *dklast ; _-  5-_-@ff %_d % %_ 5 e@-A mjAup@ mX f % _  &=% W _@ @#a    xFXXXXXX$_W _ =% _WuWf_h_-db _-PN _-<: _ _ 5-ly, to rly~~~ rm as a rm a~~~ rm in Ta rm in~~~ rm of an rm of fi rm of~~~ rm. As rm;~~~ rmal dir rmal use rmat A.1 rmat is rmat of rmat of rmat to rmat, du rmat. U rmation rmation rmation rmation rmation rmation rmation rmation rmation rmats sh rmed a " rmed by rmed by rmed by rmed by rmed by rmed her rmed his rmed on rmed on rmed, an rmed~~~ rmine th rmined a rmined l rmined l rming la rming se rming sm rmissibl rmission rmission rmission rmit acc rmit fix rmit ind rmit rap data f data f data f data f data f data f data f data f data f data f data f data f data l data l data s data w data. data~~ data~~ data~~ datum deal o deal p deal w deal w dealin dealin deal~~ debugg dedica Descri degree deleti denied Descri Descri descri descri descri design Detail desire detail detail detail determ diagra differ differ differ differ Direct Direct Direct Direct differ diffic diffic digita digita Direct Direct Direct Direct Y9i99Y99I_attacv _center _wheur _bheur _control _qdepth _mdepth _rand _matflg _bookf _bookp _intrp _moveno _gval _vtabf _fout _vx _vy  2f 3: add $12.,r1 br 2b 2: jsr pc,pentry1 mov (sp)+,r1 1: rts pc 9: jsr r5,mesg <\0>; .even mov (sp)+,r1 rts pc xit: jsr r5,flush; obuf sys exit decml: mov r4,-(sp) jsr pc,1f mov (sp)+,r4 rts pc 1: clr r4 div $10.,r4 mov r5,-(sp) mov r4,r5 beq 1f jsr pc,1b 1: mov (sp)+,r0 add $'0,r0 jsr r5,putc; obuf rts pc mesg: movb (r5)+,r0 beq 1f jsr r5,putc; obuf br mesg 1: inc r5 bic $1,r5 rts r5 qsort: mov r2,r0 sub r1,r0 cmp r0,r3 ble done mov r5,-(sp) mov r0,r5 c 4 spe 4 thr 4 -~~~ 4A, 4B 4B and 4C sho 5 5 5 a s 5 a s 5 are 5 com 5 com 5 dir 5 lea 5 nam 5 of 5 ope 5 par 5 poi 5 poi 5 sym 5 the 5 the 5 -~~~ 5 show 6 6 6 6 app 6 dir 6 dir 6 dir 6 fil 6 may 6 poi 6 pro 6 rem 6 sig 6 sto 6 sto 6 thr 6 to 6 wit 6 -~~~ 6 show 7 7 7 all 7 and 7 dat 7 dif 7 dir 7 ent 7 exa 7 gen 7 hie 7 is 7 met 7 poi 7 pro 7 suc 7 wit 7 -~~~ d08wv_^BA.-RQ\n.Ja'mgo /X(  4 x r  *$ W 6; A@ t =59:TUlm]meae.s.ch+qdiv = 177300 ac = 177302 mq = 177304 mul = 177306 sc = 177310 sr = 177311 nor = 177312 lsh = 177314 ash = 177316 get.s.ch+/ getw/getc -- get words/characters from input file / fopen -- open a file for use by get(c|w) / / calling sequences -- / / mov $filename,r0 / jsr r5,fopen; ioptr / / on return ioptr buffer is set up or error bit is set if / file could not be opened. / / jsr r5,get(c|w)1; ioptr / / on return char/word is in r0; error bit is / set on error or end of filhhhhhIh9HIh9x))x contai contai contai contai contai contai contai contai contai contai contai contai contai contai contai contai contai contai conten conten contig contig contra conven conven conven conven coordi correc corres corres corres corres creati creati creati curren dapt t Data b data a data b data b data b data b data b data b data b data b data b data b data b data d data f data f data f data f data f data f data f data f data f data f data f data f )99ii))H9Hyyy)y name o name r name, name. named named~ namees names names names names names names names names names names names names names names names names names, names. names~ names~ name~~ name~~ name~~ naming naming naming naming naming naming neames necess necess need f needs. new us new~~~ no int no phy normal normal not a not co not co not lo not pe not pr not se not to novel novel~ now ce now ma now ma now pr number number number ~ and 26B a and 307 e and 3C il and 3C sh and 4C sh and 529. and I-num and a cou and a sep and a spe and all o and alloc and an I- and an en and anew, and anoth and any d and apart and are u and block and block and block and conta and conta and corre and data and data and data and diffi and direc and direc and direc and direc and direc and disk and each and each and each and effic and endin and erron and exten and file and file and fixed and flexi and for w and for w and freed and freed and indic inn d below. d betwee d betwee d betwee d beyond d be~~~ d bit 52 d bit wh d block d block d block. d blocks d by I-n d by a s d by all d by any d by dir d by dir d by eac d by eli d by ind d by pro d by pro d by ref d by the d by the d by the d by the d by the d by the d by the d by the d by the d by the d by the d by~~~ d by~~~ d contai d contai d contai d contai d contai d correc d corres d data b d data b d data b d data b d data f d data f d data f d data f d data f d data w d diffic d direct d dire be next be one a be one o be opene be opene be passe be prepa be provi be provi be searc be seize be self- be separ be share be share be short be store be swapp be taken be the o be the p be treat be under be under be used be used be used Because Because be used. be used. because because because because because because become l becomes becomes becomes becomes~ bed abov bed belo bed for bed for bed in m bed whic bed. Al bed. Co bed. Ea bed. Th bed. Th bed.~~~ been cha been loc beenA  u /  v "9 Qcked to cked.~~~ ckground cking th cks (I-n cks 103~ cks 231 cks 236 cks 236 cks 403, cks acco cks and cks are cks are cks are~ cks are~ cks are~ cks as n cks comp cks cont cks cont cks curr CKS FOR cks impl cks in t cks incr cks incr cks inst cks is~~ cks is~~ cks may cks of 2 cks of a cks of a cks of d cks of f cks of i cks of t cks of t cks of t cks perm cks up t cks whic cks, I-l cks, a l cks, the cks, the cks. An cks. Fi cks. Ma cks.~~~ cks.~~~ cks.~~~ cks; I-n cks~~~ 2 ckup sto ckup stok point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck point ck shoul ck that ck the c ck the c ck the i ck usage ck withi ck, a co ck, and ck. A n ck. For ck.~~~ cked and cked and cked as cked in if (aflg) { printf("II\n"); nbad = 0; eachi(&pass2); printf("bad: %d\ndup: %d\n", nbad, ndup); } seek(sfo, 0, 3); write(sfo, sblock, 1024); } eachi(f) int (*f)(); { static struct inode buf[16]; int i; struct inode *ip; int pass2(); inumber = 0; for (i=magic2/2; i>0; i--) { seek(sfi, (inumber+32)/16, 3); if (read(sfi,buf,512)!=512) { printf("Read error\n"); exit(); } for(ip=buf; ipw2,w ,@@ @w,w ,HC 7Hw+w +2 b -2wx2wl2 w+w +5 <5% @@ p_@0__H wj+w X+ *5W-AW-Ze W-  @w.+w +5 G G5W-0W-9@owners a owners. ows a da ows a si ows a tr ows as i ows as i ows data ows data ows in a ows the ows the ows the ows the o~~~ 2 o~~~ 3 o~~~ 3 o~~~ 4 o~~~ 5 o~~~ 5 o~~~ 6 o~~~ 6 o~~~ 8 o~~~ 9 o~~~ 9 o~~~ 9 o~~~ 10 o~~~ 10 o~~~ 11 o~~~ 11 o~~~ 12 o~~~ 14 o~~~ 16 o~~~ 17 o~~~ 18 o~~~ 20 o~~~ 20 o~~~ 21 o~~~ 21 o~~~ 21 o~~~ 21 o~~~~~ p 402 of p 404 co p 404 to p 404. p 404. p 404. p 404~~~ p 404~~~ p 406 ar p 406 co p 406, a p 406. p 406.~~ p among p bits cns ed. Mai ed. The ed. The ed. The ed. The ed. The ed. The ed. Thi ed. Thi ed. Use ed. Whe ed.~~~ ed.~~~ ed.~~~ ed.~~~ ed.~~~ ed.~~~ 1 ed.~~~ 1 ed.~~~ 1 ed.~~~ 1 ed.~~~ 1 ed.~~~ 1 ed.~~~ 2 eded for eded to eded.~~~ edetermi edetermi edetermi ediate a edicated edicated edicated edly com edly upd eds the eds the eds. It educe th educes t edures f edure~~~ ed~~~ 2 ed~~~ 2 ed~~~ 2 ed~~~ 3 ed~~~ 3 ed~~~ 3 ed~~~ 6 ed~~~ 11 ed~~~ 13 ed~~~ 18 ee and~~ ee begin ee block ee block ee blu multaneou multaneou multaneou multaneou multiprog mum file mum file~ mum of ei mum size must acce must be e must be g must be p must be t must be u must be~~ must coor must deal must firs must now must prop mutiliate my use th m~~~ 3 m~~~ 6 m~~~ 9 m~~~ 13 m~~~ 16 m~~~ 17 m~~~ 18 m~~~~~ n n n n n n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n 1-1-2~~ n/nas"; break; } else { passa: t = copy(argv[i]); if(getsuf(t)=='c') { clist[nc++] = t; t = setsuf(copy(t), 'o'); } if (nodup(llist, t)) llist[nl++] = t; } } if(nc==0) goto nocom; if (pflag==0) { tmp0 = copy("/tmp/ctm0a"); while((c=open(tmp0, 0))>=0) { close(c); tmp0[9]++; } while((creat(tmp0, 0400))<0) tmp0[9]++; } signal(2, &dexit); (tmp1 = copy(tmp0))[8] = '1'; (tmp2 = copy(tmp0))[8] = '2'; (tmp3 = copy(tmp0))[8] = '3'; (tmp4 = copy(tmp0)) o count o create o create o create o curren o data f o data f o data f o data f o data f o data f o data~~ o dedica o direct o direct o direct o distin o each I o end at o errors o figure o file s o file s o files o files o files o find e o find p o fix th o form a o I-list o I-node o I-node o I-numb o gives o hardwa o have I o have m o have t o have~~ o identi o incons o indepe o indica o indica o indica o indire o indire o intere o levels o levels o link t o locate o locate o locate o locate o locat Ff) T(5W-AW-Ze W-  @Ff5 ^E ZE5W-0W-9@5  AWp Ameu@Ff&E55555555555 5W-. W- W-0W-9 $;  _,*;  _,2;  6;  :;  >;  ^@e@e&@e&@e& e@;  B;  @e@e&@e&@e& eD;  5 ion poi ation sho ation sho ation to ation was ation wor ation, a ation, al ation, al ation, st ation, th ation, th ation, th ation,~~~ ation,~~~ ation. T ation. T ation. W ations fo ations to ations wi ations wi ations. ations.~~ ationship ation~~~ ation~~~ ation~~~ ation~~~ ative, a atively c atively, atively, ative~~~ atly simp atly~~~ 1 atment gi atment of atment of atment~~~ ator 234 ator 239 ator 239 ats showi attempt~~ atum givi atus and at~~~ 3 ault dire ault dire ault dire aultmain() { char c; extern fin,fout; fin = open("qwer",0); fout = creat("asdf",0666); while(c = getchar()) { if(c == ' ') putchar('\n'); else putchar(c); } flush(); exit(); } sort f01 f01 sort f11 f11 sort f21 f21 sort f31 f31 sort f41 f41 sort f51 f51 sort f61 f61 sort f71 f71 f("table adr = %o\n", table ) ; if( table == bt ) { printf("table is io buffers\n");goto ret;} if(table == ackmes){printf("table is ack\n"); goto ret ; } if(table == iot ) {printf("table is iot\n"); goto ret ; } printf( "allocb %d units from adr = %o\n", n, ba ) ; printf("area index = %d\n", table[-3] ) ; printf("cacms = %o\n", cacms) ; printf("ciotp = %o\n", ciotp) ; printf("free areas\n"); printf("in use areas\n") ; printf("rng = %d frecnt = %dt ; niucnt = toterr = rngcnt = frecnt = 0 ; tpb common.c _ char *tks 0177560 ; char *tps 0177564 ; int *tkb 0177562 ; int *tpb 0177566 ; getput.c putchar *tpb = ch[i++] ; } *tpb = c | 0200 ; extern char *tps, *tpb ; syinit.c syinit extern int *tks, *tkb, *tps, *tpb ; tpb = 0177566 ; tps common.c _ char *tks 0177560 ; char *tps 0177564 ; int *tkb 0177562 ; int *tpb 0177566 ; getput.c putchar { while( *tps >= 0 ) ; extern char *tps, *tpb ; while( tps[0] >= 0 ) ; snd wh r appara r Art r area 5 r area 5 r areas r areas r areas. r are~~~ r art FI r art ar r art fi r art fi r art ge r art me r art me r art ro r art su r art sy r art, d r art. r art. r art~~~ r as a d r a~~~ r backup r block r block r block r block. r blocks r blocks r blocks r blocks r blocks r blocks r blocks r blocks r blocks r both. r both~~ r by lin r corres r creati r data f r data f r data f r data f r data f r data f r data~~ r data~~ r defaul r defaul r descri r direct r direct r ~@AA,:up,:@0,:^AWpAAmAVCpACmÜVw`\4@AWpAAmAVw`B4@97`84@_@ _ _ _  @@A@@A@@@0,:@p$: _@e7   @ 59 @,:t [RRNJJwH<@@7 >7 5  xPb4 #  x:2*z@ wFw 4  5 5a~~~ 10 a~~~ 11 a~~~ 11 a~~~ 11 a~~~ 12 a~~~ 12 a~~~ 14 a~~~ 14 a~~~ 14 a~~~ 15 a~~~ 16 a~~~ 17 a~~~ 18 a~~~ 19 a~~~ 19 a~~~ 20 a~~~ 20 a~~~ 20 a~~~ 21 a~~~~~ a~~~~~ a~~~~~ b-~~~ 21 backs~~~ backup st backup st backup st bdirector bdirector bdirector be a full be anothe be a~~~ 1 be better be broadl be checke be comple be consid be contai be create be dedica be descri be descri be descri be erroro be exerci be functi be given be given be given be greatl ber root dir root dir root dir root dir ROOT" is ROOT.USE root dir root dir root I-n root~~~ root~~~ root~~~~ roper fo roper na roper na roperly roperly roperly ropriate ropriate ror and ror,~~~ ror. Fu ror.~~~ ror.~~~~ roronous rors in rors in rors in~ rors mus rors now rors occ rors occ rors. T ror~~~ 1 rough 14 rough 18 rough 20 rough 23 rough 24 rough 25 rough a rough al rough an rough a~ rough bu rough di rough di rough di rough th rough th rough th rough~~~ rough~~~ round routine routinepeat- edly. Another frustration was the unreliability of the hardware on which the big operating systems were supposed to run. Conse- quently the "computer utility", in the sense discussed in the middle 60's, has not arrived. It is true that the best modern computation centers now combine efficient batch service with moderately sophisticated interactive computing and with remote access by minicomputers; but the goals are less ambitious than they were in 1966, and ther 5-_06-@_06- 5-_06-@ff .8%_:6` `U%a `U%_:6(a `U5 \e@-A mDAup@ m2 f4a `U% _:6Da `U z=% W _06@ @#̰̾a    x4444444444_06W _:6 =% `_:6WuWf_4_06-><Ra `U_:6-*(ha `U_:6-5 @ 5 www   w-  _`  @ww |x r l5db@wXResign t = %d depth = %d depth = %d Illegal move Black to move White to move resignsaverestorerandrand = %d playresign firstpictinputwinputbinputprincmovenot able to back up incdepth = %d decdepth = %d removenot able to back up / mateno mate matflgmatflg = %d hint %d statd~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=d}z|y~{xwtqnkhebvspmjgdaurolifc`_\YVSPMJ^[XUROLI]ZWTQNKHGDA>;852FC@ach blo each con each dat each dat Each dir Each dir each dir each dir Each I-n Each I-n each I-n each I-n each I-n each I-n each dir Each fil each I-n each fil each I-n each ind each of each of each tim Each use each use each use each~~~ each~~~ ead and ead and ead are~ ead at a ead beyo ead by t ead cont ead from ead in u ead in, ead in,~ ead in. ead in. ead into ead into ead of t ead of~~ ead oper ead or w ead or w ead or~~ ead or~~ ead the ead" fas ead, dat ead/writ eading a eading a eading a )9))9yy))9)n multip n names n nine p n no lon n no phy n not sh n of a h n of a s n of all n of an n of dat n of dir n of fil n of I-n n of ind n of ind n of the n of the n of the n of the n of the n of the n of the n of the n of the n of the n of the n of the n of the n of the n of the n of whi n of~~~ n on dis n on sto n on the n one di n one or n one or n one us n only b n open f n open f n open f n open f n open f n open f n open f n order n order n other n out on n out on n part f n physic n physic n physicdX L!B R9p^ a \][  4 & _l)  j( f  %VU a @|+  I+^XH O S Z KK` ݯlZq? U~ Z))CF)ccG  ԯ Z dire 2 ast modi 3 at a kno 2 at a~~~ 3 at FIG. 2 at file 2 at is, t 5 at locat 2 at the b 2 at the I 2 At the o 2 at the d 4 at the~~ 32 ata bloc 66 ata file 4 ata layo 2 ata stor 3 atable b 2 atable s 4 ata~~~ 5 ata~~~ 1 3 ate dire 2 ate I-no 6 ate the 3 ated and 4 ated by 2 ated dat 2 ated I-n 2 ated for 3 ated fro 6 ated in 5 ated to 2 ated wit 2 ated, an 2 ated~~~ 2 ates tha 3 ate~~~ 1 |w       ww N N ww hw-  7 vrn h2 `\ %d@e&F %7 <5 @ @a@ @a5,@ @a7 eN ww @ N N  7ww 7 7 ww  7~z t p jwfw b@@ @wHw D>C 7&ww met r art met r art roo r art suf r art sys r art, di r art. A r art. I r art~~~ r as a da r a~~~ 9 r backup r block ( r block 2 r block i r block. r blocks r blocks r blocks r blocks r blocks r blocks r blocks r blocks, r blocks. r both. r both~~~ r by link r corresp r creatin r data fi r data fi r data fi r data fi r data fi r data fi r data~~~ r data~~~ r default r default r describ r directl r directo r directo r directo r directo r directo r directo r directo r directo r directo r direct @ @ @e=ׯ/  N f > ww  5%1 W-8@e=G@4Nf > @2Nf > @@=   bkntqr ww A ru@t5@5W- W-@5N 5W- 5 5W- Nf  Nf  Nf  Nf   w_maxply _attab _pvbuf _pvp _ispawn _isknig _isdiag _isrigh _check"rsave L2$_wattack L1<_battack rretrn _agen"@L10000V_bagen L10001^_wagen L3^_gmove"bL5_use L6L7_seek _read L8L9L11L10_move" L4L13_done"L12JL140_bmove L158_wmove _gremove"N_remove as $1.s reloc a.out 60000 mv a.out $1.o ju i< 4_ ^ 5  t i g J *   " Ny {  G1 t  07 ;   y  Q ~ ; 5> Ns ' R q lP- O x vlkL earing~~ early se ears at ears in eas 503 eas as n eas may eas not~ eas rese eas. Sy ease of eases~~~ easily a easing d easing t easons f eassigne east one eat deal eat erro eate a n eate add eated by eated by eated fi eated in eated th eated to eated, I eatedly eatedly eated~~~ eate~~~ eating a eating a eating f eation, eation. eatly si eatly~~~ eatment eatment eatment eatment~ ebugging eby made eby poin ecause a ecause d ecause d ecause i ecause m ecause o ecause s ecause t ecaution ecessarniz record 5 record 5 rect blo rect blo rect err RECT POI rect poi rect poi rect poi rect poi rect poi rect poi rect poi rect poi rect poi rect poi rect poi rect poi rect sto rectly t rectly w rectly~~ rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rectorie rect L m >@h~z  p [ 3?v d .b ; 50xj Y A .4 es creat es direc es do no es exist es expec es file es fille es for b es for c es for d es for e es for f es for f es for h es for m es for u es for w es forme es for~~ es for~~ es found es havin es havin es in I- es in a es in ac es in co es in pr es in th es in th es in th es in th es in th es indic es indic es indic es into es into es is ef es is ge es is pe es is to es is~~~ es is~~~ es it th es its p es makin es may b es may b es may b es may h es may r es must es must es must es must es musts b ctories c ctories d ctories i ctories m ctories m ctories m ctories o ctories r ctories t ctories t ctories t ctories w ctories, ctories, ctories, ctories-- ctories. ctories. ctories. ctories. ctories. ctories. ctories. ctories.~ ctories;~ ctories~~ ctories~~ ctory 101 ctory 101 ctory 101 ctory 110 ctory 110 ctory 110 ctory 110 ctory 112 ctory 112 ctory 112 ctory 112 ctory 112 ctory 112 ctory 112 ctory 112 ctory 120 ctory 120 ctory 120 ctory 303 ctory 303 ctory I-n ctory I-n ctory I-n ctory I-cke e checke e class e comple e comple e comple e comput e comput e concer e consid e consis e consis e contai e contai e contai e contai e contai e contai e contai e conten e conten e conten e conten e conten e conten e conten e conten e conten e conten e conten e conten e conven e corres e corres e corres e create e create e creati e creati e curren e curren e curren e curren e curren e curren e curren e curren e curren e curren e data a e data a e data b e data b e data b e data b e data b e data b e da/ ; syinit.c syinit char *mtcr, *dkcr, *ccsr ; dkc=dkcr= 0177404; dkcr = dkc ; dkda common.c _ int *dkc d4; int *dkwc d5; int *dkma d6; int *dkda d7; int *dker d8; int *dkds d9; dkdspy.c dkdspy case 3: *dkda = n[3] ; *dkc, *dkwc, *dkma, *dkda, *dker, *dkds ) ; extern int *dkc, *dkwc, *dkma, *dkda ; dkstat.c dkstat *dkc, *dkds, *dker, *dkda ) ; *dkc, *dkds, *dker, *dkda ) ; unit =( * dkda & 0160000 ) >> 13 ; undL83R_out L84ZL85L86L87L88L89L90L91L92L93_statc L94L95L96L97_score _algin">L98L21:_stdin L99.L100_cooin"pL102^L101lL10009L104L103L10010L105L107L108 L109L106L100112_bagen L100126_wagen L111n_check spsw,_pswtmp _respsw: mov _pswtmp,*$177776 rts pc reboot.s1+ .globl _reboot / / this routine branches into the second instruction / of the rom (read only memory) pdp bootstrap / loader. it does not read the console switches and / boots from disk. / _reboot: mov $177406,r1 jmp *$173104 / rom bootstrap loader zzzz.ss2+..globl _edata,_end .data _edata: .bss _end: e~~~ 5 e~~~ 5 e~~~ 5 e~~~ 5 e~~~ 6 e~~~ 6 e~~~ 6 e~~~ 6 e~~~ 6 e~~~ 6 e~~~ 6 e~~~ 7 e~~~ 7 e~~~ 7 e~~~ 7 e~~~ 7 e~~~ 7 e~~~ 7 e~~~ 7 e~~~ 7 e~~~ 7 e~~~ 7 e~~~ 8 e~~~ 8 e~~~ 8 e~~~ 8 e~~~ 8 e~~~ 8 e~~~ 8 e~~~ 8 e~~~ 8 e~~~ 9 e~~~ 9 e~~~ 9 e~~~ 9 e~~~ 9 e~~~ 9 e~~~ 10 e~~~ 10 e~~~ 10 e~~~ 10 e~~~ 10 e~~~ 10 e~~~ 10 e~~~ 11 e~~~ 11 e~~~ 11 e~~~ 11 e~~~ 11 e~~~ 12 e~~~ 12 e~~~ 12 e~~~ 12 e~~~ 12 e~~~ 12 e~~~ 13 e~~~ 13n int *ackq, *ackmes, *iot ; gq(ackq) ; if(( idx = testq(ackq)) == 0 ) goto ret ; /* no items in q */ syinit.c syinit ackq = initq( &qa[ql] , ql ) ; extern int *sycroq, *ackq, *mtq, *dkq, qa[] ; allocb allb.c allocb allocb(n,bt) int bt[] ; { bfdspy.c bfdspy ba = allocb(n, table) ; ccbeg.c ccbeg if((ackp = allocb(1,ackmes) ) == 0 ) goto er1 ; commd.c commd iotp[8] = allocb( fcp[5], bt ) ; iotp[8] = allocb( fcp[5], bt ) ; fcp[3] = allocb(n,bt) ; m); v = minmax(beta, alpha, lev); remove(); if(v > alpha) { alpha = v; use(pv, m); if(alpha >= beta) break; } } lmp = p2; f1: pvp = pv; return(alpha); } double minqui(alpha, beta, lev) double alpha, beta; int lev; { double v; int m; register *pv, *p1, *p2; pv = pvp; *pvp++ = 0; m = check(); v = valuep*10 + valueb; if(v= mlev) { if(m) v =+ 1000.0; alpha = v; goto f1; } lev++; p1 = lmp; if(m 421 an 421~~~ 423 is 423 st 423.~~ 424 is 424~~~ 424~~~ 425 co 426 (F 426 co 426 of 426 of 426 of 426 of 4A and 4A sho 4A, I- 4A. A 4B and 4B sho 4C sho 4C) is 4C). 4C)~~~ 5 5 5 5 (FI 5 all 5 arr 5 con 5 dat 5 des 5 fil 5 imp 5 in 5 inv 5 or 5 thr 5 to 5 is a 5 show 5.~~~ 501 an 501 ar 501 il 501 wh 502 ac 502 is 502 of 502. 503 an 503 is 504 an 504 co 505 co 505 co 505 is 505. 506 al 506 is 506 is 506 is ble = ackmes ; if( table == ackmes ) cacms = ba ; /* update current ackmes pter */ if(table == ackmes){printf("table is ack\n"); goto ret ; } extern int *bt, bufara[], *ackmes, ackara[] ; ccbeg.c ccbeg extern int ackq, ackmes ; if((ackp = allocb(1,ackmes) ) == 0 ) goto er1 ; common.c _ int *cacms;int *ackmes; snack.c snack deallb(idx, 1, ackmes ) ; extern int *ackq, *ackmes, *iot ; while( i < ackmes[-2] ) printf(" %o",idx[i++]) ; syinit.c syinit ackmes = initb( ackaointers~ ointers~ ointers~ ointers~ ointers~ ointers~ OINTER~ ointer~~ ointer~~ ointer~~ ointer~~ ointing ointing ointing ointing ointing ointing ointing ointing~ oints to oints to oints to oint~~~ ok ahead okup.~~~ ol bit 4 ol bits olating ole is l ole of I olic fil olic fil olic nam olic nam olic nam olic nam olic nam olic nam olic nam olic nam olic nam olic nam olic nea olidatio olume 50 olume 50 olume 50 olume 50 olume ac olume an olume ar olume at olume co olume in olume of olume so olume sts illus as illus as illus as indic as just~ as listi as may s as neces as neces as neces as neede as not~~ as part As physi as physi as physi as physi as reser As seque as set f as shown as the I as the I as the I as to da as well as will as. Sys ase a us ase of f ase the ases~~~ ashion t ashion. ashion.~ ashion.~ asily an asing da asing th asion ar asons fo ass of f assed be assigned associat associat associat assumed assure t assure t assure t assure t assure t assure~~ ass~~~ ast dire ast dire ry entry ry entry ry entry ry entry ry entry ry entry ry file ry file ry file ry file ry file ry file ry file ry file ry file ry file ry file ry file ry file ry file ry file ry file ry file ry file. ry file. ry file. ry file; ry files ry files ry files ry files ry files ry files ry files ry files ry files ry files ry files ry files ry for d ry for t ry for~~ ry havin ry I-nod ry I-nod ry I-num ry I-num ry hiera ry hiera ry hiera ry in a ry in di ry in op ry in op ry in th ry in th ry is d nt ny prior ny such ny valid nym dire nym dire nym dire nym entr nym for nym for nym is e nym is p nym, a s nym, the nym. A~ nym. Th ny~~~ 2 ny~~~ 18 ny~~~ 19 ny~~~ 19 nzero~~~ n~~~ 2 n~~~ 3 n~~~ 4 n~~~ 4 n~~~ 5 n~~~ 5 n~~~ 5 n~~~ 6 n~~~ 6 n~~~ 8 n~~~ 8 n~~~ 9 n~~~ 9 n~~~ 9 n~~~ 9 n~~~ 10 n~~~ 11 n~~~ 12 n~~~ 12 n~~~ 13 n~~~ 14 n~~~ 14 n~~~ 15 n~~~ 16 n~~~ 16 n~~~ 17 n~~~ 18 n~~~ 18 n~~~ 18 n~~~ 19 n~~~ 20 n~~~ 20 n~~~~~ n~~~~~ re data re denie re descr re detai re direc re elimi re equal re examp re files re flow re flow re flow re free. re I-nod re gener re invol re is ve re less re lose re lost re made re made re maint re marke re modif re must re must re neede re not c re not g re now c re now m re of a re of di re or pr re parti re perfo re physi re physi re physi re popul re provi re read re read re repea re requi re searc re secon re set t re sever re shoul re shoul re shown re subro re syste re takes re than access access access access access access access access access access access access access accord accord accord accoun accoun action activi actual actual additi additi additi additi addres addres adjunc admini admini admini admini admini agains all da All I- all it all mo all of all of all of all of all of all ph all po all po all~~~ along along also h also~~ altern among amy us an add an add an adj an alt an arr an ent an exa an I-n An ind - - - - - - - - - - A A A Ad Al Al An As At At Ca Ca Ca Ca Ca Ca Ca Ca Ca Ca Ca Ca Ca Ca Ca Ca FI FI FI FI FI FI FI FI In In Lo No Ph Sy Th Th Th Th Th Wh Wh Wh Wh Wh Wo - 1 - 1 - 1 e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e directo e each~~~ e elimina e embodim e end of e end of e entries e entry i e entry~~ e equal a e erroron e errors e errors. e example e excepti e exercis e extensi e file A. e file an e file as e file at e file da e file da e file fo e file in e file in e file in e the va the vo the vo the vo their their themse themse themse themse then m There thereb theref theref These these they c they d they h they h they r The~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ the~~~ This l the~~~ the~~~ the~~~ This a this a this f This g This i This l this l This r this p This~~ this~~ those those throug throug throug throug in the d in the d in the d in the d in the d in the d in the d in the d in usi d in, an d in,~~~ d in. T d in. T d indexi d indica d indice d indire d into b d into~~ d into~~ d in~~~ d in~~~~ d is inc d is pro d is the d its I- d its I- d its co d its I- d known d length d length d length d length d level d locati d locati d lost f d mainta d mainte d makes d manipu d many o d match d may~~~ d may~~~ d method d more~~ d name, d nonown d not a d obtain d of acc d of dir d of fil d of fil d of the d/ putw/putc -- write words/characters on output file / / fcreat -- create an output file for use by put(w|c) / / calling sequences -- / / mov $filename,r0 / jsr r5,fcreat; ioptr / / on return ioptr is set up for use by put or error / bit is set if file could not be created. / / mov(b) thing,r0 / jsr r5,put(w|c)1; ioptr / / the character or word is written out. / / jsr r5,flush; ioptr / / the buffer is fled. / .globl putc, putw, flush, fcreat fcreat: mov r1,-(sp) mov (r5)+,r1 mov r0,0f sys c cmp r0,$1 beq phigh / here return same priority jmp ret phigh: mov _reg+12.,r0 / get old stack pter add $2,r0 / get psw word mov (r0),r1 bic $!0340,r1 / have old priority mov r1,_pswold bis $0340,(r0) / set psw priority high ret: jsr pc,resreg / restore regs mov _reg+12.,sp / set stack rti / interrupt return / / / internal sub to store regs ( not sp ) streg: mov r0,_reg mov $_reg+2,r0 /* C command */ char *tmp0; char *tmp1; char *tmp2; char *tmp3; char *tmp4; char ts[1000]; char *tsp ts; char *av[50]; char *clist[50]; char *llist[50]; int instring; int pflag; int cflag; int *ibuf; int *ibuf1; int *ibuf2; int *obuf; char *lp; char *line; int lineno; int exfail; struct symtab ( char name[8]; char *value; ) *symtab; int symsiz 200; struct symtab *defloc; struct symtab *incloc; char *stringbuf; char *pass0 "/lib/c0"; char *pass1 "/lib/c1"; char *assem "/bin/as"; char *pref "/lib/crt0.o"; 21 lo 21 ma 21 ma 21 ph 21 st 21 su 21 to 210 de 210 is 210 to 210. 211 to 211. 212 wh 21A th 23 are 24 thr 256 wo 25B ar 26A an 26B ar 2A is~ 2A sho 2A, 2B 2B, 2C 2C sho 3 3 3 and 3 det 3 dir 3 dir 3 dir 3 dir 3 dis 3 fou 3 if 3 loc 3 of 3 pse 3 spe 3 sys 3 the 3 whi 3 -~~~ 3A, 3B 3B and 3C sho 4 4 4 4 ana 4 Det 4 app 4 con 4 fil 4 gua 4 I-l 4 los 4 pos 4 pri 4 pro 4 ret 4 spe IYxYYY99YYI(I8Xh9_fault _xlev le. a file. a file. a file. a file. a file. a files a a files a a files a a files b a files f a files s a files t a files, a files, a files. a files. a files. a files. a files. a files. a files.~ a files.~ a files;~ a file~~~ a file~~~ a file~~~ a file~~~ a file~~~ a first u a first u a first~~ a flag in a form of a full pa a full pa a hierarc a hierarc a in mult a is then a known a a known p a known s a large n a large~~ a layout a layout a layout a layout a lengthy a link ma a link FIG. FIG. FIG. FIG. FIG. FIG. FIG. FIG. File File ended entry entry erron examp expec FIG. FIG. FIG. FIGS. file file file file file file file file file, files files Fixed Fixed For e For~~ Free Free Free Gener first first flagg for r found given givin I-nod I-nod I-nod I-nod I-nod I-num If th If th hiera hiera I-lis I-lis I-lis I-lis I-nod I-nod I-nod I-nod grams wh grams wh grams wh grams wh grams wh grams, s grams, t grams~~~ grams~~~ grams~~~ grams~~~ grams~~~ gram~~~ great de greatly greatly~ gree of grity ch grity of grity of grity of ground GS. 15A GS. 19A GS. 1A, GS. 1A, GS. 21A GS. 24 t GS. 26A GS. 2A, GS. 3A, GS. 4A, GS. 7 th GS.~~~ gs are~~ GS. 7~~~ gth data gth I-no gth I-no gth inpu gth of t gth, and gthy pro gth~~~ guarded guish be guish ov guous ar guous li gures, F g~~~ 2 g~~~ 3 g~~~ 3 g~~~ 4 g~~~ 4 g~~~ 5 g~~~ 6 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 2 - 3 - 3 - 3 A d A p A s Adm Alt Alt An As At At Can Can Can Can Can Can Can Can Can Can Can Can Can Can Can Can FIG FIG FIG FIG FIG FIG FIG FIG In Inf Loc No Phy Sys The The The The The Whe Whe Whe Whe Whe Wor 6 iles an 6 ditiona 7 ention 7 set to 6 ted in 6 on poin 6 ile sys 6 dificat 7 entific 7 read i 6 ted by 6 odifica 6 ile siz 6 de~~~ 1 7 ent of 7 point 6 t of th 6 ode map 6 icular 6 depende 7 enerall 7 other 6 t locat 6 o the I 6 hown in 6 default 7 ed~~~ 7 of ind 6 t inven 6 o that 6 hich ma 6 de map 7 ed from 7 necess 6 s~~~ 15 6 o physi 6 he~~~ 2 6 ddition 7 ectory. 7 name o 6 s~~~ 11 6 o data ied, thu ief ield of ield. T ient for ient in ient mai ient ot ient ref ient, fo iented f iented f ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarcha ierarchy ierarchy ierarchy ierarchy ies (lin ies 102 ies 113 ies 204 ies 306 ies 528 ies a ma ies also ies and ies and ies and ies appe ies are ies are ies are ies are ies are ies are ies are ies are ies are~ ies as w ies by t ies comp ies cont ies cont ies do n ies havi ies havi ies in p ies indi ies indi ies indi ies is t ies maki ies may ies must ies must ies of~~ ies poin ies poin ies refe ies to a ies to b ies to f ies to~~ ies whic ies, but ies, use ies, whi ies-- to ies. As ies. At ies. Fo ies. I- ies. On ies. Su ies. Th ies. Th ies.~~~ ies.~~~ ies.~~~ ies;~~~ ies~~~ ies~~~ ies~~~ 1 ies~~~ 1 ieval by ieval, d ieve the ieving v iew of t iew take if I-nod If the r If the~ single single single size, so nam so tha so tha so tha so tha some d some r so~~~ space specia specia specia specia specia specia specia specia specia specia spectr starti starti STORAG starti storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag storag stored stored stored stored stored stored stored stored stored stored bheur.obook.obplay.odata.odraw.oinit.oinput.omater.oplay.oprinc.osavres.oscore.ostat.ostdin.owheur.owplay.ol.outzatt.oybgen.oxbmove.owctrl.ovqsort.ouwgen.otwmove.oa.outl.outa.outirec ot disti ot gener ot I-nod ot inter OT" is a OT.USER1 ot lost ot permi ot pract ot provi ot set i ot shown ot stric ot to lo otal dir otal num oth entr oth. Ne other di other di other di other er other fa other fi other mi other op other se other us other us other. other. other~~~ other~~~ oth~~~ ot~~~ 2 ot~~~ 3 ot~~~ 5 ot~~~~~ ouble ar ouble ch ough 14B ough 18 ough 20 ough 23 ough 24 ough 25B ough a n ough all ough any ough a~~ ough buf ough dir ough dir ough dir ough not ough the ougical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physical physicall physical~ physical~ physical~ physical~ physical~ physical~ physical~ pical of pid acces pid acces pid index ping trac place, th placed in placed in placing i ple an ; #b wQp I )IxI 9)IIIr_wplay L47L48,L494L50L51:L52_draw L53@L54_input L55FL56L57NL58L59VL60_princ L61\L62ZL63>L64bL10007NL10008RL65xL66|L67|L68L69L70L71L72L73L74L75L76L77L78L79L80_putchar L81L82 _"e u@ 03";5m@;5 @x< _"e u@ 03";5m@;5@< :e  L= @m; e5  @;4< 5 @;4< ww . !  !  !  J& "C>9 !  !  !  J& u@Juw-~$eN , !  =% e}cacms = %o\n", cacms) ; extern int *iot, iotta[], *ciotp, ef[], *cacms ; ccdspy.c ccdspy extern int selmes[], fct[], *ccs, *cco, *cci, *cacms, ef[] ; common.c _ int *cacms;int *ackmes; ccbeg ccbeg.c ccbeg ccbeg(mess,len,iotp) int mess[] ; { ccdspy.c ccdspy flag = ccbeg(mess,6,iotp) ; ccih.c ccih ccbeg(outmes, 6, 0 ) ; commd.c commd ccbeg( ac, 6, 0 ) ; ccbeg( ac, 6, 0 ) ; ccbeg( ac, 6, 0 ) ; dkih.c dkih ackqed = ccbeg( ac, 6, ac[6] ) ; mtih.c mtih ackqed = ccbeg(a2,bfr+2(r1) blo 2b 3: mov r0,ptr(r1) mov (sp)+,r2 rts pc 1: mov ptr(r1),r0 sub bfr(r1),r0 mov r0,9f mov bfr(r1),0f mov f(r1),r0 sys write; 0:..; 9:.. mov bfr(r1),ptr(r1) rts pc / tab: .byte 16,16,16,16,16,16,16,16 .byte 16,16,16,16,16,16,16,16 .byte 16,16,16,16,16,16,16,16 .byte 16,16,16,16,16,16,16,16 .byte 14,16,16,16,16,16,16,16 .byte 16,16,16,16,16,16,16,16 .byte 16,16,16,16,16,16,16,16 .byte 16,16,16,16,16,16,16,16 .byte 16, 0, 0, 0, 0, 2, 2, 4 .byte 4, 4, 4, 4, 6, 6, 6,10 .bytees a sim es acces es all p es also es among es an in es and a es and d es and d es and d es and I es and e es and e es and f es and i es and s es and t es and t es and~~ es appea es appea es are a es are a es are a es are a es are c es are f es are i es are m es are n es are n es are p es are p es are p es are r es are s es are s es are t es are t es are~~ es are~~ es as ac es as we es at a es becom es begin es begin es by na es by sy es by th es by th es by~~~ es by~~~ es compl es conta es conta es conta locati locati locati locati locati locati locati locati locati locati locati locati locati locati longer made a made a made i made~~ made~~ mainte mainte mainte makes manner manner manner manner map 40 map 40 map 40 map 40 map 40 map 40 map 40 map 40 map 40 map bi map bi marked marked marked marked maximu maximu maximu maximu may ac may ac may al may be may be may be may be may be may be may ha may in may re may si may th memory memory memory  Nf f Z%@ 5 7r5` @ 5 7r5 ww @  5@  @5T fn %N@e&X %5 u-9 N@ @a& 4 N@ @a& 4 N@ @a& 4 N@ @a& 4 ww A 7r@m5W-NE @tE ww @@  | @ W- W-@e w2 . . /dev/vt0cannot open c1 common.c_ c1; c2; c3; c1 common.c_ char *mtcr m2; char *dkcr d4; char *ccsr c1; c1 common.c_ int *ccs c1; int *cco c2; int *cci c3; c1 dspydr.cmain ccs = ccsr = &c1 ; c1 dspydr.cmain extern c1,c2,c3,d1,d2,d3; c1 syinit.csyinit ccs = ccsr = &c1 ; c1 syinit.csyinit extern c1, c2, c3, d1, d2, d3 ; c2 common.c_ c1; c2; c3; c2 common.c_ int *ccs c1; int *cco c2; int *cci c3; c2 dspydr.cmain cco = &c2 ; c2 dspydr.cmain extern c1,c2,c3,d1,d2,d3; c2 syinit.csyinit system system system system system system system system taken~ techni termed than a than o that a that a that b that f that f that i that i that s that t that t that t that w the the the the the the __ the ac the ad the ad the ar the bl the bl the cl the co the co the co the co the da the da the da the da the da the da the de the di the di the di the di The fi the em The fi The fi the fi the fi the fi the fi the fi the fi the fi ng dicating dicating dicating dicating dicating~ dicating~ dication, dicator 2 dicator 2 dicator 2 dices int different different different different different different different difficult difficult dificatio dificatio dificatio dificatio dificatio dificatio dified, c dified, t digital c digital c diment diment of diment, a dinate ac ding a da ding an a ding and ding and ding and ding an~~ ding a~~~ ding bit ding bit ding bloc ding disk ding file ding in a ding its ding on t ding or w ding or w ding or w ding othe ding pseu ding succ ding the~ ding thro ding to a ding to p ding to t ding to t ding to t ding to t ding to t ding to~~ ding~~~ ding~~~ 1 ding~~~~~ direct bl direct bl direct po direct po direct po direct po direct po direct po direct po direct po direct po direct po direct po direct po direct st directly directly directly~ directori directori directori directori directori directori directori directori directori directori directori directori directori directori directori directori g. D ring. I Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- ring; an ring~~~ ring~~~ ring~~~ riodical riods fo rior Art rior art rior art rior art rior art rior art rior art rior art rior art rior art rior art rior art rior art rior art rior art rious pr rious se ription ription ription rise in rises.~~ Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- Ritchie- rising a rising a rising t ristics RiFor file for file for file for file for gene for havi for in p for in t for in~~ for keep for late for main for mani for mani for phys for prov for rapi for read for read for sear for some for symb For the for the for the for the for the for the for the for the for the for thes for the~ for this for thos for use for use for use for user for user for usin for whic for writ for writ for writ for. An fore eli fore los fore, fi fore, re fore, th fore. T form as form a~~ form in form in~ form of ng l naming~ l not be l now be~ l number l of indi l of indi l of the l of the l of the l of the l of the l of the l of the l of the~ l of the~ l of the~ l of the~ l order o l path na l path na l path na l path na l path na l path na l physica l physica l physica l pointin l possibl l primari l provisi l purpose l purpose l reading l set of l storage l storage l storage l storage l storage l system l the num l times. l to have l treatme l unalloc l user da l user re l with a l with an l with n 11 th 12 12 12 12 12 co 12 in 12 of 12 op 12 pe 12 pr 12 st 12 sy 12 Th 12 th 12 th 12 us 12 Wh 13 ar 13 bl 13 by 13 FI 13 co 13 FI 13 fi 13 hi 13 is 13 la 13 ob 13 re 13 Th 13 st 13 sy 13 to 13 wi 14 14 14 14 "A 14 al 14 al 14 an 14 ar 14 bl 14 bl 14 bl 14 fi 14 nu 14 Th 14 se 14 th 14 wr 15 15 be 15 bu 15 cu 15 de 15 en 15 fi 15 fl 15 fo 15 mu 15 nu 15 po 1 I-n 1 dir 1 I-n 1 in 1 int 1 loc 1 sto 1 tha 1 the 1 tra 1 tra 1 in F 1, and 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1-1-2~ 1. FI 1. To 10 10 10 "R 10 8 10 at 10 br 10 de 10 I- 10 di 10 du 10 I- 10 is 10 no 10 nu 10 si 10 th 10 wi 11 11 "d 11 ac 11 an 11 co 11 De 11 di 11 ea 11 fi 11 fi 11 li 11 nu 11 of 11 on 11 sh 11 st 10 r~~~ 11 r~~~ 11 r~~~ 11 r~~~ 12 r~~~ 13 r~~~ 13 r~~~ 13 r~~~ 14 r~~~ 16 r~~~ 16 r~~~ 17 r~~~ 17 r~~~ 18 r~~~ 18 r~~~ 18 r~~~ 19 r~~~ 19 r~~~ 20 r~~~ 20 r~~~ 20 r~~~~~    7 32  xV>JJX  3 7 v_ 0\h V2\ PqP7B ~E4> p;E&7 E x >  |7 |7 :  Z7 P7 e 7  77777 s x j7 <X7 <F3 IyYi L24L25L26ge vo orage wh orage wh orage,~~ orage. orage. orage. orage.~~ orage.~~ orage;~~ ORAGE~~~ orage~~~ orage~~~ orating~ ord 405 ord 407 ord 421~ ord 423 ord 424 ord 424~ ord 425 ord 426 ord 524, ord 524~ ord bloc ord data ord I-no ord phys order of order to order to order~~~ ordinate ording t ording t ording t ording t ords are ords in ords on ords per ords use ords whi ords.~~~ ords~~~ ore comp ore data ore deta ore elim ore lose ore phys ore phys ore seco ore than ore than ore than ore usef org thro 5 he buff 5 e buffe 6 that i 5 ~ 4 5 set of 5 ng the~ 5 he__ 5 e and~~ 6 same f 5 ystems 5 service 5 ndling 5 haring 5 e alloc 6 return 5 ystem i 5 ser.~~~ 5 nding t 5 handlin 5 e___ 6 proper 5 written 5 s. The 5 ndex in 5 h conta 5 ding an 6 possib 5 with~~~ 5 s to re 5 name~~~ 5 grams~~ 5 diagram 6 path n 5 w chart 5 s to fi 5 name "A 5 grams a 5 de~~~ 6 or wri 5 ust be 5 s to da 5 n)Ixyyxxxxxxx9)9I 9IHH Y 2 cess is 12 cess to 3 cessary 2 cessible 2 cetera. 2 ch block 2 ch check 5 ch conta 2 ch data 6 ch direc 2 ch file 2 ch have 2 ch I-nod 6 ch I-nod 2 ch is pe 2 ch is se 4 ch is~~~ 2 ch may b 3 ch of th 2 ch throu 2 ch user 3 ch will 6 chal dir 6 chal fil 6 chal nam 3 chal~~~ 2 changed 2 characte 3 charts s 2 check is 4 check th 5 checked 2 ched in 39 chie-Tho 2 ch~~~ 10 2 ch~~~ 12 2 ciaes must nes whic nes whic nes. As nes.~~~ new data new data new entr new file new file new file new name new user new, sim Newly cr new~~~ next rea ne~~~ 8 ne~~~ 16 ne~~~ 17 nformati nformati nformati nformati nformati nformati nformati nformati nformati nfrequen ng ng a bul ng a dat ng a fal ng a new ng a new ng a non ng a rea ng a sec ng a sma ng a sym ng a wri ng acces ng an ad ng an I- ng an un ng and d ng and f ng and f ng and m ng and t ng and w ng an~~~ ng as sh ng at an ng at an ng a~~~ d with ned with ned with ned with ned, tha ned, the ned,~~~ ned. Th ned. Th ned. Wh ned.~~~ need be need for need for needed f needed t needed.~ needs. nefficie nefit fr nent mod neous ac neous ac neous fi neous st neously neously neously neously neous~~~ ner as a ner iden ner iden ner iden ner prev ner whic neral an neral hi neral hi neral pu neral pu nerally nerally nerally nerally nerally nerally nerally~ ners and ners. W ner~~~ 1 nes for nes for nes for nes for~ nes is g nes may n is~~~ is~~~ is~~~ is~~~~ it app It is it is it is its I- its da its ps its ps itself itself known known known large large large last d layout layout leads leads leads length length less s less~~ level, levels levels levels levels limits linear linkin linkin linkin linkin linkin linkin list ( list ( list ( list i list) list;~ listin locate locate locate locate locate locate locate locate locate locati locati locati locati locati locati locati logica lookup lose d lose m lost d lost d lost f lost, lost. made i made l made m made m Mainte mainta mainta Mainte Mainte Mainte Mainte mainte mainte mainte mainte mainte mainte mainte mainte mainte mainte mainte mainte mainte mainte mainte make i making manipu manipu manipu manipu many f many o many o many o Many p match matche may be may be may be may be may be may be may be may be may be may be may be may be may be may be with write writt writt "1" is "A" is "A" is "A" is "A", f "A"~~~ "A.1" "A.1" "curre "defau "free" "full "ROOT" "ROOT. "simpl "USER1 (FIG. (FIG. (FIG. (I-num + 1 in - 17 - - 18 - - 19 - - 20 - - 21 - - 22 - - 23 - - 24 - - 25 - - 26 - - 27 - - 28 - - 29 - - 30 - - 31 - - 32 - -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ -~~~~~ 0 and 0 and 1 an 1 are 1 arr 1 bel 1 dat irect~~ ndividual ndividual ndled by ndling an ndling di ndling is ndling of ndling pr nds at th nds on th nds to fi nds to re nd~~~ 2 nd~~~ 4 nd~~~ 7 nd~~~ 7 nd~~~ 8 nd~~~ 8 nd~~~ 9 nd~~~ 10 nd~~~ 11 nd~~~ 13 nd~~~ 15 nd~~~ 15 nd~~~ 16 nd~~~ 17 nd~~~ 17 nd~~~ 19 nd~~~ 20 nd~~~ 21 nd~~~ 21 ne and on ne anothe ne bit pe ne bit pe ne blocks ne direct ne for ma ne indica ne input/ ne of the ne or mor ne or mor ne or mor ne or mor ne physic ne physic ne point~ ne such b ne the lo ne u sin ated the ated to ated to ated to ated to ated to ated wit ated wit ated, an ated, an ated, I- ated,~~~ ated. A ated. M ated. T ated.~~~ atedly c atedly u ated~~~ ated~~~ ately by ately in ately op ately~~~ ater des ater~~~ ates a s ates tha ates tha ates the ates to ates~~~ ate~~~ ate~~~ 1 ate~~~ 1 ate~~~ 1 ate~~~~~ ath name ath name ath name ath name ath name ath name atical f atical f atical i atical i atically ating a ating a ating a ating an ating an ating an ating de ating fi atil open fil open fil open fil open fil open fil open fil open fil open fil open the open the open the opened a opened a opened f opened, opened. oper for oper nam oper nam operate operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatin operatio operatio operatio operatan while(( i<=(len-1) ) &&( ccs[0] < 0 ) ) *cco = mess[i++] ; cco common.c_ int *ccs c1; int *cco c2; int *cci c3; cco dspydr.cmain cco = 0167772 ; cco dspydr.cmain cco = &c2 ; cco dspydr.cmain extern int *ccs, *cco, *cci ; cco syinit.csyinit cco = &c2 ; cco syinit.csyinit cco = 0167772 ; cco syinit.csyinit extern int *ccs, *cco, *cci ; ccs ccdspy.cccdspy case 0: *ccs = n[0] ; ccs ccdspy.cccdspy /*diag*/printf("(at %o)", Y_ccbeg"rsave L2"L3_printf L4_ackq _testq L5L6._ackmes _allocb L7L8L9TL10~_pq _cctran L1L11 _fatal rretrn n physic n physic n physic n physic n point n pointe n pointe n pointe n pointe n pointe n pointe n positi n princi n prior n proper n proper n provid n provid n put in n readin n realit n referr n relate n same d n sequen n served n set to n should n shown n some r n starti n storag n system n system n Table n tabula n termed n that f n that v n the ab n the ac n the ar n the bu n the bu n the bu n the co n the co n the cu n the cu n the de n the di n the di n the di n the em n the I- n the I- n the Iated by 4 cated in 4 cated to 3 cates th 2 cate~~~ 2 cating a 7 cating t 2 cating~~ 7 cation 4 10 cation 5 2 cation b 2 cation i 7 cation o 6 cation p 2 cation, 2 cation,~ 3 cations 3 cation~~ 3 cator 23 2 cause di 2 ccess I- 13 ccess to 2 ccess. 2 ccessibl 2 ccomplis 4 ccording 2 ccount f 4 ccurring 3 ce acces 11 ce progr 3 ce to th 2 ceeds th 2 cellaneo 6 cerned w 2 ces for 2 ces may 2 cess I-n e vari ore, fil ore, rea ore, sin ore, the ore. Th ored acc ored at ored at ored at ored at ored beg ored dat ored fil ored in ored in ored in ored in ored in ored on ored on ored on ored. I ored. T ored~~~ ore~~~ ore~~~ ore~~~ ore~~~ 1 oriented oriented ories 20 ories 30 ories al ories an ories an ories an ories ap ories ar ories ar ories ar ories ar ories ar ories ar ories ar ories as ories by ories co ories do ories in ories ma ories ma ories mu ories of ories re ories to ories to oe capac ile conta ile conte ile creat ile data ile data ile data ile data ile data ile data, ile data, ile entri ile forma ile formi ile handl ile has b ile havin ile havin ile in a~ ile in th ile indic ile indic ile indic ile into ile is as ile is de ile is ex ile is ex ile is fi ile is fo ile is op ile is op ile is pr ile is re ile is re ile is se ile is so ile is~~~ ile itsel ile list ile list ile list ile list ile list ile list ile list ile list ile list ile list ile list~ ile list~ ile write, o zero th o zero, t o zero~~~ o, a seco o, thereb o. There o. N + 1 oadly dis oblem of obtained obtains t obtains t obtain~~~ ocatable ocatable ocatable ocatable ocatable ocate I-n ocate I-n ocate roo ocate the ocated I- ocated an ocated an ocated an ocated ar ocated bi ocated da ocated fo ocated fr ocated in ocated in ocated to ocated wi ocated, a ocated,~~ ocated. ocated~~~ ocate~~~ ocating a ocating i ocating t ocating t ocation 4 ocation 4 ocation 4 ocation 4 ocation 4 ocation 5 ocat