|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen GIER Computer |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen GIER Computer Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 55637 (0xd955) Description: Bits:30000730 GIER ALGOL III PASS 1 Types: 8-hole paper tape Notes: Gier Text, Has10
[PASS 1. 19.2.65, Page 1] [CONTENTS OF TAPE: 1. Specifications of indicator use and switches 2 2. Definitions of output values used outside tables 3 3. Definitions of buffer areas for long strings Reservations for 2 variables, compound table, input table lower case 3 4. Program 4.1. Main block (a30, local labels) 4 4.2. Reservations for input table upper case 9 4.3. String block (a40, local labels) 10 4.4. Type in block. (a10, local labels) 14 5. Tables 5.1. Formats 15 5.2. Programs for compound symbols not identifiable on first char. Define top pass 1. Define typebuf[0| 16 5.3. Redefinition of normal actions 17 5.4. Compound table. Is read to D. 17 5.5. Input table lower case. Is read to d1: 18 5.6. Input table upper case. Is read to d2: 20 6. End of tape 21 Special requirements: Between input table lower case [0| and input table upper case [0| must be at least 256 words as the range of an input symbol is 0 to 255 (when parity check is given as a bit in the symbol). Allowed input bytes are in the table flagged by an f mark. All input bytes outside tables are forbidden. Consequently no word outside tables (from input table lower case [0| to input table lower case [255| and from input table upper case [0| to input table upper case [255|) may be f-marked. end contents...] [Pass 1. Page 2, 19.2.65] [1. SPECIFICATIONS OF INDICATOR USE AND SWITCHES] [INDICATOR USENZA _ normal, initialized to false = _____LZB _ comm ok. In strings: LOB _ set case; initialized to false = = _____LTA _ line print, initialized by initialize translator =NTB _ ignore poff - - - - =LPA _ print initialized to true = ____LPB _ sum or print - - - =LQA _ lined =LQB _ comp =NRA _ first word (in strings) =NRB _ type input, initialized by initialize translator =SWITCHES, elements given as <identifier> = <slipname>switch special action:= ______LC = c6, UC = c7, line = c8, bar = c9, CR = c10, poff = c11, pon = c12, endcode = c13, sumcode = c14, clearcode = c16; These actions are performed independent of context (the actions themselves are not necessarily context independent).switch normal action := ______commect = c20, semicolon = c21, end = c22, begin = c24, right parent = c25, colon = c26, equal = c27, minus = c28, error in normal = c29, space in normal = c30, next = c2; The slipnames are redefined to <slipname> - c just before loading of tables so that the values in the tables will have a negative sign bit. This im- plies that c - c2 < 512 (c = 1c30 which is the last normal action, and c2 is the first normal action).switch compound action := ______rest 8 = c15, rest8 no = 1c15, rest7 = 2c15, rest7 no = 3c15, rest6 = 4c15, rest 6 no = 5c15, rest5 = 6c15, rest5 no = 7c15, rest4 = 8c15, rest4 no = 9c15, rest3 = 10c15, rest3 no = 11c15, rest2 = 12c15, rest2 no = 13c15, rest1 = 14c15, rest1 no = 15c15, treat normal = c4, black comp err = c17, red long comp err = c18, red short comp err = c19, string or layout = c40, lined b = c60, lined e = c61, lined f = c62, lined g = c63, lined i = c64, lined s = c65, lined t = c66;switch layout action:= ______d = c41, zero = c42, n = c43, point = c44, ten = c45, space = c46, minus = c47, plus = c48, lined plus = c49, terminator = c50, all others = c51 = a; (a = c51 defined just before table loading). The table representations are absolute addresses (except for normal ac- tions where they are relative to c) and not switch position numbers] [Pass 1. Page 3, 19.2.65]b k=e15+e70, i=205e13, a, b60[variables], c80[labels], d50[address constants]; _[2. DEFINITIONS OF OUTPUT VALUES USED OUTSIDE TABLES and other usage of d names] d 4 = 0; base for output values for letters [d5 is defined after 5.2 to top pass 1. d6 - d8 not used] d 9 = 17; value of by for type in d10 = 63; CR (in strings); [d11 is defined just before tables, not output value] d12 = 151; ;d13 = 156; end ___d14 = 1019; endpass d15 = 231; < d16 = 200; , d17 = 14; _ in strings d18 = 235; >d19 = 10; | string end in strings >d20 = 1021; short string d21 = 1022; long string d22 = 1020; CR d23 = 211; )d24 = 91; begin _____d25 = 245; fat , d26 = 1023; layout d27 = 174; : d28 = 233; = d29 = 76; - d30 = 207; := d31 = 240; => d32 = 85; -, [d33 is defined just before tables, d34 - d36 are not used, d37 - d39 are used internally in typin, d40, d41 internally in string] [3. DEFINITIONS OF BUFFER AREAS, RESERVATIONS FOR TABLES] d42 = 1e13 ; Alternating buffer areas for long strings, d43 = 42e13 ; same as input buffers in general pass b: qq ; Compound symbol.qq ; Out CR; bit 41 = 1 _ clearcode has been read =d = i ; Compound table[0] i = 38i ; reserve compound table[0:37], loaded after program. d1 = i ; Input table lower case[0] i = 65i ; reserve input table lower case[0:64], ; loaded after program d3 = i - 1 ; input table lower case[64] i = 3i ; reserve space for 3 secondary table words (_ | CR) [Pass 1. Page 4, 19.2.65] [4.1. MAIN BLOCK]b a30 _c1: pm r V IQC ; next 1: comp:= lined:= f; go_to next; __ __, ps i ; comment ps i will make the first return, which _______; does not match a call, goto next;c2: lyn b1 V LRB ; next: if -, type input then char:= read a char __ ____hv c72 ; else go_to get a typed char; ____ __ __c73: ; typechar: setadr0[M, char];b1: pm __ X d_ ; char:= char + case; R:= table[char]; -1 _1hv a3 X NB ; test allowed; hv a4 X LPB ; test sum or print; a1: hv (b1) LA ; test special char;a2: hr s1 LZA ; after spec: if -, normal then return; __ ____c3: hv a5 LQB ; innormal: testcomp;c4: mb 255 DV NT ; treat normal: if bit(R, 0) | 1 then __ = ____c5: ga r2 V ; normal out: begin normal:= t; commok:= f _____hv e3 IZC ; output(bits(R, 2, 9)); return end; ___hv __ t c IZA ; normal:= t; go_to normal action[part 1(R)]; -1 __ __; procedure test allowed; _________a3: nc 127 , ca 63 ; if bit(R, 41) | 1 then __ = ____hv c2 ; begin if part1(M) | 127 ∧ part1(M) | 63 _____ __ = =hs c70 ; then alarm(|<character|, 0+1); ____ < >hv c2 , qq se31 ; go to next end; __ __ ___a4: ga b5 ; procedure test special char; _________b11:ar __ D ; if sum or print then -1 __ ____ga b11 ; begim sum 1:= sum 1 + part 1(M); _____b12:qq __ t 1 LO ; if overflow then sum 2:= sum 2 + 1; -1 __ ____b5: sy __ LPA ; if print then outchar(part1(M)); -1 __ ____arn(b5) D LZA ; end; ___hv a1 X ;; procedure test special char; _________; if bit(R, 40) = 1 then __ ____; go_to specialaction[char]; __ __; procedure test comp; _________a5: hv a6 NQA ; if lined then __ ____gt r , pm __ ; begin comp:= lined:= f; -1 _____gm b X IQC ; comp symbol:= table[part2(R)];gt r , hv __ ; go_to compaction[part2(compsymbol)] -1 __ __; end ___; else if comp then ____ __ ____a6: gt r , is __ ; begin comp:= f; -1 _____pm s1 X IQB ; R:= table[part2(R)+1];; if bit(40, R) | 1 then R:= table[undefined bar __ = ____]pm 37d X NA ; go_to compaction[part2(R)] __ __gt r , hv __ ; end; -1 ___[Pass 1. Page 5, 19.2.65]c6: pt b1 V d1 ; LC: case:= baseLC; go_to next; __ __c7: pt b1 t d2 ; UC: case:= baseUC; go_to next; __ __hv c2 ; c8: qq V LQB ; line:hv c2 IQC ; if -,comp then comp:= lined:= t; __ ____hv c2 LQA ; if lined then go_to next; __ ____ __ __arn 1d3 , hv a2 ; R:= table[second line word]; go_to after spec; __ __c9: arn 2d3 V LQA ; bar:hv c2 IQB ; if -,lined then __ ____hv a2 ; begin comp:= t; go_to next end; _____ __ __ ___; R:= table[second bar word]; go_to after spec; __ __c10:pm 1b X ; CR:pm (e4) DV 1 NZ ; if outCR = 0 then go_to next; __ ____ __ __hv c2 ; line counter:= line counter + 1; output(out CR); hs e3 IPC ; sum or print:= bit(outCR,41)=1; print:=f;hv a8 LTA ; if linecount then go_to count 10 lines; __ ____ __ __a7: pm d10 DXV LZA ; after count: if -, normal then set adr0(M,<stringCR> __ ____)hv c2 NQA ; else if -, compound then go_to next; ____ __ ____ __ __pm 3d3 X ; R:= table[second CR word];hv a2 ; go_to after spec; __ __a8: bt _ t -55 ; count 10 lines: ten count:= ten count + 1 0sy 58 , hh r1 ; if tencount = 10 then __ ____hv a7 , pa r-2 ; begin outchar(58); ten count:= 0; _____hs e7 X ; test print with CR(line counter);arn b1 , ck 10 ; if case = base(UC) then outchar(60); __ ____ca d2 , sy 60 ; outchar(0); sum or print:= print:= t;pm d3 IPC ; end; ___sy 0 , hv a7 ; go_to after count; __ __c11:hv c2 NTB ; poff: if ignore poff then go_to next; __ ____ __ __hs c70 ; alarm(|<off|, 0+3); < >hv r1 , qq pe43 ;can s-i-2 , hv c2 ; if in poff then go_to next; __ ____ __ __gi b2 ; save (normal, commok, comp, lined); a9: hsn c2 IZA ; rep off: normal:= f; inpoff:= t; call(next);hv a9 ; go_to rep off; __ __c12:hv c2 NTB ; pon: if ignore poff then go_to next; __ ____ __ __hs c70 ; alarm(|<on|, 0+3); < >hv r1 , qq pe44 ;ncn s-a9 , hv c2 ; if -,in poff then go_to next; __ ____ __ __b2: pi __ t 243 ; restore(normal, commok, comp, lined); -1hr c2 ; return to(next); [Pass 1. Page 6, 19.2.65]c13:hs c70 ; endcode: alarm(|<pause|, 8+3); < >, qqn pe33 ; a10: , ud 8e4 ; pause: by:= typewr by; lyn b1 , vy (8e4) ; char:= read a char; by:= normal by;ca 19 [t], hv c71 ; if char = <t> then go_to typin; __ ____ __ __hv c2 ; go to next; __ __c14:arn b11 , tl -10 ; sumcode: ar (b12) D ; check char:=tl -59 ; remain(sum1 + sum2⨯2∧10, 127); |dl b6 , cl -10 ; ga b4 , lyn b1 ; char:= read a char; pa b11 , pa b12 ; sum 1:= sum 2 := 0;b4: ca __ , hv c2 ; if char = checkchar then go_to next; -1 __ ____ __ __hs c70 ; alarm(|<sum|, 0+3); < >hv c2 , qq pe57 ; go_to next; __ __; comment _______b6: qq 127.39 ; constant for forming check character;c15:hs a12 NQA ; rest8: if -, lined then call(compresterr); __ ____hsn c1 IZA ;rest8no: normal:= f; call(next1); hs a12 NQA ; rest7: hsn c1 IZA ; rest7no: hs a12 NQA ; rest6: hsn c1 IZA ; rest6no: hs a12 NQA ; rest5: hsn c1 IZA ; rest5no: hs a12 NQA ; rest4: hsn c1 IZA ; rest4no: hs a12 NQA ; rest3: hsn c1 IZA ; rest3no: hs a12 NQA ; rest2: hsn c1 IZA ; rest2no: hs a12 NQA ; rest1: hsn c1 IZA ; rest1no: hs a12 NQA ; rest0: a11:pmn b X IQC ; after comp: R:= compsymbol;b7: hv c_ ; comp:= lined:= f; _4; go_to if no comperr then treat normal __ __ __ ____; else black comperr ____c16:acn 1b MB ; clearcode: pack(out CR, 40, 41, 1) pa b11 , pa b12 ; sum 1:= sum 2:= 0;hv c2 IPB ; sum or print:= t; go_to next; __ __c31: ; a12:pa b7 t c17 ; comp rest error: no comp err:= f;ck -7 ; if bit(R, 33 ) = 1 then __ ____hr s1 LO ; return; comment letter without line; _______hr c17 ; return to(comp err); c17:pa b7 t c4 ; comp err: no comp err:= t;hs c70 ; alarm(|<compound|, 0+1); < >hv a11 , qq se32 ; go to after comp; __ __[Pass 1, page 7, 19.2.65] c18:hsn c1 IZA ; long red comperr: normal:= f; call(next1);hv c18 LQB ; if comp then go_to long red comp err; __ ____ __ __c19:gr b , hv c17 ; short red comp err: comp symbol := R; go to comp err __ __;c20:hs c70 NZB ; comment: if -,commok then __ ____hv a15 , qq se35 ; alarm(|<comment|,0+1); < >a15:hsn c2 IZC ; rep comm: normal:= f; commok:= t; call(next);nc d11[;] , hv a15 ; if part 1(R) | <;> then go to rep comm; __ = ____ __ __hv c1 IZA ; normal:= t; go to next 1; __ __a16:pm r IQC ; after end comm: comp:= lined:= f; c21:pmn d12 DX IZB ; semicolon: commok:= t; normal:= t; hv e3 IZA ; output(outsemicolon); return; a17:hs c1 ; test end: call next;nc 4d4[d] LQA ; if part 1(R) | <d> ∨ -, lined then __ = ____hv a19 ; go_to test sem; __ __c22:pmn d13 DX ; end: output(outend); commok:= f; hs e3 IZB ;b10:bt _ t 1 ; endlevel:= endlevel + 1 2hv a20 ; if endlevel > 1 then go_to postlude; __ ____ __ _a18:hsn c1 IZA ; rep end comm: normal:= f; call(next1); ; test sem:a19:ca d11[;], hv a16 ; if part1(R) = <;> then go_to after end comm; __ ____ __ __nc 5d4[e] LQA ; if part1(R) | <e> ∨ -,lined then __ = ___hv a18 ; go_to rep end com; __ __hsn c1 ; call next1;hv a19 NQA ; if -,lined then go_to test sem; __ ____ __ __ca 14d4[n], hv a17 ; if part 1(R) = <n> then go_to test end; __ ____ __ __nc 12d4[l], hv a19 ; if part 1(R) | <l> then go_to test sem; __ = ____ __ __pm 14d , gm b ; comp symbol:= table(<else>);hv 13c15 ; go_to rest2no; __ __a20:pa 1b , ud 10e4 ; postlude: outCR:= 0;hs e5 ; if pass inf then __ ____hv r1 , qqn(pe39) ; alarm(|<end|, 12+3); < ___>arn b1 , ck 10 ; if case = base UC then outchar(60); __ ____ca d2 , sy 60 ; pm d3 IPC ; sum or print:= print:= t; hsn c2 IZA ; rep postlude: normal:= f; call(next);nc d11[;], hv r-1 ; if part1(R) | <;> then go_to rep postlude; __ = ____ __ __pmn d14 DX ; output(<endpass>); sy 58 , hs e3 ; outchar(<LC>); vk (4e4) , sk (b45) ; to drum(stringtrack, start buf); it (b39) , pt 7e4 ; string no:= word count; bs (3e4) , it 39 ; inf 1:= word count +it (b39) t 36 ; (if inf 2 > 0 then 39 else 36); __ ____ ____pa 2e4 , hv e92 ; go_to end pass; __ __[Pass 1. Page 8, 19.2.65.] c74: ; start pass 1: c23:hs c1 , qq c2-1 ; prelude: call(next1); set return(next); test b:a21:nc 2d4[b] LQA ; if part1(R) | repr(<b>) ∨ -,lined then __ = ____hv c23 ; go_to prelude; __ __hs c1 LQA ; if lined then call(next1); __ ____nc 5d4[e], hv a21 ; if part1(R) | repr(<e>) then go_to test b; __ = ____ __ __hs c1 LQA ; if lined then call(next1); __ ____nc 7d4[g], hv a21 ; if part1(R) | repr(<g>) then go_to test b; __ = ____ __ __hs c1 LQA ; if lined then call(next1); __ ____nc 9d4[i], hv a21 ; if part1(R) | repr(<i>) then go_to test b; __ = ____ __ __hs c1 LQA ; if lined then call(next1); __ ____nc 14d4[n] LQA ; if part1(R) | repr(<n>) ∨ -, lined then __ = ____hv a21 ; go_to test b; __ __pm d22 DX ; out CR:= outCR + outvalue CR; print:= f; ac 1b IPC ; sum or print:= bit(OUTCR, 41) = 1; pm r IQC ; comp:= lined:= f; c24:qq (b10) t -1 ; begin: endlevel:= endlevel - 1; pmn d24 DX IZB ; commok:= normak:= t;hv e3 IZA ; output(outrep(<begin>)); return; _____c25:hsn c2 IZA ; right parent: normal := f; call(next);ck -2 NQB ; if -,comp ∧ bit(R, 38) = 1 then __ ____hv a22 LO ; go_to maybe fat; __ __ck 2 NQB ; pm d23 DX ; output(outrepr(<)>)); hs e3 IZC ; normal:= t; commok:= f;hv c3 X ; go_to innormal; __ __a22:ck -2 ; maybe fat:hv c25 LO ; if bit(R, 36) = 1 then go_to right parent; __ ____ __ __a23:hs c2 ; in fat: call(next);ck -2 NQB ; if bit(R, 38) = 1 ∧ -,comp then __ ____hv a23 LO ; go_to in fat; __ __ck -3 NQB ; if bit(R, 35) | 1 ∨ comp then __ = ____hv a25 NO ; go_to fat error; __ __a24:hs c2 ; end fat: call(next);ck -4 NQB ; if bit(R, 36) = 1 ∧ -,comp then __ ____hv a24 LO ; go_to end fat; __ __ck -2 NQB ; if bit(R, 34) | 1 ∨ comp then __ = ____hv a25 NO ; go_to fat error ; __ __pm d25 DX ; output(outrepr(<fat,>)); normal:= t; hv e3 IZC ; commok:= f; return;a25:hs c70 ; fat error: alarm(|<)<improper>|, 0+1); < >pm (b1) , qq se34 ; R:= table[char];hv a19 X ; go_to test sem; __ __[Pass 2. Page 9, 19.2.65] c26:hsn c2 IZA ; colon: normal:= f; call(next);ca d33[=] ; if part1(R) = repr(<=>) ∧ -,comp then __ ____pm d30 DVX NQC ; begin output(outrepr(<:=>)); _____pm d27 DVX ; normal:= t; commok:= f; returnhv e3 IZC ; end; ___hs e3 IZC ; output(outrepr(|:>)); normal:= t; <hv c3 X ; commok:= f; go_to innormal; __ __c27:hsn c2 IZA ; equal: normal:= f; call(next);ca d18[>] ; if part1(R) = repr(<>>) ∧ -,comp then __ ____pm d31 DVX NQC ; begin output(outrepr(<=>>)); _____pm d28 DVX ; normal:= t; commok:= f; returnhv e3 IZC ; end; ___hs e3 IZC ; output(outrepr(<=>)); normal:= t;hv c3 X ; commok:= f; go_to innormal; __ __c28:hsn c2 IZA ; minus: normal:= f; call(next);ca d16[,] ; if part1(R) = repr(<,>) ∧ -,comp then __ ____pm d32 DVX NQC ; begin output(outrepr(<-,>)); _____pm d29 DVX ; normal:= t; commok:= f; returnhv e3 IZC ; end; ___hs e3 IZC ; output(outrepr(<->)); normal:= t;hv c3 X ; commok:= f; go_to innormal; __ __c29:hs c70 ; error in normal: alarm(|<character|, 1); < >c30:hv c2 , qq se31 ; space in normal: go_to next; __ __c: ; comment for redefinition of normal actions. _______; procedure alarm(text, type); _________c70:pmn 1b X IPC ; begin print:= f; R:=M:= 0 _____hvn e5 ; call(message); return; end alarm; ___e ; end main block _ ___[4.2. RESERVATION FOR INPUT TABLE UPPER CASE] d2: ; input table upper case[0] i=65i ; reserve input table upper case[0:64]s _[Pass 1. Page 10, 19.2.65] [4.3. STRING BLOCK]b a40 _[Constants and working locations used in layout and string: In layout, basic state. In string] a1: qq 1.39; minus word [0] bit 39 a2: qq 2.39; plus word [0] a3: qq 3.39; lined plus word[0] a4: qq 1.4+ 1.33+1.37; d increment [0] a5: qq 1.4+ 1.37; z increment [0] bit 37 a6: qq 1.4+1.23+1.33+ 1.37; n increment [0] b20:qq [fullword], ; layout word str word (uses ,mark) [layout word format: dhs check.4 or .3+d.22+n.23+s.26+fe.28+boverflow.29+b.33+h.37+fn.39] b21:qq [full word] ; space word work 1 b22:qq [full word] ; work 2 qq 1.4+1.22+1.33 ; d increment [6] qq 1.4+1.22 ; z increment [6] b23:qq [address only] ; work 3 qq 1.28 ; minus word [12] qq 2.28 ; plus word [12] qq 3.28 ; lined plus word[12] qq 1.3+1.26 ; d increment [12] a7: qq 1.19 ; a8: qq 10.3+10.9+10.15+10.21+10.27+10.33+10.39; ends; ; string or layout:; begin _____c40:hsn c1 IZA ; normal:= f; call(next1);ca d15[<] ; if -,lined ∧ part1(R) = repr(<<>) __hv c52 NQB ; then go_to string; ____ __ __pa b30 X -19 ; layout: position:= -19; grn b20 , gr b21 ; layoutword:= spaceword:= 0; pp 0 ; state:= 0; ps 0 X ; basic state:= 0;hv a14 NQB ; if compound then __ ____a10:ar a7 NQA ; comp layout symbol:gt r , pm -1 ; begin R:= table[part2(R) + (if lined _____ __hv a14 X LQA ; then 0 else 1)]; ____ ____pm d NA ; if bit(R, 40) | 1 ∧ -, lined then __ = ____hv a14 X ; R:= table[comp error];; go_to examine; __ __; d: comment allowed in states _______c41:qq 3.1+15.7+7.12+3.38 ; 0,1,3,4,7,8,9,10,13,14,15; pm sa4 ; M:= d increment[basic state]; a11:pp s3 X ; n1: state:= basic state + 3; R:= M; a12:ac b20 IOA ; zero1: layout word:= layout word + R;b30:qq __ V 1 NOA ; if bit(layout word, 0) = 1 then state:= -1 -1 __ ____pp -1 ; else position:= position + 1; ____a13:hsn c2 IZA ; next layout: callnext;hv a10 LQB ; if comp then go_to comp layout symbol; __ ____ __ __a14:ck 20 , ga b31 ; examine: layout type := part3(R);b31:pm __ X ; R:= table[layout type]; -1ck p-3 IQC ; comp:= lined:= f; if bit(R, state-3) = 1 __hv (b31) t 1 LO ; then go_to layoutaction[layout type + 1]; ____ __ __pp -1 , ck 20 ; state:= -1;hv (b31) t 1 LO ; go_to if bit(R, state+15) = 1 then __ __ __ ____hv a13 ; terminator else next layout; ____[Pass 1. Page 11, 19.2.65]; zero: comment allowed in states _______c42:qq 15.3+15.9 ; 3,4,5,6,9,10,11,12; pp s5 , pm sa5 ; R:= z increment[basic state];hv a12 X ; state:= basic state + 5; go_to zero1; __ __c43:qq 3.38 ; n: comment allowed in states 0,1; _______pm a6 , hv a11 ; M:= n increment; go_to n1; __ __c44:qq 3.38+5.2 ; point: comment allowed in states 0,1,3,5; _______qq (b30) t 1 ; position:= position + 1; state:= state + 7; pp p7 , ps 6 ; set adr[layout word, 0);pa b20 , hv a13 ; basic state:= 6; go_to next layout; __ __c45:qq 5.2+5.8 ; ten: comment allowed in states 3,5,9,11; _______pp 13 , ps 12 ; state := 13; basic state 12; pa b20 , hv a13 ; set adr(layout word, 0);; go_to next layout; __ __c46:qq 5.2+5.8 ; space: comment allowed in states 3,5,9,11; _______pm 1.4 DX ; space word:= space word + bit(19 + position); ns (b30) , ck s-15 ;ac b21 , pp p1 ; state:= if position > 0 then -1 __ ____bs (b30) , pp -1 ; else state + 1; ____hv a13 ; go_to next layout; __ __c47:qq 1.10+1.37 ; minus: comment allowed in states 0,13; _______arn sa1 , ac b20 ; layout word:= layout word + pp p1 , hv a13 ; minusword[basic state];; state:= state + 1; go_to next layout; __ __c48:qq 1.10+1.37 ; plus: comment allowed in states 0,13; _______arn sa2 , ac b20 ; layout word:= layout word + pp p1 , hv a13 ; plusword[basic state];; state:= state + 1; go_to next layout; __ __c49:qq 1.10+1.37 ; lined plus: comment allowed in states 0,13; _______arn sa3 , ac b20 ; layout word:= layout word + pp p1 , hv a13 ; lined plus word[basic state];; state:= state + 1; go_to next layout; __ __; terminator: comment allowed in states _______c50:qq 5.2+5.8+1.11-1.36 ; 3,5,9,11,15 and in error; pm d26 DX ; normal:= t; commok:= f; hs e3 IZC ; output(outrepr(<layout>)); pm (b21) DX ; hs e3 ; output(part1(space word)); pm b21 X IQC ; comp:= lined:= f; tk 10 , hs e3 ; output(part2(space word)); pm b20 , cln -10 ; hs e3 , qq c2-1 ; output(part4(layout word));cln -1 , bs p1 ; if state = -1 ∨ __cln -10 V NO ; bit(layout word, 29) | 0 then = ____hs c70 ; alarm(|<string|, 1); < >hv e3 , qq se36 ; output(bits(layout word, 19, 28)); ; return;c51:qq ; all others: comment only table word needed; _______[Pass 1. Page 12, 19.2.65]; begin string: _____c52:pa b35 t -1 IRA ; str case:= -1; first word:= t; pp d40 ; shift:= initial shift; a16:hs c2 , qq i-1 ; str: call next; ch return(str);hv a25 LQB ; if comp then go_to comp str; __ ____ __ __b35:a17:ck __ X IOB ; str1: set case:= bit(R, 40-str case) = 1; R:= M; -1pm (b35) XD 61 LOB ; if set case then begin M:= R; str case:= _ ____ _____; str case + 61; set adr0(R, str case) end; ___a18:bs p-35 , hv pd41 ; str2: if shift > 35 then go_to __ ____ __ __; if shift = 36 then newword else first char; __ ____ ____a19:ck p-26 , pp p6 ; str3: pack(str word, 30-shift, 35-shift, ac b20 ; bits(R, 4, 9)); shift:= shift + 6;hv s1 NOB ; if -m set case then return; __ ____a20:ns (b35) , it s57 ; new case: str case:= 57 - str case; pa b35 ; set case:= f; R:= M;hv a18 X IZB ; go_to str2; __ __a21:gm b21 LOB ; new word: if set case then work1:= M; __ ____pm b20 , ck 8 ; M:= str word; gr b20 , pa b20 ; pack(str word, 0,35,0, 36,39,bits(R, 6, 9)); a22: ; store word:b39:bt ___ t 1 ; word count:= word count + 1; -36hs a29 ; if word count > 1 then call(track full); __ ____b36:pp __ IK ; str adr:= str adr + 1; -1b38:gm _d__ t 1 MOC ; pack(str buf[str adr], 0,39,M, 2_43pi 0 IK ; 40,41,str flags); shift:= 0;ga b36 LZA ; if -,normal then str flags:= bits(R, 4,5); __ ____hs a28 NRA ; if first word then call(output long); __ ____hv s1 NOB ; if -,set case then return; __ ____pm b21 , hv a20 ; M:= work1; go_to new case; __ __a24:ck 8 , gr b20 ; first char: pa b20 , ga b36 ; pack(str word, 0,35,0, 36,39,bits(R,6,9)); pp 0 ; str flags:= bits(R, 4, 5); shift:= 0;hv s1 NOB ; if -,set case then return; __ ____hv a20 ; go_to new case; __ __a25:gm b23 , pm a5 ; comp str: work2:= M; M:= bit37;hv a27 NQA ; if -,lined then go_to str bar; lined:= comp:= f; __ ____ __ __ca d16[,]X IZB ; if part1(R) = repr(<,>) then __ ____hvn a18 IQC ; begin set case:= f; R:= 0; go_to str2 end; _____ __ __ ___a26:pmd17[_] D IQC ; single: R:= M; set adr0(M, charrepr(<_>)); hs a17 ; call(str1); pm (b1) X ; R:= table[char]; M:= work2;pm b23 , hr a17 ; go_to str1; __ __[Pass 1. Page 13, 19.2.65] a27:nc d18[>]X IQC ; str bar: comp:= lined:= f;; if part1(R) | repr(<>>) then __ = ____arn a1 , hv a26 ; begin R:= bit39; go_to single end; _____ __ __ ___pm d19 D ; M:= charrepr(<stringend>); hs a17 , qq c2-1 ; call(str1); ch return(next); pm a8 X IZA ; pack(R, 0, 35-shift, bits(ends, shift+4, 39), tk p4 , ar b20 ; 36-shift, 39, 0); normal:= t; R:= R + str word;hr a22 X LRA ; if -,first then __ ____; begin M:= R; go_to store word end; _____ __ __ ___ar (b36) D ; pack(R, 0, 1, strflags); ck 12 , ga b23 ; gt b40 , tk 20 ; ga b41 , tk 10 ; pm d20 DX ; hs e3 ; output(outrepr(<shortstring>)); hs e3 X ; output(part1(R));b40:pm b23 , pp __ ; -1hs e3 X ; output(part2(R)); pm p DX ; hs e3 ; output(part3(R));b41:pm __ DX ; -1hr e3 ; output(part4(R)); return; a28:pm d21 DX M ; output long: first word:= f; hs e3 IRA ; output(outrepr(<long str>); hsn e3 ; output(0); pm (b39) DX 38 ; qq (b39) t -38 ; output(word count + 38); hs e3 ; hsn e3 ; output(0); pm (4e4) DX ; hv e3 ; output(str track); return; c53: a29:gm b22 , vk (4e4) ; track full: work 2:= M; tk:= strtrack; pm (4e4) XD -1 ; M:= R; Raddr:= strtrack:= strtrack - 1;ca (7e4) , hs e5 ; if Raddr = output track then __ ____hv r1 , qqn e30 ; message (|<program too big|, 8 + 0); < >qq (5e4) X -1 ; R:= M; available tracks:= available tracks - 1; sk (b45) , pm b22 ; todrum(tk, start buf); M:= work 2; qq (3e4) t 1 ; information 2:= information 2 + 1;b45:nt d__ , is d42+d43; exchange(start buf, waiting buf); _43it s-1 , pa b38 ; buf addr:= start buf - 1; pa b39 t -38 ; word count:= -38; it (b45) , pa e2 ; in address:= start buf; hr s1 ; return;; end string ___; end string or layout ___d d41=a21-36,d40=a24-d41 ; define jump on shift > 35 and initial shift _e ; end stringblock; _[Pass 1. Page 14, 19.2.65] [4.4 TYPE IN BLOCK]b a10 ; type in: _c71:arn b1 , ck 10 ; begin R:= case; _____ca d2 , it 572 ; old case:= if case = <UC> then __ ____pt b55 t 570 IRB ; 512+60 else 512+58; type input:= true; ____ ____a2: pa b54 t a2 ; start line: last line:= false; _____gp b52 , ud 8e4 ; save p := p; by:= typewr by; a3: pp d39 , gp b53 ; no: i:= p:= base(type buf);qq (b53) V 1 LZ ; if R = 0 then i:= i+1 else writecr; __ ____ ____a4: syn 64[CR], ck 10 ; next char: ck(10); pp p1 , ly p1 ; char:= type char; ; pack(R, o,9,char); ; pack(store[p+1], 0,9,char);ca 64[CR], hv a7 ; if char = <CR> then go to finis line; __ ____ __ __pm d37 , bs p-508 ; if R | four case shifts ∧ p < 1020 then __ = ____cm d38 , hh a4 ; go to next char; __ __sy 29[red], sy 17[<] ; stop line: write char(<RED>); writechar(<<>); a5: lyn p2 , bs p-508 ; read stop inf: R:= type char;ca 24[y] , hh a6 ; if p < 1020 ∧ R =<y> then go to yes; __ ____ __ __nc 37[n] , hv a5 ; if R | <n> then go to read stop inf; __ = ____ __ __sy 38[o] , sy 62[blk]; no: write char(<o>); write char(<BLACK>);; go to after no; __ __a6: hv a3 , sy 53[e] ; yes: write char(<e>); write char(<s>); sy 18[s] , sy 62[blk]; write char(<BLACK>);pa b54 t a9 ; last line := true; ____a7: ; finis line:b55:pa p2 t ___ ; pack(store[p+2], 0,9,old case); 570b52:pp __ , vy (8e4) ; p:= save p; by:= normal by; -1c72: ; get a typed char:b53:pmn b____ X 1 M ; i:= i+1; R:= store[i]; _52-1b54:hv a_ X LT ; if bit(0,R) = 1 then _2 __ ____; begin M:= R; R:= 0; goto _____ ____; if last line then finis else start line end; __ ____ ____ ___a8: mb 255 D ; out: pack(R, 0, 0, 0, 10,39,0);ga b1 , hv c73 ; char:= Raddress; go to typed char; __ __a9: hv a8 X IRB ; finis: type input:= false; R:= M; go to out; _____ __ __d37: -1 ; comment constant all ones; _______e ; end type in; _ ___[Pass 1. Page 15, 19.2.65] [5. Tables] [5.1. Formats] [Pass 1 uses 3 different tables: 5.2. Programs for compound symbols not identifiable on first char. Con- tains explicit code pieces which (by help of the general mechanisms next and next 1) reads and identifies the necessary number of under- lined letters for the compound symbols which can not be identified on first letter alone. Entry points to these code pieces are given as compactions in com- pound table, deternined by first lined or barred character. 5.4. Compound table: This table contains one entry for each allowed compound symbol, for undefined compounds, for undefined bar compound, and for lined CR or SP. Each entry consists of one word holding 3 bytes : 1. Ouput value or normal action. (Output values < 512; normal actions > 511); 2. Compound action 3. Layout action Each allowed bar compound is flagged with , mark. The table is re- ferred either from the input table (for first lined or barred cha- racter) or from the codepieces 5.2. (for identified compound symbols) Reference to a barred symbol is the reference to the same lined sym- bol + 1; 5.5. and 5.6. Input table lower and upper case. Holds one word for each possible input character. Totally forbidden symbols are flagged by the f mark missing and the code for pass 1 is regarded as part of the table for totally forbid- den symbols. The format of the tablewords proper is given in the table heading.The byte combination bits holds the following booleans (1 _ t, =0 _ f); =Bit no Dec. Meaning value 39 1 Requires upper case in strings 38 2 May be fat and in fat; (letters, SP, CR, STOP, TAB) 37 4 Requires lower case in strings 36 8 Fat undetermined ( SP, CR, STOP, TAB) 35 16 end fat (:); 34 32 finish fat ((); 33 64 letter (used by comp error) 32 128 SP, CR (used by comp error)] [Pass 1. Page 16, 19.2.65] [5.2. PROGRAMS FOR COMPOUND SYMBOL NOT IDENTIFIABLE ON FIRST CHAR]c60:hsn c2 IZA ; b normal:= f; call(next); _ca 5 [e], hv 10c15 ; begin if Raddr=repr(<e>) then go to rest 3; _____ __ ____ __ __pm 11d , ca 15 [O]; if Raddr|repr(<o>) then go to long red __ = ____ __ __gm b , hv 6c15 ; boolean comp err; _______hv c18 ; comp symbol:= table[<boolean>];; go to rest 5; __ __c61:hsn c2 IZA ; e _ca 12 [l], hv 12c15 ; else ____pm 15d , ca 14 [n];gm b , hv 14c15 ; end ___hv c18 ;c62:hsn c2 IZA ; f _ca 1 [a], hv 10c15 ; false _____pm 17d , ca 15 [O];gm b , hv 14c15 ; for ___hv c18 ;c63:hsn c2 IZA ; g _hs c31 NQA ; if -, lined then call(comp rest error); __ ____hsn c1 ; go call(next 1) __ca d34[SP], hv 13c15 ; go to or go_to __ __ __ __ca 20 [t], hv 14c15 ; goto ____hv c18 ;c64:hsn c2 IZA ; i _ca 6 [f], hv 16c15 ; if __pm 20d[n], ca 14 [n];gm b , hv 6c15 ; integer _______hv c18 ;c65:hsn c2 IZA ; s _ca 20 [t], hv c66 ; st __pm 27d , ca 23 [w];gm b , hv 8c15 ; switch ______hv c18 ;c66:hsn c1 LQC ; st __ca 5 [e], hv 14c15 ; step ____pm 26d , ca 18 [r];gm b , hv 10c15 ; string ______hv c18 ;c67:hsn c2 IZA ; t _ca 8 [h], hv 12c15 ; then ____pm 29d , ca 18 [r];gm b , hv 12c15 ; true ____hv c18 ; d38:qq 58.9+60.19+58.29+60.39; constant four case shiftsd d39 = d38 - 1 ; define base (type buf); _d5: ; top of pass 1 [Pass 1. Page 17, 19.2.65] [5.3. REDEFINITION OF NORMAL ACTIONS]d c20=c20-c, c21=c21-c, c22=c22-c, c24=c24-c, c25=c25-c _d c26=c26-c, c27=c27-c, c28=c28-c, c29=c29-c, c30=c30-c _d c2=c2-c , a=c51 ; _[Definition of normal action test values for semicolon, SP, and equal]d d11=c21 ; semicolon _d d33=c27 ; equal _d d34=c30 ; SP _[5.4. COMPOUND TABLE] [ OUTPUT COMP.- LAYOUT CONST. ACTION ACTION or NORMAL ACTION NAME COMPOUND SYMBOL ]d i=d _qq c18.19+ a.29 ; undefined compoundqq 239.9+ c4.19+ a.29 ; 1 _ =qq 236.9+ c4.19+ a.29 , ; 2 | =qq 232.9+ c4.19+ a.29 ; 3 _ <qq c40.19+ a.29 , ; 4 | <qq 234.9+ c4.19+ a.29 ; 5 _ >qq c2.9+ c19.19+ c50.29 , ; 6 | >qq c2.9+ c19.19+ a.29 ; 7 ∧ (not used) _qq 229.9+ c4.19+ a.29 , ; 8 ∧ |qq 131.9+ 9c15.19+ a.29 ; 9 array _____qq c24.9+ c60.19+ a.29 ; 10 begin _____qq 117.9+ 5c15.19+ a.29 ; 11 boolean or _oolean _______ B______qq c20.9+ 5c15.19+ a.29 ; 12 comment _______qq 224.9+15c15.19+ a.29 ; 13 do __qq 160.9+ c61.19+ a.29 ; 14 else ____qq c22 ; 15 end ___qq 226.9+ c62.19+ a.29 ; 16 false _____qq 93 ; 17 for ___qq 87.9+ c63.19+ a.29 ; 18 go to or go_to or goto __ __ __ __ ____qq 100.9+ c64.19+ a.29 ; 19 if __qq 107 ; 20 integer _______qq 139.9+ 9c15.19+ a.29 ; 21 label _____qq 102.9+13c15.19+ a.29 ; 22 own ___qq 124.9+ 1c15.19+ a.29 ; 23 procedure _________qq 112.9+11c15.19+ a.29 ; 24 real ____qq 176.9+ c65.19+ a.29 ; 25 step ____qq 137 ; 26 string ______qq 135 ; 27 switch ______qq 167.9+ c67.19+ a.29 ; 28 then ____qq 225 ; 29 true ____qq 178.9+ 9c15.19+ a.29 ; 30 until _____qq 141.9+ 9c15.19+ a.29 ; 31 value _____qq 180.9+ 9c15.19+ a.29 ; 32 while _____qq 230.9+ c4.19+ a.29 ; 33 _ :qq c2.9+ c19.19+ c46.29 ; 34 _ ,qq c2.9+ c19.19+ c49.29 ; 35 _ +qq c2.9+ c17.19+ a.29 ; 36 lined SP or CR qq c2.9+ c19.19+ a.29 ; 37 undefined bar comp [Pass 1. Page 18, 19.2.65] [ 5.5. INPUT TABLE lower case ] [ FORMATS Relevant format given by flags ANYTHING WHAT SO EVER no f-bit hv SPECIAL f, ACTION qq OUTPUT COMP.- LAYOUT COMBI- f CONST. TABLE- ACTION NATION or INDEX. (a is BITS NORMAL (d is error) ACTION error) NAME. INPUT ]d i=d1 _qq c30.9+ 36d.19+ c46.29+ 138.39 f ; 0 SP qq 58.9+ d.19+ a.29+ 4.39 f ; 1 1 qq 59.9+ d.19+ a.29+ 4.39 f ; 2 2 qq 60.9+ d.19+ a.29+ 4.39 f ; 3 3 qq 61.9+ d.19+ a.29+ 4.39 f ; 4 4 qq 62.9+ d.19+ a.29+ 4.39 f ; 5 5 qq 63.9+ d.19+ a.29+ 4.39 f ; 6 6 qq 64.9+ d.19+ a.29+ 4.39 f ; 7 7 qq 65.9+ d.19+ a.29+ 4.39 f ; 8 8 qq 66.9+ d.19+ a.29+ 4.39 f ; 9 9 qq ; 10 used internally qq c2.9+ d.19+ a.29+ 10.39 f ; 11 STOP hv c13 f, ; 12 END qq c29.9+ d.19+ a.29+ 4.39 f ; 13 aa hv c8.9 + 4.39 f, ; 14 _ qq ; 15 un qq 57.9+ d.19+ c42.29+ 4.39 f ; 16 0 qq 231.9+ 3d.19+ a.29+ 4.39 f ; 17 < qq 19.9+ 25d.19+ a.29+ 70.39 f ; 18 s qq 20.9+ 28d.19+ a.29+ 70.39 f ; 19 t qq 21.9+ 30d.19+ a.29+ 70.39 f ; 20 u qq 22.9+ 31d.19+ a.29+ 6.39 f ; 21 v qq 23.9+ 32d.19+ a.29+ 70.39 f ; 22 w qq 24.9+ d.19+ a.29+ 6.39 f ; 23 x qq 25.9+ d.19+ a.29+ 70.39 f ; 24 y qq 26.9+ d.19+ a.29+ 6.39 f ; 25 z qq ; 26 un qq 200.9+ 34d.19+ a.29+ 4.39 f ; 27 , hv c16 f, ; 28 CLEAR qq c29.9+ d.19+ a.29+ 0.39 f ; 29 RED qq c2.9+ d.19+ a.29+ 10.39 f ; 30 TAB hv c11 f, ; 31 POFF qq c28.9+ d.19+ c47.29+ 4.39 f ; 32 - qq 10.9+ d.19+ a.29+ 6.39 f ; 33 j qq 11.9+ d.19+ a.29+ 6.39 f ; 34 k qq 12.9+ 21d.19+ a.29+ 70.39 f ; 35 l qq 13.9+ d.19+ a.29+ 70.39 f ; 36 m qq 14.9+ d.19+ c43.29+ 70.39 f ; 37 n qq 15.9+ 22d.19+ a.29+ 70.39 f ; 38 o qq 16.9+ 23d.19+ a.29+ 70.39 f ; 39 p qq 17.9+ d.19+ a.29+ 6.39 f ; 40 q qq 18.9+ 24d.19+ a.29+ 70.39 f ; 41 r [Pass 1. Page 19, 19.2.65] [5.5 INPUT TABLE lower case continued ] qq ; 42 un qq 28.9+ d.19+ a.29+ 6.39 f ; 43 ø qq c12 f, ; 44 PON qq ; 45 un qq ; 46 un qq ; 47 un qq 27.9+ d.19+ a.29+ 6.39 f ; 48 æ qq 1.9+ 9d.19+ a.29+ 70.39 f ; 49 a qq 2.9+ 10d.19+ a.29+ 70.39 f ; 50 b qq 3.9+ 12d.19+ a.29+ 70.39 f ; 51 c qq 4.9+ 13d.19+ c41.29+ 70.39 f ; 52 d qq 5.9+ 14d.19+ a.29+ 70.39 f ; 53 e qq 6.9+ 16d.19+ a.29+ 6.39 f ; 54 f qq 7.9+ 18d.19+ a.29+ 70.39 f ; 55 g qq 8.9+ d.19+ a.29+ 70.39 f ; 56 h qq 9.9+ 19d.19+ a.29+ 70.39 f ; 57 i hv c6 f, ; 58 LC qq 67.9+ d.19+ c44.29+ 4.39 f ; 59 . hv c7 f, ; 60 UC hv c14 f, ; 61 SUM qq c29.9+ d.19+ a.29+ 0.39 f ; 62 BLACK qq ; 63 RF d3: hv c10 f, ; 64 CR qq c2.9+ d.19+ a.29+ 4.39 ; 65 _ secondary qq c2.9+ d.19+ a.29+ 1.39 ; 66 | secondary qq c2.9+ 36d.19+ a.29+ 138.39 ; 67 CR secondary [Pass 1. Page 20, 19.2.65] [ 5.6. INPUT TABLE upper case ] [ FORMATS Relevant format given by flags ANYTHING WHAT SO EVER no f-bit hv SPECIAL f, ACTION qq OUTPUT COMP.- LAYOUT COMBI- f CONST. TABLE- ACTION NATION or INDEX. (a is BITS NORMAL (d is error) ACTION error) NAME. INPUT ]d i=d2 _qq c30.9+ 36d.19+ c46.29+ 138.39 f ; 0 SP qq 238.9+ d.19+ a.29+ 1.39 f ; 1 ∨ qq 227.9+ d.19+ a.29+ 1.39 f ; 2 ⨯ qq 228.9+ d.19+ a.29+ 1.39 f ; 3 / qq c27.9+ 1d.19+ a.29+ 1.39 f ; 4 = qq c21.9+ d.19+ a.29+ 1.39 f ; 5 ; qq 190.9+ d.19+ a.29+ 1.39 f ; 6 [ qq 182.9+ d.19+ a.29+ 1.39 f ; 7 ] qq 165.9+ d.19+ a.29+ 33.39 f ; 8 ( qq c25.9+ d.19+ a.29+ 1.39 f ; 9 ) qq ; 10 un qq c2.9+ d.19+ a.29+ 10.39 f ; 11 STOP hv c13 f, ; 12 END qq c29.9+ d.19+ a.29+ 1.39 f ; 13 AA hv c9.9+ 1.39 f, ; 14 | qq ; 15 un qq 237.9+ 7d.19+ a.29+ 1.39 f ; 16 ∧ qq 235.9+ 5d.19+ a.29+ 1.39 f ; 17 > qq 47.9+ d.19+ a.29+ 3.39 f ; 18 S qq 48.9+ d.19+ a.29+ 3.39 f ; 19 T qq 49.9+ d.19+ a.29+ 3.39 f ; 20 U qq 50.9+ d.19+ a.29+ 3.39 f ; 21 V qq 51.9+ d.19+ a.29+ 3.39 f ; 22 W qq 52.9+ d.19+ a.29+ 3.39 f ; 23 X qq 53.9+ d.19+ a.29+ 3.39 f ; 24 Y qq 54.9+ d.19+ a.29+ 3.39 f ; 25 Z qq ; 26 un qq 68.9+ d.19+ c45.29+ 1.39 f ; 2710 hv c16 f, ; 28 CLEAR qq c29.9+ d.19+ a.29+ 0.39 f ; 29 RED qq c2.9+ d.19+ a.29+ 10.39 f ; 30 TAB hv c11 f, ; 31 POFF qq 72.9+ 35d.19+ c48.29+ 1.39 f ; 32 + qq 38.9+ d.19+ a.29+ 3.39 f ; 33 J qq 39.9+ d.19+ a.29+ 3.39 f ; 34 K qq 40.9+ d.19+ a.29+ 3.39 f ; 35 L qq 41.9+ d.19+ a.29+ 3.39 f ; 36 M qq 42.9+ d.19+ a.29+ 3.39 f ; 37 N qq 43.9+ d.19+ a.29+ 3.39 f ; 38 O qq 44.9+ d.19+ a.29+ 3.39 f ; 39 P qq 45.9+ d.19+ a.29+ 3.39 f ; 40 Q qq 46.9+ d.19+ a.29+ 3.39 f ; 41 R [Pass 1. Page 21, 19.2.65] [5.6 INPUT TABLE upper case continued ] qq ; 42 un qq 56.9+ d.19+ a.29+ 3.39 f ; 43 Ø hv c12 f, ; 44 PON qq ; 45 un qq ; 46 un qq ; 47 un qq 55.9+ d.19+ a.29+ 3.39 f ; 48 Æ qq 29.9+ d.19+ a.29+ 3.39 f ; 49 A qq 30.9+ 11d.19+ a.29+ 3.39 f ; 50 B qq 31.9+ d.19+ a.29+ 3.39 f ; 51 C qq 32.9+ d.19+ a.29+ 3.39 f ; 52 D qq 33.9+ d.19+ a.29+ 3.39 f ; 53 E qq 34.9+ d.19+ a.29+ 3.39 f ; 54 F qq 35.9+ d.19+ a.29+ 3.39 f ; 55 G qq 36.9+ d.19+ a.29+ 3.39 f ; 56 H qq 37.9+ d.19+ a.29+ 3.39 f ; 57 I hv c6 f, ; 58 LC qq c26.9+ 33d.19+ a.29+ 17.39 f ; 59 : hv c7 f, ; 60 UC hv c14 f, ; 61 SUM qq c29.9+ d.19+ a.29+ 0.39 f ; 62 BLACK qq ; 63 TF hv c10 f, ; 64 CR [6. END OF TAPE]d e18 = c74 ; start pass 1 _d i = 39d5 ; i:= top pass 1+39 _d e16 = k - e70 ; e16:= first free track _d e22 = e16 - e15 ; e22 := number of tracks _e ; end pass 1 _s _