DCA OPTION; TAD I (7645; CDF 0 / NUMBER OPTIONS RTL; AND (7760; SNA; JMP .+5 ISZ OPTION; RAL; SNL; JMP .-3 CLA; DCA ERROR; JMP I SAVOPT IFDEF ALBIN < SAVFIL, 0 / CLEAR OPTION BIT 0 IF NON FILE TAD NAM; SNA; TAD NAM+1; SNA CLA CLL CML RAR; CMA; AND OPTION DCA OPTION; JMP I SAVFIL > PAGE EJECT ALRNAM, FILENAME RALGOL.SV FILENAME MACROA.SV CHAIN, DCA PO; JMS GETLNAM / GET FIRST OUTPUT TAD FOBN; CDF 10; DCA I (7620 IFDEF ALBIN < TAD I (7617; DCA OPTION-1 > TAD I (7600; DCA I (7617 DCA I (7621; CDF 0 IFDEF ALBIN < TAD ONAM+1; TAD (-6060; SNA CLA; JMS DELONAM TAD OPTION-1; DCA ONAM ISZ ONAM+4; JMS DELQ / CHECK DELETE OF .AC NOP; TAD OPTION; AND (400; SNA CLA JMP EXOS8 > IFNDEF ALBIN < TAD OPTION; AND (2400; SNA CLA / OPT G OR M? JMP GOS8; TAD OPTION; AND K3000 / M OR MACH CODE? SNA CLA; JMS DELQ; TAD K4 > TAD (ALRNAM; DCA AR1; TAD I PNULOUT K3000, DCA 0 TAD I 0; TAD ERROR / ERRORS? SZA CLA; E14, JMS ERR1 /YES! CLA IAC; JMS LOOKUP; SKP / OK ITS THERE E15, JMS ERR1 TAD AR1; DCA BLOCK CIF 10 JMS I USR 6 / GO CHAIN BLOCK, 0 E16, JMS ERR1 / SHOULD NOT GET HERE! GOS8, JMS DELQ; K4, 4; JMP EXOS8 PNULOUT, NULOUT NULL, TAD I PNULOUT; DCA POUT TAD OPTION; AND (2400; SNA CLA; JMP EXITFH CDF 10; TAD I (7643; AND (7377; TAD (400 DCA I (7643; TAD (7600; DCA 14 CLA IAC; DCA I (7600 TAD (6060; DCA I 14 TAD (6060; DCA I 14 TAD (6060; DCA I 14 CDF 0; TAD (7600; DCA PO JMP LOADON PREROR, TAD ERR0; DCA ERR1; JMP ERR1+2 ERR1, 0 DCA 15 JMS MESAGE; TEXT /OS8 ERROR AT / JMS OUTUSR; CLA CMA; TAD ERR1; JMS OPS EXOS8, JMS KBDCHK; TSF; JMP .-2; JMP 7600 PAGE EJECT STAVE, DCA MEM; TAD (7700; DCA USR; JMS I (7607 4400 / SAVE 4 PAGES IBUFFR 40 / WHERE THEY CAN BE RECALLED E17, HLT TAD GORUN+1 / =DCA MEM ON THAT PAGE DCA FHANDL+1 TAD (FEX; DCA EXITFH+3 CHANGE, NOP / OR JMP FHANDL+2 TAD (7600-1; DCA 14; TAD (-47; DCA CT CDF 10; DCA I 14; ISZ CT; JMP .-2 CDF 0; / THAT SHOULD CLEAR IN-OUT TABLES DCA 201 / ALSO CLEAR ANY RE-ENTRY SAVEX, JMP DISKIT / SET EXTENSION .AC OR .AB AS DEFINED STAVE2, TAD (OEXTN; CDF 10; DCA I (7604 CDF 0; JMS SAVOPT TAD SAVEX; DCA CHANGE; DCA 201; JMP 200 CT, 0 $$$$$$ / ABINOS.PA -8- S.F. 10-JAN-1977 / DELETE POINTER TO OUTPUT FILE IF CHAINING TO RALGOL / THIS VERSION ALLOWS OPT L (LOAD). / CORRECTS CHAINING FAULT AND DELETES 2ND INPUT FILE IF ANY ! / DON'T CLEAR 17600! / OVERLAY FOR ALGOL COMPILER MARK 34(M) AND 40 IFDEF ERRORS ALBIN=0 OSSTRT=5600 / START OF OS8 ROUTINES IBUFFR=OSSTRT+400 OBUFFR=IBUFFR+400 HPAGE=IBUFFR+1000 / PAGES FOR HANDLERS NOPAGE=2 / THIS DEFINES NO OF PAGES / FOR HANDLERS IFDEF ALBIN < OPTGM=400 / ONLY CHECK G IF ALBIN OEXTN=0102 / OUTPUT TO .AB IEXTN=0103 / INPUT FROM .AC OPTLOC=20; FHLOC=70; INLOC=53; OUTLOC=63; ERROR=140; NULOUT=ERROR; OPS=5200; KBDCHK=OPTLOC+3 > / DUMMY FOR NOW IFNDEF ALBIN < OPTGM=2400 / CHECK BOTH IF OSACOM OEXTN=0103 / OUTPUT TO .AC IEXTN=0114 / INPUT FROM .AL OPTLOC=60; FHLOC=77; INLOC=1203; OUTLOC=1213; ERROR=1457; OPS=1410 /OCTAL OUT NULOUT=1210 / NULL OUTPUT WAIT=1467 *1472 0; NOP; JMP I WAIT2; NOP KBDCHK, 0 > IFDEF ERRORS NOPUNCH / NOW FOR ERROR DEFINITIONS. ERRORS OF THE FORM / OS8 ERROR AT XXXX. XXXX DEFINED BELOW E1 / INPUT FILE NOT OPEN E2 / FAIL TO READ INPUT E3 / OUTPUT FILE NOT OPEN E4 / OUTPUT FULL E8 / FAIL TO WRITE OUTPUT E10 / DISK(XX) OR JMS FHANDLE WITH ILLEGAL NO XX E11 / FAIL TO CLOSE FILE E12 / FAIL TO ENTER FILE E13 / FAIL TO ENTER HANDLER. DUE TO EITHER NO SPACE / OR HANDLER NOT AVAILABLE E14 / CANNOT CHAIN AS ERROR OCCURED E15 / CANNOT CHAIN AS RALGOL OR ABSLDR NOT FOUND E16 / FAIL IN ACTUAL CHAIN / OR CAN GET HALTS / DUE TO BAD READ / WRITE OF BUFFER AREAS AT: E5 / WRITE E6 / READ E7 / READ E17 / WRITE ENPUNCH IFDEF ERRORS *0 PSAVE2, STAVE2 *OPTLOC OPTION, 0040 / OPTIONS SAVED HERE FOR LATER USE / 4000 MEANS OPT T / 2000 OPT M / 1000 SET BY COMPILER IF EMBEDDED TEXT / 400 OPT G / 40 JUST TO SET TO NON ZERO TO SHOW OS8 SYS WAIT2, GORUN USR, 7700 0; CLA; JMP I .-2 / DUMMY KBDCHK *FHLOC PFH, FHANDL *201 JMP I PSAVE2 *INLOC PIN, OSIN *OUTLOC POUT, OSOUT *OSSTRT OSIN, (7400 /MUST BE FIRST LOC TO SET UP AND (7400=377 CLA; TAD IOPEN; SZA CLA E1, JMS ERR0 OSIN2, ISZ ICCT; JMP GETON; JMS I IHNDL 200 IBUF, IBUFFR NXIB, 0 SMA CLA; SKP;E2, JMS ERR0; ISZ NXIB CLA CMA; TAD IBUF; DCA IBPTR; TAD MNCH DCA ICCT; TAD K10; DCA W3 GETON, TAD W3; SPA; JMP C3 MNCH, CLA; ISZ IBPTR; TAD I IBPTR K377, AND (7400; CLL RAL; TAD W3 FIX10, RTL; RTL; DCA W3; TAD I IBPTR AND K377; TAD (-232; SZA CLA / IS IT CTRL/Z? JMP NOTCZ; JMS SETNXB; JMP CZ; IAC /IAC IF DEVHANDL NOT THERE SZA; JMS FHANDL; JMP OSIN2 K10, 10 CZ, ISZ IOPEN NOTCZ, TAD I IBPTR; AND K377 INEX, JMP I OSIN C3, DCA I IBPTR; CLL CML; JMP FIX10 / OS8 OUTPUT OSOUT, 0 AND K377 DCA OPBLOK; TAD OOPEN; SZA CLA E3, JMS ERR0; TAD OCCT; SZA CLA JMPINS, JMP JMPSW; TAD MNCH; DCA OCCT; CMA TAD OBUF; DCA OBFPTR; JMP .+4 JMPSW, NOP; JMP CH2; JMP CH3; TAD JMPINS DCA JMPSW CH2, TAD OBFPTR; DCA TMPTR; ISZ OBFPTR; TAD OPBLOK P3, DCA I OBFPTR; ISZ JMPSW; TAD OPBLOK TAD (-232; SNA CLA JMP ATEF; ISZ OCCT; JMP OUTEX; JMS OPBLOK ISZ OFL; JMP OUTEX;E4, JMS ERR0 ATEF, JMS OPBLOK; CMA; JMS FHANDL OUTEX, JMP I OSOUT CH3, TAD OPBLOK; RTL;RTL; AND (7400 TAD I TMPTR; DCA I TMPTR; TAD OPBLOK RTR; RTR; RAR; AND (7400 TAD I OBFPTR; JMP P3 OBFPTR, 0 IBPTR, 0 OCCT, 0 OOPEN, -1 ICCT, -1 IHNDL, ERR0 IOPEN, -1 W3, 0 TMPTR, 0 OFL, 0 FOBN, 0 /  p{ <@< LI )0) lJC&EK L01 $K=% L%0) L)0 L1 1 6K L;1p[@Y{Z0%OR.n bDB(|h T&\* ]-1LLM=V]VV]VV]VV]J, h Z.C$=B"&L5 DB | LC&+J^}g}@ ZJ(/VJ$]F"+,X,:Z9eZJ!.KJbKH.G ,EH+-S-HIbEIKJb!HnG& KBzzno7 JbJej7  <~ t7  <} t7  <| t7  <{ tz!.7hQ#!yb!(ox0:d!.wH/v8 u BE M /S)H : H lq@( u \E E _ i,(x{c ,|t7{s7r*}s7x*rD@ |&Sb `TzSR*Q.B H ~H @U ,}78U' H hFU.7U x ~ $E * '1!'ki@ ~H TH!n|{' {E{!>zH/Ny#FxcGzbB H H @KE 4 E @wb: l,`2 liq'+z ' )@ ~H IE Hv:\  ^0 1TS*/I)THE(NA!C"G?(lq@( ~ L(E E }!|c({{%( ~ 0E j /g+``# D`` `U `@` 1`'g1H1 1hlX'1Hl `: ' 5,6FC z, g g3SHNNS!TNASQ 9hg@j ~I BHE H);.(I   ~I \HE HE @}(?|: {G {E{!>zH/yx3&wc'vbB H ~I @U7(U#! l}(?2u+ ~I AIE HE @L'*O h  I )@ tC(2zH2zSs"! lt(?rH?r\:q!. tC(cz2 ,xp7wo7v*zq7y*l*c : F T SH*I(B H ~J @U7(U' H hFU7(U' ~J %JE HE @9'* 5 C4L!R' l<`ES1H'@}+ l|{7 H hFU.7U x ~ ,(E z^yc_xbB H H @c(E E w o"!jr @   T S(j '!H' l<`z:' i@ J JE H '*H' i@ J =JS1&T2&~(B   6 E @E @E'*(i ^Ii} |k} 8O ), y , ~Ch}ci|bB H yJ @pz"B H @ @:~qt0 j7  <~t7  <}td!.|H/{8 u!.(gzHgzv <~t7}s7x* H @ K 0!;!#;  nB K K @ l~6}6|(B < <7>7~{>zy2 xG!n wC vG vEv!>yH/uv3!yb wC tGs |ssS!xcHr{q(B 

`>%~ |~~S!}cH|{{6z6y(B  B K K @7hc7 |~6}6|(B  < < {C7z{!n yCy.zxkwk vG vEv!>yH?L ,~E6}F6|(B  rH/q~3d}ce|bB K pM @7hc!ob!j @ ,;K?K  n(zHz3 ,~6}6|(B  <{ \ ~C }c!|bB K {M @(zRB K @ @7hc7 |~?6}@6|(B  z!.(MzHMzx <~Y6}Z6|(B  y!.(MzHMzz <~Y6}Z6|(B  <| l ~Ch}ci|bB K |N @pybB K @ @7hc d`  nz7~ 8 }N ?M zN A yC! l~x } l? \x l\wr vCvwruu7w{#{wryy7ts# rGq ,p8G ongm |mmS!lbHk{j(H < \i l\Mr78Mwj(H < \h l\Mn:f<;@P`:P0Hx0\ `?R]OR!W7(T(?'LX LV #O pY *bWb7U(zLx '&(&[&\(0Z" b;`F6C;dEE70;c;LE{ 7ES'L1<=ajwao[2h \LhTuRSbhc t|~vGwizCVDyo\`XH p{<@< LI )0) lJC&EKL01 $K=%L%0) L)0L1 1 6KL;1 LI )0) lJC&EK[@Y{Z0%sLLL L LL LLLLLLLLLLL L Lnl2!}4 G+ H =)n [[ Lmo*%9+6;:<[*r^aO'?)-7676_7 B*)j).c77c l& C_g L )&/767-6-(6 B*-d-_77d)b720-7) l-&IK8-7'7B7g)&JK87y2*7d776*@ @p cN((bG*&(C[*c(]z7`K > I)e3&Wenu:m  )QFs l @  PPsRPs N( n((/("); (b.)Q @S Q(S)8TU'XW'hV' K FnY&&!&'&.&3&8&)2Z & &[ &F& C G DJ;K 80 hOe``fOed L^ fGfgD]d.i|e'0'pp E&,('H/)"<b~*rC (2<+b ' J,&H"z)=&}~'*C( K(=&+*$C |{0(,{z(&y)&x*&w+&vu'tBtr} |,0sss!rgCK> qp0(J{Jn okXp8ug]o?CU #2qVq0"1c!!bL~9!!&! J!F.(b Iw ( ,w0"iw> Pocplho6XcnobXoWn"/ Wc( nbDobXoFn">V*n!&o!..X.nlhZofn- !!b@,rnlh1.Zr  . ?G+0hcKrpc+ Aw n~)pp&l@9AER0uH>`1`RPS2 l(+2@i O AEwnX/ < ?&A9@T8U3<why I  -@9a8!V&r(ByK>]bWrmcLtEJ+M.qjU]"k!|QT+ois\idi[6m6e["u]]idM ,lr@rdJ`0*w) J n `(rHnu0 Note: Lines longer than 256 characters were wrapped