| 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 |