| 1 | / |
| 2 | / |
| 3 | / |
| 4 | /COPYRIGHT (C) 1979 BY DIGITAL EQUIPMENT CORPORATION |
| 5 | / |
| 6 | / |
| 7 | / |
| 8 | /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE |
| 9 | /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT |
| 10 | /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY |
| 11 | /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. |
| 12 | / |
| 13 | /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER |
| 14 | /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED |
| 15 | /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH |
| 16 | /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. |
| 17 | / |
| 18 | /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE |
| 19 | /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY |
| 20 | /DIGITAL. |
| 21 | / |
| 22 | / |
| 23 | / |
| 24 | |
| 25 | \f |
| 26 | /VERSION=V3A (D.H.) |
| 27 | \f/3 CCL SIMPLE COMMAND SUBROUTINES |
| 28 | |
| 29 | .EXTERNAL REMD,REGO,FLAG,FOREVER,REMEM,PRMESG |
| 30 | .EXTERNAL RDMON,BATCH |
| 31 | .GLOBAL USRSUB,BASUB,DEASSIGN |
| 32 | .EXTERNAL ASSIGN,FUDG,DVICE,LOOK,PRINT |
| 33 | .ENTRY VERTN /CALLED INDEPENDENTLY BY CCL |
| 34 | .GLOBAL CRSUB,EDSUB,ZERSUB |
| 35 | .GLOBAL TECSUB,MAKSUB,MNGSUB |
| 36 | .GLOBAL SQSUB,KILRT,RENRT,MOVRT |
| 37 | .EXTERNAL CDER2,GETSPC,GCH,ZEROCD,LBEGIN |
| 38 | .ENTRY CMDERR |
| 39 | .ENTRY CCSUB |
| 40 | .GLOBAL ARLOC /**** |
| 41 | MOFILE=7600 |
| 42 | MPARAM=7643 |
| 43 | |
| 44 | XR2=15 |
| 45 | XR=16 |
| 46 | NAME1=23 |
| 47 | NAME2=24 |
| 48 | NAME3=25 |
| 49 | NAME4=26 |
| 50 | DELIM=32 |
| 51 | LXR=34 |
| 52 | OS78BIT=7771 |
| 53 | CCLNUM="3 |
| 54 | CCLVER="A |
| 55 | \f .SBTTL UA,UB,UC COMMANDS |
| 56 | .RSECT CCLSUB |
| 57 | FIELD 1 |
| 58 | |
| 59 | /TEST END OF TABLE |
| 60 | |
| 61 | USRSUB, 0 |
| 62 | TAD I (REMD |
| 63 | SMA CLA |
| 64 | JMP I (REGO /REMEMBERED A NEW LINE |
| 65 | TAD I (FLAG /WANT TO |
| 66 | AND (70 |
| 67 | CLL RTR |
| 68 | RAR |
| 69 | TAD (-1 /IN THIS REM-LINE |
| 70 | DCA U$ |
| 71 | JMS I (FOREVER /NO DATE |
| 72 | JMS I (REMEM |
| 73 | U$: 0 |
| 74 | JMP I USRSUB |
| 75 | \f .SBTTL BASIC COMMAND |
| 76 | |
| 77 | BASUB, 0 |
| 78 | TAD (200 /SET /Q SWITCH |
| 79 | DCA I (MPARAM+1 |
| 80 | JMP I BASUB |
| 81 | \f .SBTTL VERSION COMMAND |
| 82 | |
| 83 | VERTN, 0 |
| 84 | JMS I (RDMON /READ MONITOR |
| 85 | CDF 0 |
| 86 | TAD I (2031 /GET PATCH LEVEL |
| 87 | SNA |
| 88 | TAD ("! |
| 89 | AND (77 |
| 90 | DCA TEM$ |
| 91 | TAD I (2000 /GET VERSION # |
| 92 | CDF 10 |
| 93 | SPA |
| 94 | KK7600: 7600 /"0" MEANS OLD |
| 95 | TAD (60 |
| 96 | CLL RTL |
| 97 | RTL |
| 98 | RTL |
| 99 | TAD TEM$ |
| 100 | DCA I (VLOC |
| 101 | CDF 0 |
| 102 | TAD I (OS78BIT |
| 103 | AND (200 / 78 |
| 104 | SZA CLA / OR |
| 105 | TAD (1000 / /8 |
| 106 | TAD (5770 |
| 107 | CDF 10 |
| 108 | DCA I (LOC78 |
| 109 | JMS I (PRMESG |
| 110 | VMES |
| 111 | TEM$: 0 |
| 112 | \f .SBTTL DEASSIGN COMMAND |
| 113 | |
| 114 | /ALLOW DEASSIGN FOO ? |
| 115 | |
| 116 | DEASSIGN,0 |
| 117 | TAD (7740 |
| 118 | DCA XR |
| 119 | TAD (-17 |
| 120 | DCA T$ |
| 121 | DCA I XR |
| 122 | ISZ T$ |
| 123 | JMP .-2 |
| 124 | CDF 0 |
| 125 | TAD I (7746 |
| 126 | AND (6777 |
| 127 | TAD (1000 |
| 128 | DCA I (7746 |
| 129 | CDF 10 |
| 130 | JMP I DEASSIGN |
| 131 | |
| 132 | T$: 0 |
| 133 | \fCHKSUP, 0 |
| 134 | JMS I (FUDG |
| 135 | JMS I (ASSIGN |
| 136 | TAD NAME1 |
| 137 | SNA CLA |
| 138 | JMP I CHKSUP /CAN'T SUP IF NO FILENAME |
| 139 | TAD I (DVICE |
| 140 | JMS I (LOOK /LOOK UP FILE |
| 141 | NAME1 |
| 142 | JMP I CHKSUP /NOT FOUND (GOOD) |
| 143 | JMS I (PRINT |
| 144 | SUP |
| 145 | JMP I CHKSUP |
| 146 | \f .SBTTL ZERO COMMAND |
| 147 | ZERSUB, 0 |
| 148 | TAD I (7601 |
| 149 | SNA CLA /WAS FILENAME SPECIFIED ON ZERO CMD? |
| 150 | TAD I KK7600 /OR WAS NO OUT DEVICE SPECIFIED? |
| 151 | SNA CLA |
| 152 | JMP I (CDER2 /YES... ERROR |
| 153 | JMP I ZERSUB /NO, OKAY. |
| 154 | |
| 155 | CMDERR, JMS I (PRMESG /NOT A LEGAL KEYWORD |
| 156 | ERRCMD |
| 157 | |
| 158 | RENMES, TEXT /FILES RENAMED:/ |
| 159 | PAGE |
| 160 | \f .SBTTL PUT MACRO |
| 161 | .NOLIST ME |
| 162 | |
| 163 | .MACRO PUT TXT |
| 164 | JMS TECPUT |
| 165 | |
| 166 | .IF IDN TXT[1],$< |
| 167 | .ENABLE ASCII |
| 168 | ;TEXT <ALTMODE>"TXT[2:0]" |
| 169 | .ENABLE SIXBIT |
| 170 | > |
| 171 | |
| 172 | .IF DIF TXT[1],$< |
| 173 | .ENABLE ASCII |
| 174 | ;TEXT /TXT/ |
| 175 | .ENABLE SIXBIT |
| 176 | > |
| 177 | |
| 178 | .ENDM |
| 179 | \f .SBTTL MAKE COMMAND |
| 180 | |
| 181 | ALTMODE=233 |
| 182 | |
| 183 | SETPA, 0 |
| 184 | JMS I (SETX |
| 185 | "P;"A /KEEP HERE TO MAKE EASY TO PATCH |
| 186 | JMP I SETPA |
| 187 | |
| 188 | MAKSUB, 0 |
| 189 | TAD DELIM |
| 190 | SNA CLA |
| 191 | JMP I (CMDERR /DON'T ALLOW MAKE <CR> |
| 192 | JMS SETLXR |
| 193 | JMS I (GETSPC |
| 194 | JMS I (LOVE |
| 195 | PUT "EW" |
| 196 | JMS TECMOV |
| 197 | JMS SETPA |
| 198 | PUT "$" |
| 199 | JMS I (CHKSUP |
| 200 | JMS I (REMEM |
| 201 | 0 |
| 202 | JMP I MAKSUB |
| 203 | |
| 204 | SETLXR, 0 |
| 205 | TAD I (LBEGIN |
| 206 | DCA LXR |
| 207 | TAD (MOFILE-1 |
| 208 | DCA I (TYR |
| 209 | TAD (-5 /ZERO OPTION TABLE TOO |
| 210 | JMS I (ZEROCD |
| 211 | TAD LXR |
| 212 | DCA SAVLXR |
| 213 | JMP I SETLXR |
| 214 | |
| 215 | /PUT FOLLOWING CHARS INTO TECO BUFFER VIA TXR |
| 216 | |
| 217 | TECPUT, 0 |
| 218 | / TAD NAME1 |
| 219 | / SNA CLA |
| 220 | / JMP I (CDER2 |
| 221 | TAD I TECPUT |
| 222 | ISZ TECPUT |
| 223 | SNA |
| 224 | JMP I TECPUT |
| 225 | JMS I (TPUT |
| 226 | JMP TECPUT+1 |
| 227 | \f/MOVE CHARS FROM FIELD 0 LINE BUFFER |
| 228 | /FROM SAVLXR+1 TO LXR-1 INCLUSIVE |
| 229 | /INTO TECO LINE BUFFER AT 17600 |
| 230 | |
| 231 | TECMOV, 0 |
| 232 | TAD SAVLXR |
| 233 | DCA XR2 |
| 234 | TAD SAVLXR |
| 235 | CMA |
| 236 | TAD LXR |
| 237 | SNA CLA |
| 238 | JMP I (CDER2 /NO FILE SPEC |
| 239 | L$: CDF 0 |
| 240 | TAD I XR2 |
| 241 | CDF 10 |
| 242 | JMS I (TPUT |
| 243 | TAD XR2 |
| 244 | CMA |
| 245 | TAD LXR |
| 246 | SNA CLA |
| 247 | JMP I TECMOV |
| 248 | JMP L$ |
| 249 | \f .SBTTL TECO COMMAND |
| 250 | |
| 251 | TECSUB, 0 |
| 252 | JMS SETLXR |
| 253 | JMS I (GETSPC |
| 254 | TAD DELIM |
| 255 | SNA |
| 256 | JMP TECNORM |
| 257 | TAD (-"< /ALLOW "_" AS WELL AS "<" |
| 258 | SZA |
| 259 | TAD ("<-"= |
| 260 | SZA |
| 261 | TAD ("=-"_ |
| 262 | SZA CLA |
| 263 | JMP I (CDER2 |
| 264 | 1$: CDF 0 |
| 265 | DCA I LXR /CHANGE < TO 0 |
| 266 | CDF 10 |
| 267 | PUT "EW" |
| 268 | JMS TECMOV |
| 269 | JMS SETPA |
| 270 | TAD LXR |
| 271 | DCA SAVLXR |
| 272 | JMS I (CHKSUP |
| 273 | JMS I (GETSPC |
| 274 | PUT "$ER" |
| 275 | JMS TECMOV |
| 276 | JMS SETPA |
| 277 | PUT "$Y" |
| 278 | JMP TECLV |
| 279 | \fTECNORM,PUT "EB" |
| 280 | JMS TECMOV |
| 281 | JMS SETPA |
| 282 | PUT "$Y" |
| 283 | TECLV, JMS I (REMEM |
| 284 | 0 |
| 285 | JMP I TECSUB |
| 286 | SAVLXR, 0 |
| 287 | PAGE |
| 288 | \f .SBTTL MUNG COMMAND |
| 289 | |
| 290 | TPUT, 0 |
| 291 | AND (177 /TECO LIKES 7-BIT |
| 292 | ISZ TYR |
| 293 | DCA I TYR |
| 294 | TAD TYR |
| 295 | TAD (-7646 /CHECK FOR OVERFLOW OF CD AREA |
| 296 | SZA CLA |
| 297 | JMP I TPUT |
| 298 | JMS I (PRMESG |
| 299 | TOOLNG |
| 300 | |
| 301 | MNGSUB, 0 |
| 302 | JMS I (SETLXR |
| 303 | JMS I (GETSPC |
| 304 | PUT "ER" |
| 305 | JMS I (TECMOV |
| 306 | JMS SETX |
| 307 | "T;"E |
| 308 | PUT "$YHXYHKI" |
| 309 | TAD DELIM |
| 310 | SNA |
| 311 | JMP F$ |
| 312 | TAD (-", |
| 313 | SZA CLA |
| 314 | JMP I (CDER2 |
| 315 | L$: STL CLA RAR /PREVENT 'GCH' FROM HANDLING SPACE AND / |
| 316 | JMS I (GCH |
| 317 | AND (177 /GET RID OF HIGH ORDER BIT |
| 318 | SNA |
| 319 | JMP F$ |
| 320 | JMS TPUT |
| 321 | JMP L$ |
| 322 | F$: PUT "$MY" /MACRO GETS CALLED WITH POINTER PAST CHARS |
| 323 | JMP I MNGSUB |
| 324 | TYR, 0 |
| 325 | \f/SET DEFAULT EXTENSION |
| 326 | |
| 327 | SETX, 0 |
| 328 | TAD I SETX |
| 329 | DCA 1$ |
| 330 | ISZ SETX |
| 331 | TAD I SETX |
| 332 | DCA 2$ /FALL THRU 2ND EXT |
| 333 | TAD NAME4 |
| 334 | SNA CLA |
| 335 | TAD NAME1 |
| 336 | SNA CLA |
| 337 | JMP I SETX |
| 338 | TAD I TYR /GET LAST CHAR (NO EXT) |
| 339 | TAD (-56 /WAS IT A DOT? |
| 340 | SNA CLA |
| 341 | JMP I SETX /YES |
| 342 | JMS I (TECPUT /NO, USE DEFAULT EXTENSION |
| 343 | ". |
| 344 | 1$: 0 |
| 345 | 2$: 0 |
| 346 | 0 |
| 347 | TAD 1$ |
| 348 | AND (77 |
| 349 | CLL RTL |
| 350 | RTL |
| 351 | RTL |
| 352 | DCA 1$ |
| 353 | TAD 2$ |
| 354 | AND (77 |
| 355 | TAD 1$ |
| 356 | DCA NAME4 |
| 357 | JMP I SETX |
| 358 | \fLOVE, 0 |
| 359 | TAD NAME1 |
| 360 | TAD (-'LO |
| 361 | SZA CLA |
| 362 | JMP I LOVE |
| 363 | TAD NAME2 |
| 364 | TAD (-'VE |
| 365 | SZA CLA |
| 366 | JMP I LOVE |
| 367 | TAD NAME3 |
| 368 | TAD NAME4 |
| 369 | SZA CLA |
| 370 | JMP I LOVE |
| 371 | JMS I (PRINT |
| 372 | LOVMES |
| 373 | JMP I LOVE |
| 374 | |
| 375 | TOOLNG, TEXT /#COMMAND TOO LONG/ |
| 376 | \fCCSUB, 0 /USED TO FORCE THIS OVERLAY IN |
| 377 | JMP I CCSUB |
| 378 | PAGE |
| 379 | \f .SBTTL CREATE COMMAND |
| 380 | |
| 381 | CRSUB, 0 |
| 382 | TAD I (7617 |
| 383 | SNA CLA /BETTER BE NO INPUT |
| 384 | TAD I K7600 /ANYTHING THERE? |
| 385 | SNA CLA |
| 386 | JMP I (CDER2 /NO OUTPUT OR YES INPUT |
| 387 | JMS EDSUB /REMOVE BACK-ARROW AND REMEMBER CREATE LINE |
| 388 | JMP I CRSUB |
| 389 | \f .SBTTL EDIT COMMAND |
| 390 | |
| 391 | EDSUB, 0 |
| 392 | CDF 0 |
| 393 | DCA I ARLOC /REPLACE ARROW BY NULL |
| 394 | CDF 10 |
| 395 | JMS I (REMEM /REMEMBER NEW COMMAND LINE |
| 396 | 1 |
| 397 | JMP I EDSUB |
| 398 | |
| 399 | ARLOC, . /LOCATION OF BACK-ARROW IN COMMAND LINE |
| 400 | /'.' IS HARMLESS POINTER IN CASE NO ARROW |
| 401 | \f .SBTTL SQUISH COMMAND |
| 402 | |
| 403 | SQSUB, 0 |
| 404 | TAD I K7600 |
| 405 | SZA CLA |
| 406 | JMP I SQSUB |
| 407 | TAD I (7617 |
| 408 | DCA I K7600 |
| 409 | JMS I (BATCH /IS BATCH RUNNING? |
| 410 | JMP I SQSUB /NO |
| 411 | K7600, 7600 /YES (CLEAR AC) |
| 412 | TAD I K7600 |
| 413 | TAD (7647-1 /POINT INTO DEVICE HANDLER RESIDENCY TABLE |
| 414 | DCA T$ |
| 415 | TAD I T$ /GET HANDLER STARTING ADDRESS |
| 416 | TAD (-7607 |
| 417 | SZA CLA /IS SQUISHED DEVICE SYS:? |
| 418 | JMP I SQSUB /NO |
| 419 | JMS I (PRINT |
| 420 | SQWARN /YES, WARN USER |
| 421 | JMP I SQSUB |
| 422 | T$: 0 |
| 423 | \f .SBTTL COPY, MOVE, AND DELETE COMMANDS |
| 424 | |
| 425 | KILRT, 0 |
| 426 | STL CLA RAR /4000 MEANS NOT PACKED |
| 427 | JMS I (PRINT |
| 428 | KILMES |
| 429 | JMP I KILRT |
| 430 | |
| 431 | RENRT, 0 |
| 432 | JMS I (PRINT |
| 433 | RENMES |
| 434 | JMP I RENRT |
| 435 | |
| 436 | MOVRT, 0 |
| 437 | JMS I (PRINT |
| 438 | MOVMES |
| 439 | JMP I MOVRT |
| 440 | \fVMES, TEXT \OS/8 - KBM V3A - CCL V1A\ |
| 441 | LOC78=VMES+1 |
| 442 | VLOC=VMES+6 |
| 443 | *.-2 |
| 444 | CCLNUM&77^100+<CCLVER&77> |
| 445 | *.+2 |
| 446 | LOVMES, TEXT /NOT WAR?/ |
| 447 | SUP, TEXT /%SUPERSEDING/ |
| 448 | ERRCMD, TEXT /#ERROR IN COMMAND/ |
| 449 | SQWARN, TEXT /%BATCH SQUISHING SYS:!/ |
| 450 | MOVMES, TEXT /FILES COPIED:/ |
| 451 | .ENABLE ASCII |
| 452 | KILMES, TEXT /Files deleted:/ |
| 453 | .ENABLE SIXBIT |
| 454 | PAGE |