Add README.md
[pdp8.git] / sw / os8 / v3d / sources / devext / dectapes / dectape1 / ccl.ma
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
293 START, 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
310 WFL,
311 CCLREM, 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
324 L$: 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
334 2$: 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
346 BASPTR, DCA BASPTR
347 JMP I (GO
348
349 FIXX, 0
350 DCA I (XFERV /SET UP STUFF FOR OVERLAY DRIVER
351 TAD (SWAPER
352 DCA I (XFERV+1
353 JMP I FIXX
354
355 MONF, 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
371 YAT, 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)
375 REGO, 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
405 TW, TSF
406 SKP /WAIT FOR THINGS TO QUIET DOWN
407 JMP I TWAIT
408 LVNO, AND I 0 /WASTE SOME TIME
409 KFAKBM, AND I 4
410 KENTRY, 600
411 ISZ WFL
412 JMP TW
413 JMP I TWAIT /CAN'T WAIT TOO LONG
414 FILDMY, 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.
425 DECODE, 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
435 YES$: ISZ DECODE
436 JMP I DECODE
437 \fLBEGIN, 0 /PTS TO 1 CHAR BEFORE COMMAND KEYWORD ARGUMENT
438
439 SCAN, 0
440 TAD (BEGLN
441 DCA T
442 CDF 0
443 JMS BLSCAN /IGNORE INITIAL SPACES
444 JMP 2$
445 1$: CLA
446 ISZ T
447 TAD I T
448 2$: SNA
449 JMP 3$
450 JMS I (DECODE
451 SKP CLA
452 JMP 1$
453 JMS BLSCAN
454 3$: DCA DELIM
455 STA
456 TAD T
457 CDF 10
458 DCA I (LBEGIN
459 JMP I SCAN
460
461 BLSCAN, 0
462 TAD I T
463 TAD (-240
464 SZA
465 JMP 1$
466 ISZ T
467 JMP BLSCAN+1
468 1$: 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
475 SETTTY, 0
476 TAD (TTYDEV
477 JMS I (SETDEV
478 JMP I SETTTY
479
480 SETPTP, 0
481 TAD (PTPDEV
482 JMS I (SETDEV
483 JMP I SETPTP
484
485 FAKE, 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
491 GO2, 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
510 REMD, -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
520 DEPN, 0 /REM LINE DEPENDENT INFORMATION
521 PAGE
522 \f COLWRD /NEEDED FOR SET TTY COL
523 NORM, TAD FLAG
524 L7700, 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. =
544 L$: 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$
556 2$: 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
567 CHAINN, 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
581 ZOW, DCA NMPTR
582 JMS LOOK /LOOKUP FILE
583 NMPTR, 0
584 JMP I (CCER1 /NOT FOUND
585 CHAIN, JMS I (200 /CHAIN TO IT
586 6 /CHAIN
587
588 BLK, 0
589 / -----
590 PAMFLAG,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
595 LOOK, 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
608 BWORD,
609 HISFIL, 0
610 CDF 10
611 PFILDMY,FILDMY
612 TAD PFILDMY
613 SETN, 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
618 NTEMP,
619 NAMPTR, 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
627 DEV, 0
628
629 FLD1, TAD HISFIL
630 JMP SETN
631
632 /SKIP IF BATCH IS RUNNING AND PUT CIF BATCH FIELD IN AC
633
634 BATCH, 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
651 TEMP,
652 RDMON, 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
663 ERR2, 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
671 JMSUB, 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
679 SPOOLIT,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
689 CB, 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
717 MOVE, 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
736 FRCDF, HLT
737 TAD I XR
738 TOCDF, 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
746 OUTLIM, 1-MIFILE
747 \fIOERR, JMS I (PRMESG
748 SYSER
749 BADVMS, TEXT /#CCL 3X OVERLAY AND CCL INCOMPATIBLE/
750 AAAA=.
751 *BADVMS+3
752 CCLTAB&77^100+40
753 *AAAA
754 COLWRD, 1
755
756 COLSET, 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
768 YCCL, FILENAME CCL.SV
769 *.-1
770 YFORT, FILENAME FORT.SV
771 *.-1
772 YF4, FILENAME F4.SV
773 *.-1
774 YLOADER,FILENAME LOADER.SV
775 *.-1
776 YLOAD, FILENAME LOAD.SV
777 *.-1
778 LPTDEV, DEVICE LPT
779 TVDEV, DEVICE TV
780 TTYDEV, DEVICE TTY
781 PTPDEV, DEVICE PTP
782 DMPDEV, DEVICE DUMP
783 NULDEV, DEVICE NULL
784 FNAME1, ZBLOCK 5
785 \f\f