Kidsgrove Algol Compiler - Brick 40

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 40.
Hot links to images of individual pages are embedded in the text. Not all the pages have yet been converted.

Loaded 4868 bytes for DavidHu/KAB40.txt
Relocated 17
Finished
Reached end of file


=============== Second pass
===========================


   3400  W0 = E1792
   5500  Y0 = E2880
   3400 YA0 = E1792
   3500 YY0 = E1856
   4500 YZ0 = E2368


    0/0: 200 266 100                                                   [ original source of the next page

                                                                       ST11104; TL60; START 1600;
                                                                       YA63; YY511; YZ511;
    4/0: 203 266 105|203 266 105                                       RESTART; J1; J1;
                                                                       PROGRAM; [[[
 3100/0: 320 013 124|170 036|171 022|304 053 055|056|304 013 100             Z11; =Q1; M1; SETAZ50; +; SETAY0;
 3102/2: 036|301 006 123                                                     -; =V0P889;

 3103/0: 200 326 130                                                   JSP880;
 3103/3: 304 010 004|200 320 106|202 266 112|202 266 113                     SETB4004; JSE70; J3; J4;
 3105/3: 320 013 070|223 046 107|304 005 240|200 326 344               1;      Z39; J5<Z; SET1440; JSP7;
 3107/3: 304 336 010                                                   5;      SETB157010;
 3110/0: 170 022|304 006 125|170 024|154 001|171 036                   2;      =M1; SETB3125; =I1; C0TOQ1; Q1;
 3111/5: 200 320 106                                                         JSE70;
 3112/2: 304 004 020|200 266 344                                       3;      SET1040; JP7;
 3113/2: 304 336 010|170 022|304 005 025|170 024|171 036|200 260 106   4;      SETB157010; =M1; SETB2425; =I1; Q1; JE70;

=== Start P310V-1; at address 1614/3116
                                                                       P310; (print call matrix stores);
 3116/0: 171 376|304 000 070|164 041                                         Q15; SETB70; (X); SHL+16; (start of print at H0);
 3117/1: 304 052 075|164 041|304 054 000|011|164 041|304 000 106|200 220 000|170 376
                                                                             SETB25075; SHL+16; SETb26000; OR; SHL+16; SET70; OUT; =Q15;
 3122/2: 200 360 000                                                      EXIT1;


=== Start P889V0; at address 1620/3124
 3124/0: 300 006 123|171 022|036|203 106 126                           P889V0;      V0; M1; -; J1≤Z;
 3125/3: 303 033 100|200 360 000                                             =Y0M1Q; EXIT1;
 3126/3: 304 005 074|200 326 344                                       1;      SET1340; JSP7;


=== Start P880V-1; at address 1624/3130
 3130/0: 200 326 160|200 326 177|200 326 132|200 360 000               P880;       JSP881; JSP882; JSP886;  EXIT1;

=== Start P886V-1; at address 1626/3132
 3132/0: 304 000 140|170 031                                           P886;      SET96; =RC1;
 3132/5: 320 013 123|304 053 055|056|170 142                                 Z12; SETAZ50; +; =M6;
 3134/2: 304 000 140|170 051|146 040                                   1;      SET96; =RC2; I2=+2;
 3135/3: 041|301 013 100                                                     ZERO; =Y0;
 3136/1: 110 046|102 046                                               2;      M6M2N; M6M2Q;
 3136/5: 171 022|170 070|166 060|204 046 144                                 M1; =C3; SHLDC3; J3≥Z;
 3140/2: 171 042|164 121|200 326 350|205 266 156                             M2; SHL+40; JSP3; J7; (FAIL); [was SHL+39 hux - with this error nothing should have worked! - see B42 same routine
 3142/0: 052|320 333 055|164 111|164 251                                     ERASE; Z50M13; SHL+36; SHL-44;
 3143/2: 300 013 100|032|301 013 100|052                                     Y0; MAX; =Y0; ERASE;
 3144/4: 052|261 046 136                                               3;      ERASE; J2C2NZ;
 3145/2: 140 020|171 022|164 121|200 326 350|200 266 155                     M+I1; M1; SHL+40; JSP3; J5; (EXIT); [ was SHL+39 hux - terminates when it gets to a level with no LP
 3147/2: 052|320 333 055|164 111|164 251                                     ERASE; Z50M13; SHL+36; SHL-44;
 3150/4: 300 013 100|032|052                                                 Y0; MAX; ERASE;
 3151/3: 320 333 054|167 321|164 371|164 011                                 Z51M13; SHC-24; SHL-4; SHL+4;
 3153/0: 011|167 061|321 333 054                                             OR;  SHC+24; =Z51M13;
 3154/0: 143 020                                                       6;	DC1;
 3154/2: 262 026 134                                                         J1C1NZ;
 3154/5: 041                                                                 ZERO;
 3155/0: 001|052|200 360 000                                           5;      VR; ERASE; EXIT1;
 3155/5: 304 020 054|200 266 344                                       4;      SET4140; JP7;
 3156/5: 052|052|200 266 154                                           7;	ERASE; ERASE; J6;	[inserted to skip LP search failure - invalid entry in Call matrix?  hux



=== Start P881V-1; at address 1648/3160
 3160/0: 204 326 247|200 326 332|200 326 244|200 326 327               P881;      JS1P2; JS1P6; JSP2; JSP6;[[[
 3162/0: 200 326 244|042|304 000 374|054|304 000 120                   1;      JSP2; DUP; SETB374; AND; SETB120;
 3163/5: 015|205 146 172                                                     NEV; J3≠Z;
 3164/3: 200 326 350|204 266 175                                              JSP3 ; J4;
 3165/3: 320 333 055|167 377|205 046 172                                     Z50M13; SHC-1; J3≥Z;
 3166/5: 200 326 327                                                         JSP6;

 3167/2: 200 326 244|042|200 326 327                                   2;      JSP2; DUP; JSP6;
 3170/3: 304 000 377|054|304 000 334|015|202 146 167                         SETB377; AND; SETB334; NEV; J2≠Z;
 3172/2: 200 266 162                                                         J1;
 3172/5: 304 001 337|054|304 001 234|015|200 146 162                   3;      SETB737; AND; SETB634; NEV; J1≠Z;
 3174/4: 201 326 270|200 360 000                                             JS3P2; EXIT1;
 3175/4: 052|304 004 330|200 266 344                                   4;      ERASE; SET1240; JP7;

=== Start P882V-1; at address 1663/3177
 3177/0: 041|170 031|157 022|204 326 247                               P882;      ZERO; =RC1; Q1TOQ2; JS1P2; [[[
 3200/2: 200 326 244|042|304 001 337|054|304 001 214                   1;      JSP2; DUP; SETB737; AND; SETB614;
 3202/1: 015|221 146 231                                                     NEV; J9=Z;
 3202/5: 042|304 000 374|054|304 000 120|015                                 DUP; SETB374; AND; SETB120; NEV;
 3204/2: 201 146 212                                                         J3≠Z;
 3204/5: 200 326 350|200 266 230|320 333 055|167 377|204 046 216              JSP3; J8;      Z50M13; SHC-1; J4≥Z;
 3207/1: 052                                                                 ERASE;
                                                                       [ original source of the next page
 3207/2: 200 326 244|304 000 377|054|304 000 334|015                   2;      JSP2; SETB377; AND; SETB334; NEV;
 3211/1: 202 146 207                                                         J2≠Z;
 3211/4: 202 266 200                                                         J1;
 3212/1: 042|304 000 377|054|304 000 334|015                           3;      DUP; SETB377; AND; SETB334; NEV;
 3213/4: 223 146 220                                                         J6=Z;
 3214/1: 042|304 001 337|054|304 001 234|015                                 DUP; SETB737; AND; SETB634; NEV;
 3215/4: 223 146 220                                                         J6=Z;
 3216/1: 203 266 217                                                         J5;
 3216/4: 171 036|303 047 000                                           4;      Q1; =YA0M2Q;
 3217/3: 200 326 124|202 266 200                                       5;      JSP889; J1;
 3220/3: 200 326 124|141 040|300 047 000|042|170 076                   6;      JSP889; M-I2; YA0M2; DUP; =Q3;
 3222/2: 170 116                                                             =Q4;
 3222/4: 302 073 100|200 326 327|171 062|171 022|036                   7;      Y0M3Q; JSP6; M3; M1; -;
 3224/3: 204 146 222                                                         J7≠Z;
 3225/0: 171 116|170 036                                                     Q4; =Q1;
 3225/4: 171 042|202 146 200                                                 M2; J1≠Z;
 3226/3: 201 326 270|200 326 340|200 360 000                                 JS3P2; JS3P6; EXIT1;
 3230/0: 052|304 004 164|200 266 344                                   8;      ERASE; SET1140;  JP7;
 3231/1: 052|200 326 244|204 266 216                                   9;      ERASE; JSP2; J4;
=== Start P2V8; at address 1700/3244
V-store at 03233 = 011 100 012 077 000 000                             P2V8;      V0=QAYZ0/AYZ255/0; (BUFFER 1); [[[
V-store at 03234 = 012 100 013 077 000 000                                   V1=QAYZ256/AYZ511/0; (BUFFER 2);
V-store at 03237 = 242 104 243 304 140 004                                   V4=B5044224361060004; (F/B/C);
V-store at 03240 = 000 000 000 000 340 004                                   V5=B160004; (TRANSFER);
V-store at 03241 = 000 000 000 000 110 004                                   V6=B44004; (CBN);
V-store at 03243 = 000 000 000 000 152 004                                   V8=B65004; (SKIP TO BLOCK N);
 3244/0: 300 006 235                                                         V2; (PETCH NEXT WORD NORMAL ENTRY);
 3244/3: 170 376|240 366 257                                           10;      =Q15; J7C15Z;
 3245/2: 102 360|171 376                                                     M0M15Q; Q15;
 3246/0: 301 006 235|041|301 006 236                                   14;       =V2; ZERO; =V3;
 3247/1: 200 360 000                                                         EXIT1; (NORMAL EXIT);
                                                                             (INITIAL ENTRY FORWARD5 READ);
 3247/4: 300 006 234|300 006 237|170 376|171 370                       1;      V1; V4; =Q15; C15;
 3251/2: 300 006 233|170 376|170 362|171 376|200 320 106               6;      V0; =Q15; =M15; Q15; JSE70;
 3253/2: 201 266 261                                                         J13;
 3253/5: 300 006 241|200 320 106                                             V6; JSE70;
 3254/5: 201 266 261                                                         J13;
 3255/2: 301 006 242|042|200 146 246|201 266 261                             =V7; DUP; J14≠Z; J13;
 3257/0: 300 006 240|200 320 106                                       7;      V5; JSE70;
 3260/0: 201 266 261                                                         J13;
 3260/3: 042|203 146 244                                               8;      DUP; J10≠Z;
 3261/1: 304 037 314|200 326 344                                       13;      SET8140; JSP7; (FAILURE);
                                                                             (INITIAL ENTRY BACKWARDS READ);
 3262/1: 300 006 234|300 006 237|170 376|171 364|202 266 251           2;      V1; V4; =Q15; I15; J6;
                                                                             (CLOSE);
 3264/2: 204 326 247|320 013 125|164 301|164 041|304 152 004|011|200 320 106|201 266 261
                                                                       16;      JS1; Z10; SHL-32; SHL+16; SETB65004; OR; JSE70; J13;
 3267/4: 200 266 257                                                         J7;
 3270/1: 300 006 237|200 320 106                                       3;      V4; JSE70;
 3271/1: 201 266 261                                                         J13;
 3271/4: 200 360 000                                                         EXIT1;
 3272/1: 300 006 234|304 242 204|202 266 251                           15;      V1; SETB121204; J6;
                                                                             (INITIAL ENTRY FOR PETCH PREVIOUS WORD);
 3273/4: 300 006 235|170 376|171 364|027|170 364|140 360|140 360       4;      V2; =Q15; I15;NEG; =I15; M+I15; M+I15;
 3276/0: 202 266 277                                                         J9;
                                                                             (NORMAL ENTRY FOR FETCH PREVIOUS WORD);
 3276/3: 300 006 236|170 376                                           5;      V3; =Q15;
 3277/2: 102 360|171 376|301 006 236|200 360 000                       9;      M0M15Q; Q15; =V3; EXIT1;
                                                                             (WHAT IS CURRANT POSITION);
 3301/0: 300 006 241|200 320 106                                       11;      V6; JSE70;
 3302/0: 201 266 261                                                         J13;
 3302/3: 300 006 242|036|304 000 377|042|300 006 235                         V7; -; SETB377; DUP; V2;
                                                                       [ original source of the next page
 3304/2: 054|012|054|164 021|011                                             AND; PERM; AND; SHL+8; OR;
 3305/2: 200 360 000                                                         EXIT1;
                                                                             (SKIP TO GIVEN BLOCK);
 3305/5: 042|164 361|300 006 242|056|300 006 243                       12;      DUP; SHL-8; V7; +; V8;
 3307/3: 170 376|170 364|171 376|200 320 106                                 =Q15; =I15; Q15; JSE70;
 3311/0: 201 266 261                                                         J13;
 3311/3: 167 361|164 361|167 021|300 006 240|200 320 106                     SHC-8; SHL-8; SHC+8; V5; JSE70;
 3313/3: 201 266 261                                                         J13;
 3314/0: 170 376|042|171 362|036|027                                         =Q15; DUP; M15; -; NEG;
 3315/1: 172 370|170 362|171 376|301 006 235|200 360 000                     =+C15; =M15; Q15; =V2; EXIT1;

=== Start P6V6; at address 1751/3327
V-store at 03320 = 007 100 010 077 242 105                             P6V6;      V0=QAYY0/AYY255/B121105; [[[
V-store at 03321 = 010 100 011 077 000 000                                   V1=QAYY256/AYY511/0;
V-store at 03322 = 000 000 000 000 000 000                                   V2=0;
V-store at 03323 = 000 000 000 000 340 005                                   V3=B160005;
V-store at 03324 = 000 000 000 000 140 105                                   V4=B60105;
V-store at 03325 = 000 000 175 004 072 321                                   V5=B17501035321;
 3327/0: 300 006 322                                                         V2;
 3327/3: 170 376|103 360|243 366 334                                   2;      =Q15;=M0M15Q; J4C15Z;
 3330/4: 171 376                                                             Q15;
 3331/0: 301 006 322|200 360 000                                       7;      =V2; EXIT1;
 3332/0: 300 006 321|300 006 320                                       1;      V1; V0;
 3333/0: 200 320 106|200 266 337|200 266 331                                 JSE70; J6; J7;
 3334/3: 300 006 323|200 320 106|200 266 337|301 006 322               4;      V3; JSE70; J6; =V2;
 3336/3: 200 360 000                                                         EXIT1;
 3337/0: 304 040 060|200 326 344                                       6;      SET8240; JSP7;
 3340/0: 300 006 322|170 365|300 006 324|170 362                       3;      V2; =RI15; V4; =M15;
 3341/4: 171 376|200 320 106|200 266 337|200 360 000                         Q15; JSE70; J6; EXIT1;

=== Start P7V-1; at address 1764/3344
 3344/0: 170 365                                                       P7;      =RI15; [[[
 3344/2: 304 000 200|170 362                                                 SETB200; =M15;
 3345/1: 320 013 070|041|033|047|015|011|321 013 070                         Z39; ZERO; NOT; STR; NEV; OR; =Z39;
 3347/0: 171 376|200 260 106                                                 Q15; JE70;
=== Start P3V-1; at address 1768/3350
                                                                       P3;      (SEARCH LEVEL PARAMETERS FOR A LEVEL L); [[[
 3350/0: 041|170 323|304 000 377|167 361|065                                 ZERO; =RM13; SETB377; SHC-8; REV;
 3351/3: 320 333 055|170 336|171 324|042|170 322                       1;      Z50M13; =Q13; I13; DUP; =M13;
 3353/1: 203 146 354                                                         J2≠Z;
 3353/4: 065|052|200 360 000                                                 REV; ERASE; (NONE EXIST N1=L); EXIT1;
 3354/3: 043|320 333 053|015|054|203 146 351                           2;      DUPD; Z52M13; NEV; AND; J1≠Z;
 3356/0: 065|052|202 360 001                                                 REV; ERASE; (N1=L: M13=ALP OF  L); EXIT2;

=== Start P-1V-1; at address 1775/3357
Finished
                                                                       FINISH;

















Reached end of file