software: Added more and more
[pdp8.git] / sw / os8 / v3d / sources / system / dectapes / dectape3 / CD.PA
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