A large commit.
[pdp8.git] / sw / os8 / v3d / sources / devext / dectapes / dectape1 / cclsub.ma
CommitLineData
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
61USRSUB, 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
73U$: 0
74 JMP I USRSUB
75\f .SBTTL BASIC COMMAND
76
77BASUB, 0
78 TAD (200 /SET /Q SWITCH
79 DCA I (MPARAM+1
80 JMP I BASUB
81\f .SBTTL VERSION COMMAND
82
83VERTN, 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
94KK7600: 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
111TEM$: 0
112\f .SBTTL DEASSIGN COMMAND
113
114/ALLOW DEASSIGN FOO ?
115
116DEASSIGN,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
132T$: 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
147ZERSUB, 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
155CMDERR, JMS I (PRMESG /NOT A LEGAL KEYWORD
156 ERRCMD
157
158RENMES, 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
183SETPA, 0
184 JMS I (SETX
185 "P;"A /KEEP HERE TO MAKE EASY TO PATCH
186 JMP I SETPA
187
188MAKSUB, 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
204SETLXR, 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
217TECPUT, 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
231TECMOV, 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
239L$: 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
251TECSUB, 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
2641$: 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"
283TECLV, JMS I (REMEM
284 0
285 JMP I TECSUB
286SAVLXR, 0
287 PAGE
288\f .SBTTL MUNG COMMAND
289
290TPUT, 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
301MNGSUB, 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
315L$: 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$
322F$: PUT "$MY" /MACRO GETS CALLED WITH POINTER PAST CHARS
323 JMP I MNGSUB
324TYR, 0
325\f/SET DEFAULT EXTENSION
326
327SETX, 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 ".
3441$: 0
3452$: 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
375TOOLNG, 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
381CRSUB, 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
391EDSUB, 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
399ARLOC, . /LOCATION OF BACK-ARROW IN COMMAND LINE
400 /'.' IS HARMLESS POINTER IN CASE NO ARROW
401\f .SBTTL SQUISH COMMAND
402
403SQSUB, 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
411K7600, 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
422T$: 0
423\f .SBTTL COPY, MOVE, AND DELETE COMMANDS
424
425KILRT, 0
426 STL CLA RAR /4000 MEANS NOT PACKED
427 JMS I (PRINT
428 KILMES
429 JMP I KILRT
430
431RENRT, 0
432 JMS I (PRINT
433 RENMES
434 JMP I RENRT
435
436MOVRT, 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
446LOVMES, TEXT /NOT WAR?/
447SUP, TEXT /%SUPERSEDING/
448ERRCMD, TEXT /#ERROR IN COMMAND/
449SQWARN, TEXT /%BATCH SQUISHING SYS:!/
450MOVMES, TEXT /FILES COPIED:/
451 .ENABLE ASCII
452KILMES, TEXT /Files deleted:/
453 .ENABLE SIXBIT
454 PAGE