Eldon2 director for KDF9
This originated from Hans Pufal, who says:
Typed from a photocopy of a lineprinter listing at the NAHC
First unverified version 1 June 2005
Corrections based on first generation assembler output : 2 June 2005
Hans B PUFAL, May 2005
Subsequently subject to various corrections by David Holdsworth, who wrote much of the code around 1967-71 - Feb 2009
Shown with authentic KDF9 Flexowriter characters.
There is a companion file which uses ASCII characters (e.g. > becomes >= and × becomes x)
and can be downloaded and assembled
using kal3.c and kal3.y.
However, you do not need to run yacc because
the yacc generated output is y.tab.c and y.tab.h.
Compilation needs the two .c files and the .h file.
Usercode was stored in Algol basic symbols in source code form.
These had their most exotic representation on a Flexowriter, upon which much source code was typed,
and this rendering attempts to reproduce this representation.
The companion file is an attempt to get a close to this with ASCII so that it can be edited to remove
typos. The representation below is generated automatically from this companion file.
If you hover on a subroutine call or a reference to VnP104M5 you are likely to see a box explaining its significance.
If you click on a subroutine call you will jump to the head of the subroutine.
Use the browser BACK button to return.
Loaded 114066 bytes for EDNTSD990.txt
Relocated 27
Finished
Reached end of file
=============== Second pass
===========================
7400 W0 = E3840
7400 Y0 = E3840
0/0: 200 260 046 V29;
4/0: 200 276 332|200 276 332 RESTART; JP999; JP999;
PROGRAM;
(== Typed from a photocopy of a lineprinter listing at the NAHC
First unverified version 1 June 2005
Corrections based on first generation assembler output : 2 June 2005
Differences from listing :
1. Lower case characters used in comments
2. character * used in place of pound sterling symbol
Hans B PUFAL, May 2005);
[ == Various corrections by David Holdsworth, who wrote much of the code around 1967-71 - Feb 2009
[ == Comments introduced by [ and continued to end of line are "21st century comments" inserted from recollections
(TITLE: OUT20 ETC)
[ at the end of P45 is a string of erases followed by EXIT1
[ These are used for obeying conditional exits and discarding nesting store data
V-store at 00015 = 000 000 001 014 157 172 V5=1.048576/23;
[ V7 is currently executing program priority
V-store at 00020 = 000 004 376 073 000 000 V8=Q4/-453/0; (Increment .027 Msec)
V-store at 00022 = 000 000 000 000 020 000 V10=1/35;
V-store at 00023 = 000 000 000 000 040 000 V11=2/35;
V-store at 00024 = 000 000 000 300 000 000 V12=3/25;
V-store at 00026 = 000 000 000 000 000 001 V14=1;
V-store at 00027 = 010 171 241 246 314 300 V15=B0207464151546300; [ "FAILS " for use in console error messages
[ V16-22 are the reason for interrupt markers
V-store at 00037 = 040 202 010 040 202 010 V23=B1010101010101010; [ radix word for octal conversions
V-store at 00040 = 010 117 377 374 164 000 V24=B0204777777072000; [ four tabbing words for the user program columns on the console
V-store at 00041 = 010 101 077 374 164 100 V25=B0204047777072100;
V-store at 00042 = 010 101 004 374 164 200 V26=B0204040477072200;
V-store at 00043 = 010 101 004 020 164 300 V27=B0204040404072300;
(V28=Director/Program marker)
(V29 is easily OUT11 accessable marker, current bits in set are
D0 - SET1 if on line M/C
D35-44 - Number of words of user space(mod 32)
D45-47 - Data number Sunday=0,Monday=1 etc); [ surely it means day number
46/0: 300 000 044|220 140 116 V28; J35=Z; [ This means that an interrupt occurred even though still in director
47/0: 041|301 000 044|176 010|171 136|301 000 012 ZERO; =V28; K4; Q5; =V2; [ get RFI and preserve programmer's Q5 -- hooter comes on if K4 not obeyed frequently
50/5: 300 000 017|170 122|304 000 003|200 340 053 V7; =M5; SET3; J11NTR;
52/4: 167 375 SHC-2;
53/0: 205 200 053 11; J12NV;
53/3: 167 377 SHC-1;
53/5: 301 121 371|042|164 325|047|065 12; =V1P104M5; DUP; SHL-22; STR; REV;
55/1: 052|300 002 336|054|011 ERASE; V0P13; AND; OR;
56/1: 042|304 000 101|164 047 51; DUP; SETB101; SHL+19;
57/1: 065|167 003|164 053|205 140 060 REV; SHC+1; SHL+21; J2≠Z;
60/3: 011|041 OR; (No RFIS so insert D22,28); ZERO;
60/5: 033|054 2; NOT; AND; (Remove D22,28)
61/1: 042|167 003|164 053|204 140 124 DUP; SHC+1; SHL+21; J1≠Z;
(Jump if any RFI other than PR or LOV) [ this is where the long path is chosen
62/3: 300 000 015|035|042|301 000 016|300 121 375|056 V5; ×; DUP; =V6; V5P104M5; +; [ short path continues here
64/3: 042|301 121 375|171 122|065 DUP; =V5P104M5; M5; REV;
65/4: 300 120 021|164 013|170 122|114 005|037 V9M5; SHL+5; =M5; M5M0HN; SIGN;
67/2: 225 100 122 J4>Z; (Jump if time limit exceeded)
67/5: 304 122 275 SET-109891; (Basic SP 0.655 Msec)
70/2: 300 000 020|170 136|170 122|300 001 370|176 004|011|164 377 32; V8; =Q5; =M5; V0P104; K5;OR; SHL-1;
72/5: 017|164 015|042|204 040 076 *5; SHL+6; DUP; J6>Z; (Jump if hold-up
74/0: 143 120|140 120|177 120 digit not present); DC5; M+I5; J5C5NZS; [ find the highest priority program that is not held up
75/0: 301 000 026 (No program can be entered); =V14; (d0=1)
75/3: 052|200 320 301|204 260 200 ERASE; JSP1; J23; [ main idle loop in long path
76/4: 174 000 6; =LINK; (Plant dummy link)
77/0: 304 000 004|171 130|036|171 122|012 SET4; C5; -; M5; PERM; (N1= new priority,
N2= old priority, N3= path correction)
100/3: 065|170 122|176 001|167 017|033|027|167 363 30; REV; =M5; K7; SHC+7; NOT; NEG; SHC-7;
102/2: 301 122 005 =V13P104M5; (Preserve adjusted NS counters)
102/5: 042|301 000 017|170 122 DUP; =V7; =M5; (New priority number)
103/5: 300 121 375|056|300 000 016|036|301 121 375 V5P104M5; +; V6; -; =V5P104M5; (Run time)
105/4: 001|300 121 371|161 003|002 VR; V1P104M5; SHA+1; =TR; [ clever code to reinstate VR and TR
106/5: 300 122 011|175 040|052 V17P104M5; =K2; ERASE; (CPDAR); [ current peripheral device allocation register
107/5: 300 120 021|300 122 005|300 000 012|170 136|042|175 020 V9M5; V13P104M5; V2; =Q5; DUP; =K3; [ switches to new register stack
(== 2 ==)
112/1: 017|017|017|017|017 DUMMY; DUMMY; DUMMY; DUMMY; DUMMY;
113/0: 017 DUMMY; (Allow new set to settle down)
113/1: 301 000 044|173 000|052 =V28; LINK; ERASE; (Remove dummy link)
114/1: 301 000 044 =V28; (Store twice in case of reset)
114/4: 017|017|175 100|052|222 360 000 *=K1; ERASE; EXITD; (return to program)
35; (Director failure);
116/0: 304 377 367|042|170 122|301 000 017 SET-9; DUP; =M5; =V7;
117/3: 041|033|301 001 221|200 320 301|200 322 271 ZERO; NOT; =V1P6; JSP1; JSP12;
121/2: 176 010|052|200 326 134|202 260 121 36; K4; ERASE; JSP59; J36;
122/5: 170 122|200 320 301|041|042|033|200 260 155 4; =M5; JSP1; ZERO; DUP; NOT; J9;
124/4: 042|164 063|065 1; DUP; SHL+25; REV; [ long path entry - don't know why it does not do DUP; = Q5; SHLD+25; J...
125/2: 170 136|221 040 127|200 320 301 =Q5; J10<Z; (Jump if nouv); JSP1; [ J if there is a nesting store failure else preserve programmer's nest
126/4: 204 260 144 J17;
127/1: 171 156|301 000 013|171 176|301 000 014|171 116 10; Q6; =V3; Q7; =V4; Q4; [ might be dangerous to do a JS here, as the SJNS may be in a serious mess
131/1: 301 000 011|173 000|301 000 300|176 001|164 005|041 =V1; LINK; =V34P1; K7; SHL+2; ZERO; [ so nesting store failure is best dealt with in-line
133/2: 166 013|301 000 276|164 253|304 000 020|170 151 SHLD+5; =V32P1; SHL-43; SET16; =RC6;
135/2: 141 140|041|033|301 002 267 M-I6; ZERO; NOT; =V6P12;
136/3: 033|027|301 000 277 34; NOT; NEG; =V33P1;
137/2: 041|170 171 ZERO; =RC7; (N.B. Loop cannot go more than 32);
137/5: 303 160 236|205 240 137 14; =V0P1M7Q; J14NEN; (so that V32,33,34 cannot be overwritten);
140/5: 052|205 240 140 15; ERASE; J15NEN;
141/3: 017|017|017|224 300 144 *13; J17EJ;
142/3: 173 000|303 140 257|177 140 LINK; =V17P1M6Q; J13C6NZS;
143/4: 173 000|052|204 300 143 16; LINK; ERASE; J16NEJ;
144/4: 171 136|300 000 017|170 122|042|164 301|164 077|300 000 015 17; Q5; V7; =M5; DUP; SHL-32; SHL+31; V5; [ get here with programmer's nest safely stored in V-storea of P1
147/1: 035|161 003|300 121 375|056|042 ×; SHA+1; V5P104M5; +;DUP; [ correct programs run time
150/3: 301 121 375|300 120 021|164 013|170 142 =V5P104M5; V9M5; SHL+5; =M6;
152/1: 114 006|037|161 377|027 M6M0HN; SIGN; SHA-1; NEG;
153/1: 300 121 375|300 122 131|037|161 377|027|011 V5P104M5; V97P104M5; SIGN; SHA-1; NEG; OR; (Check OUT15 time);
155/0: 301 000 025|041|033|301 000 026|200 324 213 9; =V13; ZERO; NOT; =V14; JSP30; [ JSP30 enters subprogram mode, i.e. sets Q4 so that P10 can be used for suspension
156/5: 304 000 007|170 151 SET7; =RC6;
157/4: 017|017|041|303 140 030|017|017|177 140 *19; ZERO; =V16M6Q; *J19C6NZS; [ clear RFI (reason for interrupt) markers
161/2: 201 326 205|052 JS2P60; ERASE; [ sets markers using copy of K4 in N1
162/0: 300 000 031|161 005|300 000 032|161 003|056 V17; SHA+2; V18; SHA+1; +;
163/5: 300 000 025|035|027|300 000 036|304 174 277 V13; ×; NEG; V22; SETB76277;
165/4: 054|011|300 000 035|304 347 371|054 AND; OR; V21; SETB763771; AND;
167/1: 011|042|041|301 000 314|220 140 172 OR; DUP; ZERO; =V0P2; J20=Z;
170/4: 041|301 000 025|200 320 332|041 ZERO; =V13; JSP2; (Program fails); ZERO; [ such things as FAILS 00L
172/0: 052|300 000 034|224 140 175|200 321 025 20; ERASE; V20; J21=Z; JSP3; (OUT);
173/4: 017|017|017 DUMMY;DUMMY; DUMMY; (OUT40 does EX2);
174/1: 300 003 253|204 140 175|200 332 015 V4P23; J21≠Z; JSP155; [ deal with any OUT8 request
175/4: 300 000 030|221 140 177|200 321 121 21; V16; J22=Z; JSP4; (FLEX);
177/1: 300 000 033|224 140 200|200 321 160 22; V19; J23=Z; JSP5; (EDT); [ = end director transfer -- e.g. disc, OUT8 tape
200/4: 200 320 226|300 000 010|300 001 157|036|164 311|220 140 204 23; JS1000; V0P0; V0P5; -; SHL-28; J997=Z;
203/1: 041|033|301 000 033 ZERO; NOT; =V19P0; (Assures EDT at least very 16 secs);
204/0: 200 326 202|204 140 175 997; JSP60; J21≠Z; [ J if another event has occurred
205/0: 300 000 276|042|170 150|170 142|145 140 V32P1; DUP; =C6; =M6; I6=-1;
206/4: 304 305 357|202 260 211 SET-14865; (Basic LP 0.886 Msec); J25;
207/4: 017|017|302 140 235|065|304 001 056|036 *24; V-1P1M6Q; REV; SET302; (.018 Msec); -; [ putting the programmer's nest back
211/2: 177 140 25; J24C6NZS;
211/4: 300 000 277|042|170 150|170 142|203 260 215 V33P1; DUP; =C6; =M6; J27;
213/3: 017|017|017|302 140 255|174 000|304 001 140|036 *26; V15P1M6Q; =LINK; SET352; (.21 Msec); -; [ putting the programmer's SJNS back
215/3: 177 140 27; J26C6NZS;
215/5: 300 000 011|170 116|300 000 013|170 156|300 000 014|170 176 V1; =Q4; V3; =Q6; V4; =Q7; [ putting the programmer's Q-stores back
220/2: 300 000 017|300 000 026|225 040 222 V7; V14; J28<Z; [ J if no program has been preselected
221/5: 300 000 026|203 320 100 V14; JS30; (To plant dummy
link and enter specified priority)
222/5: 065|304 371 037 28; REV; SET-1761; (Path difference 0.105 Msec)
223/3: 056|202 260 070 +; J32; (To choose return priority)
(End of inner loop of long path)
224/1: 017|017|017|017|017|171 016|164 177|172 016 *998; Q0; SHL+63; =+Q0; [ looking for corruption on word 0 -- why?
226/0: 201 240 233|100 000|300 000 225|015|221 145 155|300 000 225|101 000
1000; J1001NEN; M0M0; R998; NEV; J4P45=Z; R998; =M0M0;
(== 3 ==)
230/5: 300 000 017|170 122|200 324 213|304 176 277|200 260 332 V7P0; =M5; JSP30; SETB77277; JP2;
233/1: 052|201 240 233 1001; ERASE; J1001NEN;
233/5: 052|205 240 233 1002; ERASE; J1002NEN;
234/3: 300 000 027|304 000 001|200 261 321 V15; SET1; JP6;
=== Start P1V34; at address 193/301
P1V34; (Dump Q4, Q6, Q7 and both nests);
301/0: 171 156|301 000 013|171 176|301 000 014|171 116 Q6; =V3P0; Q7; =V4P0; Q4;
303/0: 301 000 011|041|170 151|223 240 305 =V1P0; ZERO; =RC6; J2EN;
304/3: 303 140 236|203 240 304 1; =V0M6Q; J1NEN;
305/3: 052|203 240 305 2; ERASE; J2NEN;
306/1: 171 142|301 000 276|155 006|173 000 M6; =V32; CM0TOQ6; LINK;
307/4: 170 176|225 300 311 =Q7; J4EJ;
310/3: 173 000|303 140 256|203 300 310 3; LINK; =V16M6Q; J3NEJ;
311/5: 171 142|301 000 277|171 176|174 000|200 360 000 4; M6; =V33; Q7; =LINK; EXIT1;
=== Start P2V13; at address 218/332
P2V13; (Program failure-entered from subprogram,
Failure indicator in N1. If
no react option, ending number in V0)
V-store at 00315 = 000 000 046 206 233 063 V1=B4641515463; [ FAILS
V-store at 00317 = 300 014 245 206 075 034 V3=B6000624541436434; [ P REACT;
V-store at 00322 = 304 014 245 206 075 034 V6=B6100624541436434; [ Q REACT;
V-store at 00323 = 310 014 245 206 075 034 V7=B6200624541436434; [ R REACT;
V-store at 00330 = 314 014 245 206 075 034 V12=B6300624541436434; [ S REACT;
332/0: 041|301 000 034 ZERO; =V20P0;
332/4: 300 122 105|167 023|047|224 041 007 V77P104M5; SHC+9; STR; J20<Z; [ silent fail allowed a program to restart on failure without cluttering up the console
334/1: 167 373|205 040 337 29; SHC-3; J30>Z; (Prog is silent so skip output ident);
335/0: 300 122 041|300 122 035|166 061|300 120 040|304 000 003|200 321 324
V41P104M5; V37P104M5; SHLD24; V24P0M5; SET3; JS4P6;
337/5: 042|164 351|201 140 347 30; DUP; SHL-12; J6≠Z;
340/5: 041|166 247|300 000 037 ZERO; SHLD-45; V23P0;
341/5: 042|066|067|065|164 003 DUP; CAB; FRB; REV; SHL+1;
342/5: 056|164 111|164 351|065|300 000 037 +; SHL+36; SHL-12; REV; V23P0;
344/2: 164 375|065|164 247|067|042 SHL-2; REV; SHL-45; FRB; DUP;
345/3: 164 015|036|036|304 262 355|164 005 SHL+6; -; -; SETB131355; SHL+2;
347/0: 054 AND;
347/1: 300 000 315|200 326 031|167 365|011 6; V1; JSP55; SHC-6; OR;
350/4: 300 120 040|304 000 003|200 321 324 V24P0M5; SET3; JS4P6;
352/1: 200 322 271|203 324 131|017|017|017 2; JSP12; JS4P29; DUMMY; DUMMY; DUMMY;
353/4: 203 324 146|017|017|017 JS7P29; DUMMY; DUMMY; DUMMY;
354/4: 300 000 314|042|201 142 353 V0; DUP; J1P15≠Z;
355/5: 300 007 160|164 003|202 040 367 V26P101; SHL1; J4>Z; (J if no react query); [ when prog fails operator is asked query REACT;
357/1: 304 000 020|301 122 025 5; SETB20; =V29P104M5; (Stop tint a while react query); [ e.g. TINT A abandons a program, which might interfere
360/1: 300 120 040|203 320 372|101 140 V24P0M5; JS3; =M0M6;
361/3: 171 142|042|304 000 002|056|200 321 335 M6; DUP; SET2; +; JSP8;
363/1: 041|301 122 025 ZERO; =V29P104M5;
363/5: 203 320 372|300 140 002|164 255 JS3; E2M6; SHL-42;
365/1: 304 000 041|065|203 140 375 SETB41; REV; J1≠Z;
366/2: 304 000 007|201 262 353 9; SET7; J1P15;
367/2: 300 122 105|164 015|201 040 357|052|202 260 366 4; V77P104M5; SHL6; J5>Z; (J if loud); ERASE; J9;
371/2: 017|017|017|017|200 320 004 *10; JSE4;
372/3: 300 122 005|164 245|042|164 003|056 3; V13P104M5; SHL-46; DUP; SHL+1; +;
374/0: 304 000 316|056|170 142|200 360 000 SETAV2; +; =M6; EXIT1;
1; (Even restart)
375/3: 300 120 021|164 013|170 142|300 140 004|300 000 372|015|164 321|222 140 366
V9P0M5; SHL5; =M6; E4M6; R10; NEV; SHL-24;J9=Z;
400/4: 300 122 131|304 000 004|042|164 061|056|056|301 122 131 V97P104M5; SET4; DUP; SHL24; +; +; =V97P104M5;
(JS142P195; Clear OUT40 if set);
403/0: 304 000 004|042|202 324 143|200 260 116 SET4; DUP; JS6P29; J35P0;
404/4: 164 061|300 121 375|056|300 120 021 SHL+24; V5P104M5; +; V9P0M5;
406/1: 164 013|170 142|115 006|200 360 000 SHL+5; =M6; =M6M0HN; EXIT1;
407/4: 300 000 035|201 140 334|167 357|301 122 105 20; V21P0; J29≠Z; (Not if fail S); SHC-9; =V77P104M5; [ cancel the right to a silent fail - stops looping
Warning: V64P1 is out of range, only 35 V-stores specified
411/3: 170 171|300 002 267|220 141 020|300 000 336 =RC7; V6P12; J21=Z; V64P1;
413/2: 300 000 277|164 127|300 000 276|166 013|170 164|301 002 267 V33P1; SHL+43; V32P1; SHLD+5; =I7; =V6P12;
415/5: 304 000 017|042|301 000 276|301 000 277|200 261 021 SET15; DUP; =V32P1; =V33P1; J22;
420/0: 201 324 133|200 320 116 21; JS5P29; JS35P0; [ EXIT1 should never happen - so fail director if it ever does
(== 4 ==)
421/0: 170 162|203 320 375|171 176|301 140 006|200 360 000 22; =M7; JS1; Q7; =E6M6; EXIT1;
=== Start P3V0; at address 277/425
P3V0; (OUT subroutine)
V-store at 00424 = 377 377 377 377 355 355 V0=B 77 77 77 77 77 76 67 55; [ bit for each valid OUT 0-34 36 37 39-42 44 45 47
425/0: 041|301 000 034 ZERO; =V20P0; (Clear out marker);
425/4: 300 000 033|170 176 V19P0; =Q7;
426/3: 300 000 256|304 137 377|036|042|202 041 031 V16P1; SETB57777; -; DUP; J1>Z; [ top cell of program's SJNS
430/2: 304 240 000|167 003|036 SETB120000; SHC+1; -;
431/2: 301 000 256 1; =V16P1; (Link has 3 syllables added); [ so as to resume at the next instruction
431/5: 041|033|301 000 033 ZERO; NOT; =V19P0; [ force EDT routine to deal with all sorts of things
432/4: 300 000 276|222 141 064|300 000 236|170 150|300 001 024|041|166 140|003
V32P1; J4=Z; V0P1; =C6; V0; ZERO; SHLDC6; BITS;
435/4: 065|203 041 040|167 377|047|304 140 000|054|056 REV; J3>Z; SHC-1; STR; SETB60000; AND; +;
437/4: 174 000 6; =LINK; ( C6; SETB77; AND; SETAV0P6000U; +; =M6; [ supresses incrementing of out counter
440/0: 202 361 065 M0M6H; SHL-24; NOT; NEG; SHL24; =M0M6H; ); EXITAR2;
440/3: 052|171 150|304 000 062|220 026 342|304 000 063|220 026 361 3; ERASE; C6; SET50; JP65=; SET51; JP66=; [ OUT 50 etc -- NPL specials ??
443/0: 304 000 064|222 035 020|304 000 065|224 035 026 SET52; J52P2939=; SET53; J53P2939=;
445/0: 304 000 066|221 035 037 SET54; J54P2939=;
446/0: 042|033|221 141 055 DUP; NOT; J100=Z; (J if OUT -1 for clear transfer);
446/5: 304 024 345|015|202 141 063 SETB12345; NEV; J5≠Z; [ originally (DH) just set silent fail
(Alter bit in V77P104M5); [ generalised by NPL to define other program properties
450/0: 300 000 236|047|065|170 156|042|300 122 105|015 V0P1; STR; REV;=Q6; DUP; V77P104M5; NEV;
452/0: 304 004 000|164 140|304 007 120|054|164 005|011|015 SETB2000; SHLC6; SETB3520; AND; SHL+2; OR; NEV;
454/1: 301 122 105|200 360 000 =V77P104M5; EXIT1; (Allow D5,6,7,9); [ see comment on P104
455/1: 027|164 020|300 122 011|054|222 141 063 100; NEG; SHLC1; V17P104M5; AND; J5=Z;
456/5: 171 176|301 000 033|171 024|170 163|200 331 220|100 160|042|301 000 236
Q7; =V19P0; I1; =RM7; JSP128; M0M7; DUP; =V0P1;
461/5: 204 141 062|120 020 J101≠Z; CTQ1;
462/4: 200 360 000 101; EXIT1;
463/1: 052 15; ERASE; (Used by P195 in OUT54);
463/2: 304 000 010|200 260 332 5; SETB10; JP2; (Illegal out number);
464/2: 041|204 261 037 4; ZERO; J6; [ OUT with empty nest is same as OUT 0
465/0: 200 262 353|200 263 072|200 263 132|200 263 154|200 263 155 *2; JP15; JP16; JP17; JP18; JP19; [ OUT 0 1 2 3 4
467/3: 200 263 166|200 263 222|200 263 222|200 263 254|200 264 032|200 266 275
JP20; JP21; JP21; JP23; JP24; JP61; [ 5 6 7 8 9 10
472/3: 203 273 054|203 273 063|200 275 014|202 266 364|202 266 365|200 263 254
J11P193; J12P193; JP2939; J14P66; J15P66; JP23; [ 11 12 13 14 15 16
475/3: 200 266 332|204 270 027|202 266 366|200 272 314 JP64; J18P105; J19P66; JP192; [ 17 18 19 20
477/3: 203 274 054|202 274 055|204 274 066 J21P196; J22P196; J23P196; [ 21 22 23
501/0: 204 273 261|200 271 274|204 273 264 J24P195; J25P130; J26P195; [ 24 25 26
502/3: 202 273 172|205 273 205 J27P194; J28P194; [ 27 28
503/3: 203 273 344 J29P195; [ 29
504/0: 201 274 076|203 274 054|203 274 100 J30P196; J31P196; J32P196; [ 30 31 32
505/3: 200 274 125|201 274 133|202 274 134 J33P196; J34P196; J36P196; [ 33 34 36
507/0: 200 274 003 J37P195; [ 37
507/3: 200 271 320|203 274 010 J39P130; J40P195; [ 39 40
510/3: 202 274 103|204 274 104 J41P196; J42P196; [ 41 42
511/3: 202 273 237|200 273 244|201 274 116 J44P195; J45P195; J47P196; [ 44 45 47
=== Start P4V5; at address 337/521
P4V5; (Instant TINT) [ Typewriter (= Flexowriter) interrupt -- instant because DH made it jump the Flex output queue
V-store at 00513 = 010 170 147 206 233 277 V0=B0207414741515677; [ cr cn AGAIN
V-store at 00514 = 010 175 051 273 117 334 V1=B0207645156647734; [ cr cn TINT;
(V2 and V3 contain answer to TINT query);
V-store at 00517 = 137 373 077 250 000 000 V4=B2777547752/29; (D3=A,D4=B etc
Permitted TINTS A=JLMPR-XZ .EM is same as F);
V-store at 00520 = 000 000 000 000 000 000 V5=0; (TINT params);
521/0: 041|033|301 000 033|300 002 156|201 145 155 ZERO; NOT; =V19P0; V1P11; J4P45≠Z; [ TINT supressed if subprogram 0 is active
522/5: 041|301 000 030|041|304 001 114 ZERO; =V16P0; (Clear TINT RFI); ZERO; SETAV1;
524/1: 300 002 155|170 116|164 041|304 001 116|011|041 2; V0P11; =Q4; SHL+16; SETAV3; OR; ZERO; [ uses subprogram 0 to ask the query
526/1: 041|033|301 000 033 ZERO; NOT; =V19P0;
527/0: 033|050|301 001 120|201 321 366|304 001 115 NOT; CONT; =V5; JS51P10; SETAV2;
530/5: 170 156 =Q6;
531/1: 200 324 216|204 261 141|204 261 141|204 261 141 5; JSP31; J3; J3; J3; [ P31 fetches and classifies characters
533/1: 304 377 342|172 170|300 001 117|041|166 160 SET-30; =+C7; V4; ZERO; SHLDC7;
535/0: 003|065|203 041 141 BITS; REV; J4>Z; (Validity check)
535/5: 167 377|047|304 140 000|054|056 SHC-1; STR; SETB60000; AND; +;
537/1: 205 321 142 JS1;
(== 5 ==)
537/4: 204 261 141 (TINT subroutine fails); J3;
(Exit 2 from TINT subroutine);
540/1: 300 002 155|170 116|200 360 000 V0P11; =Q4; EXIT1;
541/3: 052 4; ERASE;
541/4: 041|304 001 113|201 261 124 3; ZERO; SETAV0; J2; [ invalid input, say AGAIN TINT;
542/5: 174 000|202 361 144 1; =LINK; EXITAR6;
543/4: 017|017|202 360 001|200 264 262|200 264 313|200 264 324|200 264 324
*6; EXIT2; JP33; JP34; JP35; JP35;
546/3: 200 264 330|202 360 001|200 264 352|200 264 377|200 265 001 JP37; EXIT2; JP39; JP40; JP41;
551/0: 200 265 021|200 265 030|200 265 101 JP42; JP44; JP45;
552/3: 200 265 156|200 265 166 JP48;JP49;
553/3: 200 265 173|200 265 175|200 265 232|200 265 355|200 266 017 JP50; JP51; JP52; JP53; JP54;
556/0: 200 267 065 JP76;
556/3: 200 267 010 JP72;
=== Start P5V0; at address 368/560
P5V0; (EDT subroutine); [ called when V19 is set, eithr by real EDT or internally
560/0: 300 000 010|301 001 157 V0P0; =V0; (Time of last EDT);
561/0: 041|301 002 336 ZERO; =V0P13; (Clear marker to give EDT on fpr RFI);
561/4: 041|301 000 033 ZERO; =V19P0; (Clear EDT indicator)
562/2: 200 327 100 JSP100; (Deal with W magnetic tapes)
562/5: 200 327 267 JSP105; (Consolidate store etc.)
563/2: 200 326 134 JSP59; (Deal with flex queue)
563/5: 200 332 015 JSP155; (Deal with OUT8 queue)
564/2: 202 334 331 JS3P199; (Enables disc access if appropriate);
564/5: 200 322 226 JSP11; (Deal with subprograms)
565/2: 041|301 007 126 ZERO; =V0P101; (Clear new identifier marker)
566/0: 300 003 253|203 141 167|200 332 015 V4P23; (Look for OUT8); J7≠Z; JSP155;
567/3: 200 333 011 7; JSP193; (Attend to JO);
570/0: 176 004|151 005 K5; M0TOQ5;
570/4: 041|166 011|170 130|042|164 003|200 041 203 2; ZERO; SHLD+4; =C5; DUP; SHL+1; J3>Z;
572/3: 042|002|204 341 174 DUP; =TR; J9NTR;
573/2: 120 122|220 341 203|201 261 176 BUSYQ5; J3TR; J1;
574/4: 300 120 021|202 330 052|200 261 203 9; V9P0M5; JS107P300; J3;
1; (Clear PHU);
576/1: 300 122 005|041|033|027|011 V13P104M5; ZERO; NOT; NEG; OR;
577/2: 301 122 005|171 122|164 367|304 300 000|011 =V13P104M5; M5; SHL+123; SETB140000; OR;
601/1: 175 100|052|124 002|304 300 000|175 100|052 =K1; ERASE; CLOQ0; SETB140000; =K1; ERASE;
603/0: 164 005|171 122|304 000 003|225 021 205 3; SHL+2; M5; SET3; J4=;
604/4: 033|027|170 122|204 261 170 NOT; NEG; =M5; J2;
605/5: 170 150|052|300 000 017 4; =C6; ERASE; V7P0;
606/5: 033|027|304 000 003|054|042 5; NOT; NEG;SET3; AND; DUP;
610/0: 170 122|300 122 005|167 377|220 041 213 =M5; V13P104M5; SHC-1; J6<Z;
611/4: 143 140|265 141 206 DC6; J5C6NZ;
612/3: 200 265 155 J1P45;
613/0: 042|161 003|042|161 003|056|170 150 6; DUP; SHA+1; DUP; SHA+1; +; =C6;
614/3: 300 001 370|164 013|164 140|204 041 216 V0P104; SHL+5; SHLC6; J8>Z;
616/1: 052|041|033 ERASE; ZERO; NOT;
616/4: 301 000 026|200 360 000 8; =V14P0; EXIT1;
=== Start P6V64; at address 465/721
P6V64; (Put N2=NX in FLEX queue, X=1 given
in N1, if flex queue overlows enter P59;
to make room);
V-store at 00621 = 377 377 377 377 377 377 V1=-1;
V-store at 00710 = 377 377 377 377 377 377 V56=-1; (For benefit of the OUT8 system);
721/0: 171 122|164 375|200 041 324 M5; SHL-2; J4>Z;
722/1: 065|052|027|033|042|201 141 322|200 265 155 5; REV; ERASE; NEG; NOT; DUP; J5≠Z; J1P45;
4;
724/0: 304 001 321|304 001 221|036|170 171 SETAP6; SETAV1P6; -; =RC7;
725/3: 302 161 221|033|203 141 325 1; V1M7Q; NOT; J1≠Z;
726/4: 245 161 332 3; J2C7Z;
(Queue not full)
727/1: 065|301 161 220|041|033|303 161 221 REV; =V0M7; ZERO; NOT;=V1M7Q;
730/4: 027|033|042|204 141 326 NEG; NOT; DUP; J3≠Z;
731/4: 033|301 000 033|200 360 000 NOT; =V19P0; EXIT1;
(== 6 ==)
732/5: 200 326 134|200 326 202|052|200 261 324 2; (Queue full); JSP59; JSP60; ERASE; J4P6;
=== Start P8V-1; at address 477/735
P8; (Put query parameters in FLEX queue
and enter 2P10);
735/0: 065|164 041|011|041|033 REV; SHL+16; OR; ZERO; NOT;
736/0: 050|171 110|164 101|011|042 CONT; C4;SHL+32; OR; DUP;
737/1: 304 000 001|200 321 324|041|065|204 261 354 SET1; JS4P6; ZERO; REV; J2P10;
=== Start P9V1; at address 483/743
P9V1; (Convert cell count from binary to
signed decimal characters, used in P12);
V-store at 00741 = 050 242 212 050 020 101 V0=B1212121212010101;
V-store at 00742 = 034 170 345 262 314 300 V1=B0707434554546300;
743/0: 042|161 371|164 377 DUP; SHA-4; SHL-1; (Non-zero if count
743/5: 221 141 345|304 000 204|036|027 >24); J1=Z; SET132;-; NEG;
745/1: 300 001 341|065|067|304 072 202|164 053 1; V0; REV; FRB;SETB35202; SHL+21;
746/5: 056|300 001 342|300 120 040|304 000 003|200 261 324 +; V1;V24P0M5; SET3; J4P6;
=== Start P10V-1; at address 489/751
P10; (Normal entry test BUSYQ7. If busy or if
entry at 2, put SHUL, SHUP, and SHUL*
into SHU list. Exit to level X+1 lower,
X given in N1 (or N3 for entry 2)); [ P10 is the routine called from within a subprogram
[ when it is necessary to wait for things to happen elsewhere e.g. transfer, tape load
[ on entry: M5 = priority number, Q4 = subprog number / 1 / AV1P11Msubprogno -- see P30
751/0: 041|002|241 161 352 ZERO; =TR; J1C7Z; [ normal entry waits if device in C7 is busy
751/5: 120 162 BUSYQ7;
752/1: 124 164|200 345 155 1; TLOQ7; J1P45NTR;
753/0: 041|171 176|171 104|167 313|301 002 336 3; ZERO; Q7; I4; SHC-27; =V0P13; (Next PR causes EDT); [ definitely decided to hold up
754/4: 301 100 012|173 000|011|101 100 2; =E10M4; LINK; OR; =M0M4; [ E0M4 has return address and marker, E10M4 has transfer params = SHUP
756/0: 171 110|167 377|201 101 360 C4; SHC-1; J5<Z; [ jump for secondary subprogram belonging to a user program
757/1: 304 000 001|205 330 076 SET1;JS113P300; [ set program hold-up
760/1: 042|047|015|170 170 5; DUP; STR; NEV; =C7; [ count is ones comp if EXIT2 is needed
761/0: 041|243 161 363 ZERO; J7C7Z;
761/4: 017|017|164 041|173 000|011|143 160|177 160 *6; SHL+16; LINK; OR; DC7; J6C7NZS; [ preserve specified number of SJNS cells
763/3: 301 100 036|201 045 155 7; =E30M4; J4P45>Z; [ SHUL* i.e. extra SJNS levels saved
764/3: 202 360 001 EXIT2;
765/0: 041 4; ZERO; [ hold-up but always come back next time, i.e. EDT
765/1: 041|041|204 261 354 14; ZERO; ZERO; J2; [ and do EXIT1 to the caller
766/0: 041 50; ZERO;
766/1: 041|041|041|033|050|204 261 354 51; ZERO; ZERO; ZERO; NOT;CONT; J2; [ ditto but do EXIT2
(P6000V23; (OUT COUNTS););
=== Start P104V116; at address 621/1155
P104V116;
[ P104 is only V-stores
[ V0 is a hold-up word in the same format as the hardware equivalent obtained from K5
[ V1-117 are in quartets, addressed by instructions such as V25P104M5
[ V5P104M5 = program CPU time used so far
[ V13P104M5 = nesting store counters for use with =K3
(The various bits in V77P104M5 have the following significance
D 0 = Prog read in by TINT X
D 1 = TINIT X in progress
D 2 = Last disc transfer parittied
D 3 = Disc repeat in progress after parity
D 4 = Not used (David thinks)
D 5 = Auxiliary systems program
D 6 = FLEX suppression
D 7 = Job initiated by OUT39
D 8 = OUT 40 on by this level
D 9 = Silent fail
D10 = OUT 50 done by this level
D11 = This level will print OUT8 tapes
D12 = Shows TINT;TLM has been done
D13 = OUT20 done by this level....Different bit from Leeds
);
(The various bits of V25P104M5 have the following significance
D47 = Main subprogram active
D46 = No program to run
D45 = TINT S
D44 = HU due to OUT8 subprogram
D43 = Store move/priority change
D42 = Rolled out
D41 = OUT 19
(== 7 ==)
);
V-store at 00770 = 004 020 101 000 000 000 V0=B01010101/23;
V-store at 01005 = 006 020 000 000 000 000 V13=B0141/11;
V-store at 01006 = 106 020 000 000 000 000 V14=B2141/11;
V-store at 01007 = 206 020 000 000 000 000 V15=B4141/11;
V-store at 01010 = 306 020 000 000 000 000 V16=B6141/11;
V-store at 01011 = 000 000 000 000 000 001
V-store at 01012 = 000 000 000 000 000 001
V-store at 01013 = 000 000 000 000 000 001
V-store at 01014 = 000 000 000 000 000 001 V17=1; V18=1; V19=1; V20=1;
V-store at 01021 = 000 000 000 000 000 002
V-store at 01022 = 000 000 000 000 000 002
V-store at 01023 = 000 000 000 000 000 002
V-store at 01015 = 000 000 000 000 000 002 V25=2; V26=2; V27=2; V21=2;
V-store at 01025 = 000 000 000 000 000 005
V-store at 01026 = 000 000 000 000 000 005
V-store at 01027 = 000 000 000 000 000 005
V-store at 01030 = 000 000 000 000 000 005 V29=5; V30=5; V31=5; V32=5;
V-store at 01131 = 100 000 000 100 000 000
V-store at 01132 = 100 000 000 100 000 000 V97=B 20 00 00 00 20 00 00 00; V98=B 20 00 00 00 20 00 00 00;
V-store at 01133 = 100 000 000 100 000 000
V-store at 01134 = 100 000 000 100 000 000 V99=B 20 00 00 00 20 00 00 00; V100=B 20 00 00 00 20 00 00 00;
(V101 to V113 are all for use of controllers when running ROGS);
=== Start P11V40; at address 662/1226
P11V40; (Deal with hold-ups in SHU list in
due order);
V-store at 01155 = 000 000 000 001 002 156 V0=Q0/1/AV1;
1226/0: 300 002 155|170 116 15; V0; =Q4;
1226/5: 100 100|042|201 142 233 3; M0M4; DUP; J1≠Z; (Jump if this SHU
is in use);
1227/5: 052 11; ERASE;
1230/0: 140 100|171 110|042|304 000 011|037 7; M+I4; C4; DUP; SET9; SIGN;
1231/3: 200 045 155 J1P45>Z;
1232/0: 033|027|170 110|205 262 226 NOT; NEG; =C4; J3; [ loop back to try the next one up
1233/1: 300 100 012|065|220 042 250 1; E10M4; REV; J4<Z; [ J if not awaiting peripheral transfer
1234/2: 042|002|225 342 227 DUP; =TR; J11TR; [ top bit of SHU holds up for ever - i.e. awaits clearing by some other process
1235/1: 170 176|242 162 236|120 162 =Q7; J6C7Z; BUSYQ7;
1236/2: 124 164|223 342 256 6; TLOQ7; J13TR; [ J if transfer still active
1237/1: 204 322 240 8; JS2; (To enter subprogram)
1237/4: 200 262 230|200 262 230 J7; J7; (After leaving subprogram)
1240/4: 171 110|042|164 377|027|033 2; C4; DUP; SHL-1; NEG; NOT; [ set M5 = user program priority
1241/5: 170 122|167 377|200 102 244 =M5; SHC-1; J14<Z; [ only for main subprogram do we ....
1243/0: 304 000 001|200 330 100 SET1; JS114P300; [ ... clear the user program hold up
1244/0: 300 100 036 14; E30M4; [ put the SJNS back together
1244/3: 042|223 142 246 5; DUP; J12=Z;
1245/1: 042|174 000|164 341|203 262 244 DUP; =LINK; SHL-16; J5;
1246/3: 100 100|174 000|101 100|200 360 000 12; M0M4; =LINK; =M0M4; EXIT1; [ and go back to where the subprogram obeyed JSP10
1250/0: 042|164 255|304 000 040|015|225 142 253 4; DUP; SHL-42; SETB40; NEV; J10=Z; [ J if not awaiting mag tape
1251/4: 300 007 126|225 142 227 V0P101; J11=Z; [ don't bother if no new tapes available
1252/4: 300 100 024|065|201 262 237 E20M4; REV; J8;
1253/5: 164 023|304 001 254|011|200 324 055|200 262 230 10; SHL+9; SETB654; OR; JS1P26; J7; [ waiting to claim a non-MT peripheral
1255/5: 052|201 262 237 ERASE; J8;
1256/3: 171 104|167 313|301 002 336 13; I4; SHC-27; =V0P13; (Set V0P13 to give EDT on PR);
1257/4: 200 262 230 J7;
=== Start P12V7; at address 697/1271
P12V7; (Type SJNS and top 2 cells of nest with
cell count where necessary);
V-store at 01261 = 343 347 125 331 200 000 V0=B07076352566300000;
V-store at 01262 = 034 173 051 272 260 000 V1=B0707545156530000;
V-store at 01263 = 216 311 141 312 131 000 V2=B4354454162454400;
V-store at 01264 = 034 173 237 110 000 000 V3=B0707563722/29;
V-store at 01265 = 034 173 237 104 000 000 V4=B0707563721/29;
V-store at 01266 = 004 022 002 040 202 010 V5=B0101100210101010;
1271/0: 041|033|301 002 270 ZERO; NOT; =V7;
1271/5: 300 002 267|304 000 001|170 162|205 142 322 V6; SET1; =M7; J3≠Z;
1273/4: 304 000 020 9; SET16;
1274/1: 201 324 133|201 262 302|300 002 270|205 142 277|304 000 004|205 022 277|052|201 262 301
1; JS5P29; J2; V7; J4≠Z; SET4; J4≠; ERASE; J5;
1277/5: 041|033|301 002 270|204 322 330 4; ZERO; NOT; =V7; JS13;
1301/1: 027|033|042|201 142 274 5; NEG; NOT; DUP; J1≠Z;
2;
1302/1: 052 ERASE;
1302/2: 304 000 001 6; SET1;
1302/5: 042|170 162|200 324 106|204 262 317|041 7; DUP; =M7; JS1P29; J8; ZERO;
1304/3: 166 061|300 000 037|042|164 003 SHLD+24; V23P0; DUP; SHL+1;
1305/5: 012|065|164 321|067|056|065 PERM; REV; SHL-24; FRB; +; REV;
(== 8 ==)
1307/0: 300 162 264|300 120 040|304 000 004|200 321 324|027|033 V3M7; V24P0M5; SET4; JS4P6; NEG; NOT;
1311/2: 042|205 042 302 DUP; J7>Z;
Warning: V13P10 is out of range, only 0 V-stores specified
1312/0: 171 122|300 000 017|015|223 142 315|300 121 366 M5; V7P0; NEV; J10=Z; V13P10M5;
1314/0: 164 005|164 253|027|033|204 262 316 SHL+2; SHL-43; NEG; NOT; J11;
1315/3: 300 000 276|304 000 002|056 10; V32P1; SET2; +;
1316/4: 200 321 343|201 262 322 11; JSP9; J12;
1317/4: 300 002 263|300 162 264|300 120 040|304 000 003|200 321 324 8; V2; V3M7; V24P0M5; SET3; JS4P6;
1322/1: 052|200 360 000 12; ERASE; EXIT1;
1322/5: 041|301 002 267|300 000 300|042|304 000 004|036|301 002 270|204 322 330|300 000 277|164 127
3; ZERO; =V6; V34P1; DUP; SET4; -; =V7; JS13; V33P1; SHL+43;
1326/4: 204 142 273|304 000 037|200 321 343|202 262 302 J9≠Z; SETB37; JSP9; J6;
1330/4: 300 002 266|065|067|300 000 037|164 353|056|300 162 261 13; V5; REV; FRB; V23P0; SHL-11; +; V0M7;
1333/0: 300 120 040|304 000 003|200 321 324|151 007|200 360 000 V24P0M5; SET3; JS4P6; M0TOQ7; EXIT1;
=== Start P13V0; at address 735/1337
P13V0; (Set program HU bit in V0P104);
1337/0: 304 000 001|171 122|300 000 026|015|205 142 341 SET1; M5; V14P0; NEV; J1≠Z;
1341/0: 041|033|301 000 026 ZERO; NOT; =V14P0;
1341/5: 171 122|033|161 003|042|161 003 1; M5; NOT; SHA+1; DUP; SHA+1;
1343/1: 056|170 130|167 120|300 001 370|065 +; =C5; SHCC5; V0P104; REV;
1344/4: 042|220 042 346|011|201 262 346 DUP; J2<Z; OR; J3;
1346/0: 054 2; AND;
1346/1: 301 001 370|200 360 000 3; =V0P104; EXIT1;
=== Start P15V2; at address 747/1353
P15V2; (OUT 0); [ OUT 0 is normal program termination
V-store at 01350 = 034 011 156 223 060 020 V0=B0700455644630020;
V-store at 01351 = 034 174 241 270 371 154 V1=B0707624156174554;
V-store at 01352 = 100 000 000 100 000 000 V2=B 20 00 00 00 20 00 00 00;
1353/0: 041 ZERO;
1353/1: 304 000 005 1; SET5;
1353/4: 041|033|050|042|301 122 025 2; ZERO; NOT; CONT; DUP; =V29P104M5;
1354/5: 167 377|202 042 356 SHC-1; J3>Z;
1355/4: 041|301 122 015 ZERO; =V21P104M5;
1356/2: 300 122 071|041|033 3; V65P104M5; ZERO; NOT;
1357/1: 037|026|042|164 011|011|164 015|011 SIGN; ABS; DUP; SHL+4; OR; SHL+6; OR; (Add 10 if OUT8 used);
1360/4: 301 121 371|203 324 131|017|017|017 =V1P104M5; JS4P29; DUMMY; DUMMY; DUMMY;
1362/1: 203 324 146|017|017|017 JS7P29; DUMMY; DUMMY;DUMMY;
1363/1: 304 000 001|301 122 011 SET1; =V17P104M5;
1364/1: 304 000 002|205 330 076|300 004 035|170 156 SET2; JS113P300; V0P26; =Q6;
1366/0: 102 140|052|242 142 375 4; M0M6Q; ERASE; J5C6Z;
1367/0: 200 331 210|200 262 366 JSP125; J4;
1370/0: 120 140|121 140|041|002|300 144 035|164 043|205 042 373 CTQ6; PARQ6; ZERO; =TR; V0P26M6; SHL+17; J6>Z;
1372/2: 304 124 000|201 327 117|200 262 366 SETB52000; JS10P100; J4;
1373/5: 300 122 015|200 324 066|200 262 366 6; V21P104M5; JSP27; J4;
1375/2: 110 100|202 143 000 5; M0M4N; J10≠Z;
1376/1: 304 003 254|111 100|041|301 100 013|041|301 100 037 SETAP23; =M0M4N; ZERO; =E11M4; ZERO; =E31M4;
1400/2: 200 321 365 10; JS4P10;
1400/5: 300 122 025|222 043 000 V29P104M5; J10<Z;
1401/5: 203 333 037|205 263 005 JS3P193; J41;
1402/5: 300 122 141|205 103 004|304 000 005|202 326 355 V105P104M5; J70<Z; SET5; JS3P65;
(Output stats block for controllered prog);
70;
1404/5: 304 000 003|202 326 355 SET3; JS3P65; (Output stats and FLEX message);
1405/5: 201 334 021 41; JS142P195; (Clear down any outstanding OUT 40);
1406/2: 300 122 025|167 371|200 053 244|300 120 021|042 V29P104M5; SHC-4; J45P195>Z; V9P0M5; DUP;
*** There is no routine P14
1410/2: 167 061|164 025|300 120 000|011|167 035|200 331 347|201 271 023
SHC+24; SHL+10; V89P14M5; OR; SHC+14; JSP136; J44P120; (OUT 2);
91; (Deal with disc);
1413/0: 041|301 122 065 ZERO; =V61P104M5;
1413/4: 041|301 122 141 ZERO; =V105P104M5;
1414/2: 300 002 352|301 122 131 V2; =V97P104M5;
1415/2: 300 122 115|164 321|042|220 143 025 V85P104M5; SHL-24; DUP; J8=Z;
1416/5: 300 120 021|164 013|170 142|304 000 037|065 V9P0M5; SHL+5; =M6; SET31; REV;
1420/4: 202 331 266 15; JS10P130; (Bit of a botch, see P198, DDES read);
1421/1: 300 120 021|164 013|170 142|041|033|101 140 V9P0M5; SHL5; =M6; ZERO; NOT; =M0M6; (Put -1 in progs ED);
1423/0: 304 000 037|300 122 115|164 321|202 331 266|041 SET31; V85P104M5; SHL-24; JS10P130; ZERO;
(Write -1 on global disc);
(== 9 ==)
1425/0: 301 122 115|041|033|202 326 253 8; =V85P104M5; ZERO; NOT; JS255P60; (Restart any OUT19);
1426/2: 203 333 037|202 271 160 JS3P193; J10P121; (End if J0);
1427/2: 041|033|301 013 006|202 271 160 ZERO; NOT; =V0P193; J10P121;(Set J0 flag);
90; (Output stats and FLEX message, entered from P155);
1430/4: 141 120 M-I5;
1431/0: 300 010 162|111 140|300 122 125 V3P120; =M0M6N; V93P104M5;
1432/2: 301 140 004|300 000 010|300 122 055|036|200 326 047 74; =E4M6; V0P0; V53P104M5; -; (Elapsed); JSP57;
1434/3: 300 121 375|042|300 122 001|056 V5P104M5; DUP; V9P104M5; +; (N E T); [ notional elapsed time
1435/5: 042|161 321|203 332 311|301 140 010|200 326 047 DUP; SHA-24; JS1P161; =E8M6; JSP57;
1437/5: 065|041|301 121 375|042 REV; ZERO; =V5P104M5; DUP; (Run time);
1440/5: 161 061|203 332 311|301 140 007|200 326 047 SHA24; JS1P161; =E7M6; JSP57;
1442/4: 300 002 351|300 120 040|304 000 033|011 V1; V24P0M5; SETB33; OR;
1444/2: 300 002 350|300 121 371|011 V0; V1P104M5; (Ending no); OR;
1445/3: 300 122 041|300 122 035|043 V41P104M5; V37P104M5; (Ident); DUPD;
1446/4: 204 323 062|166 061|300 120 040 JS71; SHLD+24; V24P0M5;
1450/0: 300 122 105|164 025|225 043 051 V77P104M5; SHL10; J75<Z; (No end if OUT50);
1451/2: 200 332 127 JS52P155; (Stats to OUT8);
1451/5: 304 000 011|200 261 321 75; SET9; JP6; (To FLEX);
Warning: V10P105 is out of range, only 3 V-stores specified
1452/5: 141 120|300 010 163|111 140|300 127 276|301 140 004 72; M-I5; V4P120; =M0M6N; V10P105M5; =E4M6;
1455/0: 203 335 032|161 321|203 332 311|301 140 010 JS1P2939; SHA-24; JS1P161; =E8M6;
1456/5: 161 321|203 332 311|301 140 007 SHA-24; JS1P161; =E7M6;
1460/1: 300 122 151|300 122 145|204 323 062 V113P104M5; V109P104M5; JS71;
1461/4: 200 332 127|200 360 000 JS52P155; EXIT1; (The S is to keepP10 happy);
71;
1462/4: 301 140 002|042|301 140 003|304 000 077|164 031|054 =E2M6; DUP; =E3M6; SETB77; SHL+12; AND;
1464/5: 164 045|300 006 340|011|301 140 005 SHL+18; V1P65; OR; =E5M6; (Job descriptor);
1466/2: 300 120 021|164 061|164 265|033|027|164 013 V9P0M5; SHL+24; SHL-38; NOT; NEG; SHL+5; (N.O.L.);
1470/1: 203 332 311|301 140 006|200 360 000 JS1P161; =E6M6; EXIT1;
=== Start P16V-1; at address 826/1472
P16; (OUT1)
1472/0: 154 145 C6TOQ5; (Keep out number);
1472/2: 300 122 105|164 021|222 041 063 V77P104M5; SHL+8; J5P3<Z; (Not with OUT40 on);
1473/4: 205 324 126 JS3P29;
1474/1: 200 260 116 J35P0;
1474/4: 300 000 276|164 377|200 143 077 V32P1; SHL-1; J2≠Z;
1476/0: 304 000 050|200 260 332 SETB50; JP2;
1477/0: 300 000 236|200 330 154 2; V0P1; JSP119;
1500/0: 304 000 060|200 260 332 3; SETB60; JP2;
1501/0: 304 000 044|224 023 103|304 000 055|224 023 103|052|200 263 100
SETB44; J1=; SETB55; J1=; ERASE; J3;
1503/4: 052 1; ERASE;
1503/5: 300 000 240|301 122 121 6; V2P1; =V89P104M5; (FOC of binary);
1504/5: 300 000 236|301 122 045|300 000 237|301 122 051 V0P1; =V45P104M5; V1P1; =V49P104M5;
1506/5: 171 130|042|164 115|221 043 123|304 004 000|054 C5; DUP; SHL+38; J8<Z; SETB2000; AND;
1510/5: 304 000 003|011|301 122 025|304 000 002|205 330 076 SET3; OR; =V29P104M5; SET2;JS113P300;
1513/0: 300 120 021|200 330 044 V9P0M5; JS106P300;
1514/0: 200 331 367|300 122 045|164 305|304 160 255|015|202 143 120 5; JSP139; V45P104M5; SHL-30; SETB70255; NEV; J7≠Z; (Allow OUT1 from D);
1516/3: 300 005 221|200 043 114|171 122|301 005 221 V0P52; J5>Z;M5; =V0P52; (Mag tape input waits for level);
1520/2: 300 120 021|164 061|164 271|033|027 7; V9P0M5; SHL+24; SHL-36; NOT; NEG;
1521/5: 164 013|301 121 371|202 270 215 SHL+5; =V1P104M5; J22P120;
1523/1: 052|200 333 103|200 263 131 8; ERASE; JSP194; J9;
1524/2: 202 324 171|205 263 126|300 013 102|301 000 237|202 273 204 JS102P29; J10; V2P194; =V1P1; J132P194;
1526/5: 052|065|052|300 013 102|065|204 324 201|202 273 204 10; ERASE; REV; ERASE; V2P194; REV; JS101P29; J132P194;
1531/0: 041|202 273 204 9; ZERO; J132P194;
=== Start P17V-1; at address 858/1532
P17; (OUT2) [ enter a new program that is already in store, i.e. load and go
1532/0: 200 326 326|200 263 152 JSP62; J2; [ check existence of NS info
1533/0: 300 120 021|164 013|170 143|102 140|301 122 031 V9P0M5; SHL+5; =RM6; M0M6Q; =V33P104M5; [ picks up word 0 of object program
1535/0: 105 006|200 103 152 =M6M0H; J2<Z; [ stores time limit in word 1 if positive
1535/5: 110 140|200 330 154 M0M6N; JSP119; [ check OK program name in word 2
1536/4: 304 000 200|203 263 152 SETB200; J3;
1537/4: 052|300 120 021|167 061|041|166 025 ERASE; V9P0M5; SHC+24; ZERO; SHLD+10;
1541/1: 100 140|164 061|042|205 143 144 M0M6; SHL+24; DUP; J5≠Z;
1542/3: 052|042|033 ERASE; DUP; NOT;
1543/0: 027|164 013|100 140|011 NEG; SHL+5; M0M6; OR;
(== 10 ==)
1544/0: 101 140|205 263 147 =M0M6; J6;
1544/5: 027|033|164 307 5; NEG;NOT;SHL-29;
1545/3: 001|032|052|225 203 147 VR; MAX; ERASE; J6V;
1546/3: 052|052|304 000 220|203 263 152 ERASE; ERASE; SETB220; J3;
1547/5: 301 122 121|052 6; =V89P104M5; ERASE; (SHC14; JS115P300;);
1550/3: 304 000 002|304 000 011 SET2;SET9; ( V0P104; SHLC6;
SHL+2; J2P15<Z;
1551/3: 204 262 353 NEG; NOT; ); J2P15;
1552/0: 304 000 210 2; SETB210;
1552/3: 304 000 006|301 000 314|200 260 332 3; SET6; =V0P2; JP2;
=== Start P18V-1; at address 876/1554
P18; (OUT3) [ query time use so far
Warning: V5P10 is out of range, only 0 V-stores specified
1554/0: 300 121 356|201 264 033 V5P10M5; J1P24; [ put run time in program's nest
=== Start P19V-1; at address 877/1555
P19; (OUT4);
1555/0: 200 326 326|201 263 157 JSP62; J6;
1556/0: 200 331 327|201 263 160 JSP132; J3;
1557/0: 052 4; ERASE;
1557/1: 304 000 070|200 260 332 6; SETB70; JP2;
1560/1: 042|200 331 174|205 263 161 3; DUP; JSP122; J5;
1561/2: 200 143 157 J4≠Z;
1561/5: 041|033|301 122 045|202 266 310 5; ZERO; NOT; =V45P104M5; J7P61;
=== Start P20V1; at address 886/1566
P20V1; (OUT5)
V-store at 01564 = 000 010 167 206 235 063 V0=B416741516463;
V-store at 01565 = 003 116 160 224 004 020 V1=B64716045002020;
1566/0: 200 326 326|203 263 220 JSP62; J2;
1567/0: 164 365|202 143 220 SHL-6; J1≠Z;
1567/5: 167 371|047|170 176|167 011|042|222 143 220 SHC-4; STR; =Q7; SHC+4; DUP; J1=Z;
1571/4: 042|041|166 131|162 007|036|170 130 DUP; ZERO; SHLD+44; SHAD+3; -; =C5;
1573/1: 300 122 015|167 120|142 120|042 (B program); V21P104M5; SHCC5;NC5; DUP;
1574/3: 171 176|050|167 120|301 122 015|222 043 220 Q7; CONT; SHCC5; =V21P104M5; J1<Z;
1576/2: 200 324 100|202 263 203 3; JSP28; J4;
1577/2: 052 (P unit found); ERASE;
1577/3: 200 331 364|300 144 035|304 000 001|200 321 321 5; JSP138;V0P26M6;SET1;JSP6;
1601/3: 171 150|205 324 126|200 320 116 C6;JS3P29;JS35P0;
1602/5: 203 266 317 J10P61;
4; (No P units);
1603/2: 042|164 023|304 001 254|011 (B program); DUP; SHL+9; SETB654; OR;
1604/3: 200 324 055|200 263 211 JS1P26; J7;
1605/3: 052|052 ERASE; ERASE;
1605/5: 300 144 035|304 000 024|164 037 6; (U unit found); V0P26M6; SETB24; SHL+15;
1607/1: 036|200 326 031|011|301 144 035|203 263 177 -; JSP55; OR; =V0P26M6; J5;
1611/0: 042|041|166 133|164 007 7; (No U units); DUP; ZERO; SHLD+45; SHL+3;
1612/0: 166 007|300 003 165|011|300 003 164|200 326 031|167 365|011 SHLD+3; V1; OR; V0; JSP55; SHC-6; OR;
1614/3: 300 120 040|304 000 003|200 321 324 V24P0M5; SET3; JS4P6;
1616/0: 033|047|015|042|012|011 NOT;STR; NEV; DUP; PERM; OR;
1617/0: 041|012|204 321 354|205 263 205 ZERO; PERM;JS2P10; J6;
1620/2: 052 1; ERASE;
1620/3: 304 000 020|200 260 332 2; SETB20; JP2;
=== Start P21V-1; at address 914/1622
P21; (OUT6);
1622/0: 200 326 326|202 263 245 JSP62; J2;
1623/0: 164 371|201 143 245 SHL-4; J1≠Z;
1623/5: 042|221 143 245 DUP; J1=Z;
1624/3: 042|170 170|170 142 DUP; =C7; =M6;
1625/2: 300 122 011|304 000 001|164 160|054|222 143 245 V17P104M5; SET1; SHLC7; AND; J2=Z;
1627/2: 300 144 035|164 043|200 043 234 V0P26M6; SHL+17; J3>Z;
1630/4: 304 064 000|201 327 117|154 166 (Mag tape); SETB32000; JS10P100; C7TOQ6;
1632/0: 200 331 364 7; JSP138;
1632/3: 205 324 126|200 260 116 6; JS3P29; J35P0;
(== 11 ==)
1633/3: 200 360 000 EXIT1;
1634/0: 153 007 3; (Not mag tape); IM0TOQ7;
1634/2: 041|200 321 351 ZERO; JSP10;
1635/0: 121 160|041|002|171 170|170 142 PARQ7; ZERO;=TR; C7; =M6;
1636/2: 300 144 035|164 321|304 001 207 (B program); V0P26M6; SHL-24; SETB607;
1637/4: 054|041|166 133|164 371|166 007 AND; ZERO;SHLD+45; SHL-4; SHLD+3;
1641/0: 036|170 150|300 122 015|167 140|142 140|047 -; =C6; V21P104M5; SHCC6; NC6; STR;
1642/5: 065|167 140|301 122 015 REV; SHCC6; =V21P104M5;
1643/5: 154 166|200 324 066|200 263 232 5; C7TOQ6; JSP27; J7;
1645/1: 052 1; ERASE;
1645/2: 304 000 030|200 260 332 2; SETB30; JP2;
[ ---------- replace
=== Start P23V4; at address 940/1654
P23V4; (OUT8);
V-store at 01647 = 000 000 000 000 000 000
V-store at 01650 = 000 000 000 000 003 247 V0=0; V1=AV0; (L queue);
V-store at 01651 = 000 000 000 000 000 000
V-store at 01652 = 000 000 000 000 003 251 V2=0; V3=AV2; (N queue);
V-store at 01653 = 377 377 377 377 377 377 V4=-1; (Marker to initiate p155);
1654/0: 205 263 317 J1;
1654/3: 300 122 025|203 043 263 99; V29P104M5; J98>Z; (Check for termination);
1655/3: 300 122 061|042|220 143 261 82; V57P104M5; DUP; J86=Z;
1656/4: 047|052 STR; ERASE;
1657/0: 304 000 055|024|045|016|202 323 265|203 263 255 83; SET45; FLOAT; FIX; ROUND; JS80; J82; (close streams);
1661/0: 052 86; ERASE; (No more streams open);
1661/1: 304 000 010|200 330 100 87; SETB10; JS114P300; (Clear holdup, probably unnecessary);
1662/1: 300 122 025|047|052|301 122 025 V29P104M5; STR; ERASE; =V29P104M5; (clear termination marker);
1663/3: 141 100|143 100|141 100|143 100|200 360 000 98; M-I4; DC4; M-I4; DC4; EXIT1; (Retrurn to main subprog);
80; (Close stream, coded str no in N1);
1665/2: 042|304 002 071|171 122|056|164 041|304 000 004|011 DUP; SETAV65P104; M5; +; SHL+16; SET4; OR;
1667/3: 065|203 323 274|170 170|300 122 061|304 377 376|167 160|054|042|047|052
REV; JS157; =C7; V57P104M5; SETB177776; SHCC7; AND; DUP; STR; ERASE;
1672/3: 041|037|027|054|301 122 061|200 261 366 ZERO; SIGN; NEG; AND; =V57P104M5; J50P10;
1674/1: 171 130 156; (Add to Q); C5;
1674/3: 164 011|171 110|011|167 341|011 157; SHL4; C4; OR; SHC-16; OR;
1675/5: 300 122 061|047|164 003|170 142|052 V57P104M5; STR; SHL1; =M6; ERASE; [ top bit of V57P104M5 indicates which tape is used by this prog
1677/2: 300 143 251|300 003 253|041|032|037|054|301 003 253 V2M6; V4; ZERO; MAX; SIGN; AND; =V4; (Sets V4=0 if queue needs processing);
1701/3: 042|300 143 252|042|066|164 341 DUP; V3M6; DUP; CAB; SHL-16;
1702/5: 166 341|052|167 041|042 SHLD-16; ERASE; SHC16; DUP;
1703/5: 301 143 252|170 142|041|101 140|170 142|101 140|200 360 000 =V3M6; =M6; ZERO; =M0M6; =M6; =M0M6; EXIT1;
158; (Check str no and put coded stream in N1);
1706/2: 171 170|042|304 377 310|054|164 373|027|033|200 145 155 C7; DUP; SETB177710; AND; SHL-3; NEG; NOT; J1P45≠Z; (invalid); [ output streams are 10-17, 30-37, 50-57, 70-77
1710/4: 167 371|041|162 007|011|202 360 001 SHC-4; ZERO; SHAD+3; OR; EXIT2; [ coded stream nos are 00-07, 10-17, 20-27, 30,37
1712/1: 052 15; ERASE;
1712/2: 304 001 370|200 260 332 16; SETB770; JP2; (Invalid parameters in N1);
1713/2: 304 001 340|200 260 332 18; SETB740; JP2; (Invalid stream number);
1714/2: 100 160|300 011 375|015|164 341|220 143 353 19; M0M7; V2P155; NEV; SHL-16; J21=Z;
1716/1: 141 100|143 100|304 001 320|200 260 332 M-I4; DC4; SETB720; JP2; (Invalid last char);
1717/5: 171 176|301 000 033 1; Q7; =V19P0; (Restore EDT);
1720/4: 200 326 326|202 263 312|170 176 JSP62; J16; =Q7;
1722/0: 171 162|171 164|200 023 333|171 170|015|201 143 312|052 M7; I7; J27≠; C7; NEV; J15≠Z; ERASE; (Close stream);
1724/2: 202 323 306|202 263 312|170 176 JS158; J16; =Q7;
1725/4: 202 331 370|171 162|042|033|170 170 JS1P139; M7; DUP; NOT; =C7; (Wait for second subprog);
1727/1: 204 334 070 JS8P196; (Remove progs N2);
1727/4: 300 122 061|167 160|200 045 155|140 100|171 104|172 110 V57P104M5; SHCC7; J1P45>Z; M+I4; I4; =+C4; (Check str open);
1732/0: 202 323 265|203 263 254 JS80; J99;
1733/0: 052|200 331 331|202 263 312 27; ERASE; JSP133; J16; (Check parametrs);
1734/1: 154 007|202 331 370|200 327 247 29; C0TOQ7; JS1P139; JSP102; (Wait for previous transfer or P105, set CPL);
1735/3: 171 164|170 143|100 140|170 170|245 163 360 I7; =RM6; M0M6; =C7; J13C7Z; (J if FLEX);
1737/2: 300 122 065|027|033|042|301 122 065|224 144 013 V61P104M5; NEG; NOT; DUP; =V61P104M5; J71=Z; (Check access O/P);
1741/2: 202 323 306|202 263 313|042|170 130|171 104|042|172 110|140 100
JS158; J18; DUP; =C5; I4; DUP; =+C4; M+I4; (Switch to second subprog);
1744/0: 164 120|300 122 061|043|011|301 122 061|054|201 143 350 SHLC5; V57P104M5; DUPD; OR; =V57P104M5; AND; J28≠Z; (Stream not yet open); [ V57P104M5 is the bit pattern of open streams
1746/2: 304 002 071|171 122|056|164 041|201 323 274 SETAV65P104; M5; +; SHL+16; JS156; (Open);
1750/1: 167 371|200 043 353 28; SHC-4; J21>Z; (jump if punch str); [ J if stream < 50
1751/0: 100 160|164 125|026|164 253|027|033|202 143 314 M0M7; SHL42; ABS; SHL-43; NEG; NOT; J19≠Z; (Check last char);
1753/0: 154 007|041|041|171 176|041|033|050|042|201 323 274|205 324 126|200 320 116
21; C0TOQ7; ZERO; ZERO; Q7; ZERO; NOT; CONT; DUP; JS156; JS3P29; JS35P0;
1756/1: 130 162|204 321 354|203 263 254 PMHQ7; (Lock out transfer area); JS2P10; J99;
1757/3: 041|200 321 353|171 164|170 143 14; ZERO; JS3P10; I7; =RM6;
1760/5: 300 001 310|033|203 143 357 13; V56P6; NOT; J14≠Z; (Wait if transfer will fill FLEX queue);
1762/0: 171 162|171 164|036|304 000 010|032|052|170 150 M7; I7; -; SET8; MAX; ERASE; =C6; (Truncate if more than 8 words);
1764/0: 245 143 371|304 377 326|170 130|112 140 3; J4C6Z; SET-42; =C5; M0M6QN;
1765/4: 164 120|304 000 077|054 5; SHLC5; SETB77; AND;
1766/4: 304 000 002|224 024 010|304 000 004|224 024 010 SET2; J6=; SET4; J6=; (Check not 02 or 04);
1770/4: 304 000 075|202 024 005|052 SETB75; J7≠; (EM); ERASE;
1771/5: 300 122 045|225 044 010 4; V45P104M5; J8<Z; (Fail if query);
1772/5: 145 140|171 142|171 164|036|170 150|154 145 I6=-1; M6; I7; -; =C6; C6TOQ5;
1774/4: 240 144 002|102 140|304 000 010|170 170 2; J12C6Z; M0M6Q; SET8; =C7;
1776/2: 200 331 215|205 263 377|204 263 374 11; JSP127; J10; J2;
1777/5: 167 015|143 160|262 163 376|052|143 120|204 263 374 10; SHC6; DC7; J11C7NZ; ERASE; DC5; J2;
2002/0: 300 120 040|304 000 017|011 12; V24P0M5; SETB17; OR;
2003/1: 205 324 126|200 320 116 24; JS3P29;JS35P0;
2004/1: 171 130|033|027|200 261 324 C5; NOT; NEG; J4P6;
2005/2: 304 000 034|015|224 144 014|240 123 364 7; SETB34; NEV; J9=Z; J3C5Z;
2007/0: 304 000 006|172 130|100 140|204 263 365 SET6; =+C5; M0M6; J5;
2010/4: 052 6; ERASE;
2010/5: 304 001 330|200 260 332 8; SETB730; JP2;
2011/5: 052|141 100|143 100|304 001 350|200 260 332 70; ERASE; M-I4; DC4; SETB750; JP2;
2013/4: 304 001 360|200 260 332 71; SETB760; JP2;
2014/4: 300 122 045|205 044 010|265 124 010|245 144 010 9; V45P104M5; J8>Z; J8C5NZ; J8C6Z;
2016/4: 300 122 105|164 015|300 007 160|164 003|033|054|225 044 010 V77P104M5; SHL6; V26P101; SHL1; NOT; AND; J8<Z;
2021/1: 171 164|170 142|300 120 040|304 000 017|011|101 140|205 324 126|200 320 116
I7; =M6; V24P0M5; SETB17; OR; =M0M6; JS3P29; JS35P0;
2024/2: 140 100|171 104|172 110|304 003 052|205 330 076 M+I4; I4; =+C4; SET810; JS113P300; (Hold up);
2026/2: 041|171 164|171 162|200 321 335|304 000 010|200 330 100|203 263 254
ZERO; I7; M7; JSP8; SETB10; JS114P300; J99;
(== 13 ==)
=== Start P24V-1; at address 1050/2032
P24; (OUT9);
2032/0: 300 000 010|300 000 016|056 V0P0; V6P0; +;
2033/1: 301 000 236|200 360 000 1; =V0P1; EXIT1;
=== Start P26V15; at address 1069/2055
P26V15; (Look for unit of given type, status
and prog. letter);
V-store at 02035 = 000 020 377 377 000 020 V0=Q16/-1/16;
V-store at 02036 = 377 377 377 377 377 377
V-store at 02037 = 377 377 377 377 377 377
V-store at 02040 = 377 377 377 377 377 377
V-store at 02041 = 377 377 377 377 377 377
V-store at 02042 = 377 377 377 377 377 377 V1=-1; V2=-1; V3=-1; V4=-1; V5=-1;
V-store at 02043 = 377 377 377 377 377 377
V-store at 02044 = 377 377 377 377 377 377
V-store at 02045 = 377 377 377 377 377 377
V-store at 02046 = 377 377 377 377 377 377
V-store at 02047 = 377 377 377 377 377 377 V6=-1; V7=-1; V8=-1; V9=-1; V10=-1;
V-store at 02050 = 377 377 377 377 377 377
V-store at 02051 = 377 377 377 377 377 377
V-store at 02052 = 377 377 377 377 377 377
V-store at 02053 = 377 377 377 377 377 377
V-store at 02036 = 377 377 377 377 377 377 V11=-1; V12=-1; V13=-1; V14=-1; V1=-1;
2055/0: 300 004 035|170 156 1; V0; =Q6;
2055/5: 167 373|042|224 044 060|304 000 006|166 015 2; SHC-3; DUP; J3<Z; SET6; SHLD+6;
2057/4: 164 373|011|200 264 061 SHL-3; OR; J4;
2060/4: 164 015 3; SHL+6;
2061/0: 302 144 034|245 145 154 4; V-1M6Q; J3P45C6Z;
2062/0: 041|166 053|164 373|166 053|164 351 ZERO; SHLD+21; SHL-3; SHLD+21; SHL-12;
2063/3: 166 351|052|164 305|200 024 061 SHLD-12; ERASE; SHL-30; J4≠;
2064/5: 202 360 001 EXIT2;
=== Start P27V-1; at address 1078/2066
P27; (Given allocated unit number IN C6, M6, change
status to U if N1=0, otherwise to P)
2066/0: 224 144 072 J1=Z;
2066/3: 300 144 035|167 321|164 015|304 000 060|011 3; V0P26M6; SHC-24; SHL+6; SETB60; OR;
2070/2: 167 045|042|164 031|300 120 040|304 000 002|201 264 076 SHC+18; DUP; SHL+12; V24P0M5; SET2; J2;
2072/4: 120 141|300 144 035|164 365|167 335|164 015 1; MANUALQ6; V0P26M6; SHL-6; SHC-18; SHL+6;
2074/3: 304 000 065|011|167 045|042|304 000 001 SETB65; OR; SHC+18; DUP; SET1;
2076/1: 200 321 321|301 144 035|200 360 000 2; JSP6; =V0P26M6; EXIT1;
=== Start P28V-1; at address 1088/2100
P28; (Look for unit of given type pre-allocated
to given program. If found, change state to A);
2100/0: 042|164 023|304 001 200|011|300 122 005|164 245 DUP; SHL+9; SETB600;OR; V13P104M5; SHL-46;
2102/0: 011|200 324 055|200 360 000|300 144 035|304 000 017|164 045 OR; JS1P26; EXIT1; V0P26M6; SETB17; SHL+18;
2104/3: 036|301 144 035|052 -; (P becomes A); =V0P26M6; ERASE;
2105/2: 202 360 001 EXIT2;
=== Start P29V-1; at address 1094/2106
P29; (Super new nest dealer); [ manipulate user program's nest
2106/0: 202 324 171|201 264 150|300 000 236 1; JS102; J11; (Fetch N1); V0P1; (N1);
2107/3: 300 000 276|042|225 145 154 V32P1; DUP; J3P45=Z; (Nest empty);
2110/4: 027|033|042|170 151|242 144 113 63; NEG; NOT; DUP; =RC6; J65C6Z;
2112/0: 300 140 237|303 140 236|177 140 *66; V1P1M6; =V0P1M6Q; J66C6NZS; (Shift nest up);
2113/2: 301 000 276|202 360 001 65; =V32P1; EXIT2; (Adjust nest count);
2114/2: 301 000 005|202 324 171|202 264 153 2; =E5; (Store value to be planted); JS102; J12; (Store);
2115/5: 041|033|301 004 163 ZERO; NOT; =R16; (M6 zero for nest);
2116/4: 300 140 276|042|164 371|200 145 155 60; V32P1M6; DUP; SHL-4; J1P45≠Z; (Too full)
2120/1: 042|042|033|027|301 140 276|170 150 DUP; DUP; NOT; NEG; =V32P1M6; =C6;
2121/4: 171 142|164 011|056|170 142|242 144 125 M6; SHL4; +; =M6; (M6 now 16 OR 0); J19C6Z;
2123/2: 017|017|017|017|300 140 235|303 140 236|177 140 *20; V-1P1M6; =V0P1M6Q; J20C6NZS;
2125/2: 300 000 005|301 140 236|202 360 001 19; E5; =V0P1M6; EXIT2; (Store in SJNS);
2126/5: 202 324 171|204 264 156 3; JS102; J13; (erase); [ entry to ERASE from program's nest
2127/5: 300 000 276|042|220 145 155|204 264 110 V32P1; DUP; J1P45=Z; J63;
2131/3: 202 324 171|203 264 160|041|202 264 113 4; JS102; J14; (Clear); ZERO; J65; [ completely empty the program's nest
2133/1: 202 324 171|204 264 161|300 000 256 5; JS102; J15; (Fetch J); V16P1; (J1); [ fetch top cell of program's SJNS
2134/4: 300 000 277|042|225 145 154 V33P1; DUP; J3P45=Z; (SJNS empty);
2135/5: 027|033|042|304 000 017|032|052|001|170 151|242 144 142 NEG; NOT; DUP; SET15; MAX; ERASE; VR; =RC6; J24C6Z;
2140/1: 017|017|017|017|017|300 140 257|303 140 256|177 140 *25; V17P1M6; =V16P1M6Q; J25C6NZS; (Shift up SJNS);
2142/2: 301 000 277|202 360 001 24; =V33P1; EXIT2; (Adjust SJNS count);
2143/2: 301 000 005|202 324 171|204 264 163 6; =E5; (Store value to be planted); JS102; J16; (StoreJ); [ store in SJNS
(== 14 ==)
2144/5: 041|033|301 004 163|141 140|204 264 116 ZERO; NOT; =R16; M-I6; (M6 is 1 for SJNS); J60;
2146/3: 202 324 171|201 264 167|041|202 264 142 7; JS102; J17; (Clear J); ZERO; J24; [ completely empty the program's SJNS
2150/1: 164 005|164 247|222 144 170 11; SHL2; SHL-45; J29=Z; (Nest empty);
2151/2: 301 000 005|204 324 201|300 000 005|202 360 001 32; =E5; (Store value fetched); JS101; E5; EXIT2; (ZERO; NOT; NEG;);
2153/2: 164 005|164 253|304 000 022|036|222 104 170|300 000 005 12; SHL2; SHL-43; SET18; -; J29>Z; (Nest too full); E5;
2155/4: 204 324 201|202 360 001 50; JS101; EXIT2;(ZERO);
2156/4: 164 005|164 247|222 144 170|052|204 264 155 13; SHL2; SHL-45; J29=Z; (Next empty); ERASE;J50;
2160/3: 052|203 244 160|204 264 155 14; ERASE; J14NEN; J50;
2161/4: 164 017|164 251|222 144 170|173 000|202 264 151 15; SHL7; SHL-44; J29=Z; (SJNS empty); LINK; J32;
2163/4: 164 017|164 253|304 000 020|036|222 104 170 16; SHL7; SHL-43; SET16; -; J29>Z; (SJNS TOO FULL);
2165/3: 300 000 005|174 000|204 264 155 E5; =LINK; J50;
2166/5: 173 000 40; LINK;
2167/1: 052|205 304 166|204 264 155 17; ERASE; J40NEJ; J50;
2170/2: 204 324 201|200 360 000 29; JS101; EXIT1; (ZERO; NOT;);
2171/2: 171 122|300 000 017|015|220 151 217 102; M5; V7P0; NEV; J1P127=Z; (Exit 2 if nest in core);
2172/5: 173 000|204 324 174|065|174 000|200 360 000 LINK; JS100; REV; =LINK; EXIT1; (EXIT1 if in nest stack);
(N1=stack count on exit);
100; (Swap to programmers nest);
2174/4: 304 000 001|164 123|176 001|056|301 000 003|300 122 005|042|175 020
SET1; SHL41; K7; +; =E3; V13P104M5; DUP; =K3;
2177/3: 017|017|017|017|017|017 DUMMY; DUMMY; DUMMY; DUMMY; DUMMY; DUMMY;
2200/3: 017|017|017|017 DUMMY; DUMMY; DUMMY; DUMMY;
2201/1: 200 265 155 J1P45;
101; (Swap to director's nest);
2201/4: 041|304 000 001|164 123|176 001|056|300 000 003|175 020 ZERO; SET1; SHL41; K7; +; E3; =K3;
2204/0: 017|017|017|017|017|017 DUMMY; DUMMY; DUMMY; DUMMY; DUMMY; DUMMY;
2205/0: 017|017|017|017 DUMMY; DUMMY; DUMMY; DUMMY;
2205/4: 052|042|300 122 005|015 ERASE; DUP; V13P104M5; NEV;
2206/4: 300 000 017|170 142|176 001|300 142 005|015|011 V7P0; =M6; K7; V13P104M6; NEV; OR;
2210/4: 164 245|200 140 116|301 122 005|200 265 155 SHL-46; J35P0≠Z; =V13P104M5; J1P45;
=== Start P30V-1; at address 1163/2213
P30; (SetQ4 = 2P+2/1/AV1P11+2P+2, for
entry to P10);
2213/0: 171 122|033|027|161 003|042 M5; NOT; NEG; SHA+1; DUP;
2214/1: 170 111|304 002 156|056|170 102|200 360 000 =RC4; SETAV1P11; +; =M4; EXIT1;
=== Start P31V-1; at address 1166/2216
P31; (Fetch character, result in C7);
[ on entry M6 points at word and C6 = char number, 0 for most sig
2216/0: 100 140|164 140|164 255|170 170|304 000 006 8; M0M6; SHLC6; SHL-42; =C7; SET6;
2217/5: 172 150|041|033|164 140|203 144 222 =+C6; ZERO; NOT; SHLC6; J2≠Z;
2221/2: 154 006|304 000 001|172 142 C0TOQ6; SET1; =+M6;
2222/3: 300 011 173|041|166 160|166 343|052 2; V1P122; ZERO; SHLDC7; SHLD-15; ERASE;
2224/0: 203 044 226|171 144|200 144 226|202 360 002 J3>Z; I6; J4≠Z; EXIT4;
2225/5: 052 5; ERASE;
2226/0: 200 360 001 4; EXIT3;
2226/3: 171 170|304 000 004|225 024 225|304 000 032|225 024 225 3; C7; SET4; J5=; SETB32; J5=;
2230/5: 304 000 034|225 024 225|304 000 075|225 024 225|304 000 002 SETB34; J5=; SETB75; J5=; SET2;
2233/2: 203 024 234|052|202 360 001 J6≠;ERASE; EXIT2;
2234/3: 304 000 006|036|042|201 144 236|145 140 6; SET6; -; DUP;J7≠Z;I6=-1;
2236/1: 027|033|202 144 237|152 006 7; NEG; NOT; J1≠Z; I0TOQ6;
2237/2: 260 164 216|200 360 000 1; J8C7NZ; EXIT1;
=== Start P32V-1; at address 1185/2241
P32; (Fetch number. Result in N1);
2241/0: 304 177 200 SETB77600;
2241/3: 170 176|041 1; =Q7; ZERO;
2242/0: 042|221 044 244|171 162|003|034 5; DUP; J3<Z; M7; BITS; ×D;
2243/2: 050|304 000 020|036 CONT; SETB20; -;
2244/1: 171 170|056 3; C7; +;
2244/4: 200 324 216|201 264 254|201 264 254|204 264 252|171 162 4; JSP31; J6; J6; J2; M7;
2247/0: 164 043|164 160|220 044 242 SHL+17; SHLC7; J5<Z;
2250/1: 171 170|304 000 012|037|201 044 254 C7; SET10; SIGN; J6>Z;
(== 15 ==)
2251/4: 052|041|033|200 360 000 ERASE; ZERO; NOT;EXIT1;
2252/4: 171 170|304 000 075|015|221 145 155 2; C7; SETB75; NEV; J4P45=Z;
2254/1: 042|224 044 244 6; DUP; J4<Z;
2254/5: 202 360 001 EXIT2;
=== Start P33V3; at address 1202/2262
P33V3; (TINT A = terminate program)
V-store at 02257 = 066 072 045 216 277 334 V1=P *CHECK[DQ];
V-store at 02261 = 200 000 004 256 004 260 V3=QB100000/AV0/AV2;
2262/0: 200 324 345|200 326 031|301 100 024 JSP38; JSP55; =E20M4; (Keep prog letter);
2263/3: 300 122 105|042|164 015|011|204 044 272 V77P104M5; DUP; SHL6; OR;J2>Z; (Dont J if TINT X or quiet)
2265/1: 300 120 040|301 004 256|300 004 261|301 001 120 V24P0M5; =V0; V3; =V5P4;
2267/1: 041|033|042|301 000 033|201 321 366 ZERO; NOT; DUP; =V19P0; JS51P10; (Await reply);
2270/4: 300 004 260|164 271|304 016 137|015|201 145 155 V2; SHL-36; SETB7137; NEV; J4P45≠Z; (Ignore if not Y.);
2272/4: 300 100 024|170 170|200 326 033|200 320 116 2; E20M4; =C7; JSP56; JS35P0;
Warning: V29P10 is out of range, only 0 V-stores specified
2274/3: 300 122 006|042|204 144 304 7; V29P10M5; DUP; J1≠Z; (J if TINT A suppressed);
2275/4: 300 011 223|171 170|015|200 144 300|042|033|301 011 223 V0P130; C7; NEV; J3≠Z; DUP; NOT;=V0P130; (Clear if dumped);
2300/0: 304 000 144|200 330 100 3; SETB144; JS114P300; (Clear possible OUT19, TINT S and rollout);
2301/0: 171 116|200 324 213|065|041|300 001 115|164 031|164 255|201 324 307
Q4; JSP30; REV; ZERO; V2P4; SHL12; SHL-42; JS8;
2303/5: 170 116|202 360 001 =Q4; EXIT2; (Keeps Q4 in case in director subprogram
when just overwriting it cases subprogentrys to be lost
which is catasrophic if thos levels are in disc Q)
2304/4: 042|171 104|164 133|054|164 003|011|301 122 025|202 360 001 1; DUP; I4; SHL45; AND; SHL1; OR; =V29P104M5; EXIT2;
2307/1: 204 321 354 8; JS2P10; (Now in priority subprogram)
2307/4: 304 000 004|171 162|304 000 035|015|201 142 353 SET4; M7; SETB35; NEV; J1P15≠Z;
2311/4: 301 000 314|201 260 352 =V0P2; J2P2;
=== Start P34V-1; at address 1227/2313
P34; (TINT B - read integer to E0);
2313/0: 200 324 345 JSP38;
2313/3: 200 324 241|200 265 155 JSP32; J1P45;
2314/3: 300 120 021|042|164 111|225 145 154 V9P0M5; DUP; SHL+36; J3P45=Z;
2316/0: 164 015|033|027|170 142 SHL+6; NOT; NEG; =M6;
2317/0: 300 122 025|304 376 376|167 373|054 V29P104M5; SETB177376; SHC-3; AND; (Mask out disc Q markers);
2320/3: 301 122 031|202 360 001 =V33P104M5;EXIT2;
2321/3: 164 061|105 140|202 360 001 1; SHL+24; =M0M6H; EXIT2;
=== Start P35V0; at address 1236/2324
P35V0; (Reset max number of dumpable levels);
V-store at 02323 = 000 000 000 000 000 004 V0=4; (Initial value =4);
2324/0: 200 324 241|200 265 155|042|164 375|200 145 155 JSP32; J1P45; DUP; SHL-2; J1P45≠Z; (Check <4);
2326/0: 033|027|301 004 323|202 360 001 NOT; NEG; =V0; EXIT2;
=== Start P37V-1; at address 1240/2330
P37; (TINT E - nominate program tape)
2330/0: 200 324 241 JSP32;
2330/3: 200 265 155 J1P45;
2331/0: 042|170 162|042|304 000 007|037|220 045 155 DUP; =M7; DUP; SET7; SIGN; J1P45<Z;
2332/5: 164 371|201 145 155 SHL-4; J4P45≠Z;
2333/4: 304 024 054|300 164 035|164 037|164 277 SETB12054; V0P26M7; SHL+15; SHL-33;
2335/2: 015|201 145 155 NEV; J4P45≠Z;
2336/0: 171 162|301 005 222|300 005 221 2; M7; =V1P52; V0P52;
2337/2: 042|170 162|220 044 344 3; DUP; =M7;J4<Z;
2340/2: 300 162 025|042|033|164 245|164 137 V29P104M7; DUP;NOT; SHL-46; SHL+47;
2341/5: 164 375|033|054|167 007 SHL-2; NOT; AND; SHC+3;
2342/5: 047|052|167 373|301 162 025 STR; ERASE; SHC-3; =V29P104M7;
2344/0: 202 360 001 4; EXIT2;
=== Start P38V-1; at address 1253/2345
P38; (Fetch prog letter for TINT routine, AGAIN TINT if nogo);
2345/0: 200 324 216|203 264 347|203 264 347|203 264 347|200 326 033 JSP31; J1; J1; J1; JSP56; [ this is very tricky code so that EXIT1 form P56 goes to AGAIN TINT
2347/3: 173 000|052|200 360 000 1; LINK; ERASE; EXIT1; [ EXIT2 from P56 then does EXIT1 from this routine
=== Start P39V0; at address 1258/2352
P39V0; (TINT G - type unit list);
V-store at 02351 = 153 246 245 153 046 257 V0=B3272324532623257;
2352/0: 200 324 241|200 265 155 JSP32;J1P45;
2353/0: 042|042|027|033|065|304 000 020|036|015|200 045 155 DUP; DUP; NEG; NOT;REV;SET16;-;NEV; J1P45>Z;
(== 16 ==)
2355/1: 200 324 241|203 264 375 JSP32; J15;(Reading D2);
2356/1: 043|036|225 105 154 DUPD;-; J3P45>Z;
2357/0: 042|304 000 017|036|225 105 154 DUP; SET15;-; J3P45>Z;
2360/2: 065|042|012|036|304 000 001|042|012|056|170 151|036 16; REV; DUP; PERM;-; SET1;DUP; PERM;+;=RC6;-;
2362/3: 170 142 =M6; (Q6=D2-D1+1/1/D1=1);
2362/5: 302 144 036|042|222 044 374|042|164 061 1; V1P26M6Q; DUP; J4<Z; DUP; SHL+24;
2364/3: 164 255|304 000 054|015|201 144 373 SHL-42; SETB54; NEV; J3≠Z; (Jump if
2366/0: 171 142|200 331 325|170 142 status not L); M6; JSP131; =M6;
2367/1: 300 147 106|300 147 105|066|170 142|042 V-16P101M6; V-17P101M6; CAB; =M6; DUP;
2370/5: 200 144 372|052|300 004 351 J2≠Z; ERASE; V0;
2372/0: 066|304 000 003|204 264 373 2; CAB; SET3; J5;
2373/1: 304 000 001 3; SET1;
2373/4: 200 321 321|041 5; JSP6;ZERO;
2374/2: 052|265 144 362|202 360 001 4; ERASE; J1C6NZ; EXIT2;
2375/3: 052|042|202 264 360 15; ERASE; DUP; J16;
=== Start P40V-1; at address 1279/2377
P40; (TINT H - type wanted list);
2377/0: 041|033|042|301 007 126|301 000 033 ZERO; NOT; DUP; =V0P101; =V19P0;
2400/3: 202 360 001 EXIT2;
=== Start P41V-1; at address 1281/2401
P41; (TINT I - even and od restarts);
2401/0: 200 324 345 JSP38;
2401/3: 300 122 025|201 145 155 V29P104M5; J4P45≠Z;
2402/3: 200 324 216|200 360 000|200 360 000|200 360 000 JSP31; EXIT1; EXIT1; EXIT1;
2404/3: 171 170|042|164 373|304 000 002|015 C7; DUP; SHL-3; SET2; NEV;
2406/0: 200 145 155 J1P45≠Z; (Check octal integer)
2406/3: 164 137|042|300 122 021|167 365|011|224 045 016 41; SHL+47; DUP; V25P104M5; SHC-6; OR; J2<Z; (Jif odd rst or roll)
2410/3: 200 324 213|041|101 100 JSP30; ZERO; =M0M4; (Clear SHUL)
2411/3: 304 000 101|200 330 100 SETB101; JS114P300; (Clear HUR)
2412/3: 201 334 021 JS142P195; (Clear disc inhibit if there is one);
2413/0: 300 004 035|170 156 V0P26; =Q6; (Now clear transfer on devices);
2413/5: 102 140|052|244 145 016|200 331 210|205 265 013|120 140|205 265 013
4; M0M6Q; ERASE; J2C6Z; JSP125; J4; CTQ6; J4;
2416/4: 161 377|164 277|304 000 004|011 2; SHA-1; SHL-33; SET4; OR; (4/0 or 4/3)
2420/0: 202 264 143 J6P29; (Store in SJNS);
=== Start P42V-1; at address 1297/2421
P42; (TINT J, modified for output well);
2421/0: 304 177 340|203 324 241|203 265 023 SETB77740; JS1P32; J2;
2422/3: 301 011 377|202 360 001 1; =V4P155; EXIT2;
2423/3: 052|300 003 252|164 301|221 145 155 2; ERASE; V3P23; SHL-32; J4P45=Z;
2425/0: 041|033|042|301 000 033|203 265 022 ZERO; NOT; DUP; =V19P0; J1;
=== Start P44V0; at address 1304/2430
P44V0; (TINT L - change type of unit);
V-store at 02427 = 010 152 202 000 004 072 V0=B0206520200002072; (Skeleton
descriptor shiftwed cyclically down 33);
2430/0: 200 324 241|200 265 155 JSP32; J1P45;
2431/0: 304 000 016|220 025 155 SETB16; J1P45=; (Fail if disc);
2432/0: 042|220 145 155 DUP; J1P45=Z;
2432/4: 042|164 371|200 145 155 DUP; SHL-4; J1P45≠Z;
2433/4: 042|170 122|300 124 035|042|222 045 043 DUP; =M5; V0P26M5; DUP; J2<Z;
2435/2: 042|164 125|205 145 154 DUP; SHL+42; J3P45≠Z;
2436/2: 164 133|164 255|304 000 045|202 025 042 SHL+45; SHL-42; SETB45; J6≠;
2440/0: 052|300 005 222|205 025 041 (L); ERASE; V1P52; J8≠;
2441/1: 041|301 005 222 ZERO; =V1P52;
2441/5: 203 265 043 8; J7;
2442/2: 304 000 065|205 025 154 6; SETB65; J3P45≠;
2443/2: 052 2; ERASE;
2443/3: 167 365|200 324 241|205 265 154 7; SHC-6; JSP32; J3P45;
2444/5: 042|167 371|202 045 050 DUP; SHC-4; J4>Z;
2445/5: 304 000 010|205 025 154 SETB10; J3P45≠;
2446/5: 171 122|304 000 007|037|205 145 154 M5; SET7; SIGN; J3P45≠Z;
2450/2: 042|225 045 154|042|164 365|205 145 154 4; DUP; J3P45<Z; DUP; SHL-6; J3P45≠Z;
2452/0: 042|202 145 054|052|052|041 DUP; J5≠Z; ERASE; ERASE; ZERO;
(== 17 ==)
2453/1: 033|301 124 035|202 360 001 NOT; =V0P26M5; EXIT2;
2454/2: 167 365|300 005 027|166 007|167 007|166 007 5; SHC-6; V0; SHLD+3; SHC+3; SHLD+3;
2456/1: 065|052|167 023|166 007|167 007 REV; ERASE; SHC+9; SHLD+3; SHC+3;
2457/3: 166 007|167 015|042|301 124 035|304 000 001 SHLD+3; SHC+6; DUP; =V0P26M5; SET1;
2461/2: 200 321 321|052|202 360 001 JSP6; ERASE; EXIT2;
=== Start P45V13; at address 1345/2501
P45V13; (TINT M - post-mortem);
V-store at 02466 = 010 175 051 273 100 055 V3=B0207645156640055;
V-store at 02467 = 002 211 154 220 015 160 V4=B0050455444006560;
V-store at 02470 = 172 353 300 303 114 037 V5=B3656570060646037;
V-store at 02471 = 002 375 164 303 135 000 V6=B0057656460656400;
V-store at 02474 = 101 004 000 101 004 000 V9=B2020200020202000;
(Output is assembled in V11-13 and punched from
v0-2. V10 is machine size, i.e. no. of words);
2501/0: 200 324 241|200 265 155|200 326 033|202 265 104|300 120 021|164 115|164 277|056
JSP32; J1; JSP56; J2; V9P0M5; SHL+38; SHL-33; +;
2504/2: 042|170 123|200 324 241|205 265 154 2; DUP; =RM5; JSP32; J3;
2505/5: 042|170 130|056|300 005 075|036 DUP; =C5; +; V10; -;
2507/1: 221 105 155 J4>Z; (Jump if top of machine passed);
2507/4: 304 002 157|170 103|171 104|170 110|304 007 254 SETAV2P11; =RM4; I4; =C4; SETB3654;
2511/4: 200 324 055|204 265 145 JS1P26; J5;
2512/4: 052 ERASE;
2512/5: 300 144 035|304 000 024|164 045|036 6; V0P26M6; SETB24; SHL+18; -;
2514/2: 304 000 044|011|042|301 144 035|304 000 001 SETB44; OR; DUP; =V0P26M6; SET1;
2516/1: 200 321 321|154 147|304 005 063 JSP6; (Type new descriptor); C6TOQ7; SETAV0;
2517/3: 170 164|304 005 065|170 162|041|171 122|304 000 002 =I7; SETAV2; =M7; ZERO; M5; SET2;
2521/4: 170 143|300 005 066|301 005 076|300 005 071|301 005 077 =RM6; V3; =V11; V6; =V12;
2524/0: 300 005 073|065|067|300 005 074|056 7; V8; REV; FRB; V9; +;
2525/3: 243 145 127|303 145 076 J8C6Z; =V11M6Q;
2526/3: 041|166 041|200 265 124 10; ZERO;SHLD+16; J7;
2527/3: 304 000 002|011|301 145 076|052|041|033|171 136 8; SET2; OR; =V11M6; ERASE; ZERO; NOT; Q5;
2531/3: 301 005 072|200 321 351|304 000 003|170 151 =V7; JSP10; SET3; =RC6;
2533/2: 017|017|017|017|300 145 076|303 145 063|177 140|130 160|300 005 072
*11; V11M6; =V0M6Q; J11C6NZS; PWQ7; V7;
2536/1: 170 136|244 125 140|102 120|304 000 002|170 151 =Q5; J9C5Z; M0M5Q; SET2; =RC6;
2540/1: 203 265 126 J10;
2540/4: 171 170|170 142|300 144 035|164 365|164 015 9; C7; =M6; V0P26M6;SHL-6;SHL+6;
2542/3: 304 000 024|164 045|056|042|301 144 035 SETB24; SHL+18; +; DUP; =V0P26M6;
2544/1: 304 000 001|200 321 321|202 360 001 SET1; JSP6; EXIT2;
2545/4: 300 005 070|300 005 067|300 005 066|304 000 003|200 321 321|041|033
5; V5; V4; V3; SET3; JSP6; ZERO; NOT;
2550/3: 042|047|015|042|304 000 003 DUP; STR; NEV; DUP; SET3;
2551/4: 011|171 136|301 005 072|204 321 354|300 005 072 OR; Q5; =V7; JS2P10; V7;
2553/4: 170 136|205 265 112 =Q5; J6;
2554/3: 052 13; ERASE;
2554/4: 052 12; ERASE;
2554/5: 052 3; ERASE;
2555/0: 052 1; ERASE;
2555/1: 200 360 000 4; EXIT1;
=== Start P48V-1; at address 1390/2556
P48; (TINT P
P60 switch on job organiser
P61 switch off jo
P62 dont as react on on-line jobs
P63 ask react always
P64 switch on jo message
P65 switch off jo message
);
2556/0: 200 324 241|200 265 155|304 000 060|036|042|220 045 155|167 377|047|065
JSP32; J1P45; SETB60; -; DUP; J1P45<Z; SHC-1; STR; REV;
2561/0: 170 170|300 007 160|167 160|047|052|065|050|142 160 =C7; V26P101; SHCC7; STR; ERASE; REV; CONT; NC7;
2563/1: 167 160|301 007 160|202 360 001 SHCC7; =V26P101; EXIT2; (Set or clear D0 for 60/1,D1 for 62/63 etc);
=== Start P49V0; at address 1398/2566
P49V0; (TINT Q - prints core available - added 25/1/67);
V-store at 02565 = 003 173 362 223 077 377 V0=P [S] WORDS [DD];
2566/0: 300 005 165|200 330 126|041|017|017|164 301|203 332 311|164 045
V0; JSP117;ZERO;DUMMY;DUMMY;SHL-32;JS1P161;SHL18;
(== 18 ==)
2570/4: 304 041 377|011|167 335|304 000 002|205 265 333 SETB020777; OR; SHC-18; SET2; J26P52;
=== Start P50V-1; at address 1403/2573
P50; (TINT R - resume program);
2573/0: 200 324 345|304 000 004|200 330 100|202 360 001 JSP38; SETB4; JS114P300; EXIT2;
=== Start P51V-1; at address 1405/2575
P51; (TINT S - suspend program);
2575/0: 200 324 345|304 000 004|205 330 076|202 360 001 JSP38; SETB4; JS113P300; EXIT2;
=== Start P254V17; at address 1425/2621
P254V17; (Proglist);
V-store at 02617 = 012 130 123 301 013 020 V16=P [C]EA3P0L0;
V-store at 02620 = 012 131 056 251 011 356 V17=P [C]EDNJ0GN;
=== Start P52V8; at address 1434/2632
P52V8; (TINT T - B prog input);
V-store at 02621 = 377 377 377 377 377 377 V0=-1; (B input priority no.)
(V1=B program tape number
V2=B PIU)
V-store at 02625 = 272 370 260 247 120 000 V4=B565742605165/35; (NOBPIU)
V-store at 02626 = 010 173 041 322 134 200 V5=P [cn]LATER;
V-store at 02627 = 000 000 036 171 347 236 V6=B3636363636;
(V7/8 hold stored TINT T);
2632/0: 041 ZERO;
2632/1: 200 324 241|205 265 154|042|164 375|205 145 154 1; JSP32; J3P45; DUP; SHL-2; J3P45≠Z;
2634/1: 300 005 221|205 045 325|042|170 123|304 000 004|065|036|170 130
2; V0; J20>Z; DUP; =RM5;SET4;REV; -; =C5;
2636/5: 205 325 351|200 265 326|164 135|301 122 105 JS15;J11;SHL+46; =V77P104M5;
2640/4: 300 005 230|047|052|301 005 230 V7; STR; ERASE; =V7; (Cleared stored TINT T marker);
2642/0: 171 170|304 000 054|225 025 334|304 000 055|220 025 302|304 000 060|015
C7; SETB54; J12=; SETB55; J117=; SETB60; NEV;
2645/0: 301 005 224 13; =V3;
2645/3: 171 170|304 000 056|015|220 145 303 C7; SETB56; NEV; J115=Z;
116;
2647/0: 300 005 075|300 010 125|036 V10P45; V0P117; -;
2650/1: 304 177 340|203 324 241|205 265 154 SETB77740; JS1P32; J3P45;
2651/4: 042|225 145 154 DUP; J3P45=Z;
2652/2: 027|033|164 367|033|027|164 013 NEG; NOT; SHL-5; NOT; NEG;SHL+5;
2653/4: 001|032|052|042|164 301|051 VR; MAX; ERASE; DUP; SHL-32; REVD;
2654/5: 012|036|220 045 325|052 PERM; -; J25<Z; (J if not enuf store); ERASE;
2655/5: 164 041|164 267|200 330 144 SHL+16; SHL-37; JSP118;
2657/0: 200 324 213|041|033 JSP30; ZERO; NOT;
2657/5: 301 005 224 7; =V3;
2660/2: 304 377 376|041|041|200 331 337 3; SET-2; ZERO; ZERO; JSP134;
2661/4: 202 265 274 (Now in priority subprogram); J5;
2662/1: 300 122 105|164 003|300 007 064|054|220 045 306 V77P104M5; SHL+1; V0P76; AND; J9<Z;
2664/1: 300 005 223|042|224 045 337|052 8; V2; DUP; J14<Z; ERASE;
2665/3: 304 005 254|200 324 055|204 265 275 SETB2654; JS1P26; J6;
2667/0: 052 (Ptr obtained); ERASE;
2667/1: 300 144 035|200 326 031|011|300 005 223|202 145 272 V0P26M6; JSP55; OR; V2; J4≠Z;
2671/2: 304 000 005|164 045|036 SET5; SHL+18; -;
2672/2: 301 144 035|171 150|301 005 223|041|200 270 166 4; =V0P26M6; C6;=V2;ZERO; J11P120; [ entry to general program input routine
2674/2: 041|301 005 223|041|200 271 134 5; ZERO; =V2; ZERO;JP121;
2675/4: 300 005 224|222 145 260 6; V3; J3=Z;
2676/4: 300 005 225|200 326 031|011|300 120 040|304 000 002 V4; JSP55; OR; V24P0M5; SET2;
2700/5: 200 321 321|041|205 265 257 JSP6; ZERO; J7;
2702/0: 052|041|033|301 005 223 117; ERASE; ZERO;NOT; =V2;
2703/0: 304 177 340|203 324 241|200 265 155 115; SETB77740; JS1P32; J1P45;
2704/3: 041|033|050|301 010 163|200 265 247 ZERO; NOT; CONT; =V4P120; J116;
9; (TInt X modded by DH to read all IDRP at one go);
2706/0: 304 000 037|170 176|200 331 220|200 327 247|041|200 334 303 SET31; =Q7; JSP128; JSP102; ZERO; JSP199;
2710/3: 304 000 016|170 170|200 335 007|124 170 10; SETB16; =C7; JS14P199; PICQ7; (Read block of IDRP);
2712/1: 041|203 334 372|203 270 365|203 265 310 ZERO; JS5P199; J78P120; J10;
2713/5: 200 331 213 JSP126; (Reset to B-block adresses for P120);
2714/2: 171 164|170 142|300 140 003|301 122 051|300 140 002|042|301 122 045|200 330 154
I7; =M6; E3M6; =V49P104M5; E2M6; DUP; =V45P104M5; JSP119;
(== 19 ==)
2717/4: 304 000 002|200 271 134|304 000 044|015|200 150 201|300 122 025|164 007
SET2; JP121; SETB44; NEV; J16P120≠Z; V29P104M5; SHL3;
2722/4: 300 006 341|301 122 125 V2P65; =V93P104M5;
2723/4: 164 373|301 122 025|202 270 324 SHL-3; =V29P104M5; J32P120;
2725/0: 065|052|203 265 326 25; REV; ERASE; J23;
2725/5: 052 20; ERASE;
2726/0: 052|171 142 11; ERASE; M6;
2726/3: 300 005 230|041|033|050|301 005 230 23; V7; ZERO; NOT; CONT; =V7; (Put back flag);
2730/0: 164 357|200 151 217 SHL-9; J1P127≠Z; (J if store in V7);
2730/5: 300 001 115|301 005 230|300 001 116|301 005 231 V2P4; =V7; V3P4; =V8; (Remember TINT reply);
2732/5: 300 005 226|304 000 001 V5; SET1;
2733/5: 200 321 324|202 360 001 26; JS4P6; EXIT2;
2734/5: 052|200 324 241|200 265 155|042|164 371|200 145 155 12; ERASE; JSP32; J1P45; DUP; SHL-4; J1P45≠Z;
2737/0: 033|200 265 245 NOT; J13;
2737/4: 033 14; NOT;
2737/5: 042|170 162|205 145 342|300 122 105|304 000 101|167 351|011 19; DUP; =M7; J27≠Z; V77P104M5; SETB101; SHC-12; OR;
2742/2: 301 122 105 =V77P104M5; (Show LP done and silent);
2742/5: 300 165 177|047|304 000 011 27; V0P254M7; STR; SETB11;
2744/0: 054|304 160 244|056 AND; SETB 70244; +;
2744/5: 166 075|301 122 045|300 005 227|011|301 122 051 SHLD+30; =V45P104M5; V6; OR; =V49P104M5;
2746/5: 300 006 341|301 122 125|041|301 122 015|202 270 215 V2P65; =V93P104M5; ZERO; =V21P104M5; J22P120;
2751/0: 304 000 004|170 131 18; SET4; =RC5;
2751/5: 141 120 15; M-I5;
2752/1: 302 120 022|167 007|164 107|220 151 217 17; V10P0M5Q; SHC+3; SHL+35; J1P127=Z; (EXIT2);
2753/5: 261 125 352|200 360 000 J17C5NZ; EXIT1;
=== Start P53V-1; at address 1517/2755
P53; (TINT U - as in Oxford Director);
2755/0: 205 326 007|304 000 004|304 000 060|170 143|170 150 JS2; SET4; SETB60; =RM6; =C6;
2757/1: 041|171 142|170 171|200 326 033|204 266 000 1; ZERO; M6; =RC7; JSP56;J3; (Not present);
2761/0: 300 122 025|033|300 122 021|054|167 375 V29P104M5; NOT; V25P104M5; AND; SHC-2;
2762/4: 225 046 007|052 J2<Z; (J if input but not OUT1); ERASE;
2763/2: 171 162|170 130|151 127|300 122 025|167 375|224 046 013 M7; =C5; M5TOQ7; (Keep M7); V29P104M5; SHC-2; J6<Z;
2765/4: 300 122 141|225 106 011 V105P104M5; J4>Z;
2766/4: 300 121 375|042|300 122 001|056 7; V5P104M5; DUP; V9P104M5; +;
2770/0: 200 326 047|065|200 326 047 5; JSP57; REV; JSP57;
2771/1: 300 000 037|042|300 120 021|164 115|164 277 V23P0; DUP; V9P0M5; SHL+38; SHL-33;
2773/0: 067|065|164 337|011|164 031 FRB; REV; SHL-17; OR; SHL+12; (BA);
2774/1: 300 162 041|042|012|166 351|052|065 V41P104M7; DUP; PERM; SHLD-12; ERASE; REV;
2775/4: 300 162 035|164 061|164 321|166 351 V37P104M7; SHL24;SHL-24; SHLD-12;
2777/1: 171 130|170 162 C5; =M7;
2777/5: 304 000 004|172 162 SET4; =+M7;
3000/4: 171 122|304 000 020|011|164 025|011 3; M5; SETB20; OR; SHL+10; OR; (Priority);
3002/1: 300 122 021|167 365|220 046 015 V25P104M5; SHC-6; J8<Z; (J if rolled out);
3003/3: 304 041 300|171 142|011|164 075|011|140 160 9; SETB20700; M6; OR; SHL+30; OR; M+I7; (Letter);
3005/2: 171 162|200 321 324|140 140|143 140|261 145 357|202 360 001 M7; JS4P6; M+I6; DC6; J1C6NZ; EXIT2;
3007/5: 200 324 345|304 000 001|200 326 031|200 360 001 2; JSP38; SET1; JSP55; EXIT3;
3011/5: 203 335 032|304 000 110|172 162|200 265 370 4; JS1P2939; SET72; =+M7; J5;
3013/4: 304 000 010|172 162|204 265 366 6; (OUT 1); SET8; =+M7; J7;
3015/0: 304 000 017|164 061|011|203 266 003 8; (Rolled out); SETB17; SHL24; OR; J9;
=== Start P54V-1; at address 1551/3017
P54; (TINT V - force priority swop)
3017/0: 200 324 241|200 265 155 JSP32; J1P45;
3020/0: 200 324 241|052|041|033 JSP32; ERASE; ZERO; NOT;
3021/0: 042|170 142|042|164 375|205 145 154 1; DUP; =M6; DUP; SHL-2; J3P45≠Z;
3022/3: 220 025 155|042|164 375|200 145 155 J1P45=; DUP; SHL-2; J1P45≠Z;
3024/0: 170 162|300 140 021|300 160 021|011 =M7; V9P0M6; V9P0M7; OR;
3025/3: 164 247|201 145 155 SHL-45; J4P45≠Z;
3026/2: 205 330 067|041|033|301 000 033|202 360 001 2; JS111P300; ZERO; NOT; =V19P0; EXIT2;
=== Start P55V-1; at address 1561/3031
P55; (Given priority, put corresponding prog.
(== 20 ==)
letter in N1);
3031/0: 300 122 005|164 245|304 000 060|011|200 360 000 V13P104M5; SHL-46; SETB60; OR; EXIT1;
=== Start P56V-1; at address 1563/3033
P56; (Given prog, letter in C7, put corresponding
priority in M5);
3033/0: 171 170 C7;
3033/2: 304 000 060|036|042|220 046 042 1; SETB60; -; DUP; J5<Z;
3034/4: 042|164 375|200 145 155|304 000 004|170 131 DUP; SHL-2; J1P45≠Z; SET4; =RC5;
3036/3: 141 120 M-I5;
3036/5: 017|302 122 006|164 245|222 026 041|177 120|200 265 155 *2; V14P104M5Q; SHL-46; J3=; J2C5NZS; J1P45;
3041/1: 052 4; ERASE;
3041/2: 052|202 360 001 3; ERASE; EXIT2;
3042/0: 304 000 040|056|042|164 375|200 145 155|170 122|202 360 001 5; SETB40; +; DUP; SHL-2; J1P45≠Z; =M5; EXIT2; (Allow
ops to give prior number or level letter);
=== Start P57V1; at address 1575/3047
P57V1; (Given the time is seconds to 23 i.p. put time
in characters, /---M---S, in N1)
V-store at 03045 = 030 242 212 004 142 201 V0=B0612121201061201;
V-store at 03046 = 075 004 020 265 004 063 V1=B1720202055202063;
3047/0: 161 321|300 006 045|065|067|300 006 046 SHA-24; V0; REV;FRB; V1;
3050/4: 011|200 360 000 OR; EXIT1;
=== Start P58V7; at address 1586/3062
P58V7; (Look for tape with given identifier,
If not found, type wanted query);
V-store at 03052 = 010 175 341 273 111 144 V0=B0207674156644544;
V-store at 03053 = 002 056 100 000 144 307 V1=B0042710000062307;
V-store at 03056 = 031 101 377 377 377 334 V4=B0624077777777734;
3062/0: 204 326 115|200 360 000 JS4; EXIT1;
2; (Required tape not present)
3063/0: 171 122|300 122 021|167 375|011|222 046 074 M5; V25P104M5; SHC-2; OR; J3<Z;
(Wanted by program)
3064/5: 200 324 213|043|300 006 056|304 000 077|011|012 JSP30; DUPD; V4; SETB77; OR; PERM;
3066/5: 200 326 031|205 326 111|300 006 052|304 000 005|200 321 321 JSP55; JS14; V0; SET5; JSP6;
3071/2: 065 15; REV;
3071/3: 301 100 024|304 000 001|041|033|047|015 5; =E20M4; SET1; ZERO; NOT; STR; NEV;
3073/1: 066|204 321 354|200 266 062 CAB; JS2P10; JP58;
3; (Wanted by Director)
3074/2: 300 006 061|202 146 071 V7; J15≠Z; (Stops 2 subprogs at once);
3075/2: 301 006 060|301 006 061 =V6; =V7;
3076/2: 300 006 061|300 006 060|304 000 044|205 326 111|301 006 053|301 006 054|301 006 055
6; V7; V6; SETB44; JS14; =V1; =V2; =V3;
3101/5: 304 000 001|304 006 052|304 006 057|200 321 335 SET1; SETAV0; SETAV5; JSP8;
3103/5: 300 006 061|041|301 006 061 V7; ZERO; =V7;
3105/0: 300 006 057|164 255|304 000 056|015|205 146 107 V5; SHL-42; SETB56; NEV; J8≠Z;
3107/0: 154 006|200 265 155 C0TOQ6; J1P45;
3107/5: 300 006 060|204 326 115|200 360 000|202 266 071 8; V6;JS4; EXIT1; J15;
3111/5: 300 006 053|167 061|164 015|011|167 045 14; V1; SHC+24; SHL+6; OR; SHC+18;
3113/3: 065|042|200 146 115 REV; DUP; J9≠Z;
3114/2: 052|300 004 351 ERASE; V0P39;
3115/0: 065|200 360 000 9; REV; EXIT1;
3115/4: 300 004 035|170 156 4; V0P26; =Q6;
3116/3: 304 021 144|200 324 055|201 266 133|052|043 1; SETB10544; JSP26; J10;ERASE; DUPD;
3120/2: 171 142|200 331 325|170 142|300 147 106|300 147 105 M6;JSP131; =M6; V-16P101M6; V-17P101M6;
3122/3: 066|170 142|066|015|012 CAB; =M6; CAB; NEV;PERM;
3123/3: 015|011|203 146 116|052|052 NEV; OR; J1≠Z; ERASE; ERASE;
3124/4: 171 122 22; M5;
3125/0: 300 144 035|304 000 011|164 045|036|065|220 046 132 23; V0P26M6; SET9; SHL+18; -; REV; J11<Z;
3127/1: 200 326 031|011 JSP55; OR;
13; (Entry fromP120);
3127/5: 042|304 000 001 DUP;SET1;
3130/3: 200 321 321|301 144 035|200 360 000 12; JSP6; =V0P26M6; EXIT1;
3132/0: 304 000 044|011|205 266 127 11; SETB44; OR; J13;
3133/1: 202 360 001 10; EXIT2;
=== Start P59V-1; at address 1628/3134
P59; (Check top item in FLEX queue. If query,
(== 21 ==)
check answer ends corretly. If so, or
if not query, remove top item from FLEX queue.
Type top item of FLEX queue);
3134/0: 120 002|221 345 155 BUSYQ0; J4P45TR;
3134/5: 300 001 220|041|166 031|304 010 000|015 1; V0P6; ZERO; SHLD+12; SETB4000;NEV;
3136/3: 204 146 153|121 000|220 346 144|041|166 011 J7≠Z; PARQ0; J6TR; ZERO; SHLD+4;
3140/2: 065|170 176|171 164|171 170|042 REV; =Q7; I7; C7; DUP;
3141/4: 033|027|170 163|036|170 170 NOT; NEG;=RM7; -; =C7;
3142/5: 304 000 010|264 166 144|002 2; SET8; J3C7NZ; =TR;
3144/0: 052|201 266 163 6; ERASE; J10;
3144/4: 170 130|102 160 3; =C5; M0M7Q;
3145/2: 041|166 015|304 000 075|224 026 151|143 120 4; ZERO; SHLD+6; SETB75; J5=; DC5;
3147/1: 304 000 037|037|167 377|033|002 SETB37; SIGN; SHC-1; NOT; =TR;
3150/3: 262 126 145|052|205 266 142 J4C5NZ; ERASE; J2;
3151/4: 052|052|200 346 144|170 162 5; ERASE; ERASE; J6NTR; =M7;
3152/5: 041|301 162 170|041 ZERO; =V11P11M7; ZERO;
3153/4: 052|300 001 120|042|222 146 157 7; ERASE; V5P4; DUP; J16=Z; (J if no TINT);
3155/0: 041|300 001 221|162 253|065|052 ZERO; V1P6; SHAD-43; REV; ERASE;
3156/2: 026|027|033|220 146 176 ABS; NEG; NOT; J17=Z; (J if newline in FLEX queue);
3157/2: 052|304 001 220|170 163 16; ERASE; SETAV0P6; =RM7;
3160/2: 110 160|042|033|222 146 162 8; M0M7N; DUP; NOT; J9=Z;
3161/3: 103 160|202 266 160 =M0M7Q; J8;
3162/2: 245 166 174|101 160 9; J15C7Z; =M0M7;
3163/1: 300 001 220|200 331 215|201 266 170 10; V0P6; (New top word); JSP127; J11;
3164/4: 052|041|304 001 220|042|164 041|011 ERASE; ZERO; SETAV0P6; DUP; SHL+16; OR;
3166/1: 170 176|131 160|201 145 155|124 162|200 360 000 12; =Q7; POBQ7; J4P45≠Z; CLOQ7; EXIT1;
3170/1: 164 041|164 341|171 156|065|200 327 254 11; SHL+16; SHL-16; Q6; REV; JSP103;
3171/5: 205 266 173|065|170 156|041|033|065|201 266 166 J13; REV; =Q6; ZERO; NOT; REV; J12;
3173/5: 052|170 156|200 360 000 13; ERASE; =Q6; EXIT1;
3174/5: 033|301 001 220|200 360 000 15; NOT; =V0P6; EXIT1;
17; (Instant TINT);
3176/0: 042|301 001 220|041|301 001 120|201 266 170 DUP; =V0P6; ZERO; =V5P4; J11;
=== Start P60V1; at address 1666/3202
P60V1; (Deal with RFIR, real time, N.E.T.,
and tape loading/unloading)
V-store at 03201 = 034 054 245 316 135 000 V1=P [NC]RESET;
3202/0: 176 010|167 073|047|225 146 204|300 006 201|304 000 001|200 321 324
K4; SHC29; STR; J10=Z; V1; SET1; JS4P6;
3204/5: 167 307 10; SHC-29;
3205/1: 042|304 000 001|167 323|054|223 146 207 2; DUP; SET1; SHC-23; AND; J9=Z;
3206/5: 300 002 336|011 V0P13; OR;
3207/3: 042|164 301|164 101|047|300 000 015|042 9; DUP; SHL-32; SHL+32; STR; V5P0; DUP;
3211/1: 012|054|042|301 006 200|300 000 010|056 PERM; AND; DUP; =V0; V0P0; +;
3212/5: 301 000 010|035|301 000 016|042|164 057|042 =V0P0; ×; =V6P0; DUP; SHL+23; DUP;
3214/4: 171 156|301 000 007|304 000 007|170 151 Q6; =E7; SET7; =RC6;
3216/2: 017|017|017|017|047|300 140 030|011|303 140 030 *1; STR; V16P0M6; OR; =V16P0M6Q;
3220/2: 164 003|177 140 SHL+1; J1C6NZS;
3221/0: 052|011|002|205 346 242 ERASE; OR; =TR; J8NTR;
3222/0: 041|202 326 253 ZERO; JS255; (Clear any OUT 19'S);
3222/4: 041|033 (FLEX OR clock); ZERO; NOT;
3223/0: 176 004|164 377|304 000 004|170 151 K5; SHL-1; SET4; =RC6;
3224/3: 164 015|047|300 006 200|054|300 142 001 7; SHL+6; STR; V0; AND; V9P104M6;
3226/1: 056|042|303 142 001|300 142 130|164 061|036|222 106 245 +; DUP; =V9P104M6Q; V96P104M6; SHL24; -; J11>Z;
3230/3: 263 146 224 12; J7C6NZ;
3231/0: 052|300 004 035|170 156 ERASE; V0P26; =Q6;
3232/0: 304 021 144|205 324 055 3; SETB10544; JS2P26;
3233/0: 200 266 236 J4;
3233/3: 052|120 150|220 346 232 ERASE; PMBQ6; J3TR;
3234/3: 304 010 000|201 327 117|200 266 232 (L, not on BT); SETB4000; JS10P100; J3;
3236/0: 300 004 035|170 156 4; V0P26; =Q6;
3236/5: 304 021 254|205 324 055 5; SETB10654; JS2P26; [ This line was missing in Hans P's version
3237/5: 202 266 243 J6;
3240/2: 052|120 150|205 346 236 ERASE; PMBQ6; J5NTR;
3241/2: 304 064 000|201 327 117|205 266 236 (U, on BT); SETB32000; JS10P100; J5;
3242/5: 300 000 030 8; V16P0;
(== 22 ==)
3243/2: 300 000 033|011|300 000 007|170 156|200 360 000 6; V19P0; OR; E7; =Q6; EXIT1;
3245/2: 171 156|171 136|171 116|141 140 11; (Fail this for exessive time); Q6; Q5; Q4; M-I6;
3246/4: 157 145|300 122 131|304 000 005|056|301 122 131 Q6TOQ5; V97P104M5; SET5; +; =V97P104M5; (Allow time for restart);
3250/4: 041|203 325 006|017|017|017|170 116|170 136|170 156|203 266 230
ZERO; JS41P41; DUMMY; DUMMY; DUMMY; =Q4; =Q5; =Q6; J12;
255; (Restart any OUT19 suspended progs,
3253/2: 171 136|065|304 000 004|170 131 J1≠0 if start to be forced); Q5; REV; SET4; =RC5;
3254/4: 300 122 021|167 363|202 046 271|200 324 213 254; V25P104M5; SHC-7; J253>Z; JSP30;
3256/3: 300 100 024|042|170 176|222 146 273|041|002|120 162 E20M4; DUP; =Q7; J250=Z; ZERO; =TR;BUSYQ7;
3260/4: 200 331 220|124 164|202 346 265 JSP128; TLOQ7; J252NTR; (Go if no lockout);
3262/0: 300 100 012|300 000 010|036|202 046 271|171 176|222 146 265|120 160|201 334 122
251; E10M4; V0P0; -; J253>Z; Q7; J252=Z; CTQ7; (Kill); JS247P196;
3265/2: 171 136|304 000 100|200 330 100|170 136 252; Q5; SETB100; JS114P300; =Q5; (Release prog);
3267/0: 300 000 010|300 100 036|036|300 122 001|056|301 122 001 V0P0; E30M4; -; V9P104M5; +; =V9P104M5;
3271/2: 102 120|052|264 126 254|052|170 136|200 264 213 253; M0M5Q; ERASE; J254C5NZ; ERASE; =Q5; JP30;
3273/2: 042|220 146 262|202 266 265 250; DUP; J251=Z; J252; (First J if not forced);
=== Start P61V-1; at address 1725/3275
P61; (OUT10);
3275/0: 041|301 122 045|205 324 126|201 266 321 ZERO; =V45P104M5; JS3P29; J4;
3276/4: 300 000 276|164 377|221 146 321 V32P1; SHL-1; J4=Z;
3300/0: 300 000 236|300 011 376|221 026 322|042|222 146 307 V0P1; V3P155; J11=; DUP; J2=Z;
3302/1: 042|200 331 174|205 266 303|200 146 321 DUP; JSP122; J5; J3≠Z;
3303/5: 042|200 331 327|200 266 321|300 000 237|042 5; DUP; JSP132; J3; V1P1; DUP;
3305/4: 200 331 174|200 266 311|052|200 146 321 JSP122; J6; ERASE; J3≠Z;
3307/2: 300 000 237|200 146 321 2; V1P1; J3≠Z;
3310/2: 041|033|164 373 7; ZERO; NOT; SHL-3;
3311/0: 065|200 326 062 6; REV; JSP58;
3311/4: 200 331 364 JSP138;
3312/1: 171 150|200 331 325|170 142|300 147 104 C6; JSP131; =M6; V-18P101M6;
3313/5: 205 324 126|200 260 116 JS3P29; J35P0;
3314/5: 300 122 045|202 146 317 V45P104M5; J8≠Z;
3315/5: 205 324 126|200 260 116 JS3P29; J35P0;
3316/5: 203 266 317 J10;
3317/2: 052 8; ERASE;
3317/3: 202 324 114|200 260 116 10; JS2P29; J35P0;
3320/3: 200 360 000 EXIT1;
3321/0: 052 3; ERASE;
3321/1: 304 000 110|200 260 332 4; SETB110; JP2;
3322/1: 300 007 157|203 332 311|300 000 237|015|164 015|205 146 303|041|301 007 157|205 266 303
11; V25P101; JS1P161; V1P1; NEV; SHL6; J5≠Z; ZERO; =V25P101; J5;
=== Start P62V-1; at address 1750/3326
P62; (Initial housekeeping for OUTS 2,4,8.
Erase out no., check at least 1 other item
in programs nest);
3326/0: 205 324 126|200 260 116 JS3P29; J35P0;
3327/0: 300 000 276|201 105 155 V32P1; J4P45<Z;
3330/0: 300 000 236|042|202 360 001 V0P1; DUP; EXIT2;
=== Start P64V-1; at address 1754/3332
P64; (OUT17);
3332/0: 300 121 375|042|300 122 001|056 V5P104M5; DUP; V9P104M5; +;
3333/2: 301 000 236|202 324 114|202 266 335|200 360 000 2; =V0P1; JS2P29; J1; EXIT1;
3335/2: 304 000 040|200 260 332 1; SETB40; JP2; (Fail nest full when OUT17 obeyed);
=== Start P65V2; at address 1762/3342
P65V2; (OUT 50 and related topics);
V-store at 03337 = 101 004 120 377 360 064 V0=B2020212077770064; (Header word for stats block, used in P155);
V-store at 03340 = 077 203 145 000 000 000 V1=P /X*E; (Skeleton job descriptor, used in P15);
V-store at 03341 = 067 076 163 322 133 100 V2=P *SYSTEM; (Used in P52);
3342/0: 171 104|167 353|300 122 105|011|301 122 105 I4; SHC-11; V77P104M5; OR; =V77P104M5; (Show OUT50 done);
3343/5: 052 ERASE; (Erases the out number, see P3);
3344/0: 200 326 326|200 266 360|052|200 331 331|200 266 360 JSP62; J10; ERASE; JSP133; J10;
3346/1: 171 164|170 162|100 160|300 010 162|015|161 377|200 146 360 I7; =M7; M0M7; V3P120; NEV; SHA-1; J10≠Z;
3350/4: 304 000 007|170 162|140 160 SET7; =M7; M+I7;
(== 23 ==);
3351/5: 200 331 367|200 327 247 JSP139; JSP102; (Wait, see ref 29P23);
3352/5: 205 324 126|200 320 116 JS3P29; JS35P0; (Remove N2);
3353/5: 140 100 M+I4; (Put Transfer in OUT8 queue);
3354/1: 203 263 254 J99P23; (End of OUT1);
3354/4: 130 162|171 164 2; PMHQ7; I7;
3355/2: 304 002 071|171 122|056|164 041 3; SETAV65P104; M5; +; SHL+16;
3356/4: 011|041|203 323 274 OR; ZERO; JS157P23; (Put item in OUT8 queue);
3357/3: 200 261 366 J50P10; (Await end of transfer);
3360/0: 304 001 300|200 260 332 10; (Invalid or wrong date); SETB700; JP2;
=== Start P66V-1; at address 1777/3361
P66; (OUT51- overwrite job no.);
3361/0: 052|304 002 125 ERASE; SETAV93P104;
3361/4: 170 162|204 334 070|200 324 106|201 334 046|101 127|200 360 000
1; =M7; JS8P196; JS1P29; JS128P196; =M7M5; EXIT1;
3364/2: 304 002 065|204 266 361 14; (OUT 14); SETAV61P104; J1;
3365/2: 304 002 065|204 266 361 15; (OUT15); SETAV61P104; J1;
3366/2: 204 334 070|200 324 106|201 334 046|042|225 046 374 19; (OUT19); JS8P196; JS1P29; JS128P196; DUP; J191<Z;
3370/3: 042|170 176|304 000 001|042|167 160|065|220 027 002 (Check dv owned); DUP; =Q7; SET1; DUP; SHCC7; REV; J193=;
3372/4: 300 122 011|054|221 147 002|042|164 261|202 266 375 V17P104M5; AND; J194=Z; DUP; SHL-40; J192;
3374/5: 027|041|065 191; (Simple wait for N secs); NEG; ZERO; REV;
3375/2: 042|164 367|200 147 002|161 061|300 000 010|042 192; DUP; SHL-5; J193≠Z; SHA24; V0P0; DUP;
3377/2: 301 100 036|056|301 100 012|301 100 024|304 000 100|205 270 076
=E30M4; +; =E10M4; =E20M4; SETB100; J113P300;
3402/0: 052 193; ERASE;
3402/1: 052|202 261 063 194; ERASE; J5P3;
=== Start P72V4; at address 1800/3410
P72V4; (TINT Z, tape labelling as in Oxford director);
V-store at 03403 = 010 175 056 076 231 034 V0=P [CN]TN/ID[Q];
(V1/4= ansewer to TN/ID);
3410/0: 200 324 241|200 265 155|042|164 371|200 145 155 JSP32; J1P45; DUP; SHL-4; J1P45≠Z;
3412/0: 157 145 Q6TOQ5; (In case needed by RIO);
3412/2: 042|170 150|170 142|041|300 144 035|164 061|166 305 DUP; =C6; =M6; ZERO; V0P26M6;SHL+24; SHLD-30;
3414/3: 164 351|304 000 054|015|011|200 145 101 SHL-12; SETB54; NEV; OR;JP45≠Z;
3416/1: 200 322 337|170 162|171 170|304 000 060|221 027 053|300 167 105|300 011 376|015
JSP13; =M7; C7; SETB60; J5=; V-17P101M7; V3P155; NEV;
3421/3: 220 145 155|304 000 035|220 027 052|304 000 017|015|224 147 060|203 332 251
J1P45=Z; SETB35;J4=; SETB17; NEV; J10=Z; JS103P155;
3424/4: 041|033|200 326 125|171 156|301 100 024 ZERO; NOT; JS23P58; Q6; =E20M4;
3426/2: 041|033 8; ZERO; NOT;
3426/4: 304 007 003|304 007 007|200 321 335|300 100 024|170 156|300 007 004|042|164 271
SETAV0; SETAV4; JSP8; E20M4; =Q6; V1; DUP; SHL-36;
3432/0: 304 011 237|225 027 056 SETB4637; J7=;
3433/0: 304 013 217|015|304 377 326|170 130|205 147 036|052|041 SETB5617; NEV; SET-42; =C5; J1≠Z; ERASE; ZERO;
3435/2: 304 000 006|172 130|041|033|172 122 SET6; =+C5; ZERO; NOT; =+M5;
Warning: V5P72 is out of range, only 5 V-stores specified
3436/5: 300 127 010|300 127 007|042|300 127 006|166 120|304 000 017|015
1; V5M5;V4M5;DUP;V3M5;SHLDC5; SETB17; NEV;
3441/3: 164 125|204 147 057 SHL+42; J9≠Z; (Check / for AAH);
3442/2: 012|166 120|052 PERM; SHLDC5; ERASE;
3443/0: 200 322 337|304 007 104|056|170 165|140 160 2; JSP13; SETAV-18P101; +; =RI7; M+I7;
3444/5: 301 160 002|111 160|042|225 147 046|101 160|041 =E2M7; =M0M7N; DUP; J3=Z; =M0M7; ZERO;
3446/5: 052|304 000 002|172 162 3; ERASE; SET2;=+M7;
3447/5: 154 147 C6TOQ7;
3450/1: 131 160 POBQ7;
3450/3: 304 064 000|201 327 117|202 360 001 SETB32000; JS10P100; EXIT2;
3452/0: 052|041|041 4; (Label zero); ERASE; ZERO; ZERO;
3452/3: 041|200 267 043 6; ZERO; J2;
3453/1: 052|041|300 012 014 5; (Lable printend); ERASE; ZERO; V17P155;
3454/0: 300 167 104|164 015 (Set TSN =); V-18P101M7; SHL6;
3454/5: 304 000 036|011|167 365|301 167 104|203 267 052 SETB36; OR; SHC-6; =V-18P101M7; J6;
3456/5: 052|052|200 271 345 7; (Ignore); ERASE; ERASE; JP135;
3457/4: 057|052|052|202 267 026 9; +D; ERASE; ERASE; J8;
3460/4: 041|110 120|100 120|166 120|065|164 271 10; ZERO; M0M5N; M0M5; SHLDC5; REV; SHL-36;
3462/2: 304 007 375|036|205 145 154|203 267 052 SETB3775; -; J3P45≠Z; J6;
(== 24 ==)
=== Start P76V0; at address 1845/3465
P76V0; (TINT X initializse prompt or prime);
V-store at 03464 = 377 377 377 377 377 377 V0=-1;
(V0 0 disc unprimed
-1 primed);
(V77P104;V78P104;V79P104;V80P104;OR;OR;OR;J4P45<Z;)
3465/0: 041|033|201 265 232 ZERO; NOT; J1P52;
=== Start P100V9; at address 1856/3500
P100V9; (Deal with W mag tapes)
(V0 nz if there are W tapes)
(V1-9=Brick indicators for units 7-17)
3500/0: 300 007 066|221 145 155 V0; J4P45=Z;
3501/0: 300 004 035|170 156|041 V0P26; =Q6; ZERO;
3502/0: 301 007 066 1; =V0;
3502/3: 304 021 274|205 324 055 2; SETB10674; JS2P26;
3503/3: 200 360 000 EXIT1;
3504/0: 002 =TR;
3504/1: 120 142|223 347 112 3; BUSYQ6; J5TR;
3505/0: 121 140|300 147 060|200 347 110 PARQ6; V-6M6; J11NTR;
3506/2: 042|304 000 001|164 057|011|301 147 060 DUP; SET1; SHL+23;OR; =V-6M6;
3510/0: 045|033|166 377|174 000|220 047 112 11; FIX; NOT; SHLD-1; =LINK; J4<Z;
3511/3: 202 034 276 EXITAP101;
3512/0: 200 034 276 4; EXIT1AP101;
3512/3: 041|033|200 267 102 5; ZERO; NOT; J1;
3513/2: 304 016 140|170 162|104 166 6; SETAV-6U; =M7; M6M7H;
3514/3: 167 023|164 003|167 355|070 SHC+9; SHL+1; SHC-10; STAND;
3515/4: 042|105 166|201 147 104 DUP; =M6M7H; J3≠Z;
3516/4: 203 267 102 J2;
3517/1: 304 000 037|024|301 147 060 10; SET31; FLOAT; =V-6M6; [ set mag tape status W, i.e. waiting for director transfer
3520/2: 300 144 035|164 365|167 335|164 015|304 000 067 V0P26M6; SHL-6; SHC-18; SHL+6; SETB67;
3522/2: 011|167 045|301 144 035|041|033 OR; SHC+18; =V0P26M6; ZERO; NOT;
3523/4: 042|301 007 066|301 000 033|200 360 000 DUP; =V0; =V19P0; EXIT1;
=== Start P101V30; at address 1909/3565
P101V30; (W mag tape bricks);
(V0 nz if there are new L tapes)
V-store at 03527 = 004 242 212 050 240 101 V1=B0112121212120101;
V-store at 03530 = 001 004 020 101 010 254 V2=B0020202020204254;
(V3=29=label block of units 7-17)
V-store at 03556 = 000 000 000 000 004 035 V24=Q 0/0/AV0P26; (OUT 11);
(V25 dv number of OUT8 tape awaiting printing);
(V26 TINT P marker);
V-store at 03564 = 064 174 041 312 235 071 V30=P*[N]PARITY;
3565/0: 200 267 170|204 267 201 J1; J2;
3566/0: 201 267 203|204 267 217 J3; J4;
3567/0: 202 267 243|202 267 245 J5; J6;
1; (Count back to BT)
3570/0: 300 147 060|120 150|221 347 174 V-6P100M6; PMBQ6; J11TR;
3571/2: 033|027|301 147 060|304 000 001 NOT; NEG; =V-6P100M6; SET1;
3572/4: 170 176|154 147|136 160|203 267 112 12; =Q7; C6TOQ7; PMEQ7; J5P100;
3574/1: 042|164 323|164 057|301 147 060 11; DUP; SHL-23; SHL+23; =V-6P100M6;
3575/3: 164 063|164 317|300 007 127|065|067 SHL25; SHL-25; V1;REV; FRB;
3577/0: 300 007 130|011|300 144 035|304 000 002|200 321 321 V2; OR; V0P26M6; SET2; JSP6;
3601/1: 202 267 113 J6P100;
2; (Skip back to BT)
3601/4: 120 150|222 347 113 PMBQ6; J6P100TR;
3602/3: 041|204 267 172 ZERO; J12;
3; (Read label block)
3603/1: 200 331 325|304 007 104|056|170 165|140 160 JSP131; SETAV-18; +; =RI7; M+I7;
3605/0: 154 147|120 150 C6TOQ7; PMBQ6;
3605/4: 205 347 207|304 000 002|172 162|125 160|200 327 100 J31NTR; SET2; =+M7; PIBQ7; JSP100;
3607/5: 136 160|110 160|200 331 174 31; PMEQ7; M0M7N; JSP122;
3611/0: 200 267 212 J32;
3611/3: 204 267 215 J35;
3612/0: 110 160|200 331 327 32; M0M7N; JSP132;
3612/5: 200 267 216 J33;
3613/2: 300 160 002|042|204 147 214 E2M7; DUP; J34≠Z;
(== 25 ==)
3614/3: 033 NOT;
3614/4: 200 331 174 34; JSP122;
3615/1: 202 267 113 J6P100;
3615/4: 111 160 35; =M0M7N;
3616/0: 041|033|164 373|301 160 002|202 267 113 33; ZERO;NOT; SHL-3;=E2M7; J6P100;
4; (W becomes u)
3617/4: 171 150|300 005 222|015|205 147 221 C6; V1P52; NEV; J42≠Z;
3621/1: 041|301 005 222 ZERO; =V1P52;
3621/5: 304 000 001|304 377 376 42; SET1; SETB177776;
3622/5: 161 045|300 144 035|056|301 144 035 43; SHA+18; V0P26M6; +; =V0P26M6;
3624/2: 042|220 147 227|223 047 102|300 144 035|304 000 001|203 267 237
DUP; J46=Z; J2P100<Z; V0P26M6; SET1; J45;
3627/0: 052|200 331 325|170 162|300 167 104|200 331 174 46; ERASE; JSP131; =M7; V-18M7; JSP122;
3631/0: 300 167 104 V-18M7;
3631/3: 304 000 004|170 130|300 167 105|300 167 106|042|012|033|164 007
SET4; =C5; V-17M7; V-16M7; DUP; PERM; NOT; SHL+3;
3634/1: 204 147 236|065|143 120|052|042|204 147 236|052|300 004 351 J44≠Z; REV; DC5; ERASE; DUP; J44≠Z; ERASE; V0P39;
3636/4: 300 144 035|171 130 44; V0P26M6; C5;
3637/3: 200 321 321|300 147 060|164 061|203 047 102 45; JSP6; V-6P100M6; SHL+24; J2P100>Z;
3641/2: 300 007 164|304 000 001|200 321 321|203 267 102 V30; SET1; JSP6; J2P100;
5; (W becomes L)
3643/2: 041 ZERO;
3643/3: 041|033|301 007 126|304 037 365|205 267 222 51; ZERO;NOT; =V0; SETB17765; J43;
6; (W becomes L, nothing typed)
3645/2: 041|033|203 267 243 ZERO; NOT;J51;
=== Start P102V-1; at address 1959/3647
P102; (Hold up subprogram until peripheral transfer
in programs area can be obeyed. Parameters
given in Q7)
3647/0: 304 000 001|200 321 351 SET1; JSP10;
3650/0: 171 176|200 327 254|201 267 252 2; Q7; JSP103; J1;
3651/2: 170 176|200 360 000 =Q7; EXIT1;
3652/1: 304 000 001|041|066|204 321 354 1; SET1; ZERO; CAB; JS2P10;
3653/3: 200 267 250 J2;
=== Start P103V-1; at address 1964/3654
P103; (Check parameters in N1 before peripheral
transfer which may involve programs area)
3654/0: 304 000 004|170 151 SET4; =RC6;
3654/5: 265 147 255|202 360 001 1; J2C6NZ; EXIT2;
3655/5: 302 140 021|200 330 066|042|203 330 054 2; V9P0M6Q; JS1P300; DUP; JS108P300;
3657/3: 205 267 254 J1;
3660/0: 300 140 020|042|164 321|200 145 155 V8P0M6; DUP; SHL-24; J1P45≠Z;
3661/3: 304 060 000|054|304 300 000|011|175 100 3; SETB30000; AND; SETB140000; OR; =K1;
3663/1: 052|202 360 001 ERASE; EXIT2;
(For actual p104 see in front of P11
V0=B01010101/23; (HUR)
(V1 onwards= constants associated with
priorities, in groups of 4)
(V1-4= overflow and TR record, etc.
V5-8= run time
V9-12= PHU time)
V13=B0141/11; (NS counters etc.);
V14=B2141/11;
V15=B4141/11;
V16=B6141/11;
V17=1; V18=1; V19=1; V20=1; (CPDAR);
(V21=24 = A program unit pre-allocation.
For B programs, records types to be
pre-allocated on dellocation by OUT 6)
V25=2; V26=2; V27=2; V28=2; (Hold-ups);
V29=5; V30=5; V31=5; V32=5; (APM);
(V33-36= Dump for E0
V37-44= Current program name
V45-52=New program name, transfer
parameters, OUT4/10 marker, etc. used
(== 26 ==)
only by main subprogram.
V53-56=Program start time
V57-60=Streams used by proram
V61-68=Serial number of prog on tape)
(V69 D0-15 System discs
D16-31 32-47 Non system discs
V73 Correspondence between logical and actual discs
V77 D0 System marker
D1
D2 OUT 41/42/43 Obeyed
D3 Parity
V81 D0-16 OUT43 selection marker
D32-47 last seek requested
V85 D0-15 D32-47NOC for OUT46
D16 last C block
D17-31 length of block
V89 input store for NOC);
(V93-V96 job desc, of progs);
(V97.. top half CPU time allowed for job, bottom half PHU time
allowed for job. Overides E1 time for CPU, does restart on job
if PHU time exceeded(as V9P104),set by OUT15);
End of dummy P104);
=== Start P105V2; at address 1975/3667
P105V2; (Consolidate core storage and swop priorities.
Upgrades A priorities automatically if needed)
(V1=Q no. of quartets in P104/4/AV1P104, set up by P200);
V-store at 03666 = 000 004 000 012 002 160 V2=Q 4/10/AV3P11;
*** There is no label 4 in routine P54
3667/0: 300 007 264|220 140 000 V0; J4P54=Z;
3670/0: 041|301 007 264|304 000 004|170 131 6; ZERO; =V0; SET4; =RC5;
3671/3: 300 120 021 2; V9P0M5;
3672/0: 042|164 115|220 147 314 3; DUP; SHL+38; J5=Z;
3673/0: 042|202 330 052|200 270 003 DUP; JS107P300; J4;
(Test for store move)
3674/1: 042|164 035|164 265|220 147 314 DUP; SHL+14; SHL-38; J5=Z;
(ZERO; NOT; =V0P193; (Set JO marker);)
(Move program in store)
3675/3: 157 164|145 100|042|164 035|164 265 Q7TOQ4; I4=-1; DUP;SHL+14; SHL-38;
3677/0: 164 013|171 164|036 SHL+5; I7; -;
3677/5: 042|170 142|144 100 DUP; =M6; I4=+1;
3700/4: 017|017|100 100|103 106|017|017|177 100 *7; M0M4;=M6M4Q; *J7C4NZS;
(Alter value of base address)
3702/2: 041|065|167 321|166 355 ZERO; REV; SHC-24; SHLD-10;
3703/2: 167 061|166 265|052 SHC+24; SHLD-38; ERASE;
(Alter affected parameters in OUT 8 q)
107;
61;
(Alter affected parameters in FLEX q)
3704/1: 304 001 220|170 103 SETAV0P6; =RM4;
3705/0: 100 100|033|221 147 310 8; M0M4; NOT; J9=Z;
3706/0: 100 100|200 331 215|201 330 060|103 100|200 267 305 M0M4; JSP127; JS109P300; =M0M4Q; J8;
9; (Alter affected SHUPS)
3710/1: 304 000 012|170 111 SET10; =RC4;
3711/0: 302 102 156|223 047 313 10; V1P11M4Q; J11<Z; (Updates inactive SHUPS for benefit of OUT29);
3712/0: 300 102 167|201 330 060|301 102 167 V10P11M4; JS109P300; =V10P11M4;
3713/3: 260 107 311 11; J10C4NZ;
5; (Test for priority swop)
3714/0: 042|164 247|220 150 003 DUP; SHL-45; J4=Z;
3715/0: 042|161 247|171 122|056|170 102 DUP; SHA-45; M5; +; =M4;
3716/2: 300 100 021|202 330 052|200 270 003 V9P0M4; JS107P300; J4;
(Alter BA/NOLS of swopped priorities)
(== 27 ==)
3717/5: 304 060 000|033|164 007|164 373|042 SETB30000; NOT; SHL+3; SHL-3; DUP;
3721/2: 300 100 021|054|171 122|164 031|011 V9P0M4; AND; M5; SHL+12; OR;
3722/5: 012|054|171 102|164 031|011 PERM; AND; M4; SHL+12; OR;
3724/0: 301 100 021 =V9P0M4;
(Alter tab words)
3724/3: 300 120 040|164 361|164 005|171 102 V24P0M5; SHL-8; SHL+2; M4;
3726/0: 011|164 015|300 100 040|164 361|164 005 OR; SHL+6; V24P0M4; SHL-8; SHL+2;
3727/4: 171 122|011|164 015|301 120 040|301 100 040 M5; OR; SHL+6; =V24P0M5; =V24P0M4;
(Swop bits in V0P104)
3731/3: 171 102|042|164 003|056|164 003 M4; DUP; SHL+1; +; SHL+1;
3732/5: 170 110|171 122|171 102|036|042 =C4; M5; M4; -; DUP;
3734/1: 164 003|056|164 003|170 170 SHL+1; +; SHL+1; =C7;
3735/2: 300 001 370|167 100|041|166 015|142 100 V0P104; SHCC4;ZERO; SHLD+6; NC4;
3737/0: 065|164 365|167 160|065|166 015 REV;SHL-6; SHCC7; REV; SHLD+6;
3740/2: 142 160|167 365|166 365|164 015|065 NC7; SHC-6; SHLD-6; SHL+6; REV;
3741/5: 167 160|011|167 100|301 001 370 SHCC7; OR; SHCC4; =V0P104;
(Swop V-stores of P104)
3743/1: 300 007 265|170 156 V1; =Q6;
3744/0: 100 144|100 145|101 144|103 145|177 140 *12; M4M6; M5M6; =M4M6; =M5M6Q; J12C6NZS;
(Alter if needed recorded priorities
of interrupted program, A and B input)
3745/4: 300 000 017|201 330 064|301 000 017 V7P0; JS110P300; =V7P0;
3747/1: 300 005 221|201 330 064|301 005 221 V0P52; JS110P300; =V0P52;
3750/4: 300 014 277|201 327 354|301 014 277 V0P199; JS66; =V0P199;
3752/1: 300 014 300|201 327 354|301 014 300 V1P199; JS66; =V1P199;
3753/4: 201 267 366 J106;
3754/1: 304 000 010|170 150|167 355 66; SET8; =C6; SHC-10;
3755/2: 201 327 360|143 140|167 015|262 147 355 67; JS64; DC6; SHC+6; J67C6NZ;
3757/0: 167 025|200 360 000 SHC+10; EXIT1;62;
3757/5: 100 140 M0M6;
3760/1: 167 031|041|166 007|027|033 64; SHC+12; ZERO; SHLD+3; NEG; NOT;
3761/2: 201 330 064|033|027|011|167 343|200 360 000 JS110P300; NOT; NEG; OR; SHC-15; EXIT1;
3763/1: 170 142|100 140|221 145 155|205 327 357 65; =M6; M0M6; J4P45=Z; JS62;
3764/5: 042|101 140|164 341|201 267 363 DUP; =M0M6; SHL-16; J65;
106; (Attend to OUT8 queues);
3766/1: 304 003 247|201 327 363|304 003 251|201 327 363 SETAV0P23; JS65; SETAV2P23; JS65;
63;
(Alter subprogram numbers in FLEX q)
3770/1: 304 001 220|170 143 SETAV0P6; =RM6;
3771/0: 100 140|200 331 215|205 267 372|202 267 373 15; M0M6; JSP127; J16; J17;
3772/5: 201 327 360 16; JS64;
3773/2: 042|103 140|033|200 147 371 17; DUP; =M0M6Q; NOT; J15≠Z;
(Swop SHU stores)
3774/3: 171 102|164 003|170 102|171 122|164 003|170 162 M4; SHL+1; =M4; M5; SHL+1; =M7;
3776/3: 300 007 266|170 156 V2; =Q6;
3777/2: 100 147|100 144|101 147|101 144 14; M7M6; M4M6; =M7M6; =M4M6;
4000/4: 110 147|110 144|111 147|113 144|262 147 377 M7M6N; M4M6N; =M7M6N; =M4M6QN; J14C6NZ;
4002/3: 200 267 272 J3;
4003/0: 303 120 021|263 127 271 4; =V9P0M5Q; J2C5NZ;
1; (Set up priority swops)
4004/0: 200 330 112 JSP116;
40; (Set up B program move)
4004/3: 304 000 004|170 171|145 160 SET4; =RC7; I7=-1;
4005/4: 300 010 125|164 367 V0P117; SHL-5;
4006/3: 170 144 42; =I6;
4006/5: 240 170 017 44; J43C7Z;
4007/2: 302 170 111|042|200 330 103|225 150 006 V3P116M7Q; DUP; JS115P300; J44=Z;
4011/0: 300 140 021|167 355|041|166 025 V9P0M6; SHC-10; ZERO; SHLD+10;
4012/2: 171 144|205 030 014 I6; J45≠;
4013/1: 065|164 061|164 265|033|036 REV; SHL+24; SHL-38; NOT; -;
4014/2: 203 270 006 J42;
4014/5: 011|167 035|164 025|171 144 45; OR; SHC+14; SHL+10; I6;
4016/0: 011|167 061|205 330 073 OR; SHC+24; JS112P300;
4017/0: 300 007 264|200 147 270 43; V0; J6≠Z;
(== 28 ==)
4020/0: 304 000 004|170 111 SET4; =RC4;
4020/5: 151 105|304 000 020|302 100 021|164 321|200 150 024 50; M4TOQ5; SETB20; V9P0M4Q; SHL-24; J51≠Z;
4023/0: 200 330 100|203 327 271 JS114P300; JS2;
4024/0: 205 330 076|041|033|301 007 264|304 000 001|167 313|301 002 336
51; JS113P300; ZERO; NOT; =V0; SET1; SHC-27; =V0P13;
4026/4: 265 110 020 52; J50C4NZ;
4027/1: 200 360 000 EXIT1;
18; (Claim or return extra store);
4027/4: 200 326 326|202 263 312|300 007 264|205 145 154|221 050 041 JSP62; J16P23; V0P105; J3P45≠Z; J19<Z;
(Store to be increased);
(Mark 1 verson bloody awful code);
4032/1: 042|200 330 126|041|017|017|164 267|036|220 105 155 DUP; JSP117; ZERO; DUMMY; DUMMY; SHL-37; -; J1P45>Z; (J if too much);
4034/2: 300 000 022|300 000 023|300 000 024|011|011|164 115|200 145 155
V10P0; V11P0; V12P0; OR; OR; SHL38; J1P45≠Z;(J if others in MC);
4037/0: 164 035|300 120 021|056|301 120 021|041|201 264 033 20; SHL14; V9P0M5; +; =V9P0M5; ZERO; J1P24;
4041/1: 042|027|300 120 021 19; (Store to be reduced); DUP; NEG; V9P0M5;
4042/0: 164 061|164 265|036|200 045 155|200 270 037 SHL24; SHL-38; -; J1P45>Z; J20; (Not quite as bad as 1st bit);
=== Start P300V-1; at address 2084/4044
P300; (Old seperate P routines);
106; (Given BA/NOL, set C7= no. of words occupied,
I7,M7= first and last addresses occupied)
4044/0: 042|164 115|164 277|042|203 150 046 DUP; SHL+38; SHL-33; DUP; J10≠Z;
4045/3: 170 176|052|200 360 000 =Q7; ERASE; EXIT1;
4046/3: 042|170 164|170 162|164 061|164 265 10; DUP; =I7; =M7; SHL+24; SHL-38;
4050/0: 033|027|164 013|042|170 170 NOT; NEG; SHL+5; DUP; =C7;
4051/1: 027|033|172 162|200 360 000 NEG; NOT; =+M7; EXIT1;
107; (Given BA/NOL, set up Q7 as in P106, and
test lock-out on progrms area)
4052/2: 041|002|200 330 044|124 164|221 345 155|202 360 001 ZERO; =TR; JS106; TLOQ7; J4P45TR; EXIT2;
108; (Given transfer paramters, test for I > I7 and
M < M7)
4054/3: 041|065|166 341|164 101|166 301 ZERO; REV; SHLD-16; SHL+32; SHLD-32;
4055/5: 171 164|037|171 162|066|037 I7; SIGN; M7; CAB; SIGN;
4057/0: 011|221 045 155|202 360 001 OR; J4P45<Z; EXIT2;
109; (Given transfer parameters, add M6 to I and
M if transfer lies in area given by I7-M7)
4060/1: 042|203 330 054|200 360 000 DUP; JS108P300; EXIT1;
4061/2: 171 142|164 101|042|066|167 041 M6; SHL+32; DUP; CAB; SHC+16;
4062/4: 056|167 041|056|167 041|200 360 000 +; SHC+16; +; SHC+16; EXIT1;
110; (Replace N1 by M4 or M5 if N1=M5 or M4 respectively)
4064/1: 171 122|200 030 066 M5; J1≠;
4065/0: 052|171 102|200 360 000 ERASE; M4; EXIT1;
4066/0: 171 102|202 030 067|052|171 122 1; M4; J2≠; ERASE; M5;
4067/2: 200 360 000 2; EXIT1;
111; (Set up swop of priorities given in M6, M7)
4067/5: 171 142|171 162|036|164 133|042 M6; M7; -; SHL+45; DUP;
4071/1: 300 160 021|011|301 160 021|027|300 140 021 V9P0M7; OR; =V9P0M7; NEG; V9P0M6;
4073/0: 164 007|164 373|011 SHL+3; SHL-3; OR; ;
112; (Store new BA/NOL in V9P0M6, set V0P105 nz if new
BA/NOL differs from previous one)
4073/5: 042|300 140 021|015|300 007 264|011 DUP; V9P0M6; NEV; V0P105; OR;
4075/2: 301 007 264|301 140 021|200 360 000 =V0P105; =V9P0M6; EXIT1;
113; (Set HU bits in priority hold-up word)
4076/5: 300 122 021|011|205 270 100 V25P104M5; OR; J20;
114; (Clear HU bits from priority hold-up word)
4100/0: 033|300 122 021|054 NOT; V25P104M5; AND;
4100/5: 042|301 122 021|200 142 337|304 377 376|205 262 341 20; DUP; =V25P104M5; JP13≠Z; SET-2; J1P13;
(== 29 ==)
115; (Given BA/NOL, set priority no. in M6, 6 times
priority number in C6)
4103/0: 164 105|164 245|042|170 142|042 SHL+34; SHL-46; DUP; =M6; DUP;
4104/2: 164 003|056|164 003|170 150|200 360 000 SHL+1; +; SHL+1; =C6; EXIT1;
=== Start P116V3; at address 2122/4112
P116V3; (Form table of BA/NOLs in order of decreasing
base address)
4112/0: 304 000 004|170 151|300 005 075|164 367 SET4; =RC6; V10P45; SHL-5;
4113/4: 164 111|041|301 150 106 1; SHL+36; ZERO; =V0M6;
4114/4: 304 000 004|170 171 SET4; =RC7;
4115/3: 302 160 021|164 111|042|300 150 106|164 111 2; V9P0M7Q; SHL+36; DUP; V0M6; SHL+36;
4117/2: 037|202 110 122 SIGN; J3<Z;
4120/0: 065|042|012|037|203 050 122 REV; DUP; PERM; SIGN; J4>Z;
4121/1: 300 160 020|301 150 106|041 V8P0M7; =V0M6; ZERO;
4122/2: 052 3; ERASE;
4122/3: 263 170 115 4; J2C7NZ;
4123/0: 052|302 150 106|264 150 113|052|200 360 000 ERASE; V0M6Q; J1C6NZ; ERASE; EXIT1;
=== Start P117V0; at address 2134/4126
P117V0; (Set in N1 parameters for space between B and
A programs, as C= no. of words, I,M= first and
last addresses)
4126/0: 200 330 112|304 000 004|170 171|300 005 075 JSP116; SET4;=RC7; V10P45;
4127/5: 300 170 106|042|200 330 103|221 150 135 1; V0P116M7; DUP; JS115P300; J2=Z;
4131/3: 302 170 106|300 001 370|164 140|164 005|221 050 136 V0P116M7Q; V0P104; SHLC6; SHL+2; J3<Z;
4133/4: 065|052|164 115|164 277|265 170 127 REV; ERASE; SHL+38; SHL-33; J1C7NZ;
4135/1: 300 010 125|201 270 140 2; V0; J4;
4136/1: 042|164 345|056|164 115 3; DUP; SHL-14; +; SHL+38;
4137/1: 164 277|304 000 040|056 SHL-33; SET32; +;
4140/1: 042|170 164|027|065|042 4; DUP; =I7; NEG; REV; DUP;
4141/1: 027|033|170 162|056|170 170 NEG; NOT; =M7; +; =C7;
4142/2: 241 165 155 J4P45C7Z;
4142/5: 171 176|202 360 001 Q7; EXIT2;
=== Start P118V-1; at address 2148/4144
P118; (Given N1=4 for A-program or 5
for B, and N2=BA/NOL, sets parameters
prior to reading in new program)
4144/0: 304 000 005|042|301 122 025|161 377 SET5; DUP; =V29P104M5; SHA-1;
4145/3: 171 122|042|301 005 221|033|164 003 M5; DUP; =V0P52; NOT; SHL+1;
4147/0: 042|164 003|056|170 130 DUP; SHL+1; +; =C5;
4150/0: 304 000 001|167 120|300 001 370|011|301 001 370 SET1;SHCC5; V0P104; OR; =V0P104;
4152/0: 300 120 021|011|301 120 021|200 360 000 V9P0M5; OR; =V9P0M5; EXIT1;
=== Start P119V-1; at address 2156/4154
P119; (Given first word of program name, checks it
for 0702--02 and extracts third character)
4154/0: 041|166 045|167 365|166 255|065 ZERO; SHLD+18; SHC-6; SHLD-42; REV;
4155/2: 304 160 202|015|200 145 155|200 360 001 SETB70202; NEV; J1P45≠Z; EXIT3;
=== Start P120V6; at address 2166/4166
P120V6; (General program input procedures)
(V3=date,V4=N number)
V-store at 04157 = 034 054 062 276 160 064 V0=B0702606257470064;
V-store at 04160 = 207 011 100 312 134 177 V1=B4160450062456177;
V-store at 04161 = 003 012 165 000 000 000 V2=B0060516500000000;
4166/0: 301 122 015|300 010 161 11; (TINT T enters here); =V21P104M5; V2;
4167/0: 300 144 035|164 075|164 305|011|300 120 040 V0P26M6; SHL+30; SHL-30; OR; V24P0M5;
4170/5: 304 000 002|200 321 321 SET2; JSP6;
(Read A-block)
4171/5: 154 147|200 331 213|200 327 247 C6TOQ7; JSP126; JSP102;
4173/1: 125 160|041|200 321 351 PIBQ7; ZERO; JSP10;
4174/1: 121 160|200 350 176 PARQ7; J14NTR;
4175/0: 304 000 001|200 271 134 SET1; JP121;
4176/0: 171 164|170 142|110 140|301 122 051 14; I7; =M6; M0M6N; =V49P104M5;
4177/3: 100 140|042|301 122 045|200 330 154 M0M6; DUP; =V45P104M5; JSP119;
(== 30 ==)
4201/0: 304 000 002|200 271 134 16; SET2; JP121;
4202/0: 300 140 002|164 365|164 015|300 006 341|221 030 213|042 E2M6; SHL-6; SHL6;V2P65; J94=; DUP;
4204/2: 164 255|304 000 035|015|204 151 131 SHL-42; SETB35; NEV; J98≠Z;
4205/5: 304 000 005|170 150|042 SET5; =C6; DUP;
4206/5: 164 015|042|223 051 131|143 140|265 150 206|164 015|167 015 93; SHL6; DUP; J96<Z; DC6; J93C6NZ; SHL6; SHC6;
4211/2: 304 000 075|015|204 151 131|304 360 000|054 SETB75; NEV; J98≠Z; SETB170000; AND;
4213/1: 301 122 125 94; =V93P104M5; (Store job no.);
4213/4: 304 000 060|015|221 150 271|200 331 202 SETB60; NEV; J30=Z; JSP123;
22; (OUT 1 enters here);
4215/2: 300 122 045|200 330 154|200 260 116|200 320 116 V45P104M5; JSP119; J35P0; JS35P0;
4217/2: 304 000 044|220 030 310 SETB44; J82=;
4220/2: 304 000 055|015|200 150 201 SETB55;NEV; J16≠Z;
(Program to be read from mag tape);
4221/3: 300 005 222|042|170 142 V1P52; DUP; =M6;
4222/3: 170 170|265 170 242 =C7; J21C7NZ;
4223/2: 300 122 051|300 122 045|164 061 19; V49P104M5; V45P104M5; SHL+24;
4224/4: 300 122 025|304 000 001|164 133|011 V29P104M5; SET1; SHL+45; OR;
4226/1: 301 122 025|200 326 031|164 015|304 000 017|011|166 321|052 =V29P104M5; JSP55; SHL6; SETB17; OR; SHLD-24; ERASE;
4230/4: 300 010 160|300 010 157|304 000 004|200 321 324 V1;V0; SET4; JS4P6;
4232/4: 200 321 365 20; JS4P10;
4233/1: 300 122 025|164 005|202 050 215 V29P104M5; SHL+2; J22>Z;
4234/3: 300 122 025|164 003|204 050 232 V29P104M5; SHL+1; J20>Z;
4235/5: 304 000 011|200 271 134 24; SET9; JP121;
25; (Program not on tape)
4236/5: 171 170|170 142|200 331 345 C7; =M6; JSP135;
4240/0: 041|301 005 222|202 270 223 ZERO; =V1P52; J19;
4241/1: 171 170|170 142|200 331 345|202 270 215 105; C7; =M6; JSP135; J22; (Abandon search);
4242/5: 300 122 025|164 007|041|033|050|164 373|301 122 025 21; V29P104M5; SHL+3; ZERO; NOT; CONT; SHL-3; =V29P104M5;
4245/0: 300 144 035|164 061|164 255|304 000 043|015 V0P26M6; SHL+24; SHL-42; SETB43; NEV;
4246/5: 222 150 223 J19=Z;
4247/2: 041|300 144 035|164 061|166 305|164 351 ZERO; V0P26M6; SHL+24; SHLD-30; SHL-12;
4251/0: 304 000 054|015|011|204 150 232 SETB54; NEV; OR; J20≠Z;
4252/2: 300 144 035|200 326 031|011|301 144 035 V0P26M6; JSP55; OR; =V0P26M6;
4254/0: 153 007|134 160|041|200 321 351 23; IM0TOQ7; PMAQ7; ZERO; JSP10;
4255/2: 300 122 025|164 007|201 050 241 V29P104M5; SHL+3; J105>Z;
4256/4: 121 160|223 350 257 PARQ7; J28TR;
4257/3: 122 160|225 350 236 28; PMFQ7; J25TR;
4260/2: 120 164|200 350 254 PMCQ7; J23NTR;
4261/1: 200 331 213|200 327 247|124 160|041|200 321 351 JSP126; JSP102; PIAQ7; ZERO; JSP10;
4263/1: 121 160|220 350 264 PARQ7; J29TR;
4264/0: 120 164|122 160|225 350 236 29; PMCQ7; PMFQ7; J25TR;
4265/1: 171 164|170 142|100 140|300 122 045 I7; =M6; M0M6; V45P104M5;
Warning: V49104P120 is out of range, only 7 V-stores specified
4266/4: 200 331 357|110 140|340 130 077|200 331 357|011 JSP137; M0M6N; V49104M5; JSP137; OR;
4270/4: 200 150 254 J23≠Z;
30; (Read B-block)
4271/1: 200 327 247|124 160|041|200 321 351 JSP102; PIAQ7; ZERO; JSP10;
4272/4: 121 160|200 350 317 PARQ7; J31NTR;
4273/3: 304 000 004|200 271 134 74; SET4; JP121;
4274/3: 300 122 051|300 122 045|164 061 81; V49P104M5; V45P104M5; SHL24;
4275/5: 164 361|304 272 371|166 341|052 SHL-8; SETB135371; SHLD-16; ERASE;
4277/1: 300 120 040|304 000 003|200 321 324|204 271 141 V24P0M5; SET3; JS4P6; J20P121; (Nod gives CRNP message);
69; (Binary archived);
4301/1: 041|033|164 373|065|200 326 062 ZERO; NOT; SHL-3; REV; JSP58; (Request tape);
4302/3: 245 150 235|300 144 035|300 122 045|304 000 011|164 045 J24C6Z; V0P26M6; V45P104M5; SET9; SHL18;
4304/5: 042|164 031|057|301 122 045|164 365|164 015|301 144 035 DUP; SHL12; +D; =V45P104M5; SHL-6; SHL6; =V0P26M6;
(Change D to M and C to L);
4307/1: 154 147|205 270 242 C6TOQ7; J21;
82; (Program to be read from disc);
4310/0: 052|300 122 121|300 122 025|164 113|221 050 313 ERASE; V89P104M5; V29P104M5; SHL37; J182<Z;
4312/0: 052|200 333 103|203 270 274 ERASE; JSP194; J81;
4313/1: 042|221 050 301 182; DUP; J69<Z; (J if prog on tape);
4313/5: 042 (Program on disc); DUP;
4314/0: 304 000 001|167 357|011|301 122 121|200 331 213|202 331 121|203 270 273
SET1; SHC-9; OR; =V89P104M5; JSP126; JS84; J74;(Read B block);
(== 31 ==)
4317/0: 171 164|170 142|300 140 002|300 122 045|200 331 357 31; I7; =M6; E2M6; V45P104M5; JSP137;
4321/1: 300 140 003|300 122 051|200 331 357|011|222 150 324 E3M6; V49P104M5;JSP137; OR; J32=Z;
4323/2: 304 000 005|200 271 134 SET5; JP121;
32; (Check and assign store requirement)
4324/2: 110 140|164 061|164 321 M0M6N; SHL+24; SHL-24; (Req);
4325/2: 300 121 371 V1P104M5; (Limit)
4325/5: 042|012|220 140 116 DUP; PERM; J35P0=Z;
4326/4: 042|223 150 331 DUP; J33=Z;
4327/2: 042|066|037|204 110 332 37; DUP; CAB; SIGN; J34<Z;
4330/2: 052 63; ERASE;
4330/3: 304 000 006|200 271 134 39; SET6; JP121;
(60; REV; ERASE; DUP; J61=Z;
V10P45; V0P117; -; REV; J37;
61; (Zero limit and req); Q7; =V1P104M5;
62; ERASE; JSP117; ZERO; DUMMY; DUMMY;
SHL-32; SHL+9; V9P0M5; +; DUP =V9P0M5;
SHL+24; SHL-38; NOT; NEG; SHL+5;
V1P101; REV;
FRB; V4; OR; =V14;V24P0M5; JSP55; OR; =V11;
ZERO; SETAV11; SETAV15; JSP8;
SETAV15; =Q6; V10P45; V0P117; -;
SETB77740; JS1P32; ERASE; DUP; DUMMY;
NEG; NOT; SHL-5; NOT; NEG; SHL+5;
DUP; CAB; SIGN; J62>Z;
133; V1P104M5; =Q7; JSP126; I7; =M6; DUP; J63<Z;
ZERO;
);
4331/3: 052 33; ERASE;
4331/4: 042|110 140|011|111 140 DUP; M0M6N; OR; =M0M6N;
4332/4: 027|033|164 367 34; NEG; NOT; SHL-5;
4333/2: 042|300 120 021|164 061|164 265 35; DUP; V9P0M5; SHL+24; SHL-38;
4334/4: 037|201 110 346 SIGN; J38<Z;
4335/2: 171 176|200 330 126|202 270 341 Q7; JSP117; J36;
4336/4: 164 301|164 023|300 120 021|056 SHL-32; SHL+9; V9P0M5; +;
4340/0: 301 120 021|170 176|202 270 333 =V9P0M5; =Q7; J35;
4341/2: 065|301 121 371 36; REV; =V1P104M5;
4342/0: 300 122 105|164 017|220 051 224 V77P104M5; SHL+7; JP130<Z; (J if foreground);
4343/2: 304 000 001|041|066|200 331 337|203 270 330 136; SET1; ZERO; CAB; JSP134; J39;
4345/1: 300 121 371|202 270 333 V1P104M5; J35;
4346/1: 200 333 011|203 270 354 38; JSP193; J140; (J if JO);
4347/1: 042|300 120 021|167 321|041|166 025|066|036|164 365 DUP; V9P0M5; SHC-24; ZERO; SHLD+10; CAB; -; SHL-6;
4351/2: 300 013 006|011|301 013 006|011|167 035 V0P193; OR; =V0P193; OR; SHC+14;
4353/0: 301 120 021|041|033|301 007 264|041 =V9P0M5; ZERO; NOT; =V0P105; ZERO;
4354/3: 052|041 140; ERASE; ZERO;
40; (Check filler word)
4354/5: 301 121 371|100 160|042|301 100 024|170 156 =V1P104M5; M0M7; DUP; =E20M4; =Q6;
4356/4: 153 147|171 164|042|304 000 007|037|203 331 332|203 270 366 IM6TOQ7; I7; DUP; SET7; SIGN; JS1P133; J85;
(Read C-blocks);
4361/1: 300 122 045|164 305|304 160 244|015|223 150 367 V45P104M5; SHL-30; SETB70244; NEV; J83=Z; (J if disc);
4363/1: 200 327 247|124 160|041|200 321 351 JSP102; PIAQ7; ZERO; JSP10;
4364/4: 121 160|201 351 003 PARQ7; J42NTR;
4365/3: 304 000 010|200 271 134 78; SET8; JP121;
4366/3: 304 000 007|200 271 134 85; SET7; JP121;
83; (Read C block from disc);
4367/3: 300 122 105|164 003|205 050 371|300 007 064|201 151 003 V77P104M5; SHL+1; J86>Z; V0P76; J42≠Z;
4371/5: 171 164|027|033|042|170 164|170 142|100 140|301 122 035 86; I7; NEG; NOT; DUP; =I7; =M6; M0M6; =V37P104M5;
(Preserve word which will be overwritten by N.O.C.);
4374/1: 171 162|171 164|036|304 016 377|036|223 110 366|200 327 247|300 122 121|202 331 121
M7; I7; -; SET3839; -; J85>Z; JSP102; V89P104M5; JS84;
4377/4: 203 270 365|171 164|170 142|171 104|172 164 J78; I7; =M6; I4; =+I7;
4401/3: 100 140|300 122 035|101 140|301 122 121 M0M6; (N.O.C.); V37P104M5; =M0M6; =V89P104M5;
4403/1: 171 162|171 164|042|170 143|036|170 150|300 121 371 42; M7; I7; DUP; =RM6; -; =C6; V1P104M5;
4405/2: 017|017|017|017|242 151 007|102 140|056|177 140 *51; J52C6Z; M0M6Q; +; J51C6NZS;
4407/2: 300 100 024|164 301|205 150 354 52; E20M4; SHL-32; J40≠Z;
(== 32 ==)
(Check C-block sum)
4410/4: 100 160|015|300 120 021|164 013|170 162 M0M7; NEV; V9P0M5; SHL+5; =M7;
4412/2: 100 160|164 061|224 151 014 M0M7; SHL+24; J53=Z;
4413/3: 304 000 003|065|200 151 134 SET3; REV; JP121≠Z;
53; (Dispose of input unit)
4414/4: 052|245 171 020|171 170|170 142|300 144 035 ERASE; J47C7Z; C7; =M6; V0P26M6;
4416/3: 164 043|222 051 020|200 331 202|205 271 020 SHL17;J43<Z; JSP123;J47;
4420/2: 200 331 345 43; JSP135;
4420/5: 300 005 221|171 122|015|201 151 023|041|033|301 005 221 47; V0P52; M5;NEV; J44≠Z; ZERO; NOT; =V0P52;
44; (OUT 2 enters here)
4423/1: 300 120 021|164 013|170 142|100 140 V9P0M5; SHL+5; =M6; M0M6;
4424/4: 300 122 031|166 061|167 061|101 140 V33P104M5; SHLD+24; SHC+24; =M0M6;
4426/1: 301 122 031|300 122 125|300 122 025 =V33P104M5; V93P104M5;V29P104M5;
4427/4: 041|301 122 025|304 000 002|200 330 100 ZERO; =V29P104M5; SET2; JS114P300;
4431/2: 041|301 121 371|300 010 162|301 140 007 ZERO; =V1P104M5; V3; =E7M6;
4433/0: 300 140 003|042|301 122 041|300 140 002|042 E3M6; DUP; =V41P104M5; E2M6; DUP;
4434/5: 301 122 035|304 040 002|164 061|036 =V37P104M5; SETB20002; SHL+24; -;
4436/2: 203 333 037|202 331 067 JS3P193; JS141; (Do things if JO);
4437/2: 164 015|200 326 031|011|167 365 SHL+6; JSP55; OR; SHC-6;
4440/4: 066|300 120 040|304 000 033|011|065|042 CAB; V24P0M5; SETB33; OR; REV; DUP;
4442/2: 167 375|220 051 072|052 SHC-2; J48<Z; ERASE;
4443/2: 300 122 105|047|042|300 007 064|011|301 007 064 V77P104M5; STR;DUP; V0P76; OR; =V0P76;
4445/2: 050|304 101 204|167 343|054|301 122 105 CONT; SETB40604; SHC-15; AND; =V77P104M5;
4447/0: 041|033|301 122 071|300 010 163|301 140 006|041|301 010 163 ZERO; NOT; =V65P104M5; V4; =E6M6; ZERO; =V4;
4451/3: 203 331 106|017|017|017 JS109; DUMMY; DUMMY; DUMMY;
4452/3: 300 006 045|167 031|300 000 010|042|301 122 055 201; V0P57; SHC12; V0P0; DUP; =V53P104M5;
4454/3: 041|301 122 001|161 321|304 000 036|056|067 ZERO; =V9P104M5; SHA-24; SET30; +; FRB;
4456/2: 300 000 037|164 003|011|300 010 162|164 335 V23P0; SHL+1; OR; V3; SHL-18;
4460/1: 166 045|164 365|166 351|164 015|166 321 SHLD+18; SHL-6; SHLD-12;SHL+6; SHLD-24;
4461/5: 304 377 333|164 031|011|167 335|300 120 040|304 000 002|011|167 365|304 000 007
SETB177733; SHL12; OR; SHC-18; V24P0M5; SET2; OR; SHC-6; SET7;
4465/1: 200 321 321 49; JSP6;
4465/4: 041|202 324 143 64; ZERO; JS6P29;
4466/2: 200 260 116 50; J35P0;
4466/5: 200 360 000 EXIT1;
4467/2: 300 120 021|164 061|164 277|033|027|164 013|111 140|200 360 000
141; V9P0M5; SHL+24; SHL-33; NOT; NEG; SHL+5; =M0M6N; EXIT1;
4472/0: 203 331 106|200 271 115 48; (OUT 1 only); JS109; J110;
4473/0: 114 006|300 122 131|032|052|115 006 107; M6M0HN; V97P104M5; MAX; ERASE; =M6M0HN;
4474/3: 205 324 126|200 320 116|205 324 126|200 320 116 JS3P29; JS35P0; JS3P29; JS35P0;
4476/3: 164 113|202 051 100|205 324 126|017|017|017 SHL37; J183>Z; JS3P29; DUMMY; DUMMY; DUMMY;
4500/2: 201 324 133|202 271 066|052|300 122 105|164 031|220 051 104 183; JS5P29; J50; ERASE; V77P104M5; SHL12; J200<Z;
4502/5: 052|052|052|052|204 271 065 ERASE; ERASE; ERASE; ERASE; J64;
4504/0: 300 122 105|304 377 276|167 347|054|301 122 105|203 271 052 200; V77P104M5; SETB177676; SHC-13; AND; =V77P104M5; J201;
109; (If Leeds prog and TL < 1 then replace with MAX TL);
4506/3: 300 122 035|164 061|164 255|042|304 000 045 V37P104M5; SHL24; SHL-42; DUP; SETB45;
4510/2: 015|026|027|065|304 000 053|015 NEV; ABS; NEG; REV; SETB53; NEV;
4511/4: 026|027|054|110 140|164 317|011|201 145 155 ABS; NEG; AND; M0M6N; SHL-25; OR; J4P45≠Z;
4513/3: 041|033|047|052|115 006|202 360 001 111; ZERO; NOT; STR; ERASE; =M6M0HN; EXIT2;
4515/0: 001|114 006|300 121 375|014|036|224 211 117|115 006|200 271 073
110; VR; M6M0HN; V5P104M5; ROUNDH; -; J106V; =M6M0HN; J107;
4517/4: 052|203 331 113|017|017|017|200 271 073 106; ERASE; JS111; DUMMY; DUMMY; DUMMY; J107;
4521/2: 042|164 101 84; (Read block from disc); DUP; SHL+32;
4521/5: 204 334 073|166 341|052|301 100 025|171 104|200 334 303 JS10P196; SHLD-16; ERASE; =E21M4; I4; JSP199;
4524/1: 300 100 025|170 156|171 144|304 000 016|011|170 170|205 335 002|124 160
87; E21M4; =Q6; I6; SETB16; OR; =C7; JS4P199; PIAQ7;
4527/1: 171 104|203 334 372|200 360 000|201 271 124|202 360 001 I4; JS5P199; EXIT1; J87; EXIT2;
4531/3: 052 96; ERASE;
4531/4: 052|052|200 270 201 98; ERASE;ERASE;J16;
=== Start P121V0; at address 2396/4534
P121V0; (CRNP failure-number given in N1) [ Cannot read new program
V-store at 04533 = 002 074 256 300 004 020 V0=B43625660002020;
4534/0: 042|300 011 133|011|300 120 040|066|304 000 003|036|304 000 002|065|221 051 141
DUP; V0; OR; V24P0M5; CAB; SET3; -; SET2; REV; J22<Z;
4537/2: 042|056|300 122 051|300 122 045|166 061|051 DUP; +; V49P104M5; V45P104M5; SHLD24; REVD;
4541/1: 200 321 324 22; JS4P6;
4541/4: 300 122 025 20; V29P104M5;
(== 33 ==)
4542/1: 304 000 005|301 122 025|300 005 221|171 122 SET5; =V29P104M5; V0P52; M5;
4544/0: 015|203 151 145|041|033|301 005 221 NEV; J21≠Z; (J if out from disc); ZERO; NOT; =V0P52;
21;
4545/3: 200 326 031|304 021 120|015|200 324 055 JSP55; SETB10520; NEV; JS1P26;
4547/1: 202 271 150 J1;
4547/4: 052|200 331 345 ERASE; JSP135;
4550/2: 167 375|201 051 152 1; SHC-2; J2>Z;
(CRNP failure in OUT 1);
4551/1: 304 000 005|201 262 353 SET5; J1P15; (CRNP in OUT1 does not say FAILSIO);
4552/1: 300 005 223|170 170|243 171 154 2; V2P52; =C7; J3C7Z;
4553/3: 120 161|041|301 005 223 MANUALQ7; ZERO; =V2P52;
4554/3: 300 004 035|170 156 3; V0P26; =Q6;
4555/2: 102 140|052|242 151 160 4; M0M6Q; ERASE; J10C6Z;
4556/2: 200 331 210|202 271 155 JSP125; J4;
4557/2: 204 324 072|202 271 155 JS1P27; (Make unit U); J4;
10; (Clear BA/NOL, PHU, etc.)
4560/2: 041|301 122 105 ZERO;=V77P104M5; (Clear disc allocation and other markers);
4561/0: 041|301 122 035|041|301 122 041 ZERO; =V37P104M5; ZERO; =V41P104M5;
4562/2: 041|301 122 031|300 120 021|042|200 330 103|042 ZERO; =V33P104M5; V9P0M5; DUP; JS115P300; DUP;
4564/2: 304 317 377|164 007|164 373|033|054|200 331 347 SETB147777; SHL+3; SHL-3; NOT; AND; JSP136;
4566/2: 300 001 370|167 140|164 011|142 140|164 371 V0P104; SHCC6; SHL+4; NC6; SHL-4;
4570/1: 167 140|301 001 370|200 360 000 SHCC6;=V0P104; EXIT1;
=== Start P122V1; at address 2428/4574
P122V1; (Check given word as mag tape identifier)
V-store at 04572 = 152 246 265 152 346 253 V0=B3252326532563253; [ underlined word JUNK
V-store at 04573 = 377 353 277 377 377 360 V1=B377727377777777/43; [ mask for allowable characters, digits, letters and a few others
4574/0: 042|304 000 077|054 DUP; SETB77; AND;
4574/5: 170 170|042|220 145 155 1; =C7; DUP; J1P45=Z; [ EXIT1 for OK, includes zero tape , i.e. work tape / scratch tape
4575/5: 300 011 173|041|166 160|065|052 2; V1; ZERO; SHLDC7; REV; ERASE;
4577/1: 164 067|166 015|042|225 051 174 SHL+27; SHLD+6; DUP; J1<Z; [ J if current char is OK
4600/3: 052|052|300 011 172|202 360 001 ERASE; ERASE; V0; EXIT2;
=== Start P123V-1; at address 2434/4602
P123; (Dispose of program inpt ptr, given C7)
4602/0: 171 170|170 142|300 144 035|042|164 061 C7; =M6; V0P26M6; DUP; SHL+24;
4603/4: 164 255|304 000 065|015|201 151 206 SHL-42; SETB65; NEV; J1≠Z;
4605/1: 120 161|164 365|164 015 MANUALQ7; SHL-6; SHL+6;
4606/1: 301 144 035 1; =V0P26M6;
4606/4: 041|301 005 223|200 360 000 ZERO; =V2P52; EXIT1;
=== Start P125V-1; at address 2440/4610
P125; (Given unit number in M6, check if valid
and owned by priority in M5)
4610/0: 300 144 035|200 326 031|015|167 003|164 123|201 145 155 V0P26M6; JSP55; NEV; SHC+1; SHL+41; J4P45≠Z;
4612/2: 202 360 001 EXIT2;
=== Start P126V-1; at address 2443/4613
P126; (Given priority no. in M5, set base address in
it and base address+7 in M7)
4613/0: 152 007|304 000 007|170 162|200 271 220 I0TOQ7; SET7; =M7; JP128;
=== Start P127V-1; at address 2445/4615
P127; (Check given word for D0=1 and D1-11 all the same,
i.e. parametr in FLEX queue)
4615/0: 042|200 051 217 DUP; J1>Z;
4615/4: 042|164 003|161 251|221 145 155 DUP; SHL+1; SHA-44; J4P45=Z; (The SHA is changed from SHA-38
in a desperate bid to et KKT92P1 to work);
4617/0: 202 360 001 1; EXIT2;
=== Start P128V-1; at address 2448/4620
P128; (Add base address of priority in M5 to I7 and M7)
4620/0: 300 120 021|164 115|164 277|042 V9P0M5; SHL+38; SHL-33; DUP;
4621/2: 172 164|172 162|200 360 000 =+I7; =+M7; EXIT1;
=== Start P130V0; at address 2452/4624
P130V0; (Handle foreground jobs);
V-store at 04623 = 377 377 377 377 377 377 V0=-1; (Letter of dumped job);
4624/0: 300 011 223|202 050 343 V0; J136P120>Z; (J if if one level already dumped);
4625/0: 300 121 371|300 120 021|164 061|164 265|036 V1P104M5; V9P0M5; SHL+24; SHL-38; -;
(== 34 ==)
4626/5: 300 004 323|170 151 V0P35;=RC6;
4627/4: 042|302 140 021|164 061|164 265 1; DUP; V9P0M6Q; SHL+24; SHL-38;
4631/0: 036|224 111 234 -; J2>Z; (J if no big enough);
4631/4: 300 142 104|164 017 V76P104M6; SHL+7; (Look at foreground marker and OUT40);
4632/3: 300 142 020|167 375 V24P104M6; SHC-2; (Lok at subprog activity bit and absent bit);
4633/2: 011|042|164 003|011|205 051 235 OR; DUP; SHL+1; OR; J3>Z; (J if OK to roll out);
4634/4: 264 111 227 2; J1C4NZ;
4635/1: 052|202 270 343 5; ERASE; J136P120; (Wait and come round again);
4635/5: 141 140|171 122|202 331 240|170 122|200 324 213|201 271 235 3; M-I6; M5; JS4; =M5; JSP30; J5;
4640/2: 151 145|200 324 213|300 120 021|200 330 044|200 326 031|301 011 223
4; M6TOQ5; JSP30; V9P0M5; JS106P300; JSP55; =V0;
4643/1: 200 331 367|200 327 247 JSP139; JSP102; (Wait for no lo and no 2ND subprog);
(Now OK to dump);
4644/1: 041 ZERO;
4644/2: 042|042|304 000 140|056|042|301 100 037 6; DUP; DUP; SET96; +; DUP; =E31M4; (SHUL* of sec subprog);
4646/0: 304 000 050|034|050|001|300 120 021 SET40; ×D; CONT;(Extent of max transfer); VR; V9P0M5;
4647/3: 164 061|164 265|033|027|164 013 SHL+24; SHL-38; NOT; NEG; SHL+5;
4650/5: 032|052 MAX; ERASE; (Leaves size of transfer in N1);
(VR set if this is last transer);
4651/1: 027|033 NEG; NOT; (High address of transfer);
4651/3: 065 REV; (Strat sector);
4651/4: 304 000 050|034|050|164 041|011 SET40; ×D; CONT; SHL+16; (Low address); OR;
4653/0: 065|304 004 200|056 REV; SET1152; +; (Strat dump on track 12);
4653/5: 225 211 255 J7V; (J if last time);
4654/2: 202 331 266|300 100 037|202 271 244 JS10; E31M4; J6;
4655/5: 202 331 266 7; (Last time); JS10;
4656/2: 300 120 021|042|164 013|170 142|042|301 140 002 V9P0M5; DUP; SHL+5; =M6; DUP; =E2M6;
4660/2: 167 061|164 025|167 035|301 120 021 SHC+24; SHL+10; SHC+14; =V9P0M5; (Sets NOL = 32 words);
4661/5: 304 004 200|111 140|200 331 316|304 000 007|170 143|171 156|304 000 041|202 331 266
SET1152; =M0M6N; JS13; SET7; =RM6; Q6; SET33;JS10;
(Put entry for JO on disc);
4665/2: 304 000 040|205 270 076 SETB40; J113P300; (Hold up obj pro);
10; (Write on global disc);
4666/2: 304 003 000|056|173 000|200 274 136 SET768; +;LINK; J234P196;
4667/5: 304 001 270|200 260 332 12; (Invalid OUT25); SETB670; JP2;
50; (Swop levels - only available to JO);
4670/5: 042|164 041|164 301|065|174 000|173 000|200 326 021|201 334 122
DUP; SHL+16; SHL-32; REV;=LINK; LINK; JS1P54; JS247P196;
4673/3: 204 274 070 J8P196; (Set TR if swop not possible);
25; (OUT25, restore dumped prog if D0=0,
swop levels if D0=1);
(Used by JO, N2=Q-/LO/HI of prog now in store);
4674/0: 203 333 037|200 271 276|304 000 010|200 260 332 JS3P193; J11; SETB10; JP2; (Fail 01 if not JO);
4676/0: 205 334 043|225 051 270 11; JS3P196; J50<Z;
4677/0: 200 331 331|205 271 267|154 007|041|200 321 351 JSP133; J12; C0TOQ7; ZERO; JSP10;
4701/0: 300 122 045|164 043|300 120 021 V45P104M5; SHL+17; V9P0M5;
4702/2: 167 061|166 025|167 035 SHC+24; SHLD+10; SHC+14;
4703/2: 301 120 021|052 =V9P0M5; ERASE; (Chop off old prog )
4704/0: 204 334 070|300 011 223|202 326 033|205 271 267 JS8P196; V0; JS1P56; J12;
4706/0: 171 162|171 164|036|164 367 M7; I7; -; SHL-5; (New NOL);
4707/1: 300 120 021|042|164 013|170 162|167 345|011 V9P0M5; DUP; SHL5; =M7; (Old BA); SHC-14; OR; (Old was 0, put in new one);
4711/0: 167 005|164 031|171 164|042|170 142|164 367|011 SHC+2; SHL+12; I7; DUP;=M6; SHL-5; OR; (Put in new BA);
4713/0: 100 160|101 140 M0M7; =M0M6; (Copy word 0 so that TINT B is not lost);
4713/4: 301 120 021|041|033|301 011 223|304 000 040|200 330 100 =V9P0M5; ZERO; NOT; =V0; SETB40; JS114P300; (Clear HU);
4716/0: 041|033|042|301 000 033|301 007 264|200 360 000 13; ZERO; NOT; DUP; =V19P0; =V0P105; EXIT1;
39; (OUT39, initiate foreground job);
4720/0: 205 334 043|052|304 010 000|032|300 013 007|032|301 013 007 JS3P196; ERASE; SET2048; MAX; V1P193; MAX; =V1P193; [ compare store request with JO size, and any previous request
4722/3: 052|052|041|033|301 013 006|204 274 070 ERASE; ERASE; ZERO; NOT; =V0P193; J8P196; [ set the JO request flag, and return to user-mode program
=== Start P131V-1; at address 2517/4725
P131; (Leaves 3 times M6 in M1)
4725/0: 171 142|042|164 003|056|200 360 000 M6; DUP; SHL+1; +; EXIT1;
=== Start P132V-1; at address 2519/4727
P132; (Check length of given mag tape identifier)
4727/0: 164 255|304 000 035|015|201 145 155|202 360 001 SHL-42; SETB35; NEV; J4P45≠Z; EXIT2;
=== Start P133V-1; at address 2521/4731
P133; (Housekeeping for OUT involving
(== 35 ==)
peripheral transfer. Checks given paramters,
copies to V45P104M5 and, with BA added, to Q7)
4731/0: 042|301 122 045|170 176 DUP; =V45P104M5; =Q7;
4732/0: 171 164|042 I7; DUP;
4732/3: 171 162|066|037|011 1; M7; CAB; SIGN; OR;
4733/2: 300 120 021|164 061|164 265|171 162|164 367 V9P0M5; SHL+24; SHL-38; M7; SHL-5;
4735/1: 037|011|221 045 155 SIGN; OR; J4P45<Z; (Fail)
4736/0: 200 331 220|202 360 001 JSP128; EXIT2;
=== Start P134V-1; at address 2527/4737
P134; (Hold up subprogram during program input,
examine V29P104M5 for TINT A termination)
4737/0: 300 122 025|164 007|033|027|167 373 V29P104M5; SHL+3; NOT; NEG; SHC-3;
4740/3: 301 122 025|204 321 354|300 122 025|042 =V29P104M5; JS2P10; V29P104M5; DUP;
4742/1: 164 007|164 373|301 122 025|164 003|221 045 155 SHL+3; SHL-3; =V29P104M5; SHL+1; J4P45<Z;
4744/1: 202 360 001 EXIT2;
=== Start P135V-1; at address 2533/4745
P135; (Dispose of program tape, given in M6)
4745/0: 304 042 000|201 267 117 SETB21000; J10P100;
=== Start P136V0; at address 2535/4747
P136V0; (Store new BA/NOL, check lockouts
cleared form old area, clear PHU)
V-store at 04746 = 262 370 353 172 375 164 V0=P LOCK-OUT;
4747/0: 171 156|151 126|065|205 330 073|170 156 Q6; M5TOQ6; REV; JS112P300; =Q6;
4750/4: 042|304 060 000|054 DUP; SETB30000; AND;
4751/3: 304 300 000|011|175 100|065|202 330 052 SETB140000; OR; =K1; REV; JS107P300;
4753/1: 052|041|017 (Lo on); ERASE; ZERO; DUMMY;
4753/4: 124 162|201 145 155 CLOQ7; J4P45≠Z;
4754/3: 300 011 346|300 120 040|304 000 002|200 261 324 10; V0; V24P0M5; SET2; J4P6;
=== Start P137V-1; at address 2543/4757
P137; (Form N1 NEV N2, clear characters
corresponding to - IN N1)
4757/0: 042|304 000 010|170 150 DUP; SET8; =C6;
4760/0: 041|166 015|304 000 036|032 1; ZERO; SHLD+6; SETB36; MAX;
4761/1: 037|164 255|011|143 140|260 151 360 SIGN; SHL-42; OR; DC6; J1C6NZ;
4762/4: 012|015|054|200 360 000 PERM; NEV; AND; EXIT1;
=== Start P138V-1; at address 2548/4764
P138; (Change bit in V17P104M5)
4764/0: 304 000 001|164 140|300 122 011|015|301 121 371|200 360 000 SET1; SHLC6; V17P104M5; NEV; =V1P104M5; EXIT1;
=== Start P139V-1; at address 2551/4767
P139; (Given area in I7, M7, clears C7, leaves
subprogram via EXIT1- no extra links
saved, resume when area not locked
out and OUT 8 subprogram dead)
4767/0: 154 007|304 000 001|200 321 353 C0TOQ7; SET1; JS3P10;
4770/2: 110 100|200 151 367|200 360 000 1; M0M4N; JP139≠Z; EXIT1;
[ OUT8 output a buffer to the output well.
[ This was rewritten at Leeds to use 2 tapes which were automatically swapped over.
=== Start P154V-1; at address 2554/4772
4772/0: 017 P154; DUMMY; (This is V-1P155)
=== Start P155V17; at address 2573/5015
P155V17; (Process OUT8 queues, D.H. 24/11/67);
V-store at 04773 = 000 000 040 032 005 001 V0=B4006402401; (Selection chars);
V-store at 04774 = 064 323 115 243 054 302 V1=P ****HRS[C];
V-store at 04775 = 017 377 377 377 000 300 V2=B0377777777600300;
V-store at 04776 = 166 273 365 323 015 164 V3=P +KOUTPUT;
V-store at 05000 = 363 377 377 377 377 377 V5=B7477777777777777;
V-store at 05001 = 000 001 236 231 000 212 V6=B63646200212; (Str 00, SHL-3);
V-store at 05014 = 303 052 156 322 133 244 V17=P PRINTEND; (Ident of discarded OUT8 tape);
5015/0: 041 ZERO;
5015/1: 041|033|301 003 253 ZERO; NOT; =V4P23;
5016/0: 002|157 004|300 003 250|170 176 93; =TR; Q0TOQ4; V1P23; =Q7; (L queue);
5017/2: 245 172 022|120 162|225 352 060 J99C7Z; (J if no tape); BUSYQ7; J100TR;
5020/4: 300 003 247|042|225 152 210|200 332 065 V0P23; DUP; J101=Z; (If queue empty); JS1;
(== 36 ==)
5022/2: 205 272 060 J100;
5022/5: 300 011 377|205 052 060 99; (No L tape); V4; J100>Z; (If no TINT J);
5023/5: 200 332 311|304 000 011|170 151|304 000 003|170 144 JSP161; SET9; =RC6; SET3;=I6;
5026/0: 167 015|027|033|167 365 SHC+6; NEG; NOT; SHC-6;
5027/0: 302 147 133|225 032 030 *98; V5P101M6Q; J96=;
5030/0: 177 140|204 272 035 97; J98C6NZS; J91;
5030/5: 300 011 376|300 147 127|015|200 152 030 96; V3; V1P101M6; NEV; J97≠Z;
5032/3: 171 150|027|170 142|300 144 054 C6; NEG; =M6; V15P26M6;
5033/5: 164 061|164 255|304 000 065|015|204 152 060 SHL+24; SHL-42; SETB65; NEV; J90≠Z;
(J if tape still on machine);
91;
5035/4: 304 000 004|170 131 (Switch); SET4; =RC5;
5036/3: 300 012 303|033|027|301 012 303 V0P161; NOT; NEG; =V0P161;
5037/5: 300 011 372|301 011 377 V-1; =V4;
5040/5: 300 122 061|042|041 95; V57P104M5; DUP; ZERO;
5041/4: 037|027|050|303 122 061 SIGN; NEG; CONT; =V57P104M5Q;
5042/4: 265 132 040|300 003 251|042|301 003 247 J95C5NZ; V2P23; DUP; =V0P23;
5044/2: 300 003 252|065|205 152 046|304 003 247|166 341|052|167 041 V3P23; REV; J92≠Z; SETAV0P23; SHLD-16; ERASE; SHC+16;
5046/5: 301 003 250 92; =V1P23;
5047/2: 041|301 003 251|304 003 251|301 003 252|200 272 016 ZERO; =V2P23; SETAV2P23; =V3P23; J93;
5051/3: 304 017 377 162; SETB7777;
5052/0: 300 012 305|066|201 332 312|164 031|011|164 015|171 130 163; V2P161; CAB; JS2P161; SHL+12; OR; SHL+6; C5;
5054/2: 011|164 015|300 122 004|164 245|164 007|027|170 150 OR; SHL+6; V12P104M5; SHL-46; SHL+3; NEG; =C6;
5056/3: 300 011 373|164 140|304 000 077|054|011|200 360 000 V0; SHLC6; SETB77; AND; OR; EXIT1;
5060/4: 052 90; ERASE;
*** There is no routine P22
5060/5: 300 000 000|304 000 002|170 102|170 176|244 172 227|120 162|221 345 155
100; V3P22; SET2; =M4; =Q7; J102C7Z; BUSYQ7; J4P45TR;
5063/5: 300 003 251|042|220 145 155 V2P23; DUP; J1P45=Z;
5065/0: 122 160|223 352 255 1; METQ7; J112TR;
5065/5: 121 160|041|002 7; PARQ7; ZERO; =TR;
5066/3: 042|170 156|042|225 052 071 DUP; =Q6; DUP; J11<Z;
5067/4: 304 012 002|042|170 164|170 162|124 164|220 345 155 SETAV7; DUP; =I7; =M7; TLOQ7; J1P45TR;
5071/5: 042|047|052|041|166 031|170 131|153 147 11; DUP; STR; ERASE; ZERO; SHLD+12; =RC5; IM6TOQ7;
5073/3: 164 251|042|170 142|164 377|042|170 122 SHL-44; DUP; =M6; SHL-1; DUP; =M5;
5075/1: 164 031|304 260 000|056|175 100|052 SHL+12; SETB130000; +; =K1; ERASE; (Set CPL);
5076/4: 171 162|304 000 002|222 032 113|164 377|205 152 101|042|033|027|205 272 107
M7; SET2; J254=; SHL-1; J2≠Z; DUP; NOT; NEG; J3;
5101/5: 300 142 170|047|065|301 142 170 2; V11P11M6; STR; REV; =V11P11M6;
5103/1: 052|171 164|170 143|100 140 12; ERASE; I7; =RM6; M0M6;
5104/2: 042|205 152 107|300 103 250|304 003 247|171 102|056 DUP; J3≠Z; V1P23M4; SETAV0P23; M4; +;
5106/3: 166 341|052|167 041|301 103 250 SHLD-16; ERASE; SHC+16; =V1P23M4; (Reset empty queue);
5107/5: 301 103 247 3; =V0P23M4; (Upatde queue);
5110/2: 200 052 116|171 162|171 164|036|203 332 051|101 140 J6>Z;M7; I7; -; JS162; =M0M6;
5112/3: 130 160 4; MWQ7;
5112/5: 200 360 000 5; EXIT1;
254; (If punch then do gap);
5113/2: 171 130|167 371|221 052 103|052|042|304 000 004|056|205 272 107
C5; SHC-4; J12<Z; ERASE; DUP; SET4; +; J3;
6; (Director transfer);
5116/0: 304 012 002|042|170 164|170 143 SETAV7; DUP; =I7; =RM6;
5117/2: 171 162|042|164 371|203 152 121 M7; DUP; SHL-4; J50≠Z;
5120/4: 174 000|202 372 137 =LINK; EXITAR8;
5121/3: 052|304 000 010|170 151 50; (OUT50); ERASE; SET8; =RC6;
5122/3: 100 147|303 152 003|263 152 122 51; M7M6; =V8M6Q; J51C6NZ;
5123/5: 141 140 M-I6;
5124/1: 171 162|042|170 144|172 142|124 142 M7; DUP; =I6; =+M6; CLOQ6; (Clear out 50 lock out);
5125/4: 300 012 007|164 061|200 152 133 V12; SHL+24; J53≠Z;
5127/0: 300 012 307|300 012 306|042|033|027|301 012 306 52; V4P161; V3P161; DUP; NOT; NEG; =V3P161;
5131/0: 067|300 012 310|056|300 012 007|011|301 012 007 FRB; V5P161; +; V12; OR; =V12; (Serial no);
5133/0: 304 012 013|170 162|300 006 337|301 012 002|300 011 373|101 160|203 272 112
53; SETAV16; =M7; V0P65; =V7; V0; =M0M7; J4;
5136/1: 017|017|017|017|017|205 272 154|017|017|017|202 272 156|017|017|017|202 272 177|017|017|017|204 263 030
*8; J20; *J21; *J22; *J90P15;
5142/3: 017|017|017|204 272 146|017|017|017|205 263 052 *J23; *J72P15;
5144/3: 017|017|017|300 011 375|304 000 110|036|204 272 174 ×; (Gap on punch); V2; SET72; -; J31;
23; (Stream terminator);
5146/4: 304 000 001|304 017 372|171 122|225 152 151|300 011 377|027|033|301 011 377
SET1; SETB7772; M5; J33=Z; V4; NEG; NOT; =V4;
5151/5: 200 332 052|301 012 002|300 011 375|113 140|151 147|130 170|200 360 000
33; JS163; =V7; V2; =M0M6QN; M6TOQ7; MLWQ7; EXIT1;
(== 37 ==)
5154/5: 304 000 001|304 017 341|205 272 151 20; (Header block); SET1; SETB7741; J33;
21; (Title 1);
5156/2: 300 010 162|041|166 031|300 000 045|222 052 161 V3P120; ZERO; SHLD12; V29P0; J42<Z;
5160/2: 304 007 337|164 045|011 (If off line then add 2 dots); SETB3737; SHL18; OR;
5161/2: 300 122 140|202 112 163 42; V104P104M5; J40<Z;
5162/2: 300 122 134|205 272 163 (Controlled prog); V100P104M5; J41;
5163/2: 300 122 124 40; V92P104M5;
5163/5: 041|166 061 41; ZERO; SHLD+24;
5164/2: 300 120 020|164 013|170 102|300 100 003|300 100 002 V8P0M5; SHL+5; =M4; E3M4; E2M4;
5166/3: 166 061|113 140|011|113 140|011 SHLD24; =M0M6QN; OR; =M0M6QN; OR;
5167/5: 113 140|113 140|300 122 140|201 052 174 =M0M6QN; =M0M6QN; V104P104M5; J25>Z;
5171/3: 300 122 134|113 140 V100P104M5; =M0M6QN;
5172/2: 300 122 144|113 140 V108P104M5; =M0M6QN;
5173/1: 300 122 150|204 272 174 V112P104M5;J31;
5174/1: 304 000 002 25; SETB02;
5174/4: 113 140|171 150|027|203 332 051|301 012 002 31; =M0M6QN; C6; NEG; JS162; =V7;
5176/3: 151 147|203 272 112 32; M6TOQ7; J4;
5177/2: 041|171 130|166 373|164 011|300 012 001|011|166 037|113 140 22; ZERO; C5; SHLD-3; SHL+4; V6; OR; SHLD+15; =M0M6QN;
5201/5: 052|300 006 045|167 031|300 000 010|161 321|304 000 036|056|067|300 000 037|164 003
ERASE; V0P57; SHC+12; V0P0; SHA-24; SET30; +; FRB;V23P0; SHL+1;
5205/2: 011|300 011 374|166 045|164 365|166 271 OR; V1; SHLD+18; SHL-6; SHLD-36;
5207/0: 052|167 061|113 140|304 360 202|204 272 174 ERASE; SHC24; =M0M6QN; SETB170202; J31;
5210/5: 052|300 002 061|300 002 062|011 101; (L queue empty); ERASE; V57P104; V58P104; OR;
5212/1: 300 002 063|011|300 002 064|011|225 052 060 V59P104; OR; V60P104; OR; J100<Z; (J if still open);
5214/0: 300 002 105|164 027|205 052 216 V77P104; SHL11; J253>Z; (J if ELDON will not print tape);
5215/2: 300 012 303|301 007 157|205 272 222 V0P161; =V25P101; J255; (Store serial number for OUT 11);
5216/5: 171 176|304 000 020|304 001 040|205 333 026|204 272 060 253; Q7; SET16; SET288; JS1P193; J90; (J if nogo);
5221/1: 200 331 213|300 012 303|111 160|170 176 JSP126; V0P161; =M0M7N; (Put reel no tape in E8 of prog); =Q7;
5222/5: 151 004 255; M0TOQ4;
107;
5223/1: 304 012 000|042|170 164|170 162|130 170 SETAV5; DUP; =I7; =M7; MLWQ7;
5224/5: 300 103 250|164 101|167 041|301 103 250 V1P23M4; SHL+32; SHC+16; =V1P23M4;
5226/3: 171 170|170 142|200 271 345 C7; =M6; JP135;
5227/4: 300 003 251|221 145 155|171 164|221 045 155 102; (No N tape); V2P23; J4P45=Z; I7; J4P45<Z;
5231/3: 203 332 251|145 160 JS103; I7=-1;
5232/2: 171 176|301 003 252 Q7; =V3P23; (Claim tape);
5233/1: 041|033|170 122|300 012 014 ZERO;NOT; =M5; V17;
5234/2: 041|033|164 373|065|200 326 062|245 152 254 104; ZERO; NOT; SHL-3; REV; JSP58;J105C6Z;
5236/1: 171 150|042|164 003|056 C6; DUP; SHL+1; +;
5237/1: 304 007 105|056|042|170 163|300 011 376|103 160|154 147 SETAV-17P101; +; DUP; =RM7; V3; =M0M7Q; C6TOQ7;
5241/3: 300 012 303|033|027|203 332 311 V0P161; NOT; NEG; JS1P161;
5242/5: 167 015|027|033|167 015|101 160 SHC+6; NEG; NOT; SHC6; =M0M7;
5244/1: 027|033|170 164|131 160|041|200 321 351|304 001 000|170 162 NEG; NOT; =I7; POBQ7; ZERO; JSP10; SET256; =M7;
5246/4: 130 164|152 007|300 003 252|170 162|171 176|301 003 252|200 360 000
MWIPEQ7; I0TOQ7; V3P23; =M7; Q7; =V3P23; EXIT1;
5251/3: 304 002 157|170 103|171 104|170 110|100 100|222 152 254|173 000|052
103; SETAV2P11; =RM4; I4; =C4; M0M4; J106=Z; LINK; ERASE;
5254/2: 200 360 000 106; EXIT1;
5254/5: 041|202 272 234 105; ZERO; J104;
112; (End tape warning on OUT 8 tape);
5255/3: 171 116|065|205 332 065|202 332 300|170 116|300 103 247|042|203 152 255|033|170 123
Q4; REV; JS7; JS110; =Q4; V0P23M4; DUP; J112≠Z; NOT; =RM5;
5261/0: 302 122 062|042|224 152 271|047 108; V58P104M5Q; DUP; J111=Z; STR;
5262/2: 171 102|164 377|036|033|204 152 271|304 000 056|024 M4; SHL-1; -; NOT; J111≠Z; SET46; FLOAT;
5264/3: 042|045|170 130|052|304 000 004|170 162|200 332 116 109; DUP; FIX; =C5; ERASE; SET4; =M7; JS6;
5266/4: 202 332 300|167 023|164 003|167 355|070 JS110; SHC+9; SHL+1; SHC-10; STAND;
5270/2: 042|203 152 264|301 122 061|041 DUP; J109≠Z; =V57P104M5; ZERO;
5271/4: 052|171 122|161 377|164 377|220 152 261 111; ERASE; M5; SHA-1; SHL-1; J108=Z;
5273/2: 171 102|221 145 155|300 011 372|300 003 250|164 301|224 152 035
M4; J4P45=Z; V-1; V1P23; SHL-32; J91=Z;
5276/0: 301 011 377|300 012 303|033|027|301 012 303|201 272 223 =V4; V0P161; NOT; NEG; =V0P161; J107;
5300/2: 200 326 202|052|120 162|222 352 300|200 360 000 110; JSP60; ERASE; BUSYQ7; J110TR; EXIT1;
(Wait loop, crude but effective);
=== Start P161V5; at address 2761/5311
P161V5; (V0=Reel no of mag tape)
V-store at 05304 = 050 242 212 050 242 212 V1=B1212121212121212;
(== 38 ==)
V-store at 05305 = 040 202 010 040 202 010 V2=B1010101010101010;
(V3=Stats serial no);
V-store at 05307 = 050 242 212 050 242 212 V4=B1212121212121212;
V-store at 05310 = 000 000 000 201 004 020 V5=B40202020;
5311/0: 300 012 303 V0;
5311/3: 300 012 304|065 1; V1; REV;
5312/1: 067|300 012 305|164 003|011|200 360 000 2; FRB; V2; SHL+1; OR; EXIT1;
=== Start P192V-1; at address 2764/5314
P192; (General text file location routine);
(V0 is mask)
(V1=ident 1);
(V2=ident 2);
(OUT 20 - Parameters as follows
N1= out number
N2= Q-/LO/HI (644 word buffer)
V0/1= identifier
Exit nest empty.
Buffer containing
V0= D0-23 Disc address of index block
D24-47 Program address of entry - if found
D24-47 0 - if not found
V1= FOC library/FOC archive
V3= mask
V4-643= index block);
5314/0: 205 334 043|052|200 331 331 JS3P196; ERASE; JSP133; (Get param into Q7 - datumised);
5315/1: 204 274 050 J5P196; (Fail 60 if dud paras);
5315/4: 171 162|171 164|042|170 142|036 M7; I7; DUP; =M6; -; (Calc buffer size and leave address in M6);
5317/0: 304 002 203|015|202 153 004 SET643; NEV; J199≠Z; (Fail if buffer is wrong size );
5320/1: 110 140|304 000 010|170 150 M0M6N; SET8; =C6; (The next bit gets a mask with 00 for - 77 elsewhere)
5321/2: 041|166 015|304 000 036|143 140 2; ZERO;SHLD6;SETB36;DC6;
5322/4: 032|037|164 255|011 MAX;SIGN;SHL-42;OR;
5323/3: 262 152 321|301 140 003 J2C6NZ; =E3M6;(Stores mask);
5324/3: 204 334 070 JS8P196; (Remove programs NZ);
5325/0: 202 331 370 JS1P139; (Await 2nd subprogram);
5325/3: 130 162 PMHQ7; (Lock out the buffer area);
5325/5: 140 100|171 104|172 110|041|200 334 303 M+I4; I4; =+C4; ZERO; JSP199; (Switch subprog and wait for disc );
5327/3: 300 010 165|300 005 075 V6P120; V10P45;
5330/3: 027|033|221 032 367 NEG; NOT; J98=; (Check that there is an index andleave its address in N1 );
5331/2: 042|170 142|100 140|170 156|172 142 DUP; =M6; M0M6; =Q6; =+M6; (M6 points to 1st entry);
5332/5: 171 164|170 122 I7; =M5;
5333/3: 110 120|100 120|166 305|052 M0M5N; M0M5; SHLD-30; ERASE; (Base ident preceded by B02);
5334/4: 300 120 003|033|164 305 E3M5; NOT; SHL-30; (Mask with B77 for B36);
5335/4: 043|011|012|033|054 DUPD; OR; PERM; NOT; AND; (N1 has B00 for B36 - N2 has B77);
5336/3: 017|017|017|042|102 140|036|203 112 340|177 140 *6; DUP; M0M6Q; -; J16<Z; J6C6NZS;
5340/3: 052|141 140|110 140 16; ERASE; M-I6; M0M6N; (1st possible block);
5341/2: 065|243 152 344|304 000 001|172 150 REV; J18C6Z; SET1; =+C6; (J if we must search to the bitter end);
5342/5: 017|042|102 140|036|221 052 345|177 140 *7; DUP; M0M6Q; -; J17<Z; J7C6NZS;
5344/3: 041|200 272 346 18; ZERO; J15; (Search to end because we may be in the last block);
5345/1: 243 152 344|110 140 17; J18C6Z; M0M6N; (Address of 1st block which cannot index this ident);
5346/0: 301 120 002|052|301 100 024 15; =E2M5; ERASE;=E20M4;
5347/1: 130 162 19; PMHQ7; (Lockout transfer area - esp 1st 4 words);
5347/3: 304 000 004|172 164 SET4; =+I7; (Set correct core addresses fro R87P120);
5350/2: 201 331 124|202 272 367 JS87P120; J99; (Read block from disk and fail if parity);
5351/2: 304 377 374|172 164 SET-4; =+I7; (Reset I7 to its correct value);
5352/1: 304 000 003|170 144|171 164|170 142 SET3; =I6; I7; =M6; (Q6 will be used to scan the index blobk);;
5353/4: 300 140 002|300 140 003|110 140|100 140 E2M6; E3M6; (Mask); M0M6N; M0M6; (Iden);
5355/2: 304 000 002|172 142 SET2; =+M6;
5356/1: 304 000 324|300 140 002|164 301|036|042|170 150|202 112 362 SET212; E2M6; SHL-32; -; DUP; =C6; J4<Z;
5360/4: 017|017|302 140 003|222 032 371 *11; E3M6Q;J5=;
5362/0: 177 140 1; J11C6NZS;
5362/2: 052|052|052 4; ERASE; ERASE; ERASE; (Dispose of mask and ident);
5362/5: 100 160 M0M7; (Next index block address);
(== 39 ==)
5363/1: 065|221 032 367 REV; J20=; (J if not found because we have tried all poss blocks);
5363/5: 042|301 100 024 DUP; =E20M4; (Keep address of next block);
5364/3: 164 041|164 301|202 152 367 SHL+16; SHL-32; J99≠Z; (Fail if we are reading crud);
5365/4: 130 162|041|200 334 303 PMHQ7; ZERO; JSP199; (Await disc);
5366/4: 201 272 347 J19; (Loop to read the next block in the index);
98; (Failures caus not found);
5367/1: 052 20; ERASE;
5367/2: 171 162|304 002 203|036|042|170 164|202 272 375 99; M7; SET643; -; DUP; =I7; J30; (Get start of buffer without using I7);
5371/2: 012|043|110 140|015|054|012|051|200 152 362 5; PERM; DUPD; M0M6N; NEV; AND; PERM; REVD; J1≠Z;
5373/1: 300 140 002|164 041|220 052 362|034|052|052 E2M6; SHL16; J1<Z; ×D; ERASE; ERASE;
5375/0: 171 142 M6;
5375/2: 171 164 30; I7;
5375/4: 042|170 142|036|100 140 31; DUP; =M6; -; M0M6; (Put rel core address in V0);
5376/4: 124 162 CLOQ7; (Make sure there is no lockout even on 1st 4 words);
5377/0: 300 100 024|167 341|105 006 E20M4; SHC-16; =M6M0H; (Put disc address in top half );
5400/1: 300 010 165|027|033|170 162|100 160|111 140 V6P120; NEG; NOT; =M7; M0M7; =M0M6N;
5402/0: 171 104|167 345|300 122 105|011|301 122 105 I4; SHC-14; V77P104M5; OR; =V77P104M5; (Leeds use bit 12);
5403/5: 203 263 254 J99P23; (Usual end to 2nd subprog);
199; (Fail invalid OUT20);
5404/2: 304 001 020|200 260 332 SETB420; JP2; (Fail no = 42 );
=== Start P193V2; at address 2825/5411
P193V2; (Input JO if appropriate);
V-store at 05407 = 377 377 377 377 377 377 V1=-1; (Foreground job marker); [ = foreground store size requested
(V2 time JO last called);
5411/0: 300 007 264|201 145 155 V0P105; J4P45≠Z; (J if core slide waiting);
Warning: V7P32 is out of range, only 0 V-stores specified
5412/0: 304 004 250|170 156|100 140|201 053 014 SETAV7P32; =Q6; M0M6; J9>Z; (J if no queued TINT T);
5413/4: 201 321 131 JS5P4; (Enter TINT routine to attempt prog input);
5414/1: 300 007 160|221 045 155 9; V26P101; J4P45<Z; (Dont load JO if operator does not want it);
5415/1: 304 000 021|300 013 007|042|201 053 044 SET17; V1; DUP; J7>Z; (J if foreground job);
5416/5: 052|300 013 006|220 153 052 8; ERASE; V0; J10=Z; (J if no JO req);
5420/0: 304 010 000|205 333 026|200 360 000 13; SET2048; JS1; EXIT1;
5421/3: 041|301 013 006|300 000 010|301 013 010 6; ZERO;=V0; V0P0; =V2;
5423/1: 300 007 160|164 005|221 045 155 V26P101; SHL2;J4P45<Z; (J if no JO mess);
5424/3: 304 052 257|164 075|200 326 031|011|171 104|200 261 324 SETB25257; SHL+30; JSP55; OR; I4; J4P6;
1; (Input prog into given store limit if available);
5426/5: 042|200 330 126|204 265 154|164 301|037|225 105 154 DUP; JSP117; J12P45; SHL-32; SIGN; J3P45>Z; (Exit if nogo);
2; (Input prog without store availability check);
5431/0: 200 325 351|205 265 154|300 005 221|033|205 145 154 JS18P52; J3P45; V0P52; NOT; J3P45≠Z; (Exit if prog input in progress);
(Now OK to go);
5433/1: 200 324 213|171 164|164 367|200 330 144|301 121 371 JSP30; I7; SHL-5; JSP118; =V1P104M5;
5435/2: 171 104|167 363|301 122 105 I4; SHC-7; =V77P104M5; (Suppress FLEX output);
5436/3: 205 325 337|202 360 001 JS19P52; (Initiate input); EXIT2; (EXIT2 if prog initiated);
3; (Check for JO, EXIT1 if JO);
5437/3: 300 122 041|300 122 035 V41P104M5; V37P104M5;
5440/3: 166 305|052 4; (Ditto ident in N1,N2); SHLD-30; ERASE;
5441/0: 300 005 220|015|221 145 155|202 360 001 V17P254; (JO ident); NEV; J4P45=Z; EXIT2;
5442/4: 300 122 051|300 122 045|203 273 040 5; V49P104M5; V45P104M5; J4; (As 3 but during prog input);
5444/1: 300 011 223|205 053 016 7; V0P130; J8>Z; (J if there is already a foreground job running);
5445/1: 200 330 126|205 265 154|052|200 333 031|200 360 000 JSP117; J3P45; ERASE; JS2; EXIT1;
5447/2: 041|033|301 013 007|304 000 111|167 361|301 122 105 ZERO; NOT; =V1; SET73; SHC-8; =V77P104M5; (Set foreground);
5451/3: 203 273 021 J6; (To clear V0 and give monitor message);
10; (If time since last JO >4 mins then call JO);
5452/0: 300 000 010|300 013 010|036|164 301|220 145 155|200 273 020 V0P0; V2; -; SHL-32; J1P45=Z; J13;
11; (OUT11, transfer from absolute address, used by JO);
5454/3: 205 334 043|052|200 331 331|200 334 037|202 331 370 JS3P196; ERASE; JSP133; JSP196; JS1P139;
5456/4: 300 122 045|164 301|170 143|171 162|171 164|042|170 163|036|033|027|170 150
V45P104M5; SHL-32; =RM6; M7; I7; DUP; =RM7; -; NOT; NEG; =C6;
5461/5: 102 140|103 160|265 153 061|204 274 070 111; M0M6Q; =M0M7Q; J111C6NZ; J8P196; (Copy core and go);
(== 40 ==)
12; (OUT12, set up table in upper core store);
5463/3: 200 330 126|202 273 076|052|201 334 042|052|171 170|065|200 331 331|201 273 076
JSP117; J112; ERASE; JS2P196; ERASE; C7; REV; JSP133; J114;
5466/5: 300 010 165|170 143|145 140|171 162|171 164|036|033|027|042|170 170
V6P120; =RM6; I6=-1; M7; I7; -; NOT; NEG; DUP; =C7;
5471/4: 036|222 053 076|145 160 -; J112<Z; I7=-1;
5472/4: 102 160|103 140|264 173 072|171 142|033|027|164 367 113; M0M7Q; =M0M6Q; J113C7NZ; M6; NOT; NEG; SHL-5;
5474/5: 164 013|301 005 075|204 274 070 SHL+5; =V10P45; J8P196;
5476/1: 052 114; ERASE;
5476/2: 304 001 010|200 260 332 112; SETB410; JP2;
=== Start P194V2; at address 2883/5503
P194V2; (Manipulate PPI);
(V0 = hash function of current ident);
V-store at 05501 = 303 012 115 233 133 054 V1=P PPI*FULL;
(V2 stores ID2 for OUT S13);
5503/0: 041|201 273 106 ZERO; J6; (Find ident);
5503/4: 041|033|201 273 106 1; ZERO; NOT; J6; (Replace);
5504/3: 300 100 024|224 153 103 129; E20M4; J1=Z;
5505/3: 041|041|033|050 2; ZERO;ZERO; NOT; CONT; (Delete);
5506/1: 301 100 024|157 007|171 104|201 334 316 6; =E20M4; Q0TOQ7; I4; JS1P199; (Awiat FH access);
5507/5: 300 122 051|300 122 045|166 305|052 V49P104M5; V45P104M5; SHLD-30; ERASE;
5511/2: 042|164 271|304 000 253|015|027|033|164 271|033|054 DUP; SHL-36; SETB253; NEV; NEG; NOT; SHL-36; NOT; AND;
5513/3: 304 000 132|044|065|052 SET90; ÷I; REV;ERASE; (Compute hash function);
5514/3: 164 015|304 001 200|056|042|301 013 100 SHL+6; SETB600; +; DUP; =V0; (OK as only one subprog at one time);
5516/1: 171 104|065|200 334 213|204 333 206 5; I4; REV; JSP197; JS29; (Read sector from PPI);
5517/4: 304 000 015|170 171|304 000 003|170 164|300 122 045 SET13; =RC7; SET3; =I7; V45P104M5;
5521/5: 017|302 174 142|042|222 153 134|221 033 147 *15; V1P197M7Q; DUP; J4=Z; J16=;
5523/4: 177 160 17; J15C7NZS; (Look for first word match);
5524/0: 052|300 014 141|164 007|164 257 ERASE; V0P197; SHL+3; SHL-41; (Sector no);
5525/2: 033|027|164 015|304 030 000|204 033 127|052|304 001 200 NOT; NEG; SHL+6; SETB14000; J10≠; ERASE; SETB600;
5527/4: 300 013 100|201 033 116|052 10; V0; J5≠; ERASE; (PPI full);
5530/5: 300 013 101|300 120 040|304 000 002|200 321 324|205 334 323 V1; V24P0M5; SET2; JS4P6; JS2P199;
5533/2: 173 000|052|203 273 174 LINK; ERASE; J128; (Fails 64);
5534/2: 052 4; (Empty slot found); ERASE;
5534/3: 300 100 024|033|201 153 142 E20M4; NOT; J3≠Z; (J if not replace);
5535/4: 171 176|301 100 024|205 333 143|204 333 206|300 100 024|170 176
Q7; =E20M4; JS14; JS29; E20M4; =Q7; (Insert new entry);
5540/2: 304 000 003|167 375|301 100 024 SET3; SHC-2; =E20M4; (Change to delete,with no mod check);
5541/4: 300 122 045 V45P104M5; (First word of ident);
5542/1: 300 174 140|204 153 123|052|205 274 323 3; V-1P197M7; J17≠Z; ERASE; J2P199; (Not found);
5543/5: 300 122 051|300 122 111 14; V49P104M5; V81P104M5;
5544/5: 301 174 141|301 174 140 19; =V0P197M7; =V-1P197M7;
5545/5: 301 174 137|171 104|200 274 234 18; =V-2P197M7; I4; J1P197;
5547/1: 300 174 140|300 122 051|300 100 024|164 003|201 053 153 16; V-1P197M7; V49P104M5; E20M4; SHL1; J22>Z; (J if find or OUT 28);
5551/3: 015|164 365|167 351|164 351|204 273 153 NEV; SHL-6; SHC-12; SHL-12; J23; (Ignore mod butno wild -);
5553/1: 200 331 357 22; JSP137; (For find do NEV with wild -);
5553/4: 204 153 123 23; J17≠Z; (fOUND);
5554/1: 300 174 140|301 013 102 V-1P197M7; =V2; (Keep ID2);
5555/1: 300 174 141|301 013 100|300 100 024|042|033|225 153 162|016|203 053 165
V0P197M7; (FOC); =V0; E20M4; DUP; NOT; J8=Z; ROUND; J200>Z;
5560/1: 041|300 174 143|300 174 144|205 333 144|204 333 206 (Delete); ZERO; V2P197M7; V3P197M7; JS19; JS29; (Set empty);
(Only set 1st wd ≠Z if more entries in same sector);
5562/2: 200 273 164 J101;
5562/5: 052|205 333 143|204 333 206 8; ERASE; JS14; JS29;
5564/0: 205 334 323|300 013 100|202 360 001 101; JS2P199; V0; EXIT2;
5565/3: 300 013 100|164 047|220 053 164 200; (Mark prog used); V0; SHL19;J101<Z; (Jif already);
5566/5: 171 104|042|167 331|300 174 141|011|301 174 141 I4; DUP; SHC-20; V0P197M7; OR; =V0P197M7;
5570/5: 200 334 234|204 333 206|200 273 164 JS1P197; JS29; J101;
5572/2: 041 27; (OUT27); ZERO;
5572/3: 301 100 024|205 334 040|301 122 045|200 330 154 127; =E20M4; JS11P196; =V45P104M5; JSP119;
5574/3: 304 001 240|200 260 332 128; SETB640; JP2;
5575/3: 304 000 044|015|203 153 174|205 334 043|052|301 122 051 SETB44; NEV; J128≠Z; JS3P196; ERASE; =V49P104M5;
5577/5: 300 100 024|200 153 202|205 334 043|052|301 122 111 E20M4; J130≠Z; JS3P196; ERASE; =V81P104M5; (F.O.C. of new pEOG);
5602/0: 157 007|202 331 370|203 333 104|041|017|017 130; Q0TOQ7; JS1P139; JS129; ZERO;DUMMY; DUMMY;
5603/5: 204 334 070 131; JS8P196;
(== 41 ==)
5604/2: 202 324 114|200 320 116|200 360 000 132; JS2P29; JS35P0; EXIT1;
5605/5: 041|033|203 273 172 28; (OUT28); ZERO; NOT; J127;
5606/4: 300 007 164|304 051 250|164 075|304 000 002|200 261 324 29; V30P101; SETB24650; SHL+30; SET2; J4P6;
=== Start P195V7; at address 2961/5621
P195V7; (Disc allocator OUTs);
V-store at 05612 = 064 323 144 247 070 363 V1=P ***DISCS;
V-store at 05613 = 377 377 377 377 377 377 V2=-1; (New disc availability marker);
V-store at 05611 = 000 000 000 000 000 002 V0=2; (Pointer for OUT26 = gives sector of last allocated block);
V-store at 05620 = 000 077 343 000 000 000 V7=B 00 03 77 43 00 00 00 00 ; (Check for OUT29);
5621/0: 052|304 001 130|200 260 332 53; ERASE; SETB530; JP2;
(The next bits are the various parts of OUT44,
which is attached with OUT26, - see below);
5622/1: 017|017|017|017|017|302 174 142|225 153 224 *211; V1P197M7Q; J212=Z;
5624/0: 177 160|203 273 302 213; J211C7NZS; J244; (Go back to OUT26 path);
212; (Spare logical disc found look for more);
5624/5: 300 122 045|170 151|151 166 V45P104M5; =RC6; M7TOQ6;
5626/0: 302 154 141|200 153 224|177 140 *214; V0P197M6Q; J213≠Z; J214C6NZS;
(Note: this may go off end of buffer in P197,
but will stop because coding is non-zero);
(Users area now found);
5627/2: 304 001 221|034|050|171 162|035|304 000 121|035|164 041 SET401; ×D; CONT; M7; ×; SET81; ×; SHL+16;
5631/4: 300 122 045|042|170 170|011|047|052 V45P104M5; DUP; =C7; OR; STR; ERASE;
(I field = address of user area, M= no discs);
5633/1: 300 122 105|011|301 122 105 V77P104M5; OR; =V77P104M5;
5634/2: 017|017|017|017|041|033|303 174 141|017|177 160 *215; ZERO; NOT; =V0P197M7Q; *J215C7NZS;
5636/2: 204 334 070|202 273 327 JS8P196; J162; (Remove progs N2 and clear up);
44; (OUT44, claim userdiscs 29/1/70);
5637/2: 205 334 043|027|033|164 371|200 153 221 JS3P196; NEG; NOT; SHL-4; J53≠Z;
5641/0: 041|033|050|300 122 105|164 041|225 153 264 ZERO; NOT;CONT; V77P104M5; SHL+16; J226=Z;
5642/5: 052|304 001 140|200 260 332 ERASE; SETB540; JP2; (Fail OUT44 obeyed twice);
45;(OUT45, deallocate user disc);
5644/0: 300 122 105|042|164 301|164 101|301 122 105 V77P104M5; DUP; SHL-32; SHL+32; =V77P104M5;
5645/5: 042|164 021|221 041 063 DUP; SHL+8; J15P3<Z; (Check no OUT40 on);
5646/5: 164 041|042|221 153 260 SHL+16; DUP; J242=Z;
5647/5: 041|166 041|304 000 050|044 ZERO; SHLD+16; SET40; ÷I;
5651/0: 170 163|033|027|033|027|301 100 024|164 301|170 170|171 176|301 122 045
=RM7; NOT; NEG; NOT; NEG;=E20M4; SHL-32; =C7; Q7; =V45P104M5;
5654/0: 041|201 334 316 ZERO; JS1P199; (Await fixed head access);
*** There is no label 25 in routine P195
5654/4: 177 260 000|300 122 045|170 176 J25; V45P104M5; =Q7;
5656/0: 041|303 174 142|260 173 256 145; ZERO; =V1P197M7Q; J145C7NZ;
5657/1: 171 104|203 333 327|041 I4; JS161; ZERO;
5660/1: 052|300 122 021|167 375|220 043 013 242; ERASE; V25P104M5; SHC-2; J91P15<Z; (If from P151);
(Let OUT24 clear up nest);
24; (Claim system discs); (OUT 24);
5661/4: 304 001 110|205 324 126|200 260 332|205 324 126|200 260 332|200 265 155
SETB510; JS3P29; JP2; JS3P29; JP2; J1P45;
26; (OUT 26, new version with bi disc 22/10/65); [ queston the date here - misreading of 22/10/68 ??
(The position of a bit in the ASL is given by
6*(D*N*P)*H , where D is disc no [ this must be a misread - probably for 6*(D+N*P)+H or 6*(D*N+P)+H
N is no of system discs [ perhasp this comment should have been cylinders not discs ...
P is position [ ... after the switch to cylinder geometry
H is head no); [ --- see original comment between labels 10 and 11
5664/4: 041 ZERO;
(== 42 ==)
5664/5: 042|301 122 045 226; DUP; =V45P104M5; (Side entry for OUT44);
5665/3: 171 176|301 000 033 Q7; =V19P0; (Reset EDT);
5666/2: 042|164 007|033|054|202 041 063 DUP; SHL+3; NOT; AND;J5P3>Z; (Check no OUT40 on);
5667/4: 157 007|202 331 370 Q0TOQ7; JS1P139; (Await 2nd subprog);
17;
5670/3: 041|201 334 316 ZERO; JS1P199; (Await fixed head access);
5671/1: 300 013 211 V0; (Start on same sector as last allocated block, OUT29 resets);
5671/4: 301 100 024|200 333 332 10; =E20M4; JS5; (Read ASL sector);
5672/4: 300 100 024|042|027|033|164 375|164 013 E20M4; DUP; NEG; NOT; SHL-2; SHL+5;
5674/2: 042|300 122 045|033|164 255|054|164 373|011 DUP; V45P104M5; NOT; SHL-42; AND; SHL-3; OR;
5676/1: 304 000 050|065|036|170 171 SET40; REV; -; =RC7; (Set up loop);
(Keeps 2 cylinders for user discs);
5677/2: 300 122 045|220 053 223 V45P104M5; J211<Z; (J if OUT44);
5700/2: 017|017|017|017|302 174 142|033|202 153 311 *11; V1P197M7Q; NOT; J12≠Z; (J if free block);
5702/1: 177 160 J11C7NZS; (Sector full when C7 zero);
5702/3: 033|027 244; NOT; NEG; (Sector := sector+1);
5702/5: 304 000 006|204 033 271 SET6; J10≠; (Goto next sector if sector ≠ 6);
5703/5: 052 13; ERASE; (ASL full);
5704/0: 205 334 323 JS2P199; (Release fix H);
5704/3: 300 013 212|300 003 164|300 120 040|304 000 003|200 321 324 V1; V0P20; V24P0M5; SET3; JS4P6;
5707/0: 041|041|041|033|050|041 ZERO; ZERO; ZERO; NOT; CONT; ZERO;
5710/0: 204 321 354|052|052|203 273 270 JS2P10; ERASE; ERASE; J17; (Look every TINT H);
5711/2: 301 013 211 12; =V0; (Vacant block found);
5711/5: 141 160|041|300 174 142|042|012|033|162 377|047|052 M-I7; ZERO; V1P197M7; DUP; PERM; NOT; SHAD-1; STR; ERASE;
5714/0: 041|025|045|027|042|033|170 170|304 000 006|044 ZERO; FLOATD; FIX; NEG;DUP; NOT; =C7; SET6; ÷I; (Head no in N1);
5716/0: 164 111|170 156|300 100 036|027|033|027|033|304 000 050|034|050
SHL+36; =Q6; E30M4; NEG; NOT; NEG; NOT; SET40; ×D; CONT;
5720/4: 171 162|035|164 007|056|304 000 020|044 M7; ×; SHL+3; +; SET16; ÷I; (Disc no in N1);
5722/2: 164 015|170 142|042|172 142 SHL+6; =M6; DUP; =+M6; (Position);
5723/3: 164 365|012|052|052|205 153 303 SHL-6; PERM; ERASE; ERASE; J13≠Z; (J if ASL full);
5724/5: 171 156|164 015|205 333 203 Q6; SHL+6; JS131P194; (Replace out no by NOC in prog's nest);
5726/0: 171 104|167 160|011|301 174 142 I4; SHCC7; OR; =V1P197M7; (Set bit in ASL);
5727/2: 041 162; ZERO;
5727/3: 300 100 024|223 153 331 161; E20M4; J163=Z; (J if no sector has been read);
5730/3: 205 334 230|204 333 206 JS2P197; JS29P194; (Write back sector);
5731/3: 205 274 323 163; J2P199; (Deallocate FH and finish out);
5; (Read ASL sector and do sum check);
5732/0: 171 104|300 100 024|164 015|200 334 213|204 333 206 I4; E20M4; SHL+6; JSP197; JS29P194;
5734/1: 300 100 024|170 162|300 173 212|201 334 226|221 145 155 22; E20M4; =M7; V1M7; JS4P197; J4P45=Z;
5736/3: 304 207 073|164 101|300 120 040|304 000 002|200 321 324 SETB103473; SHL+32; V24P0M5; SET2; JS4P6; (Type ASL on FLEX);
5740/5: 171 104|300 100 024|164 015|205 334 215|204 333 206|201 273 334
I4; E20M4; SHL+6; JS3P197; JS29P194; J22;
5743/3: 304 001 220|200 260 332 15; SETB620;JP2; (Incorrect OUT29 buffer);
29; (OUT29, delete ASL bits);
5744/3: 205 334 040|052|200 331 331|203 273 343 JS11P196; ERASE; JSP133; J15; (CHECK PARAMTERS);
5746/1: 304 000 002|301 013 211 SET2; =V0; (Reset OUT26 pointer);
5747/1: 154 007|202 331 370 C0TOQ7; JS1P139; (Await 2nd subprog);
5750/0: 204 334 070 JS8P196; (Remove program's N2);
5750/3: 041|201 334 316 ZERO; JS1P199; (Await FH);
5751/1: 300 122 045|042|164 343|170 143|042|164 341 V45P104M5; DUP;SHL-15; =RM6; DUP; SHL-16;
5753/0: 036|033|027|164 003|170 150 -; NOT; NEG; SHL1; =C6; (Q6=N/1/ADD*2);
5754/1: 157 007|200 331 220|041|301 100 024 Q0TOQ7; JSP128; (M7 = BA); ZERO; =E20M4; (Set first);
5755/4: 106 147|042|300 013 220|054|204 154 032|042|223 153 327|041|166 011
16; M7M6QH; DUP; V7; AND; J255≠Z; DUP; J161=Z; ZERO; SHLD+4; (Disc)
5760/3: 065|041|166 015 REV; ZERO; SHLD+6; (Position);
5761/1: 164 011 SHL+4; (Multiply by number of S-discs - i.e. 16);
5761/3: 066|035|304 000 006|034|050|065|164 023|164 247|056 CAB; ×; SET6; ×D; CONT; REV; SHL+9; SHL-45; +; (Bit pos in N1);
5763/4: 304 007 200|044|171 176|066|304 000 002|035 SET1920; ÷I; Q7; CAB; SET2; ×; (Sector);
5765/3: 300 100 024|225 033 375 E20M4; J14=;(J if same as last time);
5766/3: 300 100 024|065|301 100 024|012|301 100 013 E20M4; REV; =E20M4; PERM; =E11M4;
(BA in SHUP of ZSP gets updated by P105);
5770/2: 301 100 025|171 156|301 121 374|222 153 373 =E21M4; Q6; =V4P104M5; J160=Z; (J if forst time);
5772/1: 041|205 334 230|204 333 206 ZERO; JS2P197; JS29P194; (Write back current sector);
5773/2: 200 333 332 160; JS5; (Read new sector);
5773/5: 300 122 045|170 156|300 100 025|300 100 013|041 V45P104M5; =Q6; E21M4; E11M4; ZERO;
5775/5: 052|065|304 000 060|044|033|170 170|170 162 14; ERASE; REV; SET48; ÷I; NOT; =C7; =M7; (Address of word in sector);
(== 43 ==);
5777/4: 300 174 142|171 104|033|167 160|054|301 174 142 V1P197M7;; I4; NOT; SHCC7; AND;=V1P197M7; [ Hans had =V1P197M47;
6001/4: 170 176|264 153 355|202 273 327 =Q7; J16C6NZ; J162;
37; (OUT37);
6003/0: 205 334 043|164 321|304 010 100 JS3P196; SHL-24; SET2112; (NOL on global);
6004/2: 036|042|202 054 065|027 -; DUP; J100P196>Z; NEG; (Max NOL in N1);
6005/2: 166 061|042|170 162 SHLD+24; DUP; =M7; (Required BA);
6006/1: 032|052|171 162|011|167 321 MAX;ERASE; M7; OR; SHC-24; (Actual BA/NOL);
6007/2: 301 122 115|001|205 274 067 =V85P104M5; VR; J147P196; (Reset EDT and erase N1);
40; (OUT40, inhibit other levels from disc);
6010/3: 205 334 043|204 334 070|052|164 243|170 176|202 331 370|171 176|225 154 027
JS3P196;JS8P196;ERASE; SHL-47; =Q7; JS1P139; Q7;J140=Z;
6013/4: 300 122 105|164 021|220 045 101 V77P104M5; SHL+8; JP45<Z; (Exit if already done);
6015/0: 041|200 334 303 ZERO; JSP199;
(Wait in disc queue so that any other OUT40 is cleared);
6015/4: 300 122 105|167 021|041|033|050 V77P104M5; SHC+8; ZERO; NOT; CONT;
6017/0: 300 014 300|164 015|164 365|041|033|050|205 274 030 V1P199; SHL+6; SHL-6; ZERO; NOT; CONT; J141; (Suspend Q);;
142; (Side entry used by P15 AND TINT 10);
6021/1: 300 122 105|167 021|047|220 145 155 V77P104M5; SHC+8; STR;J1P45=Z;
6022/4: 300 014 300|164 015|171 110|166 365|033|301 000 033 V1P199; SHL+6; C4; SHLD-6; NOT; =V19P0; (Release Q, sET EDT);
6024/5: 205 334 030 JS141;(Put everything away where it belongs);
6025/2: 304 377 374|203 334 372|200 360 000|202 274 025|200 360 000 143; SET-4; JS5P199; EXIT1; J143; EXIT1; (Wait till all is quiet);
6027/5: 201 334 021|200 360 000 140; JS142; EXIT1; (This JS is needed to keep SJNS OK for P10);
6030/5: 301 014 300|167 361|301 122 105|200 360 000 141; =V1P199; SHC-8; =V77P104M5; EXIT1;
(Enter P199 to enable next subprog if inhibit cleared);
6032/4: 052|300 100 024|225 154 034|205 334 230|203 333 105 255; ERASE; (Fail in OUT29); E20M4; J254=Z; JS2P197; JS2P194;
6034/5: 205 334 323|304 001 070|200 260 332 254; JS2P199; SETB470; JP2;
=== Start P196V-1; at address 3103/6037
P196; (Disc transfer OUTS);
6037/0: 041|166 133|164 015|011|167 023|200 360 000 101; ZERO; SHLD+45; SHL+6; OR; SHC+9; EXIT1;
6040/5: 300 122 105|164 021|221 054 047 11; (Check no OUT40 on); V77P104M5; SHL+8; J129<Z;
6042/1: 300 122 105|042|164 013|011|201 054 047 2; (Check for systems prog); V77P104M5; DUP; SHL+5; OR; J129>Z;
6043/5: 171 176|301 000 033 3; (Reset EDT); Q7; =V19P0;
6044/4: 200 326 326|201 274 046|200 360 000 (Check nest); JSP62; J128; EXIT1;
6046/1: 304 001 110|204 274 047 128; SETB510; J4;
6047/1: 304 000 010 129; SETB10;
6047/4: 173 000|052|200 260 332 4; LINK; ERASE; JP2;
6050/4: 304 001 200|200 260 332 5; SETB600; JP2;
6051/4: 034 7; ×D;
6051/5: 174 000|052 17; =LINK; ERASE; (Spare item in SJNS is removed later on);
6052/2: 304 001 160|204 274 047 6; SETB560; J4;
6053/2: 052|304 001 150|200 260 332 9; ERASE; SETB550; JP2;
21; (OUT21);
6054/3: 041|033|203 274 055 31; (OUT 31); ZERO; NOT; J127;
6055/2: 041 22; (OUT 22); ZERO;
6055/3: 301 122 051|201 334 042 127; =V49P104M5; JS2;
6056/3: 052|300 122 101|047|052 132; ERASE; V73P104M5; STR; ERASE;
6057/3: 301 100 024|200 331 331|204 274 050|154 007|200 327 247|202 331 370
130; =E20M4; JSP133; J5; C0TOQ7; JSP102; JS1P139;
6062/2: 300 122 045|164 301|304 037 300|054 V45P104M5; SHL-32; SETB17700; AND;
6063/5: 300 100 024|300 122 051|200 274 242 E20M4; V49P104M5; JP198;
6065/2: 052|052|304 001 250|200 260 332 100; ERASE; ERASE; SETB650; JP2; (Invalid global address);
6066/4: 201 334 042|052|201 334 072 23; (OUT23); JS2; ERASE; JS126;
6067/5: 171 176|301 000 033 147; Q7; =V19P0;
6070/4: 205 324 126|200 320 116|200 360 000 8; JS3P29; JS35P0; EXIT1;
6072/1: 204 334 073 126; JS10;
6072/4: 301 122 101|200 360 000 =V73P104M5; EXIT1;
6073/4: 041|166 011|200 334 037 10; ZERO; SHLD+4; JS101;
6074/4: 065|164 255|164 023|011 REV; SHL-42; SHL+9; OR;
6075/4: 200 360 000 EXIT1;
6076/1: 304 000 001|301 122 051|205 334 043|052|041|203 274 057 30; (OUT30); SET1;=V49P104M5; JS3; ERASE; ZERO; J130;
6100/3: 205 334 043|052|201 334 072|041|301 122 051|205 334 043|203 274 056
32; (OUT32); JS3; ERASE; JS126; ZERO; =V49P104M5; JS3; J132;
(== 44 ==);
6103/2: 205 334 043|041|033|202 274 105 41; (OUT41, write to user disc); JS3; ZERO; NOT; J142;
6104/4: 205 334 043|041 42; (OUT42, ditto but read); JS3; ZERO;
6105/2: 301 122 051|164 301|042 142; =V49P104M5; SHL-32; DUP;
6106/2: 300 122 105|164 041|042|164 003|056|041|166 341 V77P104M5; SHL+16; DUP; SHL+1; +; ZERO; SHLD-16;
6110/2: 164 021|201 274 131 SHL+8; J236; (Changes disc to sector no);
6111/1: 304 000 140|044|170 164 143; SET96; ÷I; =I7;
6112/1: 304 000 020|044|065 SET16; ÷I; REV;
6113/0: 164 023|065|204 334 073|011|065|164 025|171 164|166 355 SHL+9; REV; JS10; OR; REV; SHL+10; I7; SHLD-10;
6115/2: 052|065|203 274 057 ERASE; REV; J130;
6116/1: 205 334 067|157 007|202 331 370 47; (OUT47); JS147; Q0TOQ7; JS1P139;
6117/3: 300 122 105|167 005|042|200 045 155|047|052|167 375|301 122 105
V77P104M5; SHC+2; DUP; J1P45>Z; STR; ERASE; SHC-2; =V77P104M5;
6122/1: 300 121 371|042|167 003|220 045 155|167 375|301 121 371|200 360 000
247; V1P104M5; DUP; SHC+1; J1P45<Z; SHC-2; =V1P104M5; EXIT1;
6125/0: 205 334 043|041|033 33; (OUT33); JS3; ZERO; NOT;
6125/5: 301 122 051|164 301|042|300 122 115 136; =V49P104M5; SHL-32; DUP; V85P104M5;
6127/2: 042|220 154 137 DUP; J70=Z; (Set TR if red box job does OUT34);
6130/0: 041|166 061|304 003 000|056 ZERO; SHLD+24; SET768; +; (Add on global disc BA);
6131/1: 066|056|012 236; CAB; +; PERM;
6131/4: 164 321|037|202 054 065 SHL-24; SIGN; J100>Z; (Check disc address not too big);
6132/4: 201 274 111 138; J143;
6133/1: 205 334 043|041|205 274 125 34; (OUT34); JS3; ZERO; J136;
6134/2: 205 334 043|164 301|304 003 000|056|041 36; (OUT36); JS3; SHL-32; SET768; +; ZERO;
6136/0: 301 122 051|201 274 111 234; =V49P104M5; J143;
6137/0: 057|052|052|204 334 070|201 274 122 70; +D; ERASE; ERASE; JS8; J247;
=== Start P197V41; at address 3211/6213
P197V41; (Transfer fixed head sector);
(N1=sector, N2=SJNS count);
V-store at 06141 = 000 016 014 142 014 211 V0=QB16/AV1/AV40;
6213/0: 300 014 163 V18; (Max number of system discs allowed,
the only chnages necessary to increase this are in this routine);
6213/3: 042|300 014 141|164 301|015|304 037 300|054|221 146 041 100; DUP; V0; SHL-32; NEV; SETB17700; AND; J4P56=Z; [ label 100 must be on a word boundary
(Does EXIT2 if sector already present); [ labels 100 and 1 are temporarily overwritten at start-up in P298
6215/5: 300 014 141|170 176|304 200 016|011|170 170 3; V0; =Q7; SETB100016; OR; =C7;
6217/4: 171 176|301 014 141 Q7; =V0;
6220/3: 033|027|042|301 014 212|200 334 303 NOT; NEG; (Add 1 to SJNS count); DUP; =V41; JSP199;
6222/0: 300 014 141|164 301|170 170|200 335 007 11; V0; SHL-32;=C7; JS14P199;
6223/4: 124 170|200 334 372|200 360 000|200 274 222|202 360 001 PICQ7; JS6P199; EXIT1; J11; EXIT2;
6226/0: 041 5; ZERO;
4; (Form sum check);
6226/1: 304 000 050|170 171 SET40; =RC7;
6227/0: 302 174 142|017|017|015|177 160|200 360 000 *10; V1M7Q; DUMMY; DUMMY; NEV; J10C7NZS; EXIT1;
2; (Write ASL sector);
6230/5: 200 334 226|300 014 141|164 007|164 257|170 162|301 173 212 JS5; V0; SHL+3; SHL-41; =M7; =V1P195M7;
6233/2: 017|017|017|017|033|027|042|301 014 212|157 007|200 334 303 *1; (Write to disc); NOT; NEG; DUP; =V41; Q0TOQ7; JSP199; [ label 1 must be on a word boundary
6235/5: 300 014 141|170 176|200 335 007 12; V0; =Q7; JS14P199; (Check on disc Q);
6237/1: 130 170|200 334 372|200 360 000|205 274 235|202 360 001 POCQ7; JS6P199; EXIT1; J12; EXIT2;
=== Start P198V-1; at address 3234/6242
P198; (Transfer to disc);
(N1= -1 write, 0 read, +1 FH read, N2=posn. N3=sector);
6242/0: 166 041|164 041|011|011|042|170 156|042|301 100 025|301 100 024
SHLD+16; SHL+16; OR; OR; DUP; =Q6; DUP; =E21M4; =E20M4;
(== 45 ==);
6244/4: 304 030 000|171 142|036|304 000 050|167 363|035|171 164|056|171 162|037|205 114 275
1; SETB14000; M6; -; SET40; SHC-7; ×; I7; +; M7; SIGN; J10<Z;
6250/1: 300 122 105|167 005|047|052|167 375|301 122 105 V77P104M5; SHC2; STR; ERASE; SHC-2; =V77P104M5; (Clear parity);
6252/1: 171 150|026|164 377|202 154 255 C6; ABS; SHL-1; J9≠Z;
6253/3: 204 334 070|140 100|171 104|172 110 JS8P196; M+I4; I4; =+C4; (Erase progs N2, switch subprog);
6255/0: 130 162 PMHQ7; (Set LO to preserve area);
6255/2: 041|200 334 303 9; ZERO; JSP199; (Wait in queue);
6256/0: 300 100 024|042|167 041|170 156|304 000 016|011|170 170 12; E20M4; DUP; SHC+16; =Q6; SETB16; OR; =C7;
6260/2: 171 142|042|027|033|225 154 270|205 335 002|042|221 154 272 M6; DUP; NEG; NOT; J4=Z; JS4P199; DUP; J2=Z;
6262/5: 042|304 203 020|015|164 101|225 154 274 DUP; SETAR15P15; NEV; SHL32; J15=Z;
6264/3: 130 160|033|224 154 272 POAQ7; NOT; J3=Z; (Checks for read in P15);
6265/3: 041|203 334 372|201 274 267|200 274 256 16; ZERO; JS5P199; J14; J12;
6267/1: 300 100 024|167 041|174 000|200 360 000 14; E20M4; SHC+16; =LINK; EXIT1;
6270/5: 200 335 007|124 170|203 274 272 4; JS14P199; PICQ7; J13;
6272/1: 124 160 2; PIAQ7;
6272/3: 052 13; ERASE;
6272/4: 041|203 334 372|203 263 254|200 274 256|203 263 254 3; ZERO; JS5P199; J99P23; J12; J99P23;
6274/5: 052|124 160|203 274 265 15; ERASE; PIAQ7; J16;
6275/5: 304 001 100|200 260 332 10; SETB500; JP2;
=== Start P199V3; at address 3267/6303
P199V3; (Share out disc);
V-store at 06277 = 377 377 377 377 377 377 V0=-1; (FH Q);
V-store at 06300 = 377 377 377 377 377 377 V1=-1; (Disc Q);
(V2 last seek address);
(V3 last read address);
6303/0: 157 006 (Await disc); Q0TOQ6;
6303/2: 300 014 300|042|042|164 003|054 V1; DUP; DUP; SHL+1; AND;(-ve if Q empty);
6304/4: 300 122 105|164 021 V77P104M5; SHL+8; (-ve if Q suspended by this level);
6305/3: 011 OR; (-ve if OK to go ahead with transfer);
6305/4: 205 054 307|171 110|166 125|301 014 300|205 265 154 J11>Z; C4; SHLD+42; =V1; J3P45;
6307/5: 042|300 000 037|164 003|054|041 11; DUP; V23P0; SHL+1; AND; ZERO;
6311/1: 024|045|170 170|052|171 110|033 FLOAT; FIX; =C7; ERASE; C4; NOT;
6312/3: 164 125|033|167 160|054|301 154 300 SHL+42; NOT; SHCC7; AND; =V1M6;
6314/0: 304 200 000|170 170|033|027|200 321 353 SETB100000; =C7; NOT; NEG; JS3P10;
6315/4: 200 360 000 EXIT1;
1; (Await access to fixed heads);
6316/1: 171 104|167 373|300 122 025|011|301 122 025 I4; SHC-3;V29P104M5; OR; =V29P104M5;
6320/0: 041|033|170 156 ZERO; NOT; =Q6;
6320/4: 300 014 277 V0;
6321/1: 300 014 141|042|041|033|050|301 014 141 V0P197; DUP; ZERO; NOT; CONT; =V0P197;
6322/5: 225 054 307|205 265 154 J11<Z; J3P45;
2; (Release fixed heads);
Warning: V29104P199 is out of range, only 4 V-stores specified
6323/5: 300 122 025|164 007|164 373|371 136 157 V29P104M5; SHL+3; SHL-3; =V29104M5;
6325/3: 041|033|170 156 ZERO; NOT; =Q6;
6326/1: 300 014 277|042|200 054 365|052|300 014 141 V0; DUP; J13>Z; ERASE; V0P197;
6330/0: 047|052|301 014 141|200 360 000 STR; ERASE; =V0P197; EXIT1;
3; (Allow disc access if free, entered every EDT);
6331/2: 300 014 300|042|002|304 000 016|170 170|120 162|220 345 155|157 006
V1; DUP; =TR; SETB16; =C7; BUSYQ7; J1P45TR; Q0TOQ6;
6334/1: 042|164 253|027|033|170 122 DUP; SHL-43; NEG; NOT; =M5;
6335/2: 121 160|201 354 362|300 122 105|164 005|201 054 357 PARQ7; J16NTR; V77P104M5; SHL2;J21>Z;
6337/3: 300 014 301|042|033|221 154 351|300 014 302|164 007|041|166 007|204 335 010
V2; DUP; NOT;J71=Z; V3;SHL3; ZERO; SHLD3; JS72;
6342/4: 164 061|065|164 251|204 335 010|011|164 015|065|042|041|162 015|204 335 010
SHL24; REV; SHL-44; JS72; OR; SHL6; REV; DUP; ZERO; SHAD6; JS72;
6345/5: 012|164 251|065|164 243|164 007|011|204 335 010|164 061|011|164 015|201 274 354
PERM; SHL-44; REV; SHL-47; SHL3; OR; JS72; SHL24; OR; SHL6; J73;
6351/1: 052|300 014 302|164 007|164 257|204 335 010|304 201 065|164 023|167 061
71; ERASE; V3; SHL3; SHL-41; JS72; SETB100465; SHL9; SHC24;
6354/1: 300 007 164|304 011 007|167 351|015|300 120 040|304 000 004|200 321 324
73; V30P101; SETB4407; SHC-12; NEV; V24P0M5; SET4; JS4P6;
6357/1: 304 000 001|164 131|300 122 105|011|042|301 122 105|164 005|205 054 363
21; SET1; SHL+44; V77P104M5; OR; DUP; =V77P104M5; SHL+2; J18>Z; ( SET; -> SET1; ???? )
6362/1: 200 334 365 16; JS13; (Clear HU for completed transfer);
6362/4: 300 014 300|042|220 045 155 19; V1; DUP; J1P45<Z;
(== 46 ==);
6363/5: 164 255|170 162|200 274 367 18; SHL-42; =M7; J15;
6365/0: 033|041|033|166 015|033|170 162|033|301 154 300 13; NOT; ZERO; NOT; SHLD+6; NOT; =M7; NOT; =V1M6;
6367/0: 300 162 170|047|220 140 116|042|301 162 170|170 176|124 162|200 360 000
15; V11P11M7; STR; J35P0=Z; DUP; =V11P11M7; =Q7; CLOQ7; EXIT1;
6372/0: 300 014 212 6; V41P197;
5; (Wait for transfer and check parity);
(EXIT1 fail second time, EXIT2 try again, EXIT3 OK);
6372/3: 033|027|304 200 000|170 170|200 321 353 NOT; NEG; SETB100000; =C7; JS3P10;
Warning: V25P4 is out of range, only 6 V-stores specified
6374/1: 300 121 144|200 154 376|171 122|301 000 026 V25P04M5; J20≠Z; M5; =V14P0; (Resume obj prog after disc trans); [ if no hold-ups select this program for resumption
6376/0: 300 122 105|167 007|047|042|223 055 001 20; V77P104M5; SHC+3; STR; DUP; J17<Z; (J if parity);
6377/4: 052|164 377|167 375|301 122 105|200 360 001 ERASE; SHL-1; SHC-2; =V77P104M5; EXIT3; (No parity, clear D2);
6401/3: 027|043|011|167 373|301 122 105 17; NEG; DUPD; OR; SHC-3; =V77P104M5; (Set D2, clear D3);
4;
6402/5: 304 000 016|172 150|120 142|220 340 116|134 140|171 156 SETB16; =+C6; BUSYQ6; J35P0TR; PMAQ6; Q6;
6405/1: 301 014 301|171 176|301 014 302|200 360 000 24; =V2; Q7; =V3; EXIT1;
6407/0: 120 162|220 340 116|041|033|201 275 005 14; BUSYQ7; J35P0TR; ZERO; NOT; J24; (FH);
6410/4: 304 002 212|065|067|304 004 020|011|200 360 000 72; SETB1212; REV;FRB; SETB2020; OR; EXIT1;
=== Start P2939V0; at address 3340/6414
P2939V0;
(OUT13);
6414/0: 300 015 013|304 000 143|223 035 017 V0; SET99; J14=;
6415/3: 042|301 000 236|033|027|301 015 013|200 360 000 13; DUP; =V0P1; NOT; NEG; =V0; EXIT1;
6417/3: 052|041|203 275 015 14; ERASE; ZERO; J13;
6420/2: 052|300 000 237|301 122 135 52; (OUT52); ERASE; V1P1; =V101P104M5;
6421/3: 300 000 240|301 122 145 V2P1; =V109P104M5;
6422/3: 300 000 241|301 122 151 V3P1; =V113P104M5;
6423/3: 300 122 001|300 121 375|161 321 V9P104M5; V5P104M5; SHA-24;
6424/5: 166 061|033|027|301 122 141|052|200 360 000 SHLD+24; NOT; NEG; =V105P104M5; ERASE; EXIT1;
6426/4: 052|203 335 032|161 321|065|161 321|065 53; (OUT53); ERASE; JS1; SHA-24; REV;SHA-24; REV; [ unsure about the JS1;
6430/2: 300 000 236|222 046 333|041|301 122 141|200 326 332 V0P1; J2P64<Z; ZERO; =V105P104M5; JSP64;
6432/3: 300 122 141|027|033|041|166 061 1; V105P104M5; NEG; NOT; ZERO; SHLD+24;
6433/5: 164 061|065|300 122 001|065|036|065 SHL+24; REV; V9P104M5; REV; -; REV;
6435/2: 300 121 375|065|036|042|066|056|200 360 000 V5P104M5; REV; -; DUP; CAB; +; EXIT1;
6437/1: 052 54; (OUT 54); ERASE;
6437/2: 300 000 237|042|033|224 155 044|301 122 135 V1P1; DUP; NOT; J2=Z; =V101P104M5;
6441/1: 300 000 240|301 122 145|300 000 241|164 365|164 015 V2P1; =V109P104M5; V3P1; SHL-6; SHL6;
6443/2: 304 000 002|011|301 122 151|041 SETB02; OR; =V113P104M5; ZERO;
6444/4: 033|301 122 141|200 360 000 2; NOT; =V105P104M5; EXIT1;
(End of DIRECTOR proper the rest is overwritten
after initial input);
=== Start P200V45; at address 3412/6524
P200V45; (Initial routine on reading in Director.
read and type unit list,ask for machine
size,A-prog details,date and time);
V-store at 06446 = 010 175 051 266 120 063 V0=B0207645155450063; [ cnTIME S lowercase for non-printing chars
V-store at 06447 = 242 034 251 272 160 044 V1=B5041625156470044; [ HARING D
V-store at 06450 = 247 051 143 322 374 200 V2=B5162454364576200; [ IRECTOR
V-store at 06451 = 001 004 020 100 015 344 V3=B20202020006744; [ 0000 WD
V-store at 06452 = 317 320 000 000 000 000 V4=B6375/11; [ Se
V-store at 06453 = 101 003 320 100 364 020 V5=B2020172020172020; [ 00/00/00
V-store at 06454 = 010 175 071 302 134 334 V6=B0207647160456334; [ cnTYPES;
V-store at 06457 = 010 174 364 277 050 147 V9=B0207636457624147; [ cnSTORAG
V-store at 06460 = 227 377 377 377 377 334 V10=B4577777777777734; [ Edddddde
V-store at 06462 = 010 161 343 277 051 100 V12=B0207074357624500; [ cnnCORE
V-store at 06463 = 266 371 065 262 134 334 V13=B5557446554456334; [ MODULES;
(== 47 ==);
V-store at 06465 = 010 161 307 222 035 045 V15=B0207070744416445; [ cnnnDATE
V-store at 06466 = 000 011 017 264 376 134 V16=B441755177134; [ D/M/Y;
V-store at 06471 = 363 273 356 367 273 356 V19=B7473575675735756;
V-store at 06472 = 050 240 112 050 022 212 V20=B1212011212011212; [ radix word
V-store at 06473 = 010 161 364 246 331 100 V21=B0207076451554500; [ cnnTIME
V-store at 06474 = 276 340 022 121 352 057 V22=B5756002224365057; [ ON 24-HO
V-store at 06475 = 327 040 043 262 370 353 V23=B6562004354574353; [ UR CLOCK
V-store at 06476 = 010 161 307 036 213 365 V24=B0207070707505765; [ cnnnHOU;
V-store at 06477 = 313 063 355 246 354 334 V25=B6263175551566334; [ RS/MINS;
V-store at 06501 = 010 170 136 303 053 347 V27=B0207413660625747; [ cnA-PROG
V-store at 06502 = 312 033 100 222 135 041 V28=B6241550044456441; [ RAM DETA
V-store at 06503 = 246 314 375 000 000 000 V29=B51546375/23; [ ILSe
V-store at 06504 = 010 173 045 332 133 063 V30=B0207544566455463; [ cnLEVELS
V-store at 06505 = 000 000 000 000 200 000 V31=32768;
V-store at 06510 = 000 001 017 001 017 037 V34=Q1/AY1/AY31;
V-store at 06511 = 177 200 377 000 377 000 V35=B3770037700177400;
V-store at 06512 = 377 000 000 000 000 000 V36=B776/8;
V-store at 06515 = 010 171 241 246 300 277 V39=B0207464151540277; [ cnFAILcd
V-store at 06516 = 325 004 000 010 164 020 V40=B6520200002072020; [ U00 cn00
V-store at 06517 = 377 377 377 377 377 377 V41=-1; (Silent marker);
V-store at 06520 = 226 351 363 073 320 000 V42=P ENGS,[EM];
V-store at 06521 = 013 033 236 262 233 245
V-store at 06522 = 066 323 343 161 307 034 V43/44=P [C]QN-LINE*M/C[3QQ];
(V45 Reply);
6524/0: 176 010|052 K4; ERASE; [ turn off the hooter
6524/3: 304 002 155|304 001 371|042|170 142 SETAP104; SETAV1P104; DUP; =M6;
6526/0: 036|164 375|170 150|304 000 004|170 144|171 156|301 007 265 -; SHL-2;=C6; SET4;=I6; Q6; =V1P105; [ constant for scanning program variables
6530/3: 304 015 105|164 367|164 013|042|301 010 125 SETAV31; SHL-5; SHL+5; DUP; =V0P117; [ the absolute address of the end of director
6532/2: 042|300 015 105|065|036|164 375|205 335 275 DUP; V31;REV;-; SHL-2; JS200; (Set up number user words);
6534/1: 300 001 341|065|067|300 015 051|011|301 015 051 V0P9; REV; FRB; V3; OR; =V3; [ insert director size in title message
6536/1: 304 015 046|170 125|304 015 052|170 122|200 335 300 SETAV0; =RI5; SETAV4; =M5; JSP201; [ ... and type it out on console
6540/2: 304 000 002|170 130|120 121|304 000 004|170 130|120 121 SET2; =C5; MANUALQ5; SET4; =C5; MANUALQ5; (Hoot on or goodbye); [ set devices 2 and 4 unready (PTR + CR) ??????????
6542/4: 300 015 115|301 017 000 V39; =Y0;
6543/4: 300 015 110|170 136|125 120 100; V34;=Q5; PIBQ5; [ reading config info on reader 1
6544/5: 176 010|052|120 122|225 355 144 101; K4; ERASE; BUSYQ5; J101TR; [ await paper tape reader
6546/1: 121 120|201 355 153 PARQ5; J104NTR;
6547/0: 304 017 000|170 125|304 017 037|170 122|200 335 300 102; SETAY0; =RI5; SETAY31; =M5; JSP201; [ output FAIL + echo of input if parity
6551/1: 176 010|052|201 275 151 103; K4; ERASE; J103; [ and stop for ever, but don't annoy everybody by hooting
6552/1: 225 055 176|204 275 143 105; J106<Z; J100;
6553/1: 304 017 001|170 156|200 324 241|201 275 152|170 170 104; SETAY1; =Q6; JSP32; J105; =C7; [ read a number
6555/2: 300 015 112|300 015 111|166 160|065|052 V36; V35; SHLDC7; REV; ERASE;
6557/0: 200 055 147|300 015 116|171 170|166 373|164 007 J102>Z; V40; C7; SHLD-3; SHL+3;
6561/0: 011|167 053|301 015 113 OR; SHC+21; =V37;
6562/0: 200 324 241|201 275 175|170 170|041|033 107; JSP32; J108; =C7; ZERO; NOT;
6563/4: 301 015 114|171 170|164 371|200 155 147|304 000 007 109; =V38; C7; SHL-4; J102≠Z; SET7; [
6565/5: 300 015 113|171 170|166 373|164 007|011|167 023 V37; C7; SHLD-3; SHL+3; OR; SHC+9;
6567/5: 171 170|170 162|042|301 164 035|164 043 C7; =M7; DUP; =V0P26M7; SHL+17;
6571/3: 224 055 172|052|304 000 001 J110<Z; ERASE; SET1;
6572/4: 171 170|037|220 115 147|300 015 114|200 155 162|204 275 143 110; C7; SIGN; J102>Z; V38; J107≠Z; J100;
6575/1: 042|170 170|224 055 143|041|204 275 163 108; DUP; =C7; J100<Z; ZERO;J109;
6576/5: 200 335 321 106; JSP206;
6577/2: 304 015 062|170 125|304 015 064|170 122|200 335 303 2; SETAV12; =RI5; SETAV14; =M5; JSP202;
6601/3: 202 275 177|300 015 064|042|300 015 120|015|042|301 015 120|220 155 274
J2; V14; DUP; V42; NEV; DUP; =V42; J70=Z;
6604/3: 164 271|304 007 375|015|042|301 015 117|225 155 274 SHL-36; SETB3775; NEV; DUP; =V41; J60=Z;
6606/4: 304 015 064|170 156|200 335 320|222 055 177 SETAV14; =Q6; JSP204; J2<Z;
6610/3: 042|164 031|301 005 075|027|033 61; DUP; SHL+12; =V10P45; NEG; NOT;
6611/5: 164 373|202 155 177|041|301 015 046 SHL-3; J2≠Z; ZERO; =V0;
6613/2: 200 336 026 JSP209; (Obtain disc device/unit no);
6613/5: 200 335 345 JSP208; (Obtain OUT 8 reel no)
6614/2: 300 015 120|221 155 223 V42; J16=Z;
6615/2: 304 015 121|170 125|304 015 123|170 122|200 335 303|202 275 215
15; SETAV43; =RI5; SETAV45; =M5; JSP202; J15;
6620/0: 300 015 123|164 255|304 000 071|015|201 155 223 V45; SHL-42; SETB71; NEV; J16≠Z;
6622/0: 041|041|033|050|205 335 275 (If on line then set D0 V29P0); ZERO; ZERO; NOT; CONT; JS200;
6623/1: 041 16; ZERO;
(== 48 ==);
6623/2: 052 9; ERASE;
6623/3: 304 015 065|170 125|304 015 070|170 122|200 335 303 10; SETAV15; =RI5; SETAV18; =M5; JSP202;
6625/4: 203 275 223|304 015 067|170 156|200 335 320|202 275 223 J10; SETAV17; =Q6; JSP204; J9;
6630/0: 042|222 155 223|170 124|200 335 320|202 275 223 DUP; J9=Z; =I5; JSP204; J9;
6632/0: 042|170 130|304 000 015|037|203 055 223 DUP; =C5; SET13; SIGN; J10>Z;
6633/4: 243 135 223|200 335 320|202 275 223|042|304 000 144 J10C5Z; JSP204; J9; DUP; SET100;
6635/5: 037|202 055 223|042|304 000 100|037 SIGN; J9>Z; DUP; SET64; SIGN;
6637/2: 222 055 223|042|170 122|300 015 071|065 J9<Z; DUP; =M5; V19; REV;
6641/0: 164 135|201 155 242|167 061 SHL+46; J11≠Z; SHC+24;
6642/1: 167 120|167 120|164 245|304 000 032|056 11; SHCC5; SHCC5; SHL-46; SET26; +;
6643/5: 171 124|037|223 055 223|171 124|304 000 144 I5; SIGN; J10<Z; I5; SET100;
6645/4: 034|052|171 130|056|304 000 144 ×D; ERASE; C5; +; SET100;
6647/0: 034|052|171 122|035|300 015 072 ×D; ERASE; M5; ×; V20;
6650/2: 065|067|056|301 010 162|300 015 120|224 155 253|200 336 213|203 275 223
REV; FRB; +; =V3P120; V42; J13=Z; JSP210; J10;
6653/2: 041 ZERO;
6653/3: 052 12; ERASE;
6653/4: 304 015 076 13; SETAV24;
6654/1: 170 125|304 015 100|170 122|200 335 303|204 275 253 14; =RI5; SETAV26; =M5; JSP202; J13;
6656/2: 304 015 100|170 156|200 335 320|203 275 253|042 SETAV26; =Q6; JSP204; J12; DUP;
6660/2: 304 000 030|037|203 055 253|304 016 020|034 SET24; SIGN; J12>Z; SET3600; ×D;
6662/1: 052|170 136|200 335 320|203 275 253|042 ERASE; =Q5; JSP204; J12; DUP;
6663/5: 304 000 074|037|203 055 253|304 000 074|034 SET60; SIGN; J12>Z; SET60; ×D;
6665/4: 052|171 136|056|164 061|301 000 010 ERASE; Q5; +; SHL+24; =V0P0;
6667/1: 300 000 010|301 013 010 V0P0; =V2P193; (Dont start JO immediately);
6670/1: 300 000 002|164 321|164 031|304 007 131|011|164 031|304 001 370|011
E2; SHL-24; SHL+12; SETAV3P101; OR; SHL+12; SETAV0P104; OR;
6673/0: 301 000 002 =E2; (Set up word 2 for OUT 11);
6673/3: 204 260 200 J23P0; (Enter Director PROPER);
6674/0: 052|041|301 015 117 70; ERASE; ZERO;=V41;
6674/5: 304 000 010|203 275 210 60; SET8; J61;
6675/5: 300 000 045|011|301 000 045|200 360 000 200; V29P0; OR; =V29P0; EXIT1;
=== Start P201V-1; at address 3520/6700
P201; (Type message);
6700/0: 176 010|052|120 122|220 355 300|131 120|200 360 000 1; K4; ERASE; BUSYQ5; J1TR; POBQ5; EXIT1;
=== Start P202V-1; at address 3523/6703
P202; (Type query direct);
6703/0: 200 335 300|171 122|171 124|042|033 JSP201; M5; I5; DUP; NOT;
6704/3: 027|170 123|036 NEG; =RM5; -;
6705/1: 176 010|052|120 122|221 355 305 1; K4; ERASE; BUSYQ5; J1TR;
6706/3: 121 120|170 130|225 355 310 PARQ5; =C5; J6TR;
6707/4: 304 000 010|262 135 311|002 2; SET8; J3C5NZ; =TR;
6710/5: 200 360 000 6; EXIT1;
6711/2: 170 150|102 120 3; =C6; M0M5Q;
6712/0: 041|166 015|304 000 075|222 035 316|143 140 4; ZERO; SHLD+6; SETB75; J5=; DC6;
6713/5: 304 000 037|037|167 377|033|002 SETB37; SIGN; SHC-1; NOT; =TR;
6715/1: 260 155 312|052|204 275 307 J4C6NZ; ERASE; J2;
6716/2: 052|052|205 355 310|202 360 001 5; ERASE; ERASE; J6NTR; EXIT2;
=== Start P204V-1; at address 3536/6720
P204; (Fetch decimal number);
6720/0: 304 177 340|203 264 241 SETB77740; J1P32;
=== Start P206V-1; at address 3537/6721
P206; (Read prog.lst);
6721/0: 300 015 110|170 136|304 000 020|170 151 V34P200; =Q5; SET16; =RC6;
6722/4: 125 120 1; PIBQ5;
6723/0: 176 010|052|120 122|220 355 323 2; K4; ERASE; BUSYQ5; J2TR;
6724/2: 121 120|220 355 147|300 017 002|300 017 001|042|200 330 154 PARQ5; J102P200TR; Y2; Y1; DUP; JSP119;
6726/5: 200 275 147|200 275 147|164 137|012 J102P200; J102P200; SHL+47; PERM;
6730/2: 166 305|052|011|303 145 177 SHLD-30; ERASE; OR; =V0P254M6Q;
6731/3: 264 155 322|200 360 000 J1C6NZ; EXIT1;
(== 49 ==);
=== Start P208V9; at address 3557/6745
P208V9; (OUT8,COPLOT,STREAM,COUNT);
V-store at 06733 = 010 173 365 320 326 015
V-store at 06734 = 312 131 154 066 353 334 V0/1=P [CN]OUT*8*REEL*NO[Q];
V-store at 06736 = 010 161 363 323 051 141
V-store at 06737 = 264 330 357 326 355 034 V3/4=P [CNN]STREAM*COUNT[Q];
V-store at 06741 = 010 161 307 034 161 307
V-store at 06742 = 036 073 360 262 375 015
V-store at 06743 = 312 131 154 066 353 334 V6/8=P [C8N]COPLOT*REEL*NO[Q];
6745/0: 300 015 117|220 155 371 V41P200; J3=Z;
6746/0: 304 015 333|170 125|304 015 335|170 122 SETAV0; =RI5; SETAV2; =M5;
6747/4: 200 335 303|200 275 345 JSP202; JP208;
6750/4: 304 015 335|170 156|200 335 320|220 055 345 SETAV2; =Q6; JSP204; JP208<Z;
6752/3: 301 012 303 =V0P161; (OUT8 reel no);
6753/0: 171 170|304 000 040|035|304 003 350|034 C7; SETB40; ×; SET1000; ×D;
6754/4: 065|301 012 306|220 055 345 REV; =V3P161; JP208<Z;
6755/5: 304 015 341|170 125|304 015 344|170 122 2; SETAV6; =RI5; SETAV9; =M5;
6757/3: 200 335 303|205 275 355|304 015 344|170 122 JSP202; J2; SETAV9; =M5;
6761/2: 200 335 320|225 055 355|301 015 013 JSP204; J2<Z; =V0P2939;
6762/5: 304 015 336|170 125|304 015 340|170 122|200 335 303|205 275 362
1; SETAV3; =RI5; SETAV5; =M5; JSP202; J1;
6765/3: 304 015 340|170 156|200 335 320|225 055 362|042|301 011 372 SETAV5; =Q6; JSP204; J1<Z; DUP; =V-1P155;
6770/0: 301 011 377|200 360 000 =V4P155; EXIT1;
6771/0: 041|301 012 303|304 003 350|301 012 306 3; ZERO; =V0P161; SET1000; =V3P161;
*** There is no routine P2000
6772/4: 041|301 015 013|300 000 000|221 155 376|041 ZERO; =V0P2939; V42P2000; J4=Z; ZERO;
6774/3: 042|301 011 372|301 011 377|200 360 000 5; DUP; =V-1P155; =V4P155; EXIT1;
6776/1: 304 047 017|041|033|301 007 160|203 275 374 4; SET9999; ZERO; NOT; =V26P101; J5;
=== Start P209V21; at address 3606/7026
P209V21; (Temporary disc set-up);
V-store at 07000 = 000 016 036 000 054 377 V0=QB16/AY3840/AY7679;
V-store at 07001 = 001 216 017 040 035 057 V1=QB616/AY32/AY3631;
V-store at 07002 = 000 132 000 050 017 040 V2=Q90/40/AY32;
V-store at 07003 = 000 015 000 003 000 000 V3=Q13/3/0;
V-store at 07004 = 001 216 036 000 054 017 V4=QB616/AY3840/AY7439;
V-store at 07005 = 000 000 016 006 016 007 V5=Q0/AV6/AV7;
V-store at 07006 = 010 174 062 246 331 134 V6=P [CN]PRIME[Q];
V-store at 07010 = 000 001 017 040 017 047 V8=Q1/AY32/AY39;
V-store at 07011 = 010 041 356 275 351 357 V9=P[CCN]NO-GO;
V-store at 07012 = 010 174 041 312 235 071 V10=P[CN]PARITY;
V-store at 07013 = 000 216 036 000 036 237 V11=QB216/AY3840/AY3999;
V-store at 07014 = 066 231 062 303 320 000 V12=P *IDRP[EM];
V-store at 07015 = 000 001 017 040 017 040 V13=Q1/AY32/AY32;
V-store at 07016 = 034 051 051 316 063 155
V-store at 07017 = 327 075 015 212 123 160
V-store at 07020 = 312 233 145 223 320 000 V14/16=P [NC] DISC * MUST *BE * PRIMED [EM];
V-store at 07021 = 000 000 016 016 016 020 V17=Q 0/AV14/AV16;
(V18=Disc prime marker);
V-store at 07023 = 000 016 016 023 016 023 V19=Q B16/AV19/AV19;
V-store at 07024 = 000 012 000 004 043 120 V20=Q 10/4/AY5200;
(V21 Zero if prime Y, -1 if prime X, +1 if prime N);
7026/0: 304 000 016|170 111|134 100 SETB16; =RC4; PMAQ4;
(Read IDRP and store on disc);
7027/1: 300 016 010|170 136|304 000 016|170 130|124 130|205 336 166|203 276 171|300 016 023
V8;=Q5; SETB16; =C5; PICQ5; JS12;J100; V19;
7032/4: 170 376|134 360|124 360|205 336 166|203 276 171|300 016 023|164 041
=Q15; PMAQ15; PIAQ15;JS12; J100; V19; SHL16;
7035/3: 164 301|304 000 003|015|300 016 006 SHL-32; SET3; NEV; V6;
7037/0: 300 017 046|015|011|223 156 043|300 016 021|170 136|200 335 300|041|033|301 016 022
Y38; NEV; OR; J60=Z; V17; =Q5; JSP201; ZERO; NOT; =V18;
7042/3: 300 015 120|221 155 151 V42P200; J103P200=Z; (Stop if engs and disc nogo);
7043/3: 300 016 014|301 017 001 60; V12; =Y1;
7044/3: 300 016 010|170 136|125 120|205 336 166|017|017|017|124 120 V8; =Q5; PIBQ5; JS12; DUMMY; DUMMY; DUMMY; PIAQ5;
7047/0: 205 336 166|203 276 171|300 017 042|164 305|304 160 260|015 JS12; J100;Y34; SHL-30; SETB70260; NEV;
7051/3: 300 017 047|164 367|304 100 000|015|300 016 006|301 017 046 Y39; SHL-5; SETB40000; NEV; V6; =Y38;
7054/0: 011|200 155 147|300 017 047|170 136|300 017 042|164 045|304 160 244|166 335
OR; J102P200≠Z; Y39; =Q5; Y34; SHL+18; SETB70244; SHLD-18;
7057/1: 052|301 017 042 ERASE; =Y34;
7057/5: 300 016 015|172 136|124 120|304 017 040|170 124|205 336 166|203 276 171
V13; =+Q5; PIAQ5; SETAY32; =I5; JS12; J100;
7062/5: 304 000 016|170 130|130 130|205 336 166|203 336 171 SETB16; =C5; POCQ5; JS12; JS100;
7065/0: 304 017 000|170 111 111; SET3840; =RC4;
7065/5: 017|041|313 116 000|017|017|177 100 *10; ZERO; =Y3840M4Q; *J10C4NZS; (Clear new PPI);
7067/2: 041|301 016 025|300 015 117|220 156 146 ZERO; =V21; (Show prime Y); V41P200; J61=Z;
(== 50==);
7071/0: 300 016 005|170 136|200 335 303|204 276 164 V5; =Q5; JSP202; J11;
7072/5: 304 016 007|170 156|200 324 216|204 276 164|204 276 164|204 276 164|171 170
SETAV7; =Q6; JSP31; J11; J11; J11; C7;
7076/0: 304 000 070|223 036 147 SETB70; J120=; (J if prime X);
7077/0: 304 000 071|222 036 150 SETB71; J20=; ( J if prime);
7100/0: 304 000 056|015|204 156 164 SETB56; NEV; J11≠Z; (J if not N);
7101/1: 304 000 001|301 016 025|300 016 001|170 136|124 130 63; SET1; =V21; (Show prime N); V1; =Q5; PICQ5; (Read PPI);
7103/2: 205 336 166|203 336 171|200 336 261 JS12; JS100; JSP298;
7104/5: 200 336 163|205 336 166|203 336 171 JS7; JS12; JS100; (Write back new PPI);
(Form ASL sum checks);
7106/2: 300 016 013|170 136|124 130|205 336 166|203 336 171 V11; =Q5; PICQ5; JS12; JS100; (Read ASL from disc);
7110/3: 304 000 004|170 151 150; SET4; =RC6;
7111/2: 304 003 000|311 016 202 SET768; =Y3970; (No of sectors in logical user disc);
7112/2: 041|170 171 ZERO; =RC7;
7112/5: 304 000 050|170 170|041 102; SET40; =C7; ZERO;
7113/5: 017|312 176 000|017|017|017|015|177 160|303 153 214|265 156 112
*101; Y3840M7Q; *NEV; J101C7NZS; =V3P195M6Q; J102C6NZ;
7116/3: 300 016 013|170 136|130 130|205 336 166|203 336 171 V11; =Q5; POCQ5; JS12; JS100; (Write back ASL);
(Claim global disc and write empty job Q);
7120/4: 304 200 016|170 131|134 120|300 016 025|220 116 130 SETB100016;=RC5; PMAQ5;V21;J69>Z; (j IF PRIME n);
(Select track 0 of global);
7122/5: 304 017 000|170 111 SET3840; =RC4;
7123/4: 017|017|041|033|313 116 000|017|177 100 *51; ZERO; NOT; =Y3840M4Q; *J51C4NZS;
7125/2: 300 016 000|170 136|130 120|205 336 166|203 336 171|200 360 000
68; V0; =Q5; POAQ5; JS12; JS100; EXIT1;
69; (Clear any jobs which were going on when Director put in);
7130/0: 300 016 000|170 136|124 120|205 336 166|203 276 171|300 016 024|170 376
V0; =Q5; PIAQ5; JS12; J100; V20; =Q15;
7133/0: 102 360|033|205 156 134 *64; M0M15Q; NOT; J65≠Z;
7134/0: 177 360|202 276 125 67; J64C15NZS; J68;
7134/5: 141 360|110 360|164 321|304 000 050|034|050 65; M-I15; M0M15N; SHL-24; SET40; ×D; CONT;
7136/4: 170 343|304 000 047|170 350|041|033|042|313 356 000 =RM14; SET39; =C14; ZERO; NOT; DUP; =Y3840M14Q;
7140/5: 017|041|313 356 000|017|017|177 340|042|311 356 000|042 *66; ZERO; =Y3840M14Q; *J66C14NZS; DUP; =Y3840M14; DUP;
7143/1: 101 360|042|111 360|042|301 360 002|301 360 003|140 360|200 276 134
=M0M15; DUP; =M0M15N; DUP; =E2M15; =E3M15; M+I15; J67;
7146/0: 300 016 022|203 156 150|201 276 101 61; V18; J62≠Z;J63;
7147/3: 041|033|301 016 025 120; ZERO;NOT; =V21; (Show primed and mode X);
7150/2: 052 20; (Prime); ERASE;
7150/3: 200 336 163|205 336 166|203 276 171 62; JS7; (Write empty PPI); JS12; J100;
7152/0: 300 016 025|042|301 007 064 V21; DUP; =V0P76; (Set primed or not if Y or X);
7153/1: 041|033|164 101|311 016 200|304 026 200|311 016 201 ZERO; NOT; SHL32;=Y3968; SETB13200; =Y3969;
7155/2: 041|033|042|311 016 001|042|311 016 002|164 031|311 016 003 ZERO; NOT; DUP; =Y3841; DUP; =Y3842; SHL12; =Y3843;
7157/5: 223 156 110|304 000 200|170 131 J150=Z; (J if prime Y); SET128; =RC5;
(For mode X set ASL all ones);
7161/1: 041|033|313 136 000|261 136 161 236; ZERO; NOT; =Y3840M5Q; J236C5NZ;
7162/3: 203 276 110 (ASL set up for prime X); J150;
7163/0: 300 016 004|170 136|130 130|200 360 000 7; V4; =Q5; POCQ5; EXIT1; (Write back new PPI and exit);
7164/4: 304 016 011|170 125|140 120|200 335 300|200 276 065 11; SETAV9; =RI5;M+I5; JSP201; J111;
7166/5: 176 010|052|120 122|225 356 166|121 120|221 345 155|202 360 001
12; K4; ERASE; BUSYQ5; J12TR; PARQ5; J4P45TR; EXIT2;
7171/3: 304 016 012|042|170 125|170 122|200 335 300|201 275 151 100; SETAV10; DUP; =RI5; =M5; JSP201; J103P200;
=== Start P210V14; at address 3723/7213
P210V14; (Compute day of week); [ used in check that the correct date was input at start-up
V-store at 07174 = 000 000 336 063 052 035 V0=B 03 36 14 62 50 35;
V-store at 07175 = 317 133 244 207 237 334
V-store at 07176 = 000 000 000 000 000 000 V1/2=P SUNDAY[DQ];
V-store at 07177 = 266 373 244 207 237 334
V-store at 07200 = 000 000 000 000 000 000 V3/4=P MONDAY[DQ];
V-store at 07201 = 323 131 163 222 036 134
V-store at 07202 = 000 000 000 000 000 000 V5/6=P TUESDAY[Q];
V-store at 07203 = 336 113 263 222 036 134
V-store at 07204 = 000 000 000 000 000 000 V7/8=P WDNSDAY[Q];
V-store at 07205 = 322 214 263 222 036 134
V-store at 07206 = 000 000 000 000 000 000 V9/10=P THRSDAY[Q];
V-store at 07207 = 233 052 144 207 237 334
V-store at 07210 = 000 000 000 000 000 000 V11/12=P FRIDAY[DQ];
V-store at 07211 = 316 035 044 207 237 334
V-store at 07212 = 000 000 000 000 000 000 V13/14=P SATDAY[DQ];
7213/0: 171 122|042|033|027|065|027|033|164 375 M5; DUP; NOT; NEG; REV; NEG; NOT; SHL-2;
7214/4: 056|304 000 014|171 130|036|304 377 375|034|050|170 370 +; SET12; C5; -; SET-3; ×D; CONT; =C15;
7217/0: 300 016 174|164 360|304 000 007|054|035|171 130|304 000 002|036
V0; SHLC15; SETB7; AND; ×; C5; SET2; -;
(== 51 ==);
7221/4: 200 116 224|171 122|304 000 003|054|200 156 224|033|027 J1<Z; M5; SET3; AND; J1≠Z; NOT; NEG;
7224/0: 171 124|027|033|035|304 000 007|044|065|052|042|205 335 275 1; I5; NEG; NOT; ×; SET7; ÷I; REV; ERASE; DUP; JS200P200;
7226/3: 164 003|304 016 175|035|042|170 365|033|027|170 362 SHL1; SETAV1; ×; DUP; =RI15; NOT; NEG; =M15;
7230/4: 157 365|200 335 303|204 276 230|100 360|164 255|304 000 071 2; Q15TOQ5; JSP202; J2; M0M15; SHL-42; SETB71;
7233/1: 015|201 145 155|202 360 001 NEV; J4P45≠Z; EXIT2;
=== Start P297V0; at address 3742/7236
P297V0; (Simulate PPI in core);
V-store at 07235 = 120 000 000 000 000 000 V0=40/6;
7236/0: 304 000 001|172 036 SET1; =+Q1;
7236/5: 042|300 014 141|164 041|011|304 000 016|011|167 341|301 014 141
DUP; V0P197; SHL+16; OR; SETB16; OR; SHC-16; =V0P197;
7241/3: 205 336 247 JS2;
7242/0: 312 375 020|303 174 142|177 160|202 360 001 *11; Y3600M15Q; =V1P197M7Q; J11C7NZS; EXIT2;
7243/5: 300 014 141|164 301|205 336 247 1; V0P197; SHL-32; JS2;
7245/1: 017|017|017|017|017|302 174 142|313 375 020|177 160|202 360 001
*12; V1P197M7Q; =Y3600M15Q; J12C7NZS; EXIT2;
7247/5: 164 365|042|164 005|056|164 007|170 363|304 000 050|170 171|052|200 360 000
2; SHL-6; DUP; SHL+2; +; SHL+3; =RM15; SET40; =RC7; ERASE; EXIT1;
=== Start P298V5; at address 3761/7261
P298V5; (Optimise PPI);
V-store at 07253 = 000 132 000 050 017 040 V0=Q90/40/AY32;
V-store at 07254 = 000 002 000 001 002 160 V1=Q2/1/AV3P11;
V-store at 07255 = 000 160 244 012 131 056 V2=B07024402454456;
V-store at 07256 = 000 000 007 012 100 253 V3=B0702440253;
V-store at 07257 = 000 015 000 003 000 000 V4=Q13/3/0;
V-store at 07260 = 034 051 002 226 113 222 V5=B 07 02 44 02 45 44 56 22;
7261/0: 157 016 Q0TOQ14;
7261/2: 360 014 213|170 256|300 014 234|170 276 R100P197; =Q10; R1P197; =Q11;
7263/0: 300 016 305|361 014 213|300 016 306|301 014 234 R9; =R100P197; R10; =R1P197; (Bus FH handler);
7265/0: 157 005|300 016 254|170 116 Q0TOQ5; V1; =Q4; (Play at level 0);
7266/1: 300 016 253|170 216 V0; =Q8;
7267/0: 300 016 257|170 236 2; V4; =Q9;
7267/5: 100 230|300 016 260|222 036 274|164 365|300 016 255|225 036 273
3; M8M9; V5; J5=; SHL-6; V2; J4=; (J if EDN but not CON2);
7272/3: 164 351|300 016 256|202 036 274 SHL-12; V3; J5≠; (J if not K prog);
7273/5: 203 336 306 4; JS60;
7274/2: 052|265 216 267 5; ERASE; J3C8NZ;
7275/0: 140 200|143 200|260 156 267 M+I8; DC8; J2C6NZ;
7276/1: 300 016 257|170 216 V4; =Q8;
7277/0: 300 016 253|170 236 6; V0; =Q9; (Put rest in PPI, 1 from each sector in turn);
7277/5: 102 230|221 156 301|203 336 306 7; M8M9Q; J8=Z; JS60;
7301/1: 265 236 277 8; J7C9NZ;
7301/4: 140 200|143 200|260 216 277 M+I8; DC8; J6C8NZ;
7302/5: 171 256|361 014 213|171 276|301 014 234|200 360 000 Q10; =R100P197; Q11; =R1P197; EXIT1;
7305/0: 200 276 236 *9; JP297;
7305/3: 017|017|017|205 276 243 *10; J1P297;
7306/3: 141 220|171 222|033|027|170 063 60; M-I9; M9; NOT; NEG; =RM3;
7307/5: 176 010|052 K4; ERASE; (Keep clock happy - this bit takes 6 secs);
7310/2: 304 000 001|172 356 SET1; =+Q14;
7311/1: 110 070|301 002 111|110 230|301 002 051|100 230|301 002 045 M8M3N; =V81P104; M8M9N; =V49P104; M8M9; =V45P104;
7313/4: 041|101 230|140 220 ZERO; =M8M9; (Mark as gone); M+I9;
7314/3: 204 333 103|200 360 000 JS1P194; EXIT1; (Wierd if same in twice);
7315/3: 052|300 002 051|300 002 045|166 041|304 000 002|200 261 324 ERASE; V49P104; V45P104; SHLD+16; SET2; J4P6;
(Put ident of duplicated prog in FLEXqueue);
=== Start P999V9; at address 3802/7332
P999V9; [ diagnostic aid
V-store at 07320 = 000 000 016 321 016 323 V0 = Q 0/AV1/AV3;
V-store at 07321 = 034 055 006 227 075 077 V1 = B0702640645636477;
V-store at 07322 = 246 351 307 013 101 277 V2 = B5156470702640677;
V-store at 07323 = 227 075 051 272 160 202 V3 = B4563645156470202;
7332/0: 176 010|052 K4; ERASE;
7332/3: 300 016 320|170 036|130 020 V0; =Q1; TWQ1;
7333/4: 176 010|052|120 022|224 356 333 2; K4; ERASE; BUSYQ1; J2TR;
7335/0: 304 015 151|170 362 SETB6551; =M15;
7335/5: 100 360|041|166 041|304 377 000|054 M0M15; ZERO; SHLD16; SETB177400; AND;
7337/2: 304 000 006|011|166 341|052|101 360 SET6; OR; SHLD-16; ERASE; =M0M15;
7340/5: 200 275 124 JP200;
7341/2: 304 000 006|301 016 343|200 276 343 SET6; =R1; J1;
7342/5: 017|304 002 155|200 360 000 $1; SETAP104; EXIT1;
7344/0: 136 010 MRWDQ0;
=== Start P-1V-1; at address 3813/7345
Finished
FINISH;
Reached end of file