A large commit.
[pdp8.git] / sw / os8 / v3d / sources / devext / dectapes / dectape1 / ccltab.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/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
62KEYWRD,
630530 /EX ECUT
644543
656564
660002 /BA CKSP OR TER MIN
670143
685363
696000
700201 /BAS IC
712351
724300
730425 /DU PLICATE
746054
755143
764164
774500
780217 /BO OT
795764
800003 /CCL
810314
820003 /COMPA R
831715
842001
856200
860317 /COM PIL
871560
885154
890003 /COP Y
901720
917100
921505 /MEM ORY
931557
946271
950003 /CREA TE
962205
970164
984500
990322 /CREF
1000506
1010004 /DA TE
1020164
1034500
1040405 /DEL ETE
1051445
1066445
1070004 /DE A
1080541
1090004 /DIR ECT
1101122
1114543
1126400
1130504 /ED IT
1145164
115/0005 /EO F
116/1746
1170010 /HE LP
1180554
1196000
1201411 /LIN K
1211653
1220015 /MAC R
1230103
1246200
1251411 /LI ST
1266364
1270014 /LO AD
1281741
1294400
1301501 /MAK E
1311345
1320015 /MAP
1330120
1340015 /MUNG
1352516
1360700
1372001 /PAL
1381400
1392022 /PRI NT
1401156
1416400
1422025 /PU NCH
1435643
1445000
1452205 /REN AME
1461641
1475545
1480022 /RES
1490523
150/0022 /REW IND
151/0527
152/5156
153/4400
1540003 /CA NCEL
1550156
1564345
1575400
1582305 /SET
1592400
1602313 /SK IP
1615160
1620023 /SQ UISH
1632165
1645163
1655000
1662325 /SU BMIT
1674255
1685164
1690024 /TE CO
1700543
1715700
1722431 /TY PE
1736045
174/0025 /UN LOAD
175/1654
176/5741
177/4400
1780022 /REQ U
1790521
1806500
1812165 /Q UEUE
1824565
1834500
1842501 /UA
1850025 /UB
1860200
1872503 /UC
1880026 /VE R
1890562
1900032 /ZERO
1910522
1921700
1934000 /@
194 ZBLOCK 600-.
195\f IFDEF XYZMCR <
196
197THIS IS THE TECO MACRO WHICH WAS USED TO CREATE THE ABOVE TABLE:
198
199
200HKGYJ2S\ 1\eR0,.KHXAHKMA
201\ 1TYPE COMMANDS, SPACE SEPARATES MANDATORY PART FROM
202OPTIONAL 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
207QL"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
227ENTRY, 0 /INITIALLY 0 MEANS 'EX' COMMAND
228LINPTR, JMP ENTREE /OS/8 JUMPS HERE (ACTUALLY TO 600)
229TEMM,
230TEKLDG, ISZ CCLNHR /TECO 'EG' JUMPS HERE
231 DCA I (BEGLN /ZERO COMMAND LINE
232 JMP TEGO /FIRST WE DISABLE CALLS TO MONITOR
233ENTREE, 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
240TEGO, 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
249CCLBLC, CCLSV
250CCLEN, 0
251CCLNHR, JMP NOCCL /ISZ'ED IF KBM NOT IN MEMORY
252 CLA IAC
253 TAD CCLBLC
254 DCA CCLRDB
255 JMS I (7607
256CCLCCW, 2711 /READ 27 PAGES OF CCL.SV
257CCLSTR, 2000
258MYSYS,
259CCLRDB, 7700 /INITIALLY POINTS TO USR
260 JMP NOCCL
261 CIF CDF 10
262 JMP I CCLSTR
263\fCCLSV, FILENAME CCL.SV
264
265NOCCL, 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
275FINDIT, 0
276MORE, 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
286FNLUP, 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
294INTO, CIA
295 TAD I LINPTR
296 AND (37 /5-BIT ASCII
297 ISZ LINPTR
298 SNA CLA /DO THEY MATCH?
299 JMP FNLUP /YES
300NOMT, JMS GETKAR
301 SKP
302 JMP .-2 /SCAN TO NEXT ENTRY
303 ISZ ENTRY
304 JMP MORE
305
306NOLET, JMS GETKAR
307 JMP MATCH
308 CLA
309 ISZ SIGNIF
310 JMP NOMT
311MATCH, TAD ENTRY
312 SKP
313ENDOFT, STA
314RETCIF, CDF 0 /RETURN TO CALLING FIELD (MAY BE OVERLAID)
315 JMP I FINDIT
316KPTR, KEYWRD
317\fHALF, -1 /0 MEANS LEFT HALF
318SIGNIF, 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
325GETKAR, 0
326 ISZ HALF
327 JMP RTHALF
328 TAD I KPTR
329 RTR
330 RTR
331 RTR
332 JMP INSIDE
333RTHALF, STA
334 DCA HALF
335 TAD I KPTR
336 ISZ KPTR
337INSIDE, AND (77
338 DCA TEMM
339 TAD TEMM
340 AND X40
341X40, 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