|
|
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 - metrics - 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 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
_