Kidsgrove Algol Compiler - Brick 20
This assembler listing has hot links for all references to P-routines.
You can click on the routine number in code such as JS16P295;
or V0P299; and jump to the routine.
When you have seen enough of it, you can use the back button to carry on where you left off.
The original source was in the form of a single PDF file for each brick.
Here is the
PDF file for brick 20.
Hot links to images of individual pages are embedded in the text.
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