A large commit.
[pdp8.git] / sw / os8 / v3d / sources / devext / dectapes / dectape1 / ccltab.ma
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/1 CCL OVERLAY TABLE
28
29 .EXTERNAL BEGLN,PRQMRK
30 .GLOBAL CCLBLC,NOCCL
31 CCLTAB="H
32
33 /CCL.SV (THE IMPORTANT PART) MUST BE A SINGLE CORE-LOAD
34 /CONTIGUOUS LOAD, BECAUSE OF THE WAY THE MONITOR LOADS IT.
35 /FORTUNATELY, FIELD 0 STUFF OCCURS AFTER FIELD 1 STUFF IN THE
36 /OS/8 CORE-IMAGE FORMAT.
37 /FOR VERSION OF THE MONITOR BEFORE LEVEL A,
38 /THE TOTAL LENGTH OF CCL.SV MUST BE LESS THAN14 BLOCKS
39 /OR IT READS OVER 7600.
40 /BUT NOW CCL COMES IN AND READS THE REMAINDER OF ITSELF
41 /INTO FIELD 0. 400-777 IS IGNORED BY SKIPPING A BLOCK,
42 /THEN THER REST OF CCL (7 PAGES) IS READ IN.
43
44 .ASECT TABLE0
45 FIELD 0
46
47 *400
48
49 /IT LOADS OVER THE SAVE, DATE OVERLAY
50 /AND STARTS AT LOCATION 600
51
52 /KEYWORD TABLE IN 400-
53
54 /CONSISTS OF COMMANDS 2 CHARS PER LOCATION
55 /IN 5-BIT ASCII (ONLY LETTERS ARE LEGAL)
56 /SEPARATED FROM EACH OTHER BY 6-BIT 00'S.
57 /EACH ENTRY STARTS ON A WORD BOUNDARY, BUT IF YOU
58 /NEED THE ROOM, THEY NEED NOT WITH A SIMPLE FIX
59 /BIT 40 ON MEANS THAT THE CHARACTER ISN'T REQUIRED
60 /BUT IF THE USER DOES TYPE A LETTER, IT MUST MATCH.
61 \fVNO, CCLTAB
62 KEYWRD,
63 0530 /EX ECUT
64 4543
65 6564
66 0002 /BA CKSP OR TER MIN
67 0143
68 5363
69 6000
70 0201 /BAS IC
71 2351
72 4300
73 0425 /DU PLICATE
74 6054
75 5143
76 4164
77 4500
78 0217 /BO OT
79 5764
80 0003 /CCL
81 0314
82 0003 /COMPA R
83 1715
84 2001
85 6200
86 0317 /COM PIL
87 1560
88 5154
89 0003 /COP Y
90 1720
91 7100
92 1505 /MEM ORY
93 1557
94 6271
95 0003 /CREA TE
96 2205
97 0164
98 4500
99 0322 /CREF
100 0506
101 0004 /DA TE
102 0164
103 4500
104 0405 /DEL ETE
105 1445
106 6445
107 0004 /DE A
108 0541
109 0004 /DIR ECT
110 1122
111 4543
112 6400
113 0504 /ED IT
114 5164
115 /0005 /EO F
116 /1746
117 0010 /HE LP
118 0554
119 6000
120 1411 /LIN K
121 1653
122 0015 /MAC R
123 0103
124 6200
125 1411 /LI ST
126 6364
127 0014 /LO AD
128 1741
129 4400
130 1501 /MAK E
131 1345
132 0015 /MAP
133 0120
134 0015 /MUNG
135 2516
136 0700
137 2001 /PAL
138 1400
139 2022 /PRI NT
140 1156
141 6400
142 2025 /PU NCH
143 5643
144 5000
145 2205 /REN AME
146 1641
147 5545
148 0022 /RES
149 0523
150 /0022 /REW IND
151 /0527
152 /5156
153 /4400
154 0003 /CA NCEL
155 0156
156 4345
157 5400
158 2305 /SET
159 2400
160 2313 /SK IP
161 5160
162 0023 /SQ UISH
163 2165
164 5163
165 5000
166 2325 /SU BMIT
167 4255
168 5164
169 0024 /TE CO
170 0543
171 5700
172 2431 /TY PE
173 6045
174 /0025 /UN LOAD
175 /1654
176 /5741
177 /4400
178 0022 /REQ U
179 0521
180 6500
181 2165 /Q UEUE
182 4565
183 4500
184 2501 /UA
185 0025 /UB
186 0200
187 2503 /UC
188 0026 /VE R
189 0562
190 0032 /ZERO
191 0522
192 1700
193 4000 /@
194 ZBLOCK 600-.
195 \f IFDEF XYZMCR <
196
197 THIS IS THE TECO MACRO WHICH WAS USED TO CREATE THE ABOVE TABLE:
198
199
200 HKGYJ2S\ 1\eR0,.KHXAHKMA
201 \ 1TYPE COMMANDS, SPACE SEPARATES MANDATORY PART FROM
202 OPTIONAL PART, CR TERMINATES COMMANDS, ^Z TERMINATES ALL.
203 ** NO EDITING **
204 \ 1HKHXYHXN0UO0UB0UN
205 !CHLP!^TUL\eQL-32"EOBLANK\e'QL-13"EOCR\e'QL-26"EOEND\e'
206 !CHLP0!QL&63+QBUT\e QT/8UX\eQX+48I\eQT-(8*QX)+48I\e
207 QL"NZJ.UZGNQLI\eQZJXNK%N\e'
208 %O&1"NOCHLP\e' QN-3"LZUH'I
209 \eOCHLP\e
210 !BLANK! 32UBZJ.UZGNQLI\eQZJXNK%N\eOCHLP\e
211 !CR! \ 1
212 \ 1QHJ /\eGNZJXN0UN0UB0ULOCHLP0\e
213 !END!I00
214 \e
215
216
217 >
218 \f *600
219
220 JSBITS=7746
221 SYSTEM=22
222 PRMES=330
223 ERRET=33 /THESE ARE LOCATIONS FROM OS/8 MONITOR
224
225 /RUNS IN FIELD 0 ONLY.
226
227 ENTRY, 0 /INITIALLY 0 MEANS 'EX' COMMAND
228 LINPTR, JMP ENTREE /OS/8 JUMPS HERE (ACTUALLY TO 600)
229 TEMM,
230 TEKLDG, ISZ CCLNHR /TECO 'EG' JUMPS HERE
231 DCA I (BEGLN /ZERO COMMAND LINE
232 JMP TEGO /FIRST WE DISABLE CALLS TO MONITOR
233 ENTREE, TAD (7605
234 DCA ERRET
235 TAD SYSTEM
236 DCA MYSYS
237 JMS FINDIT
238 SPA CLA /WAS IT A LEGAL COMMAND?
239 JMP I (PRQMRK /NO
240 TEGO, TAD (6003 /YES
241 DCA I (JSBITS
242 CIF 10
243 JMS I MYSYS /CALL USR AND LOCK IN CORE
244 10
245 CLA IAC
246 CIF 10
247 JMS I (200
248 2
249 CCLBLC, CCLSV
250 CCLEN, 0
251 CCLNHR, JMP NOCCL /ISZ'ED IF KBM NOT IN MEMORY
252 CLA IAC
253 TAD CCLBLC
254 DCA CCLRDB
255 JMS I (7607
256 CCLCCW, 2711 /READ 27 PAGES OF CCL.SV
257 CCLSTR, 2000
258 MYSYS,
259 CCLRDB, 7700 /INITIALLY POINTS TO USR
260 JMP NOCCL
261 CIF CDF 10
262 JMP I CCLSTR
263 \fCCLSV, FILENAME CCL.SV
264
265 NOCCL, CLA SKP
266 JMP I (7605 /GO BACK TO MON IF CCL NOT FOUND ON TECO EG COMMAND
267 JMS I (PRMES /PRINT ERROR MESSAGE OTHERWISE
268 TEXT /NO CCL!/
269 0
270 \f/FINDS IF INPUT LINE STARTS WITH A COMMAND
271 /LEAVES ENTRY # IN AC, -1 IF NOT FOUND
272 /ENTRIES START AT ENTRY 0.
273 /CALLABLE FROM ANY FIELD
274
275 FINDIT, 0
276 MORE, TAD (BEGLN-1
277 DCA LINPTR
278 ISZ LINPTR
279 TAD I LINPTR
280 TAD (-240
281 SNA CLA
282 JMP .-4
283 JMS GETKAR
284 JMP ENDOFT /NO MATCH
285 JMP INTO
286 FNLUP, TAD I LINPTR
287 TAD (-301
288 STL
289 TAD (-32
290 SNL CLA
291 JMP NOLET /NOT A LETTER
292 JMS GETKAR
293 JMP MATCH
294 INTO, CIA
295 TAD I LINPTR
296 AND (37 /5-BIT ASCII
297 ISZ LINPTR
298 SNA CLA /DO THEY MATCH?
299 JMP FNLUP /YES
300 NOMT, JMS GETKAR
301 SKP
302 JMP .-2 /SCAN TO NEXT ENTRY
303 ISZ ENTRY
304 JMP MORE
305
306 NOLET, JMS GETKAR
307 JMP MATCH
308 CLA
309 ISZ SIGNIF
310 JMP NOMT
311 MATCH, TAD ENTRY
312 SKP
313 ENDOFT, STA
314 RETCIF, CDF 0 /RETURN TO CALLING FIELD (MAY BE OVERLAID)
315 JMP I FINDIT
316 KPTR, KEYWRD
317 \fHALF, -1 /0 MEANS LEFT HALF
318 SIGNIF, 0 /1 MEANS 40 BIT ON WHICH MEANS CHAR IS SIGNIF ONLY IF PRESENT
319
320 /GETKAR GETS NEXT 5-BIT CHAR, LEAVES IT IN AC
321 /SETS SIGNIF TO -1 IF 40 BIT WAS PRESENT
322 /TAKES RETURN 1 IF CHAR IS 0
323 /TAKES RETURN 2 OTHERWISE
324
325 GETKAR, 0
326 ISZ HALF
327 JMP RTHALF
328 TAD I KPTR
329 RTR
330 RTR
331 RTR
332 JMP INSIDE
333 RTHALF, STA
334 DCA HALF
335 TAD I KPTR
336 ISZ KPTR
337 INSIDE, AND (77
338 DCA TEMM
339 TAD TEMM
340 AND X40
341 X40, SZA CLA
342 STA
343 DCA SIGNIF
344 TAD TEMM
345 SZA
346 ISZ GETKAR
347 AND (37
348 JMP I GETKAR
349 PAGE
350 \f