|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen GIER Computer |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen GIER Computer Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 66545 (0x103f1) Description: Bits:30000736 GIER ALGOL III PASS 7 Types: 8-hole paper tape Notes: Gier Text
[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 valuea: qq d15 t _ ; used in get next work 0qq ; 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; _8it (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 Actionb_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 + 1qq 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] = Vblockhv 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; 0cl 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 ; 0hv 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__, _____ ___ _68hv 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__, _____ ___ _54hv 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_ ___2pp 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_25hv 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, blockstackqq 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, topto R rel, do___, setmorefor] __ NTqq 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 _ _ Mqq c57.9+110b.19+ c58.29 [ 24 stepelement; stepelement, do___, __ NTsetmorefor] 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, notlast 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 inRF, 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 DXqq 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;; releaseqq 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 equalqq 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___ ___ NTqq c37.9+ 7.19+107b.29 ; 59 _ then; relation, hop___ < ___ LTqq c37.9+ 14.19+109b.29 ; 60 = then; relation, hop___ ___ NZqq c37.9+ 107b.29 ; 61 _ then; relation, hop___ > ___ LTqq c37.9+ 7.19+106b.29 ; 62 > then; relation, hop___ ___ NTqq c37.9+ 14.19+108b.29 ; 63 | then; relation, hop___ = ___ LZqq 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 DNZV 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_, = _ Xstack 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, operandqq 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; addressqq 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__ ______ _____ 0qq c24.9+ c36.19+ 84b.29+ 83b.39 [ 88 described in stack; inout 2, parameter ,descr_in_stack_block__, _____ __ _____ _____ 0described_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; constantqq119b.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 valuerounded, 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; endpassqq 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 usedqq 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 toRF 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, releaseqq 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, releaseqq 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, releaseqq 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___, = = _ _ _____ LTrelease]qq c27.9+ 36d.19+ 10b.29 ; 29 b in RF; release, srf, mt_neg___ _ _ __ ___ LTqq c8.9+ 36d.19+ 10b.29 [ 30 a and b in cell; top to RF rel,srf, mt_neg___] _ _ __ ___ LTqq 10b.9+ c27.19+ c27.29 [ 31 a=0, b in RF; mt_neg___, release, __ ___ LTrelease]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, __ ___ LTrelease]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 ___ Md43: 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,___2d57: 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, topto 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, ___ _68pm, gm_c__] _ __ _54d63: qq 61b.9+ 45d.19+ 64b.29+ c27.39 [int exp, rad in RF; grf_c__, pm, ___ _54 _gm_c__, release] __ _68d64: qq 45d.9+ 64b.19+ 45d.29+ 63b.39 [int exp in cell; pm, gm_c___, pm, _ __ _ 68 _gm_c__] __ _54d66: 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 ___ _35tkf_____nkf___] ___-29, ___ 39d8: qqd 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 ; _