Commit | Line | Data |
---|---|---|
81e70d48 PH |
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 |