11 /COPYRIGHT (C) 1974,1975,1976,1977 BY DIGITAL EQUIPMENT CORPORATION
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.
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.
32 /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
33 /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
64 DEFALT=33 /POINTS TO DEFAULT EXTENSION LIST
69 BATERR=7000 /JMP HERE TO ABORT BATCH
70 BATOUT=7400 /JMS HERE TO PRINT ON BATCH LOG
71 BATSPL=7200 /JMS HERE TO PERFORM SPOOLING WITH DEFAULT EXT IN AC
76 /CCL STARTING ADDRESS: 12000
77 /STARTING ADDRESS: 12001
78 /CHAIN STARTING ADDRESS:12002
80 / JOB STATUS WORD = 2003
82 /**************************************************
87 / .SAVE SYS CCL;12001=2103
90 /**************************************************
99 CCLBLK=67 /BLOCK ON SYS: USED BY CCL
100 CCLTAB="G /MUST BE UPDATED IF TABLES CHANGE
102 CCLVER="F /CCL VERSION #
104 /*** NOTE: VERSION E OF CCL WAS FOR IN-HOUSE USE ONLY.
105 /USE OF SEMICOLONS WITH CCL VERSION I OR LATER
106 /REQUIRES BATCH VERSION 7 OR LATER.
107 /USE OF BASIC COMMAND REQUIRES V3D BASIC OR LATER
114 /0 4400-4777 INPUT HANDLER FOR CD
115 / ALSO, SEMICOLON BUFFER
116 /0 5000-5177 PRE-EXTENSION @ BUFFER
117 /0 5200-5577 @ BUFFER
118 /0 1000-1777 /COMMAND LINE [EACH @ FILE RESTRICTED TO 1 BLOCK]
119 /0 2000-2777 /LINE BUFFER EXTENSION
120 \f/ CHANGES SINCE FIELD RELEASE VERSION:
122 /1. RECURSIVE 'U' BUG FIXED
123 /2. INTERNAL STRUCTURE OF CCL KEYWORD TABLE CHANGED
124 /3. BUG RE REWRITING BLOCK CONTAINING PTR TO CORRECT FORTRAN FIXED
125 /4. .SV PARTS OF FILENAMES REMOVED FROM TABLE TO SAVE SPACE
126 /5. COMPARE PASSES ALTMODE
127 /6. TTY BECAME DEFAULT FOR COMPAR, DIRECT, AND MAP
128 /7. BUG RE PASSING DEFAULT * FIXED
129 /8. .LS FORM OF .CREF COMMAND REMOVED
130 /9. BUG CONCERNING PROCESSOR SWITCHES FIXED
131 /10. CCL SWITCH ALLOWED AFTER =N OPTION
132 /11. BUG RE 'BAD SWITCH OPTION' MESSAGE FIXED
133 /12. EXTRA SPACES NOW ALLOWED BEFORE CCL ARGUMENT
134 /13. 'DOES NOT EXIST' MESSAGE NOW SPELLED CORRECTLY
135 /14. 'BAD CCL SWITCH' MESSAGE ADDED
136 /15. CCL EDIT # CHANGED TO CCL VERSION #
137 /16. .EX CHAINS TO BCOMP NOT BASIC FOR .BA FILES
138 /17. MUNG PTR: NOW WORKS
139 /18. FIXED BUG RE MUNG <CR>
140 /19. FIXED BUG RE CD FOR FILE > 2047 BLKS
141 /20. FIXED BUG RE MAKE PTR:
145 /21. ALLOWED 'EDIT' TO COPY FILE EXTENSION
146 /22. FIXED BUG RE .CCL ON WRITE-LOCKED DEVICE
147 /23. FIXED DATE PROBLEM
148 /24. ALLOWED FF AND VT IN AN INDIRECT FILE TO BE IGNORED
152 /25. FIXED BUG RE SPACES AND SLASHES IN MUNG TEXT ARGUMENT
153 /26. ALLOWED EDIT COMMAND TO USE SAME OUT DEVICE
154 / AS IN DEVICE (IF NONE SPECIFIED)
155 /27. ADDED MORE SYNTAX CHECKING TO ZERO COMMAND
159 /28. ALLOWED EDIT A<B COMMAND TO REMEMBER ONLY UP TO '<' .
161 /VERSION E CHANGES: (IN-HOUSE ONLY VERSION)
163 /29. WARNING MSG IF SQUISH SYS: UNDER BATCH
164 /30. ADDED SOME NOTES ON HOW TO ALLOW = AS WELL AS <
165 /31. ADDED HOOKS FOR ; TO BE READY FOR V4
166 /32. FIX BUG RE CMD STARTING WITH SPACES
168 /CHANGES FOR MAINTENANCE RELEASE (OS/8 V3C):
170 /33. FIXED BUG ABOUT @ NOT FOLLOWED BY FILESPEC
171 /34. INCORPORATED ALL PREVIOUS EDITS
172 /35. ALLOWED ' TO TERMINATE AN INDIRECT REQUEST (AND BE IGNORED)
173 /36. FIXED BUG ABOUT EDIT DEV1:_DEV2:FOO LOSING DEV1:
174 /37. CORRECTED SPELLING OF SUPERSEDING
175 /38. ADDED .LD EXTENSION TO EXECUTE TABLES [USES FRTS]
179 /39. FIXED BUG WITH HELP COMMAND
180 /40. FIXED BUG CONCERNING EDIT DEV:_FILE
184 /41. ADDED MAC AND LINK COMMANDS
185 /42. ADDED MACREL AND LINKER INTO COMPILE/LOAD/EXECUTE COMMANDS
186 /43. ALLOWED UX COMMANDS TO CONTAIN KBM COMMANDS
187 /44. ALLOWED PASSING A KBM COMMAND TO CCL ON CHAINING
188 /45. ALLOWED @ AT BEGINNING OF LINE
189 /46. MOVED MOST OF 'DETCOR' TO FIELD 0
190 /47. WAIT ROUTINE NOW GIVES UP IF TTY FLAG ISN'T UP WITHIN 0.1 SEC
191 /48. ALLOWED EXEC .BI TO USE BATCH
192 /49. TENTATIVELY ADDED SEMICOLON STUFF
193 /50. PUT BACK WARNING MESSAGE IF TRY TO SQUISH UNDER BATCH
197 /51. FIRMED UP SEMICOLON STUFF
201 /52. DEFAULT DEVICE FOR COMPIL, PAL, ETC. IS NOW LOGICAL DSK: NOT SYS:
202 /53. -L, -S, AND -P SWITCHES NOW SET OUTPUT NAME TO CURRENT INPUT NAME
206 /54. DATE NOW HANDLES DATE/78 ALGORITHM
207 /55. TOOK OUT 'TCF' WHICH WAS CAUSING BATCH TO HANG
211 /56. FIXED BUG RE NULL INDIRECT CMD FILE
212 /57. FIXED BUG TO NOW ALLOW DATE WITH ARGS IN INIT.CM
213 /58. PRINT "OS78" FOR VERSION NAME IF APPLICABLE
214 /59. ADDED -N AND -D AND REWROTE LOGIC A BIT
215 /60. HELP COMMAND NOW USES HELP.SV
216 /61. SET COMMAND NOW USES SET.SV
217 /62. 'CORE' BECOMES 'MEMORY' IN 3 MSGS AND 1 CMD
218 /63. ADDED BASIC COMMAND (CHAINS TO BASIC.SV WITH Q SWITCH)
219 /64. ALLOWED FOR TERMINATE COMMAND (OS78 REPLACES BACKSPACE)
220 /65. ADDED DUPLICATE COMMAND (USES RXCOPY)
224 /66. MODIFIED FORMAT OF MAIN TABLE
225 /67. GIVE ERROR MESSAGE IF NO FILENAME IS GIVEN WITH INDIRECT
226 / FILE (EVEN IF NON-FS)
227 /68. PRINT KBM VERSION #
228 /69. ADDED TERMINATE COMMAND
232 /70. DUPL CALLS RXCOPY IN SPECIAL MODE
233 \f/ FORMAT OF CCL TABLE
237 / TABLE WIDTH=7 (BUT VARIES)
243 /0 PERFORM CD (IF 0, OMIT ENTRIES 1-6)
244 /1 DON'T PERMIT SPOOLING
245 /2 ALLOW .LS, .NB, .MP SWITCHES
246 /3 ADD _ TO END OF COMMAND STRING
247 /4 SET OUTPUT EXTENSION = INPUT EXTENSION (IF BIT 2 ON)
248 /6-8 SPECIFIES AUTOMATIC INPUT REMEMBERING (REM LINE MINUS 1)
249 / 0 MEANS NONE. 7 RESERVED FOR SPECIAL USE.
250 /10 CAUSE -L, ETC. TO GO TO 2ND OUTPUT FILE & COPIES NAME
251 /11 WANT DEFAULT ALTMODE (COMPL IF AMFLAG=1)
253 /1 PTR TO DEFAULT EXTENSION LIST FOR INPUT FILES.
254 / IF PTS TO 0, NONE. IF PTS TO 5200, USE SPECIAL MODE.
256 /2-4 DEFAULT SWITCHES TO BE OR'ED INTO THOSE
259 /5 ADDRESS OF SUBROUTINE TO BE CALLED
260 / AFTER C.D. HAS BEEN DONE. 0 IF NONE.
262 /6 PTR TO FILENAME OF PROGRAM
263 / TO BE CHAINED TO. 0 IF NONE.
267 /1000-1777 LINE BUFFER
268 /2000-2777 LINE BUFFER EXTENSION
272 /6000-7577 MORE CCL (7 PAGES)
279 FAKBM=404 /PLACE TO FAKE OUT KBM
281 START, JMP .+3 /START FROM MONITOR
282 JMP (CCLBLC /START FROM .RUN COMMAND
283 /THIS LITERAL IS AT END OF PAGE
284 JMP MONCHN /START WHEN CHAINED TO
286 CDF 0 /READ IN REST OF CCL
287 TAD I (CCLBLC /GET BLOCK OF START
290 DCA CCLREM /GET BLOCK OF REST
293 700 /READ 7 MORE PAGES
295 CCLREM, 1+14+1 /SKIP CCB AND *400 STUFF
301 TAD (-CCLTAB /DO VERSION #'S AGREE?
306 DCA I (REMD /ALLOW RECURSIVE U'S
308 TAD I KENTRY /GET ENTRY #
310 TAD (PTBL /GET ADDRESS OF PTR TO START OF ENTRY
312 TAD I PTR /GET PTR TO START OF ENTRY
317 JMS I (7607 /READ IN KBM
321 HLT /NO WAY TO RECOVER (EVEN 7605 DOES THIS)
323 JMS I (MOVE /ASSUME COMMAND LINE IS IN
327 1000 /MOVE TO OS/8 LINE BUFFER
329 YAT, JMP I KFAKBM /@ DESTROYS THIS CODE (MUST BE ONE BEFORE 'REGO')
330 TAD I (ASSIGN /'YAT' IS JMS'ED TO
331 SNA CLA /BY INITIAL @ COMMAND
332 JMP I (LEAVE /DO NOTHING IF NO @ GOT EXPANDED (NULL LINE)
337 10 /RESTORE PART OF KBM WHICH WAS DESTROYED BY OVERLAY
343 / DCA I (RETCIF /ALLOW 'FINDIT' TO RETURN TO FIELD 1
350 / JMS I (FINDIT /LOOK UP KEYWORD
352 / JMP PREGO /FOUND IT
353 /CMDERR, JMS I (PRMESG /NOT A LEGAL KEYWORD
361 JMP I (LEAVE /GO AWAY
367 JMP REGO /REMEMBERED A NEW LINE
372 TAD (-1 /IN THIS REM-LINE
374 JMS I (FOREVER /NO DATE
381 JMP TW /BATCH NOT RUNNING
382 CLA /WE'RE RUNNING UNDER BATCH
385 SKP /WAIT FOR THINGS TO QUIET DOWN
387 LVNO, AND I 0 /WASTE SOME TIME
392 JMP I TWAIT /CAN'T WAIT TOO LONG
395 /SKIP IF BATCH IS RUNNING AND PUT CIF BATCH FIELD IN AC
404 SNL CLA /IS BATCH RUNNING?
407 AND (70 /ISOLATE FIELD OF BATCH
408 TAD KCIF /FORM CIF TO THE HIGHEST FIELD
409 ISZ BATCH /AND TAKE SKIP RETURN WITH IT IN AC
413 \f/WE FALL INTO THIS FROM LITERAL ON PREVIOUS PAGE
419 JMP I PCCER3 /ALWAYS WRITE OUT CCL BLOCK
423 4200 /WRITE 1 RECORD FROM FIELD 0
424 400 /LOCATIONS 400-777
425 CCLBLK /INTO THE SYSTEM'S CCL BLOCK
440 DCA I (2000+DEASADR /DELETE DEASSIGN
443 YFORT /LOOK FOR FORT.SV
444 TAD (YF4-YFORT /NOT FOUND, USE F4
445 TAD (YFORT /FOUND USE IT
450 TAD (YLOAD-YLOADER /F4
453 JMP I (WRITFT /UNKLUTZ
475 SETLPT, 7605 /COULD BE ONCE ONLY
494 ZERO, /STAYS 0 FOR A WHILE
495 SETDEV, 0 /V1A ARG NOW IN AC
513 DCA I (OV /RESTORE LOC SO DATE CMD W ARGS WILL WORK
528 \f COLWRD /NEEDED BY SET
529 GO, JMS I (SCAN /ADVANCE SCAN UNTIL AFTER SPACES
530 GO2, TAD I PTR /GET FLAG
533 SNA CLA /IS TYPED LINE EMPTY AFTER KEYWORD?
534 TAD FLAG /AND IS SPECIAL REMEMBERING BITS ON?
536 RAR /AND HAS GOD WILLED US TO REMEMBER?
537 AND (7 /AND ARE THE ZODIAK SIGNS FAVORABLE?
540 TAD REMD /YES, GET REM-LINE (SUBTRACT 1)
546 JMS I (RECALL /RECALL LINE
547 REMD, -1 /-1 MEANS DIDN'T RETRIEVE A REMEMBER LINE
548 DCA DEPN /SAVE DEPENDENT INFO
554 DCA PTR /RESET PTR FROM CMD DEPENDENT WORD
558 JMP CHAINN /SKIP ENTRIES IF NO CD
559 ISZ PTR /POINT TO DEFAULT INPUT EXTENSION
560 TAD I PTR /GET DEFAULT INPUT EXTENSION PTR
566 DCA I XR /STORE AWAY IN C.D. OPTION TABLE
567 DCA I XR /V3D ZERO OPTION WORDS
570 DCA I XR /ZERO L.O. =
578 DCA I NTEMP /STORE IN SPECIFIED LOCATION
583 JMS I (INSARR /INSERT BACK ARROW IF FLAG BIT SET
584 JMS I (CD /PERFORM COMMAND DECODE IF FLAG BIT
588 SMA CLA /IS SPOOLING PROHIBITED?
590 CHAINN, ISZ PTR /POINT TO AFTER CD SUBR
591 TAD I PTR /GET SUBR ADDRESS
594 SZA /IS THERE A FILENAME SET TO CHAIN TO?
596 ISZ PTR /NO, POINT TO FILENAME
599 JMP I (LEAVE /NO FILE TO CHAIN TO
601 JMS LOOK /LOOKUP FILE
603 JMP I (CCER1 /NOT FOUND
604 CHAIN, JMS I (200 /CHAIN TO IT
606 DEPN, /REM LINE DEPENDENT INFO
609 \f/LOOK, LOOKS UP FILE ON DEVICE . POINTER IS IN ARG1
610 / ARG2 IS ERROR RETURN IF NOT FOUND
611 /DEVICE NUMBER IS IN AC. IF 0, USE SYS:
617 TAD I LOOK /GET PTR TO FILE NAME IN FIELD 0
622 JMP FLD1 /PTR LT 100 MEANS IN FIELD 1
624 JMS I (MOVE /MOVE IT UP
630 SETN, DCA NAMPTR /STORE AWAY PTR TO FILENAME
631 ISZ LOOK /POINT TO ERROR RETURN
632 TAD DEV /GET DEVICE NUMBER
638 JMP I LOOK /TAKE ERROR RETURN IF NOT FOUND
639 TAD NAMPTR /STORE STARTING BLOCK # IN 'BLK'
641 ISZ LOOK /POINT TO NORMAL RETURN
649 \fXEXE, 5033; EXTEXE; 7643;40;0; EXSUB; YPAL8 /EXECUTE MUST BE FIRST FOR TECO EG
650 XBAC, 0; TRMSUB; YCAMP /BACKSPACE (OR TERMINATE)
651 /MUST BE 2ND FOR OS78
652 XBAS, 0; BASUB; YBASIC /BASIC
653 XDUPL, 4001; STAR; 0; 0; YRXCOP /DUPLIC
654 XBOO, 0; 0; YBOOT /BOOT
655 XCCL, 0; MONRES; 0 /CCL
656 XCOMPA, 4001; EXTNUL; 0; SETTTY; YSRCCOM /COMPARE
657 XCOMPI, 5033; EXTCOM; 0; EXSUB; YPAL8 /COM
658 XCOP, 4001; STAR; 7643;1;0; MOVRT; YFOTP /COPY
659 XCOR, 0; DETCOR; 0 /MEMORY
660 XCREA, 4400; EXTNUL; 0; CRSUB; YEDIT /CREATE
661 XCREF, 4002; EXTCF; 7643;1000;0; 0; YPAL8 /CREF
662 XDAT, 0; DATE; 0 /DATE
663 XDEL, 4001; STAR; 7643;401;0; KILRT; YFOTP /DELETE
664 XDEA, 0; DEASSIG;0 /DEASSIGN
665 XDIR, 4001; STAR; 7646;COLWRD,0;0;SETTTY; YDIRECT /DIRECT
666 XEDI, 5220; EXTNUL; 0; EDSUB; YEDIT /EDIT
667 XEOF, 0; 0; YCAMP /EOF
668 XHEL, 4001; STAR; 7644;20;0; SETTTY; YHELP /HELP
669 XLINK, 5033; EXTLI; 0; EXSUB; YLINK /LINK
670 XMAC, 5033; EXTMA; 0; EXSUB; YMACREL /MAC
671 XLIS, 4001; STAR; 7644;10;0; SETLPT; YFOTP /LIST
672 XLOA, 5031; EXTLO; 0; EXSUB; YABSLDR /LOAD
673 XMAK, 0; MAKSUB; YTECO /MAKE
674 XMAP, 4001; EXTBN; 0; SETTTY; YBITMAP /MAP
675 XMUN, 0; MNGSUB; YTECO /MUNG
676 XPAL, 5033; EXTPA; 0; EXSUB; YPAL8 /PAL
677 XPRI, 4000; STAR; 0; SETLPT; YLPTSPL /PRINT
678 XPUN, 4001; EXTNUL; 0; SETPTP; YPIP /PUNCH
679 XREN, 4001; STAR; 7643;1;7644;100;0;RENRT;YFOTP /RENAME
680 XRES, 4001; EXTSY; 0; SETTTY; YRESORC /RESOURCES
681 XREW, 0; 0; YCAMP /REWIND
682 XSET, 0; 0; YSET /SET
683 XSKI, 0; 0; YCAMP /SKIP
684 XSQU, 4001; EXTNUL; 7644;40;0; SQSUB; YPIP /SQUISH
685 XSUB, 4000; EXTBI; 0; 0; YBATCH /SUBMIT
686 XTEC, 10; TECSUB; YTECO /TECO
687 XTYP, 4001; STAR; 7644;10;0; SETTTY; YFOTP /TYPE
688 XUNL, 0; 0; YCAMP /UNLOAD
689 XUA, 40; USRSUB; 0 /UA
690 XUB, 50; USRSUB; 0 /UB
691 XUC, 60; USRSUB; 0 /UC
692 XVER, 0; VERTN; 0 /VERSION
693 XZER, 4401; EXTNUL; 7645;2000;0; ZERSUB; YPIP /ZERO
699 TAD I PAMFLAG /COMBINE ALTMODE BITS
702 CLA RAR /PUT NEW ALTMODE BIT ALONE IN BIT 0
711 JMP I TRMSUB /BACKSPACE, NOT TERMINATE
714 CLA /JUST IN CASE WE'RE NOT ON A VT-78
786 EXTLO, 0216; COMBN /BN
788 EXTLI, 2202; COMRB /RB
792 \fEXTEXE, 2001; COMPA /PA
805 EXTCOM, 2001; COMPA /PA
813 IFZERO .&7600-3200 <PAGE>
823 LOADE, YLOAD /MAY BECOME YLOADER
835 FORTE, YF4 /COULD BE CHANGED TO YFORT BY .R CCL
878 \fDEFILE, 0 /PTR TO FILENAME TO CHAIN TO
885 / ISZ I (DONB /CREF FOO.LS MAKES NO BINARY
894 2000 /LOCATION 2000 FIELD 0
910 TAD T /NEG OF SWITCH REQUEST
912 JMP I (CCERA /CAN'T HAVE 2ND DEFAULT EXTENSION
915 DCA SETEXT /SET DEFAULT EXTENSION
916 TAD DEFALT /SEE IF IT'S IN COMMAND'S SEARCH LIST
920 SNA CLA /DID WE FIND IT?
923 / TAD I (JMSUB /ALLOW RECURSIVE CALL
926 JMS I (JMSUB /CALL ITS SUBR
928 /V1A RECURSIVE CALL NO LONGER THREATENS
932 SETEXT, 0 /EXT WHICH HAS BEEN SET BY A CCL SWITCH
940 \fWRITFT, JMS I (LOOK
942 JMP I (IOERR /CCL.SV NOT FOUND
944 TAD (4 /*3400 IS 4TH BLOCK OF CCL NOT COUNTING CCB
949 4210 /WRITE 1 RECORD FROM FIELD 1
958 13 /RESET ALL HANDLERS
962 TAD I (BEGDIF /DIFF BETWEEN INPUT & OUTPUT AREAS
969 TAD I (LIMDIF /DIFF BETWWEN END OF OUTPUT & INPUT AREAS
970 TAD I (OUTLIM /END OF OUTPUT AREA
977 LKUPSW, JMP INFILE /ZEROED IF IN "SPECIAL DECODE" MODE
988 INFILE, JMS I (LOOKUP
989 JMS PCLXR /STORE LENGTH AND DEV NUMBER
990 TAD I (LNAME /GET BLOCK
996 SPA CLA /FEATURE ENABLED?
999 JMP DLOOK /IN SPECIAL MODE OR ON OUTPUT SIDE
1003 TAD (7600 /V1A NOW TAKES ARG IN AC
1004 JMS I (NMOVE /MOVE NAME TO OUTPUT FILE NAMES
1006 \fNBS, DCA DONB /ZERO 1ST OUTPUT FILE
1024 JMP I (FILLP /**** JUMPING INTO ROUTINE (IS THIS A BUG?)
1030 JMP I (CDER2 /BAD CHAR
1031 / THIS STUFF WOULD ALLOW = AS WELL AS < AND _
1032 /*** HAVE TO FIX 'BKA' ROUTINE
1036 / STA /LINK=0 MEANS LETTER
1037 / TAD LXR /NOW LINK=1 MEANS LETTER
1045 AND I (MPARAM-1 /PRESERVE ALTMODE
1051 JMP I (CDER2 /TWO BACK-ARROWS
1052 TAD LXR /GET PTR TO ARROW
1053 DCA I (ARLOC /SAVE IT ('EDIT' MIGHT NEED IT)
1060 \fDONB, 0 /ENTRY PT USED AS FLAG
1063 OUTSW, -1 /-1 MEANS ON OUTPUT SIDE, 0 ON INPUT SIDE
1070 TAD (NUM&177+1200-SKP
1072 DCA NUMADD/SET NUMADD TO EITHER "SKP" OR "TAD NUM"
1081 TAD ("8 /TEST INPUT CHARACTER FOR RANGE
1082 CLL CMA /0-7 IF NUMFUJ=0
1083 TAD (10 /0-9 IF NUMFUJ=2
1095 NUMSKP, SPA /MODIFIED BY #
1101 NUMADD, TAD NUM /SKP IF OCTAL
1109 JMP I (CDER5 /FEWER THAN CORRECT NUMBER OF DIGITS
1115 NUMKNT, 0 /SET TO -N-1 TO FORCE N DIGITS
1121 SMA SZA CLA /CHECK FOR OUTPUT OR FIRST INPUT
1122 JMP ASNORM /IF DEVICE WAS SPECIFIC,
1123 /OR IF WE ARE ON THE INPUT SIDE,
1137 SNA CLA /DON'T LOAD HANDLER
1138 /IF WE ARE ON OUTPUT SIDE OF "_"
1140 SPKLG1, SNA CLA /OR THERE IS NO FILE NAME TO LOOK UP
1141 TAD GETHND /GETHND=11 NORMALLY,
1142 /0 IF IN "SPECIAL DECODE" MODE
1145 TAD (HNDLR+1 /ALLOW TWO PAGE HANDLERS
1156 ASGNST, DCA I (DVICE
1158 \fDFLTNM, DEVICE DSK
1159 GETHND, 11 /1+11=12 (1=FETCH, 12=INQUIRE)
1178 FILDMY, FILENAME DUMMY.SV
1185 \f/GETS A NAME FROM FIELD ZERO BUFFER VIA LXR
1186 /RETURNS WITH DELIMETER IN AC
1187 /GIVES ERROR MESSAGE IF NAME IS BAD
1189 TN, /DON'T CALL CCLSWT FROM GNAME UNLESS THIS IS MOVED
1213 STARSW, JMP I (CDER6 /"JMP STARNM"
1214 /IF "SPECIAL DECODE" MODE
1221 STARNM, CLA /THIS CODE HANDLES *'S AND ?'S CORRECTLY
1243 JMP I (CDER7 /NULL NAME OR DOUBLE EXTENSION
1255 JMP I (CDER4 /CCL EXT ON OUTPUT FILE
1259 JMP I (CDER44 /NON-ALPHANUMERIC CCL SWITCH
1263 JMP XLK2 /ONE CHAR CCL SWITCH
1267 XLK2, SKP CLA /2 CHAR CCL SWITCH
1268 JMP I (CDER44 /3 CHAR CCL-SWITCH
1274 DCA GETL /GET PTR TO ARGUMENT PAIR
1275 TAD I GETL /GET SUBROUTINE
1278 TAD I GETL /GET ARGUMENT
1279 JMS I PERDSW /CALL SUBR, ARG IN AC
1286 JMP I GETL /NON-ALPHANUM IN CCL SWITCH
1309 CLA IAC /FORCE NAMERM NON-0 IF . AND NO EXT
1311 DCA NAMERM /REMEMBER TYPED EXTENSION
1315 SNA /HAS AN EXTENSION BEEN SET?
1317 SNA /DOES FILE HAVE EXTENSION?
1318 JMP EXT2 /NO EXTENSION TYPED OR SET, DO SUCCESSIVE LOOK-UPS
1319 JMS EXTLUK /LOOK FOR EXTENSION
1320 SNA CLA /DID WE FIND IT?
1321 JMP EXT3 /NO, FORCE NULL EXTENSION TO MATCH
1325 JMP NEXTEXT /IGNORE -1'S
1330 DCA NAME4 /SET NEW EXTENSION
1339 ISZ DEF /POINT TO FOLLOW-UP SUBROUTINE
1352 \fLFAILD, TAD NAMERM
1353 SNA CLA /WAS THERE AN EXPLICIT EXTENSION?
1354 TAD I DEF /NO - WAS THERE A DEFAULT EXTENSION?
1356 JMP I (CDER3 /NO DEFALT EXTENSION OR YES EXPLICIT EXTENSION
1357 NEXTEXT,ISZ DEF /NO EXPLICIT EXT AND YES DEFAULT EXT
1358 ISZ DEF /POINT TO NEXT POSSIBLE DEFAULT EXTENSION
1359 JMP EXT2 /AND TRY FOR IT
1374 ISZ DEF /POINT TO NEXT ENTRY
1376 MAT, TAD I DEF /RETURN WITH IT IN AC
1382 SNA CLA /WAS FILENAME SPECIFIED ON ZERO CMD?
1383 TAD I CLACON /OR WAS NO OUT DEVICE SPECIFIED?
1385 JMP I (CDER2 /YES... ERROR
1386 JMP I ZERSUB /NO, OKAY.
1387 \fIOERR, JMS I (PRMESG
1391 TAD BASPTR /PUSH PTR BACK TO BEGIN OF ENTRIES
1392 JMS I (REMEM /REMEMBER THIS IN DEPENDENT WORD
1403 JMS I (BATCH /IS BATCH RUNNING?
1409 TAD I DEFALT /LEAVE 5200 IN AC IF SPECIAL MODE
1410 CB, HLT /CIF TO FIELD OF BATCH
1411 JMS I (BATSPL /ALLOW BATCH TO SPOOL STUFF
1427 CMA STL /THE FOLLOWING TURNS
1428 /ON THE CORRECT OPTION BIT
1444 /THIS ROUTINE DETERMINES IF THE CHARACTER IN THE AC IS A LETTER OR DIGIT
1445 /IF LETTER, RETURNS TO RET+1 WITH LETTER-"A IN AC AND LINK=0
1446 /IF DIGIT, RETURNS TO RET+1 WITH DIGIT-"0 IN AC AND LINK=1
1447 /IF NEITHER, RETURNS TO RET WITH CHAR-"A IN AC.
1449 TAD (-"9-1 /MIGHT BE CALLED WITH ANY DF
1465 TAD (-42 /AC MAY BE NON-0
1469 DCA I XR /ZERO THE COMMAND DECODER OUTPUT AREA
1489 /*** CAN'T PUT /A:VAL HERE BECAUSE GCH AINT RECURSIVE
1505 \fOLENGT, TAD I (OUTSW
1506 AND NAME1 /[N] IS ONLY LEGAL
1507 /ON THE OUTPUT SIDE OF THE "_"
1508 SNA CLA /AND ONLY AFTER A FILE NAME
1514 DCA I (NUMFUJ /SET "NUMBER" TO ACCEPT
1525 TAD (-"] /IS THERE A CLOSING BRACKET?
1527 /"DLOOK" ROUTINE WILL DETECT IT
1532 TAD (200 /SET /Q SWITCH
1548 FATALFLG,0 /CIF CDF BATCH FIELD IF WANT TO ABORT
1565 JMP I PCHAR /IGNORE NULLS
1568 TAD (240 /CAN'T USE 'TTY240'
1592 CIFB, HLT /REPLACED BY CIF BATCH FIELD
1600 IAC /CONVERT CIF TO CIF CDF
1605 TAD (-"# /DON'T TYPE #'S
1626 DCA CRLF /AC NON-0 MEANS DON'T CRLF
1660 \fCCERB, JMS I (PRMESG
1662 CDER1, JMS I (PRMESG
1664 CDER5, JMS I (PRMESG
1666 CCER1, TAD I (NAMPTR
1686 JMP I (CDER2 /B DOES NOT EXIST
1710 SWTCHS, 1423; P1 /LS
1720 ZBLOCK 2 /PATCH ROOM FOR USER
1740 JMS BLSCAN /IGNORE INITIAL SPACES
1766 JMP I BLSCAN /LEAVE CHAR IN AC
1772 "P;"A /KEEP HERE TO MAKE EASY TO PATCH
1778 JMP CMDERR /DON'T ALLOW MAKE <CR>
1798 TAD (-5 /ZERO OPTION TABLE TOO
1804 /PUT FOLLOWING CHARS INTO TECO BUFFER VIA TXR
1816 \f/MOVE CHARS FROM FIELD 0 LINE BUFFER
1817 /FROM SAVLXR+1 TO LXR-1 INCLUSIVE
1818 /INTO TECO LINE BUFFER AT 17600
1827 JMP I (CDER2 /NO FILE SPEC
1844 TAD (-"< /ALLOW "_" AS WELL AS "<"
1851 DCA I LXR /CHANGE < TO 0
1868 \fTECNORM,JMS TECPUT
1879 CMDERR, JMS I (PRMESG /NOT A LEGAL KEYWORD
1883 AND (177 /TECO LIKES 7-BIT
1887 TAD (-7646 /CHECK FOR OVERFLOW OF CD AREA
1890 CDER9, JMS I (PRMESG
1901 EXTOK, JMS I (TECPUT
1902 ALTMODE;"Y;"H;"X;"Y;"H;"K;"I;0
1909 G, STL CLA RAR /PREVENT 'GCH' FROM HANDLING SPACE AND /
1911 AND (177 /GET RID OF HIGH ORDER BIT
1917 ALTMODE;"M;"Y;0 /MACRO GETS CALLED WITH POINTER PAST CHARS
1920 \f/SET DEFAULT EXTENSION
1927 DCA C2 /FALL THRU 2ND EXT
1933 TAD I TYR /GET LAST CHAR (NO EXT)
1934 TAD (-56 /WAS IT A DOT?
1937 JMS I (TECPUT /NO, USE DEFAULT EXTENSION
1952 CCERA, JMS I (PRMESG
1956 SNA CLA /BETTER BE NO INPUT
1957 TAD I (7600 /ANYTHING THERE?
1959 JMP I (CDER2 /NO OUTPUT OR YES INPUT
1960 JMS EDSUB /REMOVE BACK-ARROW AND REMEMBER CREATE LINE
1965 DCA I ARLOC /REPLACE ARROW BY NULL
1967 JMS I (REMEM /REMEMBER NEW COMMAND LINE
1971 ARLOC, . /LOCATION OF BACK-ARROW IN COMMAND LINE
1972 /'.' IS HARMLESS PTR IN CASE NO ARROW
1984 CDER7, JMS I (PRMESG
1986 CDER6, JMS I (PRMESG
2005 DCA I (ARLOC /REMEMBER WHERE WE INSERTED A "_"
2033 ATMORE, TAD (BEGLN-1
2053 JMP I (ATERR /IF NO FILESPEC AFTER @, ERROR
2055 TAD I (LNAME /GET BLOCK NUMBER
2060 NWB, BFR+200 /INTO BUFFER
2062 BLN, 0 /FROM THIS BLOCK
2063 JMP I (ATERR / I/O ERROR
2094 / JMP I (LEAVE /LEAVE BECAUSE LINE NOW EMPTY
2099 JMP CTZ /END AT 0 OR ^Z
2103 TAD (32-16 /IGNORE CR,LF,FF,VT
2108 TAD (212 /FORCE 8-BIT
2119 DCA LXR /INCASE @ GOES TO EOL
2120 JMS I (GLXR /SEARCH FOR EOL
2129 TAD (BFR /GET LENGTH OF INSERTED STUFF
2132 TAD I ATEND /GET NEXT CHAR AFTER FILESPEC
2135 SZA CLA /IS IT AN APOSTROPHE?
2138 ISZ ATEND /MAKE IT GO AWAY
2140 JMS I (MOVE /MOVE REST OF LINE UP
2142 ATEND, 0 /FIRST CHAR POSITION AFTER @ SPEC
2145 TAD NEWLEN /IF 0, 'MOVE' WILL IGNORE IT
2146 JMS I (MOVE /MOVE IN NEW STUFF
2150 SAVL, 0 /POINTS TO @
2161 JMS I (MOVE /MOVE BACK END
2165 NEWEND, 0 /FIRST POSITION AFTER NEW STUFF
2166 JMP I (ATMORE /LOOK FOR MORE
2167 \fATOVER, JMS I (PRMESG
2170 ENDLEN, 0 /- NO. OF CHARS AT END INCLUDING 0
2193 \fNEWLEN, /- NO. OF CHARS BEING INSERTED
2206 \f/ TAD (-# OF LOCS TO MOVE
2215 TAD I MOVE /GET FROM CDF
2219 TAD I MOVE /GET FROM LOC-1
2222 TAD I MOVE /GET TO CDF
2226 TAD I MOVE /GET TO LOC-1
2228 ISZ MOVE /POINT TO RETURN
2231 JMP I MOVE /V1A IGNORE 0 MOVE
2246 BADCOR, JMS I (PRINT
2251 ABSCOR, JMS I (PRINT
2255 WRSCOR, JMS I (PRINT
2268 JMS I (BATCH /IS BATCH RUNNING?
2270 K7600, 7600 /YES (CLEAR AC)
2272 TAD (7647-1 /POINT INTO DEVICE HANDLER RESIDENCY TABLE
2274 TAD I TMP1 /GET HANDLER STARTING ADDRESS
2276 SZA CLA /IS SQUISHED DEVICE SYS:?
2279 SQWARN /YES, WARN USER
2290 JMP I SETOUT /HE'S SPECIFIED SOMETHING
2296 JMP I (CCER2 /NO SUCH DEVICE
2301 SNA CLA /USING 2ND OUT DEV?
2309 OLOC, 7600 /INITIALLY 7600 OR 7605
2318 DCA I (7617 /'CCBTCH' IS ON SYS:
2321 TAD (20 / ALSO /H (HUSH) OPTION
2324 JMP I (ZOW /CHAIN TO BATCH
2345 JMS I (GETYR /V3D DATE/78 ALGORITHM
2410 JMS I (LOOK /LOOKUP SYS:DATE.SV
2412 JMP I DATE /DO NOTHING IF IT'S NOT THERE
2413 JMP I (CHAIN /CHAIN TO IT, IF IT'S THERE
2414 \fNODATE, JMS I (PRMESG
2427 5723 /PACKED ENCODING FOR 'DSK:'
2428 DSKDEV, 0 /SET TO DEVICE NUMBER
2430 TM1, HLT /NO 'DSK' !
2434 \f/CCL REMEMBERS UP TO 8 COMMAND LINES (EACH UP TO 55 DECIMAL
2435 /SIXBIT CHARACTERS LONG) IN BLOCK 65 ON THE SYSTEM DEVICE.
2436 /THIS BLOCK WHEN READ INTO 04000-04377 HAS THE FOLLOWING FORMAT:
2438 /4000-4037 REM-LINE 0
2439 /4040-4177 REM-LINE 1
2440 /4100-4137 REM-LINE 2
2441 /4140-4177 REM-LINE 3
2442 /4200-4237 REM-LINE 4
2443 /4240-4277 REM-LINE 5
2444 /4300-4337 REM-LINE 6
2445 /4340-4377 REM-LINE 7
2447 /EACH REM-LINE HAS THE FOLLOWING FORMAT:
2449 /WORD 0: IN-USE FLAG, MUST BE '1234' TO INDICATE LINE WAS REMEMBERED HERE
2450 /WORD 1: DATE LINE WAS REMEMBERED
2451 /WORD 2: COMMAND DEPENDENT INFORMATION
2452 /WORD 3: RESERVED FOR FUTURE EXPANSION
2453 /WORDS 4-37 COMMAND LINE NOT INCLUDING KEYWORD OR FOLLOWING SPACES
2454 / PACKED IN 6-BIT AND TERMINATED BY A 6-BIT 0.
2462 /REMEMBERS CURRENT LINE IN REM-LINE N. AC IS LINE DEPENDENT INFORMATION.
2463 /IF LINE IS TOO BIG, THIS PRINTS A WARNING MESSAGE AND RETURNS AS IF OK.
2468 /RECALLS REM-LINE N INTO BUFFER
2469 /IF NOTHING THERE, PRINTS A BAD SYNTAX MESSAGE AND RETURNS TO OS/8.
2470 /UPON RETURN, LINE-DEPENDENT INFO IS IN AC.
2471 /IF DATES DON'T MATCH, IT'S NOT THERE UNLESS DATE = -1
2473 /0 USED BY TECO, MAKE COMMANDS
2474 /1 USED BY EDIT, CREATE COMMANDS
2475 /2 USED BY COMPILE, EXECUTE COMMANDS & PAL.
2476 / DEPENDENT WORD IS PTR TO FIRST ENTRY IN MAIN TABLE
2478 /3 USED BY 'UA' COMMAND
2484 /CAUSES NEXT CALL TO REMEM TO INSERT -1 AS DATE
2492 JMP I REMEM /DON'T REMEMBER IF JUST RECALLED
2507 FORVR, TAD I (DATWD /REPLACED BY CMA IF WANT NO DATE
2508 JMS LPUT /STORE DATE
2510 JMS LPUT /STORE DEPENDENT INFO
2512 JMS I (SCAN /GO PAST KEYWORD AND BLANKS
2530 LPTR, 0 /PTS TO REM-LINE
2551 JMP I FOREVER /NON-ZERO MEANS SET DATE TO -1
2572 TAD I (DATWD /SAME DAY?
2577 JMS LGET /IGNORE RESERVED WORD
2622 JMP I CHKSUP /CAN'T SUP IF NO FILENAME
2624 JMS I (LOOK /LOOK UP FILE
2626 JMP I CHKSUP /NOT FOUND (GOOD)
2631 REMERR, JMS I (PRMESG
2633 REMER2, JMS I (PRMESG
2643 200 /READ 2 PAGES INTO FIELD 0
2653 4200 /WRITE 2 PAGES FROM FIELD 0
2661 DCA I (OUTSW /LOAD HANDLER
2680 /GET FROM INPUT LINE VIA XR
2690 \f/THIS GETS A DEV:NAME.EXT SPECIFICATION (USING LXR)
2691 /PUTTING RESULT IN DEV1,DEV2, NAME1-4.
2692 /IT GIVES A FATAL ERRORR MESSAGE IF BAD.
2699 TAD (-": /AC CONTAINED DELIM
2708 JMP CDERA /. OR # IN DEVICE NAME
2712 JMP CDERA /CATCHES A:B:
2717 \fCDERA, JMS I (PRMESG
2728 SZA CLA /IS THIS A REQUEST FOR A
2732 DCA OUTLIM /YES, SET UP THE PROPER LOCATIONS
2734 DCA LIMDIF /TO GET 1 OUTPUT AND 5 INPUT FILES
2736 DCA BEGDIF /ALL OF WHICH ARE
2737 /5-WORD <DEVICE,NAME> ENTRIES
2740 DCA I PSTARS /AND ALLOW *
2741 /AS A FILE OR EXTENSION NAME
2742 TAD CCLA /STOPS FETCHES IN SPECIAL MODE
2743 DCA I PSPKG1 /NO HANDLER FETCHES NECESSARY EITHER
2752 /CONSTANTS NECESSARY TO SUPPORT "SPECIAL DECODE" MODE
2754 ALTDF1, MOFILE+5-MPARAM+5
2760 BEGDIF, MIFILE-MOFILE
2761 LIMDIF, MIFILE-MPARAM+2
2763 LBEGIN, 0 /PTS TO 1 CHAR BEFORE COMMAND KEYWORD ARGUMENT
2765 DCA PT1 /V1A ARG IN AC
2768 SMA CLA /FEATURE ENABLED?
2772 JMP I (CCERB /ON OUTPUT SIDE
2774 SNA CLA /DON'T CHANGE OUT DEV IF SPECIFIED
2775 TAD I (FLAG /LOOK AT 'COPY EXT' BIT
2778 JMP NMXXX /IT WASN'T SET
2779 TAD I (7617 /GET FIRST INPUT DEVICE
2780 AND (17 /ISOLATE DEVICE BITS
2781 DCA I CCLA /FORCE THIS TO BE FIRST OUTPUT DEVICE
2784 JMS I (SETDSK /CHANGE TO 'IAC' TO ALWAYS USE SYS:
2785 DCA I PT1 /SET DEVICE TO SYS IF NONE
2787 TAD I PT1 /WAS THERE A SPECIFICATION THERE?
2789 JMP I NMOVE /YES, DO NOTHING
2791 AND (200 /GET 'COPY EXTENSION' BIT
2792 L7740, SMA SZA CLA /'SMA' IS UNNECESSARY
2793 STA /COPY 4 WORDS IF BIT 4 WAS ON
2794 TAD (-3 /OTHERWISE ONLY COPY 3 WORDS
2806 JMS I (RDMON /READ MONITOR
2808 TAD I (2031 /GET PATCH LEVEL
2813 TAD I (2000 /GET VERSION #
2816 CCLA, 7600 /"0" MEANS OLD
2821 \f/ALLOW DEASSIGN FOO ?
2838 \fSTARJM, RELOC STARNM /DUMP LITERALS AT LAST POSSIBLE MOMENT
2843 \f/CCL.SV (THE IMPORTANT PART) MUST BE A SINGLE CORE-LOAD
2844 /CONTIGUOUS LOAD, BECAUSE OF THE WAY THE MONITOR LOADS IT.
2845 /FORTUNATELY, FIELD 0 STUFF OCCURS AFTER FIELD 1 STUFF IN THE
2846 /OS/8 CORE-IMAGE FORMAT.
2847 /FOR VERSION OF THE MONITOR BEFORE LEVEL A,
2848 /THE TOTAL LENGTH OF CCL.SV MUST BE LESS THAN14 BLOCKS
2849 /OR IT READS OVER 7600.
2850 /BUT NOW CCL COMES IN AND READS THE REMAINDER OF ITSELF
2851 /INTO FIELD 0. 400-777 IS IGNORED BY SKIPPING A BLOCK,
2852 /THEN THER REST OF CCL (7 PAGES) IS READ IN.
2858 /IT LOADS OVER THE SAVE, DATE OVERLAY
2859 /AND STARTS AT LOCATION 600
2861 /KEYWORD TABLE IN 400-
2863 /CONSISTS OF COMMANDS 2 CHARS PER LOCATION
2864 /IN 5-BIT ASCII (ONLY LETTERS ARE LEGAL)
2865 /SEPARATED FROM EACH OTHER BY 6-BIT 00'S.
2866 /EACH ENTRY STARTS ON A WORD BOUNDARY, BUT IF YOU
2867 /NEED THE ROOM, THEY NEED NOT WITH A SIMPLE FIX
2868 /BIT 40 ON MEANS THAT THE CHARACTER ISN'T REQUIRED
2869 /BUT IF THE USER DOES TYPE A LETTER, IT MUST MATCH.
2875 0002 /BA CKSP OR TER MIN
2996 THIS IS THE TECO MACRO WHICH WAS USED TO CREATE THE ABOVE TABLE:
2999 HKGYJ2S
\ 1\eR0,.KHXAHKMA
3000 \ 1TYPE COMMANDS, SPACE SEPARATES MANDATORY PART FROM
3001 OPTIONAL PART, CR TERMINATES COMMANDS, ^Z TERMINATES ALL.
3003 \ 1HKHXYHXN0UO0UB0UN
3004 !CHLP!^TUL
\eQL-32"EOBLANK
\e'QL-13"EOCR
\e'QL-26"EOEND
\e'
3005 !CHLP0!QL&63+QBUT
\e QT/8UX
\eQX+48I
\eQT-(8*QX)+48I
\e
3006 QL"NZJ.UZGNQLI
\eQZJXNK%N
\e'
3007 %O&1"NOCHLP
\e' QN-3"LZUH'I
3009 !BLANK! 32UBZJ.UZGNQLI
\eQZJXNK%N
\eOCHLP
\e
3011 \ 1QHJ /
\eGNZJXN0UN0UB0ULOCHLP0
\e
3022 ERRET=33 /THESE ARE LOCATIONS FROM OS/8 MONITOR
3024 /RUNS IN FIELD 0 ONLY.
3026 ENTRY, 0 /INITIALLY 0 MEANS 'EX' COMMAND
3027 LINPTR, JMP ENTREE /OS/8 JUMPS HERE (ACTUALLY TO 600)
3029 TEKLDG, ISZ CCLNHR /TECO 'EG' JUMPS HERE
3030 DCA I (BEGLN /ZERO COMMAND LINE
3031 JMP TEGO /FIRST WE DISABLE CALLS TO MONITOR
3037 SPA CLA /WAS IT A LEGAL COMMAND?
3039 TEGO, TAD (6003 /YES
3042 JMS I MYSYS /CALL USR AND LOCK IN CORE
3050 CCLNHR, JMP NOCCL /ISZ'ED IF KBM NOT IN MEMORY
3055 CCLCCW, 2711 /READ 27 PAGES OF CCL.SV
3058 CCLRDB, 7700 /INITIALLY POINTS TO USR
3062 \fCCLSV, FILENAME CCL.SV
3065 JMP I (7605 /GO BACK TO MON IF CCL NOT FOUND ON TECO EG COMMAND
3066 JMS I (PRMES /PRINT ERROR MESSAGE OTHERWISE
3069 \f/FINDS IF INPUT LINE STARTS WITH A COMMAND
3070 /LEAVES ENTRY # IN AC, -1 IF NOT FOUND
3071 /ENTRIES START AT ENTRY 0.
3072 /CALLABLE FROM ANY FIELD
3083 JMP ENDOFT /NO MATCH
3090 JMP NOLET /NOT A LETTER
3095 AND (37 /5-BIT ASCII
3097 SNA CLA /DO THEY MATCH?
3101 JMP .-2 /SCAN TO NEXT ENTRY
3113 RETCIF, CDF 0 /RETURN TO CALLING FIELD (MAY BE OVERLAID)
3116 \fHALF, -1 /0 MEANS LEFT HALF
3117 SIGNIF, 0 /1 MEANS 40 BIT ON WHICH MEANS CHAR IS SIGNIF ONLY IF PRESENT
3119 /GETKAR GETS NEXT 5-BIT CHAR, LEAVES IT IN AC
3120 /SETS SIGNIF TO -1 IF 40 BIT WAS PRESENT
3121 /TAKES RETURN 1 IF CHAR IS 0
3122 /TAKES RETURN 2 OTHERWISE
3182 JMP I (DETC2 /GO TO NEXT PAGE
3195 \fMON1, TEXT /JANUARY/
3196 MON2, TEXT /FEBRUARY/
3203 MON9, TEXT /SEPTEMBER/
3204 MON10, TEXT /OCTOBER/
3205 MON11, TEXT /NOVEMBER/
3206 MON12, TEXT /DECEMBER/
3207 \fCOM19, TEXT /, 19/
3224 BADMON, TEXT /#BAD MONITOR/
3226 \fHISIZ, 0 /HIGHEST MEMORY BANK
3227 NEWCOR, 0 /PROPOSED NEW MEMORY BANK
3245 TAD I XRL /GET NEXT CHAR
3247 JMP COREQ /NOT SETTING CORE SIZE
3253 JMP DETER /TRIED TO SET CORE SIZE GT 7
3258 JMP BADKOR /TRIED TO SET SOFTWARE CORE SIZE GT REAL CORE SIZE
3260 RTL /BATCH BIT TO LINK
3262 JMP WRSKOR /CAN'T CHANGE CORE SIZE UNDER BATCH
3284 JMP I (ABSCOR /DON'T PRINT SOFT IF = REAL
3334 \fERRCMD, TEXT /#ERROR IN COMMAND/
3335 BADVMS, TEXT /#CCL 3X OVERLAY AND MONITOR INCOMPATIBLE/
3340 \fLOVMES, TEXT /NOT WAR?/
3341 KILMES, TEXT /FILES DELETED:/
3342 RENMES, TEXT /FILES RENAMED:/
3343 MOVMES, TEXT /FILES COPIED:/
3346 CORMES, TEXT /00K MEMORY/
3348 \fNOCORE, TEXT /# NOT ENOUGH MEMORY/
3349 BATCOR, TEXT /#CANNOT CHANGE MEMORY LIMIT WHILE RUNNING BATCH/
3353 \fSUP, TEXT /%SUPERSEDING/
3354 MEMWARN,TEXT /%CAN'T REMEMBER/
3355 SQWARN, TEXT /%BATCH SQUISHING SYS:!/
3356 SYSER, TEXT \#I/O ERROR ON SYS:\
3357 BADSYN, TEXT /#ILLEGAL SYNTAX/
3358 TOOMAN, TEXT /#TOO MANY FILES/
3359 NF, TEXT / NOT FOUND/
3360 DNE, TEXT / DOES NOT EXIST/
3361 SEMSG1, TEXT /? ENTER ERROR/
3362 SEMSG2, TEXT \?I/O ERROR\
3363 SEMSG3, TEXT /?DEVICE FULL/
3364 SEMSG4, TEXT /?CLOSE ERROR/
3365 \fATIO, TEXT /#BAD FILENAME OR ERROR READING INDIRECT FILE/
3366 OVFLOW, TEXT /#COMMAND LINE OVERFLOW/
3367 BADNUM, TEXT /#BAD NUMBER/
3368 BADSTR, TEXT /#ILLEGAL * OR ?/
3369 \fBADX, TEXT /#BAD EXTENSION/
3370 BADOPT, TEXT /#BAD SWITCH OPTION/
3371 TOOLNG, TEXT /#COMMAND TOO LONG/
3372 REMBAD, TEXT \#I/O ERROR TRYING TO RECALL\
3373 \fBADSW, TEXT /#SWITCH NOT ALLOWED HERE/
3374 BADSW2, TEXT /#BAD CCL SWITCH/
3376 BADREM, TEXT /#BAD RECOLLECTION/
3377 BADEV, TEXT /#BAD DEVICE/
3378 CONTRA, TEXT /#CONTRADICTORY SWITCHES/
3379 \fVMES, TEXT \OS/8 - KBM V3A - CCL V1A\
3386 \fYEDIT, FILENAME EDIT.SV
3388 YBOOT, FILENAME BOOT.SV
3390 YFORT, FILENAME FORT.SV
3394 YBITMAP,FILENAME BITMAP.SV
3396 YSRCCOM,FILENAME SRCCOM.SV
3398 YBCOMP, FILENAME BCOMP.SV
3400 YPAL8, FILENAME PAL8.SV
3402 YFOTP, FILENAME FOTP.SV
3404 /YCREF, FILENAME CREF.SV
3406 YDIRECT,FILENAME DIRECT.SV
3408 \fYPIP, FILENAME PIP.SV
3410 YABSLDR,FILENAME ABSLDR.SV
3412 YLOADER,FILENAME LOADER.SV
3414 YLOAD, FILENAME LOAD.SV
3416 YTECO, FILENAME TECO.SV
3418 YLPTSPL,FILENAME LPTSPL.SV
3420 YCAMP, FILENAME CAMP.SV
3422 YSET, FILENAME SET.SV
3424 YBASIC, FILENAME BASIC.SV
3426 YRXCOP, FILENAME RXCOPY.SV
3428 YRESORC,FILENAME RESORC.SV
3430 YBATCH, FILENAME BATCH.SV
3432 YRALF, FILENAME RALF.SV
3434 YSABR, FILENAME SABR.SV
3436 YFRTS, FILENAME FRTS.SV
3438 YDATE, FILENAME DATE.SV
3440 YCCL, FILENAME CCL.SV
3442 YHELP, FILENAME HELP.SV
3444 YMACREL,FILENAME MACREL.SV
3446 YLINK, FILENAME LINK.SV
3448 \fBATHED, "$;"J;"O;"B;215;212;".;0
3449 BATAIL, ".;"R;240;"F;"O;"T;"P;215;212
3450 "*;"S;"Y;"S;":;"C;"C;"B;"T;"C;"H;".;"T;"M;"/;"D;"$;215;212
3451 "$;"E;"N;"D;215;212;32;0
3452 TEMNAM, FILENAME CCBTCH.TM
3453 \fLPTDEV, DEVICE LPT
3459 \f BATBUF=4400 /LOCATION OF ONE BLOCK BATCH TEMP BUFFER
3461 GLINE=1200 /LOCATION FROM KBM
3462 CTRLCK=1241 /LOC FROM KBM, PTS TO PLACE TO BRANCH ON ^C
3474 JMP SEMGO /NO SEMICOLONS
3483 BLKLEN, 0 /NEG OF LENGTH
3484 JMP SEMER1 /ENTER ERROR
3490 DCA I (CTRLCK /FORCE ^C TO GLINE TO GO TO 7600
3496 DCA LCHAR /SAVE CHAR
3505 TAD (-"; /LOOK AT LAST CHAR
3506 SZA CLA /WAS IT SEMICOLON?
3507 JMP BATEND /NO, END OF TEMP BATCH STREAM
3508 JMS I (GLINE /YES, READ NEW LINE FROM KEYBOARD
3509 /**** WHAT IF WE'RE RUNNING UNDER BATCH ****
3531 JMS BATWRIT /WRITE OUT BUFFER IF FULL
3538 JMP SEMER2 / I/O ERROR
3539 ISZ BATBLK /POINT TO NEXT BLOCK
3540 ISZ BATLEN /BUMP LENGTH
3543 JMP SEMER3 /DEVICE FULL
3557 BATLEN, 0 /LENGTH OF TEMPORARY FILE
3558 JMP SEMER4 /CLOSE ERROR
3574 SEMER4, IAC /CLOSE ERROR
3575 SEMER3, IAC /DEVICE FULL
3576 SEMER2, IAC / I/O ERROR
3577 SEMER1, IAC /ENTER ERROR