Loaded 59352 bytes for KAB20.txt
Relocated 17
Finished
Reached end of file
=============== Second pass
===========================
5377 W0 = E2815
7640 Y0 = E4000
5377 YA0 = E2815
5640 YY0 = E2976
6640 YZ0 = E3488
12574 H0 = E5500
0/0: 200 266 100 ST 11104; TL 600; START 1600;
H0 = E 5500; [GUESS
YA 160; [CHANGED FROM YS [GUESS - probably could be much less hux
YY 511; YZ 511;
4/0: 203 266 112|203 266 112 RESTART; J1; J1;
PROGRAM;
[ --- All OUT70 diagnostics suppressed so that this will work with any KDF9 emulator
[ --- diagnotic code is commented out with [
[ --- The P3xx routnes are "commnted out" by means of an early FINISH;
[ inserted to clear store below Z50 down to H0 - probably not needed
[
3100/0: 304 053 055|304 025 174|036|170 371|304 000 001|170 364|017|017|017|017|041|313 365 174|017|017|177 360
SETAZ50; SETAH0; -; =RC15; Set1; =I15; *900; ZERO; =H0M15Q; *J900C15NZS; [ hux
[this is the design coding version documented by Les Hodges
[
[This code is almost certainly the first coding of KAB20 to be prepared for test on a 'real' KDF9.
[
[This version includes all my comments/notes/diagnostic routine calls etc. which - if further work is needed may be useful
[
[The interface to the Tape I/O (Prompt/Panacea) was through a routine P1, which is replaced by JSE70
[This shows how early the design was, predating the I/O support
[B20 at this stage of the design was coded to run in 5-phases (B21 to B25?] - this version merges them into one single KAB20
[an additional 'phase'- P106 - has been added to correct a design issue in KAB01/KAB02 which marked procedures a 'special' even when they
[included procedure calls, and needed a full stack call, and to add a Recursive procedure marker when recursion was
[detected in the 'Call Matrix'
[
[also to overcome bugs/design: modified to set a procedure as recursive if it has a parameter which is a formal procedure
[
[P300 et seq. are diagnostic print outs of sections of the memory
[
[Many of the comments relate to changes made to this text, which 'correct' the code in the hand written B20 document
[There are several pages of Documentation at the start of the surviving photos
[Photo 740 Index of Common Subroutines
[Photo 741 Index Of Failures - Brick 1
[Photo 742 Index Of Failures - Brick 2
[Photo 743 Index Of Failures - Brick 3
[Photo 744 Index Of Failures - Brick 4
[Photo 745 P1 V-stores
[Photo 746 Peripheral Handling Routines, Operating Codes
[Photo 747 P2 Fetch Next/Previous Word
[Photo 748 P2 Fetch Next/Previous Word
[Photo 749 P2 Fetch Next/Previous Word
[Photo 750 P2
[Photo 751 P2
[Photo 752 P2 BLOCK DIAGRAM
[Photo 753 P3
[Z10; SET3;SHL+14; OR; =Z10; [ set to ask B24 to output Call matrix and LP hux
3104/2: 200 326 254|200 327 216|200 327 317 JSP101; JSP102; JSP103; [JSP104; [P104 needs testing hux
3105/5: 200 330 245|200 330 326 JSP105; (jsp305;) JSP106; [jsp305; [P106 added to set Recursive marker in LP hux
[NEXT BRICK
3106/5: 220 246 110|052|205 266 106 310; J311EN; ERASE; J310; [protective empty NS to remove any floaters left by this or previous bricks - hux
311;
3110/0: 304 004 222|170 364|304 336 010|170 362|171 376|200 260 106 SETB2222; =I15; SETB157010; =M15; Q15; JE70; (enter brick 22);
1; [RESTART
=== Start P2V10; at address 1622/3126
P2V10;[this is the original typed up from the doc.
V-store at 03113 = 015 240 016 237 000 000 V0=QAYZ0/AYZ255/0; (BUFFER 1);
V-store at 03114 = 016 240 017 237 000 000 V1=QAYZ256/AYZ511/0; (BUFFER 2);
V-store at 03117 = 242 104 243 304 140 004 V4=B5044224361060004; (F/B/C);
V-store at 03120 = 000 000 000 000 340 004 V5=B160004; (TRANSFER);
V-store at 03121 = 000 000 000 000 110 004 V6=B44004; (CBN);
V-store at 03123 = 000 000 000 000 152 004 V8=B65004; (SKIP TO BLOCK N);
V-store at 03124 = 000 000 175 001 000 200 V9=B17500200200; [ invalid error code 35321;
V-store at 03125 = 242 004 243 304 140 004 V10=B5040224361060004; (F/B/C); [USED TO SET AN OPEN FORWARD AT CURRENT POSITION hux
3126/0: 300 006 115 V2;
3126/3: 170 376 10; =Q15; [get next word
3126/5: 242 366 140 J7C15Z;
3127/2: 102 360 M0M15Q;
3127/4: 171 376 Q15;
3130/0: 301 006 115 =V2;
3130/3: 041 ZERO;
3130/4: 301 006 116 =V3;
3131/1: 200 360 000 EXIT1;
3131/4: 300 006 114 1; V1; [open chan 4 double from start
3132/1: 300 006 117 V4;
3132/4: 170 376 =Q15;
3133/0: 171 370 C15;
3133/2: 300 006 113 6; V0;
3133/5: 170 376 =Q15;
3134/1: 170 362 =M15;
3134/3: 171 376 Q15;
3134/5: 200 320 106 JSE70;
3135/2: 203 266 142 J13;
3135/5: 300 006 121 V6; [get CBN
3136/2: 200 320 106 JSE70;
3136/5: 203 266 142 J13;
3137/2: 301 006 122 =V7;
3137/5: 205 266 141 J8;
3140/2: 300 006 120 7; V5; [next block
3140/5: 200 320 106 JSE70;
3141/2: 203 266 142 J13;
3141/5: 042 8; DUP;
3142/0: 203 146 126 J10≠Z;
3142/3: 300 006 124 13; V9;
3143/0: 200 260 106 JE70; [fail
3143/3: 300 006 114 2; V1; [open ch4 backwards from end used by P101 hux
3144/0: 300 006 117 V4;
3144/3: 170 376 =Q15;
3144/5: 171 364 I15; [ F/B/C
3145/1: 202 266 133 J6;
[ hux this is inserted to open ch4 forwards from current to be used by P102
22;
3145/4: 300 006 114 V1; [open ch4 FORWARDS from current and skip to block in Z20
3146/1: 300 006 117 V4;
3146/4: 170 376 =Q15;
3147/0: 171 370 C15; [F/B/C
3147/2: 300 006 113 V0;
3147/5: 170 376 =Q15;
3150/1: 170 362 =M15;
3150/3: 171 376 Q15;
3150/5: 200 320 106 JSE70;
3151/2: 203 266 142 J13;
[NOW SKIP TO BLOCK IN Z10
3151/5: 052 ERASE; [P102 does not need the (CurrentBlockNumber- CBN) result hux
3152/0: 320 013 125|164 301|300 006 123|170 376|170 364|171 376|200 320 106|203 266 142
Z10; SHL-32; V8; = Q15; =I15; Q15; JSE70; J13; [this works for formalproc hux
[v7; V8; = Q15; =I15; Q15; JSE70; J13; [ J8; [this appears to be wrong hux
3155/2: 300 006 121|200 320 106|203 266 142|205 266 141 V6; (GET CBN); JSE70; J13; J8;
[ end of addition
3157/2: 300 006 117 3; V4; [close
3157/5: 200 320 106 JSE70;
3160/2: 203 266 142 J13;
3160/5: 200 360 000 EXIT1;
3161/2: 300 006 115 4; V2; [fetch previous word initial entry
3161/5: 170 376 =Q15;
3162/1: 145 360 I15=-1;
3162/3: 140 360 M+I15;
3162/5: 140 360 M+I15;
3163/1: 203 266 164 J9;
3163/4: 300 006 116 5; V3; [fetch previous word normal entry
3164/1: 170 376 =Q15;
3164/3: 102 360 9; M0M15Q; [fetch word
3164/5: 171 376 Q15;
3165/1: 301 006 116 =V3;
3165/4: 200 360 000 EXIT1;
3166/1: 300 006 121 11; V6; [what is the present tape position
3166/4: 200 320 106 JSE70;
3167/1: 203 266 142 J13;
[flow chart has the following crossed out
[V7;-;SETB377;DUP;V2;AND;
[PERM;AND;SHL+8; OR;
3167/4: 300 006 115 V2; [current count/+-1/address of word
3170/1: 164 301 SHL-32; [count, CBN
3170/3: 164 021 SHL+8; [Bj has m-part for tape position
3170/5: 011 OR; [0/0/c|cbn
3171/0: 200 360 000 EXIT1;
12; [ this is a rewrite. Tape address in Bj has been corrected to include
[ 8 bits for the count of words not processed in the buffer
[ 8 bits for the block number hux
[this may need more work if we ever do double buffer reads
3171/3: 042 DUP; [Tape Address from Bj
3171/4: 304 000 377 SETB377; [move tape to position in N1 - count left in block|block number
3172/1: 054 AND; [required BLock Number, tape address
3172/2: 300 006 123 V8; [skip to Block N
3172/5: 170 376 =Q15;
3173/1: 170 364 =I15; [required block number
3173/3: 171 376 Q15; [N1 contains -/blockNumber/skip to block
3173/5: 200 320 106 JSE70;
3174/2: 203 266 142 J13;
3174/5: 164 361|304 000 377|054 SHL-8; SETB377; AND; [N1 contains new count in D39-47
3175/5: 300 006 120 V5;
3176/2: 200 320 106 JSE70; [transfer
3176/5: 203 266 142 J13;
3177/2: 170 376 =Q15; [ c/incr/address of word - as in a new read
3177/4: 042 DUP; [ count of words left, count of words left
[ repositioned startaddress M15 := (M15 + C15 - count words left)
3177/5: 171 370|172 362|027|172 362 C15; =+M15; NEG; =+M15; [reset the next word address
3201/0: 170 370 =C15; [set the repositioned count
3201/2: 171 376 Q15;
3201/4: 301 006 115 =V2; [to get next word in repositioned tape
3202/1: 200 360 000 EXIT1;
[END OF DOCUMENTED P2
[Photo 754 Search Level Parameters for a level L
=== Start P3V-1; at address 1667/3203
P3; [Search Level Parameters for a level L;
[ this is identical to P3 in B22
3203/0: 041 ZERO;
3203/1: 170 323 =RM13;
3203/3: 304 000 377 SETB377;
3204/0: 167 361 SHC-8;
3204/2: 065 REV;
3204/3: 320 333 055 1; Z50M13;
3205/0: 170 336 =Q13;
3205/2: 171 324 I13;
3205/4: 042 DUP;
3205/5: 170 322 =M13;
3206/1: 203 146 207 J2≠Z;
3206/4: 065 REV;
3206/5: 052 ERASE;
3207/0: 200 360 000 EXIT1;
3207/3: 043 2; DUPD;
3207/4: 320 333 053 Z52M13;
3210/1: 015 NEV;
3210/2: 054 AND;
3210/3: 203 146 204 J1≠Z;
3211/0: 065 REV;
3211/1: 052 ERASE;
3211/2: 202 360 001 EXIT2;
[Photo 755 P3 Block Diagram
[Photo 756 P4 SJNS Simulator
[Photo 757 p4 SJNS Simulator
=== Start P4V12; at address 1687/3227
P4V12; [SJNS Simulator says 11 v-stores, V0-V10??
V-store at 03212 = 000 001 000 000 377 377 V0=Q+1/0/-1;
V-store at 03213 = 000 020 000 001 015 034 V1=Q16/1/AV4U;
V-store at 03215 = 000 000 175 002 000 200 V3=B17500400200; [ invalid error 35321; hux
3227/0: 300 006 214 V2; [NORMAL ENTRY
3227/3: 170 376 3; =Q15;
3227/5: 244 366 240 J4C15Z;
3230/2: 173 000 LINK;
3230/4: 173 000 LINK;
3231/0: 164 061 SHL+24;
3231/2: 107 360 =M0M15QH;[STORE LINK
3231/4: 174 000 =LINK;
3232/0: 171 376 Q15;
3232/2: 301 006 214 =V2;
3232/5: 200 360 000 EXIT1;
3233/2: 300 006 213 2; V1; [INITIAL ENTRY
3233/5: 203 266 227 J3;
3234/2: 300 006 214|170 376 1; V2; =Q15;
3235/1: 304 000 001|172 370|141 360|171 376|301 006 214 SET1; =+C15; M-I15; Q15; =V2;
(V2;
V0;
+;
DUP;
=V2; [OBEY LINK
=Q15;)
3237/1: 104 360 M0M15H;
3237/3: 164 321 SHL-24;
3237/5: 174 000 =LINK;
3240/1: 200 360 000 EXIT1;
3240/4: 300 006 215 4; V3;
3241/1: 200 260 106 JE70; [JP1; [failure
[Photo 758 Print Phase Number
[Photo 759 Print Phase Number
[ Print Phase number - we will be running as one brick - so is not used
(P5V4;
V0=B0207000000006050;
V2=B4163450000000000;
V3=Q AV0/AV1/-17711;
V4=B17500635321;
V2;
OR;
=V1;
V3;
JSE70; [JSP1;
J1;
EXIT1;
1; V4;
JE70; [JP1; failure
)
[Photo 760 Store Word
[Photo 761 Store Word
( not used - hux - maybe a left over from when B20 ran in several phases
P6V5;
V0=Q AYY0/AYY255/-24507;
V1=Q AYY256/AYY511/0;
V2=0;
V3=B160005;
V4=B60105;
V5=B17501035321;
V2;
2; =Q15;
=M0M15Q;
J4C15Z;
Q15;
7; =V2;
EXIT1;
1; V1; [initiate write
V0;
2; JSE70; [JSP1;
J6;
J7;
4; V3;
JSE70; [JSP1;
J6;
=V2;
EXIT1;
6; V5;
JE70; [JP1; failure
3; V2; [close
=RI15;
V4;
=M15;
Q15;
JSE70; [JSP1;
J6;
EXIT1;
)
[ imported from B22 - this is a failure exit to phase control hux
=== Start P7V-1; at address 1698/3242
3242/0: 170 365 P7; =RI15;
3242/2: 304 000 200|170 362 SETB200; =M15;
3243/1: 320 013 070|041|033|047|015|011|321 013 070 Z39; ZERO; NOT; STR; NEV; OR; =Z39;
3245/0: 171 376|200 260 106 Q15; JE70;
[Photo 762 Store Word
[Photo 763
[Photo 764 Set up Level Parameters
[Phase 1 arbitrary P101; Set up Level Parameters
=== Start P101V5; at address 1708/3254
P101V5; [added a Vstore to hold the parameter, for use to test as formal proc parameter - added hux
[ hux, fix to remedy failure to set up call matrix
V-store at 03246 = 000 000 001 001 000 000 V0=B100200000;
V-store at 03247 = 001 000 000 000 002 100 V1=B20000000001100; [ was 0120; this is the )p LP entry for main hux
V-store at 03250 = 001 003 000 000 000 233 V2=B20140000000233;
V-store at 03251 = 000 000 000 000 377 377 V3=B177777;
V-store at 03252 = 000 000 000 000 000 200 V4=B200; [ replaces invalid 35321; hux
[SETB22; [phase number?
[JSP5; no need to print phase number
[set up Q10 the number of locations available for level parameters
[CLEAR Z-STORES - inserted hux
3254/0: 304 053 055|170 302|145 300|304 000 100|170 310 SET AZ50; =M12; I12=-1; SET64; = C12;
3256/0: 041|103 300|260 306 256 310; ZERO; = M0M12Q; J310C12NZ;
3257/0: 304 053 055 SETAZ50;
3257/3: 304 025 340 SETAH100;
3260/0: 036 -;
3260/1: 033 NOT;
3260/2: 027 NEG;
3260/3: 170 251 =RC10; [number of locations for Level parameters and F[l] lists Max L[i] = 100
3260/5: 041 ZERO;
3261/0: 170 343 =RM14;
3261/2: 157 355 Q14TOQ13;
3261/4: 157 354 Q14TOQ12;
3262/0: 157 353 Q14TOQ11;
3262/2: 145 300 I12=-1; [THIS IS TO SET UP THE 'NULL ENTRY IN LP LIST - which is the 'empty list'
3262/4: 041|170 376|304 377 374|170 364|171 376|323 313 055|205 327 163
ZERO; =Q15; SET-4; =I15; Q15; = Z50M12Q; JS53;
3265/2: 041|323 313 055|205 327 163|041|323 313 055|205 327 163 ZERO; = Z50M12Q; JS53; ZERO; = Z50M12Q; JS53;
3267/4: 041|170 376|304 000 003|170 370|171 376|323 313 055|205 327 163
ZERO; =Q15; SET3; = C15; Q15; = Z50M12Q; JS53;
[SET-4; = M11; [first free space in LP list - this was the original code which was out-of-date: hux
[DC15;
[Q15;
[=Z50M12Q;
[test space failure?
[JS53;
3272/2: 304 001 234 SETB634;
3272/5: 304 001 237 SETB637;
3273/2: 203 326 143 JS2P2; [initial entry to fetch next word for backward read
3273/5: 054 AND;
3274/0: 036 -;
3274/1: 200 147 173 J57≠Z; [is it end prog? If not fail
3274/4: 300 006 246 V0; [set BDC := CD := 1
3275/1: 304 000 001 SETB1; [ and Level number 1 in L[i]
3275/4: 167 361 SHC-8;
3276/0: 011 OR;
[Photo 765
3276/1: 313 345 174 =H0M14Q;
3276/4: 203 266 277 J3;
3277/1: 052 1; ERASE;
3277/2: 052 2; ERASE;
3277/3: 200 326 126 3; JSP2; [fetch next word
3300/0: 304 000 253|222 026 277 SETB253; J2=; [inserted skip ,p only relevant if inside a parameter list hux
3301/0: 042 DUP;
3301/1: 042 DUP;
3301/2: 304 000 200 SETB200;
3301/5: 054 AND;
3302/0: 221 147 111 J39=Z; [a variable, statement or declaration
3302/3: 304 000 017 SETB17;
3303/0: 054 AND;
3303/1: 304 000 014 SETB14;
3303/4: 224 027 030 J25=; [program delimiter
3304/1: 304 000 013 SETB13;
3304/4: 222 026 312 J4=; [ (p
3305/1: 304 000 016 SETB16;
3305/4: 036 -;
3305/5: 202 146 277 J2≠Z; [ test for *? hux
3306/2: 042 DUP; [KDF9 Code
3306/3: 304 000 160 SETB160;
3307/0: 054 AND;
3307/1: 203 147 175 J59≠Z; [ failure
3307/4: 164 341 SHL-16;
3310/0: 300 006 251 V3; [No. Nests no. of Q stores
3310/3: 054 AND; [ and c ->L[i-1]
3310/4: 310 345 173 H-1M14;
3311/1: 011 OR;
3311/2: 311 345 173 =H-1M14;
3311/5: 203 266 277 J3;
3312/2: 052 4; ERASE; [ )p
3312/3: 304 000 160 SETB160; [ is it a )p?
3313/0: 054 AND;
3313/1: 304 000 020 SETB20;
3313/4: 036 -;
[Photo 766
3313/5: 203 147 176 J60≠Z; [failure
3314/2: 041 ZERO; [fetch next word
3314/3: 201 266 315 J6; [ nest out close bracket p and open bracket p
3315/0: 052 5; ERASE;
3315/1: 033 6; NOT;
3315/2: 027 NEG;
3315/3: 200 326 126 7; JSP2;
3316/0: 304 000 377 SETB377;
3316/3: 054 AND;
3316/4: 304 000 233 SETB233;
3317/1: 220 026 315 J5=;
3317/4: 304 000 213 SETB213;
3320/1: 036 -;
3320/2: 201 146 321 J8≠Z;
3320/5: 027 NEG;
3321/0: 033 NOT;
3321/1: 042 8; DUP;
3321/2: 203 146 315 J7≠Z;
3321/5: 052 ERASE;
3322/0: 200 326 126 JSP2; [fetch next word
3322/3: 042 DUP;
3322/4: 304 001 330 SETB730;
3323/1: 054 AND;
3323/2: 304 000 020 SETB20;
3323/5: 221 026 277 J1=; [procedure statement
3324/2: 304 000 120 SETB120;
3324/5: 036 -;
3325/0: 203 147 177 J61≠Z; [failure
3325/3: 042 9; DUP; [procedure declaration
[ script contains an alternate entry M14; NEG;NOT;J10≤Z; hux
3325/4: 304 000 007 SETB7;
3326/1: 054 AND;
3326/2: 203 146 330 J10≠Z;
3326/5: 310 345 173 H-1M14; [script correction to H-1 etc
3327/2: 304 000 002 SETB2;
3327/5: 011 OR;
3330/0: 311 345 173 =H-1M14;
[Photo 767
3330/3: 204 326 362 10; JS17;
3331/0: 323 313 055 =Z50M12Q; [declaration to LP[k] k:=k+1;
3331/3: 205 327 163 JS53; [test space failure
3332/0: 304 000 002 SET+2; [if full rescue ?
3332/3: 170 223 =RM9;
3332/5: 202 326 161 JS4P2;
3333/2: 202 266 335 J14;
3333/5: 052 11; ERASE;
3334/0: 141 220 M-I9;
3334/2: 052 12; ERASE;
3334/3: 140 220 M+I9;
3334/5: 204 326 163 13; JS5P2; [fetch previous word
3335/2: 042 14; DUP;
3335/3: 304 001 377 SETB777;
3336/0: 054 AND;
3336/1: 042 DUP;
3336/2: 304 000 200 SETB200;
3336/5: 054 AND;
3337/0: 221 146 373 J18=Z; [is it a parameter
3337/3: 304 000 213 SETB213;
3340/0: 225 026 333 J11=; [is it open bracket p
3340/3: 304 000 253|225 026 333 SETB253; J11=; [is it a ,p amendment - hux
3341/3: 304 000 233 SETB233;
3342/0: 225 026 344 J15=; [is it close bracket p
3342/3: 304 000 230 SETB230;
3343/0: 036 -;
3343/1: 203 147 200 J62≠Z; [failure
3343/4: 304 000 003 SETB3;
3344/1: 011 OR;
3344/2: 200 266 345 J16;
3344/5: 052 15; ERASE;
3345/0: 310 345 174 16; H0M14; [extract level no from Li and insert into )p
3345/3: 304 000 377 SETB377;
3346/0: 167 361 SHC-8;
3346/2: 054 AND;
3346/3: 171 262 M11; [compute RAFW as k - 1st word current LevelParameters?
3346/5: 171 302 M12;
3347/1: 036 -;
[photo 768
[Block to be inserted between lines 4 and 6, page 5
( Z52M11;
=Q8;
M9;
SHL+8;
M8;
SETB377;
AND;
OR;
=M8;
Q8;
=Z52M11;
inserted see below
)
[Photo 769
3347/2: 167 341 SHC-16;
3347/4: 011 OR;
3347/5: 011 OR; [Level÷RAFW/)p added OR hux
3350/0: 323 313 055 =Z50M12Q;
3350/3: 205 327 163 JS53; [failure if test space full
[insert small block page 4a = photo 768
3351/0: 320 273 053 Z52M11;
[ inserted to deal with V-store allocation
3351/3: 320 013 126|042|304 000 001|056|321 013 126 Z9; DUP; SET1; +; =Z9; [INC. FIRST FREE V-STORE NUMBER hux
3353/2: 164 101|164 341|011 SHL+32; SHL-16; OR; [INSERT V-STORE FOR SPACE REQUIRED hux
3354/1: 170 216 =Q8;
3354/3: 171 222 M9;
3354/5: 164 021 SHL+8;
3355/1: 171 202 M8;
3355/3: 304 000 377 SETB377;
3356/0: 054 AND;
3356/1: 011 OR;
3356/2: 170 202 =M8;
3356/4: 171 216 Q8;
3357/0: 321 273 053 =Z52M11;
[end code insertion
3357/3: 320 273 055 Z50M11; [LP[1st wc]
3360/0: 042 DUP;
3360/1: 304 000 036 SETB36;
3360/4: 054 AND;
3360/5: 202 146 277 J2≠Z;
3361/2: 033 NOT; [set ≠ in LP[1st word current ]
3361/3: 027 NEG;
3361/4: 321 273 055 =Z50M11;
3362/1: 203 266 277 J3;
3362/4: 320 273 055 17; Z50M11; [insert K and AND LP[1st word current ]
3363/1: 170 376 =Q15;
3363/3: 171 302 M12;
3363/5: 170 364 =I15;
3364/1: 171 376 Q15;
3364/3: 321 273 055 =Z50M11;
3365/0: 310 345 174 H0M14; [construct a new word
3365/3: 170 376 =Q15; [ 1st word Current|-|L:C
3365/5: 171 364 I15; [ C,V,IA,IP,HA,*, no nests, no Qs
3366/1: 041 ZERO;
3366/2: 170 364 =I15;
3366/4: 171 262 M11;
3367/0: 170 370 =C15;
3367/2: 151 313 M12TOQ11; [1st word C := k
3367/4: 171 376 Q15;
3370/0: 323 313 055 =Z50M12Q; [new word to LP[k]
[blank line
3370/3: 205 327 163 JS53; [failure if full
3371/0: 164 361 SHL-8;
3371/2: 167 361 SHC-8;
3371/4: 323 313 055 =Z50M12Q; [BDC -> LP[k] k:=k+1
[Photo 770
3372/1: 205 327 163 JS53; [failure if Space full
3372/4: 200 360 000 EXIT1;
3373/1: 042 18; DUP; [ a parameter?
3373/2: 304 000 140 SETB140;
3373/5: 042 DUP;
3374/0: 012 PERM;
3374/1: 054 AND;
3374/2: 036 -;
3374/3: 203 147 201 J63≠Z; [failure
3375/0: 065|042|301 006 253 REV; DUP; = V5; [ DUP; =V5; save parameter, pending set Recursive - hux
[ fix to remedy failure to set up call matrix
3375/5: 323 313 055 =Z50M12Q; [parameter to LP[k] k:= k+1
[blank [failure is space full
3376/2: 205 327 163 JS53;
3376/5: 042 DUP;
3377/0: 304 000 030 SETB30;
3377/3: 054 AND;
3377/4: 042 DUP;
3377/5: 225 147 015 J21=Z; [RvIvB
3400/2: 304 000 030 SETB30;
3400/5: 036 -;
3401/0: 221 147 010 J20=Z; [switch, label or string
[inserted to set proc. recursive if it has a formal proc. parameter - hux -
[fix to remedy failure to set up call matrix
3401/3: 300 006 253 V5;
3402/0: 304 000 030 SETB30; [test for formal proc
3402/3: 054 AND;
3402/4: 304 000 020 SETB20;
3403/1: 036 -;
3403/2: 200 147 006 J19≠Z;
3403/5: 320 273 055|304 000 100|011|321 273 055|202 266 334 Z50M11; SETB100; OR; =Z50M11; J12; [end of insertion Recursion marker
3406/0: 320 273 055 19; Z50M11; [Set HA in LP[1st current word ]
3406/3: 304 000 002 SETB2;
3407/0: 011 OR;
3407/1: 321 273 055 =Z50M11;
3407/4: 202 266 334 J12;
3410/1: 304 000 007 20; SETB7;
3410/4: 054 AND;
3410/5: 304 000 002 SETB2;
3411/2: 220 027 006 J19=; [ is it a string
3411/5: 304 000 001 SETB1;
3412/2: 222 027 013 J72=; [ is it a label
3412/5: 203 147 202 J64≠Z; [ failure
3413/2: 140 220 72; M+I9; [moved 72; up one line - hux - I don't know what M9 is about
3413/4: 320 273 055 Z50M11; [switch or label
[Photo 771
3414/1: 304 000 020 SETB20;
3414/4: 011 OR; [set v - means side effect in LP[1st word current]
3414/5: 321 273 055 =Z50M11;
3415/2: 205 266 334 J13;
3415/5: 052 21; ERASE; [RvIvB
3416/0: 042 DUP;
3416/1: 304 001 000 SETB400;
3416/4: 054 AND;
3416/5: 202 146 334 J12≠Z; [by value
3417/2: 304 000 142 SETB142;
3417/5: 140 220 M+I9;
3420/1: 200 027 006 J19≠; [integer by name?
3420/4: 171 322 M13;
3421/0: 220 147 006 J19=Z; [is j = 0?
3421/3: 052 ERASE;
3421/4: 320 313 056 Z49M12; [LP[k-1]
3422/1: 042 DUP; [has the formal parameter by name been assigned to?
3422/2: 170 376 =Q15;
3422/4: 171 370 C15;
3423/0: 171 322 M13;
3423/2: 170 371 =RC15;
3423/4: 017|017|312 365 340 *22; H100M15Q;
3424/3: 223 027 026 J24=;
3425/0: 177 360 23; J22C15NZS;
3425/2: 065 REV;
3425/3: 321 313 056 =Z49M12;
3426/0: 200 267 006 J19;
3426/3: 041 24; ZERO;
3426/4: 311 365 337 =H99M15;
3427/1: 065 REV;
3427/2: 304 002 000 SETB1000;
3427/5: 011 OR;
3430/0: 065 REV;
3430/1: 200 267 025 J23; [ end test formal parameter assignment test
3430/4: 052 25; ERASE;
3430/5: 042 DUP;
[Photo 772
3431/0: 304 001 000 SETB400;
3431/3: 054 AND; [D39
3431/4: 201 147 070 J36≠Z;
3432/1: 042 DUP;
3432/2: 304 000 160 SETB160;
3432/5: 054 AND;
3433/0: 042 DUP;
3433/1: 225 147 064 J34=Z; [begin block
3433/4: 304 000 020 SETB20;
3434/1: 220 027 052 J29=; [end block
3434/4: 304 000 140 SETB140;
3435/1: 223 027 062 J33=; [begin for statement
3435/4: 304 000 160 SETB160;
3436/1: 224 027 047 J28=; [end for statement
3436/4: 304 000 100 SETB100;
3437/1: 224 027 046 J27=; [begin procedure
3437/4: 304 000 120 SETB120;
3440/1: 036 -;
3440/2: 202 146 277 J2≠Z;
3440/5: 304 000 377 SETB377; [end procedure
3441/2: 167 361 SHC-8; [level number from word to L[i]
3441/4: 054 AND; [BDC = CD = 1 in L[i]
3441/5: 300 006 246 V0; [i++
3442/2: 011 OR;
3442/3: 313 345 174 =H0M14Q;
3443/0: 203 266 277 J3;
3443/3: 310 345 173 26; H-1M14; [ is CD in L[i-1] = 1
3444/0: 164 341 SHL-16; [ fail if not
3444/2: 304 000 377 SETB377;
3444/5: 054 AND;
3445/0: 027 NEG;
3445/1: 033 NOT;
3445/2: 203 147 204 J66≠Z; [fail
3445/5: 141 340 M-I14; [i := i -1
3446/1: 200 360 000 EXIT1;
[Photo 773
3446/4: 203 327 043 27; JS26; [ begin procedure
3447/1: 201 266 277 J1;
3447/4: 052 28; ERASE; [ end for statement
3447/5: 167 021 SHC+8;
3450/1: 300 006 251 V3;
3450/4: 033 NOT;
3450/5: 054 AND;
3451/0: 223 146 277 J3=Z;
3451/3: 202 267 052 J30;
3452/0: 052 29; ERASE; [end block
3452/1: 052 ERASE;
3452/2: 310 345 173 30; H-1M14; [L[i-1]
3452/5: 170 376 =Q15;
3453/1: 304 000 001 SET1;
3453/4: 172 364 =+I15; [CD := CD+1
3454/0: 171 364 I15;
3454/2: 300 006 251 V3;
3454/5: 054 AND;
3455/0: 042 DUP;
3455/1: 304 000 377 SETB377; [if BDC < CD then BDC=CD
3455/4: 054 AND;
3455/5: 042 DUP;
3456/0: 066 CAB;
3456/1: 164 361 SHL-8;
3456/3: 001 VR;
3456/4: 032 MAX;
3456/5: 205 207 060 J31NV;
3457/2: 164 021 SHL+8;
3457/4: 066 CAB;
3457/5: 011 OR;
3460/0: 170 364 =I15;
3460/2: 201 267 061 J32;
3460/5: 052 31; ERASE;
3461/0: 052 ERASE;
3461/1: 171 376 32; Q15;
3461/3: 311 345 173 =H-1M14;
3462/0: 202 266 277 J2;
[Photo 774
3462/3: 052 33; ERASE; [begin for statement
3462/4: 167 021 SHC+8;
3463/0: 300 006 251 V3;
3463/3: 033 NOT;
3463/4: 054 AND;
3463/5: 223 146 277 J3=Z;
3464/2: 201 267 065 J35;
3464/5: 052 34; ERASE; [begin block
3465/0: 052 ERASE;
3465/1: 310 345 173 35; H-1M14;
3465/4: 170 376 =Q15;
3466/0: 304 377 377 SET-1;
3466/3: 172 364 =+I15; [CD :=CD -1 in L[i-1]
3466/5: 171 376 Q15;
3467/1: 311 345 173 =H-1M14;
3467/4: 203 266 277 J3;
3470/1: 304 000 020 36; SETB20;
3470/4: 054 AND;
3470/5: 203 147 205 J67≠Z; [fail
3471/2: 203 327 043 JS26; [begin program
3471/5: 171 342 M14;
3472/1: 203 147 206 J68≠Z;
3472/4: 171 322 M13;
3473/0: 222 147 076 J38=Z;
3473/3: 171 322 M13;
3473/5: 170 371 =RC15;
3474/1: 017|017|017|017|017|312 365 340 *37; H100M15Q;
3475/3: 203 147 207 J69≠Z; [fail
3476/0: 177 360 J37C15NZS;
3476/2: 204 326 362 38; JS17;
3476/5: 320 313 056 Z49M12;
3477/2: 167 021 SHC+8;
3477/4: 027 NEG;
3477/5: 033 NOT;
3500/0: 167 361 SHC-8;
3500/2: 321 313 056 =Z49M12;
[JS53; [added incorrectly
3500/5: 300 006 247 V1;
3501/2: 323 313 055 =Z50M12Q;
[blank
3501/5: 205 327 163 JS53;
3502/2: 300 006 250 V2;
3502/5: 323 313 055 =Z50M12Q;
[Photo 775
3503/2: 205 327 163 JS53;
3503/5: 320 013 055 Z50;
3504/2: 170 376 =Q15;
3504/4: 171 262|170 362 M11;=M15; [1st word current to LP[0] was C15 hux
3505/2: 171 376 Q15;
3505/4: 321 013 055 =Z50;
3506/1: 320 013 124 Z11;
3506/4: 170 376 =Q15;
3507/0: 151 317 M12TOQ15;
3507/2: 171 376 Q15;
3507/4: 321 013 124 =Z11;
3510/1: 202 326 157 JS3P2; [close ch4 hux
[Set2;= Z10;
[jsp305; [hux Z-store diag
3510/4: 200 360 000 EXIT1; [ goto phase 2 Brick
[ 5 blank lines
3511/1: 304 000 020 39; SETB20; [a variable statement or declaration
3511/4: 054 AND;
3511/5: 225 147 134 J47=Z; [RvIvB array
3512/2: 042 DUP;
3512/3: 304 000 010 SETB10;
3513/0: 054 AND;
3513/1: 222 147 131 J46=Z; [procedure
3513/4: 042 DUP;
3513/5: 304 000 007 SETB7;
3514/2: 054 AND;
3514/3: 042 DUP;
3514/4: 225 147 126 J43=Z; [switch
3515/1: 304 000 001 SETB1;
3515/4: 220 027 123 J42=; [label
3516/1: 304 000 002 SETB2;
3516/4: 036 -;
3516/5: 203 147 203 J65≠Z; [ fail
3517/2: 202 266 277 J2;
[Photo 776
3517/5: 170 376 40; =Q15;
3520/1: 171 364 I15; [is it local
3520/3: 164 361 SHL-8;
3520/5: 304 000 377 SETB377;
3521/2: 054 AND;
3521/3: 203 147 122 J41≠Z;
3522/0: 200 360 000 EXIT1;
3522/3: 202 360 001 41; EXIT2;
3523/0: 052 42; ERASE; [ label
3523/1: 205 327 117 JS40;
3523/4: 203 266 277 J3;
3524/1: 171 364|164 101 I15; SHL+32;
3524/5: 310 345 173|015|164 261 H-1M14; NEV; SHL-40;
3525/5: 223 146 277 J3=Z;
3526/2: 201 267 127 J45;
3526/5: 052 43; ERASE;
3527/0: 052 44; ERASE;
3527/1: 310 345 173 45; H-1M14;
3527/4: 304 000 020 SETB20;
3530/1: 011 OR;
3530/2: 311 345 173 =H-1M14; [set V in L[i-1]
3530/5: 203 266 277 J3;
3531/2: 042 46; DUP; [procedure
3531/3: 304 000 140 SETB140; [or 40?
3532/0: 042 DUP;
3532/1: 054 AND;
3532/2: 015 NEV;
3532/3: 223 147 210 J70=Z; [fail
3533/0: 042 DUP;
3533/1: 304 000 100 SETB100;
3533/4: 054 AND;
3533/5: 222 146 277 J2=Z; [procedure statement
3534/2: 203 266 325 J9; [procedure declaration
3534/5: 042 47; DUP;
3535/0: 304 000 100 SETB100;
3535/3: 054 AND;
3535/4: 203 147 160 J52≠Z; [declaration or spec
3536/1: 042 DUP;
3536/2: 205 327 117 JS40;
3536/5: 200 267 147 J51;
[Photo 777
3537/2: 042 DUP;
3537/3: 304 001 070 SETB470;
3540/0: 054 AND;
3540/1: 304 000 040 SETB40;
3540/4: 036 -;
3540/5: 200 147 143 J48≠Z;
3541/2: 320 013 125 Z10; [set NLF marker
3541/5: 304 000 002 SETB2;
3542/2: 011 OR;
3542/3: 321 013 125 =Z10; [moved label as per correction in text hux
3543/0: 304 002 000 48; SETB1000;
3543/3: 054 AND;
3543/4: 201 147 127 J45≠Z;
3544/1: 205 267 144 J50;
3544/4: 052 49; ERASE;
3544/5: 310 345 173 50; H-1M14; [set HA in L[i-1]
3545/2: 304 000 002 SETB2;
3545/5: 011 OR;
3546/0: 311 345 173 =H-1M14;
3546/3: 203 266 277 J3;
3547/0: 042 51; DUP;
3547/1: 304 001 070 SETB470;
3547/4: 054 AND;
3547/5: 304 000 040 SETB40;
3550/2: 036 -;
3550/3: 202 146 277 J2≠Z;
3551/0: 320 013 125 Z10;
3551/3: 304 000 001 SETB1; [ formal by name
3552/0: 011 OR;
3552/1: 321 013 125 =Z10;
3552/4: 042 DUP;
3552/5: 304 002 007 SETB1007;
3553/2: 054 AND;
3553/3: 304 002 002 SETB1002;
3554/0: 036 -;
[Photo 778
3554/1: 202 146 277 J2≠Z;
3554/4: 310 345 173 H-1M14;
3555/1: 304 000 006 SETB6;
3555/4: 011 OR;
3555/5: 311 345 173 =H-1M14;
3556/2: 170 376 =Q15;
3556/4: 171 370 C15;
3557/0: 313 325 340 =H100M13Q;
[blank line
3557/3: 205 327 163 JS53; [rescue
3560/0: 203 266 277 J3;
3560/3: 304 001 050 52; SETB450;
3561/0: 054 AND;
3561/1: 304 000 010 SETB10;
3561/4: 224 027 144 J49=; [local array declaration
3562/1: 304 001 000 SETB400;
3562/4: 036 -;
3562/5: 201 047 127 J45≥Z; [own declaration
3563/2: 203 266 277 J3;
3563/5: 143 240 53; DC10;
3564/1: 241 247 165 J54C10Z; [recovery procedure
3564/4: 200 360 000 EXIT1;
3565/1: 171 322 54; M13;
3565/3: 042 DUP;
3565/4: 170 371 =RC15;
3566/0: 041 ZERO;
3566/1: 170 331 =RC13;
3566/3: 312 365 340 55; H100M15Q;
3567/0: 042 DUP;
3567/1: 222 147 170 J56=Z;
3567/4: 042 DUP;
3567/5: 313 325 340 =H100M13Q;
3570/2: 052 56; ERASE;
3570/3: 263 367 166 J55C15NZ;
3571/0: 171 322 M13;
3571/2: 036 -;
[Photo 779
3571/3: 042 DUP;
3571/4: 223 147 211 J71=Z;
3572/1: 170 251 =RC10;
3572/3: 200 360 000 EXIT1;
3573/0: 304 000 170 57; SET+0120;
3573/3: 300 006 252 58; V4;
3574/0: 170 376 =Q15;
3574/2: 170 364 =I15;
3574/4: 171 376 Q15; [JSP307;
3575/0: 200 260 106 JE70; [ FAIL
3575/3: 304 000 334 59; SET+0220; [Failures - mapped to published B20 failures hux
3576/0: 203 267 173 J58;
3576/3: 304 001 100 60; SET+0320;
3577/0: 203 267 173 J58;
3577/3: 304 001 244 61; SET+0420;
3600/0: 203 267 173 J58;
3600/3: 304 002 010 62; SET+0520;
3601/0: 203 267 173 J58;
3601/3: 304 002 154 63; SET+0620;
3602/0: 203 267 173 J58;
3602/3: 304 002 320 64; SET+0720;
3603/0: 203 267 173 J58;
3603/3: 304 003 064 65; SET+0820;
3604/0: 203 267 173 J58;
3604/3: 304 003 230 66; SET+0920;
3605/0: 203 267 173 J58;
3605/3: 304 003 374 67; SET+1020;
3606/0: 203 267 173 J58;
3606/3: 304 004 140 68; SET+1120;
3607/0: 203 267 173 J58;
3607/3: 304 004 304 69; SET+1220;
3610/0: 203 267 173 J58;
3610/3: 304 005 050 70; SET+1320;
3611/0: 203 267 173 J58;
3611/3: 304 005 214 71; SET+1420;
3612/0: 203 267 173 J58;
[Photo 780 R1 Block Digram
[Photo 781 R1 Block Digram
[Photo 782 R1 Block Digram
[Photo 783 R1 Block Digram
[Photo 784 R1 Block Digram
[Photo 785 says this is R2 with 2 V-stores
[Photo 786 Set Up Statement List
[Set up Statement List
[ This can only make sense if you read the papers published by ENHawkins and DHRHuxtable, Pergammon Press
[ Annual Review In Automatic Programming. 60-12884
[
[ SP[i] list is at AY0 up, indexed by M9 set up as (space/2)/1/0
[ EP[j] list is half way between Y0 and Ho going down, indexed by M7 initalised as 0/-1/(space/2)
[ B[b] list is half way between Y0 and H0 going up, indexed by M6 (s/1/0) (using M10M6Q)
[ S[k] list is at H0 indexed by M8 initialised as 'space up to LP'/1/0;
[ this initialisation interchanged the useage of Q7 and Q9 - so subsequent edits marked hux
=== Start P102V2; at address 1934/3616
P102V2; [Phase 2 as P102
V-store at 03613 = 000 000 000 000 000 200 V0=B200; [replace invalid 35321; hux
V-store at 03614 = 000 000 377 377 000 000 V1=Q0/-1/0;
[ JSP305; diagnostic hux
3616/0: 304 025 174 SETAH0;
3616/3: 304 017 240 SETAY0;
3617/0: 042 DUP;
3617/1: 170 243 =RM10; [ M10 = 0/1/AY0
3617/3: 036 -; [space = AH0 - AY0
3617/4: 164 377 SHL-1; [ halve space
3620/0: 042 DUP;
3620/1: 043 DUPD;
3620/2: 172 242 =+M10; [ base for B[b] list M10 0/1/ AY0 + half space
3620/4: 170 151 =RC6; [ b := s/2 | 1 | 0
3621/0: 170 231 =RC9; [ i := s/2 | 1 | 0
3621/2: 027 NEG;
3621/3: 033 NOT;
3621/4: 300 007 214 V1;
3622/1: 042 DUP;
3622/2: 012 PERM;
3622/3: 011 OR;
3622/4: 170 176 =Q7; [j:= 0 | -1 | s/2 -1
3623/0: 042 DUP; [instn order correct? looks ok
3623/1: 303 177 240 =Y0M7Q; [set ASLI in EPj hux was M9Q -
3623/4: 164 041 SHL+16;
3624/0: 143 220 DC9; [reduce space for SPi
3624/2: 304 053 055 SETAZ50;
3624/5: 320 013 124 Z11; [ M-part is rel address next free space
[ at end of LP list (k')
3625/2: 164 101|164 301 SHL+32; SHL-32; [hux - clear C and I part
3626/0: 056 +; [ full address
3626/1: 304 025 174 SETAH0;
3626/4: 036 -; [space from H0 to LP
3626/5: 033 NOT;
3627/0: 027 NEG;
3627/1: 170 250 =C10; [ Q8 indexes up from H0. hux
3627/3: 157 150 Q6TOQ8; [ indexes space above H0, for Statement[k] List
3627/5: 311 205 174 =H0M8;
3630/2: 204 326 145 JS22P2; [open forwards from current posn (was JS1P2)edited to meet
[ issues with Holdsworth's Panacea hux - but post new read reverse
[ reinstated
3630/5: 200 267 232 J3;
3631/2: 052 1; ERASE;
3631/3: 200 326 126 2; JSP2;
3632/0: 042 3; DUP;
3632/1: 304 001 237 SETB637; [is it end program?
3632/4: 054 AND;
3632/5: 304 001 234 SETB634;
3633/2: 015 NEV;
3633/3: 221 147 237 J5=Z; [ if so J5;
3634/0: 042 DUP;
3634/1: 304 001 330 SETB730; [is it proc statement
3634/4: 054 AND;
3634/5: 304 000 020 SETB20;
3635/2: 015 NEV;
3635/3: 202 147 231 J1≠Z;
3636/0: 200 331 025 JSP201; [process proc statement hux
[Photo 787
3636/3: 203 267 231 J2;
3637/0: 041 4; ZERO;
3637/1: 041 5; ZERO;
3637/2: 170 124 =I5;
3637/4: 171 142 M6; [Bj list hux
3640/0: 170 051 =RC2;
3640/2: 052 6; ERASE;
3640/3: 245 047 300 7; J16C2Z;
3641/0: 102 052 M10M2Q; [Bj list entry hux
3641/2: 042 DUP;
3641/3: 222 147 240 J6=Z;
3642/0: 167 041 SHC16;
3642/2: 304 000 377 SETB377;
3642/5: 054 AND; [LULF from Bj List hux
3643/0: 200 331 377 8; JSP204;
3643/3: 203 267 240 J7; [no statement of LULF hux
3644/0: 200 326 203 JSP3;
3644/3: 204 267 310 J19; [ fail no LP
3645/0: 052 ERASE;
3645/1: 042 DUP;
3645/2: 027 NEG;
3645/3: 171 322 M13;
3645/5: 056 +;
3646/0: 170 362 =M15;
3646/2: 304 377 377 SET-1;
3646/5: 320 373 053 Z52M15;
3647/2: 200 331 300 JSP202; [search for a statement of FL? entry
3647/5: 205 267 273 J12;
3650/2: 052 ERASE;
3650/3: 141 040 M-I2;
3650/5: 100 052 M10M2;
3651/1: 140 040 M+I2;
3651/3: 304 000 377 SETB377;
3652/0: 167 361 SHC-8; [shifted down one line
3652/2: 054 AND;
3652/3: 200 330 377 JSP200;
3653/0: 052 ERASE;
3653/1: 170 371 =RC15;
[Photo 788
3653/3: 310 345 174 9; H0M14; [S[M14]
3654/0: 170 316 =Q12;
3654/2: 171 304 I12; [ANW
3654/4: 170 342 =M14;
3655/0: 143 360 DC15;
3655/2: 263 367 253 J9C15NZ;
3655/5: 310 345 174 H0M14;
3656/2: 042 DUP;
3656/3: 304 000 230 SETB230;
3657/0: 054 AND; [class
3657/1: 304 000 020 SETB20;
3657/4: 015 NEV;
3657/5: 204 147 311 J20≠Z; [ fail
3660/2: 041 23; ZERO;
3660/3: 065 REV;
3660/4: 200 326 203 10; JSP3;
3661/1: 201 267 262 J21;
3661/4: 202 267 265 J11; [no LP
3662/1: 066 21; CAB;
3662/2: 052 ERASE;
3662/3: 200 330 377 JSP200; [doc. corrections unclear hux
3663/0: 041 ZERO;
3663/1: 065 REV;
3663/2: 200 331 300 JSP202;
3663/5: 202 267 240 J6;
3664/2: 041 ZERO;
3664/3: 033 NOT;
3664/4: 065 REV;
3664/5: 204 267 260 J10;
3665/2: 141 040 11; M-I2;
3665/4: 100 052 M10M2;
3666/0: 170 356 =Q14;
3666/2: 041 ZERO;
3666/3: 101 052 =M10M2;
3666/5: 140 040 M+I2;
3667/1: 304 000 001 SET+1;
3667/4: 042 DUP;
3667/5: 170 130 =C5;
3670/1: 170 124 =I5;
3670/3: 171 342 M14;
3670/5: 203 326 171 JS12P2;
3671/2: 151 337 M13TOQ15;
3671/4: 065 REV;
3671/5: 225 147 272 J24=Z;
3672/2: 200 331 342 JSP203;
3672/5: 202 331 077 24; JS24P201;
3673/2: 203 267 240 J7;
3673/5: 171 142 12; M6;
3674/1: 170 311 =RC12;
[Photo 789
3674/3: 042 13; DUP; [F[l]
3674/4: 102 312 M10M12Q; [B[k]
3675/0: 042 DUP;
3675/1: 221 147 277 J14=Z;
3675/4: 015 NEV;
3675/5: 164 261 SHL-40;
3676/1: 222 147 240 J6=Z;
3676/4: 203 267 277 J15;
3677/1: 052 14; ERASE;
3677/2: 052 ERASE;
3677/3: 263 307 274 15; J13C12NZ;
3700/0: 164 261 SHL-40;
3700/2: 200 267 243 J8;
3700/5: 171 124 16; I5;
3701/1: 200 147 237 J4≠Z;
3701/4: 171 142 M6; [b
3702/0: 170 371 =RC15;
3702/2: 244 367 304 17; J18C15Z;
3702/5: 102 372 M10M15Q; [B[j]
3703/1: 222 147 302 J17=Z;
3703/4: 304 006 270 SET+1720; [ B list not empty hux
3704/1: 205 272 034 J1P205; [FAIL
3704/4: 304 025 174 18; SETAH0;
3705/1: 171 202 M8; [k
3705/3: 056 +;
3705/4: 320 013 124 Z11;
3706/1: 170 376 =Q15;
3706/3: 170 364 =I15;
3706/5: 171 376 Q15; [-/AH0+k/-
3707/1: 321 013 124 =Z11;
3707/4: 202 326 157 JS3P2; [close channel
3710/1: 200 360 000 EXIT1; [exit to next brick - P103
[ 2 blank lines
3710/4: 304 005 360 19; SET+1520; [fail
3711/1: 205 272 034 J1P205;
3711/4: 304 006 124 20; SET+1620;
3712/1: 205 272 034 J1P205;
[Photo 790
[Phase 3
=== Start P103V3; at address 1999/3717
P103V3;
V-store at 03713 = 001 200 000 001 000 000 V0=Q384/1/0;
V-store at 03714 = 000 000 000 000 000 000 V1=0;
V-store at 03715 = 377 377 000 000 000 000 V2=Q-1/0/0;
V-store at 03716 = 000 000 377 377 377 377 V3=Q0/-1/-1;
[Photo 791
[ set up call and correspondence matrices
[jsp305;
3717/0: 157 013 Q0TOQ11;
3717/2: 157 014 Q0TOQ12;
3717/4: 304 000 002 SET2;
3720/1: 170 243 =RM10;
3720/3: 304 025 174 SETAH0;
3721/0: 304 017 240 SETAY0;
3721/3: 036 -;
3721/4: 170 250 =C10; [space counter for SS[i] list
3722/0: 205 332 060 JS1P206; [set up addresses
3722/3: 310 265 174 1; H0M11;
3723/0: 170 342 =M14;
3723/2: 171 342 M14;
3723/4: 220 147 361 J32=Z;
3724/1: 310 345 174 H0M14;
3724/4: 170 376 =Q15;
3725/0: 156 373 CI15TOQ11; [set L|Encl|ANW|- to SS[i-2]
3725/2: 152 014 I0TOQ12; [ p:=0 in SSi-1
3725/4: 171 276 Q11; [ L level number in SS[i-2]
3726/0: 200 326 203 JSP3; [search level parameters
3726/3: 202 270 006 J14; [fail no set
3727/0: 052 ERASE;
3727/1: 151 334 M13TOQ12; [set ALP in SS[i-1] = M13
3727/3: 171 242 M10;
3727/5: 304 000 002 SET2;
3730/2: 036 -;
3730/3: 042 DUP;
3730/4: 205 147 370 J8≠Z; [ is i = 2
3731/1: 052 ERASE;
( C11; [start deleted code
SETB377;
AND;
NEG;
NOT;
J2=Z; [end delete
)
3731/2: 171 276 Q11; [ L/encl
3731/4: 042 DUP;
[Photo 792
3731/5: 164 021 SHL+8; [ N1 encl Level alpha , N2 Level beta
3732/1: 041 ZERO;
3732/2: 200 332 044 JSP206; [insert digit in row alpha col beta call matrix
3732/5: 171 264 2; I11; [ANW
3733/1: 042 DUP;
3733/2: 225 147 360 J6=Z; [IS ANW = 0
3733/5: 170 362 =M15; [M15 = ANW FROM SS[i-2]
3734/1: 310 365 174 H0M15;
3734/4: 042 DUP;
3734/5: 170 356 =Q14;
3735/1: 152 353 I14TOQ11; [extract ANW from S[M15] to ANW SS[i-2]
3735/3: 041 ZERO;
3735/4: 033 NOT;
3735/5: 027 NEG;
3736/0: 172 304 =+I12; [p++ in SS[i-1]
3736/2: 304 000 030 SETB30; [typo
3736/5: 054 AND;
3737/0: 042 DUP;
3737/1: 223 147 344 J4=Z; [ is Sm15 RvIvB
3737/4: 304 000 020 SETB20;
3740/1: 225 027 351 J5=; [is Sm15 a procedure
3740/4: 304 000 030 SETB30; [typo
3741/1: 015 NEV;
3741/2: 205 147 332 J2≠Z; [is a switch, label or string
3741/5: 171 356 Q14; [Sm15
3742/1: 304 000 007 SETB7;
3742/4: 054 AND;
3742/5: 041 ZERO;
3743/0: 033 NOT;
3743/1: 027 NEG;
3743/2: 223 027 344 J4=; [is Sm15 a label
3743/5: 052 3; ERASE;
3744/0: 205 267 332 J2; [to process body
3744/3: 052 4; ERASE; [Sm15 is an expression
3744/4: 171 350 C14; [RAPSL÷RAFSL
[Photo 793
3745/0: 164 361 SHL-8; [RAPSL
3745/2: 042 DUP;
3745/3: 225 147 343 J3=Z; [is RAPSL of Sm15 == 0
3746/0: 172 362 =+M15; [≠ 0 M15 = RAPSL + M15
3746/2: 171 276 Q11;
3746/4: 242 250 005 J13C10Z; [fail if SSi list full
3747/1: 303 257 236 =Y-2M10Q;
3747/4: 171 316 Q12;
3750/0: 242 250 005 J13C10Z; [fail if SSi list full
3750/3: 303 257 236 =Y-2M10Q;
3751/0: 151 373 M15TOQ11; [set ASLI in SSi
3751/2: 203 267 322 J1; [ to recur
3751/5: 052 5; ERASE; [Sm15 a procedure
3752/0: 171 356 Q14; [beta := level no in Sm15
3752/2: 171 276 Q11; [alpha := level no. in SSi-2
3752/4: 041 ZERO;
3752/5: 200 332 044 JSP206; [insert digit row alpha col. beta
3753/2: 171 276 Q11; [SSi-2
3753/4: 167 021 SHC+8;
3754/0: 304 000 377 SETB377; [is level number in SSi-2 a formal
3754/3: 054 AND;
3754/4: 304 000 141 SET97;
3755/1: 036 -;
3755/2: 205 047 332 J2≥Z; [L is a formal
3755/5: 153 315 IM12TOQ13; [ alpha := beta
3756/1: 141 320 M-I13;
3756/3: 320 333 053 Z52M13; [doc says beta level no. LPm14
[M14 fails integworkall test
[ALP and p in SSi-1
[beta = level no. LPm14
[ERASE; SET 4;SHC-8; [trial correction - fixed spurious row entry - but failed other tests
3757/0: 171 356 Q14;
3757/2: 041 ZERO;
3757/3: 033 NOT;
3757/4: 027 NEG;
3757/5: 200 332 044 JSP206; [insert digit in row alpha col beta
3760/2: 205 267 332 J2; [of correspondence matrix
[Photo 794
3760/5: 052 6; ERASE; [M15 is ASLI from SS[i-2]
3761/0: 310 265 174 32; H0M11;
3761/3: 164 341 SHL-16;
3761/5: 170 362 =M15; [M15 := ANSLI from Sm15
3762/1: 171 362 M15;
3762/3: 225 147 363 J7=Z;
3763/0: 151 373 M15TOQ11;
3763/2: 203 267 322 J1;
3763/5: 171 242 7; M10;
3764/1: 304 000 002 SET+2;
3764/4: 036 -;
3764/5: 042 DUP;
3765/0: 170 242 =M10; [i := i - 2
3765/2: 222 150 007 J15=Z;
3765/5: 300 257 237 Y-1M10;
3766/2: 170 316 =Q12;
3766/4: 300 257 236 Y-2M10; [fetch SS[i-1] and SS[i-3] to Q-stores
3767/1: 170 276 =Q11;
3767/3: 304 000 002 SET2;
3770/0: 172 250 =+C10; [add to count
3770/2: 205 267 332 J2;
3770/5: 171 250 8; C10; [process statement
3771/1: 304 000 002 SET2;
3771/4: 036 -;
3771/5: 202 110 005 J13≤Z;
3772/2: 171 276 Q11;
3772/4: 301 257 240 =Y0M10;
3773/1: 171 316 Q12;
3773/3: 301 257 241 =Y1M10;
3774/0: 042 DUP;
3774/1: 170 222 =M9; [j := i -2;
3774/3: 220 150 004 9; J12=Z;
3775/0: 300 237 237 Y-1M9; [M15 := ALP + p + 2
3775/3: 170 336 =Q13; [ALP and p from SS[j-1]
3775/5: 141 320 M-I13;
[Photo 795
3776/1: 320 333 053 Z52M13;
3776/4: 304 001 000 SETB400;
3777/1: 054 AND;
3777/2: 225 150 001 J10=Z; [is LPm15 a parameter by name
3777/5: 171 222 M9;
4000/1: 304 000 002 SET2;
4000/4: 036 -;
4000/5: 042 DUP;
4001/0: 170 222 =M9; [ j := j -2
4001/2: 203 267 374 J9;
4001/5: 300 237 236 10; Y-2M9; [N1 level number in SS[j-2]
4002/2: 171 276 11; Q11; [N2 level number in SS[i-2]
4002/4: 065 REV;
4002/5: 041 ZERO;
4003/0: 200 332 044 JSP206; [insert digit in row N1 col N2
4003/3: 205 267 332 J2;
4004/0: 300 237 240 12; Y0M9; [N1 level enclosing statement in SS[j-2]
4004/3: 164 021 SHL+8;
4004/5: 202 270 002 J11;
4005/2: 304 015 134 13; SET+3420; [SS list full
4005/5: 205 272 034 J1P205;
4006/2: 304 014 370 14; SET+3320; [no Level Params
4006/5: 205 272 034 J1P205;
4007/2: 304 000 002 15; SET+2; [add 2 to space count
4007/5: 172 250 =+C10;
4010/1: 300 012 040 V1P206; [set up modifiers
4010/4: 042 DUP; [address of Corr Matrix and address
4010/5: 170 062 =M3; [of Corr matrix -1
4011/1: 027 NEG;
4011/2: 033 NOT;
4011/3: 170 142 =M6;
4011/5: 171 062 16; M3; [prepare to map matrix
4012/1: 041 ZERO;
4012/2: 033 NOT;
4012/3: 027 NEG;
[Photo 796
4012/4: 200 332 104 JSP207; [map matrix
[jsp305;
4013/1: 300 007 313 V0;
4013/4: 170 136 =Q5;
4014/0: 041 ZERO;
4014/1: 170 111 =RC4; [search through each word of correspondence matrix for a non-zero word
4014/3: 017|017|017|102 123 *17; M3M5Q;
4015/2: 042 DUP;
4015/3: 205 150 017 J19≠Z;
4016/0: 052 18; ERASE;
4016/1: 177 120 J17C5NZS;
4016/3: 171 102 M4;
4016/5: 205 150 011 J16≠Z; [01 pairs found
[jsp305;
4017/2: 200 360 000 EXIT1; [exit to next phase
4017/5: 042 19; DUP; [are there any 01 pairs in non-zero word
4020/0: 042 DUP; [the following removes 11,00,10 pairs from word - hux
4020/1: 167 003 SHC+1;
4020/3: 015 NEV;
4020/4: 167 377 SHC-1;
4021/0: 300 012 100 V4P207;
4021/3: 054 AND;
4021/4: 054 AND;
4021/5: 042 DUP;
4022/0: 220 150 016 J18=Z;
4022/3: 164 003 SHL+1; [yes
4022/5: 042 DUP; [take each 01 pair and process
4023/0: 100 126 M6M5;
4023/2: 011 OR;
4023/3: 101 126 =M6M5;
4023/5: 304 000 030 SET24;
4024/2: 170 110 =C4;
4024/4: 017|017|042 *20; DUP;
[Photo 797
4025/1: 224 050 031 J22<Z; [is next pair 01
4025/4: 143 100 DC4; [no
4026/0: 164 005 SHL+2;
4026/2: 177 100 J20C4NZS; [finished
4026/4: 200 270 016 J18;
4027/1: 052 21; ERASE; [re-entry point
4027/2: 300 007 314 V1; [to finish processing word
4027/5: 143 100 DC4;
4030/1: 164 005 SHL+2;
4030/3: 042 DUP;
4030/4: 220 150 016 J18=Z;
4031/1: 200 270 025 J20;
4031/4: 140 100 22; M+I4; [this is an 01 pair
4032/0: 301 007 314 =V1; [store word for subsequent processing
4032/3: 041 ZERO;
4032/4: 171 122 M5;
4033/0: 162 375 SHAD-2;
4033/2: 033 NOT;
4033/3: 027 NEG;
4033/4: 167 361 SHC-8; [calculate row no alpha
4034/0: 065 REV;
4034/1: 167 007 SHC+3;
4034/3: 304 000 004|056 SET4; +; [this is a dubious pencilled alternative
[NOT; NEG; [to this hux
4035/1: 161 007 SHA+3;
4035/3: 042 DUP;
4035/4: 161 003 SHA+1; [calculate column number beta
4036/0: 056 +;
4036/1: 171 350 C14; [maybe Cs4
4036/3: 036 -;
4036/4: 033 NOT;
4036/5: 027 NEG;
4037/0: 300 007 316 V3;
4037/3: 170 236 =Q9;
4037/5: 041 ZERO;
[Photo 798
4040/0: 170 203 =RM8;
4040/2: 300 007 315 V2;
4040/5: 042 DUP;
4041/0: 303 217 240 =Y0M8Q;
4041/3: 303 217 240 =Y0M8Q;
4042/0: 164 021 SHL+8;
4042/2: 042 23; DUP;
4042/3: 200 332 130 JSP208; [next statement routine
4043/0: 204 270 050 J25; [last statement
4043/3: 171 330 C13; [is level no. in SSi-2 the column number
4043/5: 015 NEV;
4044/0: 304 000 377|164 021|054 SETB377; SHL+8; AND; [inserted code correction from doc
4045/0: 202 150 042 J23≠Z; [yes
4045/3: 171 322 M13;
4045/5: 143 240 DC10;
4046/1: 244 250 047 J24C10Z;
4046/4: 313 225 174 =H0M9Q;
4047/1: 202 270 042 J23; [LOOK FOR NEXT STATEMENT
4047/4: 304 016 044 24; SET+3620;
4050/1: 205 272 034 J1P205; [failure EXIT SBj list full
4050/4: 052 25; ERASE;
4050/5: 171 222 M9; [have any statements of beta been found
4051/1: 033 NOT;
4051/2: 221 150 027 J21=Z; [no?
4051/5: 200 326 203 JSP3; [yes, search for level parameters;
4052/2: 202 270 074 J31;
4052/5: 320 333 053 Z52M13; [SET NO. OF PARAMETERS FROM LP[m13+2]
4053/2: 164 315 SHL-26;
4053/4: 304 000 077 SETB77;
4054/1: 054 AND;
4054/2: 304 053 052 SETAZ53;
4054/5: 172 322 =+M13;
4055/1: 170 311 =RC12;
4055/3: 145 300 I12=-1;
4055/5: 241 310 027 26; J21C12Z; [is p = 0
4056/2: 052 ERASE;
[Photo 799
4056/3: 102 315 M13M12Q; [is parameter a procedure
4056/5: 042 DUP;
4057/0: 304 000 030 SETB30;
4057/3: 054 AND;
4057/4: 304 000 020 SETB20;
4060/1: 015 NEV;
4060/2: 205 150 055 J26≠Z; [no
4060/5: 300 007 316 V3; [yes
4061/2: 170 163 =RM7; [set up modified to look at SB[j] list
4061/4: 171 222 M9; [set up count of j
4062/0: 033 NOT;
4062/1: 170 170 =C7;
4062/3: 312 165 174 27; H0M7Q; [find the ASE from ASLI
4063/0: 170 342 =M14;
4063/2: 042 DUP;
4063/3: 041 ZERO;
4063/4: 310 345 174 H0M14;
4064/1: 170 342 =M14;
4064/3: 171 302 28; M12; [find the entry in respect of p'th parameter
4064/5: 224 030 066 J29=;
4065/2: 033 NOT;
4065/3: 027 NEG;
4065/4: 310 345 174 H0M14;
4066/1: 203 270 064 J28;
4066/4: 052 29; ERASE; [is p'th parameter or procedure
4066/5: 310 345 174 H0M14; [ fail if not
4067/2: 042 DUP;
4067/3: 304 000 030 SETB30;
4070/0: 054 AND;
4070/1: 304 000 020 SETB20;
4070/4: 015 NEV;
4070/5: 202 150 073 J30≠Z; [fail
4071/2: 041 ZERO;
[Photo 800
4071/3: 033 NOT;
4071/4: 027 NEG;
4071/5: 200 332 044 JSP206; [insert digit in corr. matrix
4072/2: 263 170 062 J27C7NZ;
4072/5: 205 270 055 J26;
4073/2: 304 016 210 30; SET+3720; [fail
4073/5: 200 266 242 JP7;
4074/2: 304 016 354 31; SET+3820; [fail
4074/5: 200 266 242 JP7;
[Photo 801 R4
[Photo 802
[Trace formals by name and non-local formals
=== Start P104V1; at address 2112/4100
P104V1;
V-store at 04076 = 000 000 377 377 377 377 V0=Q0/-1/-1;
V-store at 04077 = 000 000 000 001 000 000 V1=Q0/1/0;
4100/0: 320 013 125 Z10; [are there any formals by name
4100/3: 167 377 SHC-1;
4100/5: 204 050 164 J12≥Z; [no
4101/2: 300 010 076 V0; [we have formals by name hux
4101/5: 170 236 =Q9; [ i := 0
4102/1: 300 010 077 V1;
4102/4: 170 216 =Q8; [ j := 0
4103/0: 304 025 174 SETAH0;
4103/3: 304 017 245 SETAY5;
4104/0: 036 -; [ space for lists
4104/1: 042 DUP;
4104/2: 204 110 162 J10≤Z; [ no space for lists
4104/5: 170 251 =RC10;
4105/1: 041 ZERO;
4105/2: 042 DUP;
4105/3: 313 225 174 =H0M9Q;
4106/0: 042 DUP;
4106/1: 033 NOT;
4106/2: 027 NEG;
4106/3: 313 225 174 =H0M9Q;
4107/0: 042|313 225 174 DUP; =H0M9Q;
4107/4: 300 012 176 V2P209;
4110/1: 303 217 240 =Y0M8Q;
4110/4: 303 217 240 =Y0M8Q;
4111/1: 200 332 130 1; JSP208; [next statement
4111/4: 204 270 164 J12; [last statement
4112/1: 171 336 Q13;
4112/3: 157 336 Q13TOQ14; [preserved SSi-2
4112/5: 200 326 203 JSP3; [search LP
4113/2: 204 270 163 J11; [no set fail 4/2
4113/5: 300 217 237 Y-1M8;
[Photo 803
4114/2: 170 316 =Q12; [insert ALP in SSi-1
4114/4: 151 334 M13TOQ12; [M11 := ANW from SSi-2
4115/0: 041 ZERO;
4115/1: 171 344 I14;
4115/3: 201 270 136 J24;
4116/0: 033 2; NOT; [p++ in SSi-1
4116/1: 027 NEG;
4116/2: 170 304 =I12;
4116/4: 310 265 174 H0M11;
4117/1: 042 DUP;
4117/2: 170 376 =Q15;
4117/4: 304 000 030 SETB30;
4120/1: 054 AND;
4120/2: 220 150 123 J3=Z; [is Sm11 an expression RvIvB or Label
4120/5: 171 376 Q15;
4121/1: 304 000 037 SETB37;
4121/4: 054 AND;
4121/5: 304 000 031 SETB31;
4122/2: 015 NEV;
4122/3: 205 150 134 J5≠Z;
4123/0: 171 376 3; Q15; [yes
4123/2: 304 001 000 SETB400; [by value ?
4123/5: 054 AND;
4124/0: 220 150 141 J8=Z; [is by name
4124/3: 052 ERASE;
4124/4: 157 207 Q8TOQ7; [k:=i
4125/0: 310 225 176 H2M9; [ I from CSi-1
4125/3: 170 336 =Q13;
4125/5: 171 330 C13;
4126/1: 171 162 M7;
4126/3: 203 270 130 J23;
4127/0: 171 162 4; M7;
4127/2: 027 NEG;
4127/3: 033 NOT;
4127/4: 027 NEG;
4127/5: 033 NOT; [k := k-2
4130/0: 042 DUP;
[Photo 804
4130/1: 170 162 =M7;
4130/3: 220 030 140 23; J7=; [is i == k
4131/0: 300 177 237 Y-1M7; [corr. of Y-2M7 hux
4131/3: 170 336 =Q13; [M13 := ALP +p from SSk-2
4131/5: 141 320 M-I13;
4132/1: 320 333 053 Z52M13;
4132/4: 304 001 000 SETB400;
4133/1: 054 AND;
4133/2: 220 150 127 J4=Z; [is LPm13+2 by value - no
4133/5: 052 ERASE;
4134/0: 171 336 Q13;
4134/2: 200 270 141 J8;
4134/5: 052 5; ERASE;
4135/0: 300 217 236 6; Y-2M8; [I think Q14 contains Y-2M8
[Q14; [not clear if this should be removed hux
4135/3: 171 304 I12;
4135/5: 171 364 I15;
4136/1: 042 24; DUP;
4136/2: 170 262 =M11; [M11 := ANW from Sm11
4136/4: 200 150 116 J2≠Z; [is M13 ==0
4137/1: 052 ERASE; [yes
4137/2: 052 ERASE;
4137/3: 201 270 111 J1;
4140/0: 052 7; ERASE; [I does = K
4140/1: 300 177 240 Y0M7; [SSk-2 k := I + 2
4140/4: 164 021 SHL+8; [enclosing Level no.
4141/0: 167 021 8; SHC+8;
4141/2: 170 142 =M6;
4141/4: 171 370 C15;
4142/0: 304 000 377 SETB377;
4142/3: 054 AND;
4142/4: 042 DUP;
4142/5: 225 150 134 J5=Z; [is RAFSL in Sm13 == 0
4143/2: 171 262 M11; [no
4143/4: 056 +;
4143/5: 170 342 =M14; [m14 = M11 + RAFSL
4144/1: 310 225 175 9; H1M9; [CSj-1
4144/4: 170 336 =Q13;
[Photo 805
4145/0: 151 355 M14TOQ13; [M12 in CSj-1 := M14
4145/2: 171 330 C13;
4145/4: 033 NOT;
4145/5: 027 NEG;
4146/0: 170 330 =C13;
4146/2: 171 336 Q13;
4146/4: 311 225 175 =H1M9;
4147/1: 310 225 176 H2M9; [alpha in CSj-2 = formal name in Sm14
4147/4: 170 336 =Q13; [beta in CSj-2 = B
4150/0: 310 345 174 H0M14;
4150/3: 042 DUP;
4150/4: 167 041 SHC+16;
4151/0: 170 324 =I13;
4151/2: 151 155 M6TOQ13;
4151/4: 171 336 Q13;
4152/0: 311 225 176 =H2M9;
4152/3: 171 304 I12;
4152/5: 170 330 =C13;
[this code is 'enclosed in a pencil loop' in the manuscript may be an alternate to IM0TOQ13
[no test have yet been down this path
4153/1: 164 041 SHL+16; [insert level of Sm14 into Lalpha and :'alpha
4153/3: 164 261 SHL-40; [in CSj-3
4153/5: 042 DUP;
4154/0: 170 324 =I13;
4154/2: 170 322 =M13;
[ IM0TOQ1?; [end loop - at this point there is an IM0TOQ1? but does not make sense
[ MRWDQ15; [debug stopper hux
4154/4: 171 336 Q13; [CS[j-3]
4155/0: 311 225 177 =H3M9;
4155/3: 200 332 200 JSP209; [CS routine entry 1
4156/0: 310 225 175 H1M9;
4156/3: 170 342 =M14;
4156/5: 304 000 003 SET3;
4157/2: 042 DUP;
4157/3: 172 222 =+M9;
4157/5: 172 250 =+C10;
4160/1: 310 345 174 H0M14;
4160/4: 164 341 SHL-16;
4161/0: 170 342 =M14;
4161/2: 171 342 M14; [M14 := ANW from Sm14
[Photo 806
4161/4: 220 150 135 J6=Z; [is ANW in Sm14 = 0
4162/1: 201 270 144 J9;
4162/4: 304 017 120 10; SET3920; [failure
4163/1: 205 272 034 J1P205;
4163/4: 304 017 264 11; SET4020; [ no LP
4164/1: 205 272 034 J1P205;
4164/4: 320 013 125 12; Z10; [are there any non-local formals by name
4165/1: 167 375 SHC-2;
4165/3: 203 050 236 J21≥Z; [Yes
4166/0: 300 010 076 V0;
4166/3: 170 236 =Q9; [ j:= 0
4166/5: 300 010 077 V1;
4167/2: 170 216 =Q8; [i := 0
4167/4: 304 025 174 SETAH0;
4170/1: 304 017 243 SETAY3; [calculate space available for CSj and SSi lists
4170/4: 036 -;
4170/5: 042 DUP;
4171/0: 204 110 162 J10≤Z; [?no
4171/3: 170 251 =RC10;
4171/5: 041 ZERO; [ initialise CS lists
4172/0: 042 DUP;
4172/1: 313 225 174 =H0M9Q;
4172/4: 042 DUP;
4172/5: 033 NOT;
4173/0: 027 NEG;
4173/1: 313 225 174 =H0M9Q;
4173/4: 313 225 174 =H0M9Q;
4174/1: 203 326 143 JS2P2; [initialise fetch next word backward
4174/4: 205 270 175 J15;
4175/1: 052 13; ERASE;
4175/2: 200 326 126 14; JSP2; [fetch next word
4175/5: 042 15; DUP;
4176/0: 304 000 200 SETB200; [is it a variable or operator
4176/3: 054 AND;
4176/4: 224 150 215 J18=Z;
[Photo 807
4177/1: 042 DUP; [ operator or delimiter
4177/2: 304 000 017 SETB17; [ is it a program delimiter
4177/5: 054 AND;
4200/0: 304 000 014 SETB14;
4200/3: 015 NEV;
4200/4: 201 150 175 J13≠Z; [yes
4201/1: 042 DUP;
4201/2: 304 001 160 SETB560;
4201/5: 054 AND; [is it begin or end program
4202/0: 042 DUP;
4202/1: 304 001 000 SETB400;
4202/4: 054 AND;
4202/5: 201 150 235 J20≠Z;
4203/2: 304 000 100 SETB100; [is it proc begin
4203/5: 223 030 212 J16=;
4204/2: 304 000 120 SETB120; [is it proc end
4204/5: 015 NEV;
4205/0: 201 150 175 J13≠Z;
4205/3: 157 017 Q0TOQ15; [procedure end
4205/5: 164 261 SHL-40;
4206/1: 170 362 =M15;
4206/3: 304 377 375 SET-3;
4207/0: 172 250 =+C10; [check space storage
4207/2: 244 250 214 J17C10Z; [fail 4/3
4207/5: 041 ZERO; [insert Level No. from procedure
4210/0: 042 DUP; [and the beta of CSj-1
4210/1: 313 225 174 =H0M9Q; [j:= j +3
4210/4: 171 376 Q15;
4211/0: 313 225 174 =H0M9Q;
4211/3: 313 225 174 =H0M9Q;
4212/0: 202 270 175 J14;
4212/3: 052 16; ERASE;
4212/4: 052 ERASE;
4212/5: 304 000 003 SET+3; [procedure begin
4213/2: 042 DUP;
4213/3: 172 250 =+C10;
4213/5: 172 222 =+M9; [ script says j:= j-3;
[Photo 808
4214/1: 202 270 175 J14;
4214/4: 304 020 030 17; SET4120; [fail 4/3
4215/1: 205 272 034 J1P205; [CSj list and SSi list full
4215/4: 042 18; DUP; [Is the variable formal used by name?
4215/5: 304 001 340 SETB740;
4216/2: 054 AND;
4216/3: 304 000 040 SETB40;
4217/0: 015 NEV;
4217/1: 201 150 175 J13≠Z;
4217/4: 042 DUP; [is it RvIvB
4217/5: 304 000 030 SETB30;
4220/2: 054 AND;
4220/3: 220 150 223 J19=Z; [no
4221/0: 042 DUP; [is it a label
4221/1: 304 000 037 SETB37;
4221/4: 054 AND;
4221/5: 304 000 031 SETB31;
4222/2: 015 NEV;
4222/3: 201 150 175 J13≠Z; [yes
4223/0: 170 376 19; =Q15; [an expression which is a formal and by name
4223/2: 171 364 I15; [is it local
4223/4: 164 361 SHL-8;
4224/0: 042 DUP;
4224/1: 221 150 175 J13=Z;
4224/4: 310 225 176 H2M9; [insert formal name into alpha posn. of CS[j-1]
4225/1: 170 356 =Q14;
4225/3: 171 370 C15;
4225/5: 170 344 =I14;
4226/1: 171 356 Q14;
4226/3: 311 225 176 =H2M9;
4227/0: 310 225 175 H1M9; [set M in CS[j-1]
4227/3: 170 356 =Q14;
4227/5: 171 350 C14;
4230/1: 033 NOT;
4230/2: 027 NEG;
[Photo 809
4230/3: 170 350 =C14;
4230/5: 171 356 Q14;
4231/1: 311 225 175 =H1M9;
4231/4: 310 225 177 H3M9; [Lalpha and L'alpha in CSj-3
4232/1: 170 356 =Q14; [- level of formal parameter
4232/3: 042 DUP;
4232/4: 170 342 =M14;
4233/0: 170 344 =I14;
4233/2: 171 356 Q14;
4233/4: 311 225 177 =H3M9;
4234/1: 200 332 200 JSP209;
4234/4: 202 270 175 J14;
4235/1: 052 20; ERASE;
4235/2: 304 000 020 SETB20;
4235/5: 054 AND;
4236/0: 202 150 175 J14≠Z;
4236/3: 200 360 000 21; EXIT1; [exit next brick
[Photo 810
=== Start P105V5; at address 2213/4245
P105V5; [Map Call Matrix and reduce
[Photo 811
V-store at 04237 = 000 004 000 001 000 000 V0=Q4/1/0;
V-store at 04240 = 000 300 000 004 000 002 V1=Q192/4/2;
V-store at 04241 = 000 300 000 004 000 003 V2=Q192/4/3;
V-store at 04242 = 000 030 000 004 000 300 V3=Q24/4/192;
V-store at 04243 = 000 004 000 001 000 000 V4=Q4/1/0;
[jsp305; [hux
4245/0: 300 010 237 V0; [insert address Call matrix in V0
4245/3: 170 236 =Q9;
4245/5: 320 013 124 Z11;
4246/2: 170 076 =Q3;
4246/4: 151 071 M3TOQ9;
4247/0: 171 236 Q9;
4247/2: 301 010 237 =V0;
4247/5: 320 013 123 Z12; [insert address Corr. Matrix in V4
4250/2: 170 056 =Q2;
4250/4: 151 051 M2TOQ9;
4251/0: 171 236 Q9;
4251/2: 301 010 243 =V4;
4251/5: 171 222 M9; [calculate the address of Call matrix rel. Z50
4252/1: 304 002 100 SET576; [and leave in M part of Z12
4252/4: 056 +;
4252/5: 170 222 =M9;
4253/1: 171 222 M9;
4253/3: 304 053 055 SETAZ50;
4254/0: 036 -;
4254/1: 170 042 =M2;
4254/3: 171 056 Q2;
4254/5: 321 013 123 =Z12;
4255/2: 171 042 M2; [calc. address next free space in Z's in M part of Z11
4255/4: 027 NEG;
4255/5: 033 NOT;
4256/0: 170 062 =M3;
4256/2: 171 076 Q3;
4256/4: 321 013 124 =Z11;
4257/1: 041 ZERO; [set mask of 1
4257/2: 033 NOT;
4257/3: 027 NEG;
[Photo 812
4257/4: 167 377 SHC-1;
4260/0: 304 000 002 SET2; [ script correction to SET4
4260/3: 170 211 =RC8;
4260/5: 300 010 240 V1;
4261/2: 170 056 =Q2;
4261/4: 151 002 M0TOQ2;
4262/0: 300 010 243 1; V4;
4262/3: 170 116 =Q4;
4262/5: 300 010 242 V3;
4263/2: 170 136 =Q5;
4263/4: 041 ZERO;
4263/5: 170 171 =RC7;
4264/1: 304 000 002 2; SET2;
4264/4: 170 170 =C7;
4265/0: 041 ZERO;
4265/1: 042 DUP;
4265/2: 033 NOT;
4265/3: 027 NEG;
4265/4: 167 377 SHC-1;
4266/0: 102 102 3; M2M4Q;
4266/2: 042 DUP;
4266/3: 201 150 311 J10≠Z;
4267/0: 052 ERASE;
4267/1: 304 000 030 SET24; [originally coded as 96 hux
4267/4: 172 122 =+M5;
4270/0: 143 160 4; DC7;
4270/2: 260 170 266 J3C7NZ;
4270/5: 052 ERASE;
4271/0: 042 DUP;
4271/1: 224 150 276 J7=Z;
4271/4: 302 170 240 V1M7Q;
4272/1: 170 076 =Q3;
4272/3: 157 066 Q3TOQ6;
4272/5: 151 206 M8TOQ6;
4273/1: 300 010 237 V0;
[Photo 813
4273/4: 170 036 =Q1;
4274/0: 042 5; DUP;
4274/1: 102 061 M1M3Q;
4274/3: 054 AND;
4274/4: 042 DUP;
4274/5: 222 150 275 J6=Z;
[corrections - removed since this code entered spurious data in the call matrix
[ purpose is totally unclear - hux
[M1M6;
[OR;
[=M1M6; [unclear if M1M6Q or not! but if so manorboy fails at runtime
[DUP;
4275/2: 052 6; ERASE; [unclear, whether before or after label - after seems the sensible hux
4275/3: 143 140 DC6;
4275/5: 140 140 M+I6; [here M6 is incremented so the above is probably without the Q
4276/1: 260 150 274 J5C6NZ;
4276/4: 052 7; ERASE;
4276/5: 261 110 264 J2C4NZ;
4277/2: 143 040 DC2;
4277/4: 140 040 M+I2;
4300/0: 167 377 SHC-1;
4300/2: 140 200 M+I8;
4300/4: 143 200 DC8;
4301/0: 262 210 302 J8C8NZ;
4301/3: 304 000 002 SET2; [script corr. from SET4 hux
4302/0: 172 210 =+C8;
4302/2: 260 050 262 8; J1C2NZ;
4302/5: 052 ERASE;
4303/0: 300 010 237 V0;
4303/3: 041 ZERO;
4303/4: 200 332 104 JSP207;
4304/1: 300 010 237 V0;
4304/4: 170 056 =Q2;
4305/0: 304 000 003 SET3;
4305/3: 170 025 =RI1;
4305/5: 304 000 300 SET192;
4306/2: 170 111 =RC4;
[jsp305; [hux
[Photo 814
4306/4: 017|017|102 041 *9; M1M2Q; [ copy out the actual quadrant of the call matrix
4307/2: 103 111 =M9M4Q;
4307/4: 102 022 M2M1Q;
4310/0: 103 111 =M9M4Q;
4310/2: 177 100 J9C4NZS;
[jsp305;
4310/4: 200 360 000 EXIT1;
[exit to next brick
4311/1: 164 003 10; SHL+1;
4311/3: 042 11; DUP;
4311/4: 225 050 315 J13<Z;
4312/1: 164 005 SHL+2;
4312/3: 065 REV;
4312/4: 167 377 SHC-1;
4313/0: 065 REV;
4313/1: 140 120 12; M+I5;
4313/3: 143 120 DC5;
4313/5: 263 130 311 J11C5NZ;
4314/2: 052 ERASE;
4314/3: 304 000 030 SET24;
4315/0: 170 130 =C5;
4315/2: 200 270 270 J4;
4315/5: 164 005 13; SHL+2;
4316/1: 012 PERM;
4316/2: 042 DUP;
4316/3: 012 PERM;
4316/4: 011 OR;
4316/5: 065 REV;
4317/0: 167 377 SHC-1;
4317/2: 066 CAB;
4317/3: 300 010 237 V0;
4320/0: 170 036 =Q1;
4320/2: 017|017|017|017|100 025 *14; M5M1;
4321/2: 100 022 M2M1;
4321/4: 011 OR;
[Photo 815
4321/5: 103 022 =M2M1Q;
4322/1: 177 020 J14C1NZS;
4322/3: 201 270 313 J12;
=== Start P106V2; at address 2262/4326
P106V2; [routine added by hux, to remedy ommision in B20
[Scan Call matrix and set R marker in Level Parameters
[Address Call Matrix is in M-part Z12 relative to Z50
[V0 set 0 to process level 1 - 48, 1 to process 49 - 96
[V1 is the level number
[note we do not need to deal formals, since formal procs do not have declarations, only calls
V-store at 04323 = 000 000 000 000 000 000
V-store at 04324 = 000 000 000 000 000 001 V0 = 0; V1 = 1; [incr before the read of the row, row 0 is level 1
4326/0: 320 013 123|170 216|304 000 002|170 204|304 000 060|170 210 Z12; =Q8; set2; = I8; SET48; = C8; [ correction Z11 from Z12
4330/3: 322 213 055|304 000 001|167 377 1; Z50M8Q; SET1;SHC-1; [N1 = leading diag bit mask N2 call matrix word
4331/5: 065|042|220 150 334 2; REV; DUP; J10=Z; [skip row if empty
4332/4: 043|054 DUPD; AND; [ (erase; j4; ) forces set R tag
4333/0: 205 150 343 J4≠Z; [ get leading diagonal bit and if set insert R into LP
4333/3: 204 270 334 j6;
4334/0: 052|205 270 334 10; ERASE; J11; [empty row
4334/4: 052 6; erase;
4334/5: 164 377|300 010 324|033|027|301 010 324 11; SHL-1; V1; NOT; NEG; =V1; [ shift bit, and incr. level number
4336/3: 322 213 055|065|265 210 331 Z50M8Q; REV; J2C8NZ; [get next call matrix word
4337/4: 052|052 ERASE;ERASE;
4340/0: 300 010 323|205 150 354 V0; J5≠Z; [end of scan
4341/0: 304 000 001|042|301 010 323 SET1; DUP; =V0; [set V0 for second part
4342/1: 172 202|304 000 060|170 210 =+M8; SET 48; =C8;
4343/2: 203 270 330 J1; [do second part
4343/5: 300 010 324|167 361 4; V1; SHC-8; [put level no. into ms syllable of N1
4344/4: 200 326 203 JSP3; [get level Parameters
4345/1: 202 270 352 J7; [fail no level parameters
[ALP is in M13 rel. Z50. N1 holds level number
4345/4: 052|320 333 055|042|304 000 040|054|203 150 351 ERASE; Z50M13; DUP; SETB40; AND; J9≠Z; [jump if C - code - mark set
( HUX SHL-1; SHL+1; ) [remove * tag - which appears to take precedence in B60
4347/4: 304 000 100|011|321 333 055|052|205 270 334 8; SETB100; OR; =Z50M13; erase; j11; [insert R marker and continue
4351/3: 052|052|205 270 334 9; erase; erase; j11;
7; [jsp305; (erase; erase; J6;) [skip failure pending correction to code inserting incorrect entries in Call matrix
4352/2: 304 046 300 SET9920; [fail
4352/5: 304 000 200|170 376|170 364|171 376|200 260 106 SETB200; =Q15; =I15; Q15; JE70; [no level parameters
5; [end of scan
4354/5: 200 330 356 JSP886;
4355/2: 200 360 000 EXIT1;
=== Start P886V-1; at address 2286/4356
P886; [ This routine written by hux, to remedy ommission in B20
[scan Call Matrix, and if it shows that a proc does a proc call - then clear its Special Flag (*)
[could be merged with P106 - hux
4356/0: 304 000 140|170 031 SET96; =RC1;
4356/5: 320 013 123|304 053 055|056|170 142 Z12; SETAZ50; +; =M6;
4360/2: 304 000 140|170 051|146 040 1; SET96; =RC2; I2=+2;
4361/3: 041|301 017 240 ZERO; =Y0;
4362/1: 140 020|110 046|102 046|056|042|223 150 371 2; M+I1; M6M2N; M6M2Q; +; dup; J6=Z; [jump if makes no calls hux
4364/0: 052|171 022|164 121|200 326 203|203 270 371 ERASE; M1; SHL+40; JSP3; J6; (FAIL); [j6; skip this failure. J4; to fail - no Level P -
[ the Call Matrix may contain invalid data - needs further work - hux
4365/5: 320 333 055|042|304 000 040|054|222 150 370 Z50M13; DUP; SETB40; AND; J 7=Z;
4367/4: 052|203 270 371 erase; j6; [ not if a code procedure
4370/2: 164 377|164 003|321 333 055 7; SHL-1; SHL+1; =Z50M13;
4371/3: 052|143 020 6; erase; DC1;
4372/0: 261 030 362 J2C1NZ;
4372/3: 041 ZERO;
4372/4: 001|052|200 360 000 5; VR; ERASE; EXIT1;
4373/3: 304 020 054|200 266 242 4; SET4140; JP7;
[Photo 816
[Photo 817
=== Start P200V1; at address 2303/4377
P200V1; [Search level parameters for a level which has
[ level L as a formal parameter
V-store at 04375 = 000 000 377 377 053 052 V0=Q0/-1/AZ53;
V-store at 04376 = 000 000 007 324 000 200 V1=B765000200; [ replace invalid error code 35321;
[ JSP305; hux
4377/0: 041 ZERO;
4377/1: 170 323 =RM13;
4377/3: 320 333 055 1; Z50M13; [extract AND from LPm13 to M13
4400/0: 164 341 SHL-16;
4400/2: 170 322 =M13;
4400/4: 171 322 M13;
4401/0: 223 151 013 J5=Z; [fail no set exists
4401/3: 300 010 375 V0;
4402/0: 170 376 =Q15;
4402/2: 042 2; DUP;
4402/3: 102 375 3; M13M15Q;
4402/5: 042 DUP; [is LPm13+beta+3 a procedure
4403/0: 304 000 230 SETB230;
4403/3: 054 AND;
4403/4: 304 000 020 SETB20;
4404/1: 036 -;
4404/2: 222 151 007 J4=Z;
4404/5: 304 000 377 SETB377; [no
4405/2: 054 AND;
4405/3: 304 000 233 SETB233;
4406/0: 036 -;
4406/1: 203 151 002 J3≠Z; [is it a close bracket p
4406/4: 052 ERASE;
4406/5: 203 270 377 J1;
4407/2: 015 4; NEV; [is it a proc level L
4407/3: 304 000 377 SETB377;
4410/0: 167 361 SHC-8;
4410/2: 054 AND;
4410/3: 202 151 002 J2≠Z;
4411/0: 052 ERASE;
4411/1: 304 053 053 SETAZ52;
4411/4: 171 362 M15;
4412/0: 036|027|033 -; NEG; NOT; [this may be a kludge - but seems OK - hux
[beta - used in p202 - is the number of the required param hux
[Photo 818
4412/3: 320 333 053 Z52M13;
4413/0: 200 360 000 EXIT1;
4413/3: 300 010 376 5; V1;
4414/0: 200 260 106 JE70; [fail
[Photo 819 P200 Block Diagram
[Photo 820 P200 Block Digram
[Photo 821 RP200 Block Digram
[Photo 822
=== Start P201V7; at address 2325/4425
P201V7; [Process Procedure Statement - used in P101 only - so subject to the M7:M9 interchange
V-store at 04415 = 000 000 000 000 000 000
V-store at 04424 = 000 000 000 000 000 000 V0=0; V7=0;
4425/0: 202 326 233 JS2P4;
4425/3: 203 271 026 J52;
4426/0: 200 326 227 51; JSP4;
4426/3: 304 011 015 52; SETAV0;
4427/0: 170 122 =M5;
4427/2: 300 177 241 Y1M7; [ hux Y-1M9; [M15 := ASLI from EPj-1 hux -1 !!!
4427/5: 170 276 =Q11;
4430/1: 171 264 I11;
4430/3: 042 DUP;
4430/4: 170 362 =M15;
4431/0: 033 NOT;
4431/1: 027 NEG;
4431/2: 224 151 034 J1=Z; [ASLI is -1 i.e null?
4431/5: 310 365 174 H0M15; [insert k as ANSLI in Sm15
4432/2: 170 316 =Q12;
4432/4: 171 202 M8;
4433/0: 170 304 =I12;
4433/2: 171 316 Q12;
4433/4: 311 365 174 =H0M15;
4434/1: 203 271 041 J2;
4434/4: 171 162 1; M7; [ j is M7 not M9 hux
4435/0: 027 NEG; [is j > 1
4435/1: 033 NOT;
4435/2: 203 111 041 J2≤Z;
4435/5: 171 270 C11;
4436/1: 170 302 =M12;
4436/3: 310 305 174 H0M12; [set RAPSL in Sm15 = k - m15
4437/0: 171 202 M8;
4437/2: 171 302 M12;
4437/4: 036 -;
4437/5: 304 000 377 SETB377;
4440/2: 054 AND;
4440/3: 167 361 SHC-8;
4440/5: 011 OR;
4441/0: 311 305 174 =H0M12;
4441/3: 171 362 2; M15;
4441/5: 170 351 =RC14;
[Photo 823
4442/1: 151 216 M8TOQ14; [generate new SL in Q14
4442/3: 140 340 M+I14; [APSLI ANSLI ASE
4442/5: 041 ZERO; [ M15 | - | k+1
4443/0: 170 344 =I14;
4443/2: 171 202 M8; [set ASLI in EPj-1 = k
4443/4: 170 264 =I11;
4444/0: 171 276 Q11;
4444/2: 301 177 241 =Y1M7; [was Y-1M9 - but EP is indexed by M7 hux -1 !!!
4444/5: 171 356 Q14; [Sk = Q14 k++
4445/1: 200 332 033 JSP205;
4445/4: 313 205 174 =H0M8Q;
4446/1: 170 316 =Q12;
( C12; [code crossed out?
SET-256;
AND;
=C12; )
4446/3: 171 304 I12; [ store proc word in Sk k++
4446/5: 041 ZERO;
4447/0: 170 304 =I12; [was omitted
4447/2: 164 355 SHL-10; [processed before being stored
4447/4: 304 000 077 SETB77;
4450/1: 054 AND;
4450/2: 164 021 SHL+8; [manuscript correction from +10?
4450/4: 171 302 M12;
4451/0: 304 003 377 SETB1777;
4451/3: 054 AND;
4451/4: 011 OR;
4451/5: 170 302 =M12;
4452/1: 171 202 M8;
4452/3: 171 316 Q12;
4452/5: 200 332 033 JSP205;
4453/2: 313 205 174 =H0M8Q;
4453/5: 170 345 =RI14; [generate SP entry in Q14 L/0|k-1| -
4454/1: 171 316 Q12;
4454/3: 171 310 C12;
4454/5: 164 361 SHL-8;
4455/1: 164 021 SHL+8;
4455/3: 170 350 =C14;
[Photo 824
4455/5: 200 326 203 JSP3;
4456/2: 202 271 057 J50;
4456/5: 205 271 077 J9; [a set exists
4457/2: 157 344 50; Q14TOQ4; [no set exists buffer Q14 into Z
4457/4: 200 330 377 3; JSP200;
4460/1: 041 ZERO;
4460/2: 065 REV;
4460/3: 200 331 300 JSP202;
4461/0: 204 271 064 J5;
4461/3: 200 326 203 JSP3;
4462/0: 204 271 057 J3;
4462/3: 200 271 063 J4;
4463/0: 151 337 4; M13TOQ15;
4463/2: 157 116 Q4TOQ14;
4463/4: 200 331 342 JSP203; [copy Level Parameters
4464/1: 205 271 077 J9;
4464/4: 052 5; ERASE; [correction applied
4464/5: 171 116 Q4;
4465/1: 200 330 377 JSP200;
4465/4: 065 REV;
4465/5: 052 ERASE;
4466/0: 164 261 SHL-40; [insert L' into Z as LULF
4466/2: 171 110 C4;
4466/4: 011 OR;
4466/5: 170 110 =C4;
4467/1: 201 326 166 JS11P2; [insert current tape address into Z
4467/4: 170 102 =M4; [L/L'|k-1|tape address
(
[ this is inserted to prevent duplicate entries in Bb list hux
Q15; [get a q-store to use
C4; [formal level number
M6; =RC15; [number of entries in B-list
62; J61C15Z; [end of list - so goto add entry
M10M15Q;
SHL-32;
J62≠;
ERASE; [entry already in B List
=Q15;
ZERO; J7;
61; ERASE; =Q15; [add it to B list
[ end of insert - this should not be needed - hux
)
4470/0: 171 116 Q4;
4470/2: 242 151 263 J39C6Z;
4470/5: 103 152 =M10M6Q; [Bb := Z b++
4471/1: 041 ZERO; [c:=0
4471/2: 202 271 072 J7;
4471/5: 052 6; ERASE;
4472/0: 033 NOT;
4472/1: 027 NEG;
4472/2: 200 326 126 7; JSP2; [fetch next word
4472/5: 304 000 377 SETB377;
4473/2: 054 AND;
4473/3: 304 000 213 SETB213;
4474/0: 225 031 071 J6=; [is it a open bracket p
4474/3: 304 000 233 SETB233;
[Photo 825
4475/0: 015 NEV;
4475/1: 200 151 076 J8≠Z;
4475/4: 027 NEG;
4475/5: 033 NOT; [theta - 1
4476/0: 042 8; DUP;
4476/1: 202 151 072 J7≠Z; [ is theta = 0
4476/4: 052 ERASE;
4476/5: 202 266 234 J1P4; [exit
4477/2: 200 326 227 24; JSP4;
4477/5: 052 9; ERASE; [a set exists
4500/0: 151 336 M13TOQ14;
4500/2: 171 356 Q14;
4500/4: 242 231 264 J40C9Z; [check we have space hux
4501/1: 303 237 240 =Y0M9Q; [very dodgy hux doc correction m7 to m9 - this is OK for manorboy
4501/4: 143 220 DC9; [C9 is a space counter hux
4502/0: 320 333 053 Z52M13; [ doc. insert
4502/3: 164 041 SHL+16;
4502/5: 164 255 SHL-42;
4503/1: 042 DUP; [dodgy documentation
4503/2: 220 151 120 J15=Z;
4503/5: 052 ERASE;
4504/0: 200 326 126 JSP2;
4504/3: 042 DUP;
4504/4: 304 000 377 SETB377; [is it (p
4505/1: 054 AND;
4505/2: 304 000 213 SETB213; [this is a
4505/5: 015 NEV;
4506/0: 220 151 161 J22=Z; [begin statement
4506/3: 042 DUP;
4506/4: 304 000 200 SETB200;
4507/1: 054 AND;
4507/2: 222 151 267 J43=Z; [fail
4507/5: 042 DUP; [is a ; v then v else v end v THEN v ELSE v :bpl v ,bpl v
[ )sl v ]s or ]bpl v ) v operator these all sort of indicate end of statement? hux
4510/0: 304 000 017 SETB17;
4510/3: 054 AND;
4510/4: 170 302 =M12;
4511/0: 104 305 M5M12H; [ARr
4511/2: 164 321 SHL-24;
4511/4: 174 000 =LINK;
4512/0: 304 000 160 SETB160;
4512/3: 054 AND;
4512/4: 202 360 000 EXIT;
[Photo 826
V-store at 04415 = 000 051 116 000 000 000
V-store at 04415 = 000 051 116 000 011 120 V0U=AR13; V0L=AR15;
V-store at 04416 = 000 011 120 000 000 000
V-store at 04416 = 000 011 120 000 011 120 V1U=AR15; V1L=AR15;
V-store at 04417 = 000 051 115 000 000 000
V-store at 04417 = 000 051 115 000 051 114 V2U=AR12; V2L=AR11;
V-store at 04420 = 000 051 116 000 000 000
V-store at 04420 = 000 051 116 000 051 114 V3U=AR13; V3L=AR11;
V-store at 04421 = 000 051 115 000 000 000
V-store at 04421 = 000 051 115 000 051 113 V4U=AR12; V4L=AR10;
V-store at 04422 = 000 051 114 000 000 000
V-store at 04422 = 000 051 114 000 051 116 V5U=AR11; V5L=AR13;
V-store at 04423 = 000 211 116 000 000 000
V-store at 04423 = 000 211 116 000 051 116 V6U=AR14; V6L=AR13;
V-store at 04424 = 000 051 116 000 000 000
V-store at 04424 = 000 051 116 000 051 116 V7U=AR13; V7L=AR13;
4513/1: 304 000 060 10; SETB60;
4513/4: 220 031 120 J15=;
4514/1: 304 000 040 11; SETB40;
4514/4: 220 031 120 J15=;
4515/1: 304 000 020 12; SETB20;
4515/4: 220 031 120 J15=;
4516/1: 202 271 270 13; J44; [failure
4516/4: 304 000 020 14; SETB20;
4517/1: 054 AND;
4517/2: 042 DUP;
4517/3: 222 151 271 J45=Z; [fail
4520/0: 052 15; ERASE; [end statement
4520/1: 300 237 237 Y-1M9; [ was y1M7; paired with edit2 hux
[ it is possible that this location is just a convenient
[ temporary storage - but see dodgy edit above - so probably not temporary
[ this code is a rewrite down to
4520/4: 042 DUP;
4520/5: 170 376 =Q15; [changed to correct posn of p and q
4521/1: 164 025 SHL+10; [get no params processed to d0..5
4521/3: 320 373 053 Z52M15; [is q in LPm15+2 = to p in SPi-1
4522/0: 164 041 SHL+16; [get no. params to d0..5 - no. params 6-bit
4522/2: 015 NEV;
4522/3: 167 015 SHC+6; [get result to d42..47
4522/5: 304 000 077 SETB77;
4523/2: 054 AND;
4523/3: 202 151 272 J46≠Z; [fail
[ hux
4524/0: 171 376 Q15; [extract level L just processed from Spi to LULF position in Bb
4524/2: 164 361 SHL-8;
4524/4: 141 220 M-I9; [ hux was M-I7; remove entry from SPi
4525/0: 171 230 C9; [i= i-1 c9 is the space counter
4525/2: 033 NOT;
4525/3: 027 NEG;
[Photo 827
4525/4: 170 230 =C9;
4526/0: 171 142 M6;
4526/2: 170 271 =RC11; [set counter = b
4526/4: 243 271 260 16; J37C11Z; [continue search
4527/1: 042 DUP;
4527/2: 102 272 M10M11Q; [fetch Bb'
4527/4: 015 NEV;
4527/5: 167 041 SHC+16;
4530/1: 304 000 377 SETB377;
4530/4: 054 AND;
4530/5: 204 151 126 J16≠Z; [is LULF = L
4531/2: 052 ERASE;
4531/3: 151 375 M15TOQ13;
4531/5: 304 053 052 SETAZ53; [M13 := (ALP.(SPi+2))
4532/2: 172 322 =+M13;
4532/4: 041 ZERO;
4532/5: 170 303 =RM12; [beta = 0;
4533/1: 145 300 I12=-1;
4533/3: 141 260 M-I11;
4533/5: 100 272 M10M11;
4534/1: 140 260 M+I11;
4534/3: 102 315 17; M13M12Q; [ beta ++
4534/5: 043 DUPD;
4535/0: 015 NEV;
4535/1: 167 021 SHC+8; [is LPm13+beta = LUL
4535/3: 304 000 377 SETB377;
4536/0: 054 AND;
4536/1: 220 151 141 J18=Z;
4536/4: 304 000 377 SETB377;
4537/1: 054 AND;
4537/2: 304 000 233 SETB233;
4537/5: 015 NEV;
4540/0: 203 151 134 J17≠Z; [is LPm13+beta = )p
4540/3: 202 271 273 J47; [fail
4541/0: 052 18; ERASE; [find corresponding actual
4541/1: 052 ERASE;
4541/2: 300 177 241 Y1M7; [ hux was Y-1M9; EPj-1
4541/5: 164 341 SHL-16;
[Photo 828
4542/1: 170 342 =M14;
4542/3: 310 345 174 H0M14;
4543/0: 170 342 =M14; [M14 = ASE from SM14
4543/2: 171 302 M12; [set counter = beta
4543/4: 027 NEG; [query not a clear insert or erase in doc hux
4543/5: 170 311 =RC12;
4544/1: 310 345 174 19; H0M14; [next parameter hux
4544/4: 164 341 SHL-16;
4545/0: 170 342 =M14; [M14 = ANW from Sm14
4545/2: 143 300 DC12; [ beta = beta -1
4545/4: 261 311 144 J19C12NZ; [is beta = 0
4546/1: 310 345 174 60; H0M14; [is Sm14 a procedure
4546/4: 042 DUP;
4546/5: 304 000 230 SETB230;
4547/2: 054 AND;
4547/3: 304 000 020 SETB20; [set Li = level no Sm14
4550/0: 015 NEV;
4550/1: 202 151 274 J48≠Z; [fail
4550/4: 200 326 203 20; JSP3; [search Level Parameters
4551/1: 201 271 152 J53; [none
4551/4: 203 271 154 J21; [a set exists
4552/1: 200 330 377 53; JSP200; [Search LP for level L' which has L as a formal - has to exist?
4552/4: 041 ZERO;
4552/5: 065 REV;
4553/0: 200 331 300 JSP202; [Search for a statement of L' - which will give
[ an actual for the beta parameter
4553/3: 204 271 126 J16;
4554/0: 204 271 150 J20;
21; [M13; [=M15; [inserted - has no detected effect - hux
4554/3: 141 260 M-I11; [flow chart block diagram says M15 := M13 and uses Q4 not Q14
4554/5: 100 272 M10M11; [Q4 = Bb'
4555/1: 170 116 =Q4;
4555/3: 041 ZERO; [delete Bb'
4555/4: 101 272 =M10M11;
[M+I11; [this seems redundant
4556/0: 264 131 157 J54C5NZ; [ if there are postponed?
[ I cannot find any code which sets C5 > 0 always 0 or -1
4556/3: 143 120 DC5; [SETS C5 TO -1! - i.e all done? hux
4556/5: 201 326 166 JS11P2; [get tape position
4557/2: 170 070 =C3; [tape position for this reentrant level hux
4557/4: 171 102 54; M4; [move tape to position in M4 hux
4560/0: 203 326 171 JS12P2;
4560/3: 200 271 063 J4; [go to copy level parameters and then process statement hux
[Photo 829
4561/0: 300 237 237 22; Y-1M9; [ SPi-1 edit hux Y1M7; [begin statement
4561/3: 170 356 =Q14;
4561/5: 052 23; ERASE; [next parameter
4562/0: 200 326 126 JSP2; [fetch next word
4562/3: 171 350 C14;
4562/5: 304 000 377 SETB377;
4563/2: 054 AND;
4563/3: 151 357 M14TOQ15; [M15 := M14 + p
4563/5: 027 NEG;
4564/0: 172 362 =+M15;
4564/2: 304 000 001 SET+1;
4564/5: 172 350 =+C14; [ p++ in M14
4565/1: 171 356|301 237 237 Q14; =Y-1M9; [hux, p++ was not being stored -
4566/0: 320 373 052 Z53M15; [fetch LPm15+3
4566/3: 043 DUPD;
4566/4: 042 DUP;
4566/5: 304 000 030 SETB30;
4567/2: 054 AND;
4567/3: 042 DUP;
4567/4: 221 151 173 J25=Z; [is it a variable
4570/1: 304 000 030 SETB30;
4570/4: 015 NEV;
4570/5: 205 151 236 J35≠Z;
4571/2: 042 DUP; [a string, label or switch !!!!!!!
4571/3: 304 000 007 SETB7;
4572/0: 054 AND;
4572/1: 304 000 001 SETB1;
4572/4: 204 031 236 J34≠; [jump if not a label
4573/1: 052 25; ERASE; [ variable or label
4573/2: 171 202 M8;
4573/4: 170 311 =RC12;
4574/0: 145 300 I12=-1; [generate new EP entry
[EPj := k|-1|—; j++
[EP is accessed Y0M7 going down
4574/2: 171 316 Q12;
4574/4: 242 231 265 J41C9Z;
4575/1: 303 177 240 =Y0M7Q; [ edit hux original =Y0M9Q;
4575/4: 171 344 I14;
[Photo 830
4576/0: 170 362 =M15; [M15 := ALSE from Q14
4576/2: 310 365 174 H0M15;
4576/5: 170 316 =Q12; [set k in Sm15 as ANW inserts k as ALSE in Q14
4577/1: 171 202 M8;
4577/3: 170 304 =I12;
4577/5: 152 316 I12TOQ14;
4600/1: 171 316 Q12;
4600/3: 311 365 174 =H0M15;
4601/0: 052 ERASE;
4601/1: 052 ERASE; [correction applied
4601/2: 304 001 377 SETB777; [store <exp> in Sk K++
[mark with L if designational exp
[N if called by name
4601/5: 054 AND;
4602/0: 200 332 033 JSP205;
4602/3: 313 205 174 =H0M8Q;
4603/0: 042 26; DUP;
4603/1: 304 000 330 SETB330;
4603/4: 054 AND;
4603/5: 304 000 020 SETB20;
4604/2: 015 NEV;
4604/3: 220 151 234 J33=Z; [ is it a procedure statement
4605/0: 042 DUP;
4605/1: 304 000 377 SETB377;
4605/4: 054 AND;
4605/5: 304 000 253 SETB253;
4606/2: 220 031 232 J32=; [is it a ,p
4606/5: 304 000 233 SETB233;
4607/2: 221 031 227 J31=; [ is it a )p
4607/5: 304 000 340 SETB340;
4610/2: 054 AND;
4610/3: 304 000 040 SETB40;
4611/0: 015 NEV;
4611/1: 225 151 212 J28=Z; [is it a formal
4611/4: 052 ERASE;
4611/5: 200 326 126 27; JSP2; [fetch next word
4612/2: 200 271 203 J26;
4612/5: 300 177 241 28; Y1M7; [was Y-1M9 EPj-1 hux - EP is stored down store so why Y-1 hux
[Photo 831
4613/2: 170 316 =Q12;
4613/4: 171 302 M12; [is ALEFL in EPj-1 = 0
4614/0: 203 151 221 J29≠Z;
4614/3: 171 202 M8;
4614/5: 171 310 C12;
4615/1: 042 DUP;
4615/2: 170 362 =M15; [m15 = EX from EPj-1
4615/4: 036 -;
4615/5: 310 365 174 H0M15;
4616/2: 170 276 =Q11; [RAFSL in Sm15 := k-M15
4616/4: 304 000 377 SETB377;
4617/1: 054 AND;
4617/2: 171 270 C11;
4617/4: 011 OR;
4617/5: 170 270 =C11;
4620/1: 171 276 Q11;
4620/3: 311 365 174 =H0M15;
4621/0: 203 271 224 J30;
4621/3: 171 344 29; I14;
4621/5: 170 362 =M15; [M15 := ALSE from Q14
4622/1: 310 305 174 H0M12;
4622/4: 170 276 =Q11; [K into Sm15 as ANW
4623/0: 171 202 M8;
4623/2: 170 264 =I11;
4623/4: 171 276 Q11;
4624/0: 311 305 174 =H0M12;
4624/3: 151 214 30; M8TOQ12;
4624/5: 171 316 Q12; [insert K as ALEFL in EPj-1
4625/1: 301 177 241 =Y1M7; [was Y-1M9 hux
4625/4: 200 332 033 JSP205; [formal ->Sk k++
4626/1: 313 205 174 =H0M8Q;
4626/4: 205 271 211 J27;
4627/1: 052 31; ERASE;
4627/2: 141 160 M-I7; [ hux M-I9;
4627/4: 171 230 C9;
[Photo 832
4630/0: 033 NOT;
4630/1: 027 NEG;
4630/2: 170 230 =C9; [j = j-1, counter +1
4630/4: 171 356 Q14;
4631/0: 301 237 237 =Y-1m9; [SP[i-1] := Q14 was =Y1M7
[ -> Y1M9 see R15 - edit2 hux
4631/3: 200 271 120 J15;
4632/0: 052 32; ERASE;
4632/1: 141 160 M-I7; [ hux M-I9; M7 is EP[j]
4632/3: 171 230 C9; [j:= j-1
4632/5: 033 NOT;
4633/0: 027 NEG;
4633/1: 170 230 =C9;
4633/3: 205 271 161 J23;
[blank line
4634/0: 171 356 33; Q14;
4634/2: 301 237 241 =Y1M9; [=Y-1M9; [Spi-1 := Q14 SP indexed by M9 hux was y1m7
4634/5: 200 331 026 JS51P201; [procedure statement S÷R
4635/2: 300 237 241 Y1M9; [SP indexed by M9 was Y1M7 hux
4635/5: 170 356 =Q14; [q14 := SPi-1
4636/1: 205 271 211 J27;
4636/4: 052 34; ERASE; [check actual/formal correspondence
4636/5: 015 35; NEV;
4637/0: 042|304 000 377|054|304 000 367|223 031 242 DUP; SETB377; AND; SETB367; J80=;
[check string types - insert by hux
[string codeword has tag 215 LP parameter has type 172
[label codeword is 131, label formal parameter is 031
4640/5: 304 000 037 SETB37; [this checks all except string parameters
4641/2: 054 AND;
4641/3: 202 151 275 J49≠Z; [failure
4642/0: 205 271 242 J81;
4642/3: 052|052 80; ERASE; ERASE; [fix nest overflow in string handling David Ho
4642/5: 052 81; ERASE;
4643/0: 171 344 I14;
4643/2: 170 362 =M15; [set M15 := ALSE from Q14
4643/4: 310 365 174 H0M15;
4644/1: 170 316 =Q12; [insert K into Sm15 as ANW
4644/3: 171 202 M8;
4644/5: 170 304 =I12;
4645/1: 152 316 I12TOQ14; [insert k as ALSE in Q14
4645/3: 171 316 Q12;
4645/5: 311 365 174 =H0M15;
4646/2: 042 DUP;
[Photo 833
4646/3: 304 000 370 SETB370; [ INSERTED ****
4647/0: 054 AND;
4647/1: 304 000 060 SETB60;
4647/4: 015 NEV;
4647/5: 200 151 253 J36≠Z; [ INSERTED ****
4650/2: 170 316 =Q12;
4650/4: 171 304 I12;
4651/0: 164 375 SHL-2;
4651/2: 171 302 M12;
4651/4: 011 OR;
4651/5: 170 302 =M12;
4652/1: 041 ZERO;
4652/2: 170 304 =I12;
4652/4: 171 316 Q12;
4653/0: 200 332 033 36; JSP205;
4653/3: 313 205 174 =H0M8Q;
4654/0: 200 326 126 JSP2;
4654/3: 304 000 377 SETB377;
4655/0: 054 AND;
4655/1: 304 000 253 SETB253; [,p new statement hux
4655/4: 225 031 161 J23=;
4656/1: 304 000 233 SETB233; [ )p end statement
4656/4: 202 031 266 J42≠; [FAILURE
4657/1: 171 356 Q14;
4657/3: 301 237 237 =Y-1M9; [Set SPi-1 = Q14 - so has to be M9 not M7 Dubious edit hux**
4660/0: 200 271 120 J15;
4660/3: 052 37; ERASE;
4660/4: 171 130 C5;
4661/0: 205 051 262 J38≥Z;
4661/3: 171 070 C3; [restore tape position for the prior level hux
4661/5: 203 326 171 JS12P2;
4662/2: 041 ZERO;
4662/3: 170 130 =C5;
4662/5: 202 266 234 38; J1P4; [exit - or go back to prior reentrant level hux
[Photo 834
4663/2: 304 007 344 39; SET+2020;
4663/5: 205 272 034 J1P205;
4664/2: 304 010 110 40; SET+2120;
4664/5: 205 272 034 J1P205;
4665/2: 304 010 254 41; SET+2220;
4665/5: 205 272 034 J1P205;
4666/2: 304 011 020 42; SET+2320;
4666/5: 205 272 034 J1P205;
4667/2: 304 011 164 43; SET+2420;
4667/5: 205 272 034 J1P205;
4670/2: 304 011 330 44; SET+2520;
4670/5: 205 272 034 J1P205;
4671/2: 304 012 074 45; SET+2620;
4671/5: 205 272 034 J1P205;
4672/2: 304 012 240 46; SET+2720;
4672/5: 205 272 034 J1P205;
4673/2: 304 013 004 47; SET+2820;
4673/5: 205 272 034 J1P205;
4674/2: 304 013 150 48; SET+2920;
4674/5: 205 272 034 J1P205;
4675/2: 304 013 314 49; SET+3020;
4675/5: 205 272 034 J1P205;
[Photo 835 P201 Block Diagram
[Photo 836 P201 Block Diagram
[Photo 837 P201 Block Diagram
[Photo 838 P201 Block Diagram
[Photo 839
=== Start P202V0; at address 2496/4700
P202V0;
[Photo 840
[ Search for a statement of the level in L' this statement
[ is required to define a 'value' of the beta'th formal parameter.
V-store at 04677 = 000 000 007 341 000 200 V0=B770200200; [replace invalid error code 35321; hux
4700/0: 041 ZERO;
4700/1: 042 DUP;
4700/2: 170 371 =RC15;
4700/4: 303 372 377 =YA0M15Q;
4701/1: 300 372 376 1; YA-1M15;
4701/4: 170 322 =M13;
4702/0: 310 325 174 H0M13;
4702/3: 170 302 =M12;
4702/5: 042 DUP;
4703/0: 310 305 174 H0M12;
4703/3: 015 NEV;
4703/4: 304 000 377 SETB377;
4704/1: 167 361 SHC-8;
4704/3: 054 AND;
4704/4: 225 151 324 J7=Z;
4705/1: 042 DUP;
4705/2: 304 000 007 SETB7;
4705/5: 054 AND;
4706/0: 223 151 326 J8=Z; [ L' is a function [check for type hux
4706/3: 201 271 307 J3;
4707/0: 052 2; ERASE;
4707/1: 310 305 174 3; H0M12;
4707/4: 170 316 =Q12;
4710/0: 171 304 I12;
4710/2: 042 DUP;
4710/3: 170 302 =M12;
4710/5: 223 151 326 J8=Z;
4711/2: 310 305 174 H0M12;
4711/5: 042 DUP;
4712/0: 170 356 =Q14;
4712/2: 304 000 330 SETB330;
4712/5: 054 AND;
[Photo 841
4713/0: 042 DUP;
4713/1: 223 151 317 J4=Z;
4713/4: 304 000 030 SETB30;
4714/1: 036 -;
4714/2: 201 151 307 J3≠Z;
4714/5: 171 356 Q14;
4715/1: 304 000 007 SETB7;
4715/4: 054 AND;
4715/5: 304 000 001 SETB1;
4716/2: 036 -;
4716/3: 201 151 307 J3≠Z;
4717/0: 204 271 317 J5;
4717/3: 052 4; ERASE;
4717/4: 171 350 5; C14;
4720/0: 164 361 SHL-8;
4720/2: 042 DUP;
4720/3: 220 151 307 J2=Z;
4721/0: 171 302 M12;
4721/2: 056 +;
4721/3: 042 DUP;
4721/4: 303 372 377 =YA0M15Q;
4722/1: 201 151 301 6; J1≠Z;
4722/4: 141 360 M-I15;
4723/0: 171 362 M15;
4723/2: 201 151 301 J1≠Z;
4723/5: 012 PERM;
4724/0: 052 ERASE;
4724/1: 052 ERASE;
4724/2: 200 360 000 EXIT1;
4724/5: 310 305 174 7; H0M12;
4725/2: 170 356 =Q14;
4725/4: 171 344 I14;
4726/0: 205 151 330 J9≠Z;
4726/3: 310 325 174 8; H0M13;
4727/0: 170 356 =Q14;
[Photo 842
4727/2: 171 344 I14;
4727/4: 042 DUP;
4727/5: 301 372 376 =YA-1M15;
4730/2: 201 271 322 J6;
4730/5: 151 316 9; M12TOQ14;
4731/1: 052 ERASE;
4731/2: 222 151 332 J10=Z;
4731/5: 202 360 001 EXIT2;
4732/2: 170 371 10; =RC15;
4732/4: 151 355 M14TOQ13;
4733/0: 310 325 174 11; H0M13;
4733/3: 170 316 =Q12;
4733/5: 171 304 I12;
4734/1: 170 322 =M13;
4734/3: 143 360 DC15;
4734/5: 260 371 333 J11C15NZ;
4735/2: 310 325 174 H0M13;
4735/5: 042 DUP;
4736/0: 304 000 230 SETB230;
4736/3: 054 AND;
4736/4: 304 000 020 SETB20;
4737/1: 036 -;
4737/2: 203 151 340 J12≠Z; [FAIL
4737/5: 052 ERASE; [ inserted hux
4740/0: 202 360 001 EXIT2;
4740/3: 300 011 277 12; V0; [ fail 3120
4741/0: 200 260 106 JE70;
[Photo 843 P202 Block Diagram
[Photo 844 P202 Block Diagram
[Photo 845
=== Start P203V-1; at address 2530/4742
P203; [COPY A SET OF LEVEL PARAMETERS
[Photo 846
4742/0: 320 013 055 Z50;
4742/3: 170 276 =Q11;
4742/5: 320 273 053 Z52M11;
4743/2: 167 055 SHC+22;
4743/4: 304 000 077 SETB77;
4744/1: 054 AND;
4744/2: 151 275 M11TOQ13;
4744/4: 304 000 004 SET4;
4745/1: 056 +;
4745/2: 027 NEG;
4745/3: 172 322 =+M13;
4745/5: 157 274 Q11TOQ12;
4746/1: 151 334 M13TOQ12;
4746/3: 171 316 Q12;
4746/5: 321 013 055 =Z50;
4747/2: 320 273 055 Z50M11;
4747/5: 170 316 =Q12;
4750/1: 171 322 M13;
4750/3: 170 304 =I12;
4750/5: 171 316 Q12;
4751/1: 321 273 055 =Z50M11;
4751/4: 171 262 M11;
4752/0: 164 101 SHL+32;
4752/2: 321 333 055 =Z50M13;
4752/5: 200 332 033 JSP205;
4753/2: 320 373 054 Z51M15;
4753/5: 321 333 054 =Z51M13;
4754/2: 200 332 033 JSP205;
4754/5: 320 373 053 Z52M15;
4755/2: 170 276 =Q11;
4755/4: 171 350 C14;
4756/0: 164 361 SHL-8;
4756/2: 164 021 SHL+8;
4756/4: 042 DUP;
[Photo 847
4756/5: 170 350 =C14;
4757/1: 170 270 =C11;
4757/3: 171 276 Q11;
4757/5: 304 000 040 SETB40;
4760/2: 011 OR;
4760/3: 321 333 053 =Z52M13;
4761/0: 200 332 033 JSP205;
4761/3: 171 322 M13;
4761/5: 170 303 =RM12;
4762/1: 145 300 I12=-1;
4762/3: 171 362 M15;
4762/5: 170 363 =RM15;
4763/1: 145 360 I15=-1;
4763/3: 322 373 052 1; Z53M15Q;
4764/0: 042 DUP;
4764/1: 304 000 377 SETB377;
4764/4: 054 AND;
4764/5: 304 000 233 SETB233;
4765/2: 036 -;
4765/3: 223 151 367 J2=Z;
4766/0: 323 313 052 =Z53M12Q;
4766/3: 200 332 033 JSP205;
4767/0: 203 271 363 J1;
4767/3: 170 376 2; =Q15;
4767/5: 171 370 C15;
4770/1: 304 000 377 SETB377;
4770/4: 054 AND;
4770/5: 171 270 C11;
4771/1: 011 OR;
4771/2: 170 370 =C15;
4771/4: 171 376 Q15;
4772/0: 321 313 052 =Z53M12;
4772/3: 200 332 033 JSP205;
4773/0: 320 013 124 Z11; [ code block added, updating Z11
4773/3: 170 376 =Q15;
4773/5: 171 302 M12;
4774/1: 304 000 004 SET4;
4774/4: 036 -;
4774/5: 170 362 =M15;
4775/1: 171 376 Q15;
4775/3: 321 013 124 =Z11;
4776/0: 151 323 M13TOQ3;
4776/2: 200 360 000 EXIT1;
[Photo 848 P203 Block Diagram
[Photo 849
=== Start P204V-1; at address 2559/4777
P204;
[Photo 850
[jsp303; jsp305; [ Search for a level L' which has L as an actual
4777/0: 041 ZERO;
4777/1: 042 DUP;
4777/2: 170 371 =RC15;
4777/4: 170 356 =Q14;
5000/0: 310 345 174 1; H0M14; [ Sm13, L
5000/3: 170 322 =M13;
5000/5: 310 325 174 H0M13; [Sm13, L
5001/2: 170 316 =Q12;
5001/4: 171 310 C12;
5002/0: 164 361 SHL-8; [ 'L', L
5002/2: 170 344 =I14;
5002/4: 041 ZERO;
5002/5: 170 350 =C14;
5003/1: 205 272 003 J3; [Q14 0/L'/0
5003/4: 052 2; ERASE;
5003/5: 143 340 3; DC14;
5004/1: 310 325 174 H0M13;
5004/4: 170 316 =Q12;
5005/0: 171 304 I12;
5005/2: 042 DUP;
5005/3: 170 322 =M13;
5005/5: 223 152 023 J6=Z;
5006/2: 310 325 174 H0M13;
5006/5: 042 DUP;
5007/0: 170 316 =Q12;
5007/2: 304 000 330 SETB330;
5007/5: 054 AND;
5010/0: 042 DUP;
5010/1: 225 152 014 J4=Z; [RvIvB and exp
5010/4: 304 000 020 SETB20;
5011/1: 222 032 020 J5=;
5011/4: 304 000 030 SETB30;
5012/1: 036 -;
5012/2: 205 152 003 J3≠Z;
5012/5: 171 316 Q12;
5013/1: 304 000 007 SETB7;
[Photo 851
5013/4: 054 AND;
5013/5: 304 000 001 SETB1;
5014/2: 204 032 003 J2≠;
5014/5: 052 4; ERASE;
5015/0: 171 310 C12;
5015/2: 164 361 SHL-8;
5015/4: 042 DUP;
5015/5: 224 152 003 J2=Z;
5016/2: 172 322 =+M13;
5016/4: 171 356 Q14;
5017/0: 303 372 377 =YA0M15Q;
5017/3: 151 336 M13TOQ14;
5017/5: 200 272 000 J1;
5020/2: 052 5; ERASE;
5020/3: 171 310 C12;
5020/5: 164 361 SHL-8;
5021/1: 205 032 003 J3≠;
5021/4: 052 ERASE;
5021/5: 171 350 C14;
5022/1: 027 NEG;
5022/2: 171 344 I14;
5022/4: 164 121 SHL+40;
5023/0: 202 360 001 EXIT2;
5023/3: 151 355 6; M14TOQ13;
5023/5: 310 325 174 H0M13;
5024/2: 170 316 =Q12;
5024/4: 171 304 I12;
5025/0: 042 DUP;
5025/1: 170 342 =M14;
5025/3: 200 152 000 J1≠Z;
5026/0: 141 360 M-I15;
5026/2: 171 362 M15;
5026/4: 223 052 030 J7<Z;
5027/1: 300 372 377 YA0M15;
5027/4: 170 356 =Q14;
5030/0: 200 272 000 J1;
[Photo 852
5030/3: 052 7; ERASE;
5030/4: 200 360 000 EXIT1;
[Photo 853 P204 Block Diagram
[Photo 854 P204 Block Diagram
[Photo 855
=== Start P205V0; at address 2587/5033
P205V0; [use and check space between lists LP and S
[Photo 856
V-store at 05032 = 000 000 000 000 000 200 V0=B200; [B35321; hux
5033/0: 143 240 DC10;
5033/2: 242 252 034 J2C10Z;
5033/5: 200 360 000 EXIT1;
5034/2: 304 002 010 2; SET+0520;[FAIL
5034/5: 300 012 032 1; V0;
5035/2: 170 376 =Q15; [B200
5035/4: 170 364 =I15; [fail number
5036/0: 171 376 Q15;
5036/2: 200 260 106 JE70; [JP1
[Photo 857
=== Start P206V4; at address 2596/5044
P206V4;
[Photo 858
[ Insert digit in call or correspondence matrix
V-store at 05041 = 000 000 000 000 000 060 V2=48;
V-store at 05042 = 000 000 000 000 000 030 V3=24;
V-store at 05043 = 000 000 013 271 000 200 V4=B1356200200; [replace invalid error code 35321;hux
5044/0: 170 342 =M14; [normal entry N1=0 call matrix, N1=1 correspondence matrix
5044/2: 167 021 SHC+8; [N2= row, N3=column
5044/4: 304 000 377 SETB377;
5045/1: 054 AND;
5045/2: 027 NEG;
5045/3: 033 NOT;
5045/4: 161 005 SHA+2;
5046/0: 170 363 =RM15;
5046/2: 167 021 SHC+8;
5046/4: 304 000 377 SETB377;
5047/1: 054 AND;
5047/2: 300 352 041 V2M14;
5047/5: 044 ÷I;
5050/0: 042 DUP;
5050/1: 220 152 057 J3=Z;
5050/4: 171 342 M14;
5051/0: 224 152 052 J5=Z;
5051/3: 161 003 SHA+1;
5051/5: 304 377 374|172 362 SET-4; =+M15; [ addition
5052/4: 027 5; NEG;
5052/5: 170 370 =C15;
5053/1: 171 362 M15;
5053/3: 056 +;
5053/4: 170 362 =M15;
5054/0: 041 ZERO;
5054/1: 033 NOT;
5054/2: 027 NEG;
5054/3: 167 360 SHCC15;
5054/5: 300 352 037 2; V0M14;
5055/2: 170 342 =M14;
5055/4: 100 376 M14M15;
5056/0: 011 OR;
5056/1: 101 376 =M14M15;
5056/3: 200 360 000 EXIT1;
[Photo 859
5057/0: 052 3; ERASE;
5057/1: 027 NEG;
5057/2: 033 NOT;
5057/3: 172 362 =+M15;
5057/5: 041 ZERO;
5060/0: 033 NOT;
5060/1: 027 NEG;
5060/2: 205 272 054 J2;
5060/5: 320 013 124 1; Z11; [initial entry
5061/2: 170 376 =Q15;
5061/4: 171 362 M15;
5062/0: 304 053 055 SETAZ50;
5062/3: 056 +;
5062/4: 304 002 377 SET767;
5063/1: 036 -;
5063/2: 042 DUP;
5063/3: 301 012 040 =V1;
5064/0: 042|320 013 123|170 356|170 342|171 356|321 013 123 DUP; Z12; =Q14; =M14; Q14; =Z12; [code insert
5066/1: 304 003 000 SET768;
5066/4: 036 -;
5066/5: 042 DUP;
5067/0: 301 012 037 =V0;
5067/3: 042 DUP;
5067/4: 170 362 =M15;
5070/0: 171 364 I15;
5070/2: 036 -;
5070/3: 171 376 Q15;
5070/5: 321 013 124 =Z11;
5071/2: 222 052 072 J4<Z;
5071/5: 200 360 000 EXIT1;
5072/2: 300 012 043 4; V4;
5072/5: 200 260 106 JE70; [fail
[Photo 860 P207 V stores
[Photo 861
[ Map matrix N1=0 for single digit matrix
[ N1=1 for two digit matrix
[ N2 = address of first word of matrix
=== Start P207V7; at address 2628/5104
P207V7;
V-store at 05074 = 000 004 000 001 000 000 V0=Q4/1/0;
V-store at 05075 = 000 300 000 004 000 000 V1=Q192/4/0;
V-store at 05076 = 000 060 000 004 000 000 V2=Q48/4/0;
V-store at 05077 = 000 030 000 004 000 000 V3=Q24/4/0;
V-store at 05100 = 125 125 125 125 125 125 V4=B2525252525252525;
V-store at 05101 = 000 000 000 000 000 000 V5=0;
V-store at 05102 = 377 377 000 001 000 000 V6=Q-1/1/0;
V-store at 05103 = 377 376 000 001 000 001 V7=Q-2/1/1;
[ JSP310; diagnostic suppressed D.Ho.
5104/0: 170 262 =M11;
5104/2: 300 272 102 V6M11;
5104/5: 170 276 =Q11;
5105/1: 300 012 074 V0;
5105/4: 170 336 =Q13;
5106/0: 170 322 =M13;
5106/2: 171 336 Q13;
5106/4: 301 012 101 =V5;
5107/1: 300 272 076 V2M11;
5107/4: 170 316 =Q12;
5110/0: 041 ZERO;
5110/1: 033 NOT;
5110/2: 027 NEG;
5110/3: 300 272 076 1; V2M11;
5111/0: 170 356 =Q14;
5111/2: 154 354 C14TOQ12;
5111/4: 300 012 075 2; V1;
5112/1: 170 356 =Q14;
5112/3: 167 260 SHCC11;
5112/5: 017|042 *3; DUP;
5113/1: 102 355 M13M14Q;
5113/3: 054 AND;
5113/4: 203 152 117 J5≠Z;
5114/1: 177 340 4; J3C14NZS;
5114/3: 143 300 DC12;
5114/5: 140 300 M+I12;
5115/1: 264 312 111 J2C12NZ;
[Photo 862
5115/4: 143 320 DC13;
5116/0: 140 320 M+I13;
5116/2: 263 332 110 J1C13NZ;
5116/5: 052 ERASE;
[ JSP310; diagnostic suppressed D.Ho.
5117/0: 200 360 000 EXIT1;
5117/3: 141 340 5; M-I14;
5117/5: 300 012 101 V5;
5120/2: 170 376 =Q15;
5120/4: 171 262 M11;
5121/0: 220 152 125 J7=Z;
5121/3: 300 012 100 V4;
5122/0: 042 *6; DUP;
5122/1: 100 374 M12M15;
5122/3: 054 AND;
5122/4: 100 376 M14M15;
5123/0: 011 OR;
5123/1: 103 376 =M14M15Q; [2-bit matrix and could be propogating the wrong way set to M12
5123/3: 177 360 J6C15NZS;
5123/5: 052 ERASE;
5124/0: 203 272 126 J8;
5124/3: 017|017|017|100 374 *7; M12M15;
5125/2: 100 376 M14M15;
5125/4: 011 OR;
5125/5: 103 376 =M14M15Q; [call matrix - 1 bit - if L2 calls L3 the L3 call propogate into Level 2
[ I think this should be =M14M15Q not =m12m15q hux
[I am almost certain that M12 is wrong since a test where h calls f and f calls g
[sets f g and h recursive
5126/1: 177 360 J7C15NZS;
5126/3: 140 340 8; M+I14;
5126/5: 201 272 114 J4;
[Photo 863
=== Start P208V-1; at address 2648/5130
P208; [Next Statement
[Photo 864
5130/0: 300 217 236 1; Y-2M8;
5130/3: 170 336 =Q13; [Q13 = SSi-2
5130/5: 171 324 I13;
5131/1: 170 302 =M12; [ M12 = ANW(I13)
5131/3: 300 217 237 Y-1M8;
5132/0: 170 356 =Q14;
5132/2: 152 016 I0TOQ14; [p := 0 in SSi-1
5132/4: 171 330 C13; [level no.
5133/0: 033 NOT;
5133/1: 027 NEG;
5133/2: 220 152 162 J9=Z; [is C13 == -1
5133/5: 171 302 2; M12;
5134/1: 220 152 160 J8=Z; [is m12 == 0
5134/4: 171 344 I14; [p
5135/0: 033 NOT; [p := p+1 in SSi-1
5135/1: 027 NEG;
5135/2: 170 344 =I14;
5135/4: 310 305 174 H0M12; [Sm12
5136/1: 042 DUP; [is SM12 a proc or expression
5136/2: 170 376 =Q15;
5136/4: 304 000 030 SETB30;
5137/1: 054 AND; [class
5137/2: 304 000 030 SETB30;
5137/5: 225 032 154 J6=; [is it a label string or switch
5140/2: 041 ZERO; [no
5140/3: 204 032 156 J7≠; [is R^I^B
5141/0: 052 3; ERASE; [yes
5141/1: 152 375 I15TOQ13; [I13 := ANW(SM12)
5141/3: 171 370 C15; [RAPSL÷RAFSL
5141/5: 164 361 SHL-8; [RAPSL
5142/1: 042 DUP;
5142/2: 224 152 156 J7=Z;
5142/5: 171 336 Q13; [SSi-2
5143/1: 301 217 236 =Y-2M8; [RAPSL
5143/4: 171 356 Q14;
5144/0: 301 217 237 =Y-1M8;
[Photo 865
5144/3: 171 302 M12;
5144/5: 056 +;
5145/0: 170 322 =M13; [M13 = RAPSL+M12
5145/2: 310 325 174 H0M13;
5145/5: 170 376 4; =Q15; [I13 := ASE from SM13
5146/1: 171 362 M15;
5146/3: 222 152 173 J12=Z; [no statements
5147/0: 310 365 174 H0M15;
5147/3: 170 376 =Q15;
5147/5: 156 375 CI15TOQ13; [C13 = level number in SI13
5150/1: 171 336 Q13; [I13 := ANW from SI13
5150/3: 143 240 DC10;
5150/5: 245 252 153 J5C10Z;
5151/2: 303 217 240 =Y0M8Q; [SSi := Q13
5151/5: 041 ZERO;
5152/0: 143 240 DC10; [SSi+1 = 0/0/0
5152/2: 245 252 153 J5C10Z; [failure if SSi list full
5152/5: 303 217 240 =Y0M8Q;
5153/2: 202 360 001 EXIT2;
5153/5: 304 015 300 5; SET+3520; [FAIL 3520
5154/2: 205 272 034 J1P205;
5154/5: 171 376 6; Q15; [is Sm12 a label
5155/1: 304 000 007 SETB7;
5155/4: 054 AND;
5155/5: 027 NEG;
5156/0: 033 NOT;
5156/1: 220 152 141 J3=Z; [no
5156/4: 052 7; ERASE;
5156/5: 171 364 I15;
5157/1: 170 302 =M12; [M12 = ANW(Sm12)
5157/3: 205 272 133 J2;
5160/0: 310 325 174 8; H0M13;
5160/3: 164 341 SHL-16;
5160/5: 170 322 =M13; [M13 = ANSLI in Sm13
5161/1: 171 322 M13;
5161/3: 224 152 165 J10=Z; [is m13 == 0
5162/0: 310 325 174 9; H0M13;
[Photo 866
5162/3: 171 202 M8;
5162/5: 027 NEG;
5163/0: 033 NOT;
5163/1: 027 NEG;
5163/2: 033 NOT;
5163/3: 170 202 =M8; [i = i -2
5163/5: 171 250 C10;
5164/1: 033 NOT;
5164/2: 027 NEG;
5164/3: 033 NOT;
5164/4: 027 NEG;
5164/5: 170 250 =C10; [space = space + 2
5165/1: 205 272 145 J4;
5165/4: 171 202 10; M8; [i = i -2
5166/0: 027 NEG;
5166/1: 033 NOT;
5166/2: 027 NEG;
5166/3: 033 NOT;
5166/4: 042 DUP;
5166/5: 170 202 =M8;
5167/1: 171 250 C10; [space = space +2
5167/3: 033 NOT;
5167/4: 027 NEG;
5167/5: 033 NOT;
5170/0: 027 NEG;
5170/1: 170 250 =C10;
5170/3: 300 017 241 Y1; [has routine been entered by complete
[corr matrix or trace non-local formals
5171/0: 164 301 SHL-32;
5171/2: 205 152 172 J11≠Z;
5171/5: 310 225 176 H2M9;
5172/2: 164 301 SHL-32;
5172/4: 036 -; [is i := CSj-2(I)
5172/5: 200 152 130 11; J1≠Z;
5173/2: 200 360 000 12; EXIT1; [maybe exit 2 last statment
[Photo 867
=== Start P209V3; at address 2688/5200
P209V3; [C.S Routine
[Photo 868
V-store at 05174 = 000 000 377 377 053 052 V0=Q0/-1/AZ53;
V-store at 05175 = 376 000 000 000 000 000 V1=B776/7;
V-store at 05176 = 377 377 000 000 000 000 V2=Q-1/0/0;
V-store at 05177 = 377 374 000 000 000 000 V3=B777774/15;
5200/0: 202 326 233 JS2P4;
5200/3: 203 272 201 J2;
5201/0: 200 326 227 1; JSP4;
5201/3: 310 225 176 2; H2M9; [put I in CSj-2 `;= i
5202/0: 170 376 =Q15;
5202/2: 171 202 M8;
5202/4: 170 370 =C15;
5203/0: 171 376 Q15;
5203/2: 311 225 176 =H2M9;
5203/5: 171 364 I15; [fetch alpha
5204/1: 167 341 SHC-16;
5204/3: 310 225 177 H3M9; [fetch A'
5205/0: 164 121 SHL+40;
5205/2: 041 ZERO; [AND
5205/3: 170 323 =RM13;
5205/5: 320 333 055 3; Z50M13;
5206/2: 164 341 SHL-16;
5206/4: 170 322 =M13; [M13 := AND from LPm13
5207/0: 171 322 M13;
5207/2: 220 152 311 J26=Z; [FAIL is M13 zero
5207/5: 300 012 174 V0;
5210/2: 170 376 =Q15;
5210/4: 042 DUP;
5210/5: 222 152 213 J4=Z; [is A' == 0
5211/2: 042 DUP;
5211/3: 320 333 053 Z52M13; [is A' a level number in LPm13+2
5212/0: 015 NEV;
5212/1: 300 012 175 V1;
5212/4: 054 AND;
5212/5: 205 152 205 J3≠Z;
5213/2: 065 4; REV; [yes
5213/3: 042 5; DUP;
[Photo 869
5213/4: 102 375 6; M13M15Q; [p' =p' +1
5214/0: 042 DUP;
5214/1: 304 000 230 SETB230;
5214/4: 054 AND;
5214/5: 304 000 020 SETB20;
5215/2: 224 032 221 J7=; [is LPm13+p' +2 a procedure
5215/5: 304 000 230 SETB230;
5216/2: 015 NEV;
5216/3: 201 152 222 J8≠Z; [is it a parameter delimiter
5217/0: 304 000 377 SETB377;
5217/3: 054 AND;
5217/4: 304 000 233 SETB233;
5220/1: 015 NEV;
5220/2: 204 152 213 J6≠Z; [is it a )p
5220/5: 052 ERASE;
5221/0: 065 REV;
5221/1: 205 272 205 J3;
5221/4: 052 7; ERASE;
5221/5: 164 055 SHL+22; [shift codeword
5222/1: 015 8; NEV;
5222/2: 164 301 SHL-32; [is codename - LPm13+p+2
5222/4: 203 152 213 J5≠Z;
5223/1: 052 ERASE;
5223/2: 052 ERASE;
5223/3: 304 053 052 SETAZ53;
5224/0: 171 362 M15;
5224/2: 036 -;
5224/3: 320 333 053 Z52M13;
5225/0: 164 261 SHL-40; [in CSj-3
5225/2: 042 DUP;
5225/3: 170 364 =I15;
5225/5: 170 362 =M15;
5226/1: 170 370 =C15; [p = p'
5226/3: 171 376 Q15;
5226/5: 042 DUP;
5227/0: 311 225 177 =H3M9;
[Photo 870
5227/3: 203 272 230 J10;
5230/0: 200 326 227 9; JSP4;
5230/3: 167 361 10; SHC-8;
5230/5: 300 012 176 V2;
5231/2: 143 240 DC10;
5231/4: 240 252 310 J25C10Z; [no space
5232/1: 303 217 240 =Y0M8Q;
5232/4: 143 240 DC10;
5233/0: 240 252 310 J25C10Z;
5233/3: 041 ZERO;
5233/4: 303 217 240 =Y0M8Q; [SS[i-1] := 0
5234/1: 200 332 130 11; JSP208; [ next statement
5234/4: 200 272 312 J27; [ last statement
5235/1: 042 DUP; [is Level No. in Q3 = L'alpha i CS[j-1]
5235/2: 171 336 Q13;
5235/4: 015 NEV;
5235/5: 300 012 175 V1;
5236/2: 054 AND;
5236/3: 201 152 234 J11≠Z;
5237/0: 171 324 I13;
5237/2: 170 322 =M13; [M13 := ANW from SS[i-2]
5237/4: 164 021 SHL+8;
5240/0: 164 301 SHL-32;
5240/2: 041 ZERO; [ gamma is zero
5240/3: 033 12; NOT;
5240/4: 027 NEG; [gamma++
5240/5: 043 DUPD;
5241/0: 015 NEV;
5241/1: 222 152 243 J13=Z; [is gamma == p'
5241/4: 310 325 174 H0M13; [ no
5242/1: 164 341 SHL-16;
5242/3: 170 322 =M13; [ANW from S[M13]
5242/5: 203 272 240 J12;
5243/2: 052 13; ERASE;
5243/3: 052 ERASE;
[Photo 871
5243/4: 310 325 174 H0M13; [is S[M13] an expression
5244/1: 042 DUP;
5244/2: 304 000 030 SETB30;
5244/5: 054 AND;
5245/0: 223 152 247 J14=Z;
5245/3: 042 DUP;
5245/4: 304 000 037 SETB37;
5246/1: 054 AND;
5246/2: 304 000 031 SETB31;
5246/5: 015 NEV;
5247/0: 200 152 307 J24≠Z; [failure - no
5247/3: 041 14; ZERO; [is RAPSL == 0
5247/4: 166 021 SHLD+8;
5250/0: 042 DUP;
5250/1: 222 152 255 J16=Z;
5250/4: 171 322 M13; [no
5251/0: 056 +;
5251/1: 170 302 15; =M12; [M12 = M13 + RAPSL
5251/3: 310 305 174 H0M12;
5252/0: 170 356 =Q14; [M14 := ASE from S[M12]
5252/2: 310 345 174 H0M14;
5252/5: 310 225 176 H2M9;
5253/2: 167 361 SHC-8; [beta from CS[j-2]
5253/4: 041 ZERO;
5253/5: 200 332 044 JSP206; [insert digit in row beta col. delta of Call Matrix
5254/2: 171 344 I14;
5254/4: 042 DUP;
5254/5: 201 152 251 J15≠Z;
5255/2: 052 16; ERASE;
5255/3: 164 261 SHL-40;
5255/5: 042 DUP;
5256/0: 225 152 262 J19=Z; [is RAFSL == 0
5256/3: 171 322 M13;
5256/5: 056 +;
5257/0: 170 302 17; =M12; [M13 + RAFSL
[Photo 872
5257/2: 310 305 174 H0M12; [ is formal by value or name
5257/5: 042 DUP;
5260/0: 304 001 000 SETB400;
5260/3: 054 AND;
5260/4: 222 152 264 J20=Z; [by name
5261/1: 164 041|167 301 18; SHL+16; SHC-32; [ dubious SHL-32 gives the answer 0 -
5261/5: 164 341 SHL-16; [ ANW is IPart hux
5262/1: 042 DUP;
5262/2: 200 152 257 J17≠Z;
5262/5: 052 19; ERASE; [extract L'alpha from S[m12]
5263/0: 310 225 177 H3M9;
5263/3: 167 361 SHC-8;
5263/5: 201 272 234 J11;
5264/2: 151 227 20; M9TOQ7; [k := j
5264/4: 171 162 M7;
5265/0: 033 NOT;
5265/1: 027 NEG;
5265/2: 223 152 274 J22=Z; [is k == 0
5265/5: 042 21; DUP; [is phi == alpha in CS[k-2
5266/0: 310 165 176 H2M7;
5266/3: 164 041 SHL+16;
5266/5: 015 NEV;
5267/0: 300 012 177 V3;
5267/3: 054 AND;
5267/4: 221 152 261 J18=Z; [no
5270/1: 310 165 175 H1M7; [is M set in CS[k-1]
5270/4: 164 021 SHL+8;
5271/0: 300 012 175 V1;
5271/3: 054 AND;
5271/4: 203 152 274 J22≠Z;
5272/1: 171 162 M7; [no
5272/3: 304 000 003 SET3;
5273/0: 056 +; [ k ;= K-3
5273/1: 042 DUP;
5273/2: 170 162 =M7;
5273/4: 033 NOT;
5273/5: 027 NEG;
5274/0: 205 152 265 J21≠Z; [is k == 0
5274/3: 304 377 375 22; SET-3;
5275/0: 172 250 =+C10;
[Photo 873
5275/2: 240 252 306 J23C10Z; [is there room for 3 more entries
5275/5: 041 ZERO; [CS[j] := 0
5276/0: 313 225 174 =H0M9Q;
5276/3: 310 225 177 H3M9; [CS[j+1] = CS[k-2] with alpha changed to phi
5277/0: 170 376 =Q15;
5277/2: 167 041 SHC+16;
5277/4: 170 364 =I15;
5300/0: 171 376 Q15;
5300/2: 313 225 174 =H0M9Q;
5300/5: 157 017 Q0TOQ15; [C[j+2] := 0/0/M12
5301/1: 151 317 M12TOQ15;
5301/3: 171 376 Q15;
5301/5: 313 225 174 =H0M9Q;
5302/2: 200 332 201 JS1; [CS routine entry 1
5302/5: 310 225 175 H1M9;
5303/2: 170 302 =M12; [M12 := M12 from CS[j-1]
5303/4: 304 000 003 SET3;
5304/1: 042 DUP;
5304/2: 172 250 =+C10;
5304/4: 172 222 =+M9; [ j := j-3 adjust space count
5305/0: 310 305 174 H0M12;
5305/3: 201 272 261 J18;
5306/0: 304 020 174 23; SET4220; [CS[j] list full
5306/3: 205 272 034 J1P205;
5307/0: 304 020 340 24; SET4320; [S[m11] not an expression
5307/3: 205 272 034 J1P205;
5310/0: 304 021 104 25; SET4420; [SS[i] list full
5310/3: 205 272 034 J1P205;
5311/0: 304 021 250 26; SET4520; [Level
5311/3: 205 272 034 J1P205;
5312/0: 052 27; ERASE;
5312/1: 310 225 175 28; H1M9;
5312/4: 042 DUP;
5312/5: 300 012 175 V1;
5313/2: 054 AND;
[Photo 874
5313/3: 220 152 316 J29=Z;
5314/0: 052 ERASE;
5314/1: 304 000 003 SET3; [j := j -3 adjust space count
5314/4: 042 DUP;
5314/5: 172 222 =+M9;
5315/1: 172 250 =+C10;
5315/3: 202 266 234 J1P4;
5316/0: 170 376 29; =Q15; [set column = CMI from CSj-1
5316/2: 171 364 I15;
5316/4: 304 000 377 SETB377;
5317/1: 054 AND;
5317/2: 310 225 177 H3M9; [set Row = Lalpha from CSj-3
5317/5: 164 341 SHL-16;
5320/1: 304 000 377 SETB377;
5320/4: 054 AND;
5320/5: 320 013 123 Z12; [Examine correspondence matrix and see
5321/2: 170 123 =RM5; [whether there are any more digits in row Lalpha
[
5321/4: 027 NEG; [after column CMI if so set delta(N1) to the level number
5321/5: 033 NOT;
5322/0: 161 005 SHA+2;
5322/2: 065 REV;
5322/3: 042 DUP;
5322/4: 170 102 =M4;
5323/0: 027 NEG;
5323/1: 033 NOT;
5323/2: 304 000 030 SET24;
5323/5: 044 ÷I;
5324/0: 042 DUP;
5324/1: 033 NOT;
5324/2: 027 NEG;
5324/3: 161 003 SHA+1;
5324/5: 170 110 =C4;
5325/1: 304 000 027 SET23;
5325/4: 065 REV;
5325/5: 036 -;
[Photo 875
5326/0: 042 DUP;
5326/1: 170 070 =C3;
5326/3: 172 102 =+M4;
5326/5: 042 DUP;
5327/0: 027 NEG;
5327/1: 304 000 004 SET4;
5327/4: 056 +;
5327/5: 170 130 =C5;
5330/1: 056 +;
5330/2: 172 122 =+M5;
5330/4: 200 272 333 J31;
5331/1: 052 30; ERASE;
5331/2: 154 004 C0TOQ4;
5331/4: 304 000 030 SET24;
5332/1: 042 DUP;
5332/2: 170 070 =C3;
5332/4: 172 102 =+M4;
5333/0: 102 120 31; M0M5Q;
5333/2: 164 003 SHL+1;
5333/4: 164 100 SHLC4;
5334/0: 042 DUP;
5334/1: 223 152 336 J33=Z;
5334/4: 042 32; DUP;
5334/5: 220 052 342 J34<Z;
5335/2: 164 005 SHL+2;
5335/4: 143 060 DC3;
5336/0: 264 072 334 J32C3NZ;
5336/3: 261 132 331 33; J30C5NZ; [ no more digits in row Lalpha
5337/0: 170 364 =I15;
5337/2: 171 370 C15;
5337/4: 164 361 SHL-8;
5340/0: 164 021 SHL+8; [clear M in CSj-1
5340/2: 170 370 =C15;
5340/4: 171 376 Q15;
5341/0: 311 225 175 =H1M9;
5341/3: 202 266 234 J1P4; [EXIT
[Photo 876
5342/0: 052 34; ERASE;
5342/1: 143 060 DC3;
5342/3: 171 102 M4; [calculate delta
5342/5: 171 070 C3;
5343/1: 036 -;
5343/2: 304 377 375 SET-3; [adjust space
5343/5: 172 250 =+C10;
5344/1: 240 252 306 J23C10Z; [fail
5344/4: 042 DUP;
5344/5: 310 225 177 H3M9; [CSj-3
5345/2: 170 376 =Q15; [csj := CSj-3
5345/4: 170 364 =I15; [insert delta as Lalpha in CSj
5346/0: 171 376 Q15;
5346/2: 042 DUP;
5346/3: 313 225 174 =H0M9Q;
5347/0: 065 REV;
5347/1: 310 225 177 H3M9; [CSj-2
5347/4: 313 225 174 =H0M9Q; [insert delta as CMI in CSj-1
5350/1: 310 225 177 H3M9; [CSj-1
5350/4: 170 376 =Q15;
5351/0: 157 376 Q15TOQ14;
5351/2: 170 364 =I15;
5351/4: 171 376 Q15;
5352/0: 311 225 177 =H3M9;
5352/3: 304 001 000 SETB400;
5353/0: 172 350 =+C14;
5353/2: 171 356 Q14;
5353/4: 313 225 174 =H0M9Q;
5354/1: 200 332 230 JS9;
5354/4: 201 272 312 J28;
=== Start P-1V-1; at address 2798/5356
Finished
FINISH;
Reached end of file