IMD 1.18: 23/09/2013 11:12:08 ucsd-pascal II.0 H-P 2  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ &UT4 h5x $4 0̋̋ ̋P  h % eC % C ``` eߋt_v @ @ 7 ?NOT ENOUGH CORE TO BOOT? 8DԤ eeW @7j ?YOU DON'T HAVE A  U854 7 SYSTEM.PASCAL? wL7v SYSTEM.PDP-11? B A f8 @ 46 7 ?YOUR SEGTBL IS RIDICULOUS? 8 -$8`d d 7b 6 5 xߋz\@ 8 6U@fe C6U@p &  {HP2640.Z SYSTEM.MISCINFO  SYSTEM.PDP-11PZ? SYSTEM.PASCALPZ?[ SYSTEM.FILERPZg[ SYSTEM.EDITORje SYSTEM.LINKERjSYSTEM.COMPILERSYSTEM.LIBRARYk SYSTEM.SYNTAXj%INTERP.LSI-NONZB' INTERP.ANY11Z'9INTERP.LSI-FPIZ9LINTERP.LSI-RXRKLj GLOBALS.TEXTPZj|SYSTEM.WRK.TEXT| INTERP.SMALL1P$SYSTEM.WRK.CODE {HP2640.Z SYSTEM.MISCINFO  SYSTEM.PDP-11PZ? SYSTEM.PASCALPZ?[ SYSTEM.FILERPZODEZ4g[ SYSTEM.EDITORje SYSTEM.LINKERjSYSTEM.COMPILERSYSTEM.LIBRARYk SYSTEM.SYNTAXj &E7 5@up7w j7w 7 Nbw \-@T azE z3F E@ nh f9XF?X E@F F-BD78?2 .~7E@U@   E7 w0 wU &    *7 7 7  7 E7 %INTERP.LSI-NONZB' INTERP.ANY11Z'9INTERP.LSI-FPIZ9LINTERP.LSI-RXRKLj GLOBALS.TEXTPZj|SYSTEM.WRK.TEXT| INTERP.SMALL1P$SYSTEM.WRK.CODEo you want to E(xit from or R(eturn to the editor?  HJKCAPABDC?צW88M jODEZ4VVRCTThjtޜsE> "`2COPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SD H_? _ 6_ 8/efAA"w7&  G 7w pr HEB?<963 0"-$*&'($*!eeee e  e @a&&6E e @a&E e @a \@ e e& >   EezN EE7- @$@$@$@" EB~ @`@`$fH@7 `e B~  B~ _H&z%% 7 &j\7 &j``WtB  aBE B<  w7@` dd&`f&d&b&  m e> ɋ e  rfwBC N EC~ B~U f &z  eN 8@ 6NE LU@t7`.~B% e 7dh\ Aɋ BJ@ Bm8~@ Bm*~@ Bm~ E B @Wtw`& B~z& & E N\Et& B~ & >    I?f& 7  AF vUB~  Ձ@  a a!~F@  B~ ~E `E `0eA xWFlfT   mVAɋF!^ &.8ffD e w5 wDe 7 E7 tv wU W J7 H7 F BZ E@ &?  EՀW  D `E e `&& `& `E e `&EՀ~ w U@w@ > 6 & p f7 ` N H~w : ?2  "U@ $ 7&   ҂ ~ E e ` E   @ ` G7Nz   wE7 w'?~ *048nz  & 2 6 : D H      7`H 7& 6W w{& N B  6 E E2 X j ~ * B X*d d d d d d  6 H ^ P ":@P XZ& , >\`$*06<B7` ~& EEf Bd`n < %  D~ " ~ E D~ DHNTZ`flrx~ ```DaD@z C~ %  D~  ~& AA~E e @`& E&~AA~E e @`&j ( 6 T z l  @ @AA~E e @`  `` t @L A@@A tBt J@ Pf ~f{fxfufrfoflfifffcf `f"]f$Zf&Wf(Tf*Q NK ``f~ ``A~ c ҇e  ``&& `  E  "1, 1,1,^  % ^A %^A&Daef ¥_09 8ɝ^& _E7 ~:)˵'ӵU$ aC  `  E AZ   C  f eeR $ $ $ $ @A eeee 7Bw|7* iU? ~zw ^x O 5 7  h5@ 7R>eJ !$'(****AND 'ARRAY ,BEGIN CASE B z @% eC % C ``` e5 ̋̋ 2@RU@>CONST DIV 'DO DOWNTO ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTI`F 27 ,55h @wp75   #̋ 7̋4 LN ON GOTO IF IMPLEMEN4IN )INTERFAC3LABEL MOD 'NOT &OF OR (PAwU  E@ e ]& 7 7 7ߐ2 7  | t ~CKED +PROCEDURPROGRAM !RECORD -REPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE "w d    X N wK w: 7 ,* $? U@ _E7 wXf UNIT 2UNTIL USES 1VAR WHILE WITH 7 vj& @  z7 vj7 7 U?  E7 ez\& Dr)&&\   5@7 7 .!7 7 27 f"\ vw J r'(((@5@7 XT.jjZ@JJJZZZZ^&tZ~Z~f&\  \& \\r1@\ BCzEG@HPtJ$LM nO(kQRChTV焵W!cY_[\^^k `#ǭaxXc'exfhShjQYkoNmo9?pIrs|ou[?\ ew & ?U?*@ڪAD C %     @  f&\ C0B@B C& Ο @ e E`E``B~Ew7x߄z @|Η}½  & &&n &7 N&t7 Nt7 N0t7 t8NA EwwDwx   '((@`@`( (+m ]  t7 \8Nt6 \ = "  \m\  W  m e>5`\_e w P~P~eeNPP  W  ~~eee``!~ e C~5 5@ \ɋE 5\\\wvr@p@JVL`C~ % C~C~cVeίLH%@ eAp6%V^t|6 wU &f&f7 :U   .Ze\\;@\ \N @   =@f&ysE[\pCf&f&\% a @w   6 6 &  f 6A  v  6N\z\\\ N A f C %C B    \ w  D& &&@7 D& && 6  A    &a00c00Rh    7 ^.B L B V \ B B Z ZZZZZ4  e\ \S\ e& @7 t  e&a00C00rhɡPšPɡ0š0 \ f& \:יc&>X4%]@& & & & & D&&D&& @%7 r.  IA   &a00r00CY  e e@ e& & & & & D&&e #@  @6 7  ,צS#  צ, P#  צ, I# آ  .!6 6 #?%-0 @ ׳f&& @׳@f&7 Z".!f&f&7 lZ&"ZZ ,á*6!F *STK OFLOW*תPFF+ ˡ 6!ZZZB"h"   \b"f& \ e\>:L]L?ƪ@ \fEA#& e@ & f:9 "8?á <צ Exec err #   á, ,(+,& f& f7 ." ff w   &@& "  ,ábÍ`  PASCALSYUSERPROGDEBUGGERPRINTERRINITIALIGETCMD &ˡ . .6% .&$&!F:F FˡFF   B -  e \z\D f C_  fW & @&&&&7 Zv&.Z.  ń? z 0 ń Ȅ! ~Í`~W     n á9 铡/! ˡ!  ,ȫ$* "ë넡, ~ *Í!!1ˡ) ! 767(D'%ɡšɡš  P&:+:2~ š˄ `+ \ (   d˯azȄaA:) Type צ to continue) & ,Í7 H ȡ   צ0H" ġ  ˫hp(Pצצ22ȡ5233 ȡ 23aĩ3zȄ 23aA22š*á  *@#ٕš ګ۫ š۫ ګ,0   ȡQɫ  ȡ ?צ:22ȡá;2á!2ȡ5252š[ץ22š22 0  0ȡ? ȡ  ġ  á ġMá22ȡ2š5252á4w4]ץ11á4\1šV42233z 3042š6 삫뻥 d #( /Íá221é42é1Ä2*á444ń55P.TEXTׯ]צ.CODEJ.BACKׯɡ 럚肚X ū   áš 7צ.INFO$.GRAFׯצ.FOTO8 <!~áë h ! ! Ä & ! !    ÄÄȄĄMȄtiȡF Ä  1  !š Í 7ÄU ǐɄ:6ōɍ ō ȍ  dč "쓡ë 쓡תń~66! á ~횩 !!9 D*~ éÍ~  , Ą쓡"á ˄˥ń á   uš  gá /Ä+   :"ë á 쓡ת$Ꟛšq#ɡ"á a˄ ת   ɚ l šš+-Í-ëzV 0á$-á z áš  šš!邚邫镫ë퓡S  !  kO  ȡ*ńȄ4š"ˡ! "ˡ "ˡáˡ á xáRתPńȄ ,ń.áń# Ȅ 隹Ká/Ä   ~š蕿@šQȡ2 š á1 š2    šš$ :X fE6!~?8FצPut in :P?FP'Ǡá*EEE  :VQ28˄šá  d1  dÍÍˡ!邚邫镫ë퓡h  ! "ˡ ɡ!  ! "ˡ 퓄 Ä퓡  dÄÍ" ˄"ɡf á3 á+á! "ˡ  +U  dá  dá C#C˄ C      áz  Oš *š á ~צ/13:!      4T h ɡ 逫-á-32768ת Pġ>o00ń  šˡ 퓄 Ä퓡w š   0ˡ oɡ` Nȡš ɍL  "ˡ.ˡ   d쓡  2뾿  .dá0á-  1šá. Ą ɡ 낫š ꓡ2š땫Ě Q l>š 쾿  .TL삫Ú š a "á61á " *áá0á  .!6 6 #?%-0 @ ׳f&& @׳@f&7 Z".!f&f&7 lZ&"ZZת(file not foundת(צ dup dir entry(צfile already open(צ file not open(צbad input format(r8FNo user programתP8F0turn  RáEáꥂNing buffer overflowת(צdisk write protected(uillegal block #ת(]bad byte countת(Fצbad init record(.Wáצ)Name of output file ( to return) -->ƂPƂáƂ̂.ʂ.ȡƂƂ۾ &}eN:%oYDצ IO error: (צUnimplemented instruction(צFloating point error(u.TEXTƂƂƂȍƂƂ.˄%Ƃ̂.Ƃ.ƂPƂ..TEXTUƂ.PƂƂ.á ƂƂtV,tString overflowת(]Programmed HALTת(EProgrammed break-pointת(&eP9$oYC#Bj| #fn^:R T>&`L " > d j p> I:*צ dup dir entry(צfile already open(צ file not open(צbad input format(r8FNo debugger in systemתP8F6  RáEáꥂNing buffer overflowת(צdisk write protected(uillegal block #ת(]bad byte countת(Fצbad init record(.Wáצ)Name of output file ( to return) -->ƂPƂáƂ̂.ʂ.ȡƂƂ۾ &}eN:%oYDצ IO error: (צUnimplemented instruction(צFloating point error(u.TEXTƂƂƂȍƂƂ.˄%Ƃ̂.Ƃ.ƂPƂ..TEXTUƂ.PƂƂ.á ƂƂtV,tString overflowת(]Programmed HALTת(EProgrammed break-pointת(&eP9$oYC  !#E$ á"ˡ"& E ##&Eá#Bj| #fn^:R T>&`L " > d j p> I +6+6ˡ6á  Z4" V(n|lj J.*L  .Tf0 zצUnknown run-time error(צValue range error(צNo proc in seg-table(Exit from uncalled procת(StackL d2V \ B B Z ZZZZZ4  e\ \S\ e& @7 t  e overflowת(צInteger overflow(Divide by zeroת(צNIL pointer reference(צProgram interrupted by user(\ f& \:יc&>X4%]@& & & & & D&&D&& @%7 r.  IAצSystem IO error(צ unknown cause( parity (CRC)ת(צillegal unit #(illegal IO requestת(צdata- e e@ e& & & & & D&&e #@  @6 7 com timeout(vol went off-lineת(file lost in dirת(צ bad file name(צno room on vol( vol not found  ʁ%ʁ% t*&*n تٞ&"á ~٤  :SYSTEM.ASSMBLERת :SYSTEM.COMulתצAug Sepת צOct Novת צDec ???תצ??????ת6! PILERת :SYSTEM.EDITORת :SYSTEM.FILERת צ:SYSTEM.LINKERƁ&̨<́b ́cʁcȡ~ؤ%7詄% š t Welcome ?צ, tódʁdתʁd0ʁdʁd؞&"á*ʁd ضá0?ʁdצ*SYSTEM.STARTUP(߫7U.C.S.D. Pascal System II.0Current date is C -C-%́eʁ%ʁeȡlضʁ%ʁbQ́fƁfʁdƁfƁ&ʁ% Ɓf(ߡʁ% ʁbʁ%́bʁ%́%C %System re-initialized(, 06" 0 MayתצJunJ;??ٟá'C CONSOLEצSYSTERMGRAPHICצPRINTERREMINצREMOUTexulתצAug Sepת צOct Novת צDec ???תצ??????ת6! <ƋD*SYSTEM.CHARSETת(ƋDʋI&"áǀʋUʋTʋKƆD ʋT  ̌fʌުP11ˡCۡ>1áIllegal file nameצNo file ́3ˡ fȡƆD   ̌fʌfȡƈD  ل7@ǀ ?̌fʌfȡƊDؤؤ  not code3"ˡצ Bad block #02́42ʁ4ȡCƀ2ƀ2ō$ƀ ƀ P  ƋDR677::9 3222́42ʁ4ȡuƀ2ˡaݡ9צ Linking...ܡ #צ988:9  6 ۪1٦׷)Must L(ink firstg222́42ʁ4ȡJ22č7ʁ302́532́6ʁ5ʁ5ʁ6ʁ5ʁ622צ: ܢܢH d    0&צצ.צ??e f@^ڤ áڤ !~ e ת*U  ? צ*SYSTEM.WRK.TEXT& *SYSTEM.WRK.CODEײ , 7 !! !:!!ڤ  ڤ  áڤ R ٢ š٢ ٢٢ 4*ƁV`tDoo odoo'zr:9CONSOLE:ת(:9SYSTERM:ת(8:98́ʁʁʁצ*SYSTEM.MISCINFOP*"áO* ?́*́ʁʁʁʁʁʁ 6ëצ???JanתצFebMarתצAprMayתצJunJ  צ*Command: U(ser restart, I(nitialize, H(altP')%$z쓡3File not foundת( t`K1ٹVol already on-lineת(Text file lostת(צCode file lost(áצ Assemblingצ Compiling...á999':::::&: Linking...ˡ&צ Restarting...צ U not allowed(yáצAssembleצCompile what text? (ׯ::(:.TEXT-:( RRJHá68AX0qz((* "D&(,. Dv\x"ˡ$צ Can't find ::9 ƀצ:9 ƀ:SYSTEM.SWAPDISK&:(76   FצKCommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, D(ebug,? [II.0]P')%?á@F-*SYSTEM.WRK.CODE[*]תצTo what codefile? (צ,áuצ$,,ˡ-צ*Command: U(ser restart, I(nitialize, H(altP')%$z쓡,::(,$,]ˡ$-::(:צ.CODE[*]0:--"ˡ צ Can't ope Linking...ˡ&צ Restarting...צ U not allowedn -   áث 7_a 7& š+ 5 FILEHAND š%צSYSTEM.WRK.CODEsSYSTEM.WRK.CODE׷Fš5 צ.CODE.. Execute what file? šA.á צ.CODEm%צ:) Running...ء ء:9Gצצkת{צcתת(WצSתԦת(KצOת  8:9á'צ*SYSTEM.STARTUP %áá  n`Äצ(ڹצParity (CRC) error(Bad unit numberת(Bad I/O operationת( Timeout error6   FצKCommand: E(dit, R(un, F(ile, C(omp, L(ink, X(ecute, A(ssem, D(ebug,? [II.0]P')%?á@Fת(Vol went off-lineת(File lost in dirת(|צ Bad file name(fצNo room on vol(ONo such vol on-lineת(  J [ áF([*****]/(ġ 0 2` ٪ # ת á  Y˄ &"&& & ܡ&'&k'{[1 0 ء,ˡ   ߓ`&צPut  : in unit  { c󓍄E''S'צ:'{!'0'c?'(&K&not proccessedء ߓ ٨š5Kˡ*   ġ" ء " á á3!:W~,gڲ= ggۓ$=?N۪ڪƁK""áN׷9& צ ? "'ز=g(=g=&=g&Pɡۡצ ...too long <ٹFצ file n File foundת(צBlkd vol( Unblkd volת(צ File name(צFile/(unblkd vol)(צFile/(blkd vol)(צ  ڪ٪ت&:&Pɡ(š File/vol(Vol nameת(צOutput file full(Workfile is savedת(No directory on volת(No workfile to --> 4ثضÍצ$*á-:á?:saveת(Wildcard not allowedת(צ"Bad form (Wild Non-Wild) card(Ill file/vol nameת(}Ill change (Vol <:á ;&Pġ - عEXå[ׯGC81(o*to> file) nameת(UBad dest for files foundת(4,"iEbUġ#(צ  MJLN0A$6Uۡ &Pɡ צ, áצ áצ expected1(& Ş"˶ I/O error # 4!צ Filer error # ءfܪ(G[!nء CGGá+á &"ˡ~[צ[\&),áY 6( ˡ  .  sآWצ:آ(Yצc&" ȡ3پ!}ȄپaپzȄ پaAצI T  ܪ۪ڪ- آצ ? ) ,áYø۪   ˡ[ ġR&    צ ? (Y/N) - -F&צ ?   0ު(áܲ~Í %&ܥKO &&ȡu ''k' ɡ& Invalid #aP  ˄8&Destroy Gצ: ?  ȡKk'k-'' ܡšڡKN  ff@Զ  rުݪ"צPWkKGšׯɄ  צ. Ɓ-צMakeǐh"))** **S{c\ڥs[KG2G:[ Remove oldRƁ-צChang"&G:[ madeצT! ߪ Ɓ8 55 *SYSTEM.WeChange to what׷{צSW,,W,צ:,(,,(,{A,(*צChangeRK. 5 5 4454=5  d66.6.6 65ݪ   p *[")ǐ ),, d,,[,["𥀈{á򥀿D#٪ؓצ *SYSTEM.WRK.,C:[.á" G"+!+~G?KÄ?G;K;GK,,, $[.GC .צE&Save as G,:, ׯ>צRemoveǀ RemoveE+G:. ? 瓡צSave asצ[š C?/צTEXT$CODE$饀ޤ removed%á % ń,&Update directory ? צ".[G&TEXT&  #hKצ*..CODEOld code removed,ame < scan string #צ vol name  M8!ۡ1á    - char. max >- Ɓ3"ݣ ɡݣ  ڕš"ق Illegal formatT<=ڲ= ݪצc&.צ what fileצܡC׷C#ÄÄ~Íj%á*צPut in G:'צInsert destination  what vol ?  , gg#š=jgjPg?=ɍ :disk % š " ݢÄg=#g=ɍ=*á =*jjjצ:j($hh=ɡX="#š=P="=ݢÄ ۡ"ˡ ݢڶ /ݢ0/0 /0"=h"h=h"h"=P=gg=á?gg=ɡ, 󍓡 =g/0 0 òCń /C"ݢݢ///צ://td צTPܓÄ)jjSjצ:jˡjj(jAj(ܓfOGK׷ȄransferTo whereׯ󓄡=H3Transferצblocks# of blocks to transfer צTransfer   ءצ*SYSTEM.WRK.TEXTצ*SYSTEM.WRK.CODEצ*SYSTEM.LST.TEXT**.*צ.BACK*צצ Ä . %̅,ړצListƅ-~$ʅ.áWriting.ʅ.̅.ʅ- ̅/Remove  ء&צWorkfile cleared&Tf ' ݪܪ  : .  ǀʅ- ʅ//ʅ/ʅ/̅)ʅ(ʅ)̅(ƃʅ/ƃצʅ/ƃʅ) ƃʅ/  ƃ-ƃƅ0ʅ/ á@ .  ڲ צ& * )'Getצǐ&G.[0ƃ-ƃʅ/   ءQƃʅ/ ƃʅ/  ƃƃƅ0ʅ/ƅ0ƃfile3ƃʅ/ .&ؓń=.צ.TEXT.צ.CODE ..Ȳ.׷:.TEXTצText ײ ƃƅ0ʅ/ƅ0. ڍʅ- /ƃʅ. ƃ/ƃ  ƃ files;ƃצ, ƃʅ( ƃ blocks usedƃ, ƃʅ* ƃ unusedƃצ, ƃʅ+ ƃצ in largest&+- ȡ%ܾz ܾ0ŶȄ: \,%Date "١ ƃƃ"ƃ ,  N- Vols on-line: ȡ &Gset: <1..31>--<00..99>Cˡ_צ Today is C -C- ȡR~צ; צ #  :צRoot vol is - C  New date ?  ,Cػ+škGGȡ"GؾAĥGؾZȄ?:צPrefix is - ;: 0 צ Zero dir ofצH  GإGؾAa ȡ$GCػ+c,C ػ?צ:@ÄצDuplicate dir ?   Are thereצblks on the diskצ# of blocks on the disk צNew vol name ?  Cצ The date is C -C-C 6 * 饀:˥׷!צ:DGצ : correct ?  Text file saved  & 0צCODE  #צCode file saved62"o.,%ö,ÍP$&,􍓡~%K:, %,,,|.צצ not named2 Workfile is :.񄓡 (not saved) No workfileڶ+šڸ+*ڂ*ŶB < UNUSED >     .p/ƃƅ'v%.ת&תת(&Ɓ.񄓡9&צThrow away current workfile ? Dir listing ofצ׷١糖 צ#1:(ƃ"١̅.̅-̅,̅+̅*̅) ̅( G CK"צ: zeroed p1šצFile(s) endangered:Mȡ " " ġ  7l\ؤ áצ Directoryڢڢ  v 2צCrunch@צFrom end of disk, blockצStarting at block # 3 % forward ת ˡZ ȡ<ڤ š+ؓښڤ ȡ3ؓ R j3צBad block scan of ȡ'  š 7  צback  ġ ɡ7 GצHScan forצblocksScan for how many blocks ܕšۏ"ˡ`ۂȡQ : crunched#צPlease re-boot{ X6تPFP') x"ˡ93צBlock  צ is badۂġ צ bad blocks2 R88תVצOFiler: G(et, S(ave, W(hat, N(ew, L(dir, R(em, C(hng, T(rans, D(ate, Q(uit [C.4]8+צ 4צExamine blocks onצH&Block-range ? S  SRR  RRˡR&Filer: G, S, N, L, R, C, T, D, Q [C.4]8?áVOFiler: B(ad-blks, E(xt-dir, K(rnch, M(ake, P(refix, V(ols, X(amine, Z(ero [C. ġ RSSRō5%SVR̂dVʂdȡ V3VVš#2 Fix them ? Ǡ  4]8+&Filer: W, B, E, K, M, P, V, X, Z [C.4]8ڡ$&B% ȡ~٤ܦ׷u ȡhܲ~ؤ T USVR̂dVʂdȡצBlock V ƁdVƁdV"á dV"Ɓdd  may be okVWarning units   &  צ have the same name--('z is badV3ˡYV šOUVˡ9TTTM šTVT"צPrefix titles byl;G& Prefix is ;:`%\!X0T4P1L5H6VVUVVá52Mark bad blocks ?š$צ (files will be removed !)צ (Y/N) D*@:BZ2" (@,(NXF0N>w\ ƁG&צSYSTEM.YbcCZ BAD.xxxxx.BADתV̂dVʂdȡV̂eʂeWʂeXT̂fTʂfġ1Z TʂeoT0WRK.TEXT צSYSTEM.WRK.CODE &PĶ (Dɞ(ń?Íצ0???JanFeʂeoTTT TWT ɡTTWT#VV צBad blocks markedH`]t5ebMarAprMayJunJulAugSepOctNovDec?????????0צ Bad CodeTextInfoDataGrafFoto ~% ۢˡMoving ۢۢצ SYSTEM.PASCAL G?   š "0 & L (*&brB\( "&`'"#))'D+*,H--*..\//x0001B1Z1h55p8L5H6  ٪P&áצERROR: á<& Please press to continue.۩ߞ á<á / é쾩Í ߂  á߂߂܂܂ áR۾8۾áݩ۾ ۾ á ܕR`  d>h ٪Pצ what marker? -P,-Vۥ    ڞڂ ˡ  !Uقč,Vȡ-,-, ,,-- -- C ƂNƃz   š ~ \6F& EDITOR w^  á  ܂áũؓɍš  ٚáء  INITIALIOUT COPYFILEENVIRONMPUTSYNTAEDITCORE e   ݂ɡ  ݂ەݕ ; Z-š 0 ۍۡ צRepeatfactor > 10,000?COPYRIGHT (C) 1979, THE REGENTS OF THE UNIVERSITY OF CALIFORNIA\ á  8ڕ škvKThere is no room to copy the deletionɡ š    H FIؾ. Do you wish to delete anyway? (y/n)תP Yá*KڕJJI IJ2IھPھNéN˄  ˥P۾ܥOڂ  ٕ ݞ݂ ˡ !U܂Zhڡ?١ ( P!کN˄9!'۹  vڤVڳNĩ1ۥ č%`wȡ'ڤġڤڤ؂  * 񿥆P&  IĩIɄ I؂ IHZګ ء8ȩ쾩 쾩 vPv v&áٕٕ:áܕܩܕ   á   "á <&ȡ<-á á.á é Äە߂ũȍ0 á   :צReadingNvˡצ Reading file.N5øb  > K%̂5ʂ5ʂ5ʂ5ʂ5 ʂ5PHGv.5  ĸ5 á "ˡצ Disk error:v CC^v̂5ʂ5ȡܤܚAẐ5ʂ5ȡܤAaẑ5Buffer overflow.8 4آFGأ%Fأ&G G آ-NIآHآ$5ȡܤA09̂5ʂ5ȡܤA    Ǫ צP8VteinTZ|H  Iآ Hآ$Iآ Hآ$Iآ#Hآ$Iآ#Hآ$Iآ!Hآȍ .˄# ̂5Ƃ5 PƂ5צ.TEXTUƂ5P .á N vNot present. File? תP"á $I HIآ"Hآ$Iآ!Hآ$Pأ.Oآ/ POPآ)  > K%̂5ʂ5ʂ5ʂ5ʂ5 ʂ5PHGvOآ/ Pآ-Oآ/ Pآ,Oآ/ Pآ,Oآ/ Pآ'Oآ/Pآ:v CC^v̂5ʂ5ȡܤܚAẐ5ʂ5ȡܤAaẑ5 á á  á ƂN-R; v< ~*^LLbP& F > Z   ~ 'Oآ/Pآ(Oآ/P آ(O آ/أ.áPáPJO ,  B!۩ߞ á<á / é쾩Í ߂  á߂߂܂܂Pپخ%v ACDFIJLMP Q R S V XZ,>.+-?/=v٤ؚٳ v قؚ. M Edit: A(djst C(py D(lete F(ind I(nsrt J(mp R(place Q(uit X(chng Z(ap [E<    09̂5ʂ5ȡ )  (( ń(Ą?Í .6g]תPrצH Insert: Text { a char, a line} [ accepts, escapes]PIצA Delete: < > {Edit:KN̂5Ƃ5Ƃ5:Ƃ5&Ƃ5tx> to delete, to abort}PK Adjust: L(just R(just C(enter { to leave}תP ɡ"ˡWorkfile lost.vFNo workfile is present. File? ( for no file to exit ) תPvr2 Insrt: {,} [ accepts, aborts]תPI4 Delete: { deletes, aborts}תP5 Adjst::  P á v ,á ̂5ʂ5ȡ   .TEXT    L(ft R(ght C(ntr to leaveתP צ+ Edit: A, C, D, F, I, J, R, Q, X, Z [E.6f]P<צ>Editȍ .˄# ̂5Ƃ5 PƂ5צ.TEXTUƂ5P .á N vNot present. File? תP"á  PƂƂ.á ƂƂƂצ*SYSTEM.WRK.TEXTPצWritingNƂCNvˡ..צ.TEXTU.P.áȡLٕڂġ)Buffer overflow.ĩɡW  ۂۂۀ Nˡۂ.ɡ3 ꕞN  ٩ڞڂZ= ˸ .   Vˡ.Nצ Your file is   bytes long.UáV?&צSYSTEM.WRK.TEĶɄ , ڨ߶ߤ ߤ Marker not there. ٲ0XTN*SYSTEM.WRK.CODENתeצ4Do you want to E(xit from or R(eturn to the editor? ز+߾á f v   ׷   ׷ U=ˡ   EګצWriting out the file K+IT Nvˡ. ׷     ׷     Ƃ=ƃiצ& Copy: From what file[marker,marker]? PɡW  ۂۂۀ Nˡۂ.ɡ3 ꕞN ƂPƂá Ƃ=Ƃ# Copy: File not present. Filename? תP"áצ CopyP  Ⓞ ˡ.Nצ Your file is   bytes long.UáV?&צSYSTEM.WRK.TEڕɄ čⓄ% Ʉ "ˡ Disk Error.ĩƂ=XTN*SYSTEM.WRK.CODENתeצ4Do you want to E(xit from or R(eturn to the editor? Ƃ=fV^vdN  ׷   ׷ U=ˡ צImproper marker specification.  2ꂶ6צMarker exceed ׷     ׷     Ƃ=ƃiצ& Copy: From what file[marker,marker]? P>Quit:תP# U(pdate the workfile and leaveצ E(xit without updatings file bounds.ĩ :ꕕ,צ[á$ + R(eturn to the editor without updatingצ% W(rite to a file name and return ר  צ]ɍٲˍ.ڕ.P..P,áؕ" RáEáꥂNWáצ)Name of output file ( to return) -->ƂPƂ     ە ..ȡ۲۾ ..ȡáƂ̂.ʂ.ȡƂƂ۾ .TEXTƂƂƂȍƂƂ.˄%Ƃ̂.Ƃ.ƂPƂ..TEXTUƂ. ۲ ۾ ..ȡ۲۾ צ.TEXT˲ȍ.˄#..P ڕɄ čⓄ% Ʉ "ˡ Disk Error.ĩƂ=; E &(38 xؤá   ȡ.ءצTrueצFalse0 ڳ@צ Date Created:  - -  Last Used:  -@צT or FȡĹ TáTrue צFalse Z -   Jצ Not option d  # ڳɡ ڂ0 wi[M=/AT(k) geQ"c&   צ. Environment: {options} or to leaveP  A(uto indenvSyntax Error #תP צ . Type @Ƃ ƃ7Ƃ צ*SYSTEM.SYNTAX"ˡ hȡ9t צ F(illing  L(eft margin   R(ight margin   ~ȡ- Ǘȡ ǹȡ .ȡ  Ƃ ˡ á d d   0 P(ara margin   C(ommand ch  T(oken def  0 00 :  ؕ؞ق ق   پÍ   پÄG vؕvDؕצ  צ bytes used,   available.HG Patterns: vצ . Type  á   Ƃ #%deQ"c&G2 = 'ũEǀ'H.צ , = 'Fǀ'wá> < A&! Copy: B(uffer F(rom file תP  DB Markers: wȡ8 xؤá K멂J IũIĄצ Invalid copy.멂JġNo roommLꩂJIĩIɄIJꩂצ Date Created:  - -  Last Used:  -J IꩂJ멂JꩂJ ĩ Fá * צJump to   -   Jצ Not option d \ةwxؤ xؤ  Not there.ؤ ĩ.\ $ JUMP: B( ƂPƂá Ƃ=Ƃ# Copy: File not present. Filename? תP"áצ CopyP  Ⓞ wi[M=/AT(k) geQ"c&  ꂫꂶÄ  Í  KÄ˄Ąۄy á  háOȡ% ˡܡ IJڶȡ6No insertion to back over.   oڶġd5Please finish up the    á áث8   Ʉeginning E(nd M(arker תP  Bá)EáMá ةˡة$ insertion   ڶ š Buffer Overflow!!!! á  i ĩ צInappropriate environmentKR  w w > ! á ^áw áwȡ/ ) x٤vצ$Marker ovflw. Which one to replace?P Jéé Íɡ f ġ앞$ĩp0wSet  ׷ Gwȡx٤ xؤؤةw앞 ^ á "4áww@n *  Set: E(nvironment M(arker תP  EáMá ةˡة ! á.!~ō?    G~ ĩo < eXchange: TEXT { a char} [ escapes; accepts]תP          á   ǀd ؂ȡ ؂ġ    á8š1ؾ\ áO ˄:؂š!  ؂  P  ɡ          š   ˡ? ة꾿á٫؞ǀ 8ꕀPšrZ-    ٕةġ-á- ؕ  ؕ ٩L WARNING! You are about to zap more than 80 chars, do you wish to zap? (y/n)תP  Yˡ   ؞؞ ٫ګ    U ؂ \   EL š ꕞ ĩꕕ  rP  ˡPšǀ3á ɡ"צNo room to insert. j˄' ǀ vá(ȡ  á Ą     $%&؂ɡ šٮ ݮ+,    IP Ä؂ jš앞0dšצBuffer overflow' 앞ˡ앫؂  vá   w"#<á"# |!x$sá< >  (  P  Nġ Integer Ovflw) <á"#]_nlDtٕ ,˄ Má M vá    á< >   ȩMd$ Tá(J átÄ S ٕ܄Lɡ ꕞ ٩ٕٕ   ܹ-(1ڕ($ڕ( 4-"á(wá (eDŽP ثLK IٕJ٫ ö ݓ -á- á'*  á  ڂ٥ č9h  ^ġ) á (- áڕ(ڕ( ˡá۫ k 'šA>áš (š  ) <öÍ   ˄#áR)  M;%*&&<á%&  ń     ɡT "$"#<á"# !$šToo many$ġצInteger Oveb   Ȅ5  ɡášĶ  rflow<) <á"#˶˄ >á#"+ $   Í      !ń9  á   á8á  á  Cá1á  á   ɡit"  Ʉ: á    |  *ȡGھ á-ń ۂšĶ   #<áTń1 á  ꂫġ ھO Z+ȡˡˡȡ ȡ  ø ɡzɄ2  ɡáĸ š# Í 4` x š ɡ,ń    2  .|v 4ǀ Ŷڶq š  P  .Má  Má   d~ á 9ض     á   2  .|v 5EE Ŷ zxt p lhd ĩD@08lb^\ZXVVVTRPN024680>@b Eá X7Ŷ EɄ ŶŶ; ˡ; z\2n  t  ^&@H t tZz0`b0 öEɄ E Ŷ EɄ Eá ? !!h"#$#,%<%l&hv;צPattern not in the fileצNo old pattern.  " d8     á78>á54v b á78   3 P  .Má  Má   d~  Ŷ š 2 á}Aáojũ˄ȍzxt p lhd ĩD@08lb^\ZXVVVTRPN024680>@b ȥ  Ä: N6.۪PڪP.P [M /&SYSTEMLELINKER  צ]: ء% áL(itT(okz9z  Replaceצ' aborts,   ö D. ./ Lá .Vá . Tá 'R' replaces, ' ' doesn't 9 á Rr˄Fš[Fš9צBuffer full. Abo . VTÍLÍ/SsÍV^0/L(Invalid delimiter. rting Replace FꕞFɡFꕞFFˡ F멂FꩂF.á*۾ ń  čġ.צYour pattern is too long @:̀̀  á Findצ =>9( Replaceצ V(fy =>9. 1۶ɩۂ۾Ä۶d% 02  á./0ʀ ťE1G á./̀0ʀ F1HéG éHGl  ȩMل*6 ١ނ߫ á:63ǀ Ŷٶq ġ   ض á 9 ؂    á<á  ٓ(MńצPattern not in the fileצNo old pattern.  " d تP%Type (continue), (terminate)++á+ á VTrace'*SYSTEM.LIBRARYצ Host file? 'ׯ?':'צ iٚi.ھZڿ Zn workspace'š  ȡXצ Lib file? 'צ***SYSTEM.LIBRARYǀ"ȡ6ݢܢ`ܢ`ښ>  Rצ Map name? 'צ,.á .TEXTץ'۫۟á! ٢٢ٟáٚUۢ٢  !ۢ٢   ٚ۟áڟˡܡڢٚڢٚT x H ȡۢ`Ä ڢڢڢۢ`qˡצ badݟˡ2ݢܱ !ݢܵ ˡ: H ܟˡBܢȡ&ޢ ۯ ޢ` host segˡצ dup host segګ Láڢ ڢګ3áۢ ڢ  yy}/Já á:צUnit  not foundl ȡ"ښ ȡ á  áצ weird hostFTO_| l - > [ ڂتP.(2.P."ˡ2צ in workspace.CODE۟ˡSȡ<ۢcá'ڢۚڢڢڢڢګٟˡ٢٫eyj P."ˡ&.!צNo file Pˡ !צOpening /s//./ٚ./  >`  ת' #Zë[ !ššˡsegtbl read errá>-2-2ȡ+/c-˫ZZ--Z/ -0,šá8 ١צ li read err ١آá11/22`-ˡצ bad byte sex02`-Ä02-2`-˄'2`n ٟˡhˡc٢ˡUáצno room in seginfo6  ٚۢۢۢ-ˍfunny code seg2-2-ɍ2-,ōצ bad diskinfo2`-1צ bad seg kind non-alpha name٢ōצ too many refsצ bad formatáōצ2 -  bad seg name,š----š0ÄצAll segs linked,á/[`9ȡ Linker [II.0 a2]E˫[':'צ in worksp ٟˡáٸ ٢ؚ٢٢٢٢٢Ǡٶ ٸ ٸ T!!צ missing proc` ٢؟ˡ 8%"4o(ǐɡ no mem room bad privateá ˡٮǠōɍ Nōצ bad globdefō bad publicdefe٢٢ ٟˡaáUá ؟ˡ%áá ٢ؚá ٢ iF xǠōɍdōצ bad proc/func$  vY[]_* Ŕ&ʁ&́'ʁ'ʁ'ڟˡ0 ٟˡٚښ7B#۶ˡábá& ɡ,צReading ʁ& ́%Z4Ɓ ́&ʁ&ȡƁ Ɓ >ڟá0ˡ"ڟˡˡá ڟáٟá ضؚؚo8l$ˡˡ bad litype fzá́%nšE   ۢZ ́&ʁ&ȡۢ#ݢˡݢ ݢˡݢ ݢݢ ˡݢݢ # áݢˡ á  ۟ˡá2á*Ȅ  צ bad host LCʁ% ܢ  ۡ,צProc  param mismatch #áݢˡá  ۡ,צFun ٢ áWsBJ؟ˡآōצ bad proc #ڶc  param mismatchO áݢݢ unit err$3Z:$V  ˶˄disagreeing p #Iٕȍ Nōצproc place err  N ZGlobal iצPublic VConst DProc 3צFunc "bQB 8)(ǐɡ sep seg 2 big ȡˡsep seg rea@1 undefined˄$ܚsX$ f"؟ˡ&&&آߣޟd err5Ǡō bad proc dict!   #ȡ ˡˡš ޢ? ɡ),áZ ááP P &XXC f$3>A COMPDUMM  ڿڞڂ,$áˡ,Í +۹Iš)P PASCALCOCOMPINITDECLARATBODYPARTWRITELINUNITPART +ë0+ë+ë2+-Í+ë-(*á) %  ǖ X"ˡ.X(.TEXT-"ˡǓ%.Z-U*U +-Í&+ë))צ*SYSTEM.LST.TEXT("ë) -ë/򥂀 z+ë1s-ë#l+ë(e+-Í-ë11-2$(0 -CU&fc^ [^^^Uˍ^U^^ؚ^E/)ǐȄ Zá .Z Z Zڕxrmhc,ˡ áá)}Í+-*68Fu!^:,+,+base LC = Ɓ Ɓ Ɓ Ɓ r2Ɓ^&2  $F.  n \:ڕǴצ <<<<Line W , error  :/2( (continue), (terminat,$ T@ F$ h###f$$2%%%%%&&L&`0n ת'WƁ Link map for ˡe), E(dit EÍeÍ^ÍEeÍ ^U ǐÍ ^ /<W >Ɓ #Ɓ Ɓ צ assem hostƁ Ɓ  #̂MʂMȡ" ˥ ˄/Sp Z$M/áUˡ$/á0Uˡ$$)U,+Z$/%+XU/Z 2 ˡCode write erráh2#?SYSTEM.WRK.CODEת׷3ˡ'Ɓ צnext ˡX%*U.-Z%$UˡǑá $áUU:&DK 0, Ɓ Ɓ Ɓ r2Ɓ^&2  $F.  n \:*W  \ X ZdšdZڞá% š  ,$ T@ F$ h###f$$2%%%%%&&L&`0n ת'WƁ Link map for ˡڞ d66U6Zń/צ>>>>>> Error # 6 l~ڟá   0 #ثە$ġ  ȡ5áؚ 澂0إF0á5á.ީ ޢإ j   ޚ ášؚ0ە ȡ  0ġ 0ڕ$۟ڟÍáH Hˡ Ä ޓ%  HH ȡ 徂0 á $ $$ b3߫HÄ dݟܟ˄ބ2f JK/}*á*.á ݟÄܟÄÄÄ#`!%á á ,0I; =á '((')   =>)ؿ  ٿ 4áˡǒ )=á   {  "$&(*,.2468:<@,NPRTV6šۥٞقق؍+áˡǒٕálXZ\^`nplnprtvxz|~&%1 z [ġ%ؤáQ񂥀ؤ[NQQ.J ^؟ˡN٣`;٣ á/á á ǐ" .ٟˡإá؟؟"ġ>~ڟˡ(4٣ á-٣(uצ undefined\#!   D áڣb 3g3ChG4E(DFCBښá OO&J XIō~ %M >á á á  á á !ک9áˡ <  ڟˡá 9ÄM Mé Äܓ+MáM Mé ÄmܓMá á+ á +'á,'ˡ++%++á #R---+-+RZ     y2y y%á:á9% ީ4 ޢ  '09ō.á7.ˡ. 09ȄáEáL ޢ ǂإ (é`á  á  ˡgá áVީ;áá -á  +á09Ȅɡáȡ:  0 ń  ᚹ2ީ:&á ᚹi#ááإj$áá ; MÄ% Ä  xMˡݣ 9.*IÄN+N[ۢ7ۢۢ ۢ  ȡN ܢ8áFALSE TRUE ܢؚܢ ښܢ 8ٚ I \M!M MON Iá>D.  MáNIL רۢ6ۢۢ ۢ  MAXINT ۢۢۢ   ZG G רآZ^FƂƃƂ0ƃ\ƂXƃƁƃ* Y ma ˡ)WW آF F آآآ آE E רآآآ آ آD D רآآV VYY *+N/W צ linesYšSצ, Y< آ آCC آآآآآآآ آ آ آآ آ BB רآآ secs, YW  lines/min/DSmallest available space = T  wordsآآآآآ آ آ آآ آ VREAD READLN WRITE  ̄ʄȡN̄̄ʄȡ3N̄̄ʄȡ̄ʄȡNWRITELN EOF EOLN PRED SUCC  ORD  SQ̄ʄȡNP̄ʄȡΟˡ Ω(̄ʄȡ R  ABS  NEW  UNITREADUNITWRITCONCAT LENGTH ƂƂ0ƂXƁ<s$` 0T @NDZ 8 T z ~ x\6 Y< INSERT DELETE COPY POS MOVELEFTMOVERIGH آآ;;آآ::dL آ99آآ88آآ66EXIT IDSEARCHTREESEARTIME FILLCHAROPENNEW OPENOLآآ77,آآ955,آآ94 4آPآآآآآآ9آPD REWRITE CLOSE  SEEK !RESET "GET #PUT $ INTEGER ۢۢ  REAL ۢ;ۢ  CHAR רۢ9ۢ  SCAN %BLOCKREA&BLOCKWRI'TRUNC (PAGE )SIZEOF *STBOOLEAN ۢ8ۢ  STRING רۢ4ۢ  TEXT ۢ7ۢ  INTERACTרۢ5R +GOTOXY +̀ʀȡ{(ٳ %`ٳڡ  ̀ʀʀʀڡ ʀۢ @ @INPUT רۢ7ۢۢ ۢ @ ? ?OUTPUT ۢ7ۢۢ ۢ ?  KEYBOARDʀʀ ʀ ٚ b ODD CHR MEMAVAILROUND  %>PNmmDz I~؟آآآ N>>آآPROGRAM آآآ ٢٢٢ á   ٢٢٢٢ 3 3 á!   áآ آ آ آ آآآ!á^ áN>ˡ >>   á (má  á   áU  ˡ8ȡ,; m   ء n      L M Mآ آآ>آآIآ\آ آLj z Z }*I /  ł á       ˡ o    SIN COS LOG ATAN  LN  EXP  R ȡ  PASCAL Compiler [II.0.A.1]< 0>~؟آآآ(T  SQRT  MARK  RELEASE IORESULTUNITBUSYPWROFTENUNu u uá ~ˡ  á2 ߚ ITWAITUNITCLEAHALT SSȡܳ 0ܹ8 TTT9 TT   " " ˡߢ á  á  ád;T; TTTTTTۚTbZ8 TTT@;:5-& ǔ  á   ߢ ˡk ߩ4Äg  á4{ VP84$3ݡ  TTT T ݡTT؟ˡآTښTؚ ō P Pˡ ߩ4  á  váqáW ߩ:  á$Rd(&š##=AHZX)UWVȡ1Nڢڢ ڢڢ   á  á ǿ ߟˡkߢ  ǔ ޚ<Ϧ*SYSTEM.PASCALת(Ϧ*SYSTEM.LIBRARYת( -&Q[\RǂNJ+* P'!/ á   ߢ ˡk ߟˡ/á&ˡ ;áǏ š f ߚ "0, 21(.3%$ȡؤKW'  By8uyq) ٟ$; ڟ˶zbک;˄2 ġ%ɡ܂5|u]tmiexaM }*I / ɡ۸ ik3T@š  ڢ  ڢ ڢ ڢ R ȡ  PASCAL Compiler [II.0.A.1]< 0>~؟آآآ(T  / ł ڢ ڢ  ˡ   ٶ˄/ڣ %ڣ áڢ ڣ ڣ Ȅ ڢ ڢ  á+á$ ] ] ,á á    ߚ ' ʁ ʁ['ؓ ˫ ˡ  ؍ؓá  ʁʁƁ$ <0ce2 ޟˡ1ȡ$ީ;á m á Ǖ ޚq ˫  á   á  #áS~؟ٓˡ Ǧ ٓ۩ۢۢڢؚ       ˡ ál "ȡˡ9   ˫  á   ˡ  á ۥۢۢۢ )é Ä   ȡ ǎ   ߟá-á  ɡ ~  ł   آٚآ á%   é   ˡ ~ߚ á  *á  á   ߟˡ%Íߩ;Í s  ߩ;ár   á ݥݢݢ )é Ä   ڢۚ=ٟˡ)گ ٩=ˡآ=ߚߟˡ% š ǩ \.áW ǿ    á  á%   é  =ˡu ={ áM   ݥݢٚ٢٢ ٢٢    ˫  á  á  á (  š ߚߟˡ ,(  ٟá138:+ Aٟ٥  öń ˡ%      ł  á%    ˫ -N٣ ë''٣ [N٣ /80"ˡ ǻ 0ˡ ǻ    Í kk    áá> 9"ڤ "ڤ ~/rڤbڤë'']PP ߚ       ˫  á   PPš Nۢۢ"ڤ ۢ ۢbڤۢ[Ǿ á $,Z+U)Uˡ ál ˡáá&     ޟˡ   68 Iˡǽ   ؓ*$<ؓ˄ $+<́ʁˡʁ ʁ́Ǽ á؟*/1-" h   آآ ái3 3 á)  إآ ء"ƁTURTLE ר́́Ɓ\Ɓ [( צ words]<W >آ=آ =$ ˡ ˩   l   q q qu ́ [́Ɓ ʁoƁ ʁ́ʁƁʁ<ʁʁ' ʁ ʁ ʁ ʁ<[áʁ 'U  . ˫   áJ á<    ˡááy  ȡ 䏂   /@#.IéP Ä $ 1á  á' Ǻ ~   á  áá ( (  ߟˡ ˡ á( @ !  á IáNC $ !á ǹ ˡQ$  á+    آˡZޚˡ@á -á&ȡ  D+%ݍm   aTOA v$~  Zn RJ  ޚٟl ء@. Ǐ QP[ [  Ǐ  O MM M I \ء[&#!!  á X&á$ R~ ܟˡ?ܣáܣÄܣ Äܣáܣ Äܣ ÄޓǠ  /@#.IéP Ä $ 1á  á' Ǻ ~   á  áޓá     I [ $ [ $'ǀš'(&ˡǒ &&'('ک} ۢ ۢٚ۩Q؂''h&ˡ ǀ DءPš PPN[Ǖá [[á l۟ˡJá5áSړ Ǧ  ȡۢ ڡ " ^Ȅ "3ǔ ؀ ؀ ɡ  š á  š ܣ ˡܣ [ؓǏ   CI \ ܣ \IɡII :ȡ ǀ  (ǀ 3ámá šˡ ۚš$  ɡ. ~ޡ áޓܢۚo ޓܢۚáP á4ޡz  ġ  á ٳ0d@ h ٳ ǀ  FJ)ÍȄ )ݢݢ I ݢ ݢ   ] ] ˫  á  ܢݚݟˡ x ܢ   ޓ{ á  ܢ5é$'IˡǷ  $Ǹ ء]ٟˡ<ݢۚݢ ܂ á۟ˡáݢ~~ؚá%     [( צ words]<W >\*5á+  é  ]=ˡu =OS ^   áw   @    $ܢ"é Bޡǡ ܢ"á á    @ ! @á  ˡ = ߚá I   O MM M I \ء[&#!!  šخáخǀ  خj[ؤ[[[[Ǖš +2 ؤá "Oá 1 @$ńˡá  áˡˡ nj  áˡu á ؤ Oؤ8`ǀ Ȅ ?á(ۢ䚩á 䥁ǘ ^ " ǐ  !   ˡń  WˡO $ۢ9á ۢښ   8ˡLJ !خ  ٢`m Í; ááǏ ˡńǍ  i i 1-.+ۢۢ`mɡ'ġ 9!٫ خ 4Pˡáb'ڢȡ;Gv dá}   Eܮ29Ä Há=ءǚ á/9á'Rá$خڢ+;˄6á;á33S,á)6IݢݢR 4  ˡ} 4  x"ˡ' áˡ á)##:<> 4!O˄˄0  ˡS>á+t á " ٟáǞ eˡǢ WˡQ ة;Íǟ < -؟ˡ á  8I6ˡǐ #;=? E.dˡfN &ǐ E&á%2t ޮ < á  á á Iˡ"g . VCtˡuN &ǐ E&á%2I   á áá`  !á > ؟ˡ4أ á'أ أ  أ ˡ"g . VCˡˡء!%" أ } } nˡ} á  á  " ˡ} áR   ˡ Ä á)  6I ' á" ˡ} á   ˡ}  á ~á Iá)6    < ˡǖ g    8خ2خ"ɡٮM2خ˫  ɡ  šث  4 ٚ  :ˡńi; i iáݟˡˡ NJ  t á +ˡ/îá2خá   ˡ ˡ} á á ؂ ؂ #Ȅ ؂ خ @MÍǀ   Gڳáق ˡ ˡq ݟˡ < , 1 ˡ䀮šNj ˡ>'  M} -˫  áٮ%M- &?ö;}R ˡ(á!9á  á  á   ˡ ˡ} á  " á ˄ۮ%&؟ˡ#š á$ á% &ˡ ˡ   ˡ ˡ}  "ˡ ˡ} ˡ!áM )  ÍM   ˡ ˡ} á/M2خ٣ɡ ٣ šث ٫+áMM: á ١M ة;á5١á" " ˡ ˡ} rة:  ١]ة9á ١MJá :} á     t ^"ˡ ˡ} ás á ١M5 )ˡ ݕ١ܮܮM} -˫  áۮ%M-Y4eNORMAL ILOCK ׯ 2PURGE CRUNCH ׯ    M- 'ޣ á ޣ ˡǐ áٟá~  "ٟ˄٣ڟˍ٣áȡw9Ä á \ "ˡˡ}  áǏ Xá   ˡ} } FM?M8ˡ 9ˡǏáá :;é1 %ک;  ; 4D Ä ,'S  M (_83 6-!ˡ ˡ} á  )á á á}  }ˡ ݕˡǎ ګ1á&ág ڟˡ ˡǎ ǚ  ǎ ٟˡˡá    ˡ 9ˡ} á  "á    "ˡٟˡ~ ޣ áޣá V"7ޣ ޣ ÄOޣ ޣ á Mޣ ޣ Ǖ ޣMޣ ޣ Fޣ ˡ}  ˡǏ á  á  " ˡ} á   ˡ} ˡ Mޣ ޣ 4ޣ áBޣ %ޣ IáNޣ ޣ áOޣ .ޣ  ޣ á(ޣ ޣ ˄ޣ (HSx%áM-#á}  ˡ.$ع0sokgc_(أ áأ á t ݳ͐o" ݳ}ݹ&'ޡ2 ˡˡ [!W"S#O$KG +@7575 799;9E"$&EC,GIGEG8SIGi٣á٣ á%٣ } 9ÄǏ @%áM M 8ˡáás ˡ ġ} ˡá 2I٣ ٣ ٣ á)٣  6I٣ ٣ J%@ö=} ˡ(á!9á " á ;á} ˡá;á}  >á  á  ˄ٮ%"ág ˡ[ M K; <:  )9 M     ˡ ˡ} Má   Má  ! "$&(*,.02468:<>@BDFtdPRTVXZ\^`M e -&:ˡ ǁ :ޡK9Ä47ˡ.  9˄Sˡǁ ٫٫ e1 $d--'á  - ܟ˄)*Ä?ܩ;;Äh ]WGޡ*٣(('( ǒ  MoQM`A#ǁ 3 /Ä   dž )ܩ;;Ä dž v*ÄÄ  dž   02 #áP~ڤˡ~ڤ؟ٓá 9 ٓǧ   7R FÄ dž -ܩ88Ä dž  'rD0 $R, (é`  n1/a˫   á  8: B2á8á ܓ ٮ á,. á";áá dž (á  , ܟ˄) 4  /ܡ ۡګ  á-ܓ  9خ ٮ /ܡ ۓګ خܓٮ 3 -á ;ˡ;áá} U'NweD+$&*,._ 6*Ä?ܩ;;Ä/Ä  dž )*Ä?ܩ;;Ä/Ä>@DFHJLޡá  (s ;;Í؍á ;á ٩;0)Í!á  dž (ܩ88Ä  dž  |& +ˡ ە :á ة:6*e: e e^  ܣáܮ&ܣáˡǁ ؚ,.+)á 9Íˡ ȡ  S + 9  ܮˡá ; á9 4 ˡ ȡ ܟ˄á+á   ǁ  ǂ ˡ )* .   :     á   -8Ä퓫 ˡ8ˡ LJ  S. f  ܩ;á ܩ8á  ǃ   DŽ  u   á  ˡˡ Lj   Ȅ   %  ˡ  ǃ 5ǃ  "Dž  o1 á @ áG    lj ޡȄ   ޡ 䔜ߡlj*564/1(0!7/ 1, )ǁ 8 jF@خá  ˫  á  ߡ,RRR RRRj0b ˡ ō  á 9 ˡ ȡ ٟ˄á;  ;: á "    A áW ˡ>ˡǐ 0 ! ؟ˡé1 Ǒ 3 ġ ڣ áV' áA-á۶~ܟˡ `mˡǨ ੁ  ǀ @ˡnˡǐ ` Q ؟ˡé1 8߮ 6  šߤ ޶á     ؕ  \ I ..N QQšá40Ǒ 7 @ ! á 6 / á9߮  \QG ART!99  F8``  L r4p` !2""#$$%L&&N'] 7á}   EBخˡxál ɡ_ ~á~ۢۢۢ B((( f,,F--J///0./0~00b1p222B3r 9 á  ~ڟˡ 2 M %Iá<ڟˡڣ +8~ۢۢ š nj ˫  á 6 /ڕ ٕ  8J&š(ˡ2'é&Ä&ȡW&ɡǀ' ȡ%٩(J#á[~ݤˡ~ݤޟˡ# áǥ ǧ  á  0 UW, á( ܩ&ɡ ګ ȡ  l ڣ a `}p  ܣá ܮ0v 2o 1h 3a 4Z 6S 5L 7E 8>é ڣ  ,ڣ ڣá ڣ ڣ á[ڣ áOڣá$ڣ"  6h  "$&fZUIRFAm!dš  &  JJ7 Ql   " "ڣ"  " ١qˡAۣá "ۣáȡ  9߮ ٟˡ٩;Í ǐ  á    ٟˡ^ Oܟˡ ȡáǜ  /#!  /# @# ( Tɡ Tˡ;צ [   ܚޚ۟áښǓ ˫  á  /aڟˡ9 ˫   Í߮ words]<W >ˡڟˡ ˡtáašQ2 6ٮ / ݟˡ` ݚܟá ,   9 š   ݟá á  >=jF*ˡ (ޕ( áWV~ܟˡ ܢ  .Iá(<ڟˡG#4 خ/a˫   á خ 5 EG V5 ٮ@  ġ ڣ M~ڟˡN 2 2 ,á5á9áMIéخ á 6 /9ٮ خB6áX}  á   Ǜ ؟ˡũ;  ǏUW/a˫   á  ~ڟˡ 2 M %Iá<ڟˡڣ #           ȡ   á     2ˡ "" N NN 3á   _4ˡ a $ y{ġ  ˡˡ$&LGv .Ǐ  & ۂۂۀ Nˡۂ.ɡ3 ꕞNء~Nڟˡȡ𥀲ܤˡܹ FSEEK ר~ FREADREAרj FWRITEREרV FREADDECרB ˡ.Nצ Your file is   bytes long.UáV?&צSYSTEM.WRK.TEXTFWRITEDEר$ ' DECOPS  tbP>%ȡ  "!    ܤN*SYSTEM.WRK.CODENתeצ4Do you want to E(xit from or R(eturn to the editor?   ܤ   ܤȡ      +ء*4<NG&F EګצWriting out the file*ZlDTXZ\l\B.5$<$ y{ġ  ˡˡ$&LGv .Ǐ  & , PASCALIODECOPS *SYSTEM.INFO[*]"ˡǒ . Ƕ . Ǐ QI \ [ MPPPPš [   ˡ TAݟޓݥ e ޓ* A ݫAN؞ (M M I ɡ- ~ݟˡ   á   0'&6á" ?COPYRIGHT (C) 1979, THE REGENTS OF THE UNIVERSITY OF CALIFORNIA2ˡ "" N NN 3á   _4ˡ a  $ "TYPE DECMAX = INTEGER[36]; STUNT = RECORD CASE INTEGER OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGER \ &š(&ˡǒ *Nݢݢ" á   ˡ[12]); 15:(W5:INTEGER[16]); 16:(W6:INTEGER[20]); 17:(W7:INTEGER[24]); 18:(W8:INTEGER[28]); 19:(W9:INTEGER[32]); 110:(W10:I`  ڣ 0  ]Z@B.١NáöÍá  M I\[ M M! Ddnt ݫAN؞ (١ بȡ      áأ ` أ  أ   M M I ɡ- ~ݟˡ   á   0'&6á" $  $ ݞ$' ݑ$ $݂ō $݂ġ ݂$+-Í-۲z0ݡߑ ع  NTEGER[36]) /END; ' " "PROCEDURE FSEEK(VAR F: FIB; RECNUM: INTEGER); PROCEDURE FREADREAL(VAR F: FIB; VAR X: REAL); "PROCE $ $ȡ%  0 ފ$čQ   .ˡ5  Eɡ DURE FWRITEREAL(VAR F: FIB; X: REAL; W, D: INTEGER); "PROCEDURE FREADDEC(VAR F: FIB; VAR D: STUNT; L: INTEGER); "PROCEDURE FWR -ݑ š 0 0 ߿`ġ(   ݂. ݕ ؂݂3  ݕ 0 . ݑ0 ݕITEDEC(VAR F: FIB; D: DECMAX; RLENG: INTEGER); "  IMPLEMENTATION $ "PROCEDURE FSEEK(*VAR F: FIB; RECNUM: INTEGER*); $LABEL ݂ ؂ ɡ   x,  & * عuu1; $VAR BYTE,BLOCK,N: INTEGER; "BEGIN SYSCOM^.IORSLT := INOERROR; $IF F.FISOPEN THEN &WITH F,FHEADER DO (BEGIN *IF (RECNUh[NA4 '  }rg\QF;0%á M < 0) OR NOT FSOFTBUF OR 2((DFKIND = TEXTFILE) AND (FRECSIZE = 1)) THEN $ "TYPE DECMAX = INTEGER[36]; +-Í-۲z0ݡߑ ع  STUNT = RECORD CASE INTEGER OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGER[12]); 15:(W5:INTEGER[16]); 16:(W6:INT    k ݢݣޢÄ@@@   P  5  O ~eL3Ná ޣ Ąޣ ݣ ˡRݣ &ݢ ݢݢ!ݣ "ˡݣ ˄ݢ!ۂ <<Df\A4 '  }rg\QF;0%á "ˡ\ݣ ݣ šݢ ݣ ݢݣݣ ݣ ݣݣńݢݣݢݢݢˡݢݢ ۚݢܚ   p +-Í-۲z0ݡߑ ع  á +-Í-ڲzؼ 0.áAPASCALIOFSEEK FSEEK FREADREA FREADREA FREADDEC FREADDEC FWRITERE ڲzؼ 0ڲzQeEÍݍ.á '߂ۓۡܡ FWRITERE FWRITEDE  FWRITEDE  DECOPS @  $-1:>GKؼɡ ؼ߀$ ؼߞ$"Hɍ -   $,/36:GJNQUbeilp}  }rg\QF;0%á %  x |rntjfhX \L -LL   *      l  b  w!     a  E _ vJ  b h^  XVD$`h d  20$`   O^ 747( a "  ` $$ _ * ˕͕07 7  %%2w&7$" G8  x*b`$7w& 8  & 2  D!@  ͕- ͕0  F\  F  ##- (      Aa@  U  D D   D          f   "& f X7 vwpn  @\Z \ V ͕0F ͕0 0 _  ``f  w\  __ _B B`A b e  QB  b   6  _ ;NJ#&;KLZzĊ @" R _j7 ev a " j b \ H HH  ` H HhHh    e^TPJ$BLOCK <= FMAXBLK) AND (BYTE <> FBLKSIZE) THEN 0BEGIN 2UNITREAD(FUNIT,FBUFFER,FBLKS_DB F  F   _% _ "77 * &IZE,DFIRSTBLK+BLOCK-1); 2IF IORESULT <> ORD(INOERROR) THEN GOTO 1 0END ,END; *IF FNXTBLK > FMAXBLK THEN ,BEGIN FMAXBLK := F     w aB  ~ B   `w`7& 7 7 7 7aNXTBLK; FMAXBYTE := FNXTBYTE END *ELSE ,IF (FNXTBLK = FMAXBLK) AND (FNXTBYTE > FMAXBYTE) THEN .FMAXBYTE := FNXTBYTE; *FEOF : E  Da7 D7zE mna R Ha H R e<! F  (&  = FALSE; FEOLN := FALSE; FREPTCNT := 0; *IF FSTATE <> FJANDW THEN FSTATE := FNEEDCHAR; *FNXTBLK := BLOCK; FNXTBYTE := BYTE  _d 7dwH J7 D aw> w* (7 "D 7Da7  DECOPS DECOPS GDEC GDEC -w` F   &  & w %% |& 1:Error in simple type  2:Identifier expected  3:'PROGRAM' expected  4:')' expected  5:':' expected  6:Illegal symbol (termdeclared function's result type can't be re-specified  123:Missing result type in function declaration  124:F-format for realsinator expected)  7:Error in parameter list  8:'OF' expected  9:'(' expected  10:Error in type  11:'[' expected  12:']' ex only  125:Error in type of standard procedure parameter  126:Number of parameters does not agree with declaration  127:Illegpected  13:'END' expected  14:semicolon expected  15:Integer expected  16:'=' expected  17:'BEGIN' expected  18:Error in dal parameter substitution  128:Result type does not agree with declaration  129:Type conflict of operands eclaration part  19:error in  20:'.' expected  21:'*' expected  22:'INTERFACE' expected  23:'IMPLEMENTATION' e 130:Expression is not of set type  131:Tests on equality allowed only  132:Strict inclusion not allowed  133:File comparisoxpected  24:'UNIT' expected  50:Error in constant  51:':=' expected  52:'THEN' expected  53:'UNTIL' expected  54:'DO' expen not allowed  134:Illegal type of operand(s)  135:Type of operand must be boolean  136:Set element type must be scalar or sucted  55:'TO' or 'DOWNTO' expected in for statement  56:'IF' expected  57:'FILE' expected  58:Error in (bad expressbrange  137:Set element types must be compatible  138:Type of variable is not array  139:Index type is not compatible with thion)  59:Error in variable  101:Identifier declared twice 102:Low bound exceeds high bound 103:Identifier is not of the apprope declaration  140:Type of variable is not record 141:Type of variable must be file or pointer 142:Illegal parameter solution riate class  104:Undeclared identifier  105:sign not allowed  106:Number expected  107:Incompatible subrange types  108:File not allowed here  109:Type must not be real  110: type must be scalar or subrange  111:Incompatible with part 112:Index type must not be real  113:Index type must be a scalar or a subrange  114:Base type must not be real  115:Base type must be a scalar or a subrange  116:Error in type of standard procedure parameter  117:Unsatisified forward reference  118:Forward reference type identifier in variable declaration  119:Re-specified params not OK for a forward declared procedure 120:Function result type must be scalar, subrange or pointer  121:File value parameter not allowed  122:A forward '  this record  153:Type error in read  154:Actual parameter must be a variable 1:Too many nested procedures or functions  252:Too many forward references of procedure entries  253:Procedure too long  254: 155:Control variable cannot be formal or non-local  156:Multidefined case label  157:Too many cases in case statement  158:Too many long constants in this procedure  256:Too many external references  257:Too many externals  258:Too many local filesNo such variant in this record  159:Real or string tagfields not allowed  160:Previous declaration was not forward  161:Again  259:Expression too complicated  300:Division by zero  301:No case provided for this value  302:Index expression out of bou forward declared  162:Parameter size must be constant  163:Missing variant in declaration  164:Substition of standard proc/fnds  303:Value to be assinged is out of bounds  304:Element expression out of range  398:Implementation restriction unc not allowed  165:Multidefined label 166:Multideclared label  167:Undeclared label  168:Undefined label  169:Error in bas 399:Implementation restriction  400:Illegal character in text  401:Unexpected end of input  402:Error in writing code file,e set  170:Value parameter expected  171:Standard file was re-declared  172:Undeclared external file  173:Fortran procedure  not enough room  403:Error in reading include file  404:Error in writing list file, not enough room 405:Call not allowed in sor function expected!  174:Pascal function or procedure expected  182:Nested units not allowed  183:External declaration not eparate procedure  406:Include file not legal  allowed at this nesting level  184:External declatation not allowed in INTERFACE section  185:Segment declaration not allowed in UNIT  186:Labels not allowed in interface section  187:Attempt to open library unsuccessful  188:Unit not declared in previous USES  189:'USES' not allowed at this nesting level  190:Unit not in library  191:File not 143:Illegal type of loop control variable  144:Illegal type of expression  145:Type conflict  146:Assignment of files not al allowed to be private  192:'USES' must be in interface section  193:Not enough room for this operation  194:Comment must applowed  147:Label type incompatible with selecting expression  148:Subrange bounds must be scalar  149:Index type must be inteear at top of program  195:Unit not importable  201:Error in real number - digit expected  202:String constant must not exceeger  150:Assignment to standard function is not allowed  151:Assignment to formal function is not allowed 152:No such field ind source line  203:Integer constant exceeds range  204:8 or 9 in octal number  250:Too many scopes of nested identifiers  25( V x   J b T  & Z l z> 8@FLdjz0 J P B$*06<BHNTZ`flrx~ ```pap@t H@< 0)`x` L Z   x  @ @COPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDf ~f{fxfufrfoflfifffcf `f"]f$Zf&Wf(Tf*Q NK H_?HEB?<963 0"-$*&'($*!MEUSeeee e  _ 6_ 8/efAA" e e& >   Ee7 TN EE7- @$@$@$@" 0EB~w7&  G 7w prCARSON,JOHN MONTGOMERY 43 246 2  n&7 "%% 7 $\7 $`` B  aBE B< 0832 &E7 5@up7w j7w 7 Nbw \-@T a wN EC~ B~U f &7 J$  eN >@ <VE LU@ zE z3F E@ nh f9XF?X E@F F-BD78?2 .~7E@U@  7`2~BE B @ w`& B~7 & & E N\E   E7 w0 wU &    *7 7 7  7 E7 & B~ & > UB~  Ձ@  a a!~F@  B~ ~E 7 E7 tv wU W J7 H7 F BZ E@ &?   `E `EՀW   `E e `&& `& `E e `w U@w@ > 6 & p f7 ` N H~w : ?2  "U@ $&EՀ~  7F   ҂ ~ E e ` E   @ ` wE7 w'?~ *04<r~ " & 2 > F J T X  " . 0 6  G7N 7 R" \& \7`H 7F 6W wwF N B ) ffD e w5 wDe6DCZB@B CxfhShjQYkoNmo9?pIrs|ouEw7x߄z @|Η}½  & &(&&D &7 DxP7 J& Ο @ e E`E``B~bA EwZwXDwN   '((@`@`( x7 JxZ7 tbx7 \bx6 \ = "  \m\  (+m ]   P~P~eeNPP  W  ~~eeeW  m e>5`\_e w5 5@ \ɋE 5\\\&   6 E E7` ~& EEf Hd`n < % ``!~ e C~C~ % C~C~c,eί"%@  D~ " ~ E D~ D C~ %  D~  ~& AA~E e @`& EeAp6% "1, 1,1,^  % ^A %^A&~AA~E e @`&AA~E e @`  `` B~ @L&Daef ¥_09E AZ   C  f ee| $ A@@A  ~ J@ P ``f~ ``A~ c ҇e  ``&& `  $ $ $ @A eeee >eJ !$'(****AND   E e @a&&6E e @a&E e @a 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO ELSE END EXTERNAL5 \vl@@`@`$fH@7 `e B~  B~ _FOR FILE .FORWARD "FUNCTION GOTO IF IMPLEMEN4IN )INTERFAC3LABEL MOD 7@` dd&`f&d&b&  m e> ɋ 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -REPEAT SET *SEGMENT !SEPAe  rfwBC % e 7d>\ Aɋ BJ@ Bm8~@ BRATE6THEN TO TYPE UNIT 2UNTIL USES 1VAR WHILE WITH m*~@ Bm~      I7 %& @  7 %7 2&7 &7 !7 |'7 !7 #7 (\ vw J r'?f& 7z  AFZeA NWFl`F 27 ,55h @wp75   AD C %     @  f&\   B -  e \#̋ 7̋4 RPRTV wU  E@   &f  & N & . )   v     C 6  %%   + ׳f&& @׳@f&7 $j("2(f&f&7 l$t($$$$$(%f(   \( &?  w U@w& K C & ^ T7 N 6 0f& \ e\>:L]L?ƪ@ \fEA#& e@ & f& f& f7 "( ff  w  ?  "U@  wE7 wT?  ~w   &@& ,)  4 7869 BERKIHISER,MICHAEL KENNETH 52 201 3 `lrv~  F j n z  *   X \ p ~ J  , v Z B x  @ b r 4LV6512 BIRD,JOHN NATHAN 43 533 3 9484 BRENNER,MARTIN 43 246 1 ^~T6  TZ`flrx~$,4<DL VN&z```a  x h  COPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SD @ @f ~f{fxfufrfoflf H_?ifffcf `f"]f$Zf&Wf(Tf*Q NKHEB?<963 0"-$ _ 6_ 8/efAA"V*&'($*!eeee e  e e&    Ee7  N w7&  G 7w:prEE7-n @$@$@$@" fE  &7 2 %% 7 ! \\ w  D& &&@7 >&D& && 6  A7 ^"&"&&"&&&&$&$$$$$&E7 5@vVq7w k7w 7 bcw ]-@U a& e\ \S\ e& @7 &f&e\'f& \:יc&>X4%]@zE z3F E@ nh f:XF?X E@F F-B7 8?2 . 7E@U@& & & & & D&&D&& @%7 r"B'  IA e e@ e& &   E7 w. wU &    07 7 7  & & & D&&e #@  @6 7 "'6 6 #?%-0 @ 7 E7 ~ "7 E7 ,tv LwU W 7 .7 , (g E@, r&7 z!   eN @@ >ZE L4U@ 7`6 BE 2B @ w`&   rhfwBC % e 7jb Aɋ  BP@ Bm> @ BmV7  & & E N\E &  & > U  . @ Bm    h  I Ձ@  a a! F@    DVE `E `E? g& 7h  AF|eA VWFlN   mAɋF! &(W   `E e `&& `& `E e `&EՀ V  ffD e  wl5 wfDeVC:VB@B VC7   ҂  V E e ` E   @ ` G7 7 p \& & Ο @  e E`E`` A EwwDw J  '((@`@`\7H 7 6W ww N B  V6 E E( (/m ]   P P eeNPP  W    eV7  V& EE dd`z ~ %&  '  " E ee``!  e#    %V   ce D  %    & VAA E e @`& E& AA ί%@ eAp6% "1, 1,1,^  % ^A E e @`&AA E e @`  `:`  @L2 A2%^A&Daef ¥_09E AZ   \^C @@A   J@ PV ``f  ``A  c ҇e 8 ``&& `  f ee $ $ $ $ @A eeee >eJV  E e @a&&6E e @a&E e @a !$'(****AND 'ARRAY ,BEGIN CASE CONST DIV 'DO DOWNTO ELSE \VD@`@`$fH@7$`e    V _END EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO IF IMPLEMEN4IN )INTERFAC7 ! `` B  aBE B<V  wN E   U (f 7@` dd&`f&d&b&  m e ɋ e-  iU? ~zw ^x O 5 7  h5@ 7RB z @ v  76   p  d deA @ A @ %  A @ 6v %% eC % C ``` e5 ̋̋ 2@RU@>`F 27 ,5\%    w    `@ `  ` `  \\ N A f C %3LABEL MOD 'NOT &OF OR (PACKED +PROCEDURPROGRAM !RECORD -REPEAT SET 5h @wp75   #̋ 7̋4 e&&   v |N v  6  *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTIL USES 1VAR WHILE 6  hv  `   @ (%.% D %WITH $"7 " & @  7 " 7 nP#7 n4#7 n27 n$7 n67 n 7 n%\ vwe% e @ D   mm@ 0     A C v %\w @     4V \'(((@ BCzEG@HPtJ$LM nO(kQRChTV焵W!cY_[0  @  @ w   & Dr)&&\   5@5@7 T\^^k `#ǭaxXc'exfhShjQYkoNmo9?pIrs|ouEw7x߄z @|Η}½  & && !!!!!!!!"f&\  \& \\r1@\[?\&7 |z67 n`z67 `67 TB`z`z67 <N`z`z66 \ F "  \m ew " ?U?*@ڪAD C %     @  f&\  \  W  m e5`\_e w5 5@^j x\ɋE B -  e \&f  & N & . )   v     C  5\\\&       B  BB`   V& $  6  %%    w 6 6 %   Dv   0e%6  6  E v v ·ͅ  @ B  B`     V R\x 6>%\ @       D f C_  fW & @&&&&7 &!!"0!!&!6!FNV^fVpv wU &f&f7 U   8ɝ^& !!!!r!e\\;@\ \N @   =@f&ysE[\pCf&f&\% a_E7 ~)˵'ӵU$ aC  `  7Bw|7* @w   6 6 &  f 6A  v  6N\&f f & G   . 2 X j ~ * B X*d d d d d d  6 H ^ P ":@P XZ& , >\`$*06<BHNTZ`flrx~ ```DaD@z "`j ( 6 T z l  @ @2COPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDf ~f{fxfufrfoflfifffcf `f"]f$Zf&Wf(Tf*Q NK H_?HEB?<963 0"-$*&'($*!eeee e C B    \ w  D& &&@7 \#D& && 6  A7 ^#0##0# _ 6_ 8/efAA"###!#!!!!!# e\ \S\ e& @7 ##e\ $fw7&  G 7w pr& \:יc&>X4%]@& & & & & D&&D&& @%7 r`$  IA e &E7 5@up7w j7w 7 Nbw \-@T ae@ e& & & & & D&&e #@  @6 7 $6 6 zE z3F E@ nh f9XF?X E@F F-BD78?2 .~7E@U@ #?%-0 @ ׳f&& @׳@f&7 !%P%f&f&7 l!%!!!!!%  E7 w0 wU &    *7 7 7  7 E7 "%   \%f& \ e\>:L]L?ƪ@ \fEA#& e@ & f& f& f7 % 7 E7 tv wU W J7 H7 F BZ E@ &?   ff w   &@& J& w U@w@ > 6 & p f7 ` N H~w : ?2  "U@ $ wE7 w'?~ *048nz  & 2 6 : D H     / EՀW  D `E e `&& `& `E e `&EՀ~  C0B@B C& Ο @ e E`E``B~ 7&   ҂ ~ E e ` E   @ ` G7Nz  A EwwDwx   '((@`@`( (+m ]   7`H 7& 6W w{& N B  6 E E P~P~eeNPP  W  ~~eee``!~ e C~7` ~& EEf Bd`n < %  D~ " ~ E D~ DC~ % C~C~cVeίLH%@ eAp6% C~ %  D~  ~& AA~E e @`& E&~AA~E e @`& "1, 1,1,^  % ^A %^A&Daef ¥_09AA~E e @`  `` t @L A@@A tBt J@ PE AZ   C  f eeR $ $ $ $ @A eeee  ``f~ ``A~ c ҇e  ``&& `  E>eJ !$'(****AND 'ARRAY ,BEGIN CASE  e @a&&6E e @a&E e @a \@CONST DIV 'DO DOWNTO ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTI e e& >   EezN EE7- @$@$@$@" EB~ @`@`$fH@7 `e B~  B~ _H&z%% 7 &j\7 &j``WtB  aBE B<  w7@` dd&`f&d&b&  m e> ɋ e  rfwBC N EC~ B~U f &z  eN 8@ 6NE LU@t7`.~B% e 7dh\ Aɋ BJ@ Bm8~@ Bm*~@ Bm~ E B @Wtw`& B~z& & E N\Et& B~ & >    I?f& 7  AF vUB~  Ձ@  a a!~F@  B~ ~E `E `0eA xWFlfT   mVAɋF!^ &.8ffD e w5 wDe0 UNIT 2UNTIL USES 1VAR WHILE WITH 7 vj& @  z7 vj7 7 U?  E7 ez\& Dr)&&\   5@7 7 .!7 7 27 f"\ vw J r'(((@5@7 XT.jjZ@JJJZZZZ^&tZ~Z~f&\  \& \\r1@\ BCzEG@HPtJ$LM nO(kQRChTV焵W!cY_[\^^k `#ǭaxXc'exfhShjQYkoNmo9?pIrs|ou[?\ ew & ?U?*@ڪAD C %     @  f&\Ew7x߄z @|Η}½  & &&n &7 N&t7 Nt7 N0t7 t8N   B -  e \z\D f C_  fW & @&&&&7 Zv&.Z.t7 \8Nt6 \ = "  \m\  W  m e>5`\_e w.Ze\\;@\ \N @   =@f&ysE[\pCf&f&\% a 5 5@ \ɋE 5\\\wvr@p@JVL`@w   6 6 &  f 6A  v  6N\z\\\ N A V^t|6 wU &f&f7 :U  f C %C B    \ w  D& &&@7 D& && 6  A 8ɝ^& _E7 ~:)˵'ӵU$ aC  `  7 ^.B L B V \ B B Z ZZZZZ4  e\ \S\ e& @7 t  e7Bw|7* iU? ~zw ^x O 5 7  h5@ 7R\ f& \:יc&>X4%]@& & & & & D&&D&& @%7 r.  IAB z @% eC % C ``` e5 ̋̋ 2@RU@> e e@ e& & & & & D&&e #@  @6 7 `F 27 ,55h @wp75   #̋ 7̋4 LN .!6 6 #?%-0 @ ׳f&& @׳@f&7 Z".!f&f&7 lZ&"ZZON GOTO IF IMPLEMEN4IN )INTERFAC3LABEL MOD 'NOT &OF OR (PAwU  E@ e ]& 7 7 7ߐ2 7  | t ~CKED +PROCEDURPROGRAM !RECORD -REPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE "w d    X N wK w: 7 ,* $? U@ _E7 wXf 1  7 E7 tv wU W J7 H7 F BZ E@ &?  EՀW  D `E e `&& `& `E e `&EՀ~ ZZZB"h"   \b"f& \ e\>:L]L?ƪ@ \fEA#& e@ & fw U@w@ > 6 & p f7 ` N H~w : ?2  "U@ $& f& f7 ." ff w   &@& "  wE7 w'?~ *048nz  & 2 6 : D H     2 X j ~ * B X*d d d d d d  6 H ^ P ":@P XZ& , >\`$*06<BHNTZ`flrx~ ```DaD@`zaz 4$`bzczj ( 6 T z l  @ @T2COPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SDf ~f{fxfufrfoflfifffcf `f"]f$Zf&Wf(Tf*Q NK H_?HEB?<963 0"-$*&'($*!eeee e  _ 6_ 8/efAA" e e& >   EezN EE7- @$@$@$@" EB~ w7&  G 7w prH&z%% 7 x j\7 x j``WtB  aBE B<  w&E7 5@up7w j7w 7 Nbw \-@T aN EC~ B~U f &z  eN 8@ 6NE LU@t7`.~BzE z3F E@ nh f9XF?X E@F F-BD78?2 .~7E@U@ E B @Wtw`& B~z& & E N\Et& B~ & >  E7 w0 wU &    *7 7 7  7 E7  vUB~  Ձ@  a a!~F@  B~ ~E `E `2 % e 7dh\ Aɋ BJ@ Bm8~@ Bm*~@ Bm~ UNIT 2UNTIL USES 1VAR WHILE WITH 7  j& @  z7 j7 6!7     I?f& 7  AF!7 7 "7 7 7 #\ vw J r'(((@0eA xWFlfT   mVAɋF!^ &.8ffD e w5 wDe BCzEG@HPtJ$LM nO(kQRChTV焵W!cY_[\^^k `#ǭaxXc'exfhShjQYkoNmo9?pIrs|ou C0B@B C& Ο @ e E`E``B~Ew7x߄z @|Η}½  & &&n &7 N&t7 Nt7 N0t7 t8N 7&   ҂ ~ E e ` E   @ ` G7Nz  A EwwDwx   '((@`@`( (+m ]   7`H 7& 6W w{& N B  6 E E P~P~eeNPP  W  ~~eee``!~ e C~7` ~& EEf Bd`n < %  D~ " ~ E D~ DC~ % C~C~cVeίLH%@ eAp6% C~ %  D~  ~& AA~E e @`& E&~AA~E e @`& "1, 1,1,^  % ^A %^A&Daef ¥_09AA~E e @`  `` t @L A@@A tBt J@ PE AZ   C  f eeR $ $ $ $ @A eeee  ``f~ ``A~ c ҇e  ``&& `  E>eJ !$'(****AND 'ARRAY ,BEGIN CASE  e @a&&6E e @a&E e @a \@CONST DIV 'DO DOWNTO ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTI@`@`$fH@7 `e B~  B~ _ON GOTO IF IMPLEMEN4IN )INTERFAC3LABEL MOD 'NOT &OF OR (PA7@` dd&`f&d&b&  m e> ɋ e  rfwBC CKED +PROCEDURPROGRAM !RECORD -REPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE 3 `F 27 ,55h @wp75   #̋ 7̋4 l  ! e\ \S\ e& @7 !j!e\"f& \:יc&>X4%wU &f&f7 pU   0ɝ^& _E7 pBD ]@& & & & & D&&D&& @%7 rF"  IA e e@ eE` `E@% e`7  U%dd ECIw rD  5 7}W# & & & & & D&&e #@  @6 7 "6 6 #?%-0 @ ͋d 5 MUL@U7 >w" LN wU  E@ e ׳f&& @׳@f&7 n# 6#f&f&7 l x#     # j#   \#]& 7 7 7ߐ2 7  | t ~"w d    X N wKf& \ e\>:L]L?ƪ@ \fEA#& e@ & f& f& f7 # ff w: 7 ,* $? U@ _E7 wf U?  E w   &@& 0$ 7 ez\& Dr)&&\   5@5@7 X      t7 \8Nt6 \ = "  \m\  W  m e>5`\_e wx   f&\  \& \\r1@\[?\ ew & ?U?*@ڪ5 5@ \ɋE 5\\\wvr@p@JVL`AD C %     @  f&\   B -  e \V^t|6 wU &f&f7 :U  z\D f C_  fW & @&&&&7  x    > e\\;@\  8ɝ^& _E7 ~:)˵'ӵU$ aC  `  \N @   =@f&ysE[\pCf&f&\% a @w   6 6 & 7Bw|7* iU? ~zw ^x O 5 7  h5@ 7R f 6A  v  6N\z\\\ N A f C %C B   B z @% eC % C ``` e5 ̋̋ 2@RU@> \ w  D& &&@7 B!D& && 6  A7 ^! !!! !!! !    4  *) (* *) (* RELEASE LEVEL: I.3 AUGUST, 1977 *) (* I.4 JANUARY, 1978 *) (* I.5 SEPTEMBER, 1978 *) (* II.0 FEBRUARY, 1978 BD *)  (* *) (* WRITTEN BY ROGER T. SUMNER *) (* WINTER 1977 *) (* *) (* INSTITUTE FOR INFORMATION SYSTEMS *) (* UC SAN DIEGO, LA JOLLA, CA *) (*  *) (* KENNETH L. BOWLES, DIRECTOR *) (* *) (************************************************) CONST MMAXINT = 32767; (*MAXIMUM INTEGER VALUE*) MAXUNIT = 12; (*$U-*) $(******************************************************************) (*  (*MAXIMUM PHYSICAL UNIT # FOR UREAD*) MAXDIR = 77; (*MAX NUMBER OF ENTRIES IN A DIRECTORY*) VIDLENG = 7;  *) (* Copyright (c) 1978 Regents of the University of California. *) (* Permission to copy or d (*NUMBER OF CHARS IN A VOLUME ID*) TIDLENG = 15; (*NUMBER OF CHARS IN TITLE ID*) MAXSEG = 15; (*MAX CODEistribute this software or documen- *) (* tation in hard or soft copy granted only by written license *) (* obta SEGMENT NUMBER*) FBLKSIZE = 512; (*STANDARD DISK BLOCK LENGTH*) DIRBLK = 2; (*DISK ADDR OF DIRECTORY*) ined from the Institute for Information Systems. *) (*  *) (******************************************************************) PROGRAM PASCALSYSTEM; (********************O^****************************) (* *) (* UCSD PASCAL OPERATING SYSTEM 5  AGELIMIT = 300; (*MAX AGE FOR GDIRP...IN TICKS*) EOL = 13; (*END-OF-LINE...ASCII CR*) DLE = 16; KED RECORD ( DFIRSTBLK: INTEGER; (*FIRST PHYSICAL DISK ADDR*) ( DLASTBLK: INTEGER; (*POINTS AT BLOCK FO (*BLANK COMPRESSION CODE*) NAME_LEN = 23; {Length of CONCAT(VIDLENG,':',TIDLENG)} %FILL_LEN = 11; {Maximum # oLLOWING*) ( CASE DFKIND: FILEKIND OF SECUREDIR, ( UNTYPEDFILE: (*ONLY IN DIR[0]...VOLUf nulls in FILLER}  TYPE IORSLTWD = (INOERROR,IBADBLOCK,IBADUNIT,IBADMODE,ITIMEOUT, ( ILOSTUNIT,ILOSTFILE,IBADTME INFO*) ( (FILLER1 : 0..2048; {for downward compatibility,13 bits} ITLE,INOROOM,INOUNIT, ( INOFILE,IDUPFILE,INOTCLOSED,INOTOPEN,IBADFORMAT, ( ISTRGOVFL); ( 8DVID: VID; (*NAME OF DISK VOLUME*) ( DEOVBLK: INTEGER; (*LASTBLK OF VOLUME*) (  (*COMMAND STATES...SEE GETCMD*) CMDSTATE = (HALTINIT,DEBUGCALL, ( UPROGNOU,UPROGUOK,SYSPROG, (  DNUMFILES: DIRRANGE; (*NUM FILES IN DIR*) ( DLOADTIME: INTEGER; (*TIME OF LAST ACCESS*) (  COMPONLY,COMPANDGO,COMPDEBUG, LINKANDGO,LINKDEBUG); (*CODE FIL DLASTBOOT: DATEREC); (*MOST RECENT DATE SETTING*) ( XDSKFILE,CODEFILE,TEXTFILE,INFOFILE, ( DATAFES USED IN GETCMD*) SYSFILE = (ASSMBLER,COMPILER,EDITOR,FILER,LINKER); ( ILE,GRAFFILE,FOTOFILE: ( (FILLER2 : 0..1024; {for downward compatibility} 8STATUS : BOOLEAN; {for FILER w (*ARCHIVAL INFO...THE DATE*) DATEREC = PACKED RECORD ildcards} 8DTID: TID; (*TITLE OF FILE*) 8DLASTBYTE: 1..FBLKSIZE; (*NUM BYTES IN LAST BLOCK*) ( DA( MONTH: 0..12; (*0 IMPLIES DATE NOT MEANINGFUL*) ( DAY: 0..31; (*DAY OF MONTH*) ( CCESS: DATEREC) (*LAST MODIFICATION DATE*) ( END (*DIRENTRY*) ; DIRP = ^DIRECTORY; DIRECTORY = ARRAY [ YEAR: 0..100 (*100 IS TEMP DISK FLAG*) ( END (*DATEREC*) ; ( (*VOLUME TABLESDIRRANGE] OF DIRENTRY; ( (*FILE INFORMATION*) CLOSETYPE = (CNORMAL,CLOCK,CPURGE,CCRUNCH);*) UNITNUM = 0..MAXUNIT; VID = STRING[VIDLENG]; ( (*DISK DIRECTORIES*) DIRRANGE  WINDOWP = ^WINDOW; WINDOW = PACKED ARRAY [0..0] OF CHAR; FIBP = ^FIB; FIB = RECORD = 0..MAXDIR; TID = STRING[TIDLENG]; FULL_ID = STRING[NAME_LEN];  %FILE_TABLE = ARRAY [SYSFILE] OF FULL_ID; % %FIL( FWINDOW: WINDOWP; (*USER WINDOW...F^, USED BY GET-PUT*) ( FEOF,FEOLN: BOOLEAN; ( FSTATE: (FJANDW,FNEEDCHAR,FGOEKIND = (UNTYPEDFILE,XDSKFILE,CODEFILE,TEXTFILE, ( INFOFILE,DATAFILE,GRAFFILE,FOTOFILE,SECUREDIR); DIRENTRY = PACTCHAR); ( FRECSIZE: INTEGER; (*IN BYTES...0=>BLOCKFILE, 1=>CHARFILE*) ( CASE FISOPEN: BOOLEAN OF ( TRUE: (FISBL6 TID,SYMTID,CODETID: TID (*PERM&CUR WORKFILES TITLE*) ( END (*INFOREC*) ; ( (*CODE SEGR BLOWUP WAS*) ( HLTLINE: INTEGER; (*MORE DEBUGGER STUFF*) ( BRKPTS: ARRAY [0..3] OF INTEGER; ( MENT LAYOUTS*) SEGRANGE = 0..MAXSEG; SEGDESC = RECORD ( DISKADDR: INTEGER; (*REL BLK IN CODE...ABS IN SY RETRIES: INTEGER; (*DRIVERS PUT RETRY COUNTS*) ( EXPANSION: ARRAY [0..8] OF INTEGER; ( HIGHTIME,LOWSCOM^*) ( CODELENG: INTEGER (*# BYTES TO READ IN*) ( END (*SEGDESC*) ; ( (TIME: INTEGER; ( MISCINFO: PACKED RECORD ( NOBREAK,STUPID,SLOWTERM, ( HKD: BOOLEAN; (*FILE IS ON BLOCK DEVICE*) ( FUNIT: UNITNUM; (*PHYSICAL UNIT #*) ( FVID: VID; *DEBUGGER STUFF*) BYTERANGE = 0..255; TRICKARRAY = RECORD {Memory diddling for execerror} 4CASE BOOLEAN OF  (*VOLUME NAME*) ( FREPTCNT, (* # TIMES F^ VALID W/O GET*) ( FNXTBLK, (*NEXT REL BL6TRUE : (WORD : ARRAY [0..0] OF INTEGER); 6FALSE : (BYTE : PACKED ARRAY [0..0] OF BYTERANGE) 4END; MSCWP = ^ MSCW; OCK TO IO*) ( FMAXBLK: INTEGER; (*MAX REL BLOCK ACCESSED*) ( FMODIFIED:BOOLEAN;(*PLEASE SET NEW DATE (*MARK STACK RECORD POINTER*) MSCW = RECORD ( STATLINK: MSCWP; (*POINTER TO PARENT MSCW*) ( DYNLINK: MS IN CLOSE*) ( FHEADER: DIRENTRY;(*COPY OF DISK DIR ENTRY*) ( CASE FSOFTBUF: BOOLEAN OF (*DISK GET-PUCWP; (*POINTER TO CALLER'S MSCW*) ( MSSEG,MSJTAB: ^TRICKARRAY; ( MSIPC: INTEGER; ( LOCALDATA: TRICKARRAY ( T STUFF*) ( TRUE: (FNXTBYTE,FMAXBYTE: INTEGER; ( FBUFCHNGD: BOOLEAN; (  END (*MSCW*) ; ( (*SYSTEM COMMUNICATION AREA*) ( (*SEE INTER FBUFFER: PACKED ARRAY [0..FBLKSIZE] OF CHAR)) ( END (*FIB*) ; PRETERS...NOTE *) ( (*THAT WE ASSUME BACKWARD *) ( (*FIELD ALL( (*USER WORKFILE STUFF*) INFOREC = RECORD ( SYMFIBP,CODEFIBP: FIBP; (*WOROCATION IS DONE *) SYSCOMREC = RECORD ( IORSLT: IORSLTWD; (*RESULT OF LAST IO CALL*) ( XEQERR: INTKFILES FOR SCRATCH*) ( ERRSYM,ERRBLK,ERRNUM: INTEGER; (*ERROR STUFF IN EDIT*) ( SLOWTERM,STUPID: BOOLEAN; EGER; (*REASON FOR EXECERROR CALL*) ( SYSUNIT: UNITNUM; (*PHYSICAL UNIT OF BOOTLOAD*) ( BUGSTATE: I (*STUDENT PROGRAMMER ID!!*) ( ALTMODE: CHAR; (*WASHOUT CHAR FOR COMPILER*) ( GOTSYM,GOTCODE: NTEGER; (*DEBUGGER INFO*) ( GDIRP: DIRP; (*GLOBAL DIR POINTER,SEE VOLSEARCH*) BOOLEAN; (*TITLES ARE MEANINGFUL*) ( WORKVID,SYMVID,CODEVID: VID; (*PERM&CUR WORKFILE VOLUMES*) ( WORK( LASTMP,STKBASE,BOMBP: MSCWP; ( MEMTOP,SEG,JTAB: INTEGER; ( BOMBIPC: INTEGER; (*WHERE XEQER7 ETX,PREFIX: CHAR; PREFIXED: PACKED ARRAY [0..13] OF BOOLEAN ( END; ( ( END (*UNITABLE*) ; FILENAME : FILE_TABLE; $ (*------------------------------------------------------------------- SEGTABLE: ARRAY [SEGRANGE] OF ( RECORD ( CODEUNIT: UNITNUM; ( ------*) (* SYSTEM PROCEDURE FORWARD DECLARATIONS *) (* THESE ARE ADDRESSED BY OBJECT CODE... *) (* DO NOT MOVE WITHOUT CAREFUL CODEDESC: SEGDESC ( END ( END (*SYSCOM*); MISCINFOREC = RECORD ( MSY THOUGHT *) PROCEDURE EXECERROR; FORWARD; PROCEDURE FINIT(VAR F: FIB; WINDOW: WINDOWP; RECWORDS: INTEGER); FORWARD; PROCEDSCOM: SYSCOMREC ( END; VAR SYSCOM: ^SYSCOMREC; (*MAGIC PARAM...SET UP IN BOOT*) GFILES: ARRAURE FRESET(VAR F: FIB); FORWARD; PROCEDURE FOPEN(VAR F: FIB; VAR FTITLE: STRING; ( FOPENOLD: BOOLEAN; JUNK: FIBP); FY [0..5] OF FIBP; (*GLOBAL FILES, 0=INPUT, 1=OUTPUT*) ORWARD; PROCEDURE FCLOSE(VAR F: FIB; FTYPE: CLOSETYPE); FORWARD; PROCEDURE FGET(VAR F: FIB); FORWARD; PROCEDURE FPUT(VAR F:  USERINFO: INFOREC; (*WORK STUFF FOR COMPILER ETC*) EMPTYHEAP: ^INTEGER; (*HEAP MARK FOR FIB); FORWARD; PROCEDURE XSEEK; FORWARD; FUNCTION FEOF(VAR F: FIB): BOOLEAN; FORWARD; FUNCTION FEOLN(VAR F: FIB): BOOLEAN;ASXYCRT,HASLCCRT,HAS8510A,HASCLOCK: BOOLEAN; ( USERKIND:(NORMAL, AQUIZ, BOOKER, PQUIZ); ( MEM MANAGING*) INPUTFIB,OUTPUTFIB, (*CONSOLE FILES...GFILES ARE COPIES*) SYSTERM,SWAPFIB: FIBP;  IS_FLIPT : BOOLEAN =END; ( CRTTYPE: INTEGER; ( CRTCTRL: PACKED RECORD ( RLF (*CONTROL AND SWAPSPACE FILES*) SYVID,DKVID: VID; (*SYSUNIT VOLID & DEFAULT VOLID*) THEDATE: DATE,NDFS,ERASEEOL,ERASEEOS,HOME,ESCAPE: CHAR; ( BACKSPACE: CHAR; ( FILLCOUNT: 0..255; REC; (*TODAY...SET IN FILER OR SIGN ON*) DEBUGINFO: ^INTEGER; (*DEBUGGERS GLOBAL INFO WHILE CLEARSCREEN, CLEARLINE: CHAR;  RUNIN*) STATE: CMDSTATE; (*FOR GETCOMMAND*) PL: STRING; (*PROMPTLINE STRING. PREFIXED: PACKED ARRAY [0..8] OF BOOLEAN ( END; ( CRTINFO: PACKED R..SEE PROMPT*) IPOT: ARRAY [0..4] OF INTEGER; (*INTEGER POWERS OF TEN*) FILLER: STRING[FILL_LEN]; (*NULLSECORD ( WIDTH,HEIGHT: INTEGER; ( RIGHT,LEFT,DOWN,UP: CHAR; ( B FOR CARRIAGE DELAY*) DIGITS: SET OF '0'..'9'; UNITABLE: ARRAY [UNITNUM] OF (*0 NOT USED*) ( RECORD ( ADCH,CHARDEL,STOP,BREAK,FLUSH,EOF: CHAR; ( ALTMODE,LINEDEL: CHAR; BACKSPACE,UVID: VID; (*VOLUME ID FOR UNIT*) ( CASE UISBLKD: BOOLEAN OF ( TRUE: (UEOVBLK: INTEGER) 8 ES(VAR F: FIB; VAR A: WINDOW; RLENG,ALENG: INTEGER); FORWARD; PROCEDURE FREADLN(VAR F: FIB); FORWARD; PROCEDURE FWRITELN(VAR F: FIB); FORWARD; PROCEDURE SCONCAT(VAR DEST,SRC: STRING; DESTLENG: INTEGER); FORWARD; PROCEDURE SINSERT(VAR SRC,DEST: STRIO^NG; DESTLENG,INSINX: INTEGER); FORWARD; PROCEDURE SCOPY(VAR SRC,DEST: STRING; SRCINX,COPYLENG: INTEGER); FORWARD; PROCEDURE SDELETE(VAR DEST: STRING; DELINX,DELLENG: INTEGER); FORWARD; FUNCTION SPOS(VAR TARGET,SRC: STRING): INTEGER; FORWARD; FUNCTION FBLOCKIO(VAR F: FIB; VAR A: WINDOW; I: INTEGER; ( NBLOCKS,RBLOCK: INTEGER; DOREAD: BOOLEAN): INTEGER; FORWARD; PROCEDURE FGOTOXY(X,Y: INTEGER); FORWARD; (* NON FIXED FORWARD DECLARATIONS *) FUNCTION VOLSEARCH(VAR FVID: VID; LOOKHARD: BOOLEAN; ( VAR FDIR: DIRP): UNITNUM; FORWARD; PROCEDURE WRITEDIR(FUNIT: UNITNUM; FDIR: DIRP); FORWARD; FUNCTION DIRSEARCH(VAR FTID: TID; FINDPERM: BOOLEAN; FDIR: DIRP): DIRRANGE; FORWARD; FUNCTION SCANTITLE(FTITLE: STRING; VAR FVID: VID; VAR FTID: TID; ( VAR FSEGS: INTEGER; VAR FKIND: FILEKIND): BOOLEAN; FORW FORWARD; PROCEDURE FREADINT(VAR F: FIB; VAR I: INTEGER); FORWARD; PROCEDURE FWRITEINT(VAR F: FIB; I,RLENG: INTEGER); FORWARD;  PROCEDURE DELENTRY(FINX: DIRRANGE; FDIR: DIRP); FORWARD; PROCEDURE INSENTRY(VAR FENTRY: DIRENTRY; FINX: DIRRANGE; FDIR:ARD; PROCEDURE XREADREAL; FORWARD; PROCEDURE XWRITEREAL; FORWARD; PROCEDURE FREADCHAR(VAR F: FIB; VAR CH: CHAR);  DIRP); FORWARD; PROCEDURE HOMECURSOR; FORWARD; PROCEDURE CLEARSCREEN; FORWARD; PROCEDURE CLEARLINE; FORWARD; PROCEDURE  FORWARD; PROCEDURE FWRITECHAR(VAR F: FIB; CH: CHAR; RLENG: INTEGER); FORWARD; PROCEDURE FREADSTRING(VAR F: FIB; VAR S: STRINPROMPT; FORWARD; FUNCTION SPACEWAIT(FLUSH: BOOLEAN): BOOLEAN; FORWARD; FUNCTION GETCHAR(FLUSH: BOOLEAN): CHAR; FORWARD; FUG; SLENG: INTEGER); FORWARD; PROCEDURE FWRITESTRING(VAR F: FIB; VAR S: STRING; RLENG: INTEGER); FORWARD; PROCEDURE FWRITEBYTNCTION FETCHDIR(FUNIT:UNITNUM) : BOOLEAN; "FORWARD; PROCEDURE COMMAND; FORWARD;  9 ----*)   SEPARATE UNIT PASCALIO;  {Version II.0.A}  INTERFACE $ "TYPE DECMAX = INTEGER[36]; STUNT = RECORD CASE IN := TRUE; 2UNITWRITE(FUNIT,FBUFFER,FBLKSIZE,DFIRSTBLK+FNXTBLK-1); 2IF IORESULT <> ORD(INOERROR) THEN GOTO 1 0END; .IF (BLOCKTEGER OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGER[12]); 15:(W5:INTEGER[16]); 16:(W6:INTEGER[20]); 17:(W7:INT <= FMAXBLK) AND (BYTE <> FBLKSIZE) THEN 0BEGIN 2UNITREAD(FUNIT,FBUFFER,FBLKSIZE,DFIRSTBLK+BLOCK-1); EGER[24]); 18:(W8:INTEGER[28]); 19:(W9:INTEGER[32]); 110:(W10:INTEGER[36]) /END; ' " "PROCEDURE FSEEK(VAR F: FIB; RECNUM:2IF IORESULT <> ORD(INOERROR) THEN GOTO 1 0END ,END; *IF FNXTBLK > FMAXBLK THEN ,BEGIN FMAXBLK := FNXTBLK; FMAXBYTE := FNXT INTEGER); PROCEDURE FREADREAL(VAR F: FIB; VAR X: REAL); "PROCEDURE FWRITEREAL(VAR F: FIB; X: REAL; W, D: INTEGER); "PROCEDUBYTE END *ELSE ,IF (FNXTBLK = FMAXBLK) AND (FNXTBYTE > FMAXBYTE) THEN .FMAXBYTE := FNXTBYTE; *FEOF := FALSE; FEOLN := FALSE;RE FREADDEC(VAR F: FIB; VAR D: STUNT; L: INTEGER); "PROCEDURE FWRITEDEC(VAR F: FIB; D: DECMAX; RLENG: INTEGER); "  IMPLEMENTA FREPTCNT := 0; *IF FSTATE <> FJANDW THEN FSTATE := FNEEDCHAR; *FNXTBLK := BLOCK; FNXTBYTE := BYTE (END $ELSE SYSCOM^.IORSLTTION $ "PROCEDURE FSEEK(*VAR F: FIB; RECNUM: INTEGER*); $LABEL 1; $VAR BYTE,BLOCK,N: INTEGER; "BEGIN SYSCOM^.IORSLT := INOE := INOTOPEN; "1: "END (*FSEEK*) ; "PROCEDURE FREADREAL(*VAR F: FIB; VAR X: REAL*); $LABEL 1; $VAR CH: CHAR; NODEC,NEG,XVARROR; $IF F.FISOPEN THEN &WITH F,FHEADER DO (BEGIN *IF (RECNUM < 0) OR NOT FSOFTBUF OR LID: BOOLEAN; IPOT,ICNT: INTEGER; "BEGIN $WITH F DO (BEGIN X := 0; NEG := FALSE; XVALID := FALSE; ,IPOT := 0; NODEC:=TRUE; 2((DFKIND = TEXTFILE) AND (FRECSIZE = 1)) THEN ,GOTO 1; (*NO SEEK ALLOWED*) *BLOCK :=RECNUM*(FRECSIZE DIV 512) 1+(RECNUM DIV*IF FSTATE = FNEEDCHAR THEN FGET(F); *WHILE (FWINDOW^[0] = ' ') AND NOT FEOF DO FGET(F); *IF FEOF THEN GOTO 1; *CH := FWINDOW 512)*(FRECSIZE MOD 512) 1+( (RECNUM MOD 512)*((FRECSIZE MOD 512) DIV 64) 3+((RECNUM MOD 512)*(FRECSIZE MOD 64)) DIV 64 2) DI^[0]; *IF (CH = '+') OR (CH = '-') THEN ,BEGIN NEG := CH = '-'; FGET(F); CH := FWINDOW^[0] END; *WHILE (CH IN DIGITS) AND NOTV 8 2+ 1; 2{RECNUM*FRECSIZE DIV FBLKSIZE + 1;} *BYTE := ( (RECNUM MOD 512)*(FRECSIZE MOD 32) 3+( (RECNUM MOD 16)*32*((FRECSI FEOF DO ,BEGIN XVALID := TRUE; .X := X*10 + (ORD(CH)-ORD('0')); .FGET(F); CH := FWINDOW^[0] ,END; *IF FEOF THEN GOTO 1; ZE MOD 512) DIV 32) ) 2) MOD 512; 1{BYTE := RECNUM*FRECSIZE MOD FBLKSIZE;} *IF BYTE = 0 THEN ,BEGIN .BYTE := FBLKSIZE; *IF CH = '.' THEN ,BEGIN NODEC:=FALSE; .REPEAT FGET(F); CH := FWINDOW^[0]; 0IF CH IN DIGITS THEN 2BEGIN XVALID := TRUE; IPO .BLOCK := BLOCK - 1; .END; *N := DLASTBLK-DFIRSTBLK; *IF (BLOCK > N) OR ((BLOCK = N) AND (BYTE >= DLASTBYTE)) THEN ,BEGINT := IPOT - 1; 4X := X*10 + (ORD(CH)-ORD('0')) 2END .UNTIL FEOF OR NOT (CH IN DIGITS); .IF FEOF THEN GOTO 1 ,END; *IF ((CH (*$L #5:PASCALIO.TEXT*)  (*$U-*)  (*$S+*)  (*$I GLOBALS.TEXT*)  (*------------------------------------------------------ BLOCK := N; BYTE := DLASTBYTE END; *IF BLOCK <> FNXTBLK THEN ,BEGIN .IF FBUFCHNGD THEN 0BEGIN FBUFCHNGD := FALSE; FMODIFIED: ly 0.0 *) " "(* If we just blew normalized stuff then fix it up *) "IF NORMX >= PWROFTEN(1) THEN $BEGIN EXPX := EXPX+1; NO: INTEGER*); $LABEL 1; $VAR CH: CHAR; (NEG,DVALID: BOOLEAN; DIG,I: INTEGER; "BEGIN $WITH F DO (BEGIN *WITH D DO ,CASE LRMX := NORMX/PWROFTEN(1) END; $ "(* Put the digits into a string *) "FOR J := 3 TO 8 DO $BEGIN &TRUNCX := TRUNC(NORMX); &S OF .2: W2 := 0; 3: W3 := 0; 4: W4 := 0; .5: W5 := 0; 6: W6 := 0; 7: W7 := 0; .8: W8 := 0; 9: W9 : = 'e') OR (CH = 'E')) AND (XVALID OR NODEC) THEN ,BEGIN .IF FSTATE = FJANDW THEN FGET(F) .ELSE FSTATE := FNEEDCHAR; .FREADI[J] := CHR(TRUNCX+ORD('0')); &NORMX := (NORMX-TRUNCX)*PWROFTEN(1) $END; " "(* Put number into proper form *) NT(F,ICNT); .IF FEOF THEN GOTO 1; .IPOT:=ICNT+IPOT; .IF NOT XVALID THEN X := 1; XVALID := TRUE; ,END; *IF XVALID THEN ,IF "IF (D=0) OR (EXPX >= 6) THEN (* scientific notation *) $BEGIN &S[2] := S[3]; &S[3] := '.'; &J := 8; &IF EXPX <> 0 THEN NEG THEN X := -X ,ELSE *ELSE SYSCOM^.IORSLT := IBADFORMAT (END; "1: IF IPOT < 0 THEN X := X/PWROFTEN(ABS(IPOT)) 'ELSE X :(BEGIN *J := 10; *S[9] := 'E'; *IF EXPX < 0 THEN ,BEGIN J := 11; S[10] := '-'; EXPX := -EXPX END; *IF EXPX > 9 THEN ,BE= X*PWROFTEN(IPOT); "END (*FREADREAL*) ; " "PROCEDURE FWRITEREAL(*X:REAL; W, D: INTEGER*); "VAR J, TRUNCX, EXPX: INTEGER; GIN .S[J] := CHR(EXPX DIV 10 + ORD('0')); .J := J+1; ,END; *S[J] := CHR(EXPX MOD 10 + ORD('0')) (END; &S[0] := CHR(J); $E&NORMX: REAL; S: STRING[30]; " "BEGIN "(* Check W and D for validity *) "IF (W < 0) OR (D < 0) THEN BEGIN W := 0; D := 0 ND "ELSE (* some kind of fixed point notation *) $IF EXPX >= 0 THEN &BEGIN (MOVELEFT(S[3], S[2], EXPX+1); (S[3+EXPX] := '.END; " "(* Take abs(x), normalize it and calculate exponent *) "IF X < 0 THEN BEGIN X := -X; S[1] := '-' END '; (FILLCHAR(S[9], D-(5-EXPX), ' '); (* blank fill at end if precision *) (S[0] := CHR(3+D+EXPX); (* was over-specif+ELSE S[1] := ' '; "EXPX := 0; NORMX := X; "IF X >= PWROFTEN(0) THEN (* divide down to size *) $WHILE NORMX >= PWROFTEN(1ied *) &END $ELSE &BEGIN (MOVERIGHT(S[3], S[3-EXPX], 6); (* make room for leading zeroes *) (S[2] := '0'; (S[3] := '.'; ) DO &BEGIN EXPX := EXPX+1; NORMX := X/PWROFTEN(EXPX) END "ELSE $IF X <> 0 THEN (* multiply up to size *) &REPEAT (EXPX :(FILLCHAR(S[4], -EXPX-1, '0'); (* put in leading zeroes *) (FILLCHAR(S[9-EXPX], D-6+EXPX, ' ');(* put in blanks for over-preci= EXPX-1; NORMX := X*PWROFTEN(-EXPX) &UNTIL NORMX >= PWROFTEN(0); " "(* Round number according to some very tricky rules *) sion*) (S[0] := CHR(3+D); &END; "IF W < LENGTH(S) THEN W := LENGTH(S); "FWRITESTRING( F, S, W ); "IF (D=0) OR (D+EXPX+1 > 6) THEN (* scientific notation, or decimal places *) $NORMX := NORMX + 5/PWROFTEN(6) (* overs"END; (*procedure write_real *) " "PROCEDURE FWRITEDEC(*VAR F: FIB; D: DECMAX; RLENG: INTEGER*); "VAR S: STRING[38]; I: INTpecified *) "ELSE IF D+EXPX+1 >= 0 THEN $NORMX := NORMX + 5/PWROFTEN(D+EXPX+1); "(* if D+EXPX+1 < 0, then number is effectiveEGER; "BEGIN $STR(D,S); $FWRITESTRING(F,S,RLENG) "END (*FWRITEDEC*) ; " " "PROCEDURE FREADDEC(*VAR F:FIB; VAR D: STUNT; L; w U@w@ > 6 & p f7 ` N H~w : ?2  "U@ $ wE7 w  "&\htx   $ ( 2 6   F X l   0 FR R R R R R $ 6 L p >  (.> FH  ,JN $*06<BHNTZ`flrx~```2a2X r  !` $ B h Z t  @ @= 0; 10: W10 := 0 ,END; *NEG := FALSE; DVALID := FALSE; *IF FSTATE = FNEEDCHAR THEN FGET(F); *WHILE (FWINDOW^[0] = ' ') COPYRIGHT (C) 1978, REGENTS OF UNIV OF CALIF,SD AND NOT FEOF DO FGET(F); *IF FEOF THEN GOTO 1; *CH := FWINDOW^[0]; *IF (CH = '+') OR (CH = '-') THEN ,BEGIN NEG := CH = '-' H_?; FGET(F); CH := FWINDOW^[0] END; *WHILE (CH IN DIGITS) AND NOT FEOF DO ,BEGIN DVALID := TRUE; .DIG:=ORD(CH)-ORD('0'); .IF N _ 6_ 8/efAA"EG THEN DIG:=-DIG; .WITH D DO 0CASE L OF 22:W2:=10*W2+DIG; 23:W3:=10*W3+DIG; 24:W4:=10*W4+DIG; 25:W5:=10*W5+DIG; w7&  G 7w pr26:W6:=10*W6+DIG; 27:W7:=10*W7+DIG; 28:W8:=10*W8+DIG; 29:W9:=10*W9+DIG; 210:W10:=10*W10+DIG; 0END; .FGET(F); CH := FWINDO&E7 5@up7w j7w 7 Nbw \-@T aW^[0] ,END; *IF NOT (DVALID OR FEOF) THEN SYSCOM^.IORSLT := IBADFORMAT (END; "1: "END(*FREADDEC*) ;  END { PASCALIO } ; zE z3F E@ nh f9XF?X E@F F-B278?2 .~7E@U@   (*Dummy level 0 outerblock*)  BEGIN END.   E7 w0 wU &    *7 7 7  7 E7  7 E7 tv wU W 87 H7 F BZ E@ &?  < w`& B~z& & E N\Et& B~ & > vUB~     I?f& 7  AFeA  Ձ@  a a!~F@  B~ ~E `E `EՀW WFlxT   mhAɋF!p &.JffD e w,5 w&De D `E e `&& `& `E e `&EՀ~  7 CB@B C& Ο @ e E`E``B~A EwwD  ҂ ~ E e ` E   @ ` Gz7<z   7NH w   '((@`@`( (+m ]   P~P~7 6W w{ N B  6 E E7N eeNPP  W  ~~eee``!~ e C~C~ %~& EET Bd`n * %  D~ " ~ E D~ D C~ %  D~ C~C~cheί^Z%@ eAp6% "1,   ~& AA~E e @`& E&~AA~E e @`&AA~E1,1,^  % ^A %^A&Daef ¥_09E AZ e @`  `` t @L A@@A tBt J@ P ``f~   C  f ee@ $ $ $ $ @A eeee >ef ~f{fxfufrfoflfifffcf `f"]f$Zf&Wf(Tf*Q NKHEB ``A~ c ҇e  ``&& `  E e @a&&6?<963 0"-$*&'($*!eeee e  e eE e @a&E e @a \@@`@`$fH& ,   EezN EE7- @$@$@$@" EB~ H&z%%@7 `e B~  B~ _7@`  7 dX\7 dX``WtB  aBE B<  wN EC~ B~ dd&`f&d&b&  m e, ɋ e  rfwBC % eU f &z  eN 8@ 6NE LU@t7`.~BE B @Wt 7dz\ Aɋ BJ@ Bm8~@ Bm*~@ Bm~ = IF IMPLEMEN4IN )INTERFAC3LABEL MOD 'NOT &OF OR (PACKED +PROCEDURv  6N\ N A f C %C B    \ w   \&@&PROGRAM !RECORD -REPEAT SET *SEGMENT !SEPARATE6THEN TO TYPE UNIT 2UNTI  & Dr)&&\   5@5@ Z!6!!!!6!!6!!6!!L USES 1VAR WHILE WITH 7 X& @  z7 X7 7 7 7 6!d!6!!f&\  \& \\r1@\[?\ e  ?U?*@ڪ~7 7 7  \ vw J r'(((@ BCzEG@HA& & & & & D&&D&& @% !D  IA e e@ e& PtJ$LM nO(kQRChTV焵W!cY_[\^^k `#ǭaxXc'exfhShjQYkoNmo9?pIrs|ouEw7x߄z @|Η}& & & & D&&e #@  @6  !6 6 #?%-0 @ ½  & && &7 <b7 <b7 <b7 t&<nb7 \&<z׳f&& @׳@f& !Z!lZ!!4f&f& !v!6!!6!!6!!6!!6!6!6!!h   \b6 \ = "  \m\  W  m e,5`\_e w5 5@f& \ e\>:L]L?ƪ@D e C_  fW & @&&&& !*d !Z!0!6!! \ɋE 5\\\wvr@p@8D:ND6!6!!6!!le\\;@\ \N @   =@f&ysE[\pCf&f&\% a Lbjrz$ wU &f&f7 (U   8ɝ@  D& &&@ 6!D& && 6  A ! Z!$  . Z!4   !\ !6!!6!!6!!6!!^& _E7 ~()˵'ӵU$ aC  `  7Bw|7 @  e\ \S\ e& @ 6!L e\ f& \:יc&* iU? ~zw ^x O 5 7  h5@ 7RB z @>X4%]@fEA   e@ & f& f& f !6! ff D C J !$'(****AND 'ARRAY ,BEGIN CASE CONST DIV % eC % C ``` e5 ̋̋ 2@RU@>`F 27 , 'DO DOWNTO ELSE END EXTERNAL5FOR FILE .FORWARD "FUNCTION GOTO 55h @wp75   #̋ 7̋4 6 6 &  f 6A  > M < 0) OR NOT FSOFTBUF OR $ "TYPE DECMAX = INTEGER[36]; STUNT = RECORD CASE INTEGE+-Í-۲z0ݡߑ ع   %  v v f&\& &e*z\ffz\& &ne*z\ffz\ff& &R OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGER[12]); 15:(W5:INTEGER[16]); 16:(W6:INTEGER[20]); 17:(W7:INTEGER<e*z\ff& &e*z\\\ݢݣޢÄ@@@   d PASCALSYPASCALIO á ޣ Ąޣ ݣ ˡRݣ &ݢ ݢݢ!ݣ "ˡݣ ˄ݢ!ۂ "ˡ\ݣ ݣ šݢ ݣ ݢݣݣ ݣ ݣݣńݢݣݢݢݢˡݢݢ ۚݢܚ   p á +-Í-ڲzؼ 0.áAڲzؼ 0ڲzQeEÍݍ.á '߂ۓۡܡ  $ "TYPE DECMAX = INTEGER[36]; STUNT = RECORD CASE INTEGER OF 12:(W2:INTEGER[4]); 13:(W3:INTEGER[8]); 14:(W4:INTEGERؼɡ ؼ߀$ ؼߞ$"Hɍ -   $[12]); 15:(W5:INTEGER[16]); 16:(W6:INTEGER[20]); 17:(W7:INTEGER[24]); 18:(W8:INTEGER[28]); 19:(W9:INTEGER[32]); 110:(W10:I $ ݞ$' ݑ$ $݂ō $݂ġ ݂$NTEGER[36]) /END; ' " "PROCEDURE FSEEK(VAR F: FIB; RECNUM: INTEGER); PROCEDURE FREADREAL(VAR F: FIB; VAR X: REAL); "PROCE $ $ȡ%  0 ފ$čQ   .ˡ5  Eɡ DURE FWRITEREAL(VAR F: FIB; X: REAL; W, D: INTEGER); "PROCEDURE FREADDEC(VAR F: FIB; VAR D: STUNT; L: INTEGER); "PROCEDURE FWR -ݑ š 0 0 ߿`ġ(   ݂. ݕ ؂݂3  ݕ 0 . ݑ0 ݕITEDEC(VAR F: FIB; D: DECMAX; RLENG: INTEGER); "  IMPLEMENTATION $ "PROCEDURE FSEEK(*VAR F: FIB; RECNUM: INTEGER*); $LABEL ݂ ؂ ɡ   x,  & * عuu1; $VAR BYTE,BLOCK,N: INTEGER; "BEGIN SYSCOM^.IORSLT := INOERROR; $IF F.FISOPEN THEN &WITH F,FHEADER DO (BEGIN *IF (RECNUh[NA4 '  }rg\QF;0%á ? FWRITERE FWRITEDE  FWRITEDE  DECOPS @  $-1:>GK UNTIL רx VAR רx WHILE רx WITH ר,/36:GJNQUbeilp}  }rg\QF;0%á xp   INPUT FILE NAME - +-Í-۲z0ݡߑ ع  Pš C"ٓ4*** INPUT OPEN ERROR # ١צ XREF.LISTING XREF šWAS צ GENERATED AS ALISTING FILE BY THE     k  P  5  O ~eL3N <<Df\A4 '  }rg\QF;0%á +-Í-۲z0ݡߑ ع  ȡ% רx AND רx ARRAY רx PASCALIOFSEEK FSEEK FREADREA FREADREA FREADDEC FREADDEC FWRITERE BEGIN רx CASE רx CONST רx DIV רx DOWNTO רxFWRITERE FWRITEDE  FWRITEDE  DECOPS @  $-1:>GK DO רx  ELSE רx  END רx  FOR רx  FUNCTION רx ,/36:GJNQUbeilp}  }rg\QF;0%á  IF רx IN רx MOD רx NIL רx NOT רx+-Í-۲z0ݡߑ ع   OF רx OR רx PROCEDURE רx PROGRAM רx RECORD רxA IM^'۬2^=5[M9<=+By2)Y$[71(>y@?[F4 G$3t&RJV+DDEC FWRITERE  REPEAT רx SET רx THEN רx TO רx TYPE רx@ ȡ    ( > ب   z á< |T &C * &ƘƙBƙCƚoՂC 쥚') ' l p #{!#%'579;=?ACEG02468:<cegikmoqs 'Iނġuwy{}rtvx|   * **** TABLE FULLᩘNf     ڶ á á  `d!^%  CODESTAT > ب   á צ    á? h ˡ INIT DISASSEMGATHER DATACOUN ˡ5  ˡF   ɡ(azȄ !U.C.S.D. PASCAL COMPILER? (Y/N)? YëצLISTING OF INPUT FILE (Y/N)?aA  쥚 H d쥚  'éC  *NÓZ   0 7áá2)˩C *˩C  3" F*á2/˩C *˩C ,^.tp #{!#%'579;=?ACEG02468:<cegikmoqs C 9'ɡ.צ **** TOO MANY LINESC' á   uwy{}rtvx|   ڨ   x  x  šx O bڨ  IDENTIFIERS  OCCURRENCESCƘƙCv~~`52~,A orry but there were no accesses/צ3 to this data segment from dis-assembled procedures/! Z ۂ(ڂ(() Ʉl(á= Jɡ %%  %% ع// / / //-s/b/> š  +ɡF \+d\+d++1Q/*@/// teVK<-/ع٢  |š"ǀ>٢ ٢  ٢8 w٢ j٢ ٢ U٢ ٢ ٢! 8٢R +٢  Jɡá*//áǀɡK##e\I2'u",ƁX0 ,צ OPCODES.II.0"ˡ4 *OPCODES.II.0 not on system disk@/44/ / /\//44šɡE"" ,0̅ʅȡR,0š,0,0ٻ, -/ / /\/ɡD!!-/ / /\/6 UCSD P-CODE DISASSEMBLER צ II.0 [a.6]Input code file: Pl -/ / /\/"/ /\/ /6:  ̅ƅPƅ.CODEUƅ"ˡ llá̅ʅȡRˡ!  áءGd //4Ǘ.   צ(Is this code file designed for a machine 4ǭÍǡǹǀɡ@ 0/ / /\/צ9where byte zero is the most significant byte ?YyÍ צ*Dis-assembly output f`?c :/?c / /\/Ǯ(ȡ.press spacebar to continue...ile ( for none): PP׷צCONSOLE:#1:ׯ /'#"!  áhƂlƃƁ/Ƃ[Յ    ׷ /ƂlƁ/ؒX^+\ רd0123456789ABCDEFר ,7d  ˡ!צCONSOLE:#1:ׯ//P/š///צ sǗ.   צ(Is this code file designed for a machine B ١(ǖǖ)/ / /\/ / ڢڢ٢٢ Í/צREAL/ /\//STR   /$ǥǧǫ/44 ۢ/ /\//צBOOL/ /\//POWR/ /\/ۢڡخ١خ)/ / /\/ //4/צBYTE/ / /\/X/WORD/ / /\/ A4 /  ڢڢ ڢ ڢ ؕٮ)/  V# //44/ /צ '/ /\/ //44á ۢ ڢڢ!ȡ/ȡ /'//*M /ۢÄÄÄńɄWۢۢ8/8؂44/ /\/44)/ / /\/ ۢۢ/aڡ(ǖǖ3/ / / /\/ ۢ ۢ ȡT+\ )/) / /\/\ $ %%f//44)/ / /\/ ٢$$?$cؕ?$cũ$cÍ?c$%ɡ% ٢//44  ۢۢ% $?c$ȡ!?$c?$c$$) 4ǖá+Procedure not in file ۢۢڕ ۢ!ۢ!ǀɡ ?c=&4ǖ ɡ!&4ǖ  š  % á/ / / / /\/ڕȡ`+\ ؕ)/áN Procedure   is written in Assembly./ /BLOCK #) / /\/h //448/V/( / OFFSET IN BLOCK=/ //צSEGMENT PROC OFFSET#/ #/צ44/ /\/آ(آ( //44HEX CODE/8*[ ] .x/ / / C 4ǖȡ%צ # LL SIZE4ǖȡHˡAQqÍÍ&4QqÍi 7have you changed your mind about data segment watching? :  4ǖȡ" YyÍéQȡFˡ dצ"Procedure guide: #(of procedure),&צL(isting),Q(uit)*צA(ll),L(isting),Q(uit)T  1 Do you wish to keep track of referencesצ2 to a par/(/d/d/d/צ): 0.2áצ to segment: ȡ ?قצwhich procedure $ +\ ר'', EA= 951 - )%! צdata segment to watch?צto dis-assemble?LlÍAaÍdis-assembling all3)/-?=KZ4ǖ́3ʁ3ȡƀǖ4ǖ́3ʁ3ȡ4ǖ צ proceduresꓡ2( )4ǖ́4ʁ4ȡ&ǖġǖǖǖǖƀǖƀǖƀQ09Ȅ009Ȅ 04ǖōG$I didn't say you had THAT procedure!4ǖ́3ʁ3ȡ;ǖ2Ä G4ǖ́3ʁ3Mצdis-assembling procedure  d.2Äצ 7KD'zh5)ȡ  4ǖȡcQqÍÍX6cXrצ$Segme&1)&)(& š & & 4ǖ 4ǖnt guide: #(of segment),Q(uit)צyou have these segments:ȡV  4ǖġ4ǖ) ٥۩cĄá<c۩c ȡ ?؂which segment to look at š۩á ؤؤ?ń4šکá ؤؤ6y  *(צto decide on DATA SEGMENT?&צfor possible DIS-ASSEMBLY?Qq˄09Ȅ00؂(؂l 24ǖ9Ȅ 0ōL"I didn't say you had THAT segment! D  Parameter two ٦7Bits used Total Percentage Total Percentageצ. Para צSLDL OPCODE: 216..231 TOTAL:ة" ة"'dצ % ""ˡmeter one Parameter twoצ Case table sizeצ7Bits used Total Percentage Total ȡ :إ/ إ/"d :إ/ إ/ Percentage٦ Total Percentageצ*Flavor Total Percentage Flavorצ Total"d :إ/ إ/"d  :إ/  إ Percentage٦2 # Total Pct # Total Pct # Total٦ Pct # Total Pct/ "d "JئSLDO OPCODE: 232..247 TOTAL:ة! c3C~ //Jump statistics on the/ /צ Total jumps/ة!'dئ % !!ˡ ȡ :إ/ إ/!dš//צ5 Positive jumps Negative jumps//ȡw/ / :إ/ إ/!d :إ/ إ/ticular procedure's data segment?YyÍ צ&Do you wish control over dis-assembly? /d/ /d/3//Sorry no juYyÍ;*** WARNING - - STATISTICS ARE GATHERED ON DIS-ASSEMBLEDצ PROCEDURESmps today!/r6 z//Procedure call statistics/ȡˡǖ ONLY ***q /*** THIS INCLUDES DATA SEGMENT WATCHING ***ȡǖšz/ Segment:/ / Procedure:/ / Calls:/| ȡU(( )ǖ / 􊉇ȡ/*2ئSLDˡe` 2 P l l f JD* n  L !: ol over dis-assembly?C OPCODE: 0..127 TOTAL:ة# ة#'dئ % ##ˡ ȡ :YyÍ;*** WARNING - - STATISTICS ARE GATHERED ON DIS-ASSEMBLEDצ PROCEDURESإ/ إ/#d  :إ/  إ/ #d@ :عצ Parameter oneצ Bits used Total Percentageצ7 Parameter one إ/@ إ/@#d` :إ/` إ/`#dE  (\ // / / /'d/ % // \ Z/ / /'d/צ % ˡ////L / / /'d/צ % ˡ/////ȡI//ȡ/ /٢ /٢d/٢ /٢d/ /٢ /٢d// \ // /'٢! /٢!d//  4// /'dd/צ % /////ámȡ`/ /٢ //צ % ///áȡ/V؂44/٢( // /٢  //ȡw/ /٢ /٢d/ /j؂44/٢( ///~44,/٢((   /٢ d/á䥁//áȡ/8؂44/٢//ȡ/V؂44/٢( /٢(d/j؂44  // /8؂44/٢ ///٢( /٢(d//~44,/٢(( /٢((ȡ襁/8؂44/٢ /٢d/צ /8؂44d/RGP/ / /'d/צ % ////٢ /٢d/z / / ȡˡ]/3؂44/٢ /٢󊉇d/ N/3؂44!d  :إ/  إ/ !d צSIND OPCOD/'d/צ % ˡ/////ȡI/ /٢ /E: 248..255 TOTAL:ة  ة 'dצ %   ˡ ȡ :إ/d// \ / / /'d/צ %  إ/ d :إ/ إ/ d ://///ȡw/ /٢ /٢d/٢  / إ/ d :إ/ إ/ d  /٢ d/ȡI/ /٢ $ /٢ d/F Tš dš Xš Lš @š 4š (š / \FT>4fh.$ɡ=ˡ/آ;ˡ/آV   3Output file for opcode statistics ( for none): Pةؕؤ ؤšؤؤةġ= dצCONSOLE:ׯצ#1://Pǀ **ȡ//44ئData Segment size:ة צ Data references:ة ئ Lex levelإ۩c /צ Opcode:/ / Total: : 6 2 .*&" ("(" ,צ For segment ȡإ?قצ Procedure #ة ئO. 8 ////' / Total operators/ffset(word) Total %u8ˡ3/ / /d /ˡ' צ Total operators TT "ɍ -   $X  8Output file for data segment statistics( for none): P $ ݞ$' ݑ$ $݂ō $݂ġ ݂$׷צCONSOLE:#1:ׯ//P/š///צ s $ $ȡ%  0 ފ$čV   .ˡ:  Eɡ orry but there were no accesses/צ3 to this data segment from dis-assembled procedures/! Z  -ݑ š 0 0 ߿`ġ(   ݂. ݕ ؂݂3  ݕ 0 . ݑ0 pɍ -   $ $ ݞ$' ݑݕ݂ ؂ ɡ  |,  j  ,. o look at (צto deci$ $݂ō $݂ġ ݂$ $ $ȡ%  0de on DATA SEGMENT?&צfor possible DIS-ASSEMBLY?Qq˄09Ȅ009Ȅ 0 ފ$čV   .ˡ:  Eɡ  -ݑ š 0 0 ߿`ġ(  ōL"I didn't say you had THAT segment! ˡAQq ݂. ݕ ؂݂3  ݕ 0 . ݑ0 ݕ݂ ؂ ɡ  |, p/٢ // á// 6 ǀ ȡ/Í&4QqÍi 7have you changed your mind about data segment watching?G IXA LAO LSA LAE MOV LDO SAS SRO XJP RNP CIP EQU GEQ GTR LDA LDC TS AT BLOCK FOLLOWING*) 94 0 1:D 1 CASE DFKIND: FILEKIND OF 95 0 1:D 1 LEQ LES LOD NEQ STR UJP LDP STP LDM STM LDB STB IXP RBP CBP EQUI  SECUREDIR, 96 0 1:D 1 UNTYPEDFILE: (*ONLY IN DIR[0]...VOLUME INFO*) 97 0 1:D t  إ/#d  :إ/  إ/ #d@ :GEQI GTRI LLA LDCI LEQI LESI LDL NEQI STL CXP CLP CGP LPA STE BYT EFJ إ/@ إ/@#d` :إ/` إ/`#dNFJ BPT XIT NOP SLDL SLDL SLDL SLDL SLDL SLDL SLDL SLDL SLDL SLDL SLDL SLDL  צSLDL OPCODE: 216..231 TOTAL:ة" ة"'dצ % ""ˡSLDL SLDL SLDL SLDL SLDO SLDO SLDO SLDO SLDO SLDO SLDO SLDO SLDO SLDO SLDO SLDO  ȡ :إ/ إ/"d :إ/ إ/SLDO SLDO SLDO SLDO SIND SIND SIND SIND SIND SIND SIND SIND REAL STRING BOOLEAN POWER BYTE WORD EXEC-ERRINIT RESET OPEN CLOSE GET PUT SEEK EOF EOLN READINT WRITEINTREADREALWRITREALREADCHARWRITCHARREADSTR WRITESTRWRITBYTSREADLNN WRITELN CONCAT INSERT COPY DELETE POS BLOCKIO GOTOXY IOCHECK NEW MOVELEFTMOVERGHTEXIT UREAD UWRITE IDSEARCHTREESRCHTIME FILLCHARSCAN DRAWLINEDRAWBLOC     TRUNC ROUND SIN COS LOG ATAN LN EXP SQRT MARK RELEASE IORESULTUBUSY PWROFTENUWAIT UCLEAR HALT MEMAVAL SLDC ABI ABR ADI ADR LAND DIF DVI DVR CHK FLO FLT INN INT LOR MODI MPI MPR NGI NGR LNOT SRS SBI SBR SGS SQI SQR STO IXS UNI LDE CSP LDCN ADJ FJP INC IND H  DTID: TID; (*TITLE OF FILE*) 108 0 1:D 1 DLASTBYTE: 1..FBLKSIZE; (*NUM M; (*PHYSICAL UNIT #*) 131 0 1:D 1 FVID: VID; (*VOLUME NAME*) 132 0 1:D 1BYTES IN LAST BLOCK*)  FREPTCNT, (* # TIMES F^ VALID W/O GET*) 133 0 1:D 1 FNXTBLK,  109 0 1:D 1 DACCESS: DATEREC) (*LAST MODIFICATION DATE*) 110 0 1:D 1  (*NEXT REL BLOCK TO IO*) 134 0 1:D 1 FMAXBLK: INTEGER; (*MAX REL BLOCK ACCESSED*) 13 END (*DIRENTRY*) ; 111 0 1:D 1 112 0 1:D 1 DIRP = ^DIRECTORY; 113 0 1:D 1 5 0 1:D 1 FMODIFIED:BOOLEAN;(*PLEASE SET NEW DATE IN CLOSE*) 136 0 1:D 1  114 0 1:D 1 DIRECTORY = ARRAY [DIRRANGE] OF DIRENTRY; 115 0 1:D 1 116 0 1:D 1  FHEADER: DIRENTRY;(*COPY OF DISK DIR ENTRY*)  1 (FILLER1 : 0..2048; {for downward compatibility,13 bits} 98 0 1:D 1  (*FILE INFORMATION*) 117 0 1:D 1 118 0 1:D 1 CLOSETYPE = (CNORMAL, DVID: VID; (*NAME OF DISK VOLUME*) CLOCK,CPURGE,CCRUNCH); 119 0 1:D 1 WINDOWP = ^WINDOW; 120 0 1:D 1 WINDOW = PACKED ARRAY [0..0] 99 0 1:D 1 DEOVBLK: INTEGER; (*LASTBLK OF VOLUME*) 100 0 1:D 1  OF CHAR; 121 0 1:D 1 FIBP = ^FIB; 122 0 1:D 1 123 0 1:D 1 FIB = RECORD 124  DNUMFILES: DIRRANGE; (*NUM FILES IN DIR*) 101 0 1:D 1 DLOADTIME: INTEGER; 0 1:D 1 FWINDOW: WINDOWP; (*USER WINDOW...F^, USED BY GET-PUT*) 125 0 1:D 1 FEOF,F (*TIME OF LAST ACCESS*) 102 0 1:D 1 DLASTBOOT: DATEREC); (*MOST RECENT DATE SETTING*) EOLN: BOOLEAN;  103 0 1:D 1 XDSKFILE,CODEFILE,TEXTFILE,INFOFILE, 104 0 1:D 1 DAT 126 0 1:D 1 FSTATE: (FJANDW,FNEEDCHAR,FGOTCHAR); 127 0 1:D 1 FRECSIZE: INTEGERAFILE,GRAFFILE,FOTOFILE: 105 0 1:D 1 (FILLER2 : 0..1024; {for downward compatibility} 106 ; (*IN BYTES...0=>BLOCKFILE, 1=>CHARFILE*) 128 0 1:D 1 CASE FISOPEN: BOOLEAN OF 129 0 1:D 1 0 1:D 1 STATUS : BOOLEAN; {for FILER wildcards} 107 0 1:D 1  TRUE: (FISBLKD: BOOLEAN; (*FILE IS ON BLOCK DEVICE*) 130 0 1:D 1 FUNIT: UNITNUI FIBP: FIBP; (*WORKFILES FOR SCRATCH*) 147 0 1:D 1 ERRSYM,ERRBLK,ERRNUM: INTEGER; (*ERROR STU TRUE : (WORD : ARRAY [0..0] OF INTEGER); 169 0 1:D 1 FALSE : (BYTE : PACKED ARRAYFF IN EDIT*) 148 0 1:D 1 SLOWTERM,STUPID: BOOLEAN; (*STUDENT PROGRAMMER ID!!*) 149 0 1 [0..0] OF BYTERANGE) 170 0 1:D 1 END; 171 0 1:D 1 MSCWP = ^ MSCW; (:D 1 ALTMODE: CHAR; (*WASHOUT CHAR FOR COMPILER*) *MARK STACK RECORD POINTER*) 172 0 1:D 1 MSCW = RECORD 173 0 1:D 1 STATLINK: MSCWP;  150 0 1:D 1 GOTSYM,GOTCODE: BOOLEAN; (*TITLES ARE MEANINGFUL*) 151 0 1:D 1 (*POINTER TO PARENT MSCW*) 174 0 1:D 1 DYNLINK: MSCWP; (*POINTER TO CALLER'S MSCW*) 175 0 1: WORKVID,SYMVID,CODEVID: VID; (*PERM&CUR WORKFILE VOLUMES*) 152 0 1:D 1 WORKTID,SYMTID,D 1 MSSEG,MSJTAB: ^TRICKARRAY; 176 0 1:D 1 MSIPC: INTEGER; 177 0 1:D 1 CODETID: TID (*PERM&CUR WORKFILES TITLE*) 153 0 1:D 1 END (*INFOREC*) ; 154 0 1:D 1  LOCALDATA: TRICKARRAY  155 0 1:D 1 (*CODE SEGMENT LAYOUTS*) 156 0 1:D 1 157 0 1 178 0 1:D 1 END (*MSCW*) ; 179 0 1:D 1 180 0 1:D 1 :D 1 SEGRANGE = 0..MAXSEG; 158 0 1:D 1 SEGDESC = RECORD 159 0 1:D 1 DISKA (*SYSTEM COMMUNICATION AREA*) 181 0 1:D 1 (*SEE INTERPRETERS...N 137 0 1:D 1 CASE FSOFTBUF: BOOLEAN OF (*DISK GET-PUT STUFF*) 138 0 1:D 1 DDR: INTEGER; (*REL BLK IN CODE...ABS IN SYSCOM^*) 160 0 1:D 1 CODELENG: INTEGER (*# BYTES TRUE: (FNXTBYTE,FMAXBYTE: INTEGER; 139 0 1:D 1 FBUFCHNGD: BOOLEAN;  TO READ IN*) 161 0 1:D 1 END (*SEGDESC*) ; 162 0 1:D 1 163 0 1:D 1 140 0 1:D 1 FBUFFER: PACKED ARRAY [0..FBLKSIZE] OF CHAR)) 141 0 1:D 1  (*DEBUGGER STUFF*)  END (*FIB*) ; 142 0 1:D 1 143 0 1:D 1 (*USER WORKFILE STUF 164 0 1:D 1 165 0 1:D 1 BYTERANGE = 0..255; 166 0 1:D 1 TRICKARRAY = RECORD F*) 144 0 1:D 1 145 0 1:D 1 INFOREC = RECORD 146 0 1:D 1 SYMFIBP,CODE {Memory diddling for execerror} 167 0 1:D 1 CASE BOOLEAN OF 168 0 1:D 1 J  1:D 1 IORSLT: IORSLTWD; (*RESULT OF LAST IO CALL*) 186 0 1:D 1 XEQERRND; 204 0 1:D 1 CRTTYPE: INTEGER; 205 0 1:D 1 CRTCTRL: PACKED RECO: INTEGER; (*REASON FOR EXECERROR CALL*) 187 0 1:D 1 SYSUNIT: UNITNUM; (*PHYSICAL UNIT OF RD 206 0 1:D 1 RLF,NDFS,ERASEEOL,ERASEEOS,HOME,ESCAPE: CHAR; 207 0 1:D 1 BOOTLOAD*) 188 0 1:D 1 BUGSTATE: INTEGER; (*DEBUGGER INFO*) 189 0 1:D 1  BACKSPACE: CHAR; 208 0 1:D 1 FILLCOUNT: 0..255; 209  GDIRP: DIRP; (*GLOBAL DIR POINTER,SEE VOLSEARCH*) 0 1:D 1 CLEARSCREEN, CLEARLINE: CHAR; 210 0 1:D 1  190 0 1:D 1 LASTMP,STKBASE,BOMBP: MSCWP; 191 0 1:D 1 MEMTOP,SEG,JT PREFIXED: PACKED ARRAY [0..8] OF BOOLEAN 211 0 1:D 1 END; 212 0 1:D 1 AB: INTEGER; 192 0 1:D 1 BOMBIPC: INTEGER; (*WHERE XEQERR BLOWUP WAS*) 193 0 1:D 1 CRTINFO: PACKED RECORD 213 0 1:D 1 WIDTH,HEIGHT: INTEGER; 214 0  HLTLINE: INTEGER; (*MORE DEBUGGER STUFF*) 194 0 1:D 1 BRKPTS: ARRAY [0..3]1:D 1 RIGHT,LEFT,DOWN,UP: CHAR;  OF INTEGER; 195 0 1:D 1 RETRIES: INTEGER; (*DRIVERS PUT RETRY COUNTS*) 196 0 1:D  215 0 1:D 1 BADCH,CHARDEL,STOP,BREAK,FLUSH,EOF: CHAR; 216 0 1:D 1 1 EXPANSION: ARRAY [0..8] OF INTEGER; 197 0 1:D 1 HIGHTIME,LOWTIME: INTEGER;  ALTMODE,LINEDEL: CHAR; 217 0 1:D 1 BACKSPACE,ETX,PREFIX: CHAR;  198 0 1:D 1 MISCINFO: PACKED RECORD 199 0 1:D 1 NOBREAK 218 0 1:D 1 PREFIXED: PACKED ARRAY [0..13] OF BOOLEAN 219 0 1:D 1 ,STUPID,SLOWTERM, 200 0 1:D 1 HASXYCRT,HASLCCRT,HAS8510A,HASCLOCK: BOOLEAN; 201  END; 220 0 1:D 1 SEGTABLE: ARRAY [SEGRANGE] OF 221 0 1:D 1 OTE *) 182 0 1:D 1 (*THAT WE ASSUME BACKWARD *) 183 0 1:D 1 0 1:D 1 USERKIND:(NORMAL, AQUIZ, BOOKER, PQUIZ);  (*FIELD ALLOCATION IS DONE *) 184 0 1:D 1 SYSCOMREC = RECORD 185 0  202 0 1:D 1 IS_FLIPT : BOOLEAN 203 0 1:D 1 EK  241 0 1:D 69 STATE: CMDSTATE; (*FOR GETCOMMAND*) 242 0 1:D 70 PL: STRING; LD: BOOLEAN; JUNK: FIBP); 267 0 5:D 5 FORWARD; 268 0 6:D 1 PROCEDURE FCLOSE(VAR F: FIB; FTYPE: CLOSETY RECORD 222 0 1:D 1 CODEUNIT: UNITNUM; 223 0 1:D  (*PROMPTLINE STRING...SEE PROMPT*) 243 0 1:D 111 IPOT: ARRAY [0..4] OF INTEGER; (*INTEGER  1 CODEDESC: SEGDESC 224 0 1:D 1 END 225 0 1POWERS OF TEN*) 244 0 1:D 116 FILLER: STRING[FILL_LEN]; (*NULLS FOR CARRIAGE DELAY*) 245 0 1:D :D 1 END (*SYSCOM*); 226 0 1:D 1 227 0 1:D 1 MISCINFOREC = RECORD 228 0  122 DIGITS: SET OF '0'..'9'; 246 0 1:D 126 UNITABLE: ARRAY [UNITNUM] OF (*0 NOT USED*) 247 0 1:D 12 1:D 1 MSYSCOM: SYSCOMREC 6 RECORD 248 0 1:D 126 UVID: VID; (*VOLUME ID FOR UNIT*) 249 0 1:D 126  229 0 1:D 1 END; 230 0 1:D 1 231 0 1:D 1 VAR 232 0 1:D 1  CASE UISBLKD: BOOLEAN OF 250 0 1:D 126 TRUE: (UEOVBLK: INTEGER) 251 0 1: SYSCOM: ^SYSCOMREC; (*MAGIC PARAM...SET UP IN BOOT*) 233 0 1:D 2 GFILES: ARRAY [0..5] OF FIBP; D 126 END (*UNITABLE*) ; 252 0 1:D 204 FILENAME : FILE_TABLE; 253 0 1:D 264 25 (*GLOBAL FILES, 0=INPUT, 1=OUTPUT*) 234 0 1:D 8 USERINFO: INFOREC; (*WORK STUFF FOR COMPI4 0 1:D 264 (*-------------------------------------------------------------------------*) LER ETC*) 235 0 1:D 54 EMPTYHEAP: ^INTEGER; (*HEAP MARK FOR MEM MANAGING*) 236 0 1:D 55 255 0 1:D 264 (* SYSTEM PROCEDURE FORWARD DECLARATIONS *) 256 0 1:D 264 (* THESE ARE ADDRESSED BY OBJECT COD INPUTFIB,OUTPUTFIB, (*CONSOLE FILES...GFILES ARE COPIES*) 237 0 1:D 55 SYSTERM,SWAPFIB: FIBPE... *) 257 0 1:D 264 (* DO NOT MOVE WITHOUT CAREFUL THOUGHT *) 258 0 1:D 264 259 0 2:D 1 PRO; (*CONTROL AND SWAPSPACE FILES*) 238 0 1:D 59 SYVID,DKVID: VID; (*SYSUNIT VOLID &CEDURE EXECERROR; 260 0 2:D 1 FORWARD; 261 0 3:D 1 PROCEDURE FINIT(VAR F: FIB; WINDOW: WINDOWP; RECWOR DEFAULT VOLID*) 239 0 1:D 67 THEDATE: DATEREC; (*TODAY...SET IN FILER OR SIGN ON*) 240 0 DS: INTEGER); 262 0 3:D 4 FORWARD; 263 0 4:D 1 PROCEDURE FRESET(VAR F: FIB); 264 0 4:D 2  1:D 68 DEBUGINFO: ^INTEGER; (*DEBUGGERS GLOBAL INFO WHILE RUNIN*)  FORWARD; 265 0 5:D 1 PROCEDURE FOPEN(VAR F: FIB; VAR FTITLE: STRING; 266 0 5:D 3 FOPENOL FORWARD; XY(X,Y: INTEGER); 316 0 29:D 3 FORWARD; 317 0 29:D 3 318 0 29:D 3 (* NON FIXED FORWARD DECLA 292 0 18:D 1 PROCEDURE FREADSTRING(VAR F: FIB; VAR S: STRING; SLENG: INTEGER); 293 0 18:D 4 FORWARD; RATIONS *) 319 0 29:D 3 320 0 30:D 3 FUNCTION VOLSEARCH(VAR FVID: VID; LOOKHARD: BOOLEAN; 321 0 30294 0 19:D 1 PROCEDURE FWRITESTRING(VAR F: FIB; VAR S: STRING; RLENG: INTEGER); 295 0 19:D 4 FORWARD; 29:D 5 VAR FDIR: DIRP): UNITNUM; 322 0 30:D 6 FORWARD; 323 0 31:D 1 PROCEDURE WRITE6 0 20:D 1 PROCEDURE FWRITEBYTES(VAR F: FIB; VAR A: WINDOW; RLENG,ALENG: INTEGER); 297 0 20:D 5 FORWARD; DIR(FUNIT: UNITNUM; FDIR: DIRP); PE); 269 0 6:D 3 FORWARD; 270 0 7:D 1 PROCEDURE FGET(VAR F: FIB); 271 0 7:D 2 FORWARD;  298 0 21:D 1 PROCEDURE FREADLN(VAR F: FIB); 299 0 21:D 2 FORWARD; 300 0 22:D 1 PROCEDURE FWRITE 272 0 8:D 1 PROCEDURE FPUT(VAR F: FIB); LN(VAR F: FIB); 301 0 22:D 2 FORWARD; 302 0 23:D 1 PROCEDURE SCONCAT(VAR DEST,SRC: STRING; DESTLENG: INT 273 0 8:D 2 FORWARD; 274 0 9:D 1 PROCEDURE XSEEK; 275 0 9:D 1 FORWARD; 276 0 10:DEGER); 303 0 23:D 4 FORWARD; 304 0 24:D 1 PROCEDURE SINSERT(VAR SRC,DEST: STRING; DESTLENG,INSINX: INTEG 3 FUNCTION FEOF(VAR F: FIB): BOOLEAN; 277 0 10:D 4 FORWARD; 278 0 11:D 3 FUNCTION FEOLN(VAR F: FIB)ER); 305 0 24:D 5 FORWARD; 306 0 25:D 1 PROCEDURE SCOPY(VAR SRC,DEST: STRING; SRCINX,COPYLENG: INTEGER);: BOOLEAN; 279 0 11:D 4 FORWARD; 280 0 12:D 1 PROCEDURE FREADINT(VAR F: FIB; VAR I: INTEGER); 281 0  12:D 3 FORWARD; 282 0 13:D 1 PROCEDURE FWRITEINT(VAR F: FIB; I,RLENG: INTEGER); 283 0 13:D 4 FO 307 0 25:D 5 FORWARD; 308 0 26:D 1 PROCEDURE SDELETE(VAR DEST: STRING; DELINX,DELLENG: INTEGER); 309 RWARD; 284 0 14:D 1 PROCEDURE XREADREAL; 285 0 14:D 1 FORWARD; 286 0 15:D 1 PROCEDURE XWRITER 0 26:D 4 FORWARD; 310 0 27:D 3 FUNCTION SPOS(VAR TARGET,SRC: STRING): INTEGER; 311 0 27:D 5 FOEAL; 287 0 15:D 1 FORWARD; 288 0 16:D 1 PROCEDURE FREADCHAR(VAR F: FIB; VAR CH: CHAR); 289 0 16:DRWARD; 312 0 28:D 3 FUNCTION FBLOCKIO(VAR F: FIB; VAR A: WINDOW; I: INTEGER; 313 0 28:D 6  3 FORWARD; 290 0 17:D 1 PROCEDURE FWRITECHAR(VAR F: FIB; CH: CHAR; RLENG: INTEGER); 291 0 17:D 4  NBLOCKS,RBLOCK: INTEGER; DOREAD: BOOLEAN): INTEGER; 314 0 28:D 9 FORWARD; 315 0 29:D 1 PROCEDURE FGOTO