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

⟦9c01d75e5⟧ Bits:30000736 GIER ALGOL III PASS 7, 8-hole paper tape

    Length: 66545 (0x103f1)
    Description: Bits:30000736 GIER ALGOL III PASS 7
    Types: 8-hole paper tape
    Notes: Gier Text

GIER Text (HTML)

[27. dec. 1965]
                      [PASS 7]
b k =e15+e70,i=205e13,a30,b30,c90,d70 _
d e17=i _
[The following are output byte values]
d d10=70 [clear], d11=27 [pm UA], d12=68 [clear R] _
d d13=69 [clear RF], d14=1 [constant], d15=771[p rel] _
d d16=772 [p rel], d17=40 [arnf], d18=41 [arn] _
d d19= 3 [end exp], d20=47 [ps], d21=28 [gs UA] _
d d22=45 [pm], d23=17 [end address expr],d24=75 [tk1] _
d d25=259 [p rel], d26=258[abs adr], d27=5 [s rel] _
d d29=5 [s rel], d30=2 [abs adr], d31=640[operand descr.] _
d d32=-254[abs adr], d33=73 [end single do], d34=72 [end no] _
d d35=120 [take for label],d37=121[take nonsense], d38=123[end pass] _
[The following are input byte values]
d d28=80 [address], d36=91 [std.proc.no parameters] _
d d39=39 [proc;] _
[a-1] qq 6.9+e79.19-e82.19 ; operand for take value
a: qq d15 t _ ; used in get next work 0
qq ; byte 1 qq ; byte 2 qq 512 t 768 ; operand Vin UA qq 512 t 896 ; operand Vin UV [5a] qq 256 ; used in get next w qq 640 t 768 ; operand Ain UA qq t 128 ; qq 1 t 256 ; 2.0 [auxiliary stack] ; qq d15 , ; constant term address [10a] qq ; running lower bound qq d15 , ; running coefficient 2 qq ; constant term (may be value) qq d15 , ; length address qq ; length (may be value) [15a] qq d15 , ; running coefficient qq t 256 ; 1.0 b5: qq ; work table [18a] qq , ; [19a] qq d15 , ; length position [20a] qq d15 , ; array address [21a] qq d15 , ; dope address [22a] hs e5 ; error print on [23a] qq , qq e55 ; overflow [24a] hv 22a , hv 22a ; initiil alue for call 0 [2 PASS 7] c74:arn(e1) t 1 IZB ; start pass 7: hs e2 LA ; initial stack reference:= input; ga b20 , pp d8 ; p:= bottom of operand stack; pm d38 DX ; output(endpass); hs e3 ; call (input ); hs c21 , qq a1 ; prepare return to next;
grn d_ t 1 M ; initialise operand stack; _8
it (r-1) , bs 39e25 ; hv r-2 ; pm 24a ; cell 0:= jump to error print gm 0 MA ; on overflow;
hv c51 ; goto blockstack; ____
[_entral_interpreter. The program instructions sit in the actionsstack, 4 C______ ___________
instructions to a word. The instructions are in general interpreted in the following sequence: 8 9 10 11 stackbottom, a-marked 4 5 6 7 current action word 1 2 3 Two special entries may change this sequence. Skip: The first following action byte in the same word is skipped. Next skip: The first following action byte is executed. All following ac- tions in the same word are ignored. The actionwords may be stacked in two ways. An inputbyte causing a look- up in the input control table and a storing of the table word in the stackbottom. This is the entry nextin. Actionwords are stacked explicitly in some actions. The instructions may be interpreted in three ways. They are distinguished in the tables by using a b-, c- or d- name as base address and in the notes by using full underlining, no underlining or partial underlining. Form Value Action
b_name -256 to -1 Output(256 + b-name>) _-____
c-name 0 to 511 Call action at address c + <c-name>
d-name -512 to -257 Call output instruction (512 + <d-name>) _ _ _
Output instruction will output the top operand followed by the instruc- tion number (e.g. 512 + <d-name>). Finally the top operand is released from the operand stack. Formats in operand stack. ------------------------- kind operandbyte part 2 part 3 class bits: 0-2 3-9 10-19 20-29 40-41 V in R 100 0 0 0 R V in RF 010 0 0 0 R V in W 110 3.9 rel addr 0 no clear A in W 110 4.9 rel addr 0 no clear V abs 010 2.9 blockno block0-rel clear or no clear V local 010 3.9 blockno p-rel clear or no clear V block 000 5.9 blockno s-rel clear or no clear V in UV 100 7.12 (0) 0 clear V in UA 100 6.12 (0) 0 clear take value 000 6.9 last used s-rel no clear constant 1 bits 0.39 contain constant the value class : R constant clear no clear bits 40-41 : 00 11 10 01 Storing of a complete operand is in the notes described in this way: operand := <kind>,<part 2>,<part 3>,<class>;] [4 PASS 7] a1: , ps a1 ; prepare return to next; c: ;
b1: pmn d_ XV ITA ; next: if current actionword = 0 then _2 __ ____
[address of curr actword] ; goto next actionword; ____
a2: pm 18a V ; after nextin: hv a3 LZ ; current action byte:= ga b2 , cl 10 ; part1 (current actionword); gr (b1) ; shift current actionword 1 byte;
qq V NZ ; if current actionword = 0 __
qq (b1) t -1 NA ; ∧ address of curr actword | bottom =
; then address of curr actword ____
; := addr of curr actword - 1;
grn(b1) LZA ; if next skip then current actionword:=0; __ ____
b2: pmn _ DXV 256 LTA ; if current actionbyte _ 0 then 0 __ > ____
[current actionbyte] ; switch to action[current actionbyte];
hvn(b2) t c ; if current actionbyte _ -256 then __ > ____
hv e3 NT ; begin output(current actionbyte + 256); _____
; goto next end; ____ ___
c1: hs c5 ; output instruction: call (output operand); pm (b2) D 256 ; output (current actionbyte + 512); hs e3 X ;
c27:pmn p XV NZB ; release: if -, no release then __ ____
arn a2 V IZB ; begin p:= p - 1; if class[p+2] = clear _____ __
pp p-1 ; ∨ class[p+1] = const then return; ____
hr s1 LA ; end; ___
pan b12 t d2 NC ; if class[p+1] = R ∨ no release then __ ____
hr s1 NT ; begin seet R not used; _____
; no release:= false; return end; _____ ___
gt r2 ; if kind[p+1] = VinW ∨ kind[p+1] = AinW __
pm 256 DX ; then ____
b3: ns _ , ck s _ ; release work location in 0 0
[wbase 1] ; worktable[part 2(operand[p+1])-wbase 1]; sc b5 , hr s1 ; return; a3: pmn(b1) VX t-1 NA ; next actionword:
; if address of curr actword | bottom then __ = ____
; begin address of curr actword:= _____
; address of curr actword - 1;
; next skip:= false; goto next end; _____ ____ ___
c2: arn(e1) V 1 IOA ; nextin: hv b1 IZA ; hs e2 LA ; current actionword:=
ga b , ps a1 ; actiontable[input]; next skip:= false; _____
b: pmn _ Xt d1 ITA ; RC:= marks; goto after nextin; 0 ____
[current inputbyte] ; comment marks are used in +, -, ⨯, / _______
hv a2 IRC ; and operands; c3: pa (b1) , hh a1 ; skip: part1(current actionword):= =;
; goto next; ____
c4: hhn a1 IZA ; next skip: next skip:= true; goto next; ____ ____
[5 PASS 7] c5: pmn p X ITA ; output operand:
hv a16 LC ; if class [p] = constant then goto outconst; __ ____ ____
tk 2 ITB ; if kind [p] = VinUV∨kind [p] = VinUA __
a10:cl 18 V NTA ; ∨ kind [p] = AinUA then goto out operand byte; ____ ____
hv a4 NTB ; if kind [p] = VinW ∨ kind [p] = AinW then __ ____
cl 8 LTA ; output (part 2)
a5: hs e3 ; else begin output (part 3); ____ _____
cln -10 NTA ; prepare output of part 2 end; ___
hs e3 NTC ; if kind [p] = Vblock then output (part 2); __ ____
cln -10 V ; prepare output of operand byte; a4: tk 1 ; out operand byte: hv e3 ; output (operand byte); return; a16:cl 30 X ; outconst: ar d14 DX ITC ; set constant operand byte; hs e3 ; output (part 4); output (part 3);
cln -10 ; goto output remaining 3 bytes; ____
hs e3 ; cln -10 , hv a5 ; b12: ;
c6: pm d_ ITA ; clear R: R was used:= kind[R used in] = VinR; _2
[R used in] ;
a7: pmn b5 XV NC ; if class[R used in] = R then __ ____
hr s1 ; begin _____
hs a6 ; call (get next work); hs e3 ; output (w rel); operand[R used in] := gm (b12) MB ; VinW, w rel, 0, no clear;
pm d12 DV LTA ; if R was used then output (clear R) __ ____
pm d13 D ; else output (clear RF); ____
pa b12 t d2 ; set R not used;
hv e3 X ; end; return; ___
[The work table consists of a single machine word. Bit 0 is always 1. Bit n is 1 if working location n is occupied, 0 otherwise. The machine in- struction nk with work table in the R-register will shift R until first free working location is in bit 1.] c7: pmn b5 X ; get next work: a6: nk b13 , ar 5a ; scan work table for first free working loc;
b13:tk _ , gr b5 ; reserve work; 0
[wrel] ;
b14h:pm(b13) DX _ ; Radr:= w rel:= w + wbase 2; 0
[wbase 2] ; it (b13) , pt a ; form descr. of working loc;
it (b13) , bs (b6) ; if minimum w > w rel then __ ____
b6: qq _ t -1 ; minimum w := minimum w - 1; 0
[minimum w] ; pm a , hr s1 ; M:= descr of working loc; return; [10.1.66] [pass 7, page 6] c8: pa b2 V d17-256 ; top to RF release: current actionbyte:= arnf; ; skip next line; c9: pa b2 t d18-256 ; top to R release: current actionbyte:= arn;
pm p ; if class [p] = R then __ ____
pa b12 V d2 NC ; begin set R not used; unstack; return end _____ ___
pm (b12) V ITA ; else ____
pp p-1 , hr s1 ; hs a7 NC ; call (clear R);
hv c1 ; goto output instruction; ____
c10:arn p , sr 3a ; top to UA rel: if kind [p] = VinUA then __ ____
pa b2 V d20-256NZ ; begin unstack; return end; _____ ___
pp p-1 , hr s1 ; current actionbyte:= ps; hs c1 ; call (output instruction); pm d21 DX ; output (gs UA); hv e3 ; return; c11:pm 256 DV ; stack VinRF: Vin:= VinRF; ; skip next line; c12:pm 512 D ; stack VinR: Vin:= VinR; gm p1 M ; operand [p+1]:= Vin, 0, 0, R; pp p1 , gp b12 ; p:= R used in:= p + 1; return; hr s1 ; c13:pm 3a V ; stack VinUA: Vin:= VinUA; skip next line; c14:pm 4a ; stack VinUV: Vin:= VinUV; gm p1 MA ; operand [p+1] := Vin, 0, 0, clear; pp p1 , hr s1 ; p:= p + 1; return; c15:pm p X IQC ; exchange: R:= operand [p]; pm p-1 ; M:= operand [p-1]; gr p-1 MQC ; operand [p-1]:= R;
qq (b12) V 1 NC ; if class [p-1] = R then __ ____
qq (b12) t -1 NQC ; Rused in:= R used in + 1
qq IQC ; else if class [p] = R then ____ __ ____
gm p MQC ; R used in:= R used in - 1; hr s1 ; operand [p]:= M; return; [7 PASS 7]
c16:pa b10 , hv c19 ; clear UAUV: blocklimit:= 0; goto clear; ____
c17:pa b10 V 511 ; total clear: blocklimit:= big; goto clear; ____
c18:pa b10 t -128 ; clear UA: blocklimit:= part 2 (operand VinUV); c19:pm (b12) ITA ; clear: hs a7 NC ; clear R if used; gp b9 ; i:= p; pmn p XV ITA ; get operand [p]; a8: ;
b9: pmn _ Xt -1 ITA ; next clear: if class [i] = noclear 0 __
[running index for clear] ; ∨ class [i] = constant then ____
hv a8 LB ; begin i:= i - 1; goto next clear end; _____ ____ ___
hr s1 NA ; if class [i] = R then return; __ ____
gt b11 ; b10: ;
b11:bs _ t _ ; if blocklimit _ part 2 (operand[i]) then 0 0 __ < ____
[blocklimit, blockno] ;
tk 2 V ITB ; begin i:= i - 1; goto next clear end; _____ ____ ___
hv a8 ; if kind [i] = VinUV ∨ kind [i] = VinUA __
hv a9 LTA ; ∨ kind [i] = AinUA then goto save UAUV; ____ ____
hs a10 ; call (output operand);
a11:pm d22 D ITA ; output save: addrop:= false; _____
a12:hs e3 X ; output (pm); hs c7 ; output store instr: call (get next work); hs e3 ; output (w rel); gm (b9) MB ; operand[i]:= VinW, wrel, 0, no clear;
pa (b9) t d16 LTA ; if addop then kind [i] := AinW; __ ____
pm d10 D ; output (gm);
hs e3 X ; i:= i - 1; goto next clear; ____
hv a8 ; ; save UAUV: addrop:= kind [i] = AinUA;
a9: tk 1 ITA ; if addrop then __ ____
hs e3 NTA ; begin output (operand byte[i]); _____
hv a11 NTA ; goto output save end; ____ ___
pm d11 D ; output (pm UA);
hv a12 ; goto output store instr; ____
c20:pmn(e1) X 1 ; input 2: byte 2:= input; hs e2 LA ; ga 2a ; c21:pmn(e1) X 1 ; input 1: byte 1:= input; return; hs e2 LA ; ga 1a , hr s1 ; [8 PASS 7] c22:pmn(e1) X 1 ; inout 4: output (input); hs e2 LA ; hs e3 ; c23:pmn(e1) X 1 ; inout 3: output (input); hs e2 LA ; hs e3 ; c24:pmn(e1) X 1 ; inout 2: output (input); hs e2 LA ; hs e3 ; c25:pmn(e1) X 1 ; inout 1: output (input); hs e2 LA ; hv e3 ; return;
c26:pm p X ; prepare assign: if class [p] = R then __ ____
pa b12 V d2 NC ; set R not used else ____
hv a13 NZ ; if operand [p] | 0 then goto assign var; __ = ____ ____
pa b4 V -10LZ ; if operand [p] = 0 then assignkind := grn else __ ____ ____
pa b4 V 10 LT ; if kind [p] = VinR then assignkind := gr else __ ____ ____
pa b4 NZ ; assignkind:= grf; pp p-1 , hr s1 ; p:= p - 1; return; a13:pa b4 t 20 ; assign var: assignkind:= gm; pa b2 t d22-256 ; current actionbyte:= pm;
hv c1 ; goto output instruction; ____
[c27: release, see page 2]; c28:pm p-1 X ; two operands: not used;
hv c8 NA ; if class [p-1] = clear __
nc d27 NB ; ∧ kind [p-1] = Vblock
hv c8 ; then begin ____ _____
pp p-1 ; p:= p - 1; hs c8 ; call (top to RF release);
hs c11 ; call (stack VinRF); p:= p + 1 end; ___
pp p1 , hv c8 ; goto top to RF release; ____
c29:pm p ; to cell and RF:
hv c6 NC ; if class [p] = R then goto clear R; __ ____ ____
hs c6 ; call (clear R); pa b2 t d17-256 ; current actionbyte:= arnf;
hvn c1 IZB ; no release:= true; goto output instruction; ____ ____
[9 PASS 7] c30:pm (b8) D ; array: gm p1 MC ; operand [p+1]:= subcount, 0, 0, const; pp p1 ; p:= p + 1; pa b8 t -1 ; subcount:= -1; c31:arn 2a , ck 20 ; operand: stackrel [p+1]:= byte 2;
qq V LRB ; if operand | variable ∧ operand | own then __ = = ____
gr p1 V MB ; class [p+1] := no clear else ____
gr p1 MA ; class [p+1] := clear;
pm 1a X ; if byte 1 = current blocknumber __
b7: ca __ V NRA ; ∧ operand | own then -1 = ____
[current blocknumber] ;
qqn V ; kind [p+1]:= Vlocal else ____
pan p1 V d25 ; if byte 1 = 0 ∨ operand = own then __ ____
pa p1 V d26 LZ ; kind [p+1] = Vabs else ____
pa p1 t d27 NZ ; kind [p+1]= Vblock; it (1a) , pt p1 ; blockno [p+1]:= byte 1;
pp p1 , hv c2 ; p:= p + 1; goto nextin; ____
c32:pmn(e1) X 1 ; procedure:
hs e2 LA ; if input address then __ ____
nc d28 , hh a14 ; begin _____
qq (1a) t 1 ; byte 1:= byte 1 + 1;
pa 2a t -1 ; byte 2:= -1; goto operand; ____
a14:hv c31 , is (1a) ; end change operand to value funct.des; ___
it s1 , pa b10 ; blocklimit:= byte 1 + 1; qq (e1) V -1 ; save inputbyte; skip next line; c33:it (1a) , pa b10 ; formal: blocklimit:= byte 1 hs c19 ; call (clear); hs c13 ; call (stack VinUA); pm 2a X ; hs e3 ; output (byte 2)
pm 1a X ; if byte 1 = current blocknumber then __ ____
ca (b7) , hv c ; goto next; ____
hv a15 LZ ; if byte 1 | 0 then __ = ____
pm 1a ; begin _____
hs e3 X ; output (blocknumber); pm d29 DVX ; output (s rel)
a15:pm d30 DX ; end else output (abs adr); ___ ____
pa (b1) , hv e3 ; skip next action; return; c34:pan r3 X 3 ; constant: arn(e1) t 1 ; p:= p + 1; hs e2 LA ; operand [o]:=
bt _ t -1 ; input, input, input, input, constant; 0
cl 10 , hv r-3 ; goto nextin; ____
cl -30 , pp p1 ; gr p MC ; hv c2 ; [10 PASS 7]
c35:pm p ITA ; address: if kind [p] = VinUA then __ ____
pa p V d31LTA ; kind [p]:= AinUA else ____
gm p MB ; class [p]:= no clear;
hv c ; goto next; ____
c36:pm (e1) X ; parameter: if blockno = 0 then __ ____
hv c4 LZ ; goto next skip; ____
hv c3 ; goto skip; ____
c37:arn p ; relation: if operand [p] = 0 then __ ____
pm 842 DV LZ ; begin a:= 6; b:= 4; c:= 5 end else _____ ___ ____
pm 176 DV NC ; if class [p] = R then __ ____
; begin a:= 1; b:= 3; c:= 0 end _____ ___
pm 320 D NZ ; else begin a:= 2; b:= 4; c:= 0 end; ____ _____ ___
arn p-1 X IZB ; if operand [p-1] = 0 then __ ____
tk 3 V LZB ; i:= b else ____
tk 6 NC ; if class [p-1] = R then i:= c __ ____
ck -7 , ga r4 ; else i:= a; ____
arn(b1) , ga r4 ; i:= i + next actionbyte; tk 10 , gr (b1) ; skip next actionbyte; qq (b1) t 1 IZB ; stack new action (i + relation table base);
is _ ; goto next; 0 ____
pmns_ Xt d3 ITA ; 0
hv a2 IRC ;
c38:pm p-1 ; boolean op: if class [p-1] = R then __ ____
hv c15 NC ; goto exchange; ____
hr s1 ; return;
c39:pm p-1 ; plus times: if class [p-1] = R then __ ____
hs c15 NC ; call (exchange); c40:pm p-1 ; minus divide:
arnf p LC ; if class [p-1] | R ∨ class [p] | R then __ = = ____
pp p-1 V LC ; goto top to RF release; ____
hv c8 ; p:= p - 1; arf p V NRC ; operand [p]:=
; (if add then operand [p+1] + operand[p] __ ____
srf p V NRA ; else if sub then operand [p+1] - operand [p] ____ __ ____
mkf p V LRC ; else if mult then operand [p+1]⨯operand [p] ____ __ ____
dkf p LRA ; else operand [p+1]/operand [p]); ____
grf p ; clear remaining actionword; grn(b1) , hr s1 ; return; [11 PASS 7] c41:arn p IQC ; endexpr: remove shield; pp p-1 ; p:= p - 1;
gr p MQC ; if class [p] = R then __ ____
qqn(b12) V -1 NC ; begin R used in:= R used in - 1: _____
; goto skip end; ____ ___
hv c3 LC ; if class [p] = constant ∨ kind [p] = Vabs __
hv c3 NT ; ∨ kind [p] = Vlocal ∨ kind [p] = Vblock then ____
; goto skip; ____
pp p-1 , sr 4a ; p:= p - 1;
hv c4 LZ ; if kind [p] = VinUV then goto next skip; __ ____ ____
pm d23 DX ; output (end address expr);
ps c2-1 , hv e3 ; goto nextin; ____
c42:pm p X ; goto: if kind [p] = VinUA then __ ____
ck 10 V NT ; begin p:= p - 1; goto next skip end; _____ ____ ___
pp p-1 , hv c4 ; if part2 (operand[p]) = current blockno then __ ____
ca (b7) , hv c3 ; goto skip; ____
pm d40 , gm (b1) ; current actionword:= non local goto;
hv c ; goto next; ____
c43:qqn IZB ; while assign: no release:= true; ____
c44:pmn d41 XV ; colon equal: assign word:= grf, gr, grn; ; skip next line; c45:pmn d42 X IZB ; for assign: assign word:= grf M, gm M, grn M;
b4: ck _ , ga b2 ; no release:= true; 0 ____
[assign kind] ; current actionbyte:= ; byte (assignkind, assign word);
hv c1 ; goto output instruction; ____
c46:pm d43 ; end subscripts: stack new action (top to RF rel.
gm (b1) t 1 ; round, indexcall); _____ _ _ _ _ _
c47:pm d5 IRC ; subscr comma:
arn (b8) D ; if subcount _ 0 then __ > ____
gm (b1) t 1 NT ; stack new action (+); hr s1 ; return; c48:hs c8 ; not last subscript: call (top to RF release);
b8: pm _ DXt 1 ; subcount:= subcount + 1; 0
[subcount] ;
ar d44 V NZ ; if subcount = 0 then __ ____
hvn c IZB ; begin no release:= true; goto next; _____ ____ ____
; comment remaining actions: _______
; mkf(_. stackV in RF; end; _ _ ) ___
ck -10 , gr (b1) ; current action word:=
; ps_), indexmult, stack V in RF; _ ( _________
hvn c IZB ; no release:= true; goto next; ____ ____
c49:it (p) , pa b8 ; last subscript: subcount:= part 1 (operand[p]); pm 3a ; operand [p] := VinUA, 0, 0, clear;
gm p MA ; goto nextin; ____
hv c2 ; [14.1.66] [pass 7, page 12] ; entier: current actionword:=
c50:pm d6 , gm (b1) ; top to RF rel, stack VinRF, round, float; _____ _____
hv c3 ; goto skip; ____
c51:pm b5 , gm p1 ; blockstack: stack work table; pm (b6) D ; operand [p+2]:= gm p2 M ; minimum working, wbase 2, 0, R;
arn b14 , gt p2 ; comment shield for clear; _______
it (1a) , pa b6 ; minimum working:= byte 1; it (1a) t -1 ; wbase:= byte 1 - 1; pa b3 , pp p2 ; p:= p + 2; it (1a) , pt b14 ; wbase 2:= byte 1 - 1; pm 512 D ; work table := no reserved; gm b5 , hr s1 ; return; c52:qq (b7) t -1 ; blockunstack: currentblockno:= currentblockno - 1; pm (b6) D -2 ; output (minimum working - 2); arn p , ga b6 ; minimum working := part 1 (operand[p]); gt b14 , ck 10 ; wbase 2:= base 1:= part 2 (operand[p]); ga b3 , arn p-1 ; work table:= operand [p-1]; gr b5 , pp p-2 ; p:= p - 2; hv e3 X ; return; c53:pm (b7) D 1 ; beglocal: current blockno:= currentblockno + 1; hv e3 X ; output(current blockno); return; c54:pm d33 D ; for: operand [p+1]:= end single do, 0, 0, R; gm p1 M ; hs c7 ; call (get next work); gm p2 MB ; operand [p+2]:= VinW, wrel, 0, no clear; pp p2 , hr s1 ; p:= p + 2; return; c55:arn p-1 , tk 10 ; get forlabel: hs e3 ; output (wrel in operand[p-1]); pm d35 DX ; output (take for label); hv e3 ; return;
c56:hs c29 ; until: call (to cell and RF); comment step to RF; _______
pmn p-1 IZB ; no release:= true; ____
gm p1 MB ; operand [p+1] := operand [p+2] gm p2 MA ; := operand [p+3]:= operand [p-1];
gm p3 MA ; comment copy descr. of controlled variable. _______
pp p3 , hr s1 ; Used by actions: arf, grf _L_, acn _A; _ _ _ _ V A _ _ M
; p:= p + 3; return; [13 PASS 7]
; stepelement: comment operand stack contains _______
; p - 5 : end do ; p - 4: work, for label ; p - 3: controlled, simple or AinW ; p - 2: step value ; p - 1: controlled, copy of p - 3 ; p: until value; c57:acn p-1 MA ; class [p-1]:= clear;
arnfp-2 ; if class [p-2] = const then __ ____
pm d45 V LC ; stack new action (top to RF rel,
; srf, release) else _ _ ____
pmn d46 ; stack new action (top to RF rel, srf, mkf); _ _ _ _
gm (b1) t 1 ; if class [p-2] = const ∧ operand [p-2] < 0 then __ ____
hv c15 LT ; goto exchange; ____
hr s1 ; return; c58:pa p-2 t d34 ; set more for: replace end single do by end do; hr s1 ; return; c59:pm d47 ; simple for: stack new action (while assign,
gm (b1) t 1 ; get forlabel, doabs, forlabel); _____ ________
hv c26 ; goto prepare assign; ____
c60:arn p1 , tk 10 ; enddo: output (wrel in operand[p+1]);
hs e3 ; comment contains forlabel; _______
pp p-1 , pm p1 ; output (enddo or end single do); hv e3 X ; p:= p - 1; return; c61:pm d59 , ud a27 ; real exp: stack new action(stack VinUV,
; arnf, mkf, exp); _ _ _ _ ___
pm d58 ; stack new action (clear UAUV,
a27:gm (b1) t 1 ; exchange, top to RF rel, ∧real); |____ _
hr s1 ; return;
c62:pmn p X ; integexp: if class[p] = const __
sr 8a LC ; ∧ (operand[p] = 2.0 ∨ operand[p] = 3.0) then ____
sr 7a NZ ; begin _____
hv a28 NZ ; p:= p - 1; pp p-1 ; call (to cell and RF); hs c29 ; current action word:=
pm d50 , gm (b1) ; mkf, mkf, stack VinRF; _ _ _ _
arn p1 , sr 8a ; if operand[p+1]: 2.0 then __ ____
hv c3 LZ ; goto skip; ____
hvn c IZB ; no release:= true; goto next ____ ____
a28:pm p X ; end; ___
pm d62 V NC ; if class[p] = R then __ ____
pm p-1 XV ; begin stack new action (grf_c__, _____ ___ _68
hv a27 ; release, pm, gmc__); return; end; _ ___54 ___
pm d63 V NC ; if class [p-1] = R then __ ____
qq V ; begin stack new action (grf_c__, _____ ___ _54
hv a27 ; pm, gmc__, release); return; end; _ ___68 ___
hs c6 ; call (clear R);
pm d64 , hv a27 ; stack new action (pm, gmc__, pm, gmc__); _ ___68 _ ___54
; return; [14 PASS 7] c63:it (1a) , pa b15 ; bounds: number of arrays:= byte 1; it (2a) , pt 9a ; constant term address:= VinW, byte 2, 0, clear; it (2a) t 1 ; running coefficient 1:= pt 15a , it 1 ; VinW, byte 2 + 1, 0, clear; it (2a) , pa b16 ; final coef address:= byte 2 + 2; pa b17 t 2 ; bound type:= 2; pm 15a , gm 11a ; running coefficient 2:= length address gm 13a , pa b18 ; := VinW, byte 2 + 1, 0, clear;
hv c2 ; still constant:= true; goto nextin; ____ ____
c64:arnf p-1 ; boundcomma: if lower bound | const then __ = ____
hv a17 LC ; begin p:= p + 1; _____
pp p1 , pm 16a ; operand[p]:= 1.0, const; gm p MC ; stack new action (top to RF rel,
pm d51 ; no release, srf, stack Vin RF); _ _
gm (b1) t 1 ; stack new action (plustimes, arf, _ _
pm d5 , hv a18 ; stack VinRF); return;
a17:srf 16a ; end; ___
grf p1 MC ; operand[p+1]:= lower bound - 1.0, const;
hr s1 LZ ; if lower bound = 1.0 then return; __ ____
pp p1 , pm d7 ; p:= p + 1; stack new action (exchange,
a18:gm (b1) t 1 IRC ; minus divide, srf, stack VinRF); _ _
hr s1 ; return c65:qq (b17) t 1 ; last bound: bound type:= bound type + 1;
; comment operand stack contains: _______
; p - 1: li = lower bound ; p : ci: uppwer - lower + 1; c66:pm p-1 IRC ; not last bound: gm 10a MRC ; running lower bound:= operand [p-1]; gp b19 , pm p ; save top:= p;
b18:can _ V LC ; if still constant ∧ class [p] = const then 0 __ ____
[still constant] ; pa b18 V 1 ; switch to proper bound type action;
is (b17) , hh sa19 ; still constant := false; _____
b17:pm _ t d53 ; 0
[bound type] ; current actionword:= gm (b1) ; boundword [boundtype]; pm (b17) t 4 ; boundtype:= boundtype + 4; gm (b1) t 1 ; stack new action (boundword [boundtype]); hs c8 ; call (top to RF rel); pp 15a , hr s1 ; p:= address of running coef1; return;
; comment the new actions will work on _______
; the aux. stack generating part of code ; for length and constant term. The ; aux. stack is described on 1 pass 7; [10.1.66] [pass 7, page 15] c67:pm 13a ; reset: length:= length address; gm 14a MA ; constant term:= const term address;
pm 9a ; comment possibly a const. description is _______
gm 12a MA ; replaced by VinW; c69: ;
b19:pp _ Vt -2 ; after bounds: p:= save top - 2; 0
[save top] ; qq t 1 ; increase address of running coef 1; arn r-1 , ac 15a ; increase address of running coef 2;
ac 11a , pa b17 ; boundtype:= 0; goto nextin; ____
a19h:hv c2 , arnf 14a ; entries to constant boundtype actions:
hv a21 , arnf 14a ; goto constant not first not last; ____
hv a22 , pm p-1 ; goto constant not first last; ____
hv a26 , arnf p ; goto constant first not last; ____
tkf -29 , pp 14a ; constant first last: length:= round(ci); gr 14a MC ; p:= address of length; arnf10a , tkf -29 ; constant term:= gr 12a MC ; round (running lower bound);
pm d52 , hv a23 ; stack new action (pm, gm, _ _
; pm, count p2); goto next; _ ____
a21:mkf p , grf 14a ; constant not first not last: length:= length⨯ci; arnf12a , mkf p ; constant term:= arf p-1 ; constant term⨯ci + li;
grf 12a MC ; goto store ci; ____
hv a24 ; a22:mkf p , tkf -29 ; constant not first last: gr 14a MC ; length:= round (length⨯ci); arnf12a , mkf p ; constant term:= arf p-1 , tkf -29 ; round (constant term⨯ci + li);
gr 12a MC ; stack new action (pm, gm, pm, count p2); _ _ _
pm d52 , ud r3 ; output store ci: a24:hs c5 ; call (output operand);
pp 15a , pm d57 ; comment outputs ci; _______
a23:gm (b1) t 1 ; stack new action (pm, gm); __ _
hv c ; p:= address of running coef1; goto next; ____
a26:gm 12a MC ; constant first not last: constant term:= li; pm p ; length:= ci;
gm 14a MC ; goto after bounds; ____
hv c69 ;
s ; _
[16 PASS 7] c70:pm d54 , gm (b1) ; end decl: current action word:=
hv c ; round, gr, end const decl; _____ _
; goto next; ____
c68:pm 13a , gm 19a ; end const decl: length position:= length address;
b16:it _ , pt 21a ; dope address:= 0
[final coef address] ; VinW, final coef addr, 0, clear; qq (r-1) t -2 ; final coef addr:= final coef addr - 2; c76:it (r-2) t -1 ; decl array: final coef addr:= final coef addr - 1; pt 20a , it -1 ; array address:=
b15:bt _ , hv a25 ; VinW, final coef addr, 0, clear; 0
[number of arrays] ; number of arrays:= number of arrays - 1;
pp (b19) t -2 ; if number of arrays < 0 then __ ____
hv c2 ; begin p:= save top - 2; goto nextin end; _____ ____ ___
a25:pm d56 , gm (b1) ; current actionword:= qq__m_hvs_, decl array; __-1_ ___2
pp 21a , pm d55 ; stack new action (take_last_used, ____ ____ ____
gm (b1) t 1 ; ar_D, gr_M, reserve space); _ _ _ _ _ _ _ _ _
hv c ; p:= address of dope address;
; goto next; ____
; comment the actions will work on dope _______
; address, array address and length position; c77:pp p-2 , hr s1 ; count p2: p:= p - 2; return; c71:pp p-1 , hr s1 ; count p: p:= p-1; return;
c72:hrn s1 IZB ; no release: no release:= true; return; ____
c78:grn p1 M ; shield: operand[p+1]:= 0, 0, 0, R; pp p1 , hr s1 ; p:= p + 1; return;
; comment shield for later clear actions; _______
c79:pm (e1) X 1 ; test for procedure:
hs e2 LA ; if nextin = proc_ then __ ____; ____
ca d39 , hv c ; goto next; ____
pm d37 D ; output (take nonsense);
hs e3 X ; save inputbyte; goto stack VinRF; ____
qq (e1) V -1 ; c80:hs c8 ; trykproc 1 par: call (top to RF rel);
hv c11 ; goto stack VinRF; comment not used; ____ _______
b20:
c73:pm _ DX ; end pass 7: 0
[initial stackreference] ; hs e3 ; output (initial stack reference);
pm __e__ X -1 ; scan operand stack 40_25
hv r2 NZ ; for first not used location; hv r-2 NC ; nt d8 , it (r-3) ; pass inf 1:= max depch of stack;
pa 2e4 , hv e92 ; goto endpass; ____
[10.1.66] [pass 7, page 17] c75:arn(e1) , hv e3 ; last out: not used;
c81:pm p , ps c-1 ; jump on boolean: if class[top] = R then __ ____
pm d24 VDX NC ; output(tk1);
hv c ; goto next; ____
hv e3 ;
c82:pm d66 , ud a27 ; take value rounded: stack new action (formal, _ _ _
; arnf____, round); ____(UA) _____
c83:hs c21 ; take value: call (input 1); ck 20 , ar a-1 ; operand [p+1] := operand [p+2]:= gr p1 MB ; Vblock+AinUA, last used, gr p2 MB ; blockrelative, no clear;
pp p2 , hv c ; p:= p + 2; goto next; ____
c84:pm p IQC ; array in normal mode: gm p-1 MQC ; remove shield; p:= p - 1; pm d9 , pp p-1 ; current actionword:=
gm (b1) , hv c ; top to R rel, inout 2, call_st_proc___param, ____ __ ____ 1R_____
; stack VinUV; goto next; ____
c85:pm d68 , hv a27 ; integer divide: stack new action (dkf, _ _
; srf_c_____, arf_c__, tkf____nkf___); ___ _35VNT ___ _35 ___-29,___ 39
; return; d2:qq , ; bottom of action stack. qq ; qq ; qq ; qq ; [Prepare symbolic names used in tables]
d d=512[base for d-operations], b=768 [base for b-operations] _
[The following definitions for address relative to c]
d c3 =c3 -c _
d c6 =c6 -c, c7 =c7 -c, c8 =c8 -c, c9 =c9 -c, c10=c10-c _
d c11=c11-c, c12=c12-c, c13=c13-c, c14=c14-c, c15=c15-c _
d c16=c16-c, c17=c17-c, c18=c18-c, c19=c19-c, c20=c20-c _
d c21=c21-c, c22=c22-c, c23=c23-c, c24=c24-c, c25=c25-c _
d c26=c26-c, c27=c27-c, c28=c28-c, c29=c29-c, c30=c30-c _
d c31=c31-c, c32=c32-c, c33=c33-c, c34=c34-c, c35=c35-c _
d c36=c36-c, c37=c37-c, c38=c38-c, c39=c39-c, c40=c40-c _
d c41=c41-c, c42=c42-c, c43=c43-c, c44=c44-c, c45=c45-c _
d c46=c46-c, c47=c47-c, c48=c48-c, c49=c49-c, c50=c50-c _
d c51=c51-c, c52=c52-c, c53=c53-c, c54=c54-c, c55=c55-c _
d c56=c56-c, c57=c57-c, c58=c58-c, c59=c59-c, c60=c60-c _
d c61=c61-c, c62=c62-c, c63=c63-c, c64=c64-c, c65=c65-c _
d c66=c66-c, c67=c67-c, c68=c68-c, c69=c69-c, c70=c70-c _
d c71=c71-c, c72=c72-c, c73=c73-c, c75=c75-c _
d c76=c76-c, c77=c77-c, c78=c78-c, c79=c79-c, c80=c80-c _
d c81=c81-c, c82=c82-c, c83=c83-c, c84=c84-c, c85=c85-c _
[19.11.65] [PASS 7. page 18 . Input control table] [Notation: c <integer> in code corresponds to no underlining in notes and calls the execution of the program indicated. <integer>b in code corresponds to full underlining in notes and calls for output of the value of integer. <integer>d corresponds to partial underlining in notes and calls for execution of OUTPUT OPERAND RELEASE followed by output of the integer. The notes conform to the following syntax: <input byte value> <input byte meaning> ; <actions>]
d1: qq c53.9+ 93b.19 ; 0 beglocal; beglocal, beglocal ________
qq118b.9 ; 1 endlocal; endlocal ________
qq c17.9+ c25.19+ 78b.29 [ 2 begcall; totalclear, inout 1,
begcall] _______
qq c21.9+ 98b.19+ c51.29 [ 3 begproc; input 1, begproc, _______
blockstack]
qq c25.9+129b.19+ c52.29+ 90b.39 [ 4 endprocedure; inout 1, ps_p, __ _
blockunstack, endproc] _______
qq c25.9+129b.19+ c52.29+ 91b.39 [ 5 endtypeprocedure; inout 1, ps_p, __ _
blockunstack, endtypeproc] ___________
qq c21.9+ c51.19 ; 6 begblock; input 1, blockstack
qq c52.9+ 92b.19 ; 7 begblock; blockunstack, endblock ________
qq113b.9 ; 8 gotobypasslabel; goto_bypasslabel ____ ___________
qq 96b.9 ; 9 labeldeclaration; labeldeclaration ________________
qq c55.9+102b.19 ; 10 whilelabel; getforlabel, forlabel ________
qq c78.9+ 97b.19 ; 11 begex; shield, begex _____
qq c17.9+100b.19 ; 12 if; totalclear, if __
qq104b.9 ; 13 else statement; else ____
qq 94b.9 ; 14 end else statement; endelse _______
qq c54.9+101b.19 ; 15 for; for, releasefor __________
qq c35.9+ c18.19 ; 16 := for; address, clear UA qq c59.9+ c58.19 ; 17 simplefor; simplefor, setmorefor qq c59.9+114b.19+ 99b.29 [ 18 simplefor and do; simplefor,
bypassabs, dolabel] _________ _______
qq c26.9+ c43.19 ; 19 while; prepareassign, whileassign qq c81.9+ c9.19+110b.29+ c58.39 [ 20 whileelement; jump on Boolean, top
to R rel, do___, setmorefor] __ NT
qq c81.9+ c9.19+112b.29+ 99b.39 [ 21 whileelement and do; jump on Boolean,
top to R rel, bypass___, dolabel] ______ LT _______
qq c26.9+ c45.19+ c55.29+102b.39 [ 22 step; prepare assign, for assign,
get forlabel, forlabel] ________
qq c56.9+ 31d.19+ 48d.29+ 49d.39 ; 23 until; until, arf, grf _L_, acn _A _ _ _ _ V A _ _ M
qq c57.9+110b.19+ c58.29 [ 24 stepelement; stepelement, do___, __ NT
setmorefor] qq c57.9+112b.19+ 99b.29 [ 25 stepelement and do; stepelement,
bypass___, dolabel] ______ LT _______
qq c27.9+ c27.19+ c60.29+ 95b.39 [ 26 enddo; release, release, enddo,
bypasslabel] ___________
qq c46.9+ c49.19 [ 27 endsubscripts; endsubscripts, last subscript] qq c47.9+ c48.19+ 54d.29+ c11.39 [ 28 subscriptcomma; subscriptcomma, not
last subscript, mkf(_, stack V in RF] _ _ )
qq c8.9+ 14b.19+ 60d.29+ c13.39 [ 29 endswitchdes; top to RF rel, round, _____
switchcall, stack V in UA] _ _ _ _ _
d6: qq c8.9+ c11.19+ 14b.29+ 23b.39 [ 30 round; top to RF rel, stack V in
RF, round, float] _____ _____
[19.11.65] [PASS 7. page 19, Input control table 2]
qq c6.9+ 29d.19+ c11.29 ; 31 abs; clear R , annf, stack V in RF _ _
qq c17.9+ c84.19 [ 32 std.proc. 1 array par; total clear, array normal]
qq c8.9+ 22b.19+ c50.29 [ 33 entier; top to RF rel. srf_half, ___ ____
entier] qq c9.9+ c12.19+ 18b.29 [ 34 -,; top to R rel, stack V in R,
ab_____] __ 0 DX
qq c6.9+ 30d.19+ c11.29 ; 35 neg; clear R , srnf, stack V in RF _ _
qq c41.9+ 13b.19+ c8.29+ 15b.39 [ 36 end RF expr; endexpr, endexpr, top _______
to RF rel, end____expr] ___ RF ____
qq c41.9+ 13b.19+ c9.29+ 16b.39 [ 37 end R expr; endexpr, endexpr, top _______
to R rel, end___expr] ___ R ____
qq c10.9+ 17b.19+ c71.29 [ 38 endaddressexpr; top to UA rel,
endaddressexpr, count P] ______________
qq c27.9 ; 39 proc;; release
qq c8.9+104b.19 ; 40 else RF expr; top to RF rel, else ____
qq c9.9+104b.19 ; 41 else R expr; top to R rel, else ____
qq c10.9+104b.19 [ 42 else address expr; top to UA rel,
else] ____
qq c8.9+ 94b.19+ c11.29 [ 43 end else RF expr; top to RF rel,
endelse, stack V in RF] _______
qq c9.9+ 94b.19+ c12.29 [ 44 end else R expr; top to R rel,
endelse, stack VinR] _______
qq c10.9+ 94b.19+ c13.29 [ 45 end else address expr; top to UA rel,
endelse, stack V in UA] _______
qq c81.9+ c9.19+105b.29 [ 46 then; jump on Boolean, top to R rel,
then] ____
qq c26.9 [ 47 prepare assign arith; prepare assign] qq c26.9 ; 48 prepare assign bool; prepare assign qq c44.9 ; 49 :=; colon equal
qq c42.9+ 25b.19+ 47d.29+ 26b.39 [ 50 goto; goto, gotocomputed, ps, ____________ _
gotolocal] _________
d5: qq c39.9+ 31d.19+ c11.29 ; 51 +; plustimes, arf, stack V in RF _ _
d7: qqfc15.9+ c40.19+ 36d.29+ c11.39 [ 52 -; exchange, minus divide, srf, _ _
stack V in RF]
qqfc39.9+ 32d.19+ c11.29, ; 53 ⨯; plustimes, mkf, stack V in RF _ _
qq c15.9+ c40.19+ 37d.29+ c11.39,[ 54 /; exchange, minus divide, dkf, _ _
stack V in RF]
qq c15.9+ c8.19+ c85.29+ c11.39 [ 55 _; exchange, top to RF rel, integ :
div, stack V in RF]
qq c62.9+130b.19+ c11.29 ; 56 ∧int; integ exp, integ, stack V in RF | _____
qq c61.9+ c14.19 ; 57 ∧real; real exp, stack V in UV |
qq c37.9+ 106b.29 ; 58 then; relation, hop___ ___ NT
qq c37.9+ 7.19+107b.29 ; 59 _ then; relation, hop___ < ___ LT
qq c37.9+ 14.19+109b.29 ; 60 = then; relation, hop___ ___ NZ
qq c37.9+ 107b.29 ; 61 _ then; relation, hop___ > ___ LT
qq c37.9+ 7.19+106b.29 ; 62 > then; relation, hop___ ___ NT
qq c37.9+ 14.19+108b.29 ; 63 | then; relation, hop___ = ___ LZ
qq c37.9+ 7.19+ 19b.29+ c12.39 ; 64 <; relation, sreps, stack V in R _____
qq c37.9+ 7.19+ c12.29 ; 65 _; relation, stack V in R <
qq c37.9+ 21.19+ 20b.29+ c12.39 [ 66 =; relation, arn________, stack ___ 512 DNZ
V IN R]
qq c37.9+ c12.29 ; 67 _; relation, stack V in R >
qq c37.9+ 19b.29+ c12.39 ; 68 >; relation, sreps, stack V in R _____
qq c37.9+ 28.19+ 19b.29+ c12.39 ; 69 |; relation, sreps, stack V in R = _____
[19.11.65] [PASS 7. page 20, Input control table 3]
qq c38.9+ c9.19+ 33d.29+ c12.39 [ 70 ∧; boolean, top to R rel, ab, _
stack V in R]
qq c38.9+ c9.19+ 34d.29+ c12.39 [ 71 ∨; boolean, top to R rel, mb, _
stack V in R]
qq c38.9+ c9.19+ 35d.29+ c12.39 [ 72 _; boolean, top to R rel, mb_, = _ X
stack V in R] qq c18.9+ c20.19+ c30.29 ; 73 array; clear UA, input 2, array qqfc20.9+ c31.19 ; 74 variable; input 2, operand qqfc20.9+ c31.19, ; 75 own; input 2, operand qq c20.9+ c31.19 ; 76 switch; input 2, operand qq c20.9+ c31.19 ; 77 label; input 2, operand
qq c20.9+ c33.19+ 3b.29+ 55b.39 [ 78 formal; input 2, formal, p_rel, _ ___
formal] ______
qq c20.9+ c32.19+ 3b.29+ 55b.39 [ 79 procedure; input 2, procedure,
p_rel, formal] _ ___ ______
qq c35.9 ; 80 address; address
qq c25.9+ 76b.19 ; 81 localswitch; inout 1, localswitch ___________
qq c21.9+115b.19 [ 82 local procedure; input,
programpoint] ____________
qq115b.9 ; 83 local label; programpoint ____________
qq 12b.9 ; 84 blind; blind _____
qq115b.9 ; 85 expression; programpoint ____________
qq c24.9+ c36.19+ 82b.29+ 81b.39 [ 86 simple or label; inout 2, parameter,
simple_block__, simple] ______ _____ 0 ______
qq c24.9+ 82b.19 ; 87 own param; inout 2, simple_block__ ______ _____ 0
qq c24.9+ c36.19+ 84b.29+ 83b.39 [ 88 described in stack; inout 2, parameter ,
descr_in_stack_block__, _____ __ _____ _____ 0
described_in_stack] _________ __ _____
qq c24.9+ 80b.19 ; 89 std.proc.par; inout 2, standardproc ____________
qq c22.9+ 77b.19 ; 90 constant par; inout 4, parameterconst ______________
qq c16.9+ c24.19+ 87b.29+ c14.39 [ 91 st.proc. no par; clear UAUV, inout 2,
call_st_proc_no_par, stack V in UV] ____ __ ____ __ ___
qq c8.9+ c24.19+ 88b.29+ c14.39 [ 92 st.proc.1 par; top to RF rel, inout 2,
call_st_proc___par, stack V in UV] ____ __ ____ 1 ___
d9: qq c9.9+ c24.19+ 89b.29+ c14.39 [ 93 st.proc. 1R par; top to R rel,
inout 2, call_st_proc_____par, ____ __ ____ 1 R ___
stack V in UV] qq c16.9 ; 94 prepfunc; clear UAUV qq c34.9 ; 95 constant; constant
qq119b.9+ c24.19+ 85b.29+ c14.39 [ 96 end proc. call; return_inform, ______ ______
inout 2, endcall, stack V in UV] _______
qq119b.9+ c24.19+ 79b.29+ c14.39 [ 97 end st.call; return_inform, inout 2, ______ ______
end_call_st_, stack V in UV] ___ ____ __.
qq c20.9+ c63.19 ; 98 bounds, input 2, bounds qq c64.9+ c66.19+ c69.29 [ 99 boundcomma; boundcomma, not last bound, after bounds] qq c64.9+ c65.19+ 46d.29+ c68.39 [100 end bounds; boundcomma, last bound,
gm, end const decl] _
qq c82.9+ 23b.19+ 42d.29 [101 take value rounded; take value
rounded, float, grf] _____ _ _
qq c83.9+ 55d.19+ 65b.29+ 46d.39 [102 take value unrounded; take value,
formal, pm____, gm] _ _ _ __(UA) _
qq c73.9 ;103 endpass; endpass
qq 95b.9 ;104 bypasslabel; bypasslabel ___________
qq ;105 take nonsense; next qq 12b.9+ 67b.19+ c79.29 ;106 not used qq 44b.9+ 67b.19+ c79.29 ;107 not used qq 11b.9+ 67b.19+ c79.29 ;108 not used qq 30b.9+ 67b.19+ c79.29 ;109 not used
qq 64b.9+ 67b.19+ c79.29 ;110 outcr; punch, test for proc _____
qq c6.9+ 74b.19+ 86b.29+ c11.39 ;111 lyn; clearR, lyn, float_addr,stackVinR ___ _____ ____
F qq c35.9+ c17.19+132d.29+ c11.39 ;112 gier; address, total clear
[ hs, stack V in RF ] _
[19.11.65] [PASS 7. page 21, Relation generator table]
[<then, _then, _, >] > >
d3: qq 36d.9+ c27.19 ; 0 a|0∧b|0, a in RF; srf, release = = _ _
qq c27.9+ 36d.19+ 11b.29 ; 1 b in RF; release, srf, mt_neg _ _ __ ___
qq c15.9+ c8.19+ 36d.29 [ 2 a and b in cell; exchange, top to
RF el, srf] _ _
qq c27.9+ 11b.19+ c27.29 ; 3 a=0, b in RF; release, mt_neg, release __ ___
qq c6.9+ 30d.19+ c27.29 ; 4 b in cell; clear R, srnf, release _ _
qq c27.9+ c27.19 ; 5 b= 0, a in RF; release, release qq c27.9+ c8.19 ; 6 a in cell; release, top to RF rel
[_then, >then, <, _] < <
qq 36d.9+ 11b.19+ c27.29 [ 7 a|0∧b|0, a in RF, srf, mt_neg, = = _ _ __ ___
release]
qq c27.9+ 36d.19 ; 8 b in RF; release, srf _ _
qq c8.9+ 36d.19 ; 9 a and b in cell; top to RF rel, srf _ _
qq c27.9+ c27.19 ; 10 a=0, b in RF; release, release qq c8.9+ c27.19 ; 11 b in cell; top to RF rel, release
qq c27.9+ 11b.19+ c27.29 ; 12 b=0, a in RF; release, mt_neg, release __ ___
qq c27.9+ c6.19+ 30d.29 ; 13 a in cell; release, clear R, srnf _ _
[=then, |then] =
qq 36d.9+ c27.19 ; 14 a|0∧b|0, a in RF; srf, release = = _ _
qq c27.9+ 36d.19 ; 15 b in RF; release, srf _ _
qq c8.9+ 36d.19 ; 16 a and b in cell; top to RF rel, srf _ _
qq c27.9+ c27.19 ; 17 a=0, b in RF; release, release qq c8.9+ c27.19 ; 18 b in cell; top to RF rel, release qq c27.9+ c27.19 ; 19 b=0, a in RF; release, release qq c27.9+ c8.19 ; 20 a in cell; release, top to RF rel [=]
qq 36d.9+ c27.19 ; 21 a|0∧b|0, a in RF; srf, release = = _ _
qq c27.9+ 36d.19 ; 22 b in RF; release, srf _ _
qq c8.9+ 36d.19 ; 23 a and b in cell; top to RF rel, srf _ _
qq c27.9+ c27.19 ; 24 a=0, b in RF; release, release
qq c6.9+ 38d.19+ c27.29+ c3.39 [ 25 b in cell; clear R, snn(f), release, _ _ _
skip] qq c27.9+ c27.19 ; 26 b=0, a in RF; release, release
qq c6.9+ c27.19+ 38d.29+ c3.39 [ 27 a in cell; clear R, release, snn(f), _ _ _
skip]
[|] =
qq 36d.9+ 10b.19+ c27.29 [ 28 a|0∧b|0, a in RF; srf, mtneg___, = = _ _ _____ LT
release]
qq c27.9+ 36d.19+ 10b.29 ; 29 b in RF; release, srf, mt_neg___ _ _ __ ___ LT
qq c8.9+ 36d.19+ 10b.29 [ 30 a and b in cell; top to RF rel,
srf, mt_neg___] _ _ __ ___ LT
qq 10b.9+ c27.19+ c27.29 [ 31 a=0, b in RF; mt_neg___, release, __ ___ LT
release]
qq c6.9+ 39d.19+ c27.29 ; 32 b in cell; clear R, ann(f), release _ _ _
qq 10b.9+ c27.19+ c27.29 [ 33 b=0, a in RF; mt_neg___, release, __ ___ LT
release]
qq c6.9+ c27.19+ 39d.29 ; 34 a in cell; clear R, release, ann(f) _ _ _
[19.11.65] [PASS 7. page 22, Additional control words]
d40: qq 47d.9+ 24b.19 ;non-local goto: ps, goto_nonlocal _ ____ ________
d41: qq 42b.9+ 43b.19+ 46b.29+ 44b.39 ;assign; grf, gr, gm, grn_f_ ___ __ __ ___(_)
d42: qq 50b.9+ 52b.29+ 51b.39 ;for assign; grf__, gm__, grn__ ___ M __ M ___ M
d43: qq c8.9+ 14b.19+ 59d.29 [last subscr; top to RF rel,
round, indexcall] _____ _ _ _ _ _
d44: qq 0b.9+ 71b.19+ c11.29+ 53d.39 [not first subscr; indexmult, stack _________
V in RF, ps_)] _ (
d45: qq c8.9+ 36d.19+ c27.29 [constant step; top to RF rel, srf, _ _
release]
d46: qq c8.9+ 36d.19+ 32d.29 ;variable step; top to RF rel, srf, mkf _ _ _ _
d47: qq c43.9+ c55.19+111b.29+102b.39 [simple element; while assign, get for lab el,
doabs, forlabel] _____ ________
d50: qq 32d.9+ 32d.19+ c11.29 ;exp 2 and 3 ; mkf, mkf, stack V in RF _ _ _ _
d51: qq c8.9+ c72.19+ 36d.29+ c11.39 [not constant low; top to RF rel,
no release, srf, stack V in RF] _ _
d52: qq 45d.9+ 46d.19+ 45d.29+ c77.39 ;end constant b; pm, gm, pm, count p2 _ _ _
d53: qq 32d.9+ 31d.19+ 42d.29+ c67.39 [not first not last 2; mkf, arf, grf, _ _ _ _ _ _
reset]
[1] qq 40d.9+ 32d.19+ 31d.29+ c70.39 ;not first last 2; arnf, mkf, arf, end dec _ _ _ _ _ _
l
[2] qq 46d.9+ c67.19 ;first not last 2; gm, reset _
[3] qq 40d.9+ c70.19 ;fir0t last 2; arnf, enddecl _ _
[4] qq 42d.9+ 32d.19+ 42d.29+ 40d.39 ;not first not last 1; grf, mkf, grf, arnf _ _ _ _ _ _ _ _
[5] qq 42d.9+ 32d.19+ 14b.29+ 43d.39 ;not first last 1; grf, mkf, round, gr _ _ _ _ _____ _
[6] qq c77.9+ 42d.19+ c77.29+ 45d.39 [first not last 1; count p2, grf, _ _
count p2, pm] _
[7] qq c77.9+ 14b.19+ 43d.29+ c77.39 [first last 1; count p2, round, gr, _____ _
count p2]
d54: qq 14b.9+ 43d.19+ c68.29 [finish bounds; round, gr, end const decl] _____ _
d55: qq125b.9+126d.19+127d.29+128d.39 [set array ident 1; take_last_used, ar_D, ____ ____ ____ _
gr_M, reserve space] _ _ _ _ _ _ _ _
d56: qq124b.9+ c76.19 ;set array ident2; qq___hvs_, decl array __-1,___2
d57: qq 45b.9+ 46d.19 ;end const 2; pm, gm __ _
d58: qq c16.9+ c15.19+ c8.29+ 103b.39 [real exp 1; clear UAUV, exchange, top
to RF rel, ∧real] |____ _
d59: qq c14.9+ 40d.19+32d.29+ 122b.39 ;real exp2; stackVinUV, arnf, mkf, exp _ _ _ _ ___
d62: qq 62b.9+ c27.19+ 45d.29+ 63b.39 [int exp, exp in RF; grf_c__, release, ___ _68
pm, gm_c__] _ __ _54
d63: qq 61b.9+ 45d.19+ 64b.29+ c27.39 [int exp, rad in RF; grf_c__, pm, ___ _54 _
gm_c__, release] __ _68
d64: qq 45d.9+ 64b.19+ 45d.29+ 63b.39 [int exp in cell; pm, gm_c___, pm, _ __ _ 68 _
gm_c__] __ _54
d66: qq 55d.9+ 21b.19+ 14b.29 [take value rounded; formal, _ _ _
arnf____, round] ____(UA) _____
d68: qq 37d.9+ 56b.19+ 57b.29+ 58b.39 [int divide; dkf, srf_c______, arf_c__, _ _ ___ _35 VNT ___ _35
tkf_____nkf___] ___-29, ___ 39
d8: qq
d e18=c74, e16=k-e70+1 ; _
e ; _
d i=5e21, e22=e16-e15-1 ; _
qq e15.9-e24.9+e18.19+e22.36+e22.34+205e13.39;
d e15=e16 ; _
s ; _