Original KAL4 assembler

This assembler listing is from an assembler written long after the KDF9 existed. There are hot links for all references to subroutines.

You can click on the routine name in code such as JS.pproc; 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 genuine listing produced by the program listed here when assembling itself is here.

Started

Loaded 72081 bytes for EDNKAL4z.k4
Setvstore 12 -- implemented as 48 bits STR;
Setvstore 12 -- implemented as 48 bits STR;
Promoted label options was not defined in this block
Promoted label options was not defined in this block
Promoted label openinput was not defined in this block
Promoted label lookup was not defined in this block
Setvstore 12 -- implemented as 48 bits STR;
Promoted label claimptr was not defined in this block
trying to promote ptread out of the root block
trying to promote endbase out of the root block
Reached end of file


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


                                                                       begin

                                                                       /[ KAL4 assembler written by John Thomason and copy typed by David Holdsworth
                                                                       /[ *Q on listing is underlined [ on flex and { in this file -- similarly *u is }
                                                                       /[ This file needs to be in ISO not UTF-8, i.e. this  is a multiplication sign
                                                                       /[ comments introduced by /[ have been added in the 21st century

                                                                                /[ Some hypotheses
                                                                                /[ Q7 addresses a stack of identifier entries growing down from the top of memory
                                                                                /[ dictionary entry is 2 words with identifier in 2nd word
                                                                                /[ 1st word Q syll / line no / word
                                                                                /[ M7 addresses next free slot

                                                                       /[ ----- page 01

                                                                       gap = 0:
                                                                       bjtime=300:      /maximum time limits
                                                                       fjtime=30:       /fjtime is default time limit for all jobs
                                                                       mcsize=29600:    /maximum size for binaries
                                                                       prog=0:      /form B-block
    0/0: 200 260 010|000 000 000                                               J.8; =H0;
    4/0: 200 321 345|201 261 346                                       prog=4: JS.rs1;  J.rs2;   /restart
                                                                       prog=8:

                                                                       begin label failmark, endmark, zeroout, catfail, fail, ptr, failno;
   10/0: 304 011 140|170 023|157 002|146 040|140 040|110 000|170 163|152 006
                                                                               SET.code; SRM1; QFRQ0/2; ITWO2; M+I2; FMMN0/0; SRM7; IFRQ0/6;
   12/5: 304 000 060|170 071|200 320 151|221 307 272|173 000|052|205 267 055
                                                                               SET48; SRC3; JS.openoutput; JEJ.ptinput; FLINK; ERASE; J.openinput;
   15/4: 041|033|042|113 041|027|164 077|300 001 240|011|301 001 240   opened: ZERO; NOT; DUP; SMMQN2/1; NEG; SHL31; F.indisc; OR; S.indisc;
   20/1: 100 000|101 020|147 160|140 160|041|301 020 005|151 043|203 264 021
                                                                               FMM0/0; SMM1/0; IMTWO7; M+I7; ZERO; SM1.5; MFRQ2/3; J.dumbeg;
   23/0: 000 000 000 000 000 000                                       *failmark:=0;
   24/0: 000 000 000 000 000 000                                       endmark:=0;
   25/0: 240 020 067 067 064 067|236 046 071 236 377 377               error:= {*cError*sat*s};
   27/0: 002 031 264 227 040 077                                       after:= P *safter*s;
   30/0: 240 021 014 024 027 036                                       fl:= {*cFAILS};
   31/0: 236 000 000 000 236 377|056 063 236 072 065 051|046 071 056 063 054 236
                                                                       ptr:= {*s  *s*d in *s updating *s};
   34/0: 000 000 000 000 000 000                                       cline:= 0;     /basic symbol pointer at start of current line
   35/0: 041|200 220 000|136 010                                       zeroout:       ZERO; OUT; MRWDQ0;       /used as default restarts
   36/0: 304 013 202                                                   fl12:   SET≠5602;
   36/3: 301 001 237                                                   nfail:  S.failno;
   37/0: 304 377 234|301 000 023|300 000 030|301 000 025               catfail: SET-100; S.failmark; F.fl; S.error;
   41/0: 220 300 042|173 000|052|205 240 041|203 300 041               fail:   JEJ.prog+1; FLINK; ERASE; JNEN.prog-0s1; JNEJ.prog-1;
   43/0: 300 000 026|300 000 025|203 321 150                           failm:  F.error+1; F.error; JS.printtwo;
   44/3: 171 070|304 000 070|054|170 070|304 000 377|042|205 321 175           FC3; SET≠70; AND; SC3; SET≠377; DUP; JS.printadd+0s3;
   47/0: 200 321 205|300 000 027|204 321 221|300 001 234|065|203 321 170
                                                                               JS.printline; F.after; JS.print8; F.lastlab; REV; JS.printid+0s3;
   51/4: 300 001 235|202 321 205|203 320 112                                   F.lineno; JS.printline+0s2; JS.prnl;
   53/1: 300 000 023|033|027|042|301 000 023                                   F.failmark; NOT; NEG; DUP; S.failmark;
   54/4: 042|220 041 243|164 367|300 000 024|202 140 076                       DUP; JLTZ.windup; SHL-5; F.endmark; JNEZ.upderr;
   56/4: 171 336|171 316|154 015|300 000 034|170 316                           FQ13; FQ12; CFRQ0/13; F.cline; SQ12;
   60/3: 171 316|225 020 062|204 320 360|200 320 113|203 260 060|065   pl:     FQ12; JEQ.pw-0s1;JS.inbs; JS.oubs; J.pl;REV;
   63/0: 171 336|225 020 066                                           pw:     FQ13; JEQ.pr-3;
   63/5: 204 320 360|304 000 240|205 020 065|203 321 156|200 320 113|200 260 063
                                                                               JS.inbs; SET≠240; JNE.prog+1;JS.countl; JS.oubs; J.pw;
   66/5: 300 000 031|200 321 151|265 320 071|265 300 071|304 000 240|202 260 072
                                                                               F.ptr; JS.printsix; JCNZ13.pr; JCNZ12.pr; SET≠240; J.pr+0s3;
   71/5: 204 320 360|042|200 320 113|304 000 240|015|205 140 071       pr:     JS.inbs; DUP; JS.oubs; SET≠240; NEV; JNEZ.pr;
   74/1: 170 336|170 316|203 140 102|205 322 237|200 262 016                   SQ13; SQ12; JNEZ.fl3; JS.round; J.nxitem;
   76/2: 300 000 033|300 000 032|203 321 150                           upderr: F.ptr+2; F.ptr+1; JS.printtwo;
   77/5: 110 240|042|304 000 377|203 321 170                                   FMMN10/0; DUP; SET≠377; JS.printid+0s3;
  101/2: 203 320 112|065|223 144 061                                           JS.prnl; REV; JEQZ.updfail;
  102/3: 304 000 003|203 260 036                                       fl3:    SET3; J.nfail;     /more than 32 errors

                                                                                     /options
  103/3: 017|017|017|000 000 000 000 000 000                           *test:= 0;    / -1 bin 0 load and go
  105/0: 377 377 377 377 377 377                                       length:= -1;  / 1 C  2 8  3 L  0 8 with text  -1 L with text
  106/0: 000 000 000 000 000 000                                       tables:= 0;   / -1 tables  0 w/o tables
  107/0: 000 000 000 000 000 000                                       ptbin:=0;     / 0 disc binaries, ≠0 P.T. binaries
  110/0: 000 000 000 000 000 000                                       jq:=0;   /0 foreground, 1 background, -1 paper tape
  111/0: 000 000 000 000 000 000|000 000 000                           timelt:=0; =H0;
  112/3: 304 000 240                                                   prnl:   SET≠240;     /output newline
                                                                                     /out basic symbol
                                                                                     /ptoubs comes in here

                                                                       /[ ----- page 02

                                                                       begin
                                                                       label openoutput, bfr, oubs;
  113/0: 001|042|164 365|201 140 133|200 321 213                       *oubs:  VR; DUP; SHL-6; JNEZ.long; JS.bstopr;
  114/4: 100 340|161 015|011|101 340|221 200 127|200 360 000           char:   FMM14/0; SHA6; OR; SMM14/0; JV.nwd; EXITH;
  116/5: 304 000 002|204 020 114|140 340|052                           ouch:   SET2; JNE.char; M+I14; ERASE;
  120/2: 304 377 302|101 340|156 376|241 360 123                       tfr:    SET≠177702; SMM14/0; CIFRQ15/14;JCZ15.out8;
  122/0: 121 340|130 340|203 260 125                                           PARQ14; LPQ14; J.reset;
  123/1: 304 000 030|301 000 147|171 356|304 000 010|200 220 000       out8:   SET≠30; S.bfr; FQ14; SET8; OUT;
  125/3: 304 000 020|170 351|304 000 147|170 342                       reset:  SET16; SRC14; SET.bfr; SM14;
  127/1: 304 377 376|113 340|242 340 120|200 360 000                   nwd:    SET≠177776; SMMQN14/0; JCZ14.tfr; EXITH;
  131/0: 052|100 340|161 015|203 200 131|101 340|201 260 127           tab:    ERASE; FMM14/0; SHA6; JNV.prog-0s2; SMM14/0; J.nwd;
  133/1: 304 000 256|220 020 131|304 000 377|222 020 146               long:   SET≠256; JEQ.tab; SET≠377; JEQ.du;
  135/1: 171 336|065|304 000 107|170 331                                       FQ13; REV; SET.endtable-table; SRC13;
  136/3: 017|017|017|302 320 170|047|052|164 271|220 020 141|177 320   *loop:  FMQ13.table; STR; ERASE; SHL-36; JEQ.found; JCNZS13;
  141/0: 052|300 320 170|300 320 167|066|170 336                       found:  ERASE; FM13.table; FM13.table-1; CAB; SQ13;
  142/4: 047|166 031|203 040 144|042|203 320 144|042                           STR; SHLD+12; JGEZ.unpk; DUP; JS.unpk; DUP;
  144/3: 041|166 015|205 320 116|042|203 140 144|052                   unpk:   ZERO; SHLD6; JS.ouch; DUP; JNEZ.unpk; ERASE;
  146/2: 052|200 360 000                                               du:     ERASE; EXITH;
Setvstore 12 -- implemented as 48 bits STR;
  147/0: 000 000 000 000 000 000 000 000 000 000 000 000               *bfr:=D 0;
  151/0: 304 000 147|170 365|203 260 125                               openoutput:    SET.bfr; SRI15; J.reset;
                                                                       prog=bfr+17:  /output buffer - 17 words for L.P.
                                                                                     /teletype output can overflow into character table
  170/0: 011 340 000 000 000 000|012 000 200 000 000 000               *table:= ≠0236 000000000000;  = ≠ 0240 020000000000;
  172/0: 011 207 000 000 000 000|012 023 300 000 000 000|014 027 100 000 000 000
                                                                       =≠0230 340000000000; =≠0241 170000000000; =≠0301 350000000000;
  175/0: 010 303 142 226 172 156|011 303 145 272 100 000               =≠0214 154245475156; =≠0234 154556440000;
  177/0: 015 027 200 000 000 000|013 023 100 000 000 000|011 023 144 247 140 000
                                                                       =≠0321 360000000000; =≠0261 150000000000; =≠0221 154451660000;
  202/0: 010 023 115 000 000 000|013 222 000 000 000 000|012 042 100 000 000 000
                                                                       =≠0201 151500000000; =≠0271 100000000000; =≠0242 110000000000;
  205/0: 013 122 011 000 000 000|015 043 156 224 000 000|014 043 147 320 000 000
                                                                       =≠0265 101100000000; =≠0322 155645000000; =≠0302 154764000000;
  210/0: 010 043 154 320 000 000|013 043 147 224 000 000|011 043 154 224 000 000
                                                                       =≠0202 155464000000; =≠0262 154745000000; =≠0222 155445000000;
  213/0: 012 143 200 000 000 000|010 102 200 000 000 000|011 102 300 000 000 000
                                                                       =≠0246 160000000000; =≠0204 120000000000; =≠0224 130000000000;
  216/0: 010 223 112 000 000 000|011 223 113 000 000 000|010 323 161 000 000 000
                                                                       =≠0211 151200000000; =≠0231 151300000000; =≠0215 156100000000;
  221/0: 011 323 165 000 000 000|010 343 000 000 000 000|013 343 145 264 040 000
                                                                       =≠0235 156500000000; =≠0216 140000000000; =≠0276 154555020000;
  224/0: 004 023 162 226 033 000|204 043 151 273 111 147|227 040 000 000 000 000
                                                                       =≠0101 156245415400; =≠4102 155156644547; =≠4562 000000000000;
  227/0: 010 143 146 277 040 000|015 143 144 274 000 000|013 143 163 322 134 000
                                                                       =≠0206 154657620000; =≠0326 154457000000; =≠0266 156364456000;
  232/0: 014 143 165 273 112 154|011 143 167 242 233 045|210 003 143 276 333 145
                                                                       =≠0306 156556645154; =≠0226 156750515445; =≠4200 154357555545;
  235/0: 273 100 000 000 000 000|204 063 142 276 373 045|206 340 000 000 000 000
                                                                       =≠5664 000000000000; =≠4103 154257575445; =≠4156 000000000000;
  240/0: 004 203 041 313 050 171|205 003 160 312 370 345|223 134 245 000 000 000
                                                                       =≠0110 144162624171; =≠4120 156062574345; =≠44656245 00000000;
  243/0: 011 363 166 206 315 145|007 223 154 206 051 154|205 203 163 336 235 043
                                                                       =≠0237 156641546545; =≠0171 155441424554; =≠4130 156367516443;
  246/0: 240 000 000 000 000 000|207 243 163 323 052 156|234 000 000 000 000 000
                                                                       =≠50 00000000000000; =≠4172 156364625156; =≠47 00000000000000;
  251/0: 010 363 157 236 340 000|010 123 151 230 000 000|014 343 165 226 320 200
                                                                       =≠0217 155747560000; =≠0205 155146000000; =≠0316 156545550200;
  254/0: 011 123 164 242 133 200|012 123 145 263 071 100|010 203 147 277 113 300
                                                                       =≠0225 156450455600; =≠0245 154554634500; =≠0210 154757645700;
  257/0: 011 063 141 272 100 000|012 063 157 310 000 000|013 063 151 267 000 000
                                                                       =≠0223 154156440000; =≠0243 155762000000; =≠0263 155155600000;
  262/0: 014 063 145 307 140 000|010 063 156 277 100 000|015 323 164 313 131 100
                                                                       =≠0303 154561660000; =≠0203 155657640000; =≠0335 156462654500;
  265/0: 014 323 146 206 314 345|215 003 154 246 054 241|313 220 000 000 000 000
                                                                       =≠0315 154641546345; =≠4320 155451426241; =≠6271 000000000000;
  270/0: 013 003 153 222 146 100|017 003 145 342 235 000|216 003 163 226 173 145
                                                                       =≠0260 155344463100; =≠0360 154570516400; =≠4340 156345475545;
  273/0: 273 100 000 000 000 000|014 003 141 262 173 354|011 001 300 000 000 000
                                                                       =≠5664 000000000000; =≠0300 154154475754; =≠0220 070000000000;
  276/0: 037 361 200 000 000 000                                       =≠0777 060000000000;
                                                                       endtable=prog:
                                                                       end
                                                                       begin               /basic symbol to teletype
  277/0: 203 260 277                                                   *entry: J.outt;            /to overwrite oubs
  277/3: 001|100 340|161 021|011|101 340|225 200 301|200 360 000       outt:   VR; FMM14/0; SHA8; OR;SMM14/0; JV.word; EXITH;
  301/5: 242 340 307|171 344|113 340|200 360 000                       word:   JCZ14.tfr; FI14; SMMQN14/0; EXITH;
  303/3: 001|100 340|033|161 021|201 200 304|033                       finoutt: VR; FMM14/0; NOT; SHA8; JNV.prog-0s2; NOT;
  305/1: 101 340|242 340 307                                                   SMM14/0; JCZ14.tfr;
  306/0: 300 000 325|113 340|260 340 306                                       F.sixz; SMMQN14/0; JCNZ14.prog-0s5;
  307/2: 171 376|304 000 041|200 220 000                               tfr:    FQ15; SET33; OUT;
  310/4: 171 370|033|027|304 000 023|032|052|170 370                           FC15; NOT; NEG; SET19; MAX; ERASE; SC15;
  312/3: 300 000 324|170 356|204 200 316|143 360                               F.qwd; SQ14; JNV.end; DC15;
  314/1: 300 000 326|103 340|300 000 327|103 340|300 000 330|103 340           F.sixz+1; SMMQ14/0; F.sixz+2; SMMQ14/0; F.sixz+3; SMMQ14/0;
  316/4: 171 344|101 340|200 360 000                                   end:    FI14; SMM14/0; EXITH;
  317/5: 300 000 277|301 000 113|300 000 324|042|170 356|167 041|170 376|140 360
                                                                       openoutt: F.entry; S.oubs; F.qwd; DUP; SQ14; SHC+16; SQ15; M+I15;
  322/5: 304 001 336|200 260 317                                               SET≠736; J.end+0s2;


                                                                       /[ ----- page 03

  323/5: 017|000 047 000 001 000 147                                   *qwd:= Q 39 / 1 / bfr;
  325/0: 316 316 316 316 316 316|240 240 240 037 064 064|236 062 072 050 055 236|032 241 033 240 240 240
                                                                       sixz:= {*6z *3c Too*smuch*sO/P*3c};
                                                                       label openoutt, outt, finoutt;
                                                                       end

                                                                       prog=prog+gap:   /allow elbow-room for slotting ptoubs

  331/0: 000 000 006 340 011 137                                       *transfer: =Q 0 / block /block+639;
  332/0: 034 055 002 171 347 236|171 347 236 171 347 236               texid:= P *n*cT*c------------;   /file ident to check chaining
  334/0: 165 003 320 101 046 131                                       jobno:= P +0/00299;   /systems box in case of book  /[ a Leeds Univ job no of the KDF9 era
  335/0: 302 115 170 076 075 145                                       magic:= P PDUX /CUE;  /stats code - disc or P.T.
  336/0: 377 377 377 377 200 000                                       dlost:= -32768;
Setvstore 12 -- implemented as 48 bits STR;
  337/0: 000 000 000 000 000 000 000 000 000 000 000 000               time:= D 0;           / ran/el times for Adrian  /[ Adrian Hock was head of user services
  341/0: 177 377 377 337 120 000                                       eml:= ≠3777777767650000;   /last line of text after SHL2; SHAD5;

                                                                       begin label initial;
  342/0: 300 006 355|200 321 011|300 006 340|300 006 341               initial:  F.block+13; JS.discread; F.block; F.block+1;
  344/0: 202 321 161|300 000 107|224 140 352                                   JS.chfile+1; F.ptbin; JEQZ.open;
  345/3: 304 000 002|167 365|304 000 004|170 271|041|300 266 342|166 365|066|011
                                                                               SET2; SHC-6; SET4; SRC11; ZERO; FM11.block+2; SHLD-6; CAB; OR;
  350/3: 303 266 200|261 260 347|304 000 075|011|301 006 204                   SMQ11.ablock+3; JCNZ11.prog-1s5; SET≠75; OR; S.ablock+7;
  352/4: 300 001 134|204 140 015|300 007 060|301 006 340|300 007 061|042
                                                                       open:   F.ptfile; JNEZ.opened; F.block+80; S.block; F.block+81; DUP;
  355/2: 027|170 303|202 321 160|171 316|301 000 034|304 007 061|056|170 336|204 260 015
                                                                               NEG; SRM12; JS.chfile; FQ12; S.cline; SET.block+81; +; SQ13; J.opened;
                                                                       label inbs, line, options, blocks;
  360/4: 263 320 376|260 300 375                                       inbs:   JCNZ13.next; JCNZ12.nword;
  361/4: 171 302|204 140 367|300 001 124|203 141 107                   newline: FM12; JNEZ.line; F.inlib; JNEZ.nblock;
  363/3: 017|017|017|300 006 340|200 321 011|202 321 160|300 006 341   *blocks: F.block; JS.discread; JS.chfile; F.block+1;
  366/0: 042|027|170 303|304 006 341|056|170 322                               DUP; NEG; SRM12; SET.block+1; +; SM13;
  367/4: 171 316|301 000 034|110 315|041|166 005|065|041|162 013       line:   FQ12; S.cline; FMMN12/13; ZERO; SHLD2; REV; ZERO; SHAD5;
  372/0: 170 310|304 000 010|170 330|065|201 141 003|300 000 341|015|221 141 001
                                                                               SC12; SET8; SC13; REV; JNEZ.dummyl; F.eml; NEV; JEQZ.em;
  375/0: 304 377 320|172 330                                           nword:  SET-48; S+C13;
  375/5: 140 300|143 300                                               first:  M+I12; DC12;
  376/3: 304 000 010|172 330|304 000 377|100 315|164 320|054|200 360 000
                                                                       next:   SET8; S+C13; SET≠377; FMM12/13; SHLC13; AND; EXITH;
  401/1: 300 001 124|200 141 077|304 000 001|203 260 036               em:     F.inlib; JNEZ.endlib; SET1; J.nfail;
  403/1: 164 263|304 000 367|056|042|161 377|225 141 006|052           dummyl: SHL-39; SET≠367; +; DUP; SHA-1; JEQZ.ta; ERASE;
  405/2: 171 310|172 302|154 014|204 260 361                           dl:     FC12; S+M12; CFRQ0/12; J.newline;
  406/5: 301 000 106|203 320 112|041|301 001 233|202 261 005           ta:     S.tables; JS.prnl; ZERO; S.refcount; J.dl;
                                                                       end

                                                                       label blocks, line, jq, ptbin, test, length, tables, oubs, openoutput;
                                                                       label discread, transfer, openinput, inbs, libcall, chfile, reread, erex;

  411/0: 042|301 001 240|300 000 331|166 041|167 341|065               discread: DUP; S.indisc; F.transfer; SHLD16; SHC-16; REV;
  413/0: 164 041|304 000 040|200 220 000|200 360 000                           SHL16; SET32; OUT; EXITH;
  414/5: 300 001 134|202 141 014|300 001 240|042|204 321 011           reread: F.ptfile; JNEZ.prog-1; F.indisc; DUP; JS.discread+0s4;
  417/0: 202 321 160|164 041|202 041 021|300 007 060|301 006 340|200 360 000
                                                                               JS.chfile; SHL16; JGEZ.prog+1s3; F.block+80; S.block; EXITH;

                                                                       libcall:             /library insertion
                                                                       begin label lib F.O.C, endlib, nblock, inlib;
  421/5: 300 000 034|301 001 123|202 322 260|140 040|300 001 125|170 216
                                                                               F.cline; S.oldcline; JS.input; M+I2; F.idbfr; SQ8;
  424/3: 102 041|042|164 365|200 140 041|200 321 213|300 001 343|164 321
                                                                       onelib: FMMQ2/1; DUP; SHL-6; JNEZ.fail; JS.bstopr; F.zer; SHL-24;
  427/1: 102 041|042|304 000 012|037|202 041 033|304 000 020|011       ndig:   FMMQ2/1; DUP; SET10; SIGN; JGEZ.last; SET≠20; OR;
  431/3: 065|001|161 015|011|201 201 027|200 260 041                           REV; VR; SHA6; OR; JNV.ndig; J.fail;
  433/2: 012|041|166 061|220 140 041|065|166 365|052|103 200           last:   PERM; ZERO; SHLD24; JEQZ.fail; REV; SHLD-6; ERASE; SMMQ8/0;
  435/3: 304 000 230|222 021 033|304 000 246|015|200 140 041|263 201 024|200 260 041
                                                                               SET≠230; JEQ.last; SET≠246; NEV; JNEZ.fail; JCNZ8.onelib; J.fail;
  440/4: 052|304 377 327|172 210|304 006 241|170 202|142 200           lastlib: ERASE; SET-41; S+C8; SET.f-1; SM8; NC8;
  442/5: 300 001 126|170 236|300 001 127                                       F.blkscan; SQ9; F.lib F.O.C;
  444/1: 157 212|017|017|017|112 240|225 041 046|017|177 240|202 261 060
                                                                       nblk:   QFRQ8/10; * FMMQN10/0; JLTZ.prog+1s3; *JCNZS10; J.endind;
  446/5: 042|222 141 060|204 321 011                                           DUP; JEQZ.endind; JS.discread+0s4;
  450/0: 157 212|300 011 137|041                                               QFRQ8/10; F.block+639; ZERO;
  451/0: 052|241 241 044|112 240|042|200 041 051|157 233               scan:   ERASE; JCZ10.nblk; FMMQN10/0; DUP; JGEZ.scan; QFRQ9/11;
  453/0: 102 260|043|015|164 335|223 141 055|052|177 260|200 261 051           *FMMQ11/0; DUPD; NEV; SHL-18; JEQZ.match; ERASE; JCNZS11; J.scan;
  455/3: 102 260|042|170 136|223 041 055|170 364|171 136|101 240|200 261 051
                                                                       match:  FMMQ11/0; DUP; SQ5; JLTZ.match; SI15; FQ5; SMM10/0; J.scan;
  460/2: 052|157 212|157 211|017|017|017|017|017|112 240|042|224 041 071|113 220
                                                                       endind: ERASE; QFRQ8/10; QFRQ8/9; * FMMQN10/0; DUP; JLTZ.err; SMMQN9/0;

                                                                       /[ ----- page 04

  463/2: 177 240|171 230|027|172 210|171 316|301 001 121|171 336|301 001 122|244 221 067
                                                                       echeck: JCNZS10; FC9; NEG; S+C8; FQ12; S.q12; FQ13; S.q13; JCZ9.prog+1s3;
  466/4: 203 320 112|203 320 112|041|033|301 001 124|140 200|171 216|203 261 077
                                                                               JS.prnl; JS.prnl; ZERO; NOT; S.inlib; M+I8; FQ8; J.endlib+0s3;
  471/4: 300 001 132|204 321 221|164 365|304 000 056|011|204 321 221   err:    F.mess; JS.print8; SHL-6; SET≠56; OR; JS.print8;
  474/1: 300 001 133|204 321 221|300 000 023|033|027|301 000 023|202 261 063
                                                                               F.mess+1; JS.print8; F.failmark; NOT; NEG; S.failmark; J.echeck;
  477/0: 300 001 130|170 236|241 221 112|102 220|171 236|301 001 130   endlib: F.libaddrs; SQ9; JCZ9.exit; FMMQ9/0; FQ9; S.libaddrs;
  501/3: 042|170 236|204 321 011|171 224                                       DUP; SQ9; JS.discread+0s4; FI9;
  502/5: 304 006 340|056|170 336|100 320|164 075|047|301 001 131|167 045|042|027|170 303
                                                                       reset:  SET.block; +; SQ13; FMM13/0; SHL30; STR; S.cont; SHC18; DUP; NEG; SRM12;
  506/1: 172 322|220 302 016                                                   S+M13; JEJ.nxitem;            /symbol is only wanted if JS used
  507/0: 204 260 361                                                           J.inbs+1;          /newline to cure running of end of lib file(RRH)
  507/3: 300 001 131|223 141 117|300 011 137|204 321 011               nblock: F.cont; JEQZ.fl8; F.block+639; JS.discread+0s4;
  511/3: 041|205 261 102                                                       ZERO; J.reset;
  512/1: 204 321 114|300 001 123|301 000 034|204 300 360|200 262 016   exit:   JS.restore; F.oldcline; S.cline; JNEJ.inbs; J.nxitem;
  514/4: 300 001 121|170 316|300 001 122|170 336|041|301 001 124|205 261 014
                                                                       restore: F.q12; SQ12; F.q13; SQ13; ZERO; S.inlib; J.reread;
  517/3: 304 000 010|203 260 036                                       fl8:    SET8; J.nfail;
  520/3: 017|017|017|000 000 000 000 000 000                           *q12:= 0;
  522/0: 000 000 000 000 000 000                                       q13:= 0;
  523/0: 000 000 000 000 000 000                                       oldcline:= 0;
  524/0: 000 000 000 000 000 000                                       inlib:= 0;
  525/0: 000 051 000 001 006 242                                       idbfr:= Q 41/1/f;
  526/0: 002 177 377 377 011 137                                       blkscan:= Q 639/-1/block+639;
  527/0: 000 000 000 000 000 000                                       lib F.O.C:= 0;
  530/0: 000 000 000 000 000 000                                       libaddrs:= 0;
  531/0: 000 000 000 000 000 000                                       cont:= 0;
  532/0: 012 312 142 312 034 271|103 100 046 277 133 244               mess:= P *clibrary 0t *s found;
                                                                       end


  534/0: 000 000 000 000 000 000                                       *ptfile:=0;        /non-zero if input is direct from paper tape
  535/0: 000 241 006 236 377 377                                       tail:= {0/6*s};
  536/0: 236|377|240|240|256|377|377|377|261                           syms:= S{*s*d*c*c*t*3d:};         /symbol table for lptobs, print8
  537/3: 242|204|224|216|000|245|241|000|001|002|003|004|005|006|007|010|011|377|230|271|311|013|377|014|015|016|017|020|021|022|023|024|025|026|027|030|031|032|033|034|035|036|037|040|041|042|043|044|045|077|077|077|077|377
                                                                               = S {= ( ) *a  , / 0123456789 *d @ ; + - . *d
           ABCDEFGHIJKLMNOPQRSTUVWXYZ *4x*d};

  550/3: 200 321 151                                                   printtwo: JS.printsix;      /print two words via printsix
                                                                       printsix:       /outputs six symbols packed in N1
  551/0: 042|033|222 141 167|041|166 021                                       DUP; NOT; J=Z.erex; ZERO; SHLD8;
  552/2: 200 320 113|304 000 377|011|200 261 151                               JS.oubs; SET≠377; OR; J.printsix;
                                                                       checkz:        /used for leading zero suppression
  554/0: 042|223 141 155|151 013|200 360 000                           begin   DUP; J=Z.zero; MFRQ0/11; EXITH;
  555/3: 052|171 262|200 360 000                                       zero:   ERASE; FM11; EXITH;
                                                                       end

  556/3: 171 024|300 001 124|056|172 144|200 360 000                   countl: FI1; F.inlib; +; S+I6; EXITH;

  560/2: 300 011 134|300 011 135                                       chfile: F.block+636; F.block+637;
  561/2: 300 000 333|015|065|300 000 332|015|011|200 140 036|200 360 000
                                                                               F.texid+1; NEV; REV; F.texid; NEV; OR; JNEZ.fl12; EXITH;

                                                                       space:           /check store used
  564/0: 171 062|300 001 236|032|171 022|056|016                               FM3; F.inbfr; MAX; FM1; +; ROUND;
  565/4: 171 162|036|300 000 336|032|301 000 336                       space1: FM7; -; F.dlost; MAX; S.dlost;
  567/2: 052|200 360 000                                               erex:   ERASE; EXITH;

                                                                       printid:         /print packed identifier
  570/0: 304 000 236|170 262|304 000 010|170 270|167 015               begin   SET≠236; SM11; SET8; SC11; SHC6;
  572/0: 167 351|041|166 015|143 260                                   loop:   SHC-12; ZERO; SHLD6; DC11;
  573/1: 200 321 154|200 320 113|260 261 172                                   JS.checkz; JS.oubs; JCNZ11.loop;
  574/4: 052|200 360 000                                               end    ERASE; EXITH;

                                                                       printadd:        /print program address from Q3
  575/2: 304 000 236|042|170 262|200 320 113                           begin   SET≠236; DUP; SM11; JS.oubs;
  576/5: 171 062|164 103|304 000 004|170 270                                   FM3; SHL33; SET4; SC11;
  600/2: 041|166 007|200 321 154                                       word:   ZERO; SHLD3; JS.checkz;
  601/2: 200 320 113|143 260|262 261 200                                       JS.oubs; DC11; JCNZ11.word;
  602/4: 164 367|300 001 135|011|171 070|164 053|036|200 261 151               SHL-5; F.tail; OR; FC3; SHL21; -; J.printsix;

                                                                       /[ ----- page 05

                                                                       end

                                                                       printline:   /outputs current line number
  605/0: 171 144|304 000 236|200 320 113                                       FI6; SET≠236; JS.oubs;
  606/2: 300 001 232|300 001 231|066|067|166 365                               F.ssss; F.decimal; CAB; FRB; SHLD-6;
  610/0: 065|164 375|065|042|204 141 207|052                                   REV; SHL-2; REV; DUP; JNEZ.prog-0s7; ERASE;
  611/3: 304 027 013|166 341|052|200 261 151                                   SET≠13413; SHLD-16; ERASE; J.printsix;

                                                                       bstopr:      /6-bit B.S. to printer code
  613/0: 304 000 014|036|042|222 041 216|304 000 032|044|304 000 041   begin   SET12; -; DUP; JLTZ.num; SET26; DIVI; SET≠41;
  615/3: 056|016|200 360 000                                           ex:     +; ROUND; EXITH;
  616/2: 304 000 034|065|043|161 375|203 141 215                       num:    SET≠34; REV; DUPD; SHA-2; JNEZ.ex;
  620/0: 042|164 375|066|164 005|056|203 261 215                               DUP; SHL-2; CAB; SHL2; +; J.ex;
                                                                       end

  621/4: 033|042|222 141 167|041|033|166 015|033                       print8: NOT; DUP; JEQZ.erex; ZERO; NOT; SHLD6; NOT;
  623/2: 205 321 224|200 320 113|205 261 221                                   JS.lptobs; JS.oubs; J.print8+0s1;
  624/5: 304 000 006|044|164 007|170 270|170 262                       lptobs: SET6; DIVI; SHL3; SC11; SM11;
  626/3: 300 261 136|164 260|164 261|200 360 000                               FM11.syms; SHLC11; SHL-40; EXITH;

                                                                       label countl, space, space1, printid, printline, bstopr, print8;
                                                                       label initial, fl12, texid, lib F.O.C, openoutt;
                                                                       label timelt, printsix, printadd, decimal, printtwo, windup, inlib;
  630/1: 017|017|017|017|017|050 242 212 050 242 212                   *decimal:=≠1212121212121212;
  632/0: 236 236 236 236 377 377                                       ssss:={*4s};
  633/0: 000 000 000 000 000 000                                       refcount:=0;
  634/0: 111 247 133 000 000 000                                       lastlab:= GORP;
  635/0: 000 000 000 000 000 000                                       lineno:=0;            /line number of last label
  636/0: 000 000 000 000 000 010                                       inbfr:=8;
  637/0: 000 000 000 000 000 000                                       failno:=0;
  640/0: 000 000 000 000 000 000                                       indisc:=0;
  641/0: 377 377 377 377 377 377                                       flag:=-1;
  642/0: 000 030 000 030 000 030                                       closestr:= Q ≠30/≠30/≠30;

                                                                       label ptfile, refcount, lastlab, lineno, inbfr, indisc, flag, dlost;

                                                                       windup:          /end of translate
  643/0: 300 000 023|224 141 245|300 001 335|300 001 237|015|301 001 334
                                                                       begin   F.failmark; JEQZ.ok; F.fls; F.failno; NEV; S. okw;
  645/4: 300 001 333|200 321 151|300 001 334|204 321 221               ok:     F.k4; JS.printsix; F.okw; JS.print8;
  647/4: 300 001 336|200 321 151|304 374 054|164 015|300 001 231|304 000 003|200 220 000
                                                                               F.ran; JS.printsix; SET≠176054; SHL6; F.decimal; SET3; OUT;
  653/0: 300 000 337|036|304 000 012|164 057|035|067|166 365|065|167 355|065|200 321 330
                                                                               F.time; -; SET10; SHL23; ; FRB; SHLD-6; REV; SHC-10; REV; JS.prno;
  656/2: 300 001 337|200 321 151|300 001 340|204 321 221|300 001 341|204 321 221
                                                                               F.sex; JS.printsix; F.snw; JS.print8; F.snw+1; JS.print8;
  661/2: 200 321 164|041|033|300 001 231|110 000|174 000|173 000               JS.space; ZERO; NOT; F.decimal; FMMN0/0; SLINK; FLINK;
  663/4: 300 000 336|056|164 367|033|027|033|027|164 013                       F.dlost; +; SHL-5; NOT; NEG; NOT; NEG; SHL5;
  665/4: 067|200 321 330|300 001 342|204 321 221                               FRB; JS.prno; F.snw+2; JS.print8;
  667/2: 300 000 105|027|033|224 141 273|300 000 110|202 141 316               F.length; NEG; NOT; JEQZ.end; F.jq; JNEZ.typeend;
  671/4: 304 000 001|301 000 105|205 320 317|204 261 245                       SET1; S.length; JS.openoutt; J.ok;
  673/4: 203 320 303|304 000 021|200 220 000                           end:    JS.finoutt; SET17; OUT;
  675/1: 300 000 337|036|204 321 325|301 000 337|300 000 340|204 321 325|301 000 340
                                                                               F.time; -; JS.frb; S.time; F.time+1; JS.frb; S.time+1;
  700/2: 110 000|164 061|204 321 325|301 000 336|300 020 003|164 111|164 255
                                                                               FMMN0/0; SHL24; JS.frb; S.dlost; FM1.3; SHL36; SHL-42;
  703/1: 304 000 060|223 021 305|304 000 063|223 021 305|052|041               SET≠60; JEQ.pors; SET≠63; JEQ.pors; ERASE; ZERO;
  705/3: 167 365|300 000 335|011|300 001 134|205 141 307|164 321       pors:   SHC-6; F.magic; OR; F.ptfile; JNEZ.prog+0s5; SHL-24;
  707/5: 164 061|301 000 335|304 000 007|170 263|304 000 331|170 264|100 260|301 000 331
                                                                               SHL+24; S.magic; SET7; SRM11; SET.transfer; SI11; FMM11/0; S.transfer;
  713/1: 140 260|171 276|304 000 062|200 220 000                               M+I11; FQ11; SET50; OUT;
  714/5: 300 000 023|201 144 110|200 360 000                                   F.failmark; JNEZ.stop; EXITH;
  716/2: 300 000 105|167 377|224 041 320|304 000 276|200 320 113       typeend: F.length; SHC-1; JLTZ.prog+1s3; SET≠276; JS.oubs;
  720/4: 300 000 104|033|300 000 023|011|221 141 274                           F.test; NOT; F.failmark; OR; JEQZ.end+0s3;
                                                                                       /suppress O.K. flex message after on disc or punched
  722/3: 300 001 334|300 000 333|300 000 332|033|164 061|033|204 326 322|201 261 274
                                                                               F.okw; F.texid+1; F.texid; NOT; SHL24; NOT; JS.type; J.end+0s3;
  725/4: 161 321|300 001 231|065|067|300 001 343|011|200 360 000       frb:    SHA-24; F.decimal; REV; FRB; F.zer; OR; EXITH;
  730/0: 166 365|065|164 375|065|042|200 141 330|052|200 261 151       prno:   SHLD-6; REV; SHL-2; REV; DUP; JNEZ.prog-0s7; ERASE; J.printsix;
  732/2: 017|017|017|017|240 026 014 027 004 377                       *k4:= {*c KAL4 };

                                                                       /[ ----- page 06

  734/0: 002 367 353 174 017 377                                       okw:= P *s O.K. *s;
  735/0: 002 150 151 260 017 320                                       fls:= P *s FAIL *s*d 0;
  736/0: 236 035 014 031 236 377                                       ran:= ≠ 4741641406317377;
  737/0: 236 070 052 050 070 013                                       sex:= {*s secs.};
  740/0: 000 014 364 277 051 100|272 131 144 226 100 000|003 173 362 223 067 302
                                                                       snw:= P *2s store *s needed *3s words. *c;
  743/0: 101 004 020 101 004 020                                       zer:=P 00000000;
                                                                       label prno, zer;
                                                                       end
                                                                       label prnl, time, prno, closestr;
                                                                       label nfail, options, jobno, ssss, rs1, rs2, fl2, fl6, fl7, fl9;
  744/0: 304 000 002|203 260 036                                       fl2:    SET2; J.nfail;   /dictionary meets program
  745/0: 144 340|173 000|203 260 036                                   rs1:    IONE14; FLINK; J.nfail;  /even restart - terminate
  746/1: 144 340|304 000 005|203 260 036                               rs2:    IONE14; SET5; J.nfail;  /odd restart
  747/3: 304 000 006|203 260 036                                       fl6:    SET6;  J.nfail;  /dictionary lost during binary output
  750/3: 304 000 007|203 260 036                                       fl7:    SET7;  J.nfail;       /error in OUT29

  751/3: 304 000 011|203 260 036                                       fl9:    SET9;  J.nfail;
                                                                       end

                                                                       /    Facility added in assembler by A.P.McCann June 1972
                                                                       /   Input source file may be switched by stmt of type
                                                                       /   !goto newfile-name where newfile-name is a full 12 char ident.  Any chars in
                                                                       /   amendment field are ignored in searching index. If file is not on disc
                                                                       /   then a fail message is given and assembler packs up
                                                                       /
                                                                       begin
                                                                       begin   (block for goto procesing)
                                                                       label goto;
                                                                       /
  752/3: 170 264                                                       goto:  SI11;                           /flag for 2 halves of ident
                                                                       /
                                                                       /   read 6 chars making half the ident
                                                                       /
  752/5: 304 000 006|170 270|041                                       gethalf:  SET6; SC11; ZERO;            /6 chars in each half
                                                                       /
                                                                       /   char fetch loop
                                                                       /
  753/5: 164 015|205 324 303|200 321 213                               getchs:   SHL6; JS.einbs; JS.bstopr;   /get char convert to printer code
  755/1: 011|143 260|265 261 353                                                 OR; DC11; JCNZ11.getchs;     /form chars into word
  756/1: 171 264|041|170 264|205 141 352                                         FI11; ZERO; SI11; JNEZ.gethalf; /do other half of ident
  757/3: 164 031|065|166 351                                                     SHL12; REV; SHLD-12;         /shift into place
  760/2: 300 002 010|011|041                                                     F.nctc; OR; ZERO;            /ident completed. N1 = text index adrs
                                                                       /
                                                                       /    loop for searching text index which is read into input text bfr
                                                                       /
  761/1: 200 321 011|304 006 340|170 303                               srchindex:  JS.discread; SET.block; SRM12; /M12 points to 1st word of index blk
  762/3: 304 000 324|102 300|164 301|036                                           SET212; FMMQ12/0; SHL-32; -;/get no. of entries in blk
  763/5: 170 310|304 000 003|170 304|242 301 367                                   SC12; SET3; SI12; JCZ12.anymo; /Q12 set for scan. jmp if blk empty
  765/3: 017|017|017|102 300|224 021 373                               *           FMMQ12/0; JEQ.maybe;        /loop to match top half of ident
                                                                       /
                                                                       /   return to search loop if 2nd half of ident doesnt match
                                                                       /
  766/5: 017|177 300                                                   *contsrch: JCNZS12;                     /scan all entries in blk
                                                                       /
                                                                       /   here when blk finished to see if more blcks
                                                                       /
  767/2: 300 011 137|042|201 141 361                                   anymo:     F.block+639; DUP; JNEZ.srchindex; /get next on chain
  770/3: 033|164 075|011                                                          NOT; SHL30; OR;                  /mask top 3 chars of ident
  771/1: 204 321 221|204 321 221                                                  JS.print8; JS.print8;            /priny ident           /[typo for print (?)
  772/1: 300 002 007|204 321 221|200 260 037                                      F.notfnd; JS.print8; J.catfail;  /print not fnd,fail
                                                                       /
                                                                       /   half matched ident. see if other half matches

                                                                       /[ ----- page 07

                                                                       /
  773/4: 141 300|065|042                                               maybe:     M-I12; REV; DUP;            /N1 = 2nd half
  774/2: 110 300|015                                                              FMMN12/0; NEV;              /compare
  774/5: 041|033|164 031|167 045|054                                              ZERO; NOT; SHL12; SHC18; AND; /mask amendment no
  776/0: 223 141 377                                                              JEQZ.fnd;                   /jmp if it matches
  776/3: 065|140 300|200 261 367                                                  REV; M+I12; J.contsrch;     /keep looking
                                                                       /
                                                                       /   here when located
                                                                       /
  777/3: 052|052|300 300 002|200 321 011                               fnd:       ERASE; ERASE; FM12.2; JS.discread; /read alpha block
 1000/5: 300 006 340|301 000 332                                                  F.block; S.texid;           /keep....
 1001/5: 300 006 341|301 000 333                                                  F.block+1; S.texid+1;       /....identifier
 1002/5: 300 007 060|301 006 340                                                  F.block+80; S.block;        /NOC
 1003/5: 300 007 061|042                                                          F.block+81; DUP;            /word count
 1004/3: 027|170 303                                                              NEG; SRM12;                 /Q12 set up
 1005/0: 304 007 061|056|170 336                                                  SET.block+81; +; SQ13;      /Q13 set up
 1006/0: 200 262 016                                                              J.nxitem;                   /continue assembling
 1006/3: 017|017|017|002 353 364 002 153 244                           *notfnd := P *snot*sfnd;      /for fail message
 1010/0: 034 055 002 000 000 000                                       nctc := P *n *c T *c *4s;  /to complete identifier
                                                                       /
                                                                       end  (of goto)
                                                                       /

 1011/0: 052|041|033                                                   bracket: ERASE; ZERO; NOT;
 1011/3: 202 323 036|304 000 204|204 022 013|065|027|033|065                   JS.pbs; SET≠204; JNE.prog+1s1; REV; NEG; NOT; REV;
 1013/4: 304 000 224|015|201 142 015|033|027                                   SET≠224; NEV; JNEZ.prog+0s5; NOT; NEG;
 1015/1: 042|203 142 011|052                                                   DUP; JNEZ.bracket+0s3; ERASE;

 1016/0: 171 042|171 062|300 001 236|032|016|042|170 043|032|171 022|056|171 162|036
                                                                       nxitem: FM2; FM3; F.inbfr; MAX; ROUND; DUP; SRM2; MAX; FM1; +; FM7; -;
 1021/1: 200 041 344|052|001|203 241 351                                       JGEZ.fl2; ERASE; VR; JNEN.fl9;  /check dict. meets prog, nest
                                                                                       /check for comment  asterisk  etc.
 1022/3: 205 324 303                                                           JS.einbs;
 1023/0: 042|164 365|220 142 041                                       return: DUP; SHL-6; J=Z.load;    /letter
 1024/0: 304 000 242|223 022 245                                               SET≠242; J=.equals;      /constant
 1025/0: 304 000 216|225 022 057                                               SET≠216; J=.ast;
 1026/0: 304 000 240|222 022 047                                               SET≠240; J=.crlf;
 1027/0: 304 000 214|220 024 021                                               SET≠214; J=.beginblock;    /begin
 1030/0: 304 000 234|221 024 024                                               SET≠234; J=.endblock;      /end
 1031/0: 304 000 241|220 022 046                                               SET≠241; J=.slash;         / / comments
 1032/0: 304 000 171|223 024 271                                               SET≠171; J=.labelspec;     / label list
 1033/0: 304 000 200|221 022 051                                               SET≠200; J=.comment;       / !comment comments
 1034/0: 304 000 340|223 024 162                                               SET≠340; J=.segment;       / segment
 1035/0: 304 000 204|220 022 011                                               SET≠204; J=.bracket;
 1036/0: 304 000 210|223 021 352                                               SET≠210; J=.goto;  /find alternative input file
 1037/0: 304 000 320|225 021 021                                               SET≠320; J=.libcall;       / library
 1040/0: 304 000 230|225 022 015                                               SET≠230; J=.nxitem-0s1;    /extra semicolon
                                                                       /
 1041/0: 113 041                                                       load:   SMMQN2/1;        /read rest of item to semicolon or colon
 1041/2: 205 324 303|042|113 041                                       nxebs:  JS.einbs; DUP; SMMQN2/1;
 1042/2: 304 000 230|220 022 102|304 000 240|220 020 041                       SET≠230; J=.instr; SET≠240; JEQ.fail;
 1044/2: 304 000 271|015|202 142 041|204 263 240                               SET185; NEV; J≠Z.nxebs; J.ident;
 1046/0: 171 310|172 302|154 014|154 015                               slash:  FC12; S+M12; CFRQ0/12; CFRQ0/13;
 1047/2: 171 024|300 001 124|056|172 144|205 262 015                   crlf:   FI1; F.inlib; +; S+I6; J.nxitem-0s1;
 1051/1: 300 000 106|220 142 046|304 000 240|042|200 320 113|065       comment: F.tables; JEQZ.slash; SET≠240; DUP; JS.oubs; REV;
 1053/3: 164 021|300 004 017|011|200 321 151                                   SHL8; F.ssssd; OR; JS.printsix;
 1055/0: 204 320 360|042|200 320 113|200 022 055                       ccopy:  JS.inbs; DUP; JS.oubs; JNE.ccopy;

                                                                       /[ ----- page 08

 1056/4: 041|301 001 233|202 262 047                                           ZERO; S.refcount; J.crlf;
 1057/5: 205 322 237|205 324 303|065|200 022 023                       ast:    JS.round; JS.einbs; REV; J≠.return;
 1061/3: 171 062|027|033|164 367                                               FM3; NEG; NOT; SHL-5;
 1062/3: 033|027|164 013|170 062|205 262 015                                   NOT; NEG; SHL5; SM3; J.nxitem-0s1;
                                                                                       /conversion table for signs in instructions
                                                                       *spec:
 1064/0: 040 000 000 377 372 301                                       =≠ 10000000 77775 301;   / =HX+;  =T-6;  =S{+};
 1065/0: 044 000 000 377 372 321                                       =≠ 11000000 77775 321;
 1066/0: 142 005 337 377 350 261                                       =≠ 30402737 77764 261;
 1067/0: 075 110 100 377 356 221                                       =≠ 17244100 77767 221;
 1070/0: 101 300 000 377 364 242                                       =≠ 20340000 77772 242;
 1071/0: 145 000 000 377 364 322                                       =≠ 31200000 77772 322;
 1072/0: 135 360 000 377 364 202                                       =≠ 27370000 77772 202;
 1073/0: 135 000 000 377 364 222                                       =≠ 27200000 77772 222;
 1074/0: 111 360 000 377 364 302                                       =≠ 22370000 77772 302;
 1075/0: 111 000 000 377 364 262                                       =≠ 22200000 77772 262;
 1076/0: 000 012 000 001 002 063                                       speclist:= Q prog-spec / 1 / spec-1;
 1077/0: 017 017 017 017 017 017                                       du:={*6#17};       /dummy syllables for rounding
 1100/0: 000 000 000 000 000 000                                       qn:=0;
 1101/0: 000 000 000 000 000 000                                       qnn:=0;
 1102/0: 171 050|033|027|172 042                                       instr:  FC2; NOT; NEG; S+M2;
 1103/0: 164 371|170 050|153 004|041|033                                       SHL-4; SC2; IMFRQ0/4; ZERO; NOT;      /C2 = 9
                                                                       begin       /basic parsing scan
 1104/2: 102 041|304 000 230|221 022 122                               nibs:   FMMQ2/1; SET≠230; J=.eparse;
 1105/4: 240 040 041                                                           JCZ2.fail;     /instruction pattern too long
 1106/1: 042|304 000 014|037|202 042 104                                       DUP; SET12; SIGN; JGEZ.nibs;
 1107/3: 145 100|304 000 013|221 022 122                                       IMONE4; SET11; J=.eparse;       /type CA
 1110/5: 043|052|026|167 363|204 042 112                               digit:  DUPD; ERASE; ABS; SHC-7; JGEZ.dig;    /not sign
                                                                                       / ABS caters for case of no code before digit
 1112/1: 052|141 040                                                           ERASE; M-I2;     /number signed or invalid - go back to sign
 1112/4: 201 324 317|301 002 100                                       dig:    JS.assemno; S.qn;
 1113/4: 144 100|304 000 230|221 022 122                                       IONE4; SET≠230; JEQ.eparse;
 1115/0: 147 100|304 000 013|221 022 122|304 000 241|200 020 041               IMTWO4; SET≠13; JEQ.eparse; SET≠241; JNE.fail;
 1117/2: 052|102 041|201 324 317                                       cnn:    ERASE; FMMQ2/1; JS.assemno;    /second Q-store number
 1120/2: 301 002 101|146 100                                                   S.qnn; ITWO4;    /type two
 1121/1: 304 000 230|200 020 041                                               SET152; JNE.fail;
                                                                                       /second number not terminated by semicolon
                                                                       eparse:         /pack instruction pattern for location
 1122/1: 041|065                                                               ZERO; REV;
 1122/3: 052|065|042|033|223 142 133                                   l:      ERASE; REV; DUP; NOT; JEQZ.endpa;
 1123/4: 166 365|042|223 142 122                                               SHLD-6; DUP; JEQZ.l;   /letter
 1124/4: 166 015|167 361|300 002 076|170 276                                   SHLD6; SHC-8; F.speclist; SQ11; /symbol
 1126/1: 017|017|017|017|017|112 260|164 121|220 022 131|177 260|200 260 041
                                                                               *FMMQN11/0; SHL40; JEQ.prog+1s2; JCNZS11; J.fail;
 1131/0: 052|100 260|164 361|170 270|164 260                                   ERASE; FMM11/0; SHL-8; SC11; SHLC11;
 1132/3: 104 013|011|204 262 122                                               FMMH0/11; OR; J.l+0s1;
 1133/3: 052                                                           endpa:  ERASE;  / N1 = instruction pattern
                                                                       end
 1133/4: 140 100|300 106 070                                           begin  M+I4; FM4.tc;   /fetch appropriate dope word
                                                                                               /instruction pattern locator
 1134/3: 170 276|151 264|171 270|170 262|151 012                               SQ11; MFRQ11/4; FC11; SM11; MFRQ0/10;
 1136/1: 151 251                                                       high:   MFRQ10/9;
 1136/3: 171 262|171 222|043|056|164 377|170 242                       loop:   FM11; FM9; DUPD; +; SHL-1; SM10;     /binary search
 1140/1: 033|056|065                                                           NOT; +; REV;
 1140/4: 042|100 244|037|042|220 142 144                                       DUP; FMM10/4; SIGN; DUP; JEQZ.found;
 1142/0: 066|220 140 041                                                       CAB; JEQZ.fail;
 1142/4: 221 102 136|151 253|203 262 136                                       JGTZ.high; MFRQ10/11; J.loop;
 1144/0: 170 262|052|052|140 260                                       found:  SM11; ERASE; ERASE; M+I11;
 1145/0: 104 253                                                               FMMH10/11;      /N1 = blank instruction
 1145/2: 171 104|223 142 163                                                   FI4; J=Z.store;
 1146/1: 171 104|042|225 042 167                                               FI4; DUP; J<Z.addr;   /contains address
 1147/1: 027|033|203 142 157                                                   NEG; NOT; J≠Z.cnn;
 1150/0: 042|164 261|304 000 304                                               DUP; SHL-40; SET≠304; /check for SET instruction
 1151/0: 015|225 142 155|042|164 301                                           NEV; JEQZ.setinst; DUP; SHL-32;

                                                                       /[ ----- page 09

 1152/1: 304 370 377|054|304 160 001|015|203 142 161                           SET≠174377; AND; SET≠70001; NEV; JNEZ.cn;   /one Q number
 1154/0: 300 002 100|164 123|204 202 156|200 260 041                           F.qn; SHL41; JNV.prog+1s5; J.fail;  /shift parameter
 1155/5: 300 002 100|164 101|164 361|202 262 163                       setinst: F.qn; SHL32; SHL-8; J.store-0s1;
 1157/3: 300 002 101|042|164 371|200 140 041                           cnn:    F.qnn; DUP; SHL-4; J≠Z.fail;  /negative or > 15
 1161/0: 167 341|011                                                           SHC-16; OR;
 1161/3: 300 002 100|042|164 371|200 140 041                           cn:     F.qn; DUP; SHL-4; J≠Z.fail;
 1163/0: 167 351|011                                                           SHC-12; OR;
 1163/3: 042|164 245|304 000 002|032|052|033|027|170 110               store:  DUP; SHL-46; SET2; MAX; ERASE; NOT; NEG; SC4;
 1165/3: 041|166 021|143 100|200 322 234|263 102 165|205 262 015               ZERO; SHLD8; DC4; JS.storesyll; JCNZ4.prog-1s2; J.nxitem-0s1;
 1167/5: 065|154 004|155 066                                           addr:   REV; CFRQ0/4; CMFRQ3/6;
                                                                                       /allow funnies and set update pointer for calcadd
 1170/4: 042|164 003|220 042 200                                               DUP; SHL+1; JLTZ.mors;  /use instruction to determine address type
 1171/4: 042|164 021|164 261|304 000 360|032                                   DUP; SHL8; SHL-40; SET≠360; MAX;
 1173/1: 037|033|027|042|033|036                                               SIGN; NOT; NEG; DUP; NOT; -;
 1174/1: 170 102|200 323 333                                           endaddr: SM4; JS.calcadd;               /M4 = address type
 1175/0: 304 000 230|015|200 140 041                                           SET≠230; NEV; J≠Z.fail;         /check terminator semicolon
 1176/1: 201 322 202|065|033|223 142 163                                       JS.addup; REV; NOT; J=Z.store;  /unmodified
 1177/3: 203 262 161                                                           J.cn;   /modified
 1200/0: 042|164 261|304 000 304|037|026|164 003|201 262 174           mors:   DUP; SHL-40; SET≠304; SIGN; ABS; SHL+1; J.endaddr;
                                                                       end
                                                                       addup:          /adds the syllable in N1 and word
                                                                                       /in N2 to the instruction in N3.
                                                                                       /mode of arithmetic specified by M4.
 1202/1: 042|300 102 230|065|200 142 204|164 321|011                   begin  DUP; FM4.sw; REV; JNEZ.prog+1; SHL-24; OR;
 1204/0: 174 000|202 360 000                                                   SLINK; EXIT;
 1204/5: 066|167 013|041|166 007                                       jumpadd: CAB; SHC5; ZERO; SHLD3;
 1205/5: 066|056|304 000 006|044|066|056                                       CAB; +; SET6; DIVI; CAB; +;
 1207/1: 167 361|012|056                                                       SHC-8; PERM; +;
 1207/5: 065|167 011|047                                               jumpword: REV; SHC4; STR;
 1210/3: 065|167 021|065|166 031|066|056                                       REV; SHC8; REV; SHLD12; CAB; +;
 1211/5: 166 351|065|167 363|065                                               SHLD-12; REV; SHC-7; REV;
 1212/5: 166 377|052|167 371|200 360 000                                       SHLD-1; ERASE; SHC-4; EXITH;
 1214/1: 065|167 005|041|166 007                                       msadd:  REV; SHC2; ZERO; SHLD3;
 1215/1: 065|167 017|065|166 031|066|056                                       REV; SHC7; REV; SHLD12; CAB; +;
 1216/3: 166 351|065|167 363|065                                               SHLD-12; REV; SHC-7; REV;
 1217/3: 166 373|052|167 375|200 360 000                                       SHLD-3; ERASE; SHC-2; EXITH;
 1220/5: 164 101|065|167 021|001|161 005|220 200 041                   setadd: SHL32; REV; SHC+8; VR; SHA2; JV.fail;
 1222/4: 161 375|056|167 361|200 360 000                                       SHA-2; +; SHC-8; EXITH;
 1224/0: 066|167 021|042|164 301|200 140 041|012|065|164 107           syll:   CAB; SHC+8; DUP; SHL-32; JNEZ.fail; PERM; REV; SHL+35;
 1226/1: 065|166 373|052|056|167 361|200 360 000                               REV; SHLD-3; ERASE; +; SHC-8; EXITH;
 1227/5: 017|000 242 220|000 002 224                                   *sw:= HA setadd;   =HA syll;
 1231/0: 000 242 207|000 242 204                                            =HA jumpword; =HA jumpadd;
 1232/0: 000 042 214|000 000 041                                            =HA msadd;    =HA fail;
 1233/0: 000 242 207|000 000 041                                            =HA jumpword; =HA fail;
                                                                       end
                                                                       storesyll:      /stores syllable in D40-D47 of N1: D0-D39 zero
 1234/0: 304 377 370|172 070|304 000 377|166 060|033                           SET-8; S+C3; SET≠377; SHLDC3; NOT;
 1235/5: 100 061|054                                                           FMM3/1; AND;    /preserve other syllable
 1236/2: 011|101 061|245 062 243|200 360 000                                   OR; SMM3/1; JCZ3.endro-0s2; EXITH;
 1237/5: 304 377 320|172 070|241 062 244|142 060|100 061|300 002 077   round:  SET-48; S+C3; JCZ3.endro; NC3; FMM3/1; F.du;
 1242/2: 166 060|142 060|167 060|101 061|052                                   SHLDC3; NC3; SHCC3; SMM3/1; ERASE;
 1243/5: 140 060                                                               M+I3;
 1244/1: 304 000 060|170 070|200 360 000                               endro:  SET48; SC3; EXITH;

                                                                                       /process constant
 1245/3: 052|205 324 303                                               equals: ERASE; JS.einbs;
 1246/1: 304 000 023|220 023 013                                       begin  SET≠23; J=.hconst;
 1247/1: 304 000 017|220 023 014                                               SET≠17; J=.dconst;
 1250/1: 304 000 036|223 023 133                                               SET≠36; J=.sconst;
 1251/1: 304 000 037|224 023 156                                               SET≠37; J=.tconst;
 1252/1: 304 000 060|170 125                                                   SET48; SRI5;  /alignment
 1253/0: 304 000 034|225 023 172                                               SET≠34; J=.qconst;
 1254/0: 171 070|171 124|044                                           common: FC3; FI5; I;


                                                                       /[ ----- page 10

 1254/5: 200 140 041|052                                                       JNEZ.fail; ERASE;       /check alignment
 1255/3: 304 000 033|220 023 016|304 000 215|223 023 101                       SET≠33; JEQ.pconst; SET≠215; JEQ.string;
Warning: SET instruction to non-whole word address
 1257/3: 304 042 266|174 000                                                   SET.endinput; SLINK;
 1260/2: 140 040|171 042|304 000 230|066|042|103 041|304 000 271|220 020 041
                                                                       input:  M+I2; FM2; SET≠230; CAB; DUP; SMMQ2/1; SET≠271; JEQ.fail;
 1263/1: 304 000 240|220 020 041|224 022 265|205 324 303|204 262 261           SET≠240; JEQ.fail; JEQ.prog+1s3; JS.einbs; J.input+1s2;
 1265/4: 052|170 042                                                           ERASE; SM2;
 1266/1: 200 360 000|102 041                                           endinput: EXITH; FMMQ2/1; /usual exit is to this FMMQ
 1267/0: 304 000 322|222 023 216|304 000 014|223 023 232                       SET≠322; JEQ.octal; SET≠14; JEQ.aconst;
 1271/0: 304 000 261|224 023 204|304 000 043|224 023 204                       SET≠261; JEQ.xconst;  SET≠43; JEQ.xconst;
 1273/0: 304 000 021|204 022 274                                               SET≠21; JNE.prog+1s1; /number - check F
 1274/0: 170 122|102 041                                                       SM5; FMMQ2/1;   /set floating tag

                                                                       begin         /assemble numeric constant
 1274/4: 157 012|153 013|157 010|304 000 136|170 270                   number: QFRQ0/10; IMFRQ0/11; QFRQ0/8; SET94; SC11;
 1276/3: 041|041|066|171 124|027|033|042|170 225|222 102 301                   ZERO; ZERO; CAB; FI5; NEG; NOT; DUP; SRI9; JGTZ.chpm;
 1300/4: 171 270|170 224                                                       FC11; SI9;
 1301/2: 304 000 301|224 022 363|304 000 321|222 022 363               chpm:   SET≠301; JEQ.sign+0s2; SET≠321; JEQ.sign;
 1303/2: 042|304 000 012|037|201 042 305|205 322 376                   chdig:  DUP; SET10; SIGN; JGEZ.chdot; JS.digits;
 1305/1: 304 000 013|224 022 364                                       chdot:  SET11; JEQ.dec;
 1306/1: 304 000 012|225 022 367|304 000 020|225 022 367               chten:  SET10; JEQ.exp; SET≠20; JEQ.exp;
 1310/1: 304 000 241|221 022 374|140 220                               chsl:   SET≠241; JEQ.slash; M+I9;
 1311/3: 304 000 230|015|200 140 041                                   chsc:   SET≠230; NEV; JNEZ.fail;
 1312/4: 304 000 136|171 270|036|170 250|240 240 041                           SET94; FC11; -; SC10; JCZ10.fail;       /no digits
                                                                                       /number in C10 I. P. in N1/N2
 1314/3: 171 242|171 262|036|304 000 014|044|170 130                           FM10; FM11; -; SET12; DIVI; SC5;
 1316/2: 042|026|170 270|223 042 350|241 262 323                               DUP; ABS; SC11; JLTZ.divide; JCZ11.endexp;
 1320/0: 300 003 012|042|012|034|051|163 243                           mult:   F.const; DUP; PERM; D; REVD; +-47;
 1321/3: 304 000 050|172 250|143 260|260 262 320                               SET40; S+C10; DC11; JCNZ11.mult;
 1323/1: 244 122 327|171 024                                           endexp: JCZ5.endno; FI1;
 1324/0: 304 000 012|034|050|143 120|177 120                                   * SET10; D; CONT; DC5; JCNZS5;
 1325/3: 304 000 057|024|045|172 250                                           SET47; FLOAT; FIX; S+C10;
 1326/4: 042|012|034|051|163 243                                               DUP; PERM; D; REVD; +-47;
 1327/4: 042|223 142 332|042|164 003|223 042 332                       endno:  DUP; JEQZ.prog+2s4; DUP; SHL1; JLTZ.prog+1s4;
 1331/2: 143 240|162 003|202 262 330                                           DC10; SHAD1; J.endno+0s4;
 1332/3: 171 244|223 142 333|010                                               FI10; JEQZ.pos; NEGD;
 1333/3: 171 122|200 142 344|171 222|027|172 250                       pos:    FM5; JNEZ.float; FM9; NEG; S+C10;
 1335/1: 171 250|027|033|042|220 100 041                                       FC10; NEG; NOT; DUP; JGTZ.fail;
 1336/3: 171 224|033|036|220 040 041|162 240                                   FI9; NOT; -; JLTZ.fail; SHADC10;        /check shift O.K.
 1340/0: 171 124|042|222 042 355|304 000 030|015|224 142 356|016               FI5; DUP; JLTZ.storetwo; SET24; NEV; JEQZ.hfix; ROUND;
 1342/2: 220 200 041|101 061|140 060|200 262 016                       store:  JV.fail; SMM3/1; M+I3; J.nxitem;
 1344/0: 171 250|042|161 121|220 200 041|052                           float:  FC10; DUP; SHA40; JV.fail; ERASE;
 1345/3: 025|171 124|042|222 042 355                                           FLOATD; FI5; DUP; JLTZ.storetwo;
 1346/4: 304 000 030|015|222 142 357|020|202 262 342                           SET24; NEV; JEQZ.hfloat; ROUNDF; J.store;
 1350/3: 162 377|300 003 012|042|051|066|064|012|065|060|041           divide: SHAD-1; F.const; DUP; REVD; CAB; DIVR; PERM; REV; DIV; ZERO;
 1352/4: 012|047|057|304 377 331|172 250|143 260|263 262 350|201 262 323
                                                                               PERM; STR; +D; SET-39; S+C10; DC11; JCNZ11.divide; J.endexp;
 1355/2: 052|101 061|140 060|202 262 342                               storetwo: ERASE; SMM3/1; M+I3; J.store;
 1356/4: 014|203 262 357                                               hfix:   ROUNDH; J.storeh;
 1357/2: 021                                                           hfloat: ROUNDHF;
 1357/3: 220 200 041|041|166 021|200 322 234|041                       storeh: JV.fail; ZERO; SHLD8; JS.storesyll; ZERO;
 1361/1: 166 021|200 322 234|164 261|200 322 234|205 262 015                   SHLD8; JS.storesyll; SHL-40; JS.storesyll; J.nxitem-0s1;
 1363/2: 144 240|052|102 041|202 262 303                               sign:   IONE10; ERASE; FMMQ2/1; J.chdig;
 1364/4: 052|144 260|102 041|042|304 000 012|037|200 040 041|205 322 376|201 262 306
                                                                       dec:    ERASE; IONE11; FMMQ2/1; DUP; SET10; SIGN; JGEZ.fail; JS.digits; J.chten;
 1367/5: 052|171 270|304 000 136|015|203 142 372|041|033|162 377|172 270
                                                                       exp:    ERASE; FC11; SET94; NEV; JNEZ.expa; ZERO; NOT; SHAD-1; S+C11;
 1372/3: 102 041|201 324 317|170 242|201 262 310                       expa:   FMMQ2/1; JS.assemno; SM10; J.chsl;
 1374/1: 052|171 122|200 140 041|102 041|201 324 317|170 222|203 262 311
                                                                       slash:  ERASE; FM5; JNEZ.fail; FMMQ2/1; JS.assemno; SM9; J.chsc;
 1376/5: 260 203 000|143 260|143 200                                   digits: JCNZ8.dig; DC11; DC8;
 1400/0: 304 377 374|172 270|140 260|041|162 260|051|162 377|043       dig:    SET-4; S+C11; M+I11; ZERO; SHADC11; REVD; SHAD-1; DUPD;
 1402/2: 162 375|057|057|042|200 143 005|304 000 004|172 270|203 263 007
                                                                               SHAD-2; +D; +D; DUP; JNEZ.shift; SET4; S+C11; J.nxdig;
 1405/0: 042|164 003|223 043 007|171 024|172 270|162 003|200 263 005   shift:  DUP; SHL1; JLTZ.nxdig; FI1; S+C11; SHAD1; J.shift;
 1407/3: 102 041|042|304 000 012|037|220 043 000|200 360 000           nxdig:  FMMQ2/1; DUP; SET10; SIGN; JLTZ.dig; EXITH;
 1411/4: 017|017|164 152 122 210 000 000                               *const:= 128 000 000 000 000;   /  10**12 / 40
                                                                       label store, storeh;
                                                                       end

                                                                       /[ ----- page 11

 1413/0: 304 000 030|203 263 014                                       hconst: SET24; J.prog+1;
 1414/0: 304 377 320|170 125|052|205 324 303|200 262 254               dconst: SET-48; SRI5; ERASE; JS.einbs; J.common;
 1416/0: 052                                                           pconst: ERASE;
                                                                       begin
 1416/1: 202 323 036|042|164 365|204 143 030                           nxchar: JS.pbs; DUP; SHL-6; JNEZ.long;
 1417/4: 200 321 213|201 323 021|201 263 016                                   JS.bstopr; JS.storechar; J.nxchar;
 1421/1: 304 377 372|172 070|304 000 077|042|012|054|065|166 060       storechar: SET-6; S+C3; SET≠77; DUP; PERM; AND; REV; SHLDC3;
 1423/3: 033|100 061|054|011|101 061|245 062 243|200 360 000                   NOT; FMM3/1; AND; OR; SMM3/1; JCZ3.endro-0s2; EXITH;
 1425/4: 041|033|164 060|033|100 061|011|101 061                       query:  ZERO; NOT; SHLC3; NOT; FMM3/1; OR; SMM3/1;
 1427/2: 304 000 006|170 070|201 263 020                                       SET6; SC3; J.storechar-1;
 1430/4: 304 000 216|221 023 042|304 000 230|202 023 040               long:   SET≠216; JEQ.ast; SET≠230; JNE.find;
 1432/4: 052|171 070|171 124|044|225 142 015                           fin:    ERASE; FC3; FI5; DIVI; JEQZ.nxitem-0s1;
 1434/1: 304 000 077|201 323 021|204 263 032                                   SET≠77; JS.storechar; J.fin;
 1435/4: 052|203 321 156                                                       ERASE; JS.countl;
 1436/2: 205 324 303|304 000 240|224 023 035|200 360 000               pbs:    JS.einbs; SET≠240; JEQ.pbs-0s4; EXITH;
                                                                       label pbs, lookup, storechar;
 1440/2: 304 000 017|202 323 060                                       find:   SET15; JS.lookup;
 1441/2: 164 335|201 263 020                                                   SHL-18;  J.storechar-1;
 1442/1: 052|202 323 036|304 000 034|224 023 025                       ast:    ERASE; JS.pbs; SET≠34; JEQ.query;
 1443/5: 042|304 000 012|037|225 043 055|171 024                               DUP; SET10; SIGN; JLTZ.count; FI1;
 1445/3: 170 130|304 000 322|220 023 051                               esym:   SC5; SET≠322; JEQ.octal;
 1446/5: 202 323 036|065|041|202 323 060|164 277|204 263 052                   JS.pbs; REV; ZERO; JS.lookup; SHL-33; J.store;
 1451/0: 204 323 142|065|042|164 365|200 140 041                       octal:  JS.num; REV; DUP; SHL-6; JNEZ.fail;
 1452/4: 042|201 323 021|143 120|264 123 052|052                       store:  DUP; JS.storechar; DC5; JCNZ5.store; ERASE;
 1454/2: 201 324 305|205 323 036|204 263 016                                   JS.einbs+1s2; JS.pbs+0s3; J.nxchar+0s3;
 1455/5: 204 323 142|065|042|027|033|164 341|200 140 041|203 263 045   count:  JS.num; REV; DUP; NEG; NOT; SHL-16; JNEZ.fail; J.esym;
                                                                       end
 1460/2: 170 250|304 000 013|170 271                                   lookup: SC10; SET11; SRC11;
 1461/3: 017|017|017|302 263 066|164 240|164 263|223 023 064|177 260   *begin FMQ11.symtab; SHLC10; SHL-39; JEQ.found; JCNZS11;
 1464/0: 200 260 041                                                           J.fail;
 1464/3: 052|300 263 065|200 360 000                                   found:  ERASE; FM11.symtab-1; EXITH;
                                                                                       /tables of specials in P and { constants
 1465/4: 017|017                                                       *symtab:        /P formal/char/P spec/char/BS formal/BS
 1466/0: 017 000 301 164 074 236                                       =≠ 36 00 301 35 036 236;
 1467/0: 007 004 321 170 034 240                                       =≠ 16 02 321 36 016 240;
 1470/0: 017 210 241 074 076 256                                       =≠ 37 04 241 17 037 256;
 1471/0: 014 216 246 070 070 215                                       =≠ 31 07 246 16 034 215;
 1472/0: 006 030 271 040 100 235                                       =≠ 14 14 271 10 040 235;
 1473/0: 007 376 214 050 030 216                                       =≠ 17 77 214 12 014 216;
 1474/0: 010 172 224 054 036 377                                       =≠ 20 75 224 13 017 377;
 1475/0: 015 206 242 044 040 276                                       =≠ 33 03 242 11 020 276;
 1476/0: 021 214 261 064 112 316                                       =≠ 43 06 261 15 045 316;
 1477/0: 020 064 220 150 056 220                                       =≠ 40 32 220 32 027 220;
 1500/0: 013 264 000 000 106 376                                       =≠ 27 32 000 00 043 376;
                                                                       end
 1501/0: 203 321 156                                                           JS.countl;
 1501/3: 052                                                           string: ERASE;
 1501/4: 204 320 360|304 000 377|223 023 101|304 000 240|220 023 101   nxsbs:  JS.inbs; SET≠377; JEQ.string; SET≠240; JEQ.string-0s3;
 1504/1: 304 000 236|223 023 101|304 000 256|223 023 101               begin  SET≠236; JEQ.string; SET≠256; JEQ.string;
 1506/1: 304 000 216|225 023 115|304 000 235|221 023 111                       SET≠216; JEQ.ast;   SET≠235; JEQ.end;
 1510/1: 200 322 234|204 263 101                                               JS.storesyll; J.nxsbs;
 1511/1: 205 324 303|304 000 230|015|200 140 041                       end:    JS.einbs; SET≠230; NEV; JNEZ.fail;
 1512/5: 052|171 070|171 124|044|225 142 015                           fin:    ERASE; FC3; FI5; DIVI; JEQZ.nxitem-0s1;
 1514/2: 304 000 377|200 322 234|205 263 112                                   SET≠377; JS.storesyll; J.fin;
 1515/5: 052|202 323 036|042|304 000 012|037|220 043 131|171 024|170 130
                                                                       ast:    ERASE; JS.pbs; DUP; SET10; SIGN; JLTZ.count; FI1; SC5;
 1520/3: 304 000 322|221 023 124|304 000 036|202 323 060               esym:   SET≠322; JEQ.octal; SET30; JS.lookup;
 1522/3: 304 000 377|054|205 323 126|204 263 101                               SET≠377; AND; JS.store; J.nxsbs;
 1524/1: 204 323 142|065|042|164 361|200 140 041                       octal:  JS.num; REV; DUP; SHL-8;  JNEZ.fail;
 1525/5: 205 323 126|201 263 102                                               JS.store; J.nxsbs+0s3;
 1526/5: 042|200 322 234|143 120|265 123 126                           store:  DUP; JS.storesyll; DC5; JCNZ5.store;
 1530/2: 052|200 360 000                                                       ERASE; EXITH;
 1531/0: 204 323 142|065|042|027|033|164 341|200 140 041|201 263 120   count:  JS.num;  REV; DUP; NEG; NOT; SHL-16; JNEZ.fail; J.esym-0s2;

                                                                       /[ ----- page 12

                                                                       end
 1533/3: 052|304 000 010|170 125|205 324 303|304 000 215|223 023 101|202 322 260
                                                                       sconst: ERASE; SET8; SRI5; JS.einbs; SET≠215; JEQ.string; JS.input;
 1536/3: 102 041|201 324 317|065|304 000 230|015|200 140 041                   FMMQ2/1; JS.assemno; REV; SET≠230; NEV; JNEZ.fail;
 1540/4: 161 117|047|052|164 263|205 203 164|200 260 041                       SHA39; STR; ERASE; SHL-39; JNV.lastsy; J.fail;
                                                                       label num;
 1542/4: 042|304 000 012|037|154 013                                   num:    DUP; SET10; SIGN; CFRQ0/11;
 1543/5: 224 043 153|304 000 322|015|200 140 041                       begin  JLTZ.nosign; SET≠322; NEV; JNEZ.fail;
 1545/3: 041|202 323 036|042|164 373|200 140 041                               ZERO; JS.pbs; DUP; SHL-3; JNEZ.fail;
 1547/1: 011|161 007|204 320 360|042|164 373|221 143 147               octnum: OR; SHA3; JS.inbs; DUP; SHL-3; JEQZ.octnum;
 1551/1: 065|164 373|065|304 000 377|203 023 321                               REV; SHL-3; REV; SET≠377; JNE.exith;
 1552/5: 052|041|201 263 147                                                   ERASE; ZERO; J.octnum;
 1553/4: 202 323 036|304 000 012|043|037|202 041 167                   nosign: JS.pbs; SET10; DUPD; SIGN; JGEZ.erex;
 1555/3: 066|034|050|056|204 263 153                                           CAB; MULTD; CONT; +; J.nosign;
                                                                       end
 1556/4: 202 322 260|140 040|041|304 000 230                           tconst: JS.input; M+I2; ZERO; SET≠230;
 1560/1: 171 062|171 070|304 000 060|044|304 000 010|056|012|036|170 142|155 004
                                                                               FM3; FC3; SET48; DIVI; SET8; +; PERM; -; SM6; CMFRQ0/4;
 1563/1: 205 323 165|166 361|200 322 234|164 261                               JS.part; SHLD-8; JS.storesyll; SHL-40;
 1564/5: 200 322 234|200 262 016                                       lastsy: JS.storesyll; J.nxitem;
 1565/5: 170 150|200 323 333|012|051|015|200 140 041                   part:   SC6; JS.calcadd; PERM; REVD; NEV; JNEZ.fail;
 1567/4: 164 033|042|223 143 171|065|304 037 377|054                           SHL13; DUP; JEQZ.prog+1s2; REV; SET≠17777; AND;
 1571/3: 011|174 000|173 000|200 360 000                                       OR; SLINK; FLINK; EXITH;
 1572/5: 171 070|171 124|015|200 140 041|155 004                       qconst: FC3; FI5; NEV; JNEZ.fail; CMFRQ0/4;
 1574/3: 171 062|027|033|170 142|202 322 260|140 040                           FM3; NEG; NOT; SM6; JS.input; M+I2;
 1576/2: 304 000 241|304 000 010|205 323 165|164 101|151 066                   SET≠241; SET8; JS.part; SHL32; MFRQ3/6;
 1600/3: 304 000 241|304 000 050|205 323 165|164 041|011                       SET≠241; SET40; JS.part; SHL16; OR;
 1602/3: 304 000 230|304 000 030|205 323 165|011|202 262 342           oneadd: SET≠230; SET24; JS.part; OR; J.store;

                                                                       xconst:       /instruction pattern constant
 1604/4: 052                                                           begin  ERASE;
 1604/5: 102 041|042|164 365|204 143 210|201 323 021|205 263 204       xloop:  FMMQ2/1; DUP; SHL-6; JNEZ.endx; JS.storechar; J.xloop;
 1607/1: 164 371|304 000 011|054|201 263 206                           spec:   SHL-4; SET≠11; AND; J.xloop+1s2;
 1610/4: 304 000 301|221 023 207|304 000 321|221 023 207               endx:   SET≠301; JEQ.spec; SET≠321; JEQ.spec;
 1612/4: 304 000 230|200 020 041                                               SET≠230; JNE.fail;
 1613/4: 052|171 070|171 124|044|225 142 015                           align:  ERASE; FC3; FI5; DIVI; JEQZ.nxitem-0s1;
 1615/1: 041|201 323 021|204 263 213                                           ZERO; JS.storechar; J.align;
                                                                       end
 1616/2: 171 124|042|220 040 041|027|033|170 122|201 324 317           octal:  FI5; DUP; JLTZ.fail; NEG; NOT; SM5; JS.assemno;
 1620/3: 065|304 000 241|200 023 223|052|102 041                       begin  REV; SET≠241; JNE.end; ERASE; FMMQ2/1;
 1622/1: 201 324 317|170 122                                                   JS.assemno; SM5;
 1623/0: 304 000 230|015|200 140 041|304 000 057                       end:    SET≠230; NEV; JNEZ.fail; SET47;
 1624/4: 171 122|042|220 040 041|036|170 130                                   FM5; DUP; JLTZ.fail; -; SC5;
 1626/1: 042|164 120|065|167 120|200 020 041                                   DUP; SHLC5; REV; SHCC5; JNE.fail;     /bits lost
 1627/4: 171 124|164 367|202 142 342                                           FI5; SHL-5; JNEZ.store;
 1630/5: 042|042|164 061|223 142 357|200 260 041                               DUP; DUP; SHL24; JEQZ.storeh; J.fail;
                                                                       end
                                                                       aconst:
 1632/3: 052|171 124|042|220 040 041                                   begin  ERASE; FI5; DUP; JLTZ.fail;
 1633/4: 155 066|155 004|304 000 060|015                                       CMFRQ3/6; CMFRQ0/4; SET48; NEV;
 1635/0: 042|223 143 202|200 323 333                                           DUP; JEQZ.oneadd; JS.calcadd;
 1636/1: 304 000 230|015|200 140 041                                           SET≠230; NEV; JNEZ.fail;
 1637/2: 041|012|201 322 202|203 262 357                                       ZERO; PERM; JS.addup; J.storeh;
                                                                       end
                                                                       label storechar, lookup, pbs, input;
                                                                       end
                                                                                       /process label declaration
                                                                       ident:
 1640/4: 171 050|033|027|172 042|200 323 322                           begin  FC2; NOT; NEG; S+M2; JS.packid;
 1642/1: 155 004                                                               CMFRQ0/4;        /only check repetion in this block
 1642/3: 200 323 312|202 263 302                                               JS.dsearch; J.boob;
 1643/3: 102 041|304 000 271|220 023 263                                       FMMQ2/1; SET≠271; J=.implicit;        /colon
 1644/5: 304 000 242|015|200 140 041                                           SET≠242; NEV; J≠Z.fail;       /check =
 1646/0: 143 100|300 003 332|221 023 273|111 160                               DC4; F.progid; JEQ.patch; SMMN7/0;
 1647/4: 041|200 323 333|304 000 271|015|200 140 041                           ZERO; JS.calcadd; SET≠271; NEV; JNEZ.fail;

                                                                       /[ ----- page 13

                                                                                        /check terminator colon - address value in N1
 1651/3: 170 270|170 262|152 153                                       store:  SC11; SM11; IFRQ6/11;
 1652/3: 171 276|103 160                                                       FQ11; SMMQ7/0;  /complete dictionary entry
 1653/1: 220 142 016                                                           JEQZ.nxitem;    /jump if ref. table entry not reqd
 1653/4: 300 001 232|200 321 151|300 001 234|200 321 170                       F.ssss; JS.printsix; F.lastlab; JS.printid;
 1655/4: 202 321 175|200 321 205                                               JS.printadd; JS.printline;
 1656/4: 300 001 233|042|027|033|301 001 233                                   F.refcount; DUP; NEG; NOT; S.refcount;
 1660/1: 300 000 105|056|220 102 016                                           F.length; +; JGTZ.nxitem;
 1661/2: 041|301 001 233|203 320 112|200 262 016                               ZERO; S.refcount; JS.prnl; J.nxitem;
 1663/0: 052|300 003 332|220 020 041                                   implicit: ERASE; F.progid; J=.fail;       /attempt to declare prog
 1664/1: 042|111 160|171 144|301 001 235                                       DUP; SMMN7/0; FI6; S.lineno;
 1665/3: 171 062|304 000 006|171 070|164 373|036|042|222 143 271               FM3; SET6; FC3; SHL-3; -; DUP; JEQZ.prog+2;
 1667/5: 043|052|001|161 105|220 200 041|052                                   DUPD; ERASE; VR; SHA34; JV.fail; ERASE;
 1671/2: 066|301 001 234|300 000 106|012|203 263 251                           CAB; S.lastlab; F.tables; PERM; J.store;
 1673/1: 052|200 323 333|304 000 271|015|200 140 041                   patch:  ERASE; JS.calcadd; SET≠271; NEV; J≠Z.fail;
 1675/0: 043|052|220 040 041                                                   DUPD; ERASE; JLTZ.fail; /prog would go negative
 1675/5: 171 062|012|304 000 006|065|036|164 007|170 070                       FM3; PERM; SET6; REV; -; SHL3; SC3;     /syllable
 1677/5: 042|170 062|032|300 001 236|032|301 001 236|052|205 262 015           DUP; SM3; MAX; F.inbfr; MAX; S.inbfr; ERASE; J.nxitem-0s1;
 1702/2: 202 323 303|200 260 041                                       boob:   JS.because; J.fail;
 1703/2: 300 003 311|300 003 310|203 321 150|304 000 377|203 321 170   because: F.bdotodot+1; F.bdotodot; JS.printtwo; SET≠377; JS.printid+0s3;
 1705/5: 100 240|164 041|164 301|202 261 205                                   FMM10/0; SHL16; SHL-32; J.printline+0s2;
 1707/2: 017|017|017|017|240 047 052 050 046 072|070 052 236 064 053 236
                                                                       *bdotodot:= {*cbecause*sof*s};
                                                                       label because;
                                                                       end

                                                                               /search dictionary for the work in N1
                                                                               /C4 = 0 if search to stop at begin marker (zero entry)
 1712/0: 155 172                                                       dsearch: CMFRQ7/10;        /use current dictionary pointer
                                                                       sdsearch: /entry with old dictionary pointer in Q10
 1712/2: 240 243 317|142 240|146 240|140 240                           begin JCZ10.a+0s3; NC10; ITWO10; M+I10;
 1713/5: 017|112 240|042|222 143 316|223 023 317                       *loop:  FMMQN10/0; DUP; J=Z.b; J=.match;
 1715/3: 177 240|202 360 001                                           loopa:  JCNZS10; EXIT.1;        /end of dictionary
 1716/2: 052                                                           b:      ERASE;
 1716/3: 263 103 315                                                   a:      JCNZ4.loopa;    /pass begins
 1717/0: 202 360 001                                                           EXIT.1; /unallocated
 1717/3: 141 240|100 240|203 043 321|140 240|203 263 315               match:  M-I10; FMM10/0; JGEZ.exith; M+I10; J.loopa;
 1721/3: 200 360 000                                                   exith:  EXITH;
                                                                       label exith;
                                                                       end

                                                                       packid: /packs identifier (backwards and left justified)
 1722/0: 304 000 007|170 050|041|100 041                               begin  SET7; SC2; ZERO; FMM2/1;
 1723/2: 042|304 000 014|037|220 040 041                                       DUP; SET12; SIGN; J<Z.fail;
 1724/4: 166 365|200 140 041                                                   SHLD-6; J≠Z.fail;
 1725/3: 017|017|017|112 041|166 365|201 143 331|177 040               *pack:  FMMQN2/1; SHLD-6; J≠Z.termin; JCNZS2;
 1727/3: 112 041|164 365|223 143 327|200 360 000                       skip:   FMMQN2/1; SHL-6; J=Z.skip; EXITH;
 1731/1: 164 015|200 360 000                                           termin: SHL6; EXITH;
                                                                       end
 1732/0: 111 247 133 000 000 000                                       *progid:=  GORP;       /prog in packid format
                                                                       calcadd:
 1733/0: 155 010|102 041|304 000 321|225 023 350                       begin  CMFRQ0/8; FMMQ2/1; SET209; J=.setsign;
 1734/4: 304 000 301|225 023 350                                               SET193; J=.setsign;
 1735/4: 154 011|141 040|201 263 352                                           CFRQ0/9; M-I2; J.item+0s2;
 1736/5: 171 156|164 011|171 230|027|050                               funny:  FQ6; SHL4; FC9; NEG; CONT;
 1740/1: 171 102|033|166 371|052|101 160|113 160                               FM4; NOT; SHLD-4; ERASE; SMM7/0; SMMQN7/0;
 1741/5: 102 041|304 000 321|225 023 350                               next:   FMMQ2/1; SET209; JEQ.setsign;
 1743/1: 304 000 301|225 023 350                                               SET193; J=.setsign;
 1744/1: 171 210|304 000 006|044|065|171 202|056|065|042|221 143 350           FC8; SET6; DIVI; REV; FM8; +; REV; DUP; JEQZ.exit;
 1746/4: 043|052|001|161 105|220 200 041|052                                   DUPD; ERASE; VR; SHA34; JV.fail; ERASE;
 1750/1: 066|200 360 000                                               exit:   CAB; EXITH;      /terminator left in N1
 1750/5: 304 000 301|015|170 230                                       setsign: SET193; NEV; SC9;
 1751/5: 100 041|042|304 000 012|037|222 043 367                       item:   FMM2/1; DUP; SET10; SIGN; J<Z.absolute;

                                                                       /[ ----- page 14

 1753/3: 304 000 322|222 023 367|304 000 215|015|222 143 374                   SET210; J=.absolute; SET≠215; NEV; JEQZ.str;
 1755/4: 200 323 322|300 003 332|220 023 365                                   JS.packid; F.progid; JEQ.curadd;
 1757/1: 200 323 312|201 263 361|245 103 336|200 260 041                       JS.dsearch; J.prog+1s3; JCZ4.funny; J.fail;
 1761/1: 052|100 240|170 256|171 242|171 250                                   ERASE; FMM10/0; SQ10; FM10; FC10;
 1762/4: 245 223 363                                                   enditem: JCZ9.addin;
 1763/1: 027|065|027|065                                                       NEG; REV; NEG; REV;      /negate word/syllable if item -ve
 1763/5: 172 210|172 202|205 263 341                                   addin:  S+C8; S+M8; J.next;
 1765/0: 052|171 062|304 000 006|171 070|164 373|036|204 263 362       curadd: ERASE; FM3; SET6; FC3; SHL-3; -; J.enditem;
 1767/2: 140 040|201 324 317                                           absolute: M+I2; JS.assemno;            /word address
 1770/1: 065|304 000 036|015|223 143 372                                       REV; SET30; NEV; J=Z.syll;
 1771/3: 141 040|041|204 263 362                                               M-I2; ZERO; J.enditem;  /no syllable number
 1772/3: 102 041|201 324 317|016|141 040|204 263 362                   syll:   FMMQ2/1; JS.assemno; ROUND; M-I2; J.enditem;
 1774/2: 140 040|203 324 001|200 260 041|203 324 001|205 264 000       str:    M+I2; JS.onesym; J.fail; JS.onesym; J.estr;
 1776/4: 065|164 021|011|102 041|304 000 235|015|200 140 041                   REV; SHL8; OR; FMMQ2/1; SET≠235; NEV; JNEZ.fail;
 2000/5: 041|204 263 362                                               estr:   ZERO; J.enditem;
 2001/3: 102 041|304 000 216|222 024 006|304 000 230|220 020 041       onesym: FMMQ2/1; SET≠216; JEQ.formal; SET≠230; JEQ.fail;
 2003/5: 304 000 271|220 020 041|304 000 235|222 021 167|202 360 001           SET≠271; JEQ.fail; SET≠235; JEQ.erex; EXIT.1;
 2006/2: 052|102 041|304 000 036|202 323 060|304 000 377|054|202 360 001
                                                                       formal: ERASE; FMMQ2/1; SET30; JS.lookup; SET≠377; AND; EXIT.1;
                                                                       end

 2011/0: 300 000 106|222 141 167                                       prbs:   F.tables; JEQZ.erex;
 2012/0: 164 021|300 004 017|011|300 001 233|222 144 015                       SHL8; F.ssssd; OR; F.refcount; JEQZ.prog+1s5;
 2014/0: 304 000 240|166 361|301 001 233                                       SET≠240; SHLD-8; S.refcount;
 2015/2: 200 321 151|200 321 205|203 260 112                                   JS.printsix; JS.printline; J.prnl;
 2016/5: 017|236 236 236 236 000 377                                   *ssssd:= ≠ 4751723647400377;
 2020/0: 000 000 000 000 000 000                                       lastbegin:=0;
 2021/0: 200 324 011                                                   beginblock: JS.prbs;
 2021/3: 300 004 020|101 160|171 176|301 004 020                       dumbeg: F.lastbegin; SMM7/0; FQ7; S.lastbegin;
 2023/1: 041|113 160|200 262 016                                               ZERO; SMMQN7/0; J.nxitem;

 2024/1: 157 172|146 240|146 220|171 224|170 202                       endblock: QFRQ7/10; ITWO10; ITWO9; FI9; SM8;
 2025/5: 200 324 011|041|033|301 000 024|200 321 164                           JS.prbs; ZERO; NOT; S.endmark; JS.space;
                                                                                        /increments 2 for backward scan from current
                                                                                        /dictionary position. M8 = 2 to ease back-tracking
 2027/4: 157 065|152 150                                               begin  QFRQ3/5; IFRQ6/8;        /preserve line count and prog
                                                                                                        / address: both disturbed by update
 2030/2: 142 240|300 004 020|164 301|172 250|143 240                           NC10; F.lastbegin; SHL-32; S+C10; DC10;
                                                                                       /set up scan of dictionary for this block only
 2032/1: 244 244 062|152 004                                           nxentry: JCZ10.tidyup; IFRQ0/4;
 2033/0: 102 250|205 044 034|017|177 240                               *findloc: FMMQ10/8; JGEZ.locitem; *JCNZS10;
 2034/2: 204 264 062                                                           J.tidyup;        /scans for each located entry
                                                                       locitem:        /for each located entry,
                                                                                       /process corresponding unlocated entries;
                                                                                       /M10 now points to the located entry.
 2034/5: 155 171|142 220|110 240|041                                           CMFRQ7/9; NC9; FMMN10/0; ZERO;
 2036/0: 052                                                           erscan: ERASE;
 2036/1: 017|017|017|017|017|112 230|042|220 144 041|222 024 043|177 220|041
                                                                       *scan:  FMMQN9/8; DUP; JEQZ.lastref; JEQ.process; JCNZS9; ZERO;
 2041/0: 052|052|171 104|221 044 032                                   lastref: ERASE; ERASE; FI4; JLTZ.nxentry;
 2042/1: 041|033|111 240|201 264 032                                           ZERO; NOT; SMMN10/0; J.nxentry;
                                                                                       /delete located entry unless there is
                                                                                       /a corresponding label entry
 2043/2: 100 220|042|200 044 036                                       process: FMM9/0; DUP; JGEZ.erscan;
 2044/2: 042|033|164 301|203 144 046|052                                       DUP; NOT; SHL-32; JNEZ.notlab; ERASE;
 2045/4: 145 100|203 264 061                                                   IMONE4; J.delete;       /label entry: delete but remember in I4
                                                                       notlab:         /unlocated entry to be updated
 2046/3: 047|162 007|033|170 102                                               STR; SHAD3; NOT; SM4;    /address type
 2047/3: 164 003|047|170 110                                                   SHL1; STR; SC4; /+/- marker
 2050/2: 164 371|170 156                                                       SHL-4; SQ6;     /Q6 set up for update
 2051/0: 155 143                                                               CMFRQ6/3;       /to give correct fail address
 2051/2: 142 140|110 141|042|100 141|166 140                           update: NC6; FMMN6/1; DUP; FMM6/1; SHLDC6;
 2052/5: 142 140|065                                                           NC6; REV;       /sylls to be updated at top of N1
 2053/2: 100 240|170 276|171 262|242 104 055                                   FMM10/0; SQ11; FM11; JCZ4.pos;  /address value
 2054/5: 142 260|027                                                           NC11; NEG;      /negate address if -

                                                                       /[ ----- page 15

 2055/2: 171 270|201 322 202                                           pos:    FC11; JS.addup; /update
 2056/1: 065|166 140|101 141                                                   REV; SHLDC6; SMM6/1;
 2057/0: 041|033|164 061|164 140|042|066|054                                   ZERO; NOT; SHL+24; SHLC6; DUP; CAB; AND;
 2060/3: 012|033|054|011|111 141                                               PERM; NOT; AND; OR; SMMN6/1;
 2061/3: 041|033|111 220|200 264 037                                   delete: ZERO; NOT; SMMN9/0; J.scan;
                                                                       label stop, updfail;  updfail=delete:    /[ a bit sneaky hiding this label definition
 2062/4: 300 004 020|042|170 276|102 260                               tidyup: F.lastbegin; DUP; SQ11; FMMQ11/0;
 2064/0: 301 004 020                                                           S.lastbegin;     /last begin is removed from dictionary
 2064/3: 171 170|027|172 270|170 176|202 264 070                               FC7; NEG; S+C11; SQ7; J.endtidy;
                                                                                       /set up for removing unwanted entries from dictionary
 2066/1: 017|017|017|017|017|112 260|042|033|205 144 157               *tidy:  FMMQN11/0; DUP; NOT; JNEZ.keep;
 2070/1: 052                                                           erase:  ERASE;
 2070/2: 177 260                                                       endtidy: JCNZS11;
 2070/4: 157 123|152 206                                                       QFRQ5/3; IFRQ8/6;       /restore prog address and line no.
 2071/2: 041|301 000 024|300 000 106|223 144 073|203 320 112                   ZERO; S.endmark; F.tables; JEQZ.prog+1; JS.prnl;
 2073/3: 300 004 020|200 142 016|245 164 077|142 160|146 160                   F.lastbegin; JNEZ.nxitem; JCZ7.enter; NC7; ITWO7;
 2075/4: 017|017|102 170|042|220 044 152|052                           *checkunloc: FMMQ7/8; DUP; JLTZ.unloc; ERASE;
 2077/1: 177 160|152 206                                               endcheck: JCNZS7; IFRQ8/6;
 2077/5: 300 000 023|200 140 037                                       enter:  F.failmark; JNEZ.catfail;
 2100/5: 300 001 241|224 144 107|300 000 104|225 144 125                       F.flag; JEQZ.endbin; F.test; JEQZ.landg;
 2102/5: 300 020 007|033|204 144 106                                           FM1.7; NOT; JNEZ.endbin-1;
 2104/0: 171 062|300 001 236|032|304 000 010|164 041|011                       FM3; F.inbfr; MAX; SET8; SHL16; OR;
 2106/0: 301 020 007|052                                                       SM1.7; ERASE;   /default filler word
 2106/4: 200 326 073|201 324 226                                               JS.bintod; JS.prod;
 2107/4: 200 321 243                                                   endbin: JS.windup;
 2110/1: 300 000 110|200 040 035|300 001 237|164 377|304 000 002|015|220 140 035
                                                                       stop:   F.jq; JGEZ.zeroout; F.failno; SHL-1; SET2; NEV; JEQZ.zeroout;
 2113/1: 300 001 134|224 144 114|202 332 153|224 304 115|173 000|052           F.ptfile; JEQZ.prog+1; JS.closeptr; JEJ.prog+1; FLINK; ERASE;
 2115/4: 203 244 115|201 304 115|300 000 105|167 377|202 044 122               JNEN.prog-0s1; JNEJ.prog-1; F.length; SHC-1; JGEZ.close;
 2120/0: 242 364 122|171 370|304 000 006|200 220 000|205 264 123               JCZ15.close; FC15; SET6; OUT; J.batch;  /direct printer
 2122/2: 300 001 242|304 000 010|200 220 000                           close:  F.closestr; SET8; OUT;
 2123/5: 300 004 151|300 000 002|304 000 001|200 220 000               batch:  F.iden; F.2; SET1; OUT; /re-enter
 2125/5: 304 013 203|114 001|110 001|015|114 000|110 000               landg:  SET≠5603; FMMHN0/1; FMMN0/1; NEV; FMMHN0/0; FMMN0/0;
 2127/5: 015|037|223 100 036|052|200 321 243                                   NEV; SIGN; JGTZ.nfail; ERASE; JS.windup;
 2131/2: 300 004 147|042|301 000 005|301 020 005                               F.loopa; DUP; S.5; SM1.5;
 2133/0: 300 004 150|042|301 000 006|301 020 006                               F.loopb; DUP; S.6; SM1.6;
 2134/4: 300 000 334|304 000 063|200 220 000                                   F.jobno; SET51; OUT;
 2136/1: 171 062|300 001 236|032|033|027|170 271|052                           FM3; F.inbfr; MAX; NOT; NEG; SRC11; ERASE;
 2140/0: 300 000 111|164 061|114 001|042|220 144 142|032|052                   F.timelt; SHL24; FMMHN0/1; DUP; JEQZ.prog+0s4; MAX; ERASE;
 2142/1: 304 000 003|200 220 000|056|171 270|164 023|056|014|114 000|115 001|304 000 002|200 260 005
                                                                               SET3; OUT; +; FC11; SHL9; +; ROUNDH; FMMHN0/0; SMMHN0/1; SET2; J.5;
                                                                                       /add trans time + allowance for code copying to give TL
 2146/0: 072 063 061 064 050 236                                       *unlocstr:={unloc*s};
 2147/0: 100 261|017|103 260                                           *loopa: FMM11/1; DUMMY; SMMQ11/0;       /move code
 2147/5: 017|177 260|200 220 000                                       *loopb: JCNZS11; OUT;           /and enter
 2150/5: 017|206 305 036 171 347 236                                   *iden:= P AL4-----;
 2152/0: 033|164 301|221 144 077                                       unloc:  NOT; SHL-32; JEQZ.endcheck;     /label
 2153/0: 300 004 146|200 321 151|110 160|200 321 170                           F.unlocstr; JS.printsix; FMMN7/0; JS.printid;
 2154/5: 100 160|170 156|200 321 205                                           FMM7/0; SQ6; JS.printline;
 2156/0: 203 320 112|171 164|301 000 023                                       JS.prnl; FI7; S.failmark;
 2157/2: 201 264 077                                                           J.endcheck;
 2157/5: 111 160|100 270|042|033|164 301                               keep:   SMMN7/0; FMM11/8; DUP; NOT; SHL-32;
 2161/1: 221 144 070                                                           JEQZ.erase;     /ignore remaining label entries
 2161/4: 103 160|202 264 070                                                   SMMQ7/0; J.endtidy;
                                                                       end

 2162/3: 202 322 260|140 040|304 000 014|170 270                       segment: JS.input; M+I2; SET12; SC11;
 2164/1: 041|301 001 241|171 076                                       begin  ZERO; S.flag; FQ3;
 2165/1: 304 000 030|170 071|140 060|140 060                                   SET24; SRC3; M+I3; M+I3;
 2166/4: 102 041|304 000 321|224 024 175|304 000 241|225 024 200|042|164 365|200 140 041
                                                                       loop:   FMMQ2/1; SET≠321; JEQ.skip; SET≠241; JEQ.end; DUP; SHL-6; JNEZ.fail;
 2172/0: 200 321 213|201 323 021                                               JS.bstopr; JS.storechar;
 2173/0: 143 260|264 264 166                                           eloop:  DC11; JCNZ11.loop;
 2173/5: 102 041|304 000 241|225 024 200|200 260 041                           FMMQ2/1; SET≠241; JEQ.end; J.fail;
 2175/4: 052|304 377 372|172 070|260 064 173|304 000 060|170 070|140 060|200 264 173
                                                                       skip:   ERASE; SET-6; S+C3; JCNZ3.eloop; SET48; SC3; M+I3; J.eloop;
 2200/5: 170 111|140 100|170 076                                       end:    SRC4; M+I4; SQ3;

                                                                       /[ ----- page 16

 2201/5: 200 323 333|304 000 024|015|200 140 041                               JS.calcadd; SET≠24; NEV; JNEZ.fail;
 2203/3: 104 000|104 001|042|301 004 270|015|201 144 207                       FMMH0/0; FMMH0/1; DUP; S.oldij; NEV; JNEZ.filler;     /initial jump preserved
 2205/3: 043|300 004 271|012|201 322 202|105 001                               DUPD; F.jump; PERM; JS.addup; SMMH0/1;  /initial jump
 2207/1: 052|200 323 333|304 000 230|015|200 140 041|052               filler: ERASE; JS.calcadd; SET≠230; NEV; JNEZ.fail; ERASE;
 2211/1: 043|037|220 100 041|042|171 022|056|200 321 164                       DUPD; SIGN; JGTZ.fail; DUP; FM1; +; JS.space;
 2213/1: 065|164 041|011|042|301 020 007                                       REV; SHL16; OR; DUP; SM1.7;      /filler word
 2214/3: 170 036|041|033|172 264                                       chunloc: SQ1; ZERO; NOT; S+I11;
 2215/3: 157 172|146 240|142 240|017|017|017|302 240 002|223 044 244           QFRQ7/10; ITWO10; NC10; *FMQ10.2; JLTZ.check;
 2220/0: 177 240                                                       ok:     JCNZS10;
 2220/2: 300 000 023|300 000 104|033|011|200 142 016                           F.failmark; F.test; NOT; OR; JNEZ.nxitem;
 2222/1: 171 144|200 326 073|170 144|201 324 226|300 004 270|105 001           FI6; JS.bintod; SI6; JS.prod; F.oldij; SMMH0/1;
 2224/4: 300 000 336|203 041 347|200 262 016                                   F.dlost; JGEZ.fl6; J.nxitem;
 2226/1: 300 020 003|300 020 002|166 045|204 321 221|304 017 377|011|204 321 221
                                                                       prod:   FM1.3; FM1.2; SHLD18; JS.print8; SET≠7777; OR; JS.print8;
 2231/1: 300 004 264|204 321 221|300 004 265|204 321 221|300 004 267|202 324 241
                                                                               F.ond; JS.print8; F.size; JS.print8; F.hiadd; JS.pr32;
 2234/1: 110 001|170 270|243 264 237|143 260|300 004 266|200 321 151|171 270|202 324 241
                                                                               FMMN0/1; SC11; JCZ11.prog+2s4; DC11; F.st; JS.printsix; FC11; JS.pr32;
 2237/3: 203 320 112|300 004 264|164 365|200 266 321                           JS.prnl; F.ond; SHL-6; J.idtype;
 2241/2: 304 377 013|164 361|300 001 231|066|164 367|033|027|164 013   pr32:   SET≠177413; SHL-8; F.decimal; CAB; SHL-5; NOT; NEG; SHL5;
 2243/5: 067|200 261 330                                                       FRB; J.prno;
 2244/3: 100 240|033|164 301|220 144 220                               check:  FMM10/0; NOT; SHL-32; JEQZ.ok;
 2245/5: 100 240|170 236|171 222|171 262|037|220 104 220                       FMM10/0; SQ9; FM9; FM11; SIGN; JGTZ.ok;
 2247/5: 171 222|171 264|037|042|224 144 254|220 044 220                       FM9; FI11; SIGN; DUP; JEQZ.recheck; JLTZ.ok;
 2251/5: 304 000 004|170 251|302 244 260|200 321 151                   error:  SET.ond-err; SRC10; FMQ10.err; JS.printsix;
 2253/4: 264 244 252|200 260 041                                               JCNZ10.prog-1; J.fail;
 2254/4: 052|171 230|304 000 070|054|304 000 030|037|200 044 220|205 264 251
                                                                       recheck: ERASE; FC9; SET≠70; AND; SET24; SIGN; JGEZ.ok; J.error;
 2257/3: 017|017|017|240 070 052 054 062 052|063 071 236 063 052 052|051 070 236 072 065 051|046 071 056 063 054 377
                                                                       *err:={*c segment *s needs *s updating};
 2264/0: 276 340 044 247 070 337                                       *ond:= P on*sdisc.;
 2265/0: 000 014 351 352 120 077                                       size:= P *2ssize*s;
 2266/0: 003 070 070 071 236 377                                       st:= {&3s st *s};
 2267/0: 000 000 000 000 000 000                                       hiadd:=0;
 2270/0: 000 000 000 000 000 000                                       oldij:=0;
 2271/0: 200 260 000                                                   jump:   J.0;
                                                                       label prod, hiadd, ond;
                                                                       end

 2271/3: 202 322 260|140 040|304 000 230|041                           labelspec: JS.input; M+I2; SET≠230; ZERO;
                                                                                      /set up for search in containing block
 2273/0: 300 004 020|170 236|154 004                                   begin  F.lastbegin; SQ9; CFRQ0/4;
 2274/1: 052|200 323 322|157 232                                       nxlab:  ERASE; JS.packid; QFRQ9/10;
 2275/1: 202 323 312|201 264 302                                               JS.sdsearch; J.boob;    /already in outer block
 2276/1: 111 160|041|033|170 150                                               SMMN7/0; ZERO; NOT; SC6;
 2277/1: 171 156|103 160                                                       FQ6; SMMQ7/0;
 2277/5: 102 041|304 000 246|221 024 274                               next:   FMMQ2/1; SET≠246; JEQ.nxlab;
 2301/1: 225 022 015|200 260 041                                               JEQ.nxitem-0s1; J.fail;
 2302/1: 065|052|042|202 323 303|033|205 264 277                       boob:   REV; ERASE; DUP; JS.because; NOT; J.next;    /cause fail at end of list
                                                                       end
                                                                       einbs:
 2303/5: 265 024 315|041                                               begin  JCNZ1.ceq; ZERO;          /check if middle of :=
 2304/3: 052                                                           b:      ERASE;
 2304/4: 204 320 360                                                   a:      JS.inbs;
 2305/1: 042|164 365|203 144 310|042|304 000 045|065|037                       DUP; SHL-6; JNEZ.long; DUP; SET≠45; REV; SIGN;
 2307/1: 304 000 032|054|036|200 360 000                                       SET26; AND; -; EXITH;
 2310/3: 304 000 236|223 024 304|304 000 256|223 024 304               long:   SET≠236; JEQ.b; SET≠256; JEQ.b;
 2312/3: 304 000 377|223 024 304|304 000 265|200 024 310                       SET≠377; JEQ.b; SET≠265; JNE.long-0s3;
 2314/3: 170 030|304 000 271|200 360 000                               coleq:  SC1; SET≠271; EXITH;
 2315/5: 154 001|304 000 242|200 360 000                               ceq:    CFRQ0/1; SET162; EXITH;
                                                                       end
                                                                       assemno:                 /assemble signed integer
 2317/1: 001|154 005|042|304 000 012|037|223 044 334                   begin  VR; CFRQ0/5; DUP; SET10; SIGN; JLTZ.input;
 2321/0: 102 041|065|304 000 321|224 024 332|304 000 301|220 024 333           FMMQ2/1; REV; SET≠321; JEQ.neg; SET≠301; JEQ.neg+0s2;
 2323/3: 304 000 322|015|065|042|164 373|066|011|200 140 041                   SET≠322; NEV; REV; DUP; SHL-3; CAB; OR; JNEZ.fail;
 2325/4: 102 041|042|164 373|205 144 330                               octal:  FMMQ2/1; DUP; SHL-3; JNEZ.exit+0s1;
 2327/0: 065|047|162 007|027|050|011|204 264 325                               REV; STR; SHAD3; NEG; CONT; OR; J.octal;
 2330/4: 052|065|244 124 331|027|220 200 041|200 360 000               exit:   ERASE; REV; JCZ5.prog+0s4; NEG; JV.fail; EXITH;

                                                                       /[ ----- page 17

 2332/4: 143 120|052|042|304 000 012|037|200 040 041                   neg:    DC5; ERASE; DUP; SET10; SIGN; JGEZ.fail;
 2334/3: 102 041|304 000 012|043|037|204 044 330                       input:  FMMQ2/1; SET10; DUPD; SIGN; JGEZ.exit;
 2336/1: 066|034|050|056|203 264 334                                           CAB; D; CONT; +; J.input;
                                                                       end


                                                                               /lists of instruction blanks,
                                                                               /listed according to parser types
 2337/2: 017|017|017|017                                               *cblanks:
 2340/0: 001|056|056|041|056|056|056|056|056|057|056|056|023|056|056   VR;+;+;     ZERO;+;+;   +;+;+;       +D;+;+;     +DF;+;+;
 2342/3: 074|056|056|036|056|056|053|056|056|022|056|056|075|056|056   +F;+;+;     -;+;+;      -D;+;+;      -DF;+;+;    -F;+;+;
 2345/0: 026|056|056|030|056|056|054|056|056|003|056|056|066|056|056   ABS;+;+;     ABSF;+;+;   AND;+;+;     BITS;+;+;   CAB;+;+;
 2347/3: 050|056|056|060|056|056|061|056|056|063|056|056|062|056|056   CONT;+;+;   DIV;+;+;    DIVD;+;+;    DIVDF;+;+;  DIVF;+;+;
 2352/0: 044|056|056|064|056|056|017|056|056|042|056|056|043|056|056   DIVI;+;+;   DIVR;+;+;   DUMMY;+;+;   DUP;+;+;    DUPD;+;+;
 2354/3: 052|056|056|202 360 000|222 360 000|200 360 000|045|056|056   ERASE;+;+;  EXIT;       EXITD;       EXITH;    FIX;+;+;
 2357/0: 173 000|056|024|056|056|025|056|056|176 000|056|176 000|056   FLINK;+;    FLOAT;+;+;  FLOATD;+;+;  FNSC;+;    FPHU;+;
 2361/3: 067|056|056|176 000|056|032|056|056|072|056|056|035|056|056   FRB;+;+;    FRFIS;+;    MAX;+;+;     MAXF;+;+;   MULT;+;+;
 2364/0: 163 137|056|007|056|056|034|056|056|005|056|056|004|056|056   MULT+;+;    MULT+F;+;+; MULTD;+;+;   MULTDF;+;+; MULTF;+;+;
 2366/3: 027|056|056|010|056|056|071|056|056|031|056|056|015|056|056   NEG;+;+;    NEGD;+;+;   NEGDF;+;+;   NEGF;+;+;   NEV;+;+;
 2371/0: 033|056|056|011|056|056|200 220 000|012|056|056|065|056|056   NOT;+;+;    OR;+;+;     OUT;         PERM;+;+;   REV;+;+;
 2373/3: 051|056|056|016|056|056|020|056|056|014|056|056|021|056|056   REVD;+;+;   ROUND;+;+;  ROUNDF;+;+;  ROUNDH;+;+; ROUNDHF;+;+;
 2376/0: 175 000|056|175|200|056|175 000|056|002|056|056|037|056|056   SBANOL;+;   =S≠175;=S≠200;+;   SCPDAR;+;   SETTR;+;+;    SIGN;+;+;
 2400/3: 077|056|056|174 000|056|175 000|056|070|056|056|047|056|056   SIGNF;+;+;  SLINK;+;    SNSC;+;      STAND;+;+;  STR;+;+;
 2403/0: 013|056|056                                                   TOB;+;+;

 2403/3: 017|017|017                                                   *cnblanks:
 2404/0: 120 002|056|124 002|056|120 000|056|143 000|056|171 010|056|171 004|056
                                                                       BUSYQ0;+;  CLOQ0;+;    CTQ0;+;    DC0;+;    FC0;+;    FI0;+;
 2407/0: 171 002|056|171 016|056|145 000|056|147 000|056|134 002|056|144 000|056
                                                                       FM0;+;     FQ0;+;      IMONE0;+;  IMTWO0;+;  INTQ0;+;  IONE0;+;
 2412/0: 146 000|056|177 000|056|131 000|056|130 000|056|140 000|056   ITWO0;+;   JCNZS0;+;   LPEQ0;+;   LPQ0;+;   M+I0;+;
 2414/3: 141 000|056|120 001|056|127 000|056|126 000|056|136 000|056   M-I0;+;    MANUALQ0;+; MBREQ0;+;  MBRQ0;+;  MBSKQ0;+;
 2417/0: 120 010|056|122 000|056|125 000|056|124 000|056|134 000|056|130 014|056
                                                                       MBTQ0;+;  METQ0;+;   PREQ0;+; MFRQ0;+;  MFSKQ0;+; MGAPQ0;+;
 2422/0: 120 004|056|131 010|056|130 010|056|136 010|056|163 001|056   MLBQ0;+;   MLWEQ0;+;   MLWQ0;+;   MRWDQ0;+; MULT++0;+;
 2424/3: 163 000|056|131 000|056|130 004|056|130 000|056|142 000|056   MULT+C0;+; MWEQ0;+;    MWIPEQ0;+; MWQ0;+;   NC0;+;
 2427/0: 121 000|056|130 014|056|124 000|056|125 000|056|124 010|056   PARQ0;+;   PGAPQ0;+;   PIAQ0;+;   PIBQ0;+;  PICQ0;+;
 2431/3: 125 010|056|126 000|056|127 000|056|126 010|056|127 010|056   PIDQ0;+;   PIEQ0;+;    PIFQ0;+;   PIGQ0;+;  PIHQ0;+;
 2434/0: 134 000|056|120 010|056|120 004|056|136 010|056|136 000|056   PMAQ0;+;   PMBQ0;+;    PMCQ0;+;   PMDQ0;+;  PMEQ0;+;
 2436/3: 122 000|056|122 004|056|130 002|056|134 004|056|136 004|056   PMFQ0;+;   PMGQ0;+;    PMHQ0;+;   PMKQ0;+;  PMLQ0;+;
 2441/0: 130 000|056|131 000|056|130 010|056|131 010|056|130 014|056   POAQ0;+;   POBQ0;+;    POCQ0;+;   PODQ0;+;  POEQ0;+;
 2443/3: 130 004|056|132 000|056|133 000|056|133 010|056|132 010|056   POFQ0;+;   POGQ0;+;    POHQ0;+;   POKQ0;+;  POLQ0;+;
 2446/0: 125 010|056|124 010|056|125 000|056|124 000|056|131 010|056   PRCEQ0;+;  PRCQ0;+;    PREQ0;+;   PRQ0;+;   PWCEQ0;+;
 2450/3: 130 010|056|131 000|056|130 000|056|172 010|056|172 004|056   PWCQ0;+;   PWEQ0;+;    PWQ0;+;    S+C0;+;   S+I0;+;
 2453/0: 172 002|056|172 016|056|170 010|056|304 000 000|161 001|056   S+M0;+;    S+Q0;+;     SC0;+;     SET0;     SHA0;+;
 2455/3: 161 000|056|162 001|056|162 000|056|167 001|056|167 000|056   SHAC0;+;   SHAD0;+;    SHADC0;+;  SHC0;+;   SHCC0;+;
 2460/0: 164 001|056|164 000|056|166 001|056|166 000|056|170 004|056   SHL0;+;    SHLC0;+;    SHLD0;+;   SHLDC0;+; SI0;+;
 2462/3: 170 002|056|170 016|056|170 011|056|170 005|056|170 003|056   SM0;+;     SQ0;+;      SRC0;+;    SRI0;+;   SRM0;+;
 2465/0: 124 004|056|125 000|056|124 000|056|131 000|056|130 000|056   TLOQ0;+;   TREQ0;+;    TRQ0;+;    TWEQ0;+;  TWQ0;+;

 2467/3: 017|017|017                                                   *cnnblanks:
 2470/0: 154 000|056|156 000|056|155 000|056|100 000|056|104 000|056   CFRQ0/0;+;    CIFRQ0/0;+;   CMFRQ0/0;+;  FMM0/0;+;    FMMH0/0;+;
 2472/3: 114 000|056|110 000|056|102 000|056|106 000|056|116 000|056   FMMHN0/0;+;   FMMN0/0;+;    FMMQ0/0;+;   FMMQH0/0;+;  FMMQHN0/0;+;
 2475/0: 112 000|056|152 000|056|153 000|056|151 000|056|157 000|056   FMMQN0/0;+;   IFRQ0/0;+;    IMFRQ0/0;+;  MFRQ0/0;+;   QFRQ0/0;+;
 2477/3: 101 000|056|105 000|056|115 000|056|111 000|056|103 000|056   SMM0/0;+;     SMMH0/0;+;    SMMHN0/0;+;  SMMN0/0;+;   SMMQ0/0;+;
 2502/0: 107 000|056|117 000|056|113 000|056                           SMMQH0/0;+;   SMMQHN0/0;+;  SMMQN0/0;+;

 2503/3: 017|017|017                                                   *cablanks:
 2504/0: 202 360 000|200 360 000|300 000 000|200 260 000|220 300 000   EXIT.0;    EXITH.0;   F.0;      J.0;      JEJ.0;
 2506/3: 220 240 000|220 020 000|220 140 000|200 040 000|220 100 000   JEN.0;     JEQ.0;     JEQZ.0;   JGEZ.0;   JGTZ.0;
 2511/0: 200 100 000|220 040 000|200 020 000|200 300 000|200 240 000   JLEZ.0;    JLTZ.0;    JNE.0;    JNEJ.0;   JNEN.0;
 2513/3: 200 140 000|200 340 000|200 200 000|200 320 000|220 340 000   JNEZ.0;    JNTR.0;    JNV.0;    JS.0;     JTR.0;
 2516/0: 220 200 000|301 000 000|304 000 000|304 000 000               JV.0;      S.0;       SET.0;    SET.0;

                                                                       *cnablanks:
 2520/0: 300 000 000|302 000 000|260 000 000|240 000 000               FM0.0;      FMQ0.0;     JCNZ0.0;      JCZ0.0;

                                                                       /[ ----- page 18

 2522/0: 301 000 000|303 000 000                                       SM0.0;      SMQ0.0;

                                                                                         /tables of packed instructions for locator
                                                                       *ctable:
 2523/0: 205 320 000 000 000 000|225 007 132 000 000 000|040 000 000 000 000 000|040 360 000 000 000 000|040 364 100 000 000 000
                                                                       = VR;     = ZERO;   = +;       = +D;     = +DF;
 2530/0: 041 020 000 000 000 000|044 000 000 000 000 000|044 360 000 000 000 000|044 364 100 000 000 000|045 020 000 000 000 000
                                                                       = +F;     = -;      = -D;      = -DF;    = -F;
 2535/0: 060 327 200 000 000 000|060 327 221 000 000 000|061 223 300 000 000 000|065 107 336 000 000 000|070 303 100 000 000 000
                                                                       = ABS;    = ABSF;   = AND;     = BITS;   = CAB;
 2542/0: 071 246 137 000 000 000|075 110 100 000 000 000|075 110 117 000 000 000|075 110 117 104 000 000|075 110 121 000 000 000
                                                                       = CONT;   = DIV;    = DIVD;    = DIVDF;  = DIVF;
 2547/0: 075 110 124 000 000 000|075 110 135 000 000 000|076 006 030 220 000 000|076 006 300 000 000 000|076 006 317 000 000 000
                                                                       = DIVI;   = DIVR;   = DUMMY;   = DUP;    = DUPD;
 2554/0: 101 323 036 100 000 000|102 065 037 000 000 000|102 065 037 074 000 000|102 065 037 114 000 000|105 110 300 000 000 000
                                                                       = ERASE;  = EXIT;   = EXITD;   = EXITH;  = FIX;
 2561/0: 105 165 031 130 000 000|105 166 214 174 000 000|105 166 214 174 360 000|105 227 216 000 000 000|105 264 340 000 000 000
                                                                       = FLINK;  = FLOAT;  = FLOATD;  = FNSC;   = FPHU;
 2566/0: 105 323 100 000 000 000|105 324 124 170 000 000|140 310 300 000 000 000|140 310 321 000 000 000|142 005 337 000 000 000
                                                                       = FRB;    = FRFIS;  = MAX;     = MAXF;   = MULT;
 2573/0: 142 005 337 040 000 000|142 005 337 041 020 000|142 005 337 074 000 000|142 005 337 075 020 000|142 005 337 104 000 000
                                                                       = MULT+;  = MULT+F; = MULTD;   = MULTDF; = MULTF;
 2600/0: 145 004 200 000 000 000|145 004 217 000 000 000|145 004 217 104 000 000|145 004 221 000 000 000|145 010 100 000 000 000
                                                                       = NEG;    = NEGD;   = NEGDF;   = NEGF;   = NEV;
 2605/0: 145 247 300 000 000 000|151 320 000 000 000 000|152 007 300 000 000 000|155 007 130 000 000 000|165 010 100 000 000 000
                                                                       = NOT;    = OR;     = OUT;     = PERM;   = REV;
 2612/0: 165 010 117 000 000 000|165 250 031 074 000 000|165 250 031 075 020 000|165 250 031 075 060 000|165 250 031 075 064 100
                                                                       = REVD;   = ROUND;  = ROUNDF;  = ROUNDH; = ROUNDHF;
 2617/0: 170 323 031 151 160 000|170 330 045 224 000 000|170 346 317 061 320 000|171 007 337 164 000 000|171 104 231 000 000 000
                                                                       = SBANOL; = SBUZZ;  = SCPDAR;  = SETTR;  = SIGN;
 2624/0: 171 104 231 104 000 000|171 165 031 130 000 000|171 227 216 000 000 000|171 363 031 074 000 000|171 367 100 000 000 000
                                                                       = SIGNF;  = SLINK;  = SNSC;    = STAND;  = STR;
 2631/0: 175 243 100 000 000 000                                       = TOB;

                                                                       cntable:
 2632/0: 066 007 244 160 000 000|071 166 234 000 000 000|071 367 000 000 000 000|074 340 000 000 000 000|104 340 000 000 000 000|105 100 000 000 000 000
                                                                       = BUSYQ;  = CLOQ;    = CTQ;    = DC;    = FC;    = FI;
 2640/0: 105 200 000 000 000 000|105 300 000 000 000 000|121 206 231 100 000 000|121 207 342 150 000 000|121 227 334 000 000 000|121 246 120 000 000 000
                                                                       = FM;     = FQ;      = IMONE;  = IMTWO;  = INTQ;  = IONE;
 2646/0: 121 370 232 000 000 000|124 346 145 170 000 000|135 264 034 000 000 000|135 267 000 000 000 000|140 205 000 000 000 000
                                                                       = ITWO;   = JCNZS;   = LPEQ;   = LPQ;   = M+I;
 2653/0: 140 225 000 000 000 000|140 306 140 061 167 000|140 327 120 160 000 000|140 327 134 000 000 000|140 327 226 160 000 000
                                                                       = M-I0;    = MANUALQ; = MBREQ;  = MBRQ;  = MBSKQ;
 2660/0: 140 327 334 000 000 000|141 007 334 000 000 000|141 027 120 160 000 000|141 027 134 000 000 000|141 027 226 160 000 000|141 043 033 160 000 000
                                                                       = MBTQ;  = METQ;   = MFREQ; = MFRQ;  = MFSKQ; = MGAPQ;
 2666/0: 141 163 134 000 000 000|141 170 220 160 000 000|141 170 234 000 000 000|141 330 217 160 000 000|142 005 337 040 000 000
                                                                       = MLBQ;   = MLWEQ;   = MLWQ;   = MRWDQ; = MULT+;
 2673/0: 142 005 337 040 340 000|142 044 034 000 000 000|142 045 033 101 300 000|142 047 000 000 000 000|144 340 000 000 000 000
                                                                       = MULT+C; = MWEQ;    = MWIPEQ; = MWQ;   = NC;
 2700/0: 154 307 134 000 000 000|155 043 033 160 000 000|155 103 034 000 000 000|155 103 134 000 000 000|155 103 234 000 000 000
                                                                       = PARQ;   = PGAPQ;   = PIAQ;   = PIBQ;  = PICQ;
 2705/0: 155 103 334 000 000 000|155 104 034 000 000 000|155 104 134 000 000 000|155 104 234 000 000 000|155 104 334 000 000 000
                                                                       = PIDQ;   = PIEQ;    = PIFQ;   = PIGQ;  = PIHQ;
 2712/0: 155 203 034 000 000 000|155 203 134 000 000 000|155 203 234 000 000 000|155 203 334 000 000 000|155 204 034 000 000 000
                                                                       = PMAQ;   = PMBQ;    = PMCQ;   = PMDQ;  = PMEQ;
 2717/0: 155 204 134 000 000 000|155 204 234 000 000 000|155 204 334 000 000 000|155 205 234 000 000 000|155 205 334 000 000 000
                                                                       = PMFQ;   = PMGQ;    = PMHQ;   = PMKQ;  = PMLQ;
 2724/0: 155 243 034 000 000 000|155 243 134 000 000 000|155 243 234 000 000 000|155 243 334 000 000 000|155 244 034 000 000 000
                                                                       = POAQ;   = POBQ;    = POCQ;   = PODQ;  = POEQ;
 2731/0: 155 244 134 000 000 000|155 244 234 000 000 000|155 244 334 000 000 000|155 245 234 000 000 000|155 245 334 000 000 000
                                                                       = POFQ;   = POGQ;    = POHQ;   = POKQ;  = POLQ;
 2736/0: 155 323 220 160 000 000|155 323 234 000 000 000|155 324 034 000 000 000|155 327 000 000 000 000|156 043 220 160 000 000
                                                                       = PRCEQ;  = PRCQ;    = PREQ;   = PRQ;   = PWCEQ;
 2743/0: 156 043 234 000 000 000|156 044 034 000 000 000|156 047 000 000 000 000|170 203 200 000 000 000|170 205 000 000 000 000
                                                                       = PWCQ;   = PWEQ;    = PWQ;    = S+C;   = S+I;
 2750/0: 170 206 000 000 000 000|170 207 000 000 000 000|170 340 000 000 000 000|171 007 300 000 000 000|171 063 000 000 000 000
                                                                       = S+M;    = S+Q;     = SC;     = SET;   = SHA;
 2755/0: 171 063 016 000 000 000|171 063 017 000 000 000|171 063 017 070 000 000|171 063 200 000 000 000|171 063 216 000 000 000
                                                                       = SHAC;   = SHAD;    = SHADC;  = SHC;   = SHCC;
 2762/0: 171 065 300 000 000 000|171 065 316 000 000 000|171 065 317 000 000 000|171 065 317 070 000 000|171 100 000 000 000 000
                                                                       = SHL;    = SHLC;    = SHLD;   = SHLDC; = SI;
 2767/0: 171 200 000 000 000 000|171 300 000 000 000 000|171 323 200 000 000 000|171 325 000 000 000 000|171 326 000 000 000 000
                                                                       = SM;     = SQ;      = SRC;    = SRI;   = SRM;
 2774/0: 175 166 234 000 000 000|175 324 034 000 000 000|175 327 000 000 000 000|176 044 034 000 000 000|176 047 000 000 000 000
                                                                       = TLOQ;   = TREQ;    = TRQ;    = TWEQ;  = TWQ;

                                                                       cnntable:
 3001/0: 071 027 134 000 000 000|071 104 135 160 000 000|071 204 135 160 000 000|105 206 000 000 000 000|105 206 023 000 000 000
                                                                       = CFRQ;    = CIFRQ;   = CMFRQ;  = FMM;    = FMMH;
 3006/0: 105 206 023 144 000 000|105 206 031 000 000 000|105 206 034 000 000 000|105 206 034 114 000 000|105 206 034 115 220 000
                                                                       = FMMHN;   = FMMN;    = FMMQ;   = FMMQH;  = FMMQHN;
 3013/0: 105 206 034 144 000 000|121 027 134 000 000 000|121 204 135 160 000 000|141 027 134 000 000 000|161 027 134 000 000 000
                                                                       = FMMQN;   = IFRQ;    = IMFRQ;  = MFRQ;   = QFRQ;
 3020/0: 171 206 000 000 000 000|171 206 023 000 000 000|171 206 023 144 000 000|171 206 031 000 000 000|171 206 034 000 000 000
                                                                       = SMM;     = SMMH;    = SMMHN;  = SMMN;   = SMMQ;
 3025/0: 171 206 034 114 000 000|171 206 034 115 220 000|171 206 034 144 000 000
                                                                       = SMMQH;   = SMMQHN;  = SMMQN;

                                                                       catable:
 3030/0: 102 065 037 000 000 000|102 065 037 114 000 000|104 000 000 000 000 000|124 000 000 000 000 000|125 005 100 000 000 000
                                                                       = EXIT;    = EXITH;   = F;      = J;      = JEJ;
 3035/0: 125 006 100 000 000 000|125 007 000 000 000 000|125 007 045 000 000 000|125 044 045 000 000 000|125 047 345 000 000 000
                                                                       = JEN;     = JEQ;     = JEQZ;   = JGEZ;   = JGTZ;
 3042/0: 125 164 045 000 000 000|125 167 345 000 000 000|125 224 000 000 000 000|125 224 025 000 000 000|125 224 031 000 000 000
                                                                       = JLEZ;    = JLTZ;    = JNE;    = JNEJ;   = JNEN;
 3047/0: 125 224 045 000 000 000|125 227 335 000 000 000|125 230 100 000 000 000|125 340 000 000 000 000|125 367 100 000 000 000
                                                                       = JNEZ;    = JNTR;    = JNV;    = JS;     = JTR;
 3054/0: 126 020 000 000 000 000|170 000 000 000 000 000|171 007 300 000 000 000|171 007 314 000 000 000
                                                                       = JV;      = S;       = SET;    = SETA;

                                                                       cnatable:
 3060/0: 105 200 000 000 000 000|105 207 000 000 000 000|124 346 145 000 000 000|124 351 100 000 000 000
                                                                       = FM;      = FMQ;     = JCNZ;      = JCZ;
 3064/0: 171 200 000 000 000 000|171 207 000 000 000 000               = SM;      = SMQ;

                                                                               /dope words for recogniser
 3066/0: 000 006 005 120 006 060                                       tcna:=Q tcna-cnatable/cnablanks/cnatable;      /code : number . address

                                                                       /[ ----- page 19

 3067/0: 000 030 005 104 006 030                                       tca:=Q cnatable-catable/cablanks/catable;      /code . address
 3070/0: 000 107 004 340 005 123                                       tc:=Q cntable-ctable/cblanks/ctable;           /code only type
 3071/0: 000 147 005 004 005 232                                       tcn:=Q cnntable-cntable/cnblanks/cntable;      /code: number
 3072/0: 000 027 005 070 006 001                                       tcnn:=Q catable-cnntable/cnnblanks/cnntable;   /code: number / number

                                                                       bintod:         /write binary program to disc
 3073/0: 304 013 203|304 163 240|110 020|166 061|037|203 100 036       begin  SET≠5603; SET.mcsize; FMMN1/0; SHLD24; SIGN; JLEZ.nfail;
 3075/2: 100 001|011|101 001                                                   FMM0/1; OR; SMM0/1;
 3076/1: 304 000 001|170 243|304 002 052|301 006 315                           SET1; SRM10; SET554; S.size;
 3100/0: 300 020 007|170 276|171 262|171 264|043                               FM1.7; SQ11; FM11; FI11; DUPD;  /split filler word
 3101/4: 043|170 263|042|301 004 267|171 022|056|171 162|036                   DUPD; SRM11; DUP; S.hiadd; FM1; +; FM7; -;
 3103/5: 042|201 321 166|223 101 347                                           DUP; JS.space1+0s3; JGTZ.fl6;
 3105/0: 301 006 313|301 006 314|036|033|027|042|200 100 041|170 270|041
                                                                               S.lo; S.hi; -; NOT; NEG; DUP; JLEZ.fail; SC11; ZERO;
 3107/4: 017|017|102 261|017|017|017|056|177 260|301 006 316                   *FMMQ11/1; DUMMY; DUMMY; DUMMY; +; JCNZS11; S.sum;
 3111/5: 300 000 107|225 146 137                                               F.ptbin; JEQZ.disc;      /jump if disc binary
 3112/5: 300 020 002|164 045|304 160 260|011|164 015|304 000 003|011|167 061|042
                                                                               FM1.2; SHL18; SET≠070260; OR; SHL6; SET3; OR; SHC+24; DUP;
 3115/5: 301 006 175|301 020 002|300 020 003|301 006 175|300 006 316|101 261
                                                                               S.ablock; SM1.2; FM1.3; S.ablock; F.sum; SMM11/1;
 3120/4: 300 000 334|164 015|304 002 135|166 365|304 000 005|200 220 000
                                                                               F.jobno; SHL6; SET≠1135; SHLD-6; SET5; OUT;
 3123/2: 170 151|301 006 177|304 000 036|170 144|140 140                       SRC6; S.ablock+2; SET30; SI6; M+I6;
 3125/2: 130 144|154 150|304 006 175|170 204|304 006 204|170 202|131 200
                                                                               POFQ6; CFRQ6/8; SET.ablock; SI8; SET.ablock+7; SM8; POBQ8;
 3130/0: 141 200|171 022|170 204|140 200|100 200|164 041|164 341|033|027|042|101 200
                                                                               M-I8; FM1; SI8; M+I8; FMM8/0; SHL+16; SHL-16; NOT; NEG; DUP; SMM8/0;
 3133/1: 130 200|170 236|171 022|042|172 224|172 222|154 151|130 220|130 144
                                                                               POAQ8; SQ9; FM1; DUP; S+I9; S+M9; CFRQ6/9; POAQ9; POFQ6;
 3136/0: 171 150|304 000 006|200 220 000|200 360 000                           FC6; SET6; OUT; EXITH;
 3137/5: 304 024 345|200 220 000|052                                   disc:   SET≠12345; OUT; ERASE;
 3141/0: 300 006 314|300 006 313|036|300 006 315|037|200 106 151       fill:   F.hi; F.lo; -; F.size; SIGN; JLEZ.last;
 3143/2: 171 024|170 270|300 006 313|042|170 264|300 006 315|056|042|170 262
                                                                               FI1; SC11; F.lo; DUP; SI11; F.size; +; DUP; SM11;
 3146/1: 171 276|303 246 241|301 006 313|304 002 172|301 006 315|200 266 141
                                                                               FQ11; SMQ10.f-1; S.lo; SET634; S.size; J.fill;
 3151/0: 154 013|300 006 313|170 264|300 006 314|033|027|170 262       last:   CFRQ0/11; F.lo; SI11; F.hi; NOT; NEG; SM11;
 3153/2: 171 276|301 246 241|300 006 316|301 246 242                           FQ11; SM10.f-1; F.sum; SM10.f;
 3155/1: 300 020 002|164 061|300 006 320|166 321|301 006 317                   FM1.2; SHL24; F.ncdc; SHLD-24; S.poc;
 3157/2: 301 020 002|171 242|301 006 316                                       SM1.2; FM10; S.sum;
 3160/4: 204 326 201                                                           JS.writebs;
 3161/1: 300 006 317|300 006 316|164 041|011|300 020 003|300 020 002|304 000 033|200 220 000
                                                                               F.poc; F.sum; SHL16; OR; FM1.3; FM1.2; SET27; OUT;
 3164/4: 042|201 106 173                                                       DUP; JLEZ.exit;
 3165/2: 204 321 011|300 020 002|300 011 134|015                               JS.discread+0s4; FM1.2; F.block+636; NEV;
 3167/0: 300 020 003|300 011 135|015|167 335|164 351|011|203 141 350           FM1.3; F.block+637; NEV; SHC-18; SHL-12; OR; JNEZ.fl7;
 3171/3: 300 006 241|304 000 035|200 220 000|041                               F.asl; SET29; OUT; ZERO;
 3173/1: 052|205 261 014                                               exit:   ERASE; J.reread;

                                                                       doasl:          / Q6 = no. of NOCs / 1 / address of first NOC
 3173/5: 304 000 110|170 211                                                   SET72; SRC8;    /overwritten by A-block if P.T. binary
 3174/4: 017|017|041|303 206 350|017|017|177 200                       *ablock: ZERO; SMQ8.block+8; *JCNZS8;
 3176/2: 102 140|304 007 054|171 142|056                               rpt:    FMMQ6/0; SET.block+block-f+14; FM6; +;
 3177/4: 170 202|167 341|105 200|262 146 176|200 360 000                       SM8; SHC-16; SMMH8/0; JCNZ6.rpt; EXITH;

 3201/4: 304 006 340|170 123|300 246 241|170 276|171 262|171 264       writebs: SET.block; SRM5; FM10.f-1; SQ11; FM11; FI11;
 3204/0: 042|170 263|036|170 270|300 006 317|103 120|300 246 242               DUP; SRM11; -; SC11; F.poc; SMMQ5/0; FM10.f;
 3206/2: 304 000 032|200 220 000|042|223 141 350|042|301 006 317               SET26; OUT; DUP; JEQZ.fl7; DUP; S.poc;
 3210/4: 301 246 242                                                           SM10.f;          /filler word left in nest
 3211/1: 141 240|171 242|200 146 223                                           M-I10; FM10; JNEZ.notfir;
 3212/2: 300 006 316|170 151|304 006 243|170 142|205 326 173           first:  F.sum; SRC6; SET.f+1; SM6; JS.doasl;
 3214/3: 300 006 242|301 006 347|304 000 007|170 151|300 006 340|301 007 060
                                                                               F.f; S.block+7; SET7; SRC6; F.block; S.block+80;
 3217/2: 017|017|017|017|100 141|303 146 340|017|177 140                       *FMM6/1; SMQ6.block; *JCNZS6;
 3221/2: 304 000 120|172 122                                                   SET80; S+M5;
 3222/1: 017|017|017|017|017|102 261|103 120|017|017|177 260           *notfir: FMMQ11/1; SMMQ5/0; *JCNZS11;
 3224/2: 101 120                                                               SMM5/0; /copy block and filler
 3224/4: 300 020 002|301 011 134|300 020 003|301 011 135                       FM1.2; S.block+636; FM1.3; S.block+637;

 3226/4: 304 002 176|170 271|041|041                                   output: SET638; SRC11; ZERO; ZERO;
 3227/5: 017|302 266 340|017|047|057|177 260                                   *FMQ11.block; DUMMY; STR; +D; JCNZS11;
 3231/2: 164 041|164 341|301 011 136|301 011 137                               SHL+16; SHL-16; S.block+638; S.block+639;
 3233/0: 300 006 317|300 000 331|166 041|167 341|065|164 041                   F.poc; F.transfer; SHLD+16; SHC-16; REV; SHL+16;
 3235/1: 304 000 027|200 220 000|304 000 025|200 220 000                       SET23; OUT; SET21; OUT;

                                                                       /[ ----- page 20

 3237/1: 171 242|204 146 201|200 360 000                                       FM10; JNEZ.writebs; EXITH;

 3240/3: 017|017|017|000 000 006 350 007 050                           *asl:= Q 0 / block+8 /  block+72;
                                                                       f:      prog=f+41:
 3313/0: 000 000 000 000 000 000|000 000 000 000 000 000|000 000 000 000 000 000|000 000 000 000 000 000|000 000 000 000 000 000
                                                                       lo:=0; hi:=0; size:=0; sum:=0; poc:=0;
 3320/0: 000 000 000 034 051 002                                       ncdc:= ≠ 07024402;
                                                                       label f, ablock;
                                                                       end
                                                                       label code, input, updfail, nxitem, round, assemno, block, f;
                                                                       label options, openinput, case, du, ptbfr, loctfr, stop;
                                                                       label dumbeg, openptout, ptinput, block, code, ablock, idtype, type;
                                                                       begin label ptbfr, loctfr, block, code, ptinput, openptout, idtype;
                                                                       label options, openinput, type, case;
 3321/0: 300 020 003|300 020 002|033|164 061|033                       idtype: FM1.3; FM1.2; NOT; SHL24; NOT;
 3322/4: 301 006 332|301 006 333|301 006 334|300 000 110|222 146 327   type:   S.flex+2; S.flex+3; S.flex+4; F.jq; JEQZ.x;
 3325/1: 041|301 006 331|300 006 330|304 000 010|200 220 000                   ZERO; S.flex+1; F.flex; SET8; OUT;
 3327/2: 200 360 000                                                   x:      EXITH;
 3327/5: 017|000 000 006 331 006 334|000 000 000 000 000 000|000 000 000 000 000 000|000 000 000 000 000 000|000 000 000 000 000 000
                                                                       *flex: =Q 0/prog+1/prog+4; =P*32s;
 3335/0: 000 000 000 000 000 000                                       case:= 0;
 3336/0: 017|017|017|017|017|017|017|017|017|017|017|017|000 000 000 000 000 000
                                                                       **block:=0;     code=block+640:
                                                                       prog=prog+40:
 3411/0: 171 310|300 001 134|202 147 365|304 000 006|200 220 000       findfile: FC12; F.ptfile; JNEZ.loadptread; SET6; OUT;
 3413/2: 042|041|166 015|304 000 010|170 310                                   DUP; ZERO; SHLD6; SET8; SC12;
 3414/5: 017|304 000 036|015|027|065|166 255|143 300|177 300                   * SET≠36; NEV; NEG; REV; SHLD-42; DC12; JCNZS12;
 3417/0: 052|170 336|065|041|200 327 045                                       ERASE; SQ13; REV; ZERO; JS.read;
 3420/2: 300 011 376|301 006 360|202 267 022                                   F.ptbfr+638; S.block+16; J.prog+1;
 3421/5: 200 327 045|304 000 324|300 007 200|164 301|036|170 311       r:      JS.read; SET212; F.ptbfr; SHL-32; -; SRC12;
 3424/1: 304 000 003|170 304|200 267 027                                       SET3; SI12; J.l+1;
 3425/3: 017|017|017|302 307 201|220 027 046|177 300                   *l:     FMQ12.ptbfr+1; JEQ.c; JCNZS12;
 3427/2: 300 011 377|042|205 147 021                                           F.ptbfr+639; DUP; JNEZ.r;
 3430/3: 052|043|301 020 002|301 020 003                               notfound: ERASE; DUPD; SM1.2; SM1.3;
 3431/5: 166 061|065|304 013 257|011                                           SHLD24; REV; SET≠5657; OR;
 3433/0: 065|300 007 035|012|204 326 322|201 264 110                           REV; F.tfound; PERM; JS.type; J.stop;
 3434/5: 017|320 011 257 326 351 077                                   *tfound:= P T*sfound;
 3436/0: 000 000 000 000 000 000                                       mask:=0;
 3437/0: 171 347 236 171 347 236                                       minuses:= P --------;
 3440/0: 000 000 000 034 055 002                                       nctc:= P *4s*n*c T *c;
 3441/0: 000 000 007 200 011 377                                       loctfr:= Q 0 / ptbfr / ptbfr+639;
 3442/0: 027 000 000 000 000 003                                       pres:= ≠0560 0000 0000 0003;  /presumed options
 3443/0: 303 133 243 242 131 037                                       ont:= P punched.;
 3444/0: 236 216 216 216 236 377                                       aaa:= {*s*3a*s};
 3445/0: 300 007 041|201 261 012                                       read:   F.loctfr; J.discread+1s1;
 3446/0: 043|052|300 307 177|015|171 336|054|200 147 027               c:      DUPD; ERASE; FM12.ptbfr-1; NEV; FQ13; AND; JNEZ.l+1;
 3450/0: 300 307 200|164 041|164 247|027|033|220 107 027                       FM12.ptbfr; SHL16; SHL-45; NEG; NOT; JGTZ.l+1;
 3452/0: 300 307 176|301 006 353|300 307 177|301 006 354                       FM12.ptbfr-2; S.block+11; FM12.ptbfr-1; S.block+12;
 3454/0: 052|052|300 307 200|301 006 355|204 267 070                           ERASE; ERASE; FM12.ptbfr; S.block+13; J.options;

                                                                       openinput:               /for entry via job queue
 3455/5: 300 000 331|304 002 130|036|304 000 042|200 220 000           begin  F.transfer; SET600; -; SET34; OUT;
                                                                                       /the previous line sets the buffer area as follows:
                                                                                       /block+17 - TL/ST               block+11/12 - input file ident
                                                                                       /block+13 - input file F.O.C.   block+15 - as Z38 in PROMPT
                                                                                       /block+16 - F.O.C library index block+4 - job number
                                                                                       /block+6 - global disc communication word

                                                                                       /initialise input and decode options
 3460/0: 300 006 344|301 000 334                                               F.block+4; S.jobno;
 3461/0: 304 000 036|300 006 346|164 061|164 317|204 147 066|052               SET.fjtime; F.block+6; SHL24; SHL-25; JNEZ.settl; ERASE;
                                                                                        /foreground - max TL = default TL; default ST = 0
 3463/2: 041|033|027|301 000 110|300 006 357                                   ZERO; NOT; NEG; S.jq; F.block+15;
 3464/5: 167 375|221 047 066|201 330 122                                       SHC-2; JLTZ.prog+1; JS.openptout;        /O/P8 allowed in B.J.Q.
 3466/1: 304 001 054                                                           SET.bjtime;

                                                                       /[ ----- page 21

 3466/4: 300 006 361|164 321|032|052|164 061|301 006 361               settl:  F.block+17; SHL-24; MAX; ERASE; SHL+24; S.block+17;
 3470/4: 300 006 353|042|301 000 332|101 041                           options: F.block+11; DUP; S.texid; SMM2/1;
 3472/1: 300 006 354|042|301 000 333|164 335|164 031                           F.block+12; DUP; S.texid+1; SHL-18; SHL12;
 3474/0: 304 015 160|011|300 006 357|047|164 245|066|011|164 015               SET≠6560; OR; F.block+15; STR; SHL-46; CAB; OR; SHL+6;
 3476/2: 304 000 065|011|111 041|164 005|047|301 000 106|164 011|047|301 000 104
                                                                               SET≠65; OR; SMMN2/1; SHL2; STR; S.tables; SHL4; STR; S.test;
 3501/2: 164 121|003|042|200 147 103|205 320 317                               SHL40; BITS; DUP; JNEZ.prog+1; JS.openoutt;
 3503/0: 300 000 105|036|301 000 105|300 006 360|301 001 127                   F.length; -; S.length; F.block+16; S.lib F.O.C;
 3505/1: 300 000 334|110 041|102 041|166 045|204 321 221|164 335               F.jobno; FMMN2/1; FMMQ2/1; SHLD18; JS.print8; SHL-18;
 3507/3: 166 045|204 321 221|300 007 140|011|204 321 221                       SHLD18; JS.print8; F.sttt; OR; JS.print8;
 3511/3: 300 000 035|103 041|110 040|042|101 041|204 321 221                   F.zeroout; SMMQ2/1; FMMN2/0; DUP; SMM2/1; JS.print8;
 3513/4: 304 000 256|200 320 113|300 007 141|304 000 011|200 220 000|304 000 036|044
                                                                               SET≠256; JS.oubs; F.tradix; SET9; OUT; SET30; DIVI;
 3516/5: 052|161 317|067|300 007 142|011|204 321 221                           ERASE; SHA-25; FRB; F.tradix+1; OR; JS.print8;         /time
 3520/4: 300 006 361|042|111 020|164 321|042|202 147 123                       F.block+17; DUP; SMMN1/0; SHL-24; DUP; JNEZ.prog+1s1;
 3522/4: 052|304 000 036|042|301 000 111                                       ERASE; SET.fjtime; DUP; S.timelt;
 3524/0: 304 000 074|044|043|052|203 147 126|304 000 063|204 267 131           SET60; DIVI; DUPD; ERASE; JNEZ.mins; SET≠63; J.endj;
 3526/3: 065|304 000 144|044|065|042|041|037|056                       mins:   REV; SET100; DIVI; REV; DUP; ZERO; SIGN; +;
 3530/1: 304 000 003|032|052|304 000 017|056                                   SET3; MAX; ERASE; SET≠17; +;
 3531/4: 066|052|300 001 231|066|067|304 004 020|011                   endj:   CAB; ERASE; F.decimal; CAB; FRB; SET≠2020; OR;
 3533/3: 065|164 031|011|300 000 334|164 335|164 045|011|301 000 334           REV; SHL12; OR; F.jobno; SHL-18; SHL+18; OR; S.jobno;
 3536/0: 300 001 134|220 140 342|203 260 344                                   F.ptfile;  JEQZ.initial; J.initial+2s3;
                                                                       label options;
 3537/3: 017|017|017|000 017 377 374 101 004                           *sttt:= P *2s*3d*3t;
 3541/0: 174 240 106 050 020 101|101 007 320 100 040 202               tradix:= ≠ 37120106 12010101; =P 00.00*3c;
                                                                       end

 3543/0: 017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017|017
                                                                       **ptbfr:
                                                                       prog=prog+32:
 3640/0: 000 000 000 000 000 000                                       onoff:=0;
 3641/0: 246 355 241 262 231 000|266 134 363 206 171 175|212 376 000 272 367 375|246 111 156 323 337 377|277 015 051 276 357 177
                                                                       inv:= P Invalid*s message*e box*sno.*e ident*e*2d option*e;
 3646/0: 260 327 250|304 000 040|170 331|121 300|125 300               char:   JCNZ13.unpk; SET32; SRC13; PARQ12; PREQ12;
 3650/0: 041|033|300 327 200|043|015|222 147 264                       unpk:   ZERO; NOT; FM13.ptbfr; DUPD; NEV; JEQZ.nwd;
 3651/4: 166 255|065|301 327 200                                               SHLD-42; REV; SM13.ptbfr;
 3652/4: 304 000 075|203 027 254|154 015|200 360 000                           SET≠75; JNE.ched; CFRQ0/13; EXITH;
 3654/3: 042|164 373|220 147 257|304 000 077|220 027 261|200 360 000   ched:   DUP; SHL-3; JEQZ.prog+2; SET≠77; JEQ.prog+3; EXITH;
 3657/0: 304 000 006|224 027 262|304 000 007|224 027 262                       SET6; JEQ.cchar; SET7; JEQ.cchar;
 3661/0: 052|171 062|220 147 246|041|200 360 000                               ERASE; FM3; JEQZ.char; ZERO; EXITH;
 3662/4: 304 000 007|036|301 006 335|200 267 246                       cchar:  SET7; -; S.case; J.char;
 3664/2: 052|052|140 320|143 320|200 267 246                           nwd:    ERASE; ERASE; M+I13; DC13; J.char;
 3665/5: 200 327 246|304 000 032|225 027 267|200 360 000               echar:  JS.char; SET≠32; JEQ.ul; EXITH;
 3667/5: 200 327 246|065|225 027 267|304 000 200|011|200 360 000       ul:     JS.char; REV; JEQ.ul; SET≠200; OR; EXITH;

                                                                       begin label ptinput, openptout, loadptread;
 3672/1: 304 000 021|200 220 000|301 000 337|301 000 340               ptinput: SET17; OUT; S.time; S.time+1;
 3674/1: 041|033|301 000 110|304 007 200|170 304|304 000 037|170 302           ZERO; NOT; S.jq; SET.ptbfr; SI12; SET31; SM12;
 3676/4: 140 300|304 000 002|304 000 005|200 220 000|170 310|154 015|304 000 036|164 061|301 006 361
                                                                               M+I12; SET2; SET5; OUT; SC12; CFRQ0/13; SET30; SHL24; S.block+17;
 3702/3: 300 007 042|301 006 357                                               F.pres; S.superm;
 3703/3: 304 000 275|205 327 265|304 000 060|222 027 363|304 000 075|220 020 035
                                                                               SET≠275; JS.echar; SET≠60; JEQ.pt; SET≠75; JEQ.zeroout;
 3706/3: 065|202 027 310|205 327 265|065|221 027 307                           REV; JNE.prog+1s4; JS.echar; REV; JEQ.prog-0s4;
                                                                                       /N1 = first non-uem
 3710/2: 304 010 033|202 330 011|304 000 004|170 270|300 007 040               SET.tab1; JS.decode; SET4; SC11; F.nctc;
 3712/4: 164 015|200 327 246|304 000 037|224 030 001|304 000 034|224 030 001
                                                                       id1:    SHL6; JS.char; SET≠37; JEQ.invid; SET≠34; JEQ.invid;
 3715/3: 300 006 335|204 150 001|011|143 260|264 267 312                       F.case; JNEZ.invid; OR; DC11; JCNZ11.id1;
 3717/3: 042|301 000 332|304 000 010|170 270|300 007 037                       DUP; S.texid; SET8; SC11; F.minuses;
 3721/3: 200 327 246|300 006 335|204 150 001|304 000 037|220 027 327|304 000 034
                                                                       id2:    JS.char; F.case; JNEZ.invid; SET≠37; JEQ.dot; SET≠34;
 3724/3: 224 030 001|143 260|065|164 015|011|263 267 321|202 267 330           JEQ.invid; DC11; REV; SHL6; OR; JCNZ11.id2; J.jobnum;
 3727/0: 052|167 015|143 260|261 267 327                               dot:    ERASE; SHC6; DC11; JCNZ11.prog-0s4;
 3730/2: 042|301 000 333|200 327 246|042|161 377|304 000 017|015       jobnum: DUP; S.texid+1; JS.char; DUP; SHA-1; SET≠17; NEV;
 3732/4: 300 006 335|011|204 150 002|164 015|200 327 246                       F.case; OR; JNEZ.xjno; SHL6; JS.char;
 3734/4: 304 000 034|224 030 002|300 006 335|204 150 002|011                   SET≠34; JEQ.xjno; F.case; JNEZ.xjno; OR;
 3736/5: 164 015|200 327 246|042|304 000 017|015|300 006 335|011|204 150 002|011
                                                                               SHL6; JS.char; DUP; SET≠17; NEV; F.case; OR; JNEZ.xjno; OR;
 3741/5: 164 015|200 327 246|204 327 370|204 270 002                           SHL6; JS.char; JS.chdig; J.xjno;
 3743/4: 011|164 015|200 327 246|204 327 370|204 270 002|011|164 045|304 146 232
                                                                               OR; SHL6; JS.char; JS.chdig; J.xjno; OR; SHL18; SET≠63232;
 3746/4: 164 007|011|301 000 334|300 001 134|221 150 010                       SHL3; OR; S.jobno; F.ptfile; JEQZ.dc2;

                                                                       /[ ----- page 22

 3750/4: 200 327 246|304 000 075|015|222 147 375                               JS.char; SET≠75; NEV; JEQZ.invmess;
 3752/2: 304 000 006|170 271|041|303 266 342|261 267 353                       SET6; SRC11; ZERO; SMQ11.block+2; JCNZ11.prog-0s4;
 3754/2: 171 076|200 327 246|304 374 006|170 063|304 000 060|170 070|202 267 360
                                                                               FQ3; JS.char; SET.block+2-endptread; SRM3; SET48; SC3; J.prog+1s3;
 3757/2: 201 323 021|200 327 246|304 000 075|225 027 374               title:  JS.storechar; JS.char; SET≠75; JEQ.invtitle;
 3761/2: 304 000 034|202 027 357|052|170 076|201 270 010                       SET≠34; JNE.title; ERASE; SQ3; J.dc2;
 3763/2: 301 001 134|052|304 012 334|170 022|202 267 311               pt:     S.ptfile; ERASE; SET.endptread; SM1; J.id1-1s2;
 3765/2: 100 000|300 000 003|304 000 004|167 351|056|300 000 002|304 000 001|200 220 000
                                                                       loadptread: FMM0/0; F.3; SET4; SHC-12; +; F.2; SET1; OUT;
 3770/4: 300 006 335|202 146 327|042|304 000 020|037|222 046 327       chdig:  F.case; JNEZ.x; DUP; SET≠20; SIGN; JLTZ.x;
 3773/0: 042|304 000 031|037|222 106 327|202 360 001                           DUP; SET≠31; SIGN; JGTZ.x; EXIT.1;
 3774/5: 052|170 076                                                   invtitle: ERASE; SQ3;
 3775/2: 041|301 001 134|300 007 242                                   invmess: ZERO; S.ptfile; F.inv+1;
 3776/3: 041|065|300 007 241|204 326 322|171 310|304 000 006|200 220 000|201 264 110
                                                                       typeinv: ZERO; REV; F.inv; JS.type; FC12; SET6; OUT; J.stop;
 4001/4: 300 007 244|203 267 376                                       invid:  F.inv+3; J.typeinv;
 4002/4: 300 007 243|203 267 376                                       xjno:   F.inv+2; J.typeinv;
 4003/4: 170 250|300 006 357|167 240|065|300 007 240|015               setbit: SC10; F.superm; SHCC10; REV; F.onoff; NEV;
 4005/4: 033|050|142 240|167 240|301 006 357|200 360 000                       NOT; CONT; NC10; SHCC10; S.superm; EXITH;
 4007/4: 204 330 003                                                   setdc:  JS.setbit;
 4010/1: 304 010 044                                                   dc2:    SET.tab2;
 4010/4: 200 327 246|065                                               rdecode: JS.char; REV;
 4011/2: 170 262|041|170 243|202 270 013                               decode: SM11; ZERO; SRM10; J.prog+1s1;
                                                                       begin          /entered with address of table in N1
 4012/4: 052                                                           skip:   ERASE;
                                                                       label loop;
 4012/5: 200 327 246|164 125|042|220 050 021|300 006 335|220 150 021   loop:   JS.char; SHL42; DUP; JLTZ.seek; F.case; JEQZ.seek;
 4015/2: 167 015|304 000 037|204 030 017|042|033|036|204 270 020               SHC+6; SET≠37; JNE.prog+1s3; DUP; NOT; -; J.seek-0s2;
 4017/4: 304 000 034|200 030 021|167 365                                       SET≠34; JNE.seek; SHC-6;      /, to 77, pass ;, reject other c/s
 4021/0: 104 253|042|167 041|012|164 045|225 030 030                   seek:   FMMH10/11; DUP; SHC+16; PERM; SHL18; JEQ.found;
 4022/5: 065|042|164 003|221 050 026|047|222 150 025                           REV; DUP; SHL+1; JLTZ.fail; STR; JEQZ.prog+1s1;
 4024/4: 052|304 000 001|172 242|200 270 021                                   ERASE; SET1; S+M10; J.seek;
 4026/1: 065|052|047|200 050 032|140 240|052|104 253|167 041|200 270 032
                                                                       fail:   REV; ERASE; STR; JGEZ.end; M+I10; ERASE; FMMH10/11; SHC16; J.end;
 4030/5: 052|140 240|047|224 150 012                                   found:  ERASE; M+I10; STR; JEQZ.skip;
 4032/0: 174 000|202 360 000                                           end:    SLINK; EXIT;
                                                                       end

 4032/5: 017                                                           *tab1:  /decode program and segment
 4033/0: 000 010|060|000 006|062|000 005|057|000 004|047|000 003|062   =T8;=S≠60;   =T6;=S≠62;   =T5;=S≠57;   =T4;=S≠47;   =T3;=S≠62;
 4035/3: 000 002|041|110 136|255|110 136|337                                        =T2;=S≠41;   =Tprogram;=S≠255;   =Tprogram;=S≠337;
 4037/0: 107 375|163|000 006|045|000 005|047|000 004|055|000 003|045   =Tfail1;=S≠163;   =T6;=S≠45;   =T5;=S≠47;   =T4;=S≠55;   =T3;=S≠45;
 4041/3: 000 002|056|150 135|264|150 135|337                                        =T2;=S≠56;   =Tsegment;=S≠264;   =Tsegment;=S≠337;
 4043/0: 107 375                                                       =Tfail1;

 4043/2: 017|017|017|017                                               *tab2:  /options

 4044/0: 000 030|064|000 010|045                                       =T24;=S≠64;   =T8;=S≠45;    / T E
 4045/0: 000 003|063|210 167|264|210 167|337                                         =T3;=S≠63;   =Ttest;=S≠264;  =Ttest;=S≠337;
 4046/3: 110 111|170|110 165|264|110 165|337|110 111|000                        =Tfail2;=S≠170;  =Ttext;=S≠264;  =Ttext;=S≠337;  =Tfail2;=S0;
 4050/3: 000 007|041|000 004|042|000 003|054|000 002|045                        =T7;=S≠41;   =T4;=S≠42;   =T3;=S≠54;   =T2;=S≠45;
 4052/3: 150 166|263|150 166|337|110 111|000                                             =Ttables;=S≠263;   =Ttables;=S≠337;   =Tfail2;=S0;
 4054/0: 000 006|062|000 003|041|000 002|043|050 164|245                        =T6;=S≠62;   =T3;=S≠41;   =T2;=S≠43;   =Ttrace;=S≠245;
 4056/0: 050 164|377|110 111|000                                                         =Ttrace;=S≠377;   =Tfail2;=S0;
 4057/0: 050 146|354|110 111|000                                                =Ttl;=S≠354;   =Tfail2;=S0;

 4060/0: 000 006|067|110 111|151|000 002|064|250 136|250               =T6;=S≠67;   =Tfail2;=S≠151;   =T2;=S≠64;   =Twith;=S≠250;
 4062/0: 250 136|337|110 111|000                                                              =Twith;=S≠337;   =Tfail2;=S0; / W I T H

 4063/0: 000 024|057|000 004|065|010 140|264|010 140|337|110 111|000   =T20;=S≠57;   =T4;=S≠65;   =Tout;=S≠264;   =Tout;=S≠337;   =Tfail2;=S0;

 4065/3: 000 011|060|000 007|100|000 006|063|000 005|055|000 004|051          =T9;=S≠60;   =T7;=S64;=T6;=S51;   =T5;=S≠55;   =T4;=S≠51;
 4070/0: 000 003|063|000 002|045|250 162|262|250 162|337                           =T3;=S≠63;   =T2;=S≠45;   =Topt;=S≠262;   =Topt;=S≠337;
 4072/0: 110 111|117|110 111|160|110 153|254                                  =Tfail2;=S≠117;   =Tfail2;=S≠160;   =Topl;=S≠254;
 4073/3: 150 155|260|210 150|330|110 111|000                                               =Topp;=S≠260;   =Top8;=S≠330;   =Tfail2;=S0;

 4075/0: 000 004|063|250 142|264|250 142|337|110 111|000               =T4;=S≠63;   =Tst;=S≠264;   =Tst;=S≠337;   =Tfail2;=S0;

                                                                       /[ ----- page 23

 4077/0: 000 006|053|110 111|141|000 002|054|050 010|224               =T6;=S≠53;   =Tfail2;=S≠141;   =T2;=S≠54;   =Tkal;=S≠224;
 4101/0: 050 010|337|110 111|000                                                            =Tkal;=S≠337;   =Tfail2;=S0;

 4102/0: 000 013|060|000 001|017|000 007|064|000 006|042|000 005|051   =T11;=S≠60;   =T1;=S≠17;   =T7;=S≠64;   =T6;=S≠42;   =T5;=S≠51;
 4104/3: 000 004|056|000 003|041|000 002|062|250 140|271                       =T4;=S≠56;   =T3;=S≠41;   =T2;=S≠62;   =Tbin;=S≠271;
 4106/3: 250 140|337|110 111|000                                               =Tbin;=S≠337;   =Tfail2;=S0;

 4107/3: 250 136|234|050 010|277|010 113|375|110 111                   =Twith;=S≠234;   =Tdc2;=S≠277;   =Tem;=S≠375;   =Tfail2;
                                                                       superm=block+15:
                                                                       fail1=invmess:
 4111/2: 041|300 007 245|300 007 241|204 326 322                       fail2:  ZERO; F.inv+4; F.inv; JS.type;  /invalid option - continue
 4113/0: 304 011 377|171 022|032|171 162|036|042|201 321 166|220 101 344
                                                                       em:     SET.ptbfr+639; FM1; MAX; FM7; -; DUP; JS.space1+0s3; JGTZ.fl2;
 4115/4: 052|300 000 107|225 150 117|300 007 043|301 004 264                   ERASE; F.ptbin; JEQZ.prog+1s3; F.ont; S.ond;
 4117/5: 300 006 357|167 375|220 047 011                                       F.superm; SHC-2; JLTZ.findfile;
 4121/1: 201 330 122|200 267 011                                               JS.openptout; J.findfile;
                                                                                       /initialise P.T. output
 4122/1: 304 000 160|170 271                                           openptout: SET.ptobfr-ptoubs+2; SRC11;
 4123/0: 300 270 200|303 260 113|177 260                                       *FM11.ptoubs; SMQ11.oubs; JCNZS11;
 4124/2: 300 001 232|033|164 041|033|301 001 232|300 007 044|301 000 031
                                                                               F.ssss; NOT; SHL16; NOT; S.ssss; F.aaa; S.ptr;
 4127/0: 300 004 017|033|164 041|164 341|033|301 004 017                       F.ssssd; NOT; SHL16; SHL-16; NOT; S.ssssd;
 4131/0: 300 001 242|042|164 377|054|301 001 242                               F.closestr; DUP; SHL-1; AND; S.closestr;
 4132/4: 304 000 271|170 343|304 000 037|170 350                               SET.ptobfr-sh; SRM14; SET31; SC14;
 4134/2: 041|033|170 365|200 360 000                                           ZERO; NOT; SRI15; EXITH;
 4135/3: 041|041|204 270 003                                           segment: ZERO; ZERO; J.setbit;
 4136/2: 200 360 000                                                   program: EXITH;
 4136/5: 041|301 007 240|201 270 010                                   with:   ZERO; S.onoff; J.dc2;
 4140/0: 041|033|200 270 137                                           out:    ZERO; NOT; J.with+0s1;
 4140/5: 041|033|300 007 240|015|301 000 107|201 270 010               bin:    ZERO; NOT; F.onoff; NEV; S.ptbin; J.dc2;
 4142/5: 200 330 171|300 006 361|164 321|164 061                       st:     JS.numb; F.block+17; SHL-24; SHL+24;
 4144/3: 011|301 006 361|304 010 044|202 270 011                       tlst:   OR; S.block+17; SET.tab2; J.decode;
 4146/1: 200 330 171|164 061|300 006 361|164 061|164 321|203 270 144   tl:     JS.numb; SHL24; F.block+17; SHL24; SHL-24; J.tlst;
 4150/4: 300 006 357|164 375|042|056|042|033|036|301 006 357|201 270 010
                                                                       op8:    F.superm; SHL-2; DUP; +; DUP; NOT; -; S.superm; J.dc2;
 4153/2: 300 006 357|304 000 003|011|301 006 357|201 270 010           opl:    F.superm; SET3; OR; S.superm; J.dc2;
 4155/3: 261 370 010|304 000 003|042|304 000 005|200 220 000|170 370|121 360
                                                                       opp:    JCNZ15.dc2; SET3; DUP; SET5; OUT; SC15; PARQ15;
 4160/2: 140 360|101 360|130 360|121 360|171 344|172 364|201 270 010           M+I15; SMM15/0; LPQ15; PARQ15; FI14; S+I15; J.dc2;
 4162/5: 041|033|304 000 005|204 270 007                               opt:    ZERO; NOT; SET5; J.setdc;
 4164/1: 041|304 000 001|204 270 007                                   trace:  ZERO; SET1; J.setdc;
 4165/2: 041|304 000 004|204 270 007                                   text:   ZERO; SET4; J.setdc;
 4166/3: 041|304 000 002|204 270 007                                   tables: ZERO; SET2; J.setdc;
                                                                       kal=dc2:
 4167/4: 041|033|304 000 006|204 270 007                               test:   ZERO; NOT; SET6; J.setdc;
 4171/0: 200 327 246|204 327 370|202 270 111|304 000 017|054           numb:   JS.char; JS.chdig; J.fail2; SET≠17; AND;
 4173/1: 200 327 246|204 327 370|200 270 177                                   JS.char; JS.chdig; J.endnum;
 4174/4: 304 000 017|054|065|304 000 012|034|050|056|201 270 173               SET≠17; AND; REV; SET10;  D; CONT; +; J.numb+2s1;
 4177/0: 065|200 360 000                                               endnum: REV; EXITH;
                                                                       end
                                                                       end
                                                                       begin label ptoubs, sh;
 4177/4: 017|017                                                       *ptoubs:
                                                                       sh=ptoubs-oubs:
 4200/0: 171 216|065|205 320 114|170 216|200 360 000                           FQ8; REV; JS.prog+1s2-sh; SQ8; EXITH;
 4201/5: 042|164 365|154 017|200 140 145                                       DUP; SHL-6; CFRQ0/15; JNEZ.long;
 4203/1: 304 000 014|036|042|222 040 141                                       SET12; -; DUP; JLTZ.num;
 4204/3: 304 000 032|044|304 000 041|056                                       SET26; DIVI; SET≠41; +;
 4205/5: 167 363|065|171 364|200 020 157                               op=prog-sh:     SHC-7; REV; FI15; JNE.xcase;
 4207/1: 052|001|110 340                                               caseok=prog-sh: ERASE; VR; FMMN14/0;
 4207/5: 171 370|205 100 124|065|171 370|162 365|052|065               chars=prog-sh:  FC15; JLEZ.notul; REV; FC15; SHAD-6; ERASE; REV;
 4211/5: 142 360|162 015|201 200 127|113 340|244 340 134|171 344       notul=prog-sh:  NC15; SHAD6; JNV.ok; SMMQN14/0; JCZ14.tfr; FI14;
 4214/1: 043|052|205 140 122|111 340|052|200 360 000                   ok=prog-sh:     DUPD; ERASE; JNEZ.chars; SMMN14/0; ERASE; EXITH;
                                                                       more=ok-0s2:
 4216/0: 167 363|304 000 075|164 075                                   em=prog-sh:     SHC-7; SET≠75; SHL30; / N2 < 0 if uem
 4217/1: 065|050|200 320 154|110 340                                           REV; CONT; JS.found+0s4; FMMN14/0;

                                                                       /[ ----- page 24

 4220/2: 161 015|202 200 133|113 340|041                                       SHA6; JNV.prog-0s2-sh; SMMQN14/0; ZERO;
 4221/4: 304 000 271|042                                               tfr=prog-sh:    SET.ptbfr; DUP;
 4222/2: 170 344|171 356|304 000 010|042|300 000 271|200 220 000               SI14; FQ14; SET8; DUP; F.ptbfr; OUT;
 4224/4: 170 343|304 000 003|170 350|205 260 126                               SRM14; SET3; SC14; J.ok-0s2;
 4226/2: 041|065|042|161 375|224 140 143                               num=prog-sh:    ZERO; REV; DUP; SHA-2; JEQZ.tendot;
 4227/4: 304 000 034|204 260 120                                               SET.12+#20; J.op-0s1;
 4230/4: 164 005|304 000 043|204 260 120                               tendot=prog-sh: SHL2; SET≠43; J.op-0s1;
 4232/0: 304 000 104|170 211                                           long=prog-sh:   SET.ptbfr-table; SRC8;
 4232/5: 017|302 200 165|164 007|164 263|222 020 153|177 200                   *FMQ8.table; SHL3; SHL-39; JEQ.found; JCNZS8;
 4235/0: 304 000 377|221 020 164|304 000 276|220 020 131|304 000 316|220 020 131|140 200
                                                                               SET≠377; JEQ.dummy; SET≠276; JEQ.em; SET≠316; JEQ.em; M+I8;
 4240/2: 052|300 200 164|047|203 140 161                               found=prog-sh:  ERASE; FM8.table-1; STR; JNEZ.ulword;
 4241/4: 041|162 027|164 357|042|221 140 122                           setup=prog-sh:  ZERO; SHAD11; SHL-9; DUP; JEQZ.caseok;
 4243/1: 027|033|202 260 121                                                   NEG; NOT; J.op+0s3;
 4244/0: 042|170 364|304 000 007|015|162 365|052|110 340|201 260 125   xcase=prog-sh:  DUP; SI15; SET7; NEV; SHAD-6; ERASE; FMMN14/0; J.notul+0s2;
 4246/3: 304 000 032|170 370|204 320 154                               ulword=prog-sh: SET≠32; SC15; JS.setup;       /O/P first six
 4247/5: 300 200 165|161 027|202 200 122                                       FM8.table; SHA11; JNV.caseok+0s1;     /continuaton word
 4251/1: 052|200 360 000                                               dummy=prog-sh:  ERASE; EXITH;
 4251/5: 017                                                           *table=prog-sh:
 4252/0: 011 340 000 000 000 000|012 000 200 000 000 000|012 341 000 000 000 000
                                                                       =≠ 0236 000000000000; =≠ 0240 020000000000; =≠ 0256 040000000000;
 4255/0: 011 207 000 000 000 000|052 023 300 000 000 000|054 027 100 000 000 000
                                                                       =≠ 0230 340000000000; =≠ 1241 170000000000; =≠ 1301 350000000000;
 4260/0: 055 027 200 000 000 000|113 025 200 000 000 000|111 025 300 000 000 000
                                                                       =≠ 1321 360000000000; =≠ 2261 260000000000; =≠ 2221 270000000000;
 4263/0: 110 024 000 000 000 000|113 223 300 000 000 000|112 045 100 000 000 000
                                                                       =≠ 2201 200000000000; =≠ 2271 170000000000; =≠ 2242 250000000000;
 4266/0: 113 123 325 000 000 000|115 047 100 000 000 000|114 045 000 000 000 000
                                                                       =≠ 2265 172500000000; =≠ 2322 350000000000; =≠ 2302 240000000000;
 4271/0: 110 044 300 000 000 000|113 046 224 000 000 000|111 046 223 000 000 000
                                                                       =≠ 2202 230000000000; =≠ 2262 322400000000; =≠ 2222 322300000000;
 4274/0: 112 147 300 000 000 000|110 106 000 000 000 000|111 106 100 000 000 000
                                                                       =≠ 2246 370000000000; =≠ 2204 300000000000; =≠ 2224 310000000000;
 4277/0: 110 224 100 000 000 000|111 224 200 000 000 000|110 326 221 000 000 000
                                                                       =≠ 2211 210000000000; =≠ 2231 220000000000; =≠ 2215 322100000000;
 4302/0: 111 326 222 000 000 000|110 347 200 000 000 000               =≠ 2235 322200000000; =≠ 2216 360000000000;
 4304/0: 310 310 245 236 233 200|111 306 245 152 346 244               =≠ 6214 424547515600; =≠ 2234 324532563244;
 4306/0: 304 034 245 206 300 000|304 052 156 322 131 345|000 014 200 000 000 000
                                                                       =≠ 6101 624541540000; =≠ 6102 515664454745; =≠ 0000 620000000000;
 4311/0: 110 146 246 152 366 262|115 146 244 152 360 000|313 154 364 227 000 000
                                                                       =≠ 2206 324632573262; =≠ 2326 324432570000; =≠ 6266 636445600000;
 4314/0: 314 155 156 322 233 000|311 155 350 246 311 100|310 010 357 266 331 156
                                                                       =≠ 6306 655664515400; =≠ 6226 675051544500; =≠ 6200 435755554556;
 4317/0: 000 015 000 000 000 000|304 070 257 276 311 141|000 015 100 000 000 000
                                                                       =≠ 0000 640000000000; =≠ 6103 425757544541; =≠ 0000 650000000000;
 4322/0: 304 210 162 312 036 100|305 014 062 276 071 144|000 015 162 224 000 000
                                                                       =≠ 6110 416262417100; =≠ 6120 606257434544; =≠ 0000 656245000000;
 4325/0: 311 375 241 263 131 100|307 233 041 212 133 000|305 214 367 247 110 350
                                                                       =≠ 6237 664154654500; =≠ 6171 544142455400; =≠ 6130 636751644350;
 4330/0: 307 254 364 312 233 247|110 366 257 153 166 256|110 126 251 152 140 000
                                                                       =≠ 6172 636462515647; =≠ 2217 325732673256; =≠ 2205 325132460000;
 4333/0: 311 135 050 226 340 000|316 131 154 316 120 000|310 211 357 322 360 000
                                                                       =≠ 6225 645045560000; =≠ 6345 455463450000; =≠ 6210 475764570000;
 4336/0: 111 066 241 152 346 244|112 066 257 153 040 000|113 066 251 152 326 260
                                                                       =≠ 2223 324132563244; =≠ 2243 325732620000; =≠ 2263 325132553260;
 4341/0: 114 066 245 153 026 266|110 066 256 152 366 264|315 335 062 326 120 000
                                                                       =≠ 2303 324532613266; =≠ 2203 325632573264; =≠ 6335 646265450000;
 4344/0: 314 331 241 263 071 100|315 013 051 213 050 162|000 016 100 000 000 000
                                                                       =≠ 6315 464154634500; =≠ 6320 545142624162; =≠ 0000 710000000000;
 4347/0: 253 012 344 231 220 000|257 011 170 247 100 000|316 014 345 236 331 156
                                                                       =≠ 5260 534446310000; =≠ 5360 457051640000; =≠ 6340 634547554556;
 4352/0: 000 015 000 000 000 000|254 010 154 236 373 000|011 006 200 000 000 000
                                                                       =≠ 0000 640000000000; =≠ 5300 415447575400; =≠ 0220 320000000000;
 4355/0: 100 007 236 171 347 236                                       =≠ 2000 363636363636;
                                                                       ptbfr=prog-sh:
                                                                       end
Setvstore 12 -- implemented as 48 bits STR;
 4356/0: 000 000 000 000 000 000 000 000 000 000 000 001               ptobfr:=D1;
                                                                       prog=transfer+sh-ptobfr-32:   /induce fail if relocation would boob
                                                                       gap:
                                                                       prog=ptobfr+2:
                                                                       end
                                                                       label endbase, ptread;
                                                                       endbase:
                                                                       prog=block+640:
                                                                       ptinbfr:
                                                                       prog=prog+48:
                                                                       linebfr:
                                                                       prog=prog+40:
                                                                       prog=ptbfr+640-prog:  prog=ptbfr+640:
                                                                       ptread:         /entered here by OUT 1
 5000/0: 300 006 335|304 000 100|054|301 006 335                               F.case; SET≠100; AND; S.case;
 5001/4: 101 000|203 332 150|065|301 006 353|042|301 006 354|167 363           SMM0/0; JS.ptindv; REV; S.block+11; DUP; S.block+12; SHC-7;
 5004/1: 300 006 357|065|050|042|301 006 357|164 011|220 052 016               F.block+15; REV; CONT; DUP; S.block+15; SHL4; JLTZ.withtext;
 5006/3: 300 012 030|164 101|300 002 077|166 301|052|301 012 030|304 000 377|170 362
                                                                               F.next; SHL32; F.du; SHLD-32; ERASE; S.next; SET≠377; SM15;
 5011/4: 041|300 012 021|205 321 007|300 011 376                       r:      ZERO; F.ltfr; JS.discread-1s1; F.ptbfr+638;

                                                                       /[ ----- page 25

 5013/2: 301 006 360|300 012 022|301 000 364|157 014|157 015|204 267 070
                                                                               S.block+16; F.jump; S.blocks; QFRQ0/12; QFRQ0/13; J.options;
 5016/0: 304 000 256|170 362|304 000 003|301 000 105|204 272 011       withtext: SET≠256; SM15; SET+3; S.length; J.r;
 5020/2: 017|017|017|017|000 000 007 200 011 377                       *ltfr:= Q 0/ptbfr/ptbfr+639;
 5022/0: 204 272 022|017                                               *jump:  J.ptline; DUMMY;     /to align {next} on whole word
 5022/4: 171 116|171 136|171 256|171 276|171 362|200 320 113           ptline: FQ4; FQ5; FQ10; FQ11; FM15; JS.oubs;
 5024/5: 304 000 005|170 270|304 011 217|170 243|154 265|041                   SET5; SC11; SET.linebfr-1; SRM10; CFRQ11/5; ZERO;
 5027/0: 033|113 240|200 332 073                                               NOT; SMMQN10/0; JS.ptinbs;
 5030/0: 042|200 320 113|042|100 240|164 021|011|101 240|143 260       next:   DUP; JS.oubs; DUP; FMM10/0; SHL8; OR; SMM10/0; DC11;
 5032/2: 304 000 236|224 032 037|304 000 256|224 032 037|304 000 240|221 032 045
                                                                               SET≠236; JEQ.ed; SET≠256; JEQ.ed; SET≠240; JEQ.nl;
 5035/2: 154 005|304 000 276|224 032 041|304 000 316|224 032 041               CFRQ0/5; SET≠276; JEQ.em; SET≠316; JEQ.em;
 5037/4: 052|263 272 027|304 000 006|170 270|200 272 011               ed:     ERASE; JCNZ11.next-0s3; SET6; SC11; J.next-15;
 5041/4: 100 240|164 361|164 021|304 000 240|011|103 240               em:     FMM10/0; SHL-8; SHL8; SET≠240; OR; SMMQ10/0;
 5043/4: 304 276 240|164 017|164 363|101 240                                   SET≠137240; SHL7; SHL-7; SMM10/0;
 5045/1: 304 000 240|037|151 255|171 250|042|170 303|056|027           nl:     SET≠240; SIGN; MFRQ10/13; FC10; DUP; SRM12; +; NEG;
 5047/2: 110 315|164 021|065|166 365|052|171 130|166 375|052                   FMMN12/13; SHL8; REV; SHLD-6; ERASE; FC5; SHLD-2; ERASE;
 5051/3: 111 315|170 276|170 256|170 136|204 260 367                           SMMN12/13; SQ11; SQ10; SQ5; J.line;
                                                                       begin label ptinbs, ptindv, claimptr, closeptr;            /[ claimptr does not appear anywhere else
 5053/2: 304 011 200|170 122|300 012 070|042|170 103                   char=prog: SET.ptinbfr+32; SM5; F.fromwell; DUP; SRM4;
 5055/1: 300 012 071|015|202 152 065|202 332 124|300 006 335|011               F.endwell; NEV; JNEZ.unwell; JS.ptchar; F.case; OR;
 5057/3: 304 000 006|044|164 007|170 330|170 322|300 332 162|164 320|164 261|042
                                                                               SET6; DIVI; SHL3; SC13; SM13; FM13.atable; SHLC13; SHL-40; DUP;
 5062/3: 164 061|107 105|171 102|304 000 037|054|042|301 012 071|200 272 067
                                                                               SHL24; SMMQH4/5; FM4; SET≠37; AND; DUP; S.endwell; J.prog+2s1;
 5065/2: 106 105|164 321|171 102|304 000 037|054|301 012 070|200 360 000
                                                                       unwell=prog: FMMQH4/5; SHL-24; FM4; SET≠37; AND; S.fromwell; EXITH;
 5070/0: 000 000 000 000 000 000|000 000 000 000 000 000|000 000 000 000 000 000
                                                                       *fromwell=prog:=0; endwell=prog:=0; pres=prog:=0;

 5073/0: 300 012 070|301 012 072|202 332 053                           ptinbs: F.fromwell; S.pres; JS.char;
 5074/3: 304 000 220|220 032 077|304 000 271|220 032 077|200 360 000           SET≠220; JEQ.ulw; SET≠271; JEQ.ulw; EXITH;
 5077/0: 203 332 101|200 360 000                                       ulw=prog: JS.decode; EXITH;
 5100/0: 300 012 072|301 012 070|202 272 053                           nabs=prog: F.pres; S.fromwell; J.char;
 5101/3: 152 005|205 272 102                                           decode=prog: IFRQ0/5; J.prog+1;
 5102/2: 202 332 053                                                   loop=prog: JS.char;
 5102/5: 041|171 124|162 375|170 102|304 000 060|035|170 110           seek=prog: ZERO; FI5; SHAD-2; SM4; SET48; ; SC4;
 5105/0: 300 112 210|164 100|042|164 011|164 261|066|065|222 032 117           FM4.btable; SHLC4; DUP; SHL4; SHL-40; CAB; REV; JEQ.match;
 5107/3: 065|164 247|042|167 377|225 052 111|052|052|202 360 001               REV; SHL-45; DUP; SHC-1; JLTZ.prog+1s2; ERASE; ERASE; EXIT.1;    /NABS
 5111/5: 164 377|220 152 114|304 000 002|172 124|205 272 102                   SHL-1; JEQZ.alt; SET2; S+I5; J.seek;
 5114/0: 300 112 211|300 112 210|166 100|164 031|016                   alt=prog: FM4.btable+1; FM4.btable; SHLDC4; SHL12; ROUND;
 5115/5: 164 271|033|027|172 124|205 272 102                                   SHL-36; NOT; NEG; S+I5; J.seek;
 5117/2: 052|164 247|167 377|047|027|033|027|172 124|222 032 102       match=prog: ERASE; SHL-45; SHC-1; STR; NEG; NOT; NEG; S+I5; JEQ.loop;
 5121/4: 300 112 211|300 112 210|166 100|164 041|016|164 261|200 360 000
                                                                       abs=prog: FM4.btable+1; FM4.btable; SHLDC4; SHL16; ROUND; SHL-40; EXITH;
 5124/2: 300 012 160|170 316|265 312 130|300 012 161|170 316           ptchar=prog: F.q12; SQ12; JCNZ12.unpk; F.qwd; SQ12;
 5126/3: 041|002|125 300|121 300|224 352 155                                   ZERO; SETTR; PREQ12; PARQ12; JTR.par;
 5130/0: 304 000 040|170 311                                                   SET32; SRC12;
 5130/5: 041|033|300 311 140|043|015|223 152 142                       unpk=prog: ZERO; NOT; FM12.ptinbfr; DUPD; NEV; JEQZ.nwd;
 5132/3: 166 255|065|301 311 140                                               SHLD-42; REV; SM12.ptinbfr;
 5133/3: 304 000 075|224 032 145|304 000 077|220 032 145                       SET≠75; JEQ.em; SET≠77; JEQ.du;
 5135/3: 304 000 006|223 032 146|304 000 007|223 032 146                       SET6; JEQ.cch; SET7; JEQ.cch;
 5137/3: 300 012 157|220 032 144|042|301 012 157                               F.last; JEQ.chul; DUP; S.last;
 5141/1: 171 316|301 012 160|200 360 000                               exb=prog: FQ12; S.q12; EXITH;
 5142/3: 052|052|140 300|143 300|201 272 125                           nwd=prog: ERASE; ERASE; M+I12; DC12; J.ptchar+0s5;
 5144/0: 304 000 032|201 032 141                                       chul=prog: SET≠32; JNE.exb;
 5145/0: 052|201 272 125                                               du=prog: ERASE; J.ptchar+0s5;
 5145/4: 154 014|205 272 141                                           em=prog: CFRQ0/12; J.exb+0s4;
 5146/3: 304 000 007|015|164 015|301 006 335|201 272 125               cch=prog: SET7; NEV; SHL6; S.case; J.ptchar+0s5;
 5150/3: 164 101|300 012 161|011|042|301 012 161                       ptindv: SHL32; F.qwd; OR; DUP; S.qwd;
 5152/1: 170 316|121 300|200 360 000                                           SQ12; PARQ12; EXITH;
 5153/2: 300 012 161|164 301|304 000 006|200 220 000|200 360 000       closeptr: F.qwd; SHL-32; SET6; OUT; EXITH;
 5155/4: 304 013 204|203 260 036                                       par=prog: SET≠5604; J.nfail;
 5156/4: 017|017|000 000 000 000 000 000|000 000 000 000 000 000|000 000 011 140 011 177
                                                                       *last:= 0; q12=prog:= 0; qwd=prog:= Q 0/ptinbfr/ptinbfr+31;
 5162/0: 236 376 240 376 256 376|376 376 376 376 376 376|376 376 376 241 000 001|002 003 004 005 006 007|010 011 220 012 230 301
                                                                       *atable=prog:={*s*#376*c*#376*t*10#376/0123456789*l*#012;+-.*#376
 5167/0: 321 013 376 014 015 016|017 020 021 022 023 024|025 026 027 030 031 032|033 034 035 036 037 040|041 042 043 044 045 376|376 276 376 376 236 376
                                                                                 ABCDEFGHIJKLMNOPQRSTUVWXYZ*2#376*e*2#376
 5175/0: 240 376 256 376 376 376|376 376 376 376 376 376|376 271 201 211 231 202|302 242 261 221 204 224|220 376 230 322 216 246|376 046 047 050 051 052
                                                                                 *s*#376*c*#376*t*10#376:^[]<>=()*l*#376;#*a,*#376
 5203/0: 053 054 055 056 057 060|061 062 063 064 065 066|067 070 071 072 073 074|075 076 077 376 376 276|376 376 377 377 377 377
                                                                                 abcdefghijklmnopqrstuvwxyz*2#376*e*2#376};

                                                                       *btable=prog:

                                                                       /[ ----- page 26

 5210/0: 053 220 003 112 040 265|011 006 211 010 326 231|011 326 202 011 046 302
                                                                       =≠ 1271 0003 2242 0265;  =≠ 0220 3211 0215 3231;  =≠ 0235 3202 0222 3302;
 5213/0: 013 046 276 014 342 046|000 360 220 043 060 004|011 004 051 011 060 067
                                                                       =≠ 0262 3276 0316 1046;  =≠ 0017 0220 1063 0004;  =≠ 0220 2051 0223 0067;
 5216/0: 011 000 067 011 000 046|011 004 076 004 202 047|000 260 220 042 240 013
                                                                       =≠ 0220 0067 0220 0046;  =≠ 0220 2076 0110 1047;  =≠ 0013 0220 1052 0013;
 5221/0: 011 000 054 011 000 056|011 004 063 010 302 015|000 340 220 003 100 220
                                                                       =≠ 0220 0054 0220 0056;  =≠ 0220 2063 0214 1015;  =≠ 0016 0220 0064 0220;
 5224/0: 003 100 220 003 020 220|002 240 220 002 140 220|103 060 103 042 200 016
                                                                       =≠ 0064 0220 0061 0220;  =≠ 0052 0220 0046 0220;  =≠ 2063 0103 1050 0016;
 5227/0: 011 000 064 011 000 062|011 000 062 011 000 052|011 000 063 011 004 071
                                                                       =≠ 0220 0064 0220 0062;  =≠ 0220 0062 0220 0052;  =≠ 0220 0063 0220 2071;
 5232/0: 010 002 051 000 100 220|103 100 326 042 240 022|011 002 063 000 100 220
                                                                       =≠ 0200 1051 0004 0220;  =≠ 2064 0326 1052 0022;  =≠ 0220 1063 0004 0220;
 5235/0: 102 220 234 043 140 004|011 004 073 014 060 061|011 000 070 011 004 052
                                                                       =≠ 2051 0234 1066 0004;  =≠ 0220 2073 0303 0061;  =≠ 0220 0070 0220 2052;
 5240/0: 012 122 053 000 360 220|043 100 004 011 004 067|010 140 046 011 000 061
                                                                       =≠ 0245 1053 0017 0220;  =≠ 1064 0004 0220 2067;  =≠ 0206 0046 0220 0061;
 5243/0: 011 000 070 011 004 051|014 322 054 000 300 220|003 102 220 000 022 236
                                                                       =≠ 0220 0070 0220 2051;  =≠ 0315 1054 0014 0220;  =≠ 0064 1220 0001 1236;
 5246/0: 000 040 220 003 220 220|103 100 210 042 340 025|011 006 053 010 122 062
                                                                       =≠ 0002 0220 0071 0220;  =≠ 2064 0210 1056 0025;  =≠ 0220 3053 0205 1062;
 5251/0: 000 100 220 103 120 263|003 060 220 003 220 220|002 240 220 002 300 220
                                                                       =≠ 0004 0220 2065 0263;  =≠ 0063 0220 0071 0220;  =≠ 0052 0220 0054 0220;
 5254/0: 002 240 220 103 160 102|043 020 027 011 002 046|000 200 220 002 160 220
                                                                       =≠ 0052 0220 2067 0102;  =≠ 1061 0027 0220 1046;  =≠ 0010 0220 0047 0220;
 5257/0: 002 240 220 103 020 171|002 340 220 002 160 220|003 160 220 002 140 220
                                                                       =≠ 0052 0220 2061 0171;  =≠ 0056 0220 0047 0220;  =≠ 0067 0220 0046 0220;
 5262/0: 003 160 220 103 340 320|043 060 006 011 000 064|011 004 071 010 062 064
                                                                       =≠ 0067 0220 2076 0320;  =≠ 1063 0006 0220 0064;  =≠ 0220 2071 0203 1064;
 5265/0: 000 200 220 143 160 243|003 300 220 103 060 217|103 120 022 011 000 067
                                                                       =≠ 0010 0220 3067 0243;  =≠ 0074 0220 2063 0217;  =≠ 2065 0022 0220 0067;
 5270/0: 011 000 064 011 000 050|011 000 052 011 000 051|011 000 072 011 000 067
                                                                       =≠ 0220 0064 0220 0050;  =≠ 0220 0052 0220 0051;  =≠ 0220 0072 0220 0067;
 5273/0: 011 004 052 005 002 067|000 200 220 002 240 220|002 140 220 103 020 101
                                                                       =≠ 0220 2052 0120 1067;  =≠ 0010 0220 0052 0220;  =≠ 0046 0220 2061 0101;
 5276/0: 043 200 051 011 002 071|000 360 220 042 240 004|011 004 065 013 140 067
                                                                       =≠ 1070 0051 0220 1071;  =≠ 0017 0220 1052 0004;  =≠ 0220 2065 0266 0067;
 5301/0: 011 000 056 011 000 063|011 004 054 007 242 074|000 240 220 002 340 220
                                                                       =≠ 0220 0056 0220 0063;  =≠ 0220 2054 0172 1074;  =≠ 0012 0220 0056 0220;
 5304/0: 003 220 220 002 220 220|102 320 130 002 240 220|002 300 220 003 040 220
                                                                       =≠ 0071 0220 0051 0220;  =≠ 2055 0130 0052 0220;  =≠ 0054 0220 0062 0220;
 5307/0: 002 240 220 003 060 220|103 220 340 043 220 017|011 002 055 000 140 220
                                                                       =≠ 0052 0220 0063 0220;  =≠ 2071 0340 1071 0017;  =≠ 0220 1055 0006 0220;
 5312/0: 002 240 220 103 060 225|003 160 220 003 240 220|102 240 335 043 240 012
                                                                       =≠ 0052 0220 2063 0225;  =≠ 0067 0220 0072 0220;  =≠ 2052 0335 1072 0012;
 5315/0: 011 000 063 011 000 071|011 000 056 011 004 061|014 142 073 000 240 220
                                                                       =≠ 0220 0063 0220 0071;  =≠ 0220 0056 0220 2061;  =≠ 0306 1073 0012 0220;
 5320/0: 002 140 220 003 020 220|003 240 220 102 240 237|043 300 012 011 000 055
                                                                       =≠ 0046 0220 0061 0220;  =≠ 0072 0220 2052 0237;  =≠ 1074 0012 0220 0055;
 5323/0: 011 000 056 011 000 061|011 004 052 011 142 014|000 240 220 001 160 220
                                                                       =≠ 0220 0056 0220 0061;  =≠ 0220 2052 0226 1014;  =≠ 0012 0220 0027 0220;
 5326/0: 001 040 220 001 240 220|101 160 300 041 000 010|011 000 043 011 000 024
                                                                       =≠ 0022 0220 0032 0220;  =≠ 2027 0300 1020 0010;  =≠ 0220 0043 0220 0024;
 5331/0: 011 004 037 017 000 026|011 000 017 011 000 021|011 004 011 013 000 000
                                                                       =≠ 0220 2037 0360 0026;  =≠ 0220 0017 0220 0021;  =≠ 0220 2011 0260 0000;
                                                                       end
                                                                       *endptread:
Reached end of file
                                                                       end
No of ID table entries = 785 (26%)