A large commit.
[pdp8.git] / sw / os8 / v3d / sources / devext / dectapes / dectape1 / ccl.ma
CommitLineData
81e70d48
PH
1/5 MACREL VERSION OF CCL FOR OS/8 V3D
2/
3/
4/
5/
6/
7/
8/
9/
10/
11/COPYRIGHT (C) 1974,1975,1976,1977,1978 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 MIFILE=7617
46 .GLOBAL OUTLIM,OUTSW,COLSET,FNAME1
47 .GLOBAL LPTDEV,TTYDEV,DMPDEV,NULDEV,PTPDEV,TVDEV
48 .GLOBAL EXSUB,BLK,IOERR
49 .GLOBAL LOOK
50 .GLOBAL SETLPT,SETPTP,SETTTY,YFORT,YF4,YLOAD,YLOADER
51 .GLOBAL DEFILE
52 .GLOBAL YAT,ZOW,BATCH,FLAG,RDMON,REGO,REMD,CHAIN
53 .GLOBAL DECODE,SCAN,LBEGIN
54 .GLOBAL DEFALT,MOVE,TWAIT,NAMPTR
55 BEGLN==1000
56 XFERV==70 /LOCATION INSIDE USR WHICH IS FREE
57 .EXTERNAL SWAPER
58/ .EXTERNAL SEMI
59 .EXTERNAL MONFIX
60 .EXTERNAL TABLES
61 .EXTERNAL AT,CCLBLC,PTBL,SAVL,LEAVE,VERTN,NOCCL
62 .EXTERNAL SETDEV,RECALL
63 .EXTERNAL CD,CCER1,REMEM,ARLOC
64 .EXTERNAL PRMESG,PRINT,CCSUB
65 .GLOBAL YCCL
66
67 XR2=15
68 XR=16
69 AMFLAG=17
70 T=20
71 DELIM=32
72 DEFALT=33 /POINTS TO DEFAULT EXTENSION LIST
73 PTR=36
74 BATSPL=7200 /JMS HERE TO PERFORM SPOOLING WITH DEFAULT EXT IN AC
75 SOFSET=7747
76
77/CCL STARTING ADDRESS: 12000
78/STARTING ADDRESS: 12001
79/CHAIN STARTING ADDRESS:12002
80
81/ JOB STATUS WORD = 2003
82
83/**************************************************
84/
85/ SAVING CCL
86/
87/ .LOAD CCL
88/ .SAVE SYS CCL;12001=2103
89/ .R CCL
90/
91/**************************************************
92
93 OV=1375
94 MSOVL2=55
95 CCLTAB="H /MUST BE UPDATED IF TABLES CHANGE
96 CCLNUM="3
97 CCLVER="A /CCL VERSION #
98
99/*** NOTE: VERSION E OF CCL WAS FOR IN-HOUSE USE ONLY.
100/USE OF SEMICOLONS WITH CCL VERSION I OR LATER
101/REQUIRES BATCH VERSION 7 OR LATER.
102/USE OF BASIC COMMAND REQUIRES V3D BASIC OR LATER
103
104/MEMORY ALLOCATION:
105
106/0 0000-0777 KBM
107/0 1000-1777 COMMAND LINE [EACH @ FILE RESTRICTED TO 1 BLOCK]
108/0 2000-2777 LINE BUFFER EXTENSION
109/0 3000-3177 PRE-EXTENSION @ BUFFER
110/0 3200-3577 @ BUFFER
111/0 4000-4377 REM-LINES
112/0 4400-4777 INPUT HANDLER FOR CD
113/ ALSO, SEMICOLON BUFFER
114/0 5000-5777 LONGWORD TABLE
115/0 6000-7277 MORE TABLES
116/0 7300-7577 SWITCH POINTER TABLE
117\f/ CHANGES SINCE FIELD RELEASE VERSION:
118
119/1. RECURSIVE 'U' BUG FIXED
120/2. INTERNAL STRUCTURE OF CCL KEYWORD TABLE CHANGED
121/3. BUG RE REWRITING BLOCK CONTAINING PTR TO CORRECT FORTRAN FIXED
122/4. .SV PARTS OF FILENAMES REMOVED FROM TABLE TO SAVE SPACE
123/5. COMPARE PASSES ALTMODE
124/6. TTY BECAME DEFAULT FOR COMPAR, DIRECT, AND MAP
125/7. BUG RE PASSING DEFAULT * FIXED
126/8. .LS FORM OF .CREF COMMAND REMOVED
127/9. BUG CONCERNING PROCESSOR SWITCHES FIXED
128/10. CCL SWITCH ALLOWED AFTER =N OPTION
129/11. BUG RE 'BAD SWITCH OPTION' MESSAGE FIXED
130/12. EXTRA SPACES NOW ALLOWED BEFORE CCL ARGUMENT
131/13. 'DOES NOT EXIST' MESSAGE NOW SPELLED CORRECTLY
132/14. 'BAD CCL SWITCH' MESSAGE ADDED
133/15. CCL EDIT # CHANGED TO CCL VERSION #
134/16. .EX CHAINS TO BCOMP NOT BASIC FOR .BA FILES
135/17. MUNG PTR: NOW WORKS
136/18. FIXED BUG RE MUNG <CR>
137/19. FIXED BUG RE CD FOR FILE > 2047 BLKS
138/20. FIXED BUG RE MAKE PTR:
139
140/VERSION B FIXES:
141
142/21. ALLOWED 'EDIT' TO COPY FILE EXTENSION
143/22. FIXED BUG RE .CCL ON WRITE-LOCKED DEVICE
144/23. FIXED DATE PROBLEM
145/24. ALLOWED FF AND VT IN AN INDIRECT FILE TO BE IGNORED
146
147/VERSION C FIXES:
148
149/25. FIXED BUG RE SPACES AND SLASHES IN MUNG TEXT ARGUMENT
150/26. ALLOWED EDIT COMMAND TO USE SAME OUT DEVICE
151/ AS IN DEVICE (IF NONE SPECIFIED)
152/27. ADDED MORE SYNTAX CHECKING TO ZERO COMMAND
153
154/VERSION D CHANGES:
155
156/28. ALLOWED EDIT A<B COMMAND TO REMEMBER ONLY UP TO '<' .
157
158/VERSION E CHANGES: (IN-HOUSE ONLY VERSION)
159
160/29. WARNING MSG IF SQUISH SYS: UNDER BATCH
161/30. ADDED SOME NOTES ON HOW TO ALLOW = AS WELL AS <
162/31. ADDED HOOKS FOR ; TO BE READY FOR V4
163/32. FIX BUG RE CMD STARTING WITH SPACES
164
165/CHANGES FOR MAINTENANCE RELEASE (OS/8 V3C):
166
167/33. FIXED BUG ABOUT @ NOT FOLLOWED BY FILESPEC
168/34. INCORPORATED ALL PREVIOUS EDITS
169/35. ALLOWED ' TO TERMINATE AN INDIRECT REQUEST (AND BE IGNORED)
170/36. FIXED BUG ABOUT EDIT DEV1:_DEV2:FOO LOSING DEV1:
171/37. CORRECTED SPELLING OF SUPERSEDING
172/38. ADDED .LD EXTENSION TO EXECUTE TABLES [USES FRTS]
173
174/VERSION G CHANGES:
175
176/39. FIXED BUG WITH HELP COMMAND
177/40. FIXED BUG CONCERNING EDIT DEV:_FILE
178
179/VERSION H CHANGES:
180
181/41. ADDED MAC AND LINK COMMANDS
182/42. ADDED MACREL AND LINKER INTO COMPILE/LOAD/EXECUTE COMMANDS
183/43. ALLOWED UX COMMANDS TO CONTAIN KBM COMMANDS
184/44. ALLOWED PASSING A KBM COMMAND TO CCL ON CHAINING
185/45. ALLOWED @ AT BEGINNING OF LINE
186/46. MOVED MOST OF 'DETCOR' TO FIELD 0
187/47. WAIT ROUTINE NOW GIVES UP IF TTY FLAG ISN'T UP WITHIN 0.1 SEC
188/48. ALLOWED EXEC .BI TO USE BATCH
189/49. TENTATIVELY ADDED SEMICOLON STUFF
190/50. PUT BACK WARNING MESSAGE IF TRY TO SQUISH UNDER BATCH
191\f/VERSION I CHANGES:
192
193/51. FIRMED UP SEMICOLON STUFF
194
195/VERSION J CHANGES:
196
197/52. DEFAULT DEVICE FOR COMPIL, PAL, ETC. IS NOW LOGICAL DSK: NOT SYS:
198/53. -L, -S, AND -P SWITCHES NOW SET OUTPUT NAME TO CURRENT INPUT NAME
199
200/VERSION K CHANGES:
201
202/54. DATE NOW HANDLES DATE/78 ALGORITHM
203/55. TOOK OUT 'TCF' WHICH WAS CAUSING BATCH TO HANG
204
205/VERSION 1A CHANGES:
206
207/56. FIXED BUG RE NULL INDIRECT CMD FILE
208/57. FIXED BUG TO NOW ALLOW DATE WITH ARGS IN INIT.CM
209/58. PRINT "OS78" FOR VERSION NAME IF APPLICABLE
210/59. ADDED -N AND -D AND REWROTE LOGIC A BIT
211/60. HELP COMMAND NOW USES HELP.SV
212/61. SET COMMAND NOW USES SET.SV
213/62. 'CORE' BECOMES 'MEMORY' IN 3 MSGS AND 1 CMD
214/63. ADDED BASIC COMMAND (CHAINS TO BASIC.SV WITH Q SWITCH)
215/64. ALLOWED FOR TERMINATE COMMAND (OS78 REPLACES BACKSPACE)
216/65. ADDED DUPLICATE COMMAND (USES RXCOPY)
217
218/V1B CHANGES:
219
220/66. MODIFIED FORMAT OF MAIN TABLE
221/67. GIVE ERROR MESSAGE IF NO FILENAME IS GIVEN WITH INDIRECT
222/ FILE (EVEN IF NON-FS)
223/68. PRINT KBM VERSION #
224/69. ADDED TERMINATE COMMAND
225
226/V1F CHANGE:
227
228/70. DUPL CALLS RXCOPY IN SPECIAL MODE
229
230/V1G CHANGES:
231
232/71. SOURCE CODE IS NOW MACREL
233/72 LINKER OVERLAYS ADDED
234/73. = ALLOWED IN ADDITION TO _ AND < (IF NOT FOLLOWED BY A DIGIT)
235/74. /C:NNNN ALLOWED FOR NUMERIC ARGUMENT IN ADDITION TO =
236/75. HOOKS FOR MULTIPLE CHARACTER SWITCHES ADDED
237/76. SWITCHES MAY NO LONGER BE EMBEDDED IN A FILENAME
238/77. KNOWN BUG IF SAY MAKE #
239/78 A+B IS IDENTICAL TO A-NB,B
240/79. KNOWN BUG THAT /A-L USES A
241/80. TEMPORARILY REMOVED SEMICOLON STUFF
242\f/ FORMAT OF CCL TABLE
243
244/ENTRY PURPOSE
245
246/ TABLE WIDTH=7 (BUT VARIES)
247
248/0 FLAG WORD
249
250 /BIT MEANING IF ON
251
252 /0 PERFORM CD (IF 0, OMIT ENTRIES 1-6)
253 /1 DON'T PERMIT SPOOLING
254 /2 ALLOW .LS, .NB, .MP SWITCHES
255 /3 ADD _ TO END OF COMMAND STRING
256 /4 SET OUTPUT EXTENSION = INPUT EXTENSION (IF BIT 2 ON)
257 /6-8 SPECIFIES AUTOMATIC INPUT REMEMBERING (REM LINE MINUS 1)
258 / 0 MEANS NONE. 7 RESERVED FOR SPECIAL USE.
259 /10 CAUSE -L, ETC. TO GO TO 2ND OUTPUT FILE & COPIES NAME
260 /11 WANT DEFAULT ALTMODE (COMPL IF AMFLAG=1)
261
262/1 PTR TO DEFAULT EXTENSION LIST FOR INPUT FILES.
263/ IF PTS TO 0, NONE. IF PTS TO 5200, USE SPECIAL MODE.
264
265/2-4 DEFAULT SWITCHES TO BE OR'ED INTO THOSE
266/ EXPLICITLY GIVEN.
267
268/5 ADDRESS OF SUBROUTINE TO BE CALLED
269/ AFTER C.D. HAS BEEN DONE. 0 IF NONE.
270
271/6 PTR TO FILENAME OF PROGRAM
272/ TO BE CHAINED TO. 0 IF NONE.
273
274/ FIELD 0
275
276/1000-1777 LINE BUFFER
277/2000-2777 LINE BUFFER EXTENSION
278/4000-4377 REM-LINES
279/4400-4777 HANDLER
280/5000-5577 BUFFER
281/6000-7577 MORE CCL (7 PAGES)
282
283 REST=5000
284\f .ASECT CCL
285 *2000
286 .JSW 2103
287 .VERSION CCLNUM&77^100+<CCLVER&77>
288
289 FIELD 1
290
291 FAKBM=404 /PLACE TO FAKE OUT KBM
292
293START, JMP .+3 /START FROM MONITOR
294 JMP MONF /START FROM .RUN COMMAND
295 JMP MONCHN /START WHEN CHAINED TO
296 CLA
297 CDF 0 /READ IN REST OF CCL
298 TAD I (CCLBLC /GET BLOCK OF START
299 DCA I (SOFSET /ALLOW LINKER OVERLAY DRIVER TO WORK
300 TAD (7607
301 DCA I (7756
302 TAD I (SOFSET
303 CDF 10
304 TAD CCLREM
305 DCA CCLREM /GET BLOCK OF REST
306 CIF 0
307 JMS I (7607
308 1300 /READ 11 MORE PAGES
309 REST
310WFL,
311CCLREM, 1+5+1 /SKIP CCB AND *400 STUFF
312 JMP I (ERR2
313 JMS FIXX
314 JMS TWAIT
315 CDF 0
316 TAD I LVNO
317 CDF 10
318 TAD (-CCLTAB /DO VERSION #'S AGREE?
319 SZA CLA
320 JMP I (BADVNO
321 JMS I (AT
322 TAD (BEGLN-1
323 DCA XR
324L$: CDF 0
325 TAD I XR
326 CDF 10
327 SNA
328 JMP 2$
329 TAD (-";
330 SZA CLA
331 JMP L$
332/ JMS I (SEMI
333 NOP
3342$: STA
335 DCA I (REMD /ALLOW RECURSIVE U'S
336 CDF 0
337 TAD I KENTRY /GET ENTRY #
338 CIF CDF 10
339 TAD (PTBL /GET ADDRESS OF PTR TO START OF ENTRY
340 DCA PTR
341 CDF TABLES
342 TAD I PTR /GET PTR TO START OF ENTRY
343 CDF 10
344 DCA PTR
345 TAD PTR
346BASPTR, DCA BASPTR
347 JMP I (GO
348
349FIXX, 0
350 DCA I (XFERV /SET UP STUFF FOR OVERLAY DRIVER
351 TAD (SWAPER
352 DCA I (XFERV+1
353 JMP I FIXX
354
355MONF, JMS FIXX
356 JMP I (MONFIX
357\fMONCHN,
358 CIF 0
359 JMS I (7607 /READ IN KBM
360 1000 /4 BLOCKS
361 0 /0-1777
362 7 /BLOCK 7 ON SYS:
363 HLT /NO WAY TO RECOVER (EVEN 7605 DOES THIS)
364 TAD (-44
365 JMS I (MOVE /ASSUME COMMAND LINE IS IN
366 CDF 10 /17600-17643
367 7600
368 CDF 0
369 1000 /MOVE TO OS/8 LINE BUFFER
370 CIF CDF 0
371YAT, JMP I KFAKBM /@ DESTROYS THIS CODE (MUST BE ONE BEFORE 'REGO')
372 TAD I (SAVL /'YAT' IS JMS'ED TO
373 SNA CLA /BY INITIAL @ COMMAND
374 JMP I (LEAVE /DO NOTHING IF NO @ GOT EXPANDED (NULL LINE)
375REGO, CIF 0
376 JMS I (7607
377 200 /READ ONE BLOCK
378 400 /400-777
379 10 /RESTORE PART OF KBM WHICH WAS DESTROYED BY OVERLAY
380 HLT
381 JMP I (FAKE
382
383/REGO, TAD KCIDF
384/ CDF 0
385/ DCA I (RETCIF /ALLOW 'FINDIT' TO RETURN TO FIELD 1
386/ CIF CDF 0
387/ STA
388/ DCA I (HALF
389/ DCA I (ENTRY
390/ TAD (KEYWRD
391/ DCA I (KPTR
392/ JMS I (FINDIT /LOOK UP KEYWORD
393/ SMA CLA
394/ JMP PREGO /FOUND IT
395/CMDERR, JMS I (PRMESG /NOT A LEGAL KEYWORD
396/ ERRCMD
397
398 .START START+1,1
399\fTWAIT, 0
400 DCA WFL
401 JMS I (BATCH
402 JMP TW /BATCH NOT RUNNING
403 CLA /WE'RE RUNNING UNDER BATCH
404 JMP I TWAIT
405TW, TSF
406 SKP /WAIT FOR THINGS TO QUIET DOWN
407 JMP I TWAIT
408LVNO, AND I 0 /WASTE SOME TIME
409KFAKBM, AND I 4
410KENTRY, 600
411 ISZ WFL
412 JMP TW
413 JMP I TWAIT /CAN'T WAIT TOO LONG
414FILDMY, FILENAME DUMMY.SV
415 0 /EXTRA EXTENSION WORD
416 PAGE
417\fBADVNO, JMS I (PRINT
418 BADVMS
419 JMS I (VERTN
420 JMP I (LEAVE /GO AWAY
421\f/THIS ROUTINE DETERMINES IF THE CHARACTER IN THE AC IS A LETTER OR DIGIT
422/IF LETTER, RETURNS TO RET+1 WITH LETTER-"A IN AC AND LINK=0
423/IF DIGIT, RETURNS TO RET+1 WITH DIGIT-"0 IN AC AND LINK=1
424/IF NEITHER, RETURNS TO RET WITH CHAR-"A IN AC.
425DECODE, 0
426 TAD (-"9-1 /MIGHT BE CALLED WITH ANY DF
427 CLL
428 TAD ("9+1-"0
429 SZL
430 JMP YES$
431 TAD ("0-"Z-1
432 CLL CML
433 TAD ("Z-"A+1
434 SNL
435YES$: ISZ DECODE
436 JMP I DECODE
437\fLBEGIN, 0 /PTS TO 1 CHAR BEFORE COMMAND KEYWORD ARGUMENT
438
439SCAN, 0
440 TAD (BEGLN
441 DCA T
442 CDF 0
443 JMS BLSCAN /IGNORE INITIAL SPACES
444 JMP 2$
4451$: CLA
446 ISZ T
447 TAD I T
4482$: SNA
449 JMP 3$
450 JMS I (DECODE
451 SKP CLA
452 JMP 1$
453 JMS BLSCAN
4543$: DCA DELIM
455 STA
456 TAD T
457 CDF 10
458 DCA I (LBEGIN
459 JMP I SCAN
460
461BLSCAN, 0
462 TAD I T
463 TAD (-240
464 SZA
465 JMP 1$
466 ISZ T
467 JMP BLSCAN+1
4681$: TAD (240
469 JMP I BLSCAN /LEAVE CHAR IN AC
470\fSETLPT, 0 /COULD BE ONCE ONLY
471 TAD (LPTDEV
472 JMS I (SETDEV
473 JMP I SETLPT
474
475SETTTY, 0
476 TAD (TTYDEV
477 JMS I (SETDEV
478 JMP I SETTTY
479
480SETPTP, 0
481 TAD (PTPDEV
482 JMS I (SETDEV
483 JMP I SETPTP
484
485FAKE, CIF CDF 0
486 TAD (MSOVL2
487 DCA I (OV /RESTORE LOC SO DATE CMD W ARGS WILL WORK
488 JMP I (FAKBM
489\fSYSER, TEXT \#I/O ERROR ON SYS:\
490\fGO, JMS I (SCAN /ADVANCE SCAN UNTIL AFTER SPACES
491GO2, CDF TABLES
492 TAD I PTR /GET FLAG
493 CDF 10
494 DCA FLAG /SAVE IT
495 TAD DELIM
496 SNA CLA /IS TYPED LINE EMPTY AFTER KEYWORD?
497 TAD FLAG /AND IS SPECIAL REMEMBERING BITS ON?
498 CLL RTR
499 RAR /AND HAS GOD WILLED US TO REMEMBER?
500 AND (7 /AND ARE THE ZODIAK SIGNS FAVORABLE?
501 SNA
502 JMP I (NORM /NO
503 TAD REMD /YES, GET REM-LINE (SUBTRACT 1)
504 DCA REMD
505 CDF 0
506 TAD I (BEGLN
507 CDF 10
508 DCA I (NMPTR
509 JMS I (RECALL /RECALL LINE
510REMD, -1 /-1 MEANS DIDN'T RETRIEVE A REMEMBER LINE
511 DCA DEPN /SAVE DEPENDENT INFO
512 TAD I (NMPTR
513 SZA CLA /EG COMMAND?
514 JMP I (NORM /NO
515 ISZ DELIM /YES
516 TAD DEPN
517 DCA PTR /RESET PTR FROM CMD DEPENDENT WORD
518 JMP GO2
519
520DEPN, 0 /REM LINE DEPENDENT INFORMATION
521 PAGE
522\f COLWRD /NEEDED FOR SET TTY COL
523NORM, TAD FLAG
524L7700, SMA CLA
525 JMP CHAINN /SKIP ENTRIES IF NO CD
526 ISZ PTR /POINT TO DEFAULT INPUT EXTENSION
527 CDF TABLES
528 TAD I PTR /GET DEFAULT INPUT EXTENSION PTR
529 CDF 10
530 DCA DEFALT /SAVE IT
531 TAD (7641
532 DCA XR
533 TAD FLAG
534 CDF 0
535 TAD I PAMFLAG /COMBINE ALTMODE BITS
536 CDF 10
537 RAR /IN POSITION 11
538 CLA RAR /PUT NEW ALTMODE BIT ALONE IN BIT 0
539 DCA I XR /STORE AWAY IN C.D. OPTION TABLE
540 DCA I XR /V3D ZERO OPTION WORDS
541 DCA I XR
542 DCA I XR
543 DCA I XR /ZERO L.O. =
544L$: ISZ PTR
545 CDF TABLES
546 TAD I PTR
547 SNA
548 JMP 2$
549 DCA NTEMP
550 ISZ PTR
551 TAD I PTR /GET VALUE
552 CDF 10
553 TAD I NTEMP
554 DCA I NTEMP /STORE IN SPECIFIED LOCATION
555 JMP L$
5562$: CDF 10
557 TAD FLAG
558 AND (400
559 SZA CLA
560 JMS I (INSARR /INSERT BACK ARROW IF FLAG BIT SET
561 JMS I (CD /PERFORM COMMAND DECODE IF FLAG BIT
562 /0 SET
563 TAD FLAG
564 RAL
565 SMA CLA /IS SPOOLING PROHIBITED?
566 JMS I (SPOOLIT /NO
567CHAINN, ISZ PTR /POINT TO AFTER CD SUBR
568 CDF TABLES
569 TAD I PTR /GET SUBR ADDRESS
570 CDF 10
571 JMS I (JMSUB
572 TAD I (DEFILE
573 SZA /IS THERE A FILENAME SET TO CHAIN TO?
574 JMP ZOW /YES
575 ISZ PTR /NO, POINT TO FILENAME
576 CDF TABLES
577 TAD I PTR
578 CDF 10
579 SNA
580 JMP I (LEAVE /NO FILE TO CHAIN TO
581ZOW, DCA NMPTR
582 JMS LOOK /LOOKUP FILE
583NMPTR, 0
584 JMP I (CCER1 /NOT FOUND
585CHAIN, JMS I (200 /CHAIN TO IT
586 6 /CHAIN
587
588BLK, 0
589/ -----
590PAMFLAG,AMFLAG
591\f/LOOK, LOOKS UP FILE ON DEVICE . POINTER IS IN ARG1
592/ ARG2 IS ERROR RETURN IF NOT FOUND
593/DEVICE NUMBER IS IN AC. IF 0, USE SYS:
594
595LOOK, 0
596 SNA
597 IAC
598 DCA DEV
599 TAD I LOOK /GET PTR TO FILE NAME IN FIELD 0
600 DCA HISFIL
601 TAD HISFIL
602 AND L7700
603 SNA CLA
604 JMP FLD1 /PTR LT 100 MEANS IN FIELD 1
605 TAD (-3
606 JMS I (MOVE /MOVE IT UP
607 CDF 0
608BWORD,
609HISFIL, 0
610 CDF 10
611PFILDMY,FILDMY
612 TAD PFILDMY
613SETN, DCA NAMPTR /STORE AWAY PTR TO FILENAME
614 ISZ LOOK /POINT TO ERROR RETURN
615 TAD DEV /GET DEVICE NUMBER
616 JMS I (200
617 2 /LOOKUP
618NTEMP,
619NAMPTR, 0
620 0
621 JMP I LOOK /TAKE ERROR RETURN IF NOT FOUND
622 TAD NAMPTR /STORE STARTING BLOCK # IN 'BLK'
623 DCA BLK
624 ISZ LOOK /POINT TO NORMAL RETURN
625 JMP I LOOK /RETURN
626\fFLAG, 0
627DEV, 0
628
629FLD1, TAD HISFIL
630 JMP SETN
631
632/SKIP IF BATCH IS RUNNING AND PUT CIF BATCH FIELD IN AC
633
634BATCH, 0
635 CDF 0
636 TAD I (7777
637 CDF 10
638 DCA BWORD
639 TAD BWORD
640 RTL
641 SNL CLA /IS BATCH RUNNING?
642 JMP I BATCH /NO
643 TAD BWORD /YES
644 AND (70 /ISOLATE FIELD OF BATCH
645 TAD (CIF /FORM CIF TO THE HIGHEST FIELD
646 ISZ BATCH /AND TAKE SKIP RETURN WITH IT IN AC
647 JMP I BATCH
648 PAGE
649\fDEFILE, 0 /PTR TO FILENAME TO CHAIN TO
650
651TEMP,
652RDMON, 0
653 CDF 10
654 CIF 0
655 CLA
656 JMS I (7607
657 0400 /READ 2 RECORD
658 2000 /LOCATION 2000 FIELD 0
659 7 /BLOCK 7,10
660 JMP IOERR
661 JMP I RDMON
662
663ERR2, CIF CDF 0
664 JMP I (NOCCL
665\fEXSUB, 0
666 TAD BASPTR /PUSH PTR BACK TO BEGIN OF ENTRIES
667 JMS I (REMEM /REMEMBER THIS IN DEPENDENT WORD
668 2
669 JMP I EXSUB
670
671JMSUB, 0
672 SNA
673 JMP I JMSUB
674 DCA TEMP
675 JMS I (CCSUB /LOAD OVERLAY
676 JMS I TEMP
677 JMP I JMSUB
678
679SPOOLIT,0
680 JMS I (BATCH /IS BATCH RUNNING?
681 JMP I SPOOLIT /NO
682 DCA CB /YES
683 CDF 0
684 TAD I DEFALT
685 TAD (-5200
686 SNA CLA
687 TAD I DEFALT /LEAVE 5200 IN AC IF SPECIAL MODE
688 CDF 10
689CB, HLT /CIF TO FIELD OF BATCH
690 JMS I (BATSPL /ALLOW BATCH TO SPOOL STUFF
691 JMP I SPOOLIT
692\fINSARR, 0
693 TAD (BEGLN
694 DCA XR
695 CDF 0
696 TAD I XR
697 SZA CLA
698 JMP .-2
699 STA
700 TAD XR
701 DCA XR
702 TAD ("<
703 DCA I XR
704 DCA I XR
705 CDF 10
706 STA
707 TAD XR
708 DCA I (ARLOC /REMEMBER WHERE WE INSERTED A "_"
709 JMP I INSARR
710\f/ TAD (-# OF LOCS TO MOVE
711/ JMS MOVE
712/ FROM CDF
713/ FROM LOC
714/ TO CDF
715/ TO LOC
716
717MOVE, 0
718 DCA T
719 TAD I MOVE /GET FROM CDF
720 DCA FRCDF
721 ISZ MOVE
722 STA
723 TAD I MOVE /GET FROM LOC-1
724 DCA XR
725 ISZ MOVE
726 TAD I MOVE /GET TO CDF
727 DCA TOCDF
728 ISZ MOVE
729 STA
730 TAD I MOVE /GET TO LOC-1
731 DCA XR2
732 ISZ MOVE /POINT TO RETURN
733 TAD T
734 SNA CLA
735 JMP I MOVE /V1A IGNORE 0 MOVE
736FRCDF, HLT
737 TAD I XR
738TOCDF, HLT
739 DCA I XR2
740 ISZ T
741 JMP FRCDF
742 CDF 10
743 JMP I MOVE
744\fOUTSW, -1 /-1 MEANS ON OUTPUT SIDE, 0 ON INPUT SIDE
745
746OUTLIM, 1-MIFILE
747\fIOERR, JMS I (PRMESG
748 SYSER
749BADVMS, TEXT /#CCL 3X OVERLAY AND CCL INCOMPATIBLE/
750 AAAA=.
751 *BADVMS+3
752 CCLTAB&77^100+40
753 *AAAA
754COLWRD, 1
755
756COLSET, 0
757/ JMS I (CCSUB
758 JMS I (SETTTY
759 TAD I (7646
760 SNA
761 TAD COLWRD
762 DCA I (7646
763 JMP I COLSET
764 PAGE
765\f .ASECT CCLMOR
766 FIELD 0
767 *6740
768YCCL, FILENAME CCL.SV
769 *.-1
770YFORT, FILENAME FORT.SV
771 *.-1
772YF4, FILENAME F4.SV
773 *.-1
774YLOADER,FILENAME LOADER.SV
775 *.-1
776YLOAD, FILENAME LOAD.SV
777 *.-1
778LPTDEV, DEVICE LPT
779TVDEV, DEVICE TV
780TTYDEV, DEVICE TTY
781PTPDEV, DEVICE PTP
782DMPDEV, DEVICE DUMP
783NULDEV, DEVICE NULL
784FNAME1, ZBLOCK 5
785\f\f