Commit | Line | Data |
---|---|---|
7af5ad59 PH |
1 | /8 COMMAND DECODER FOR OS/8 MONITOR |
2 | / | |
3 | / | |
4 | / | |
5 | / | |
6 | / | |
7 | / | |
8 | / | |
9 | / | |
10 | / | |
11 | /COPYRIGHT (C) 1974, 1975, 1977 BY DIGITAL EQUIPMENT CORPORATION | |
12 | / | |
13 | / | |
14 | / | |
15 | / | |
16 | / | |
17 | / | |
18 | / | |
19 | / | |
20 | / | |
21 | / | |
22 | /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE | |
23 | /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT | |
24 | /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY | |
25 | /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. | |
26 | / | |
27 | /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER | |
28 | /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED | |
29 | /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH | |
30 | /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. | |
31 | / | |
32 | /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE | |
33 | /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY | |
34 | /DIGITAL. | |
35 | / | |
36 | / | |
37 | / | |
38 | / | |
39 | / | |
40 | / | |
41 | / | |
42 | / | |
43 | / | |
44 | / | |
45 | \f/APRIL 1977 RL/EF/HJ/SR | |
46 | ||
47 | /ABSTRACT-- | |
48 | /COMMAND DECODER (CD) ACCEPTS TTY INPUT AND INTERPRETS | |
49 | /THAT INPUT AS A LIST OF OPTIONS AND FILE SPECIFICATIONS | |
50 | /FOR OS/8 CUSPS. TABLES ARE SETUP INDICATING THE SPECIFIED | |
51 | /FILES AND OPTIONS. | |
52 | /THIS VERSION OF CD IS CAPABLE OF RUNNING OS/8 BATCH. | |
53 | /MODIFICATIONS TO INITIALIZATION CODE HAVE BEEN MADE TO | |
54 | /ALLOW THIS. | |
55 | ||
56 | ||
57 | DCB=7760 | |
58 | SHNDLR=7607 | |
59 | USERFG=40 /LOCATION IN MAIN OS/8 ASSEMBLY - VOLATILE | |
60 | T1=41 /DITTO | |
61 | MCDREC=51 /ALSO PRETTY VOLATILE | |
62 | MOFILE=7600 | |
63 | MIFILE=7617 | |
64 | MPARAM=7643 | |
65 | FIELD 0 /JUSTINCASE | |
66 | ||
67 | CDVERSION=6501 /5A | |
68 | ODTVERSION=6401 /4A | |
69 | \f/V3 CHANGES TO CD: | |
70 | ||
71 | /1. FIXED LOTS OF BUGS | |
72 | / A:B:C IS ILLEGAL | |
73 | / 15-BIT = OPTION DOESN'T DESTROY ALTMODE BIT | |
74 | /2. ADDED ? SUPPORT IN SPECIAL MODE | |
75 | /3. ALLOWED SPECIAL MODE UNDER BATCH | |
76 | /4. REMOVED DCC CODE | |
77 | /5. ^U, RO TO BOL, AND LF ALL REPRINT * | |
78 | /6. VERSION # AT LOC ZERO | |
79 | /7. DON'T LOAD HANDLERS FOR OUTPUT DEVICE | |
80 | /8. CHANGED _ TO < STANDARD | |
81 | ||
82 | /V3 CHANGES TO ODT | |
83 | ||
84 | /1. REMOVED DCC CODE | |
85 | /2. FIXED CORE SIZE ROUTINE | |
86 | /3. ALLOWED SOFTWARE CORE SIZE | |
87 | /4. MODIFIED 'GO' COMMAND SO THAT IT DOESN'T RESTORE TRAP | |
88 | / LOCATION TO UNMODIFIED VALUE | |
89 | /5. FIXED BUG RE: JMS'S OUT OF FIELD WITH MAGIC LOCATION SET | |
90 | /6. TURN OFF INTERRUPTS ON BREAKPOINT | |
91 | ||
92 | /CHANGES AFTER FIELD TEST RELEASE: | |
93 | ||
94 | /1. FIXED BUG RE FILE LENGTHS GT 2047 BLOCKS | |
95 | ||
96 | /MAINTENANCE RELEASE: | |
97 | ||
98 | / NO CHANGES | |
99 | ||
100 | /V3D CHANGES: | |
101 | ||
102 | /CHANGED FORMAT OF VERSION NUMBERS | |
103 | \f *200 | |
104 | CD, JMP I NUMBER /EXECUTED IN SYSGEN | |
105 | NUM, JMP I T | |
106 | ANALYZ, TAD [BEGLN-1 | |
107 | DCA XR | |
108 | TAD I XR | |
109 | SNA | |
110 | JMP NOBKAR | |
111 | TAD [-"< | |
112 | SZA CLA | |
113 | JMP .-5 | |
114 | CLA CMA | |
115 | NOBKAR, DCA OUTSW | |
116 | TAD [BEGLN-1 | |
117 | DCA LXR | |
118 | BEGGRP, TAD OUTSW | |
119 | SNA CLA | |
120 | TAD BEGDIF /DIFF BETWEEN INPUT & OUTPUT AREAS | |
121 | TAD [MOFILE-1 | |
122 | DCA CLXR | |
123 | STA | |
124 | DCA DVFLAG | |
125 | DCA DEV1 | |
126 | FILLP1, DCA DEV2 | |
127 | FILLP, JMS I [GNAME | |
128 | TAD ["A-": /AC CONTAINED DELIM - "A | |
129 | SNA CLA | |
130 | JMP DEVNAM | |
131 | JMS I [ASSIGN | |
132 | TAD OUTSW | |
133 | SNA CLA | |
134 | TAD LIMDIF /DIFF BETWWEN END OF OUTPUT & INPUT AREAS | |
135 | TAD OUTLIM /END OF OUTPUT AREA | |
136 | TAD CLXR | |
137 | SMA CLA | |
138 | JMP CDER1 | |
139 | TAD OUTSW | |
140 | SNA CLA | |
141 | LKUPSW, JMP INFILE /ZEROED IF IN "SPECIAL DECODE" MODE | |
142 | CDF 10 | |
143 | TAD DVICE | |
144 | DCA I CLXR | |
145 | TAD NAME1 | |
146 | DCA I CLXR | |
147 | TAD NAME2 | |
148 | DCA I CLXR | |
149 | TAD NAME3 | |
150 | DCA I CLXR | |
151 | TAD NAME4 | |
152 | CDSKP, SKP | |
153 | INFILE, JMS I [LOOKUP | |
154 | DCA I CLXR | |
155 | DLOOK, CDF 0 | |
156 | STA | |
157 | DCA DVFLAG | |
158 | TAD DELIM | |
159 | SNA | |
160 | JMP CDOVER | |
161 | TAD [-"[ | |
162 | SNA | |
163 | JMP I [OLENGT | |
164 | TAD ["[-", | |
165 | SNA | |
166 | JMP FILLP | |
167 | TAD [",-"< | |
168 | SNA | |
169 | JMP BKAROW | |
170 | TAD ["<-"= | |
171 | SZA CLA | |
172 | JMP I [CDER2 | |
173 | EQUAL, DCA NUMFUJ | |
174 | JMS NUMBER | |
175 | DCA I [MPARAM+3 | |
176 | CLA CLL CML RAR | |
177 | AND I [MPARAM-1 /PRESERVE ALTMODE | |
178 | TAD HIORD | |
179 | DCA I [MPARAM-1 | |
180 | JMP DLOOK | |
181 | \fBKAROW, ISZ OUTSW | |
182 | JMP I [CDER2 | |
183 | JMP BEGGRP | |
184 | DEVNAM, TAD NAME1 | |
185 | DCA DEV1 | |
186 | ISZ DVFLAG | |
187 | JMP I [CDER2 /CATCHES A:B: | |
188 | TAD NAME2 | |
189 | JMP FILLP1 | |
190 | CDOVER, TSF | |
191 | JMP .-1 /LET PRINTER QUIET DOWN | |
192 | TCF /AND CLEAR FLAG | |
193 | CDF CIF 10 | |
194 | TAD TMONIT | |
195 | DCA I [200 /RESTORE "MONITO" | |
196 | TAD TUSRFG | |
197 | DCA I [USERFG /RESTORE "USER FLAG" | |
198 | TAD TFPUTX /LOAD "USER CALLING FIELD" INTO AC | |
199 | JMP I CD /RETURN - MONITOR RESTORES CORE IF NECESSARY | |
200 | NUMBER, 4000 /USED BY SYSGEN | |
201 | TAD CDSKP | |
202 | DCA NUMADD /SET NUMADD TO EITHER "SKP" OR "TAD NUM" | |
203 | DCA HIORD | |
204 | NUMLP, DCA NUM | |
205 | JMS NUMTST /INTO PAGE 0 FOR RANGE TEST | |
206 | SNL | |
207 | JMP EONUM | |
208 | DCA T | |
209 | CLA CLL CMA RTL | |
210 | DCA DELIM | |
211 | TAD NUM | |
212 | ROTLP, CLL RAL | |
213 | DCA NUMX | |
214 | TAD HIORD | |
215 | RAL | |
216 | SPA | |
217 | JMP I [CDER2 | |
218 | DCA HIORD | |
219 | TAD NUMX | |
220 | ISZ DELIM | |
221 | JMP ROTLP | |
222 | NUMADD, TAD NUM /SKP IF OCTAL | |
223 | TAD NUM | |
224 | TAD T | |
225 | JMP NUMLP | |
226 | EONUM, TAD ["0 | |
227 | DCA DELIM | |
228 | TAD NUM | |
229 | CDF 10 | |
230 | JMP I NUMBER | |
231 | \fCDER1, JMS I [PRMESG | |
232 | TEXT /TOO MANY FILES/ | |
233 | \f IFZERO .&400 <*400> | |
234 | ASSIGN, 0 | |
235 | TAD CLXR | |
236 | AND DVFLAG | |
237 | TAD OUTLIM | |
238 | SMA SZA CLA /CHECK FOR OUTPUT OR FIRST INPUT | |
239 | JMP ASNORM /IF DEVICE WAS SPECIFIC, OR IF WE ARE ON THE INPUT SIDE, | |
240 | /PROCEED NORMALLY | |
241 | TAD NAME1 | |
242 | SNA CLA | |
243 | JMP ASGNST | |
244 | TAD DFLTNM+1 | |
245 | DCA DEV2 | |
246 | TAD DFLTNM | |
247 | DCA DEV1 | |
248 | ASNORM, TAD DEV1 | |
249 | DCA AS+1 | |
250 | TAD DEV2 | |
251 | DCA AS+2 | |
252 | TAD OUTSW | |
253 | SNA CLA /DON'T LOAD HANDLER IF WE ARE ON OUTPUT SIDE OF "_" | |
254 | TAD NAME1 | |
255 | SPKLG1, SNA CLA /OR IF THERE IS NO FILE NAME TO LOOK UP | |
256 | TAD GETHND /GETHND=11 NORMALLY, 0 IF IN "SPECIAL DECODE" MODE | |
257 | IAC | |
258 | DCA AS | |
259 | TAD [1401 /ALLOW TWO PAGE HANDLERS | |
260 | DCA ASADR | |
261 | CIF 10 | |
262 | JMS I [200 | |
263 | AS, 0 | |
264 | 0 | |
265 | 0 | |
266 | ASADR, 1401 | |
267 | JMP I [CDER0 | |
268 | TAD AS+2 | |
269 | ASGNST, DCA DVICE | |
270 | JMP I ASSIGN | |
271 | GNAME, 0 | |
272 | DCA NAME1 | |
273 | DCA NAME2 | |
274 | DCA NAME3 | |
275 | DCA NAME4 | |
276 | TAD [NAME1 | |
277 | DCA NMBASE | |
278 | CLA CMA | |
279 | DCA PERDSW | |
280 | DCA NAMECT | |
281 | GTNMLP, JMS I [GCH | |
282 | DCA DELIM | |
283 | TAD DELIM | |
284 | TAD [-"? | |
285 | SZA | |
286 | TAD ["?-"* | |
287 | SNA | |
288 | STARSW, JMP I [CDER2 /"JMP STARNM" IF "SPECIAL DECODE" MODE | |
289 | TAD ["*-". | |
290 | SNA CLA | |
291 | JMP PERIOD | |
292 | JMS I [DECODE | |
293 | JMP I GNAME | |
294 | \fSTARNM, CLA /THIS CODE HANDLES *'S AND ?'S CORRECTLY | |
295 | TAD DELIM | |
296 | AND [77 | |
297 | DCA DELIM | |
298 | TAD NAMECT | |
299 | TAD [-6 | |
300 | SMA CLA | |
301 | JMP GTNMLP | |
302 | TAD NAMECT | |
303 | CLL RAR | |
304 | TAD NMBASE | |
305 | DCA TT | |
306 | TAD DELIM | |
307 | SZL | |
308 | JMP .+4 | |
309 | RTL | |
310 | RTL | |
311 | RTL | |
312 | TAD I TT | |
313 | DCA I TT | |
314 | ISZ NAMECT | |
315 | JMP GTNMLP | |
316 | PERIOD, TAD NAME1 | |
317 | SZA CLA | |
318 | ISZ PERDSW | |
319 | JMP I [CDER2 | |
320 | ISZ NMBASE | |
321 | TAD [4 | |
322 | JMP GTNMLP-1 | |
323 | LOOKUP, 0 | |
324 | DCA LNAME | |
325 | TAD NAME1 | |
326 | SNA CLA | |
327 | JMP LKUPST | |
328 | JMP EXT1 | |
329 | LKUPLP, DCA LNAME | |
330 | TAD AS+2 | |
331 | CIF 10 | |
332 | JMS I [200 | |
333 | 2 | |
334 | LNAME, 0 /NAME1 | |
335 | LENGTH, 0 | |
336 | JMP LFAILD | |
337 | TAD LENGTH | |
338 | CLL | |
339 | TAD [400 | |
340 | SNL | |
341 | CLA | |
342 | CLL RTL | |
343 | RTL | |
344 | AND [7760 | |
345 | LKUPST, CDF 10 | |
346 | TAD DVICE | |
347 | DCA I CLXR | |
348 | TAD LNAME | |
349 | JMP I LOOKUP | |
350 | \fLFAILD, TAD NAMECT | |
351 | SNA CLA /WAS THERE AN EXPLICIT EXTENSION? | |
352 | TAD DEFALT /NO - WAS THERE A DEFAULT EXTENSION? | |
353 | SNA CLA | |
354 | JMP I [CDER3 /YES OR NO - FILE NOT FOUND | |
355 | ISZ NAMECT /NO AND YES - SET FLAG TO FAIL NEXT TIME | |
356 | JMP EXT2 /ZERO OUT THE EXTENSION AND TRY AGAIN | |
357 | CDER3, JMS I [PRNAME | |
358 | JMS I [PRMESG | |
359 | TEXT / NOT FOUND/ | |
360 | \f IFZERO .+200&1000 <*600> | |
361 | 0 /V3 [FREE LOC] | |
362 | SLSHCH, 0 | |
363 | /V3 SNA | |
364 | /V3 JMP I [CDER2 | |
365 | DCA DELIM | |
366 | TAD [MPARAM-1 | |
367 | DCA T | |
368 | JMS I [DECODE | |
369 | JMP I [CDER2 | |
370 | SZL | |
371 | TAD [32 | |
372 | CMA STL /THE FOLLOWING TURNS ON THE CORRECT OPTION BIT | |
373 | DCA TT | |
374 | SLSHLP, SZL | |
375 | ISZ T | |
376 | RAR | |
377 | SNL | |
378 | ISZ TT | |
379 | JMP SLSHLP | |
380 | DCA TT | |
381 | CDF 10 | |
382 | TAD TT | |
383 | CMA | |
384 | AND I T | |
385 | TAD TT | |
386 | DCA I T | |
387 | CDF 0 | |
388 | JMP I SLSHCH | |
389 | DECODE, 0 | |
390 | TAD DELIM | |
391 | TAD [-"9-1 | |
392 | CLL | |
393 | TAD ["9+1-"0 | |
394 | SZL | |
395 | JMP DCDYES | |
396 | TAD ["0-"Z-1 | |
397 | CLL CML | |
398 | TAD ["Z-"A+1 | |
399 | SNL | |
400 | DCDYES, ISZ DECODE | |
401 | JMP I DECODE | |
402 | CDER0, TAD DEV1 | |
403 | JMS I [PRWD | |
404 | TAD DEV2 | |
405 | JMS I [PRWD | |
406 | JMS I [PRMESG | |
407 | TEXT / DOES NOT EXIST/ | |
408 | \f | |
409 | RESTRT, JMS I [CRLF | |
410 | CDF 10 | |
411 | TAD [MOFILE-1 | |
412 | DCA XR | |
413 | TAD [-47 | |
414 | DCA T | |
415 | DCA I XR /ZERO OUT THE COMMAND DECODER OUTPUT AREA | |
416 | ISZ T | |
417 | JMP .-2 | |
418 | CDF 0 | |
419 | JMP I [GLINE | |
420 | GCH, 0 | |
421 | TAD I LXR | |
422 | TAD [-240 | |
423 | SNA | |
424 | JMP GCH+1 | |
425 | TAD [240-"/ | |
426 | SNA | |
427 | JMP SLASH | |
428 | TAD ["/-"( | |
429 | SNA | |
430 | JMP OPENP | |
431 | TAD ["( | |
432 | JMP I GCH | |
433 | SLASH, TAD I LXR | |
434 | JMS I [SLSHCH | |
435 | JMP GCH+1 | |
436 | OPENP, TAD I LXR | |
437 | TAD [-") | |
438 | SNA | |
439 | JMP GCH+1 | |
440 | TAD [") | |
441 | JMS I [SLSHCH | |
442 | JMP OPENP | |
443 | OLENGT, TAD OUTSW | |
444 | AND NAME1 /[N] IS ONLY LEGAL ON THE OUTPUT SIDE OF THE "_" | |
445 | SNA CLA /AND ONLY AFTER A FILE NAME | |
446 | JMP I [CDER2 | |
447 | TAD [-4 | |
448 | TAD CLXR | |
449 | DCA NMBASE | |
450 | CLA CLL CML RTL | |
451 | DCA NUMFUJ /SET "NUMBER" TO ACCEPT DIGITS 8 AND 9 | |
452 | TAD OLFUDJ /LOAD FUDGE SO THAT "NUMBER" WILL BE DECIMAL | |
453 | JMS I [NUMBER | |
454 | CLL RTL | |
455 | RTL | |
456 | AND [7760 | |
457 | TAD I NMBASE | |
458 | DCA I NMBASE | |
459 | CDF 0 | |
460 | TAD DELIM | |
461 | TAD [-"] /IS THERE A CLOSING BRACKET? | |
462 | SNA /IF NOT, "DLOOK" ROUTINE WILL DETECT IT | |
463 | JMS I [GCH | |
464 | DCA DELIM | |
465 | JMP I [DLOOK | |
466 | OLFUDJ, NUM&177+1570 | |
467 | ||
468 | CDER2, CLA | |
469 | JMS I [PRMESG | |
470 | TEXT /ILLEGAL SYNTAX/ | |
471 | \f IFZERO .&1000 <*1000> | |
472 | /TELETYPE INPUT ROUTINE FOR COMMAND DECODER | |
473 | GLINE, TAD (252 /SETS 1177=252 FOR * IN MESSAGE | |
474 | JMS I PRINT | |
475 | DCA RBFLAG | |
476 | TAD [BEGLN-1 | |
477 | DCA LXR | |
478 | CHLOOP, 6031 /KSF | |
479 | JMP CHLOOP | |
480 | TAD [200 | |
481 | 6034 /KRS | |
482 | DCA NAME1 | |
483 | 6032 /KCC | |
484 | TAD [SPADR-1 | |
485 | DCA XR | |
486 | DSPCHL, TAD I XR | |
487 | SZA | |
488 | TAD NAME1 | |
489 | SNA CLA | |
490 | JMP I XR | |
491 | JMP DSPCHL | |
492 | SPADR, -225;JMP CTRLU | |
493 | -215;JMP CARRET | |
494 | -377;JMP RUBOUT | |
495 | -375;JMP ALTMOD /V3D MODIFIED BY SET | |
496 | -376;JMP ALTMOD /V3D MODIFIED BY SET | |
497 | -233;JMP ALTMOD | |
498 | -200;JMP CHLOOP | |
499 | -217;JMP CHLOOP /^O | |
500 | -"_;JMP LESSTN | |
501 | -212;JMP LFEED | |
502 | -203;JMP CTRLC /MUST BE LAST - SEE CLRLIN CODE | |
503 | 0 | |
504 | JMS PRNT | |
505 | CINSRT, TAD NAME1 | |
506 | DCA I LXR | |
507 | TAD LXR | |
508 | TAD [-EOBUFR+2 | |
509 | SPA CLA | |
510 | JMP CHLOOP | |
511 | JMS CRLF | |
512 | JMP I [CDER2 | |
513 | \fCARRET, JMS CRLF | |
514 | CLFINI, DCA I LXR | |
515 | JMP I [ANALYZ | |
516 | LESSTN, JMS PRNT | |
517 | TAD ["< | |
518 | JMP CINSRT+1 | |
519 | CTRLC, | |
520 | CTRLU, TAD [336 | |
521 | JMS I PRINT | |
522 | TAD NAME1 | |
523 | TAD [100 | |
524 | CLRLIN, JMS I PRINT | |
525 | JMS CRLF | |
526 | TAD I XR | |
527 | SZA CLA | |
528 | JMP GLINE | |
529 | CDF 10 | |
530 | CLA CMA | |
531 | DCA I [7700 | |
532 | TSF | |
533 | JMP .-1 | |
534 | JMP I [7605 /7605=CDF CIF 10 | |
535 | CRLF, 0 | |
536 | TAD [215 | |
537 | DCA NAME1 | |
538 | JMS PRNT | |
539 | TAD [212 | |
540 | JMS I PRINT | |
541 | JMP I CRLF | |
542 | ALTMOD, TAD [244 | |
543 | DCA NAME1 | |
544 | CLA CLL CML RAR | |
545 | CDF 10 | |
546 | DCA I [MPARAM-1 | |
547 | CDF 0 | |
548 | JMS PRNT | |
549 | JMP CLFINI | |
550 | \f/*** LOCATIONS ON THIS PAGE ARE MODIFIED BY SET | |
551 | /SEE SET FOR DETAILS. DO NOT CHANGE. | |
552 | ||
553 | RUBOUT, TAD LXR | |
554 | TAD [1-BEGLN | |
555 | SNA CLA | |
556 | JMP RBSPCL | |
557 | TAD [334 | |
558 | ISZ RBFLAG | |
559 | JMS I PRINT | |
560 | CLA CMA | |
561 | DCA RBFLAG | |
562 | TAD LXR | |
563 | DCA T | |
564 | TAD I T | |
565 | JMS I PRINT | |
566 | LBCKUP, CLA CMA | |
567 | TAD LXR | |
568 | JMP CHLOOP-1 | |
569 | RBSPCL, ISZ RBFLAG | |
570 | JMP CLRLIN+1 | |
571 | TAD [334 | |
572 | JMP CLRLIN | |
573 | PRNT, 0 | |
574 | ISZ RBFLAG | |
575 | JMP .+3 | |
576 | TAD [334 | |
577 | JMS I PRINT | |
578 | DCA RBFLAG | |
579 | TAD NAME1 | |
580 | JMS I PRINT | |
581 | JMP I PRNT | |
582 | LFEED, JMS CRLF | |
583 | DCA I LXR | |
584 | TAD [BEGLN-2 | |
585 | DCA XR | |
586 | TAD I XR | |
587 | SNA | |
588 | JMP LBCKUP | |
589 | JMS I PRINT | |
590 | JMP .-4 | |
591 | ||
592 | IFNZRO RUBOUT-1131 <_ERROR_> | |
593 | \f *1200 /INITIALIZATION - STORED OVER BY LINE BUFFER | |
594 | BEGLN=. /LINE BUFFER | |
595 | CDINIT, DCA TFPUTX | |
596 | CDF 10 | |
597 | CLA IAC | |
598 | TAD I [200 | |
599 | DCA TMONIT /SAVE AWAY MONITOR CALL ADDRESS SINCE WE CALL | |
600 | TAD I [USERFG /THE MONITOR RECURSIVELY, LIKEWISE SAVE | |
601 | DCA TUSRFG /THE "USER FLAG" AND THE FIELD WE WERE CALLED FROM | |
602 | TAD I [T1 /FETCH THE USERS ARGUMENT | |
603 | DCA DEFALT /STORE IN THE DEFAULT EXTENSION WORD | |
604 | DCA I [7 /ZERO "DIRECTORY SEGMENT IN CORE" KEY | |
605 | CDF 0 | |
606 | CIF 10 | |
607 | JMS I [200 | |
608 | 13 /RESET ALL HANDLERS | |
609 | 0 /BUT NOT OUTPUT FILES | |
610 | TAD DEFALT | |
611 | TAD M5200 | |
612 | SZA CLA /IS THIS A REQUEST FOR A "SPECIAL DECODE"? | |
613 | JMP CDCONT /NO | |
614 | TAD ALTLIM | |
615 | DCA OUTLIM /YES - SET UP ALL THE PROPER LOCATIONS | |
616 | TAD ALTDF1 | |
617 | DCA LIMDIF /TO YIELD 1 OUTPUT FILE AND 5 INPUT FILES | |
618 | TAD ALTDF2 | |
619 | DCA BEGDIF /ALL OF WHICH ARE 5-WORD <DEVICE,NAME> ENTRIES | |
620 | DCA I PLKUPS | |
621 | TAD STARJM | |
622 | DCA I PSTARS /AND ALLOW * AS A FILE OR EXTENSION NAME | |
623 | DCA DEFALT /NO DEFAULT EXTENSION IN "SPECIAL" MODE | |
624 | TAD CCLA /STOPS FETCHES IN SPECIAL MODE | |
625 | DCA I PSPKG1 /NO HANDLER FETCHES NECESSARY EITHER SINCE NO LOOKUPS | |
626 | CDCONT, TAD I PRWD /SEE IF BATCH FLAG IS UP | |
627 | RAL | |
628 | SPA CLA /IF YES, GO TO PAGE0 CODE | |
629 | JMP TT /TT ETC. IS ONCE-ONLY CODE | |
630 | JMP I CDRST | |
631 | \fCDRST, RESTRT+1 | |
632 | /CONSTANTS NECESSARY TO SUPPORT "SPECIAL DECODE" MODE | |
633 | M5200, -5200 | |
634 | ALTLIM, 1-MOFILE-5 | |
635 | ALTDF1, MOFILE+5-MPARAM+5 | |
636 | ALTDF2, 5 | |
637 | PLKUPS, LKUPSW | |
638 | STARJM, STARNM&177+5200 /"JMP STARNM" | |
639 | PSTARS, STARSW | |
640 | CCLA, CLA | |
641 | PSPKG1, SPKLG1 | |
642 | \f *1314 | |
643 | EOBUFR=. | |
644 | PRMESG, 0 | |
645 | TAD I PRMESG | |
646 | JMS PRWD | |
647 | TAD I PRMESG | |
648 | ISZ PRMESG | |
649 | AND [77 | |
650 | SZA CLA | |
651 | JMP PRMESG+1 | |
652 | JMP I [RESTRT | |
653 | PRWD, 7777 | |
654 | DCA T | |
655 | TAD T | |
656 | RTR | |
657 | RTR | |
658 | RTR | |
659 | JMS PCHAR | |
660 | TAD T | |
661 | JMS PCHAR | |
662 | JMP I PRWD | |
663 | PCHAR, 0 | |
664 | AND [77 | |
665 | SNA | |
666 | JMP I PCHAR /IGNORE NULLS | |
667 | TAD [240 | |
668 | AND [77 | |
669 | TAD [240 | |
670 | JMS TYPE | |
671 | JMP I PCHAR | |
672 | PRNAME, 0 | |
673 | TAD NAME1 | |
674 | / SNA /WOULD LIKE TO FIND ROOM FOR THESE 2 LOCS | |
675 | / JMP I [CDER2 | |
676 | JMS PRWD | |
677 | TAD NAME2 | |
678 | JMS PRWD | |
679 | TAD NAME3 | |
680 | JMS PRWD | |
681 | TAD NAME4 | |
682 | SNA CLA | |
683 | JMP I PRNAME | |
684 | TAD [256 | |
685 | JMS PCHAR | |
686 | TAD NAME4 | |
687 | JMS PRWD | |
688 | JMP I PRNAME | |
689 | TYPE, 0 | |
690 | JMP .+3 | |
691 | TSF | |
692 | JMP .-1 | |
693 | TLS | |
694 | CLA | |
695 | TAD [7000 | |
696 | DCA TYPE+1 | |
697 | TYPRET, JMP I TYPE | |
698 | IFNZRO TYPRET-1377 <BATCHX,ZQWE> | |
699 | \f *4001 /PROG TO WRITE CD AND ODT ONTO NEW SYSTEM DEVICE | |
700 | /4000=JMS SYSSWP TO SWAP PGS 6600 AND 7600 | |
701 | TAD I (7777 /SET TO PROPER RECORD FOR FIELD 1 STUFF | |
702 | DCA F1STUF | |
703 | JMS I SYSHND | |
704 | 4600 | |
705 | 0 | |
706 | MCDREC | |
707 | JMP CERR | |
708 | JMS I SYSHND | |
709 | 5011 | |
710 | 0 | |
711 | ODTREC | |
712 | JMP CERR | |
713 | JMS I SYSHND | |
714 | 0110 /READ IN UPPER PG 7600 | |
715 | 7600 | |
716 | F1STUF, 0 | |
717 | JMP CERR | |
718 | JMP I .+1 | |
719 | 7605 /START HER UP | |
720 | CERR, TAD .+3 | |
721 | DCA 4001 | |
722 | JMP 4000 /RESWAP AND HALT | |
723 | HLT | |
724 | SYSHND, 7607 | |
725 | PAGE | |
726 | \f *0 | |
727 | CDVERSION | |
728 | HLT /POWER FAIL RESTART PROTECTION | |
729 | NUMTST, 7777 | |
730 | JMS I [GCH | |
731 | CMA | |
732 | TAD NUMFUJ | |
733 | TAD ["8 /TEST INPUT CHARACTER FOR RANGE | |
734 | CLL CMA /0-7 IF NUMFUJ=0 | |
735 | TAD [10 /0-9 IF NUMFUJ=2 | |
736 | TAD NUMFUJ | |
737 | JMP I NUMTST | |
738 | *15 | |
739 | LXR, 0 | |
740 | XR, 0 | |
741 | CLXR, 0 | |
742 | T, CDINIT | |
743 | TT, CDF 0 /***GETS SET TO CDF BATCH | |
744 | HIORD, TAD I DVICE /CHECK TO SEE IF BOS IS REALLY THERE | |
745 | NUMX, TAD OUTSW /IF NOT, SIGNAL ERROR | |
746 | RBFLAG, SNA CLA | |
747 | NAME1, JMP NAMECT /IT'S O.K.....PROBABLY! | |
748 | NAME2, CDF 0 /BAD. SIGNAL ERROR TO MONITOR | |
749 | NAME3, ISZ I NUMTST | |
750 | NAME4, JMP I [7605 /AND RESTART BATCH MONITOR | |
751 | NAMECT, CIF CDF 0 /*****GETS ALTERED****** | |
752 | NMBASE, JMP I .+1 /START UP IN CD AREA OF BATCH | |
753 | DEV1, RESTRT+1 /***GETS ADDRESS OF CD AREA | |
754 | DEV2, 0 | |
755 | PERDSW, 0 | |
756 | NUMFUJ, 0 | |
757 | DVFLAG, 0 | |
758 | DELIM, 0 | |
759 | OUTSW, 0 | |
760 | DEFALT, 0 | |
761 | DVICE, 0 | |
762 | DFLTNM, 0423;1300 /DSK | |
763 | BEGDIF, MIFILE-MOFILE | |
764 | LIMDIF, MIFILE-MPARAM+2 | |
765 | OUTLIM, 1-MIFILE | |
766 | GETHND, 11 | |
767 | TMONIT, 0 | |
768 | TUSRFG, 0 | |
769 | TFPUTX, 0 | |
770 | EXT1, TAD NAME4 | |
771 | DCA NAMECT /REMEMBER TYPED EXTENSION | |
772 | TAD NAMECT | |
773 | SNA | |
774 | TAD DEFALT /SUBSTITUTE DEFAULT IF ZERO | |
775 | EXT2, DCA NAME4 | |
776 | TAD [NAME1 | |
777 | JMP I .+1 | |
778 | LKUPLP | |
779 | PRINT, TYPE | |
780 | \f FIELD 1 | |
781 | EJECT INVISIBLE ODT | |
782 | /INVISIBLE ODT FOR OS/8 MONITOR | |
783 | /LOADS INTO FIELD 1 NOW, BUT LOADS & EXECUTES IN FIELD 0 | |
784 | /DEFINITIONS OF MONITOR SYMBOLS - VOLATILE! | |
785 | ODTREC=60 | |
786 | UDNAME=7741 | |
787 | MREAD=7757 | |
788 | MGET=7667 | |
789 | KMREC=7 | |
790 | MTEMP=27 | |
791 | MARG1=7740 | |
792 | JSBITS=7746 | |
793 | *200 | |
794 | READ, JMS I [OCRLF | |
795 | READ5, DCA WORD | |
796 | DCA WORD+1 | |
797 | TAD [-6 | |
798 | DCA TOTE | |
799 | REA, KSF | |
800 | JMP .-1 | |
801 | JMS I [CTCTST | |
802 | JMP CTRC | |
803 | TAD [203 | |
804 | DCA TEMP | |
805 | KCC | |
806 | TAD TEMP | |
807 | JMS I [TYPN | |
808 | TAD [TABL1-1 | |
809 | DCA 10 | |
810 | CHFLP, TAD I 10 | |
811 | SPA | |
812 | JMP SEX | |
813 | CIA | |
814 | TAD TEMP | |
815 | SZA CLA | |
816 | JMP CHFLP | |
817 | TAD 10 | |
818 | TAD [TABL2-TABL1 | |
819 | DCA TEMP | |
820 | TAD I TEMP | |
821 | DCA TEMP | |
822 | CLL | |
823 | JMP FLDTST /SEE IF FIELD SETTING IS LEGAL | |
824 | CTRC, JMS I [DUMP | |
825 | JMP I [7605 | |
826 | \fTABL1=. | |
827 | 240 | |
828 | 212 | |
829 | 215 | |
830 | 257 | |
831 | 302 | |
832 | 307 | |
833 | 273 | |
834 | 303 | |
835 | 327 | |
836 | 336 | |
837 | 315 | |
838 | 301 | |
839 | 314 | |
840 | 304 | |
841 | 337 | |
842 | 306 | |
843 | 377 | |
844 | 253 | |
845 | 255 | |
846 | -270 /USED - SEE "SEX" | |
847 | \fEXAM, JMS TOTTST | |
848 | JMP EX2 | |
849 | TAD WORD | |
850 | DCA CAD | |
851 | TAD WORD+1 | |
852 | DCA CAD+1 | |
853 | EX2, JMS I [LOAD | |
854 | CAD | |
855 | JMS I [PNUM | |
856 | DCA SHUT | |
857 | JMP READ5 | |
858 | SEX, TAD TEMP | |
859 | CLL | |
860 | TAD [10 | |
861 | SNL | |
862 | JMP NO | |
863 | DCA TEMP | |
864 | CLA CLL CMA RTL | |
865 | DCA CRL | |
866 | SROT, TAD WORD+1 | |
867 | CLL RAL | |
868 | DCA WORD+1 | |
869 | RTL | |
870 | RAL | |
871 | TAD WORD | |
872 | RAL | |
873 | DCA WORD | |
874 | ISZ CRL | |
875 | JMP SROT | |
876 | TAD WORD+1 | |
877 | TAD TEMP | |
878 | DCA WORD+1 | |
879 | ISZ TOTE | |
880 | JMP REA | |
881 | NO, CLA | |
882 | TAD [277 | |
883 | JMS I [TYPN | |
884 | JMP READ | |
885 | \fCRL, 0 | |
886 | JMS TOTTST | |
887 | JMP I CRL | |
888 | TAD WORD+1 | |
889 | ISZ SHUT | |
890 | JMS I [STORE | |
891 | CAD | |
892 | CLA | |
893 | JMP I CRL | |
894 | CRL1, JMS CRL | |
895 | JMP READ | |
896 | CRL2, TAD [215 | |
897 | JMS I [TYPN | |
898 | JMS CRL | |
899 | JMS I [TYPN | |
900 | ISZ CAD+1 | |
901 | NOP | |
902 | UPAR3, JMS I [TYPD | |
903 | CAD | |
904 | TAD [257 | |
905 | JMS I [TYPN | |
906 | JMP EX2 | |
907 | OPIN, JMS CRL | |
908 | JMS I [LOAD | |
909 | CAD | |
910 | DCA CAD+1 | |
911 | TAD INDFLD | |
912 | DCA CAD | |
913 | UPAR2, JMS I [OCRLF | |
914 | JMP UPAR3 | |
915 | SEMI, JMS CRL | |
916 | ISZ CAD+1 | |
917 | NOP | |
918 | JMP READ5 | |
919 | \f *400 | |
920 | /NOTE THAT LOCATIONS BURP,BURP+1 GET ALTERED AFTER BRKTST | |
921 | /IS EXECUTED. THEY BECOME: CDF 10; TAD I [MARG1 | |
922 | BURP, JMP I .+1 /GO REDETERMINE CORE SIZE | |
923 | BRKTST /TO MAKE ILLEGAL FIELD GIVE ? | |
924 | DCA SAC | |
925 | IOF | |
926 | TAD I [MTRAD | |
927 | DCA TRAD | |
928 | TAD I [MTRAD1 | |
929 | DCA TRAD+1 | |
930 | TAD I [MKEEP | |
931 | DCA KEEP | |
932 | TAD I [MPUNN | |
933 | DCA PUNN | |
934 | CLA IAC | |
935 | AND I [7700 | |
936 | DCA LINK | |
937 | TAD I [7700 | |
938 | CDF 0 | |
939 | AND [70 | |
940 | DCA DATFLD | |
941 | TAD DATFLD | |
942 | DCA INDFLD | |
943 | TAD [KMREC | |
944 | CDF 10 | |
945 | DCA I [MGET+4 | |
946 | CLA CLL CMA RAL | |
947 | AND I [MGET+2 | |
948 | DCA I [MGET+2 /REMOVE LOW-ORDER BIT FROM CONTROL WORD | |
949 | CDF 0 | |
950 | TAD KEEP | |
951 | JMS I [STORE | |
952 | TRAD | |
953 | TAD TRAD+1 | |
954 | IAC | |
955 | DCA GAME+1 | |
956 | TAD TRAD | |
957 | DCA GAME | |
958 | TAD KEEP | |
959 | DCA INST | |
960 | JMS I [IOTTST | |
961 | SKP | |
962 | JMP JMPLIP | |
963 | TAD TRAD | |
964 | DCA CAD | |
965 | TAD TRAD+1 | |
966 | DCA CAD+1 | |
967 | JMS I [EFFADR | |
968 | TAD CAD | |
969 | DCA FROG | |
970 | TAD CAD+1 | |
971 | DCA FROG+1 | |
972 | JMPLIP, JMS I [CTCTST | |
973 | JMP I [7605 | |
974 | CLA | |
975 | JMP I [LIP | |
976 | \fCTCTST, 0 | |
977 | TAD [200 | |
978 | KSF | |
979 | STA | |
980 | KRS | |
981 | TAD [-203 | |
982 | SZA | |
983 | ISZ CTCTST | |
984 | JMP I CTCTST | |
985 | ||
986 | OCRLF, 0 | |
987 | TAD [215 | |
988 | JMS I [TYPN | |
989 | TAD [212 | |
990 | JMS I [TYPN | |
991 | CLA CMA | |
992 | DCA SHUT | |
993 | JMP I OCRLF | |
994 | TRAP, JMS TOTTST | |
995 | TAD [SHNDLR | |
996 | TAD WORD+1 | |
997 | DCA TRAD+1 | |
998 | TAD WORD | |
999 | DCA TRAD | |
1000 | TAD [7000 | |
1001 | DCA I [SHNDLR | |
1002 | TAD [4 | |
1003 | DCA WORD+1 | |
1004 | TAD [UDNAME-MPUNN-1 | |
1005 | DCA TEMP | |
1006 | TAD [BRKCOD-1 | |
1007 | DCA 10 | |
1008 | TAD [UDNAME-1 | |
1009 | DCA 11 | |
1010 | TAD I 10 | |
1011 | CDF 10 | |
1012 | DCA I 11 | |
1013 | CDF 0 | |
1014 | ISZ TEMP | |
1015 | JMP .-5 | |
1016 | TAD I [JSBITS | |
1017 | RTR | |
1018 | SZL CLA | |
1019 | TAD [5 | |
1020 | CDF 10 | |
1021 | TAD I [J7600 | |
1022 | DCA I [J7600 /CHANGE JMP 7600 TO JMP 7605 IF ODT AREA NOT USED | |
1023 | CDF 0 | |
1024 | TAD I [JSBITS | |
1025 | DCA JSTEMP /SAVE JSBITS BEFORE SETTING BRKPT | |
1026 | TAD [CIF 10 | |
1027 | JMS I [STORE | |
1028 | WORD | |
1029 | ISZ WORD+1 | |
1030 | TAD [JMP I 6 | |
1031 | JMS I [STORE | |
1032 | WORD | |
1033 | ISZ WORD+1 | |
1034 | TAD [UDNAME | |
1035 | JMS I [STORE | |
1036 | WORD | |
1037 | TAD JSTEMP | |
1038 | DCA I [JSBITS /RESTORE JSBITS | |
1039 | JMP I [READ | |
1040 | SUBT, CML | |
1041 | ADD, TAD WORD+1 /MODIFY CURRENT LOCATION POINTER | |
1042 | SNA | |
1043 | IAC /1 IS DEFAULT VALUE | |
1044 | SZL /+ OR -? | |
1045 | CIA /- | |
1046 | TAD CAD+1 | |
1047 | DCA CAD+1 | |
1048 | JMP I [UPAR2 /AND DISPLAY LOC AND CONTENTS | |
1049 | \f *600 /MONITOR ENTERS ODT HERE | |
1050 | LIP, HLT /ERROR. AT INIT, THE CODE AT 600 | |
1051 | JMP I .+1 /IS CHANGED TO: ISZ PUNN; | |
1052 | TTYTST, INIT /JMP XCONT; TSF | |
1053 | JMP TTYOFF | |
1054 | LIPTYP, JMS I [TYPD | |
1055 | TRAD | |
1056 | TAD P250 | |
1057 | JMS I [TYPN | |
1058 | TAD LINK | |
1059 | TAD [260 | |
1060 | JMS I [TYPN | |
1061 | TAD [273 | |
1062 | JMS I [TYPN | |
1063 | TAD SAC | |
1064 | JMS I [PNUM | |
1065 | JMP I [READ | |
1066 | JUMP, JMS TOTTST /TEST FOR 'G' WITH NO ADDRESS | |
1067 | JMP I PNO | |
1068 | TAD WORD | |
1069 | DCA GAME | |
1070 | TAD WORD+1 | |
1071 | DCA GAME+1 | |
1072 | TAD WORD | |
1073 | DCA DATFLD | |
1074 | TAD [7000 | |
1075 | DCA INST | |
1076 | DCA SAC | |
1077 | DCA LINK | |
1078 | JMP CONTX | |
1079 | CONTIN, TAD WORD+1 | |
1080 | CIA | |
1081 | SNA | |
1082 | CONTX, CMA | |
1083 | DCA PUNN | |
1084 | DCA I [7607 /IN CASE THERE WAS NO BREAKPOINT | |
1085 | JMS I [LOAD /V3 | |
1086 | TRAD /V3 | |
1087 | DCA KEEP /V3 | |
1088 | JMS I [OCRLF | |
1089 | XCONT, TAD [JMP 4 | |
1090 | JMS I [STORE | |
1091 | TRAD | |
1092 | CDF 10 | |
1093 | TAD TRAD | |
1094 | DCA I [MTRAD | |
1095 | TAD TRAD+1 | |
1096 | DCA I [MTRAD1 | |
1097 | TAD KEEP | |
1098 | DCA I [MKEEP | |
1099 | TAD PUNN | |
1100 | DCA I [MPUNN | |
1101 | CDF 0 | |
1102 | JMS I [SIM /SIMULATE THE BRKPOINTED INST HERE | |
1103 | TAD LINK | |
1104 | DCA I [MLINK | |
1105 | TAD SAC | |
1106 | DCA I [MAC | |
1107 | TAD GAME | |
1108 | TAD [CIF 0 | |
1109 | DCA I [MSTCDF | |
1110 | TAD DATFLD | |
1111 | AND [70 | |
1112 | TAD [CDF 0 | |
1113 | DCA I [MCDF | |
1114 | TAD GAME+1 | |
1115 | DCA I [MSTADR | |
1116 | JMS I [DUMP | |
1117 | TAD I [JSBITS | |
1118 | RTR | |
1119 | SZL CLA | |
1120 | JMP I [MSWITC | |
1121 | JMP I [MREAD | |
1122 | \fUPAR1, JMS I [CRL | |
1123 | JMS I [EFFADR | |
1124 | JMP I [UPAR2 | |
1125 | EFFADR, 0 | |
1126 | JMS I [LOAD | |
1127 | CAD | |
1128 | AND [177 | |
1129 | DCA TEMP | |
1130 | JMS I [LOAD | |
1131 | CAD | |
1132 | AND [200 | |
1133 | P250, SNA CLA | |
1134 | JMP .+3 | |
1135 | TAD CAD+1 | |
1136 | AND [7600 | |
1137 | TAD TEMP | |
1138 | DCA TEMP | |
1139 | JMS I [LOAD | |
1140 | CAD | |
1141 | AND [400 | |
1142 | SNA CLA | |
1143 | JMP NOIND | |
1144 | TAD TEMP | |
1145 | DCA CAD+1 | |
1146 | JMS I [LOAD | |
1147 | CAD | |
1148 | DCA TEMP | |
1149 | TAD CAD+1 | |
1150 | AND P7770 | |
1151 | TAD P7770 | |
1152 | SZA CLA | |
1153 | JMP NOAUTO | |
1154 | ISZ TEMP | |
1155 | P7770, 7770 /SPA SNA SZL CLA - NEVER SKIPS - USED TO PROTECT ISZ | |
1156 | TAD TEMP | |
1157 | JMS I [STORE | |
1158 | CAD | |
1159 | NOAUTO, TAD INDFLD | |
1160 | AND [70 | |
1161 | DCA CAD | |
1162 | NOIND, TAD TEMP | |
1163 | DCA CAD+1 | |
1164 | JMP I EFFADR | |
1165 | TTYOFF, AND I 0 /WASTE SOME TIME | |
1166 | JMS I [IOTTST | |
1167 | AND I 0 | |
1168 | ISZ NOUGHT | |
1169 | JMP TTYTST | |
1170 | JMP LIPTYP /IF THE TTY FLAG ISN'T UP NOW, IT'LL NEVER GO UP | |
1171 | NOUGHT, 0 | |
1172 | \fTABL2=. | |
1173 | REA /IGNORE BLANKS | |
1174 | CRL2 | |
1175 | CRL1 | |
1176 | EXAM | |
1177 | TRAP | |
1178 | JUMP | |
1179 | SEMI | |
1180 | CONTIN | |
1181 | WSER | |
1182 | UPAR1 | |
1183 | MASKX | |
1184 | ACX | |
1185 | LINKX | |
1186 | DATF | |
1187 | OPIN | |
1188 | INDF | |
1189 | RBOUT | |
1190 | ADD | |
1191 | SUBT | |
1192 | \f IFZERO 1000&. <*1000> | |
1193 | PNUM, 0 | |
1194 | DCA PUNN | |
1195 | TAD [-4 | |
1196 | DCA TEMP | |
1197 | PN2, TAD PUNN | |
1198 | RTL | |
1199 | RAL | |
1200 | DCA PUNN | |
1201 | TAD PUNN | |
1202 | RAL | |
1203 | AND [7 | |
1204 | TAD [260 | |
1205 | JMS I [TYPN | |
1206 | ISZ TEMP | |
1207 | JMP PN2 | |
1208 | TAD [240 | |
1209 | JMS I [TYPN | |
1210 | JMP I PNUM | |
1211 | TYPD, 0 | |
1212 | TAD I TYPD | |
1213 | DCA TEMP | |
1214 | TAD I TEMP | |
1215 | CLL RTR | |
1216 | RAR | |
1217 | TAD [260 | |
1218 | JMS I [TYPN | |
1219 | ISZ TEMP | |
1220 | TAD I TEMP | |
1221 | JMS I [PNUM | |
1222 | ISZ TYPD | |
1223 | JMP I TYPD | |
1224 | TYPN, 0 | |
1225 | TLS | |
1226 | TSF | |
1227 | JMP .-1 | |
1228 | CLA | |
1229 | JMS I [CTCTST | |
1230 | JMP I [CTRC | |
1231 | TAD [-14 /^O? | |
1232 | SZA CLA | |
1233 | JMP I TYPN /NO | |
1234 | KCC /YES | |
1235 | JMP I [READ | |
1236 | \fWSER, JMS I [OCRLF | |
1237 | TAD LIMLO | |
1238 | DCA CKT+1 | |
1239 | TAD INDFLD | |
1240 | AND [70 | |
1241 | DCA CKT | |
1242 | WSER1, JMS I [LOAD | |
1243 | CKT | |
1244 | AND MASK | |
1245 | CIA | |
1246 | TAD WORD+1 | |
1247 | SZA CLA | |
1248 | JMP WSER2 | |
1249 | JMS I [TYPD | |
1250 | CKT | |
1251 | TAD [257 | |
1252 | JMS I [TYPN | |
1253 | JMS I [LOAD | |
1254 | CKT | |
1255 | JMS I [PNUM | |
1256 | JMS I [OCRLF | |
1257 | WSER2, TAD CKT+1 | |
1258 | ISZ CKT+1 | |
1259 | NOP | |
1260 | CIA | |
1261 | TAD LIMHI | |
1262 | SZA CLA | |
1263 | JMP WSER1 | |
1264 | JMP I [READ | |
1265 | ||
1266 | ACX, TAD [SAC-LINK | |
1267 | LINKX, TAD [LINK-MASK | |
1268 | MASKX, TAD [MASK-DATFLD | |
1269 | DATF, TAD [DATFLD-INDFLD | |
1270 | INDF, TAD [INDFLD | |
1271 | DCA WORD+1 | |
1272 | CLA CMA | |
1273 | DCA WORD | |
1274 | DCA TOTE | |
1275 | TAD [257 | |
1276 | JMS I [TYPN | |
1277 | JMP I [EXAM | |
1278 | \fBRKCOD=. | |
1279 | NOPUNC | |
1280 | *UDNAME | |
1281 | ENPUNC | |
1282 | ||
1283 | DCA MARG1 | |
1284 | RAL | |
1285 | RDF | |
1286 | DCA 7700 | |
1287 | TAD PODT | |
1288 | DCA MGET+4 | |
1289 | ISZ MGET+2 /DON'T REVERSE TAPE MOTION TO PICK UP ODT | |
1290 | CDF CIF 0 | |
1291 | J7600, JMP 7600 | |
1292 | PODT, ODTREC | |
1293 | P7603, 7603 | |
1294 | MTRAD, 0 | |
1295 | MTRAD1, 0 | |
1296 | MKEEP, 0 | |
1297 | MPUNN, 0 | |
1298 | ||
1299 | NOPUNC | |
1300 | *BRKCOD+MPUNN-UDNAME+1 | |
1301 | ENPUNC | |
1302 | ||
1303 | DUMP, 0 | |
1304 | TAD STOFLG | |
1305 | SNA CLA | |
1306 | JMP I DUMP | |
1307 | JMS I [SHNDLR | |
1308 | 4200 | |
1309 | 1400 | |
1310 | GREC, 0 | |
1311 | HLT | |
1312 | DCA STOFLG | |
1313 | JMP I DUMP | |
1314 | ||
1315 | RBOUT, TAD [277 | |
1316 | JMS I [TYPN | |
1317 | TAD [240 | |
1318 | JMS I [TYPN | |
1319 | JMP I [READ5 | |
1320 | \f IFNZRO .-1200&4000 <*1200> | |
1321 | SIM, 0 | |
1322 | JMS IOTTST | |
1323 | JMS I [LOAD | |
1324 | FROG | |
1325 | DCA TEMP | |
1326 | TAD TEMP | |
1327 | DCA 0 | |
1328 | JMS IOTTST | |
1329 | TAD [777 | |
1330 | CMA | |
1331 | AND INST | |
1332 | RAL | |
1333 | CML | |
1334 | SNL SMA | |
1335 | JMP JMSJMP | |
1336 | CML RAR | |
1337 | DCA SOPR | |
1338 | TAD DATFLD | |
1339 | AND [70 | |
1340 | TAD [CDF 0 | |
1341 | DCA .+1 | |
1342 | HLT | |
1343 | TAD LINK | |
1344 | CLL RAR | |
1345 | TAD SAC | |
1346 | SOPR, HLT | |
1347 | SKP | |
1348 | ISZ GAME+1 | |
1349 | DCA SAC | |
1350 | RAL | |
1351 | DCA LINK | |
1352 | RDF | |
1353 | DCA DATFLD | |
1354 | CDF CIF 0 | |
1355 | EOSIM, TAD 0 | |
1356 | CIA | |
1357 | TAD TEMP | |
1358 | EOTST, SNA CLA | |
1359 | JMP .+3 | |
1360 | TAD 0 | |
1361 | JMS I [STORE | |
1362 | FROG | |
1363 | JMP I SIM | |
1364 | ||
1365 | IOTTST, 0 | |
1366 | CLA CLL CML RTR | |
1367 | TAD INST | |
1368 | SZL CLA | |
1369 | ISZ IOTTST | |
1370 | JMP I IOTTST | |
1371 | \fJMSJMP, RTL | |
1372 | SZL CLA | |
1373 | JMP JMPX | |
1374 | TAD TRAD | |
1375 | DCA FROG | |
1376 | TAD GAME+1 | |
1377 | DCA 0 | |
1378 | CLA IAC CLL | |
1379 | JMPX, TAD FROG+1 | |
1380 | DCA GAME+1 | |
1381 | CML RAL /PUT -LINK IN AC (0 IF JMP, 1 IF JMS) | |
1382 | JMP EOTST | |
1383 | ||
1384 | LOAD, 0 | |
1385 | TAD I LOAD | |
1386 | JMS I [GETADR | |
1387 | NOP | |
1388 | TAD I ADR | |
1389 | CDF 0 | |
1390 | ISZ LOAD | |
1391 | JMP I LOAD | |
1392 | ||
1393 | STORE, 0 | |
1394 | DCA LOAD | |
1395 | TAD I STORE | |
1396 | JMS I [GETADR | |
1397 | ISZ STOFLG /INDICATE THAT WE'RE CHANGING THIS RECORD | |
1398 | TAD LOAD | |
1399 | DCA I ADR | |
1400 | CDF 0 | |
1401 | ISZ STORE | |
1402 | JMP I STORE | |
1403 | \fGETADR, 0 | |
1404 | DCA ADR | |
1405 | TAD I ADR | |
1406 | DCA FADR | |
1407 | ISZ ADR | |
1408 | TAD I ADR | |
1409 | DCA ADR | |
1410 | TAD FADR | |
1411 | SNA | |
1412 | JMP CKADR | |
1413 | SPA | |
1414 | CLA | |
1415 | TAD [CDF 0 | |
1416 | DCA .+1 | |
1417 | FADR, 0 | |
1418 | ISZ GETADR | |
1419 | JMP I GETADR | |
1420 | CKADR, TAD ADR | |
1421 | RAL | |
1422 | SZL SPA CLA | |
1423 | JMP FADR+1 | |
1424 | CLA CLL CMA RTL | |
1425 | AND I [JSBITS | |
1426 | DCA I [JSBITS /MODIFY THE JSW TO INDICATE ODT AREA VIOLATION | |
1427 | TAD ADR | |
1428 | CLL RTL | |
1429 | RTL | |
1430 | RAL | |
1431 | AND [7 | |
1432 | TAD [MTEMP+4 | |
1433 | DCA GIREC | |
1434 | TAD I [GREC | |
1435 | CIA | |
1436 | TAD GIREC | |
1437 | SNA CLA | |
1438 | JMP NOREAD | |
1439 | JMS I [DUMP | |
1440 | JMS I [SHNDLR | |
1441 | 0200 | |
1442 | G1400, 1400 | |
1443 | GIREC, 0 | |
1444 | HLT | |
1445 | TAD GIREC | |
1446 | DCA I [GREC | |
1447 | NOREAD, TAD ADR | |
1448 | AND [377 | |
1449 | TAD G1400 | |
1450 | DCA ADR | |
1451 | JMP I GETADR | |
1452 | \f *1400 | |
1453 | /INITIALIZATION CODE TO SET UP THE "MREAD" AREA IN FIELD 0 | |
1454 | /WITH THE ODT CODE TO START UP A PROGRAM | |
1455 | ||
1456 | INIT, TAD [MREAD-MSTADR-2 | |
1457 | DCA TEMP | |
1458 | TAD [RSTCOD-1 | |
1459 | DCA 10 | |
1460 | TAD [MREAD-2 | |
1461 | DCA 11 | |
1462 | TAD I 10 | |
1463 | DCA I 11 | |
1464 | ISZ TEMP | |
1465 | JMP .-3 | |
1466 | JMS CORE /DETERMINE CORE FIELD SIZE | |
1467 | TSF | |
1468 | JMP .-1 | |
1469 | JMP I [READ | |
1470 | ||
1471 | BRKTST, JMS CORE /GET CORE SIZE NOW THAT WE WERE | |
1472 | TAD KLIP | |
1473 | DCA I PLIP /SETUP LOCATIONS AT 600 | |
1474 | TAD KLIP+1 | |
1475 | DCA I PLIP+1 | |
1476 | TAD KLIP+2 | |
1477 | DCA I PLIP+2 | |
1478 | TAD KCDF10 /JUST BREAKPOINTED IN. THEN RESTORE | |
1479 | DCA I BURPO /LOCS AT BURP SO WE NEVER COME BACK | |
1480 | TAD KCDF10+1 /HERE AGAIN UNTIL WE'RE SWAPPED | |
1481 | DCA I BURP2 | |
1482 | JMP I BURPO | |
1483 | KCDF10, CDF 10 | |
1484 | TAD I [MARG1 /SIMULATE LOCS AT BURP | |
1485 | BURPO, BURP | |
1486 | BURP2, BURP+1 | |
1487 | \fRSTCOD=. | |
1488 | NOPUNC | |
1489 | *MREAD-1 | |
1490 | ENPUNC | |
1491 | ||
1492 | SHNDLR | |
1493 | JMS I .-1 | |
1494 | 1000 | |
1495 | 0 | |
1496 | MTEMP+4 | |
1497 | HLT | |
1498 | MSWITC, TAD MLINK | |
1499 | CLL RAR | |
1500 | TAD MAC | |
1501 | MCDF, CDF 0 | |
1502 | JMP MSTCDF | |
1503 | MAC, 0 | |
1504 | MLINK, 0 | |
1505 | MSTCDF, CIF 0 | |
1506 | JMP I .+1 | |
1507 | MSTADR, 0 | |
1508 | ||
1509 | NOPUNC | |
1510 | *RSTCOD+MSTADR-MREAD+2 | |
1511 | ENPUNC | |
1512 | \fCORE, 0 | |
1513 | CDF 0 | |
1514 | TAD I M1 | |
1515 | AND COR70 | |
1516 | SZA | |
1517 | JMP USERC | |
1518 | COR0, CDF 0 | |
1519 | TAD CORSIZ | |
1520 | RTL | |
1521 | RAL | |
1522 | AND COR70 | |
1523 | TAD COREX | |
1524 | DCA .+1 | |
1525 | COR1, CDF | |
1526 | TAD I CORLOC | |
1527 | COR2, NOP | |
1528 | DCA COR1 | |
1529 | TAD COR2 | |
1530 | DCA I CORLOC | |
1531 | COR70, 70 | |
1532 | TAD I CORLOC | |
1533 | CORX, 7400 | |
1534 | TAD CORX | |
1535 | TAD CORV | |
1536 | SZA CLA | |
1537 | JMP COREX | |
1538 | TAD COR1 | |
1539 | DCA I CORLOC | |
1540 | ISZ CORSIZ | |
1541 | JMP COR0 | |
1542 | ||
1543 | COREX, CDF 0 | |
1544 | TAD CORSIZ | |
1545 | CLL RAL | |
1546 | RTL | |
1547 | USERCR, CIA | |
1548 | DCA ZERO /STORE AWAY NEG OF FIRST NON-EXISTENT FIELD | |
1549 | /AT ODT'S LOCATION 0 | |
1550 | JMP I CORE | |
1551 | ||
1552 | CORLOC, CORX | |
1553 | CORV, 1400 | |
1554 | M1, -1 | |
1555 | \fCORSIZ, 1 | |
1556 | USERC, TAD L10 | |
1557 | JMP USERCR | |
1558 | L10, 10 | |
1559 | ||
1560 | KLIP, ISZ PUNN /THESE INSTRUCTIONS GO INTO 600 | |
1561 | XCONT&177+5200 /JMP XCONT | |
1562 | TSF | |
1563 | PLIP, LIP | |
1564 | LIP+1 | |
1565 | LIP+2 | |
1566 | \f *0 | |
1567 | ZERO, ODTVERSION | |
1568 | HLT /IN CASE BKPT WITH INTER ON | |
1569 | STOFLG, 0 | |
1570 | PUNN, 0 | |
1571 | *4 /PAGE 0 LITERALS AND CELLS | |
1572 | CIF 10 /PROTOTYPE BREAKPOINT | |
1573 | JMP I 6 /USED BY PROGRAMS WITH JSBITS(10)=1 | |
1574 | UDNAME /WHEN ODT IS RELOADED ON A BREAKPOINT | |
1575 | ||
1576 | *12 | |
1577 | TOTE, 0 | |
1578 | KEEP, 0 | |
1579 | INST, 0 | |
1580 | SHUT, -1 | |
1581 | TRAD, 0;SHNDLR | |
1582 | WORD, 0;0 | |
1583 | LINK, 0 | |
1584 | SAC, 0 | |
1585 | CAD, 0;0 | |
1586 | CKT, 0;0 | |
1587 | GAME, 0;0 | |
1588 | FROG, 0;0 | |
1589 | TEMP, 0 | |
1590 | JSTEMP, 0 | |
1591 | DATFLD, 0 | |
1592 | INDFLD, 0 | |
1593 | MASK, 7777 | |
1594 | LIMLO, 0 | |
1595 | LIMHI, 7577 | |
1596 | ADR, 0 | |
1597 | FLDTST, TAD ZERO /LOC. 0 HAS FIRST IMAGINARY CORE FIELD | |
1598 | TAD WORD /IF USER TRIES TO ADDRESS NON- | |
1599 | SNL CLA /EXISTENT CORE, A ? RETURNS | |
1600 | JMP I TEMP /HE'S OK. | |
1601 | JMP I PNO | |
1602 | PNO, NO | |
1603 | TOTTST, 0 | |
1604 | TAD TOTE | |
1605 | TAD [6 | |
1606 | SZA CLA | |
1607 | ISZ TOTTST | |
1608 | JMP I TOTTST | |
1609 | $ | |
1610 | \f |