DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen GIER Computer

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen GIER Computer

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦9df4ef61b⟧ Bits:30000730 GIER ALGOL III PASS 1, 8-hole paper tape

    Length: 55637 (0xd955)
    Description: Bits:30000730 GIER ALGOL III PASS 1
    Types: 8-hole paper tape
    Notes: Gier Text, Has10

GIER Text (HTML)

[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 USE
NZA _ 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 _1
hv 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 0
sy 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); -1
hr 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 2
hv 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; return
hv 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; return
hv 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; return
hv 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]; -1
ck 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; -1
pm (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; -36
hs a29 ; if word count > 1 then call(track full); __ ____
b36:pp __ IK ; str adr:= str adr + 1; -1
b38:gm _d__ t 1 MOC ; pack(str buf[str adr], 0,39,M, 2_43
pi 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 __ ; -1
hs e3 X ; output(part2(R)); pm p DX ; hs e3 ; output(part3(R));
b41:pm __ DX ; -1
hr 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); _43
it 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); 570
b52:pp __ , vy (8e4) ; p:= save p; by:= normal by; -1
c72: ; get a typed char:
b53:pmn b____ X 1 M ; i:= i+1; R:= store[i]; _52-1
b54: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 shifts
d 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 compound
qq 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 ; 27 10 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 _