Commit | Line | Data |
---|---|---|
7af5ad59 PH |
1 | /56 CCL FOR OS/8 V3D |
2 | / | |
3 | / | |
4 | / | |
5 | / | |
6 | / | |
7 | / | |
8 | / | |
9 | / | |
10 | / | |
11 | /COPYRIGHT (C) 1974,1975,1976,1977 BY DIGITAL EQUIPMENT CORPORATION | |
12 | / | |
13 | / | |
14 | / | |
15 | / | |
16 | / | |
17 | / | |
18 | / | |
19 | / | |
20 | / | |
21 | / | |
22 | /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE | |
23 | /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT | |
24 | /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY | |
25 | /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. | |
26 | / | |
27 | /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER | |
28 | /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED | |
29 | /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH | |
30 | /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. | |
31 | / | |
32 | /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE | |
33 | /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY | |
34 | /DIGITAL. | |
35 | / | |
36 | / | |
37 | / | |
38 | / | |
39 | / | |
40 | / | |
41 | / | |
42 | / | |
43 | / | |
44 | / | |
45 | \f MOFILE=7600 | |
46 | MIFILE=7617 | |
47 | MPARAM=7643 | |
48 | ||
49 | XR2=15 | |
50 | XR=16 | |
51 | TXR=17 | |
52 | AMFLAG=17 | |
53 | T=20 | |
54 | TT=21 | |
55 | DEF=22 | |
56 | NAME1=23 | |
57 | NAME2=24 | |
58 | NAME3=25 | |
59 | NAME4=26 | |
60 | NMBASE=27 | |
61 | DEV1=30 | |
62 | DEV2=31 | |
63 | DELIM=32 | |
64 | DEFALT=33 /POINTS TO DEFAULT EXTENSION LIST | |
65 | LXR=34 | |
66 | CLXR=35 | |
67 | PTR=36 | |
68 | DATWD=7666 | |
69 | BATERR=7000 /JMP HERE TO ABORT BATCH | |
70 | BATOUT=7400 /JMS HERE TO PRINT ON BATCH LOG | |
71 | BATSPL=7200 /JMS HERE TO PERFORM SPOOLING WITH DEFAULT EXT IN AC | |
72 | OS78BIT=7771 | |
73 | ||
74 | BEGLN=1000 | |
75 | ||
76 | /CCL STARTING ADDRESS: 12000 | |
77 | /STARTING ADDRESS: 12001 | |
78 | /CHAIN STARTING ADDRESS:12002 | |
79 | ||
80 | / JOB STATUS WORD = 2003 | |
81 | ||
82 | /************************************************** | |
83 | / | |
84 | / SAVING CCL | |
85 | / | |
86 | / .LOAD CCL | |
87 | / .SAVE SYS CCL;12001=2103 | |
88 | / .R CCL | |
89 | / | |
90 | /************************************************** | |
91 | ||
92 | CCLSW=435 | |
93 | DEASADR=427 | |
94 | PRQMRK=1357 | |
95 | GETCCL=1362 | |
96 | OV=1375 | |
97 | MSOVL2=55 | |
98 | ||
99 | CCLBLK=67 /BLOCK ON SYS: USED BY CCL | |
100 | CCLTAB="G /MUST BE UPDATED IF TABLES CHANGE | |
101 | CCLNUM="1 | |
102 | CCLVER="F /CCL VERSION # | |
103 | ||
104 | /*** NOTE: VERSION E OF CCL WAS FOR IN-HOUSE USE ONLY. | |
105 | /USE OF SEMICOLONS WITH CCL VERSION I OR LATER | |
106 | /REQUIRES BATCH VERSION 7 OR LATER. | |
107 | /USE OF BASIC COMMAND REQUIRES V3D BASIC OR LATER | |
108 | ||
109 | HNDLR=4400 | |
110 | BFR=5000 | |
111 | ||
112 | /MEMORY ALLOCATION: | |
113 | ||
114 | /0 4400-4777 INPUT HANDLER FOR CD | |
115 | / ALSO, SEMICOLON BUFFER | |
116 | /0 5000-5177 PRE-EXTENSION @ BUFFER | |
117 | /0 5200-5577 @ BUFFER | |
118 | /0 1000-1777 /COMMAND LINE [EACH @ FILE RESTRICTED TO 1 BLOCK] | |
119 | /0 2000-2777 /LINE BUFFER EXTENSION | |
120 | \f/ CHANGES SINCE FIELD RELEASE VERSION: | |
121 | ||
122 | /1. RECURSIVE 'U' BUG FIXED | |
123 | /2. INTERNAL STRUCTURE OF CCL KEYWORD TABLE CHANGED | |
124 | /3. BUG RE REWRITING BLOCK CONTAINING PTR TO CORRECT FORTRAN FIXED | |
125 | /4. .SV PARTS OF FILENAMES REMOVED FROM TABLE TO SAVE SPACE | |
126 | /5. COMPARE PASSES ALTMODE | |
127 | /6. TTY BECAME DEFAULT FOR COMPAR, DIRECT, AND MAP | |
128 | /7. BUG RE PASSING DEFAULT * FIXED | |
129 | /8. .LS FORM OF .CREF COMMAND REMOVED | |
130 | /9. BUG CONCERNING PROCESSOR SWITCHES FIXED | |
131 | /10. CCL SWITCH ALLOWED AFTER =N OPTION | |
132 | /11. BUG RE 'BAD SWITCH OPTION' MESSAGE FIXED | |
133 | /12. EXTRA SPACES NOW ALLOWED BEFORE CCL ARGUMENT | |
134 | /13. 'DOES NOT EXIST' MESSAGE NOW SPELLED CORRECTLY | |
135 | /14. 'BAD CCL SWITCH' MESSAGE ADDED | |
136 | /15. CCL EDIT # CHANGED TO CCL VERSION # | |
137 | /16. .EX CHAINS TO BCOMP NOT BASIC FOR .BA FILES | |
138 | /17. MUNG PTR: NOW WORKS | |
139 | /18. FIXED BUG RE MUNG <CR> | |
140 | /19. FIXED BUG RE CD FOR FILE > 2047 BLKS | |
141 | /20. FIXED BUG RE MAKE PTR: | |
142 | ||
143 | /VERSION B FIXES: | |
144 | ||
145 | /21. ALLOWED 'EDIT' TO COPY FILE EXTENSION | |
146 | /22. FIXED BUG RE .CCL ON WRITE-LOCKED DEVICE | |
147 | /23. FIXED DATE PROBLEM | |
148 | /24. ALLOWED FF AND VT IN AN INDIRECT FILE TO BE IGNORED | |
149 | ||
150 | /VERSION C FIXES: | |
151 | ||
152 | /25. FIXED BUG RE SPACES AND SLASHES IN MUNG TEXT ARGUMENT | |
153 | /26. ALLOWED EDIT COMMAND TO USE SAME OUT DEVICE | |
154 | / AS IN DEVICE (IF NONE SPECIFIED) | |
155 | /27. ADDED MORE SYNTAX CHECKING TO ZERO COMMAND | |
156 | ||
157 | /VERSION D CHANGES: | |
158 | ||
159 | /28. ALLOWED EDIT A<B COMMAND TO REMEMBER ONLY UP TO '<' . | |
160 | ||
161 | /VERSION E CHANGES: (IN-HOUSE ONLY VERSION) | |
162 | ||
163 | /29. WARNING MSG IF SQUISH SYS: UNDER BATCH | |
164 | /30. ADDED SOME NOTES ON HOW TO ALLOW = AS WELL AS < | |
165 | /31. ADDED HOOKS FOR ; TO BE READY FOR V4 | |
166 | /32. FIX BUG RE CMD STARTING WITH SPACES | |
167 | ||
168 | /CHANGES FOR MAINTENANCE RELEASE (OS/8 V3C): | |
169 | ||
170 | /33. FIXED BUG ABOUT @ NOT FOLLOWED BY FILESPEC | |
171 | /34. INCORPORATED ALL PREVIOUS EDITS | |
172 | /35. ALLOWED ' TO TERMINATE AN INDIRECT REQUEST (AND BE IGNORED) | |
173 | /36. FIXED BUG ABOUT EDIT DEV1:_DEV2:FOO LOSING DEV1: | |
174 | /37. CORRECTED SPELLING OF SUPERSEDING | |
175 | /38. ADDED .LD EXTENSION TO EXECUTE TABLES [USES FRTS] | |
176 | ||
177 | /VERSION G CHANGES: | |
178 | ||
179 | /39. FIXED BUG WITH HELP COMMAND | |
180 | /40. FIXED BUG CONCERNING EDIT DEV:_FILE | |
181 | ||
182 | /VERSION H CHANGES: | |
183 | ||
184 | /41. ADDED MAC AND LINK COMMANDS | |
185 | /42. ADDED MACREL AND LINKER INTO COMPILE/LOAD/EXECUTE COMMANDS | |
186 | /43. ALLOWED UX COMMANDS TO CONTAIN KBM COMMANDS | |
187 | /44. ALLOWED PASSING A KBM COMMAND TO CCL ON CHAINING | |
188 | /45. ALLOWED @ AT BEGINNING OF LINE | |
189 | /46. MOVED MOST OF 'DETCOR' TO FIELD 0 | |
190 | /47. WAIT ROUTINE NOW GIVES UP IF TTY FLAG ISN'T UP WITHIN 0.1 SEC | |
191 | /48. ALLOWED EXEC .BI TO USE BATCH | |
192 | /49. TENTATIVELY ADDED SEMICOLON STUFF | |
193 | /50. PUT BACK WARNING MESSAGE IF TRY TO SQUISH UNDER BATCH | |
194 | ||
195 | /VERSION I CHANGES: | |
196 | ||
197 | /51. FIRMED UP SEMICOLON STUFF | |
198 | ||
199 | /VERSION J CHANGES: | |
200 | ||
201 | /52. DEFAULT DEVICE FOR COMPIL, PAL, ETC. IS NOW LOGICAL DSK: NOT SYS: | |
202 | /53. -L, -S, AND -P SWITCHES NOW SET OUTPUT NAME TO CURRENT INPUT NAME | |
203 | ||
204 | /VERSION K CHANGES: | |
205 | ||
206 | /54. DATE NOW HANDLES DATE/78 ALGORITHM | |
207 | /55. TOOK OUT 'TCF' WHICH WAS CAUSING BATCH TO HANG | |
208 | ||
209 | /VERSION 1A CHANGES: | |
210 | ||
211 | /56. FIXED BUG RE NULL INDIRECT CMD FILE | |
212 | /57. FIXED BUG TO NOW ALLOW DATE WITH ARGS IN INIT.CM | |
213 | /58. PRINT "OS78" FOR VERSION NAME IF APPLICABLE | |
214 | /59. ADDED -N AND -D AND REWROTE LOGIC A BIT | |
215 | /60. HELP COMMAND NOW USES HELP.SV | |
216 | /61. SET COMMAND NOW USES SET.SV | |
217 | /62. 'CORE' BECOMES 'MEMORY' IN 3 MSGS AND 1 CMD | |
218 | /63. ADDED BASIC COMMAND (CHAINS TO BASIC.SV WITH Q SWITCH) | |
219 | /64. ALLOWED FOR TERMINATE COMMAND (OS78 REPLACES BACKSPACE) | |
220 | /65. ADDED DUPLICATE COMMAND (USES RXCOPY) | |
221 | ||
222 | /V1B CHANGES: | |
223 | ||
224 | /66. MODIFIED FORMAT OF MAIN TABLE | |
225 | /67. GIVE ERROR MESSAGE IF NO FILENAME IS GIVEN WITH INDIRECT | |
226 | / FILE (EVEN IF NON-FS) | |
227 | /68. PRINT KBM VERSION # | |
228 | /69. ADDED TERMINATE COMMAND | |
229 | ||
230 | /V1F CHANGE: | |
231 | ||
232 | /70. DUPL CALLS RXCOPY IN SPECIAL MODE | |
233 | \f/ FORMAT OF CCL TABLE | |
234 | ||
235 | /ENTRY PURPOSE | |
236 | ||
237 | / TABLE WIDTH=7 (BUT VARIES) | |
238 | ||
239 | /0 FLAG WORD | |
240 | ||
241 | /BIT MEANING IF ON | |
242 | ||
243 | /0 PERFORM CD (IF 0, OMIT ENTRIES 1-6) | |
244 | /1 DON'T PERMIT SPOOLING | |
245 | /2 ALLOW .LS, .NB, .MP SWITCHES | |
246 | /3 ADD _ TO END OF COMMAND STRING | |
247 | /4 SET OUTPUT EXTENSION = INPUT EXTENSION (IF BIT 2 ON) | |
248 | /6-8 SPECIFIES AUTOMATIC INPUT REMEMBERING (REM LINE MINUS 1) | |
249 | / 0 MEANS NONE. 7 RESERVED FOR SPECIAL USE. | |
250 | /10 CAUSE -L, ETC. TO GO TO 2ND OUTPUT FILE & COPIES NAME | |
251 | /11 WANT DEFAULT ALTMODE (COMPL IF AMFLAG=1) | |
252 | ||
253 | /1 PTR TO DEFAULT EXTENSION LIST FOR INPUT FILES. | |
254 | / IF PTS TO 0, NONE. IF PTS TO 5200, USE SPECIAL MODE. | |
255 | ||
256 | /2-4 DEFAULT SWITCHES TO BE OR'ED INTO THOSE | |
257 | / EXPLICITLY GIVEN. | |
258 | ||
259 | /5 ADDRESS OF SUBROUTINE TO BE CALLED | |
260 | / AFTER C.D. HAS BEEN DONE. 0 IF NONE. | |
261 | ||
262 | /6 PTR TO FILENAME OF PROGRAM | |
263 | / TO BE CHAINED TO. 0 IF NONE. | |
264 | ||
265 | / FIELD 0 | |
266 | ||
267 | /1000-1777 LINE BUFFER | |
268 | /2000-2777 LINE BUFFER EXTENSION | |
269 | /4000-4377 REM-LINES | |
270 | /4400-4777 HANDLER | |
271 | /5000-5577 BUFFER | |
272 | /6000-7577 MORE CCL (7 PAGES) | |
273 | ||
274 | REST=6000 | |
275 | \f FIELD 1 | |
276 | ||
277 | *2000 | |
278 | ||
279 | FAKBM=404 /PLACE TO FAKE OUT KBM | |
280 | ||
281 | START, JMP .+3 /START FROM MONITOR | |
282 | JMP (CCLBLC /START FROM .RUN COMMAND | |
283 | /THIS LITERAL IS AT END OF PAGE | |
284 | JMP MONCHN /START WHEN CHAINED TO | |
285 | CLA | |
286 | CDF 0 /READ IN REST OF CCL | |
287 | TAD I (CCLBLC /GET BLOCK OF START | |
288 | CDF 10 | |
289 | TAD CCLREM | |
290 | DCA CCLREM /GET BLOCK OF REST | |
291 | CIF 0 | |
292 | JMS I (7607 | |
293 | 700 /READ 7 MORE PAGES | |
294 | REST | |
295 | CCLREM, 1+14+1 /SKIP CCB AND *400 STUFF | |
296 | JMP ERR2 | |
297 | JMS TWAIT | |
298 | CDF 0 | |
299 | TAD I LVNO | |
300 | CDF 10 | |
301 | TAD (-CCLTAB /DO VERSION #'S AGREE? | |
302 | SZA CLA | |
303 | JMP BADVNO | |
304 | PREGO, JMS I (AT | |
305 | STA | |
306 | DCA I (REMD /ALLOW RECURSIVE U'S | |
307 | CDF 0 | |
308 | TAD I KENTRY /GET ENTRY # | |
309 | KCIDF, CIF CDF 10 | |
310 | TAD (PTBL /GET ADDRESS OF PTR TO START OF ENTRY | |
311 | DCA PTR | |
312 | TAD I PTR /GET PTR TO START OF ENTRY | |
313 | DCA PTR | |
314 | JMP I (GOO | |
315 | MONCHN, | |
316 | KCIF, CIF 0 | |
317 | JMS I (7607 /READ IN KBM | |
318 | 1000 /4 BLOCKS | |
319 | 0 /0-1777 | |
320 | 7 /BLOCK 7 ON SYS: | |
321 | HLT /NO WAY TO RECOVER (EVEN 7605 DOES THIS) | |
322 | TAD (-44 | |
323 | JMS I (MOVE /ASSUME COMMAND LINE IS IN | |
324 | CDF 10 /17600-17643 | |
325 | 7600 | |
326 | CDF 0 | |
327 | 1000 /MOVE TO OS/8 LINE BUFFER | |
328 | CIF CDF 0 | |
329 | YAT, JMP I KFAKBM /@ DESTROYS THIS CODE (MUST BE ONE BEFORE 'REGO') | |
330 | TAD I (ASSIGN /'YAT' IS JMS'ED TO | |
331 | SNA CLA /BY INITIAL @ COMMAND | |
332 | JMP I (LEAVE /DO NOTHING IF NO @ GOT EXPANDED (NULL LINE) | |
333 | REGO, CIF 0 | |
334 | JMS I (7607 | |
335 | 200 /READ ONE BLOCK | |
336 | 400 /400-777 | |
337 | 10 /RESTORE PART OF KBM WHICH WAS DESTROYED BY OVERLAY | |
338 | HLT | |
339 | JMP I (FAKE | |
340 | ||
341 | /REGO, TAD KCIDF | |
342 | / CDF 0 | |
343 | / DCA I (RETCIF /ALLOW 'FINDIT' TO RETURN TO FIELD 1 | |
344 | / CIF CDF 0 | |
345 | / STA | |
346 | / DCA I (HALF | |
347 | / DCA I (ENTRY | |
348 | / TAD (KEYWRD | |
349 | / DCA I (KPTR | |
350 | / JMS I (FINDIT /LOOK UP KEYWORD | |
351 | / SMA CLA | |
352 | / JMP PREGO /FOUND IT | |
353 | /CMDERR, JMS I (PRMESG /NOT A LEGAL KEYWORD | |
354 | / ERRCMD | |
355 | \fERR2, CIF CDF 0 | |
356 | JMP I (NOCCL | |
357 | ||
358 | BADVNO, JMS I (PRINT | |
359 | BADVMS | |
360 | JMS I (VERTN | |
361 | JMP I (LEAVE /GO AWAY | |
362 | \f/TEST END OF TABLE | |
363 | ||
364 | USRSUB, 0 | |
365 | TAD I (REMD | |
366 | SMA CLA | |
367 | JMP REGO /REMEMBERED A NEW LINE | |
368 | TAD I (FLAG /WANT TO | |
369 | AND (70 | |
370 | CLL RTR | |
371 | RAR | |
372 | TAD (-1 /IN THIS REM-LINE | |
373 | DCA UREM | |
374 | JMS I (FOREVER /NO DATE | |
375 | JMS I (REMEM | |
376 | UREM, 0 | |
377 | JMP I USRSUB | |
378 | \fTWAIT, 0 | |
379 | DCA WFL | |
380 | JMS BATCH | |
381 | JMP TW /BATCH NOT RUNNING | |
382 | CLA /WE'RE RUNNING UNDER BATCH | |
383 | JMP I TWAIT | |
384 | TW, TSF | |
385 | SKP /WAIT FOR THINGS TO QUIET DOWN | |
386 | JMP I TWAIT | |
387 | LVNO, AND I 0 /WASTE SOME TIME | |
388 | KFAKBM, AND I 4 | |
389 | KENTRY, 600 | |
390 | ISZ WFL | |
391 | JMP TW | |
392 | JMP I TWAIT /CAN'T WAIT TOO LONG | |
393 | WFL, 0 | |
394 | ||
395 | /SKIP IF BATCH IS RUNNING AND PUT CIF BATCH FIELD IN AC | |
396 | ||
397 | BATCH, 0 | |
398 | CDF 0 | |
399 | TAD I (7777 | |
400 | CDF 10 | |
401 | DCA BWORD | |
402 | TAD BWORD | |
403 | RTL | |
404 | SNL CLA /IS BATCH RUNNING? | |
405 | JMP I BATCH /NO | |
406 | TAD BWORD /YES | |
407 | AND (70 /ISOLATE FIELD OF BATCH | |
408 | TAD KCIF /FORM CIF TO THE HIGHEST FIELD | |
409 | ISZ BATCH /AND TAKE SKIP RETURN WITH IT IN AC | |
410 | JMP I BATCH | |
411 | \fBWORD, 0 | |
412 | PAGE | |
413 | \f/WE FALL INTO THIS FROM LITERAL ON PREVIOUS PAGE | |
414 | MONFIX, JMS I (RDMON | |
415 | CDF 0 | |
416 | TAD I ZERO | |
417 | TAD (-7607 | |
418 | SNA CLA | |
419 | JMP I PCCER3 /ALWAYS WRITE OUT CCL BLOCK | |
420 | CDF 10 | |
421 | CIF 0 | |
422 | JMS I L7607 | |
423 | 4200 /WRITE 1 RECORD FROM FIELD 0 | |
424 | 400 /LOCATIONS 400-777 | |
425 | CCLBLK /INTO THE SYSTEM'S CCL BLOCK | |
426 | JMP I (IOERR | |
427 | CDF 0 | |
428 | TAD I (2000+CCLSW | |
429 | TAD (-PRQMRK | |
430 | SNA | |
431 | JMP MONOK | |
432 | TAD (PRQMRK-GETCCL | |
433 | SZA CLA | |
434 | JMP I PCCER3 | |
435 | / CIF CDF 0 | |
436 | / JMP I L7605 | |
437 | MONOK, TAD (GETCCL | |
438 | DCA I (2000+CCLSW | |
439 | STA | |
440 | DCA I (2000+DEASADR /DELETE DEASSIGN | |
441 | JMS WRMON | |
442 | JMS I (LOOK | |
443 | YFORT /LOOK FOR FORT.SV | |
444 | TAD (YF4-YFORT /NOT FOUND, USE F4 | |
445 | TAD (YFORT /FOUND USE IT | |
446 | DCA I (FORTE | |
447 | TAD I (FORTE | |
448 | TAD (-YFORT | |
449 | SZA CLA | |
450 | TAD (YLOAD-YLOADER /F4 | |
451 | TAD (YLOADER | |
452 | DCA I (LOADE | |
453 | JMP I (WRITFT /UNKLUTZ | |
454 | \fL200, | |
455 | WRMON, 200 | |
456 | CDF 10 | |
457 | CIF 0 | |
458 | JMS I L7607 | |
459 | 4200 | |
460 | L2400, 2400 | |
461 | 10 | |
462 | JMP I (IOERR | |
463 | JMP I WRMON | |
464 | \fMONRES, 0 | |
465 | JMS I (RDMON | |
466 | CDF 0 | |
467 | TAD (PRQMRK | |
468 | DCA I (2000+CCLSW | |
469 | TAD (-405 | |
470 | DCA I (2000+DEASADR | |
471 | JMS WRMON | |
472 | JMP I MONRES | |
473 | ||
474 | L7605, | |
475 | SETLPT, 7605 /COULD BE ONCE ONLY | |
476 | TAD KLPTDEV | |
477 | JMS SETDEV | |
478 | JMP I SETLPT | |
479 | ||
480 | L7607, 7607 | |
481 | ||
482 | M7607, | |
483 | SETTTY, -7607 | |
484 | TAD KTTYDEV | |
485 | JMS SETDEV | |
486 | JMP I SETTTY | |
487 | ||
488 | PCCER3, | |
489 | SETPTP, CCER3 | |
490 | TAD (PTPDEV | |
491 | JMS SETDEV | |
492 | JMP I SETPTP | |
493 | ||
494 | ZERO, /STAYS 0 FOR A WHILE | |
495 | SETDEV, 0 /V1A ARG NOW IN AC | |
496 | DCA DEVPTR | |
497 | CLL STA RAL /-2 | |
498 | JMS I (MOVE | |
499 | CDF 0 | |
500 | DEVPTR, LOC78 | |
501 | CDF 10 | |
502 | DVNM1 | |
503 | JMS I (SETOUT | |
504 | JMP I SETDEV | |
505 | ||
506 | P4, SETDEV | |
507 | KLPTDEV,LPTDEV | |
508 | ||
509 | P5, SETDEV | |
510 | KTTYDEV,TTYDEV | |
511 | \fFAKE, CIF CDF 0 | |
512 | TAD (MSOVL2 | |
513 | DCA I (OV /RESTORE LOC SO DATE CMD W ARGS WILL WORK | |
514 | JMP I (FAKBM | |
515 | ||
516 | PTCH, CDF 0 | |
517 | DCA I (VLOC | |
518 | TAD I (OS78BIT | |
519 | AND (200 / 78 | |
520 | SZA CLA / OR | |
521 | TAD (1000 / /8 | |
522 | TAD (5770 | |
523 | DCA I DEVPTR | |
524 | CDF 10 | |
525 | JMS I (PRMESG | |
526 | VMES | |
527 | PAGE | |
528 | \f COLWRD /NEEDED BY SET | |
529 | GO, JMS I (SCAN /ADVANCE SCAN UNTIL AFTER SPACES | |
530 | GO2, TAD I PTR /GET FLAG | |
531 | DCA FLAG /SAVE IT | |
532 | TAD DELIM | |
533 | SNA CLA /IS TYPED LINE EMPTY AFTER KEYWORD? | |
534 | TAD FLAG /AND IS SPECIAL REMEMBERING BITS ON? | |
535 | CLL RTR | |
536 | RAR /AND HAS GOD WILLED US TO REMEMBER? | |
537 | AND (7 /AND ARE THE ZODIAK SIGNS FAVORABLE? | |
538 | SNA | |
539 | JMP NORM /NO | |
540 | TAD REMD /YES, GET REM-LINE (SUBTRACT 1) | |
541 | DCA REMD | |
542 | CDF 0 | |
543 | TAD I (BEGLN | |
544 | CDF 10 | |
545 | DCA NMPTR | |
546 | JMS I (RECALL /RECALL LINE | |
547 | REMD, -1 /-1 MEANS DIDN'T RETRIEVE A REMEMBER LINE | |
548 | DCA DEPN /SAVE DEPENDENT INFO | |
549 | TAD NMPTR | |
550 | SZA CLA /EG COMMAND? | |
551 | JMP NORM /NO | |
552 | ISZ DELIM /YES | |
553 | TAD DEPN | |
554 | DCA PTR /RESET PTR FROM CMD DEPENDENT WORD | |
555 | JMP GO2 | |
556 | \fNORM, TAD FLAG | |
557 | L7700, SMA CLA | |
558 | JMP CHAINN /SKIP ENTRIES IF NO CD | |
559 | ISZ PTR /POINT TO DEFAULT INPUT EXTENSION | |
560 | TAD I PTR /GET DEFAULT INPUT EXTENSION PTR | |
561 | DCA DEFALT /SAVE IT | |
562 | TAD (7641 | |
563 | DCA XR | |
564 | TAD FLAG | |
565 | JMS I (GAMFLG | |
566 | DCA I XR /STORE AWAY IN C.D. OPTION TABLE | |
567 | DCA I XR /V3D ZERO OPTION WORDS | |
568 | DCA I XR | |
569 | DCA I XR | |
570 | DCA I XR /ZERO L.O. = | |
571 | STOLUP, ISZ PTR | |
572 | TAD I PTR | |
573 | SNA | |
574 | JMP STODON | |
575 | DCA NTEMP | |
576 | ISZ PTR | |
577 | TAD I PTR /GET VALUE | |
578 | DCA I NTEMP /STORE IN SPECIFIED LOCATION | |
579 | JMP STOLUP | |
580 | STODON, TAD FLAG | |
581 | AND (400 | |
582 | SZA CLA | |
583 | JMS I (INSARR /INSERT BACK ARROW IF FLAG BIT SET | |
584 | JMS I (CD /PERFORM COMMAND DECODE IF FLAG BIT | |
585 | /0 SET | |
586 | CHAI, TAD FLAG | |
587 | RAL | |
588 | SMA CLA /IS SPOOLING PROHIBITED? | |
589 | JMS I (SPOOLIT /NO | |
590 | CHAINN, ISZ PTR /POINT TO AFTER CD SUBR | |
591 | TAD I PTR /GET SUBR ADDRESS | |
592 | JMS I (JMSUB | |
593 | TAD I (DEFILE | |
594 | SZA /IS THERE A FILENAME SET TO CHAIN TO? | |
595 | JMP ZOW /YES | |
596 | ISZ PTR /NO, POINT TO FILENAME | |
597 | TAD I PTR | |
598 | SNA | |
599 | JMP I (LEAVE /NO FILE TO CHAIN TO | |
600 | ZOW, DCA NMPTR | |
601 | JMS LOOK /LOOKUP FILE | |
602 | NMPTR, 0 | |
603 | JMP I (CCER1 /NOT FOUND | |
604 | CHAIN, JMS I (200 /CHAIN TO IT | |
605 | 6 /CHAIN | |
606 | DEPN, /REM LINE DEPENDENT INFO | |
607 | BLK, 0 | |
608 | / ----- | |
609 | \f/LOOK, LOOKS UP FILE ON DEVICE . POINTER IS IN ARG1 | |
610 | / ARG2 IS ERROR RETURN IF NOT FOUND | |
611 | /DEVICE NUMBER IS IN AC. IF 0, USE SYS: | |
612 | ||
613 | LOOK, 0 | |
614 | SNA | |
615 | IAC | |
616 | DCA DEV | |
617 | TAD I LOOK /GET PTR TO FILE NAME IN FIELD 0 | |
618 | DCA HISFIL | |
619 | TAD HISFIL | |
620 | AND L7700 | |
621 | SNA CLA | |
622 | JMP FLD1 /PTR LT 100 MEANS IN FIELD 1 | |
623 | TAD (-3 | |
624 | JMS I (MOVE /MOVE IT UP | |
625 | CDF 0 | |
626 | HISFIL, 0 | |
627 | CDF 10 | |
628 | PFILDMY,FILDMY | |
629 | TAD PFILDMY | |
630 | SETN, DCA NAMPTR /STORE AWAY PTR TO FILENAME | |
631 | ISZ LOOK /POINT TO ERROR RETURN | |
632 | TAD DEV /GET DEVICE NUMBER | |
633 | JMS I (200 | |
634 | 2 /LOOKUP | |
635 | NTEMP, | |
636 | NAMPTR, 0 | |
637 | 0 | |
638 | JMP I LOOK /TAKE ERROR RETURN IF NOT FOUND | |
639 | TAD NAMPTR /STORE STARTING BLOCK # IN 'BLK' | |
640 | DCA BLK | |
641 | ISZ LOOK /POINT TO NORMAL RETURN | |
642 | JMP I LOOK /RETURN | |
643 | \fFLAG, 0 | |
644 | DEV, 0 | |
645 | ||
646 | FLD1, TAD HISFIL | |
647 | JMP SETN | |
648 | PAGE | |
649 | \fXEXE, 5033; EXTEXE; 7643;40;0; EXSUB; YPAL8 /EXECUTE MUST BE FIRST FOR TECO EG | |
650 | XBAC, 0; TRMSUB; YCAMP /BACKSPACE (OR TERMINATE) | |
651 | /MUST BE 2ND FOR OS78 | |
652 | XBAS, 0; BASUB; YBASIC /BASIC | |
653 | XDUPL, 4001; STAR; 0; 0; YRXCOP /DUPLIC | |
654 | XBOO, 0; 0; YBOOT /BOOT | |
655 | XCCL, 0; MONRES; 0 /CCL | |
656 | XCOMPA, 4001; EXTNUL; 0; SETTTY; YSRCCOM /COMPARE | |
657 | XCOMPI, 5033; EXTCOM; 0; EXSUB; YPAL8 /COM | |
658 | XCOP, 4001; STAR; 7643;1;0; MOVRT; YFOTP /COPY | |
659 | XCOR, 0; DETCOR; 0 /MEMORY | |
660 | XCREA, 4400; EXTNUL; 0; CRSUB; YEDIT /CREATE | |
661 | XCREF, 4002; EXTCF; 7643;1000;0; 0; YPAL8 /CREF | |
662 | XDAT, 0; DATE; 0 /DATE | |
663 | XDEL, 4001; STAR; 7643;401;0; KILRT; YFOTP /DELETE | |
664 | XDEA, 0; DEASSIG;0 /DEASSIGN | |
665 | XDIR, 4001; STAR; 7646;COLWRD,0;0;SETTTY; YDIRECT /DIRECT | |
666 | XEDI, 5220; EXTNUL; 0; EDSUB; YEDIT /EDIT | |
667 | XEOF, 0; 0; YCAMP /EOF | |
668 | XHEL, 4001; STAR; 7644;20;0; SETTTY; YHELP /HELP | |
669 | XLINK, 5033; EXTLI; 0; EXSUB; YLINK /LINK | |
670 | XMAC, 5033; EXTMA; 0; EXSUB; YMACREL /MAC | |
671 | XLIS, 4001; STAR; 7644;10;0; SETLPT; YFOTP /LIST | |
672 | XLOA, 5031; EXTLO; 0; EXSUB; YABSLDR /LOAD | |
673 | XMAK, 0; MAKSUB; YTECO /MAKE | |
674 | XMAP, 4001; EXTBN; 0; SETTTY; YBITMAP /MAP | |
675 | XMUN, 0; MNGSUB; YTECO /MUNG | |
676 | XPAL, 5033; EXTPA; 0; EXSUB; YPAL8 /PAL | |
677 | XPRI, 4000; STAR; 0; SETLPT; YLPTSPL /PRINT | |
678 | XPUN, 4001; EXTNUL; 0; SETPTP; YPIP /PUNCH | |
679 | XREN, 4001; STAR; 7643;1;7644;100;0;RENRT;YFOTP /RENAME | |
680 | XRES, 4001; EXTSY; 0; SETTTY; YRESORC /RESOURCES | |
681 | XREW, 0; 0; YCAMP /REWIND | |
682 | XSET, 0; 0; YSET /SET | |
683 | XSKI, 0; 0; YCAMP /SKIP | |
684 | XSQU, 4001; EXTNUL; 7644;40;0; SQSUB; YPIP /SQUISH | |
685 | XSUB, 4000; EXTBI; 0; 0; YBATCH /SUBMIT | |
686 | XTEC, 10; TECSUB; YTECO /TECO | |
687 | XTYP, 4001; STAR; 7644;10;0; SETTTY; YFOTP /TYPE | |
688 | XUNL, 0; 0; YCAMP /UNLOAD | |
689 | XUA, 40; USRSUB; 0 /UA | |
690 | XUB, 50; USRSUB; 0 /UB | |
691 | XUC, 60; USRSUB; 0 /UC | |
692 | XVER, 0; VERTN; 0 /VERSION | |
693 | XZER, 4401; EXTNUL; 7645;2000;0; ZERSUB; YPIP /ZERO | |
694 | XAT, 0; YAT; 0 /@ | |
695 | ZBLOCK 13 | |
696 | ||
697 | GAMFLG, 0 | |
698 | CDF 0 | |
699 | TAD I PAMFLAG /COMBINE ALTMODE BITS | |
700 | CDF 10 | |
701 | RAR /IN POSITION 11 | |
702 | CLA RAR /PUT NEW ALTMODE BIT ALONE IN BIT 0 | |
703 | JMP I GAMFLG | |
704 | PAMFLAG,AMFLAG | |
705 | \fTRMSUB, 0 | |
706 | CDF 0 | |
707 | TAD I POS78 | |
708 | CDF 10 | |
709 | AND R200 | |
710 | SNA CLA | |
711 | JMP I TRMSUB /BACKSPACE, NOT TERMINATE | |
712 | 6073 | |
713 | 6002 | |
714 | CLA /JUST IN CASE WE'RE NOT ON A VT-78 | |
715 | JMS I PPRM | |
716 | BADEV | |
717 | POS78, OS78BIT | |
718 | R200, 200 | |
719 | PPRM, PRMESG | |
720 | \fPTBL, XEXE | |
721 | XBAC | |
722 | XBAS | |
723 | XDUPL | |
724 | XBOO | |
725 | XCCL | |
726 | XCOMPA | |
727 | XCOMPI | |
728 | XCOP | |
729 | XCOR | |
730 | XCREA | |
731 | XCREF | |
732 | XDAT | |
733 | XDEL | |
734 | XDEA | |
735 | XDIR | |
736 | XEDI | |
737 | XEOF | |
738 | XHEL | |
739 | XLINK | |
740 | XMAC | |
741 | XLIS | |
742 | XLOA | |
743 | XMAK | |
744 | XMAP | |
745 | XMUN | |
746 | XPAL | |
747 | XPRI | |
748 | XPUN | |
749 | XREN | |
750 | XRES | |
751 | XREW | |
752 | XSET | |
753 | XSKI | |
754 | XSQU | |
755 | XSUB | |
756 | XTEC | |
757 | XTYP | |
758 | XUNL | |
759 | XUA | |
760 | XUB | |
761 | XUC | |
762 | XVER | |
763 | XZER | |
764 | XAT | |
765 | ZBLOCK 4 | |
766 | \fSTAR, 5200; 0 | |
767 | 0; 0 | |
768 | ||
769 | ||
770 | EXTSY, 2331; 0 | |
771 | 0; 0 | |
772 | EXTBI, 0211; 0 | |
773 | 0; 0 | |
774 | EXTCF, 2001; COMPA | |
775 | /EXTLS, 1423; COMLS | |
776 | 0; COMPA | |
777 | EXTMA, 1501; COMMA | |
778 | 0; COMMA | |
779 | EXTPA, 2001; COMPA | |
780 | 0; COMPA | |
781 | EXTBN, 0216; 0 | |
782 | 0; COMBN | |
783 | /EXTHL, 1014; 0 | |
784 | / 0; 0 | |
785 | EXTNUL, 0; 0 | |
786 | EXTLO, 0216; COMBN /BN | |
787 | 2214; COMRL /RL | |
788 | EXTLI, 2202; COMRB /RB | |
789 | 0; 0 | |
790 | EXTCM, 0315; 0 | |
791 | 0; 0 | |
792 | \fEXTEXE, 2001; COMPA /PA | |
793 | 0624; COMFT /FT | |
794 | 0201; COMBA /BA | |
795 | 1501; COMMA /MA | |
796 | 0216; COMBN /BN | |
797 | 2214; COMRL /RL | |
798 | 2201; COMRA /RA | |
799 | 2302; COMSB /SB | |
800 | 2202; COMRB /RB | |
801 | 1404; COMLD /LD V3C | |
802 | 0211; COMBI /BI | |
803 | 0; 0 | |
804 | ZBLOCK 4 | |
805 | EXTCOM, 2001; COMPA /PA | |
806 | 0624; COMFT /FT | |
807 | 1501; COMMA /MA | |
808 | 0201; COMBA /BA | |
809 | 2201; COMRA /RA | |
810 | 2302; COMSB /SB | |
811 | 0; 0 | |
812 | ZBLOCK 4 | |
813 | IFZERO .&7600-3200 <PAGE> | |
814 | \fCOMBN, 0 | |
815 | JMS USUAL | |
816 | 0216 | |
817 | YABSLDR | |
818 | JMP I COMBN | |
819 | ||
820 | COMRL, 0 | |
821 | JMS USUAL | |
822 | 2214 | |
823 | LOADE, YLOAD /MAY BECOME YLOADER | |
824 | JMP I COMRL | |
825 | ||
826 | COMPA, 0 | |
827 | JMS USUAL | |
828 | 2001 | |
829 | YPAL8 | |
830 | JMP I COMPA | |
831 | ||
832 | COMFT, 0 | |
833 | JMS USUAL | |
834 | 0624 | |
835 | FORTE, YF4 /COULD BE CHANGED TO YFORT BY .R CCL | |
836 | JMP I COMFT | |
837 | ||
838 | COMBA, 0 | |
839 | JMS USUAL | |
840 | 0201 | |
841 | YBCOMP | |
842 | JMP I COMBA | |
843 | ||
844 | COMRA, 0 | |
845 | JMS USUAL | |
846 | 2201 | |
847 | YRALF | |
848 | JMP I COMRA | |
849 | \fCOMSB, 0 | |
850 | JMS USUAL | |
851 | 2302 | |
852 | YSABR | |
853 | JMP I COMSB | |
854 | ||
855 | COMRB, 0 | |
856 | JMS USUAL | |
857 | 2202 | |
858 | YLINK | |
859 | JMP I COMRB | |
860 | ||
861 | COMMA, 0 | |
862 | JMS USUAL | |
863 | 1501 | |
864 | YMACREL | |
865 | JMP I COMMA | |
866 | ||
867 | COMBI, 0 | |
868 | JMS USUAL | |
869 | 0211 | |
870 | YBATCH | |
871 | JMP I COMBI | |
872 | ||
873 | COMLD, 0 | |
874 | JMS USUAL | |
875 | 1404 | |
876 | YFRTS | |
877 | JMP I COMLD | |
878 | \fDEFILE, 0 /PTR TO FILENAME TO CHAIN TO | |
879 | ||
880 | /COMLS, 0 | |
881 | / TAD I (EXTLS | |
882 | / DCA SETEXT | |
883 | / TAD (YCREF | |
884 | / DCA DEFILE | |
885 | / ISZ I (DONB /CREF FOO.LS MAKES NO BINARY | |
886 | / JMP I COMLS | |
887 | ||
888 | RDMON, 0 | |
889 | CDF 10 | |
890 | CIF 0 | |
891 | CLA | |
892 | JMS I (7607 | |
893 | 0400 /READ 2 RECORD | |
894 | 2000 /LOCATION 2000 FIELD 0 | |
895 | 7 /BLOCK 7,10 | |
896 | JMP I (IOERR | |
897 | JMP I RDMON | |
898 | ||
899 | USUAL, 0 | |
900 | TAD I USUAL | |
901 | DCA SETEXT | |
902 | ISZ USUAL | |
903 | TAD I USUAL | |
904 | DCA DEFILE | |
905 | ISZ USUAL | |
906 | JMP I USUAL | |
907 | \fUNKN, 0 | |
908 | TAD SETEXT | |
909 | SZA | |
910 | TAD T /NEG OF SWITCH REQUEST | |
911 | SZA CLA | |
912 | JMP I (CCERA /CAN'T HAVE 2ND DEFAULT EXTENSION | |
913 | TAD T | |
914 | CIA | |
915 | DCA SETEXT /SET DEFAULT EXTENSION | |
916 | TAD DEFALT /SEE IF IT'S IN COMMAND'S SEARCH LIST | |
917 | DCA DEF | |
918 | TAD SETEXT | |
919 | JMS I (EXTLUK | |
920 | SNA CLA /DID WE FIND IT? | |
921 | JMP I (CDER4 /NO | |
922 | ISZ DEF /YES | |
923 | / TAD I (JMSUB /ALLOW RECURSIVE CALL | |
924 | / DCA HOLD | |
925 | TAD I DEF | |
926 | JMS I (JMSUB /CALL ITS SUBR | |
927 | / TAD HOLD | |
928 | /V1A RECURSIVE CALL NO LONGER THREATENS | |
929 | / DCA I (JMSUB | |
930 | JMP I UNKN | |
931 | ||
932 | SETEXT, 0 /EXT WHICH HAS BEEN SET BY A CCL SWITCH | |
933 | ||
934 | SEMERR, TAD (SEMSG-1 | |
935 | DCA UNKN | |
936 | TAD I UNKN | |
937 | DCA .+2 | |
938 | JMS I (PRMESG | |
939 | SEMSG1 | |
940 | \fWRITFT, JMS I (LOOK | |
941 | YCCL | |
942 | JMP I (IOERR /CCL.SV NOT FOUND | |
943 | TAD I (BLK | |
944 | TAD (4 /*3400 IS 4TH BLOCK OF CCL NOT COUNTING CCB | |
945 | DCA FBLK | |
946 | CDF 10 | |
947 | CIF 0 | |
948 | JMS I (7607 | |
949 | 4210 /WRITE 1 RECORD FROM FIELD 1 | |
950 | 3400 /LOCS 3400-3777 | |
951 | FBLK, 0 | |
952 | JMP I (IOERR | |
953 | CIF CDF 0 | |
954 | JMP I (7605 | |
955 | PAGE | |
956 | \fCD, 0 | |
957 | JMS I (200 | |
958 | 13 /RESET ALL HANDLERS | |
959 | JMS I (CDINIT | |
960 | BEGGRP, TAD OUTSW | |
961 | SNA CLA | |
962 | TAD I (BEGDIF /DIFF BETWEEN INPUT & OUTPUT AREAS | |
963 | TAD (MOFILE-1 | |
964 | DCA CLXR | |
965 | JMS I (GETSPC | |
966 | JMS I (ASSIGN | |
967 | TAD OUTSW | |
968 | SNA CLA | |
969 | TAD I (LIMDIF /DIFF BETWWEN END OF OUTPUT & INPUT AREAS | |
970 | TAD I (OUTLIM /END OF OUTPUT AREA | |
971 | TAD CLXR | |
972 | SMA CLA | |
973 | JMP I (CDER1 | |
974 | JMS I (CCLSWT | |
975 | TAD OUTSW | |
976 | SNA CLA | |
977 | LKUPSW, JMP INFILE /ZEROED IF IN "SPECIAL DECODE" MODE | |
978 | TAD I (DVICE | |
979 | JMS PCLXR | |
980 | TAD NAME1 | |
981 | JMS PCLXR | |
982 | TAD NAME2 | |
983 | JMS PCLXR | |
984 | TAD NAME3 | |
985 | JMS PCLXR | |
986 | TAD NAME4 | |
987 | JMP LSTPUT | |
988 | INFILE, JMS I (LOOKUP | |
989 | JMS PCLXR /STORE LENGTH AND DEV NUMBER | |
990 | TAD I (LNAME /GET BLOCK | |
991 | LSTPUT, JMS PCLXR | |
992 | TAD OUTSW | |
993 | SNA CLA | |
994 | TAD I (FLAG | |
995 | CLL RTL | |
996 | SPA CLA /FEATURE ENABLED? | |
997 | TAD LKUPSW | |
998 | SNA CLA | |
999 | JMP DLOOK /IN SPECIAL MODE OR ON OUTPUT SIDE | |
1000 | TAD DONB | |
1001 | SZA CLA | |
1002 | JMP NBS | |
1003 | TAD (7600 /V1A NOW TAKES ARG IN AC | |
1004 | JMS I (NMOVE /MOVE NAME TO OUTPUT FILE NAMES | |
1005 | JMP DLOOK | |
1006 | \fNBS, DCA DONB /ZERO 1ST OUTPUT FILE | |
1007 | TAD (7577 | |
1008 | DCA XR2 | |
1009 | DCA I XR2 | |
1010 | DCA I XR2 | |
1011 | DCA I XR2 | |
1012 | DCA I XR2 | |
1013 | DCA I XR2 | |
1014 | DLOOK, STA | |
1015 | DCA I (DVFLAG | |
1016 | TAD DELIM | |
1017 | SNA | |
1018 | JMP I CD | |
1019 | TAD (-"[ | |
1020 | SNA | |
1021 | JMP I (OLENGT | |
1022 | TAD ("[-", | |
1023 | SNA | |
1024 | JMP I (FILLP /**** JUMPING INTO ROUTINE (IS THIS A BUG?) | |
1025 | TAD (",-"< | |
1026 | SNA | |
1027 | JMP BKAROW | |
1028 | TAD ("<-"= | |
1029 | SZA CLA | |
1030 | JMP I (CDER2 /BAD CHAR | |
1031 | / THIS STUFF WOULD ALLOW = AS WELL AS < AND _ | |
1032 | /*** HAVE TO FIX 'BKA' ROUTINE | |
1033 | / JMS I (GLXR | |
1034 | / JMS I (DECODE | |
1035 | / STL | |
1036 | / STA /LINK=0 MEANS LETTER | |
1037 | / TAD LXR /NOW LINK=1 MEANS LETTER | |
1038 | / DCA LXR | |
1039 | / SZL | |
1040 | / JMP BKAROW | |
1041 | DCA I (NUMFUJ | |
1042 | JMS I (NUMBER | |
1043 | DCA I (MPARAM+3 | |
1044 | CLA CLL CML RAR | |
1045 | AND I (MPARAM-1 /PRESERVE ALTMODE | |
1046 | TAD I (HIORD | |
1047 | DCA I (MPARAM-1 | |
1048 | JMS I (CCLSWT | |
1049 | JMP DLOOK | |
1050 | BKAROW, ISZ OUTSW | |
1051 | JMP I (CDER2 /TWO BACK-ARROWS | |
1052 | TAD LXR /GET PTR TO ARROW | |
1053 | DCA I (ARLOC /SAVE IT ('EDIT' MIGHT NEED IT) | |
1054 | JMP BEGGRP | |
1055 | ||
1056 | PCLXR, 0 | |
1057 | ISZ CLXR | |
1058 | DCA I CLXR | |
1059 | JMP I PCLXR | |
1060 | \fDONB, 0 /ENTRY PT USED AS FLAG | |
1061 | JMP I DONB | |
1062 | ||
1063 | OUTSW, -1 /-1 MEANS ON OUTPUT SIDE, 0 ON INPUT SIDE | |
1064 | ||
1065 | P6, SETDEV | |
1066 | TVDEV | |
1067 | PAGE | |
1068 | \fNUMBER, 0 | |
1069 | SZA CLA | |
1070 | TAD (NUM&177+1200-SKP | |
1071 | TAD (SKP | |
1072 | DCA NUMADD/SET NUMADD TO EITHER "SKP" OR "TAD NUM" | |
1073 | DCA HIORD | |
1074 | NUMLP, DCA NUM | |
1075 | JMS I (GCH | |
1076 | ISZ NUMKNT | |
1077 | SKP | |
1078 | JMP EONUM2 | |
1079 | CMA | |
1080 | TAD NUMFUJ | |
1081 | TAD ("8 /TEST INPUT CHARACTER FOR RANGE | |
1082 | CLL CMA /0-7 IF NUMFUJ=0 | |
1083 | TAD (10 /0-9 IF NUMFUJ=2 | |
1084 | TAD NUMFUJ | |
1085 | SNL | |
1086 | JMP EONUM | |
1087 | DCA T | |
1088 | CLA CLL CMA RTL | |
1089 | DCA DELIM | |
1090 | TAD NUM | |
1091 | ROTLP, CLL RAL | |
1092 | DCA NUMX | |
1093 | TAD HIORD | |
1094 | RAL | |
1095 | NUMSKP, SPA /MODIFIED BY # | |
1096 | JMP I (CDER5 | |
1097 | DCA HIORD | |
1098 | TAD NUMX | |
1099 | ISZ DELIM | |
1100 | JMP ROTLP | |
1101 | NUMADD, TAD NUM /SKP IF OCTAL | |
1102 | TAD NUM | |
1103 | TAD T | |
1104 | JMP NUMLP | |
1105 | EONUM, TAD ("0 | |
1106 | EONUM2, DCA DELIM | |
1107 | TAD NUMKNT | |
1108 | SPA CLA | |
1109 | JMP I (CDER5 /FEWER THAN CORRECT NUMBER OF DIGITS | |
1110 | TAD NUM | |
1111 | JMP I NUMBER | |
1112 | ||
1113 | NUM, 0 | |
1114 | NUMFUJ, 0 | |
1115 | NUMKNT, 0 /SET TO -N-1 TO FORCE N DIGITS | |
1116 | HIORD, 0 | |
1117 | \fASSIGN, 0 | |
1118 | TAD CLXR | |
1119 | AND I (DVFLAG | |
1120 | TAD I (OUTLIM | |
1121 | SMA SZA CLA /CHECK FOR OUTPUT OR FIRST INPUT | |
1122 | JMP ASNORM /IF DEVICE WAS SPECIFIC, | |
1123 | /OR IF WE ARE ON THE INPUT SIDE, | |
1124 | /PROCEED NORMALLY | |
1125 | TAD NAME1 | |
1126 | SNA CLA | |
1127 | JMP ASGNST | |
1128 | TAD DFLTNM+1 | |
1129 | DCA DEV2 | |
1130 | TAD DFLTNM | |
1131 | DCA DEV1 | |
1132 | ASNORM, TAD DEV1 | |
1133 | DCA AS+1 | |
1134 | TAD DEV2 | |
1135 | DCA AS+2 | |
1136 | TAD I (OUTSW | |
1137 | SNA CLA /DON'T LOAD HANDLER | |
1138 | /IF WE ARE ON OUTPUT SIDE OF "_" | |
1139 | TAD NAME1 | |
1140 | SPKLG1, SNA CLA /OR THERE IS NO FILE NAME TO LOOK UP | |
1141 | TAD GETHND /GETHND=11 NORMALLY, | |
1142 | /0 IF IN "SPECIAL DECODE" MODE | |
1143 | IAC | |
1144 | DCA AS | |
1145 | TAD (HNDLR+1 /ALLOW TWO PAGE HANDLERS | |
1146 | DCA ASADR | |
1147 | CIF 10 | |
1148 | JMS I (200 | |
1149 | NUMX, | |
1150 | AS, 0 | |
1151 | 0 | |
1152 | 0 | |
1153 | ASADR, HNDLR+1 | |
1154 | JMP I (CDER0 | |
1155 | TAD AS+2 | |
1156 | ASGNST, DCA I (DVICE | |
1157 | JMP I ASSIGN | |
1158 | \fDFLTNM, DEVICE DSK | |
1159 | GETHND, 11 /1+11=12 (1=FETCH, 12=INQUIRE) | |
1160 | ||
1161 | LOVE, 0 | |
1162 | TAD NAME1 | |
1163 | TAD (-1417 | |
1164 | SZA CLA | |
1165 | JMP I LOVE | |
1166 | TAD NAME2 | |
1167 | TAD (-2605 | |
1168 | SZA CLA | |
1169 | JMP I LOVE | |
1170 | TAD NAME3 | |
1171 | TAD NAME4 | |
1172 | SZA CLA | |
1173 | JMP I LOVE | |
1174 | JMS I (PRINT | |
1175 | LOVMES | |
1176 | JMP I LOVE | |
1177 | ||
1178 | FILDMY, FILENAME DUMMY.SV | |
1179 | ||
1180 | SEMSG, SEMSG1 | |
1181 | SEMSG2 | |
1182 | SEMSG3 | |
1183 | SEMSG4 | |
1184 | PAGE | |
1185 | \f/GETS A NAME FROM FIELD ZERO BUFFER VIA LXR | |
1186 | /RETURNS WITH DELIMETER IN AC | |
1187 | /GIVES ERROR MESSAGE IF NAME IS BAD | |
1188 | ||
1189 | TN, /DON'T CALL CCLSWT FROM GNAME UNLESS THIS IS MOVED | |
1190 | GNAME, 0 | |
1191 | DCA NAME1 | |
1192 | DCA NAME2 | |
1193 | DCA NAME3 | |
1194 | DCA NAME4 | |
1195 | TAD (NAME1 | |
1196 | DCA NMBASE | |
1197 | CLA CMA | |
1198 | DCA PERDSW | |
1199 | DCA NAMECT | |
1200 | JMS I (GCH | |
1201 | TAD (-"# | |
1202 | SNA | |
1203 | JMP NUMCON | |
1204 | TAD ("# | |
1205 | SKP | |
1206 | GTNMLP, JMS I (GCH | |
1207 | DCA DELIM | |
1208 | TAD DELIM | |
1209 | TAD (-"? | |
1210 | SZA | |
1211 | TAD ("?-"* | |
1212 | SNA | |
1213 | STARSW, JMP I (CDER6 /"JMP STARNM" | |
1214 | /IF "SPECIAL DECODE" MODE | |
1215 | TAD ("*-". | |
1216 | SNA CLA | |
1217 | JMP PERIOD | |
1218 | TAD DELIM | |
1219 | JMS I (DECODE | |
1220 | JMP LV | |
1221 | STARNM, CLA /THIS CODE HANDLES *'S AND ?'S CORRECTLY | |
1222 | TAD DELIM | |
1223 | AND (77 | |
1224 | DCA DELIM | |
1225 | TAD NAMECT | |
1226 | TAD (-6 | |
1227 | SMA CLA | |
1228 | JMP GTNMLP | |
1229 | TAD NAMECT | |
1230 | CLL RAR | |
1231 | TAD NMBASE | |
1232 | DCA TT | |
1233 | TAD DELIM | |
1234 | SNL | |
1235 | JMS I (ROTL | |
1236 | TAD I TT | |
1237 | DCA I TT | |
1238 | ISZ NAMECT | |
1239 | JMP GTNMLP | |
1240 | PERIOD, TAD NAME1 | |
1241 | SZA CLA | |
1242 | ISZ PERDSW | |
1243 | JMP I (CDER7 /NULL NAME OR DOUBLE EXTENSION | |
1244 | ISZ NMBASE | |
1245 | TAD (4 | |
1246 | DCA NAMECT | |
1247 | JMP GTNMLP | |
1248 | \fCCLSWT, 0 | |
1249 | TAD DELIM | |
1250 | TAD (-"- | |
1251 | SZA CLA | |
1252 | JMP I CCLSWT | |
1253 | TAD I (OUTSW | |
1254 | SZA CLA | |
1255 | JMP I (CDER4 /CCL EXT ON OUTPUT FILE | |
1256 | TAD (SWTCHS | |
1257 | DCA DEF | |
1258 | JMS GETL | |
1259 | JMP I (CDER44 /NON-ALPHANUMERIC CCL SWITCH | |
1260 | JMS I (ROTL | |
1261 | DCA TN | |
1262 | JMS GETL | |
1263 | JMP XLK2 /ONE CHAR CCL SWITCH | |
1264 | TAD TN | |
1265 | DCA TN | |
1266 | JMS GETL | |
1267 | XLK2, SKP CLA /2 CHAR CCL SWITCH | |
1268 | JMP I (CDER44 /3 CHAR CCL-SWITCH | |
1269 | TAD TN | |
1270 | JMS I (EXTLUK | |
1271 | CLA | |
1272 | ISZ DEF | |
1273 | TAD I DEF | |
1274 | DCA GETL /GET PTR TO ARGUMENT PAIR | |
1275 | TAD I GETL /GET SUBROUTINE | |
1276 | DCA PERDSW | |
1277 | ISZ GETL | |
1278 | TAD I GETL /GET ARGUMENT | |
1279 | JMS I PERDSW /CALL SUBR, ARG IN AC | |
1280 | JMP CCLSWT+1 | |
1281 | \fGETL, 0 | |
1282 | JMS I (GCH | |
1283 | DCA DELIM | |
1284 | TAD DELIM | |
1285 | JMS I (DECODE | |
1286 | JMP I GETL /NON-ALPHANUM IN CCL SWITCH | |
1287 | CLA | |
1288 | TAD DELIM | |
1289 | AND (77 | |
1290 | ISZ GETL | |
1291 | JMP I GETL | |
1292 | ||
1293 | NUMCON, JMS I (NUMC | |
1294 | LV, CLA | |
1295 | TAD DELIM | |
1296 | JMP I GNAME | |
1297 | ||
1298 | PERDSW, 0 | |
1299 | NAMECT, 0 | |
1300 | PAGE | |
1301 | \fLOOKUP, 0 | |
1302 | DCA LNAME | |
1303 | TAD NAME1 | |
1304 | SNA CLA | |
1305 | JMP LKUPST | |
1306 | TAD I (PERDSW | |
1307 | TAD NAME4 | |
1308 | SNA CLA | |
1309 | CLA IAC /FORCE NAMERM NON-0 IF . AND NO EXT | |
1310 | TAD NAME4 | |
1311 | DCA NAMERM /REMEMBER TYPED EXTENSION | |
1312 | TAD DEFALT | |
1313 | DCA DEF | |
1314 | TAD I (SETEXT | |
1315 | SNA /HAS AN EXTENSION BEEN SET? | |
1316 | TAD NAMERM /NO | |
1317 | SNA /DOES FILE HAVE EXTENSION? | |
1318 | JMP EXT2 /NO EXTENSION TYPED OR SET, DO SUCCESSIVE LOOK-UPS | |
1319 | JMS EXTLUK /LOOK FOR EXTENSION | |
1320 | SNA CLA /DID WE FIND IT? | |
1321 | JMP EXT3 /NO, FORCE NULL EXTENSION TO MATCH | |
1322 | EXT2, TAD I DEF | |
1323 | IAC | |
1324 | SNA CLA | |
1325 | JMP NEXTEXT /IGNORE -1'S | |
1326 | TAD NAMERM | |
1327 | SZA CLA | |
1328 | JMP EXT3 | |
1329 | TAD I DEF | |
1330 | DCA NAME4 /SET NEW EXTENSION | |
1331 | EXT3, TAD (NAME1 | |
1332 | DCA LNAME | |
1333 | TAD I (AS+2 | |
1334 | JMS I (200 | |
1335 | 2 | |
1336 | LNAME, 0 /NAME1 | |
1337 | LENGTH, 0 | |
1338 | JMP LFAILD | |
1339 | ISZ DEF /POINT TO FOLLOW-UP SUBROUTINE | |
1340 | TAD I DEF | |
1341 | JMS JMSUB /CALL IT | |
1342 | TAD LENGTH | |
1343 | CLL | |
1344 | TAD (400 | |
1345 | SNL | |
1346 | CLACON, 7600 /CLA | |
1347 | CLL RTL | |
1348 | RTL | |
1349 | AND (7760 | |
1350 | LKUPST, TAD DVICE | |
1351 | JMP I LOOKUP | |
1352 | \fLFAILD, TAD NAMERM | |
1353 | SNA CLA /WAS THERE AN EXPLICIT EXTENSION? | |
1354 | TAD I DEF /NO - WAS THERE A DEFAULT EXTENSION? | |
1355 | SNA CLA | |
1356 | JMP I (CDER3 /NO DEFALT EXTENSION OR YES EXPLICIT EXTENSION | |
1357 | NEXTEXT,ISZ DEF /NO EXPLICIT EXT AND YES DEFAULT EXT | |
1358 | ISZ DEF /POINT TO NEXT POSSIBLE DEFAULT EXTENSION | |
1359 | JMP EXT2 /AND TRY FOR IT | |
1360 | ||
1361 | NAMERM, 0 | |
1362 | DVICE, 0 | |
1363 | ||
1364 | EXTLUK, 0 | |
1365 | CIA | |
1366 | DCA T | |
1367 | XLUK, TAD I DEF | |
1368 | SNA /AT NULL? | |
1369 | JMP I EXTLUK /YES | |
1370 | TAD T /NO | |
1371 | SNA CLA /MATCH? | |
1372 | JMP MAT /YES | |
1373 | ISZ DEF /NO | |
1374 | ISZ DEF /POINT TO NEXT ENTRY | |
1375 | JMP XLUK /TRY AGAIN | |
1376 | MAT, TAD I DEF /RETURN WITH IT IN AC | |
1377 | JMP I EXTLUK | |
1378 | ||
1379 | TS, | |
1380 | ZERSUB, 0 | |
1381 | TAD I (7601 | |
1382 | SNA CLA /WAS FILENAME SPECIFIED ON ZERO CMD? | |
1383 | TAD I CLACON /OR WAS NO OUT DEVICE SPECIFIED? | |
1384 | SNA CLA | |
1385 | JMP I (CDER2 /YES... ERROR | |
1386 | JMP I ZERSUB /NO, OKAY. | |
1387 | \fIOERR, JMS I (PRMESG | |
1388 | SYSER | |
1389 | ||
1390 | EXSUB, 0 | |
1391 | TAD BASPTR /PUSH PTR BACK TO BEGIN OF ENTRIES | |
1392 | JMS I (REMEM /REMEMBER THIS IN DEPENDENT WORD | |
1393 | 2 | |
1394 | JMP I EXSUB | |
1395 | ||
1396 | JMSUB, 0 | |
1397 | SNA | |
1398 | JMP I JMSUB | |
1399 | DCA TS | |
1400 | JMS I TS | |
1401 | JMP I JMSUB | |
1402 | \fSPOOLIT,0 | |
1403 | JMS I (BATCH /IS BATCH RUNNING? | |
1404 | JMP I SPOOLIT /NO | |
1405 | DCA CB /YES | |
1406 | TAD I DEFALT | |
1407 | TAD (-5200 | |
1408 | SNA CLA | |
1409 | TAD I DEFALT /LEAVE 5200 IN AC IF SPECIAL MODE | |
1410 | CB, HLT /CIF TO FIELD OF BATCH | |
1411 | JMS I (BATSPL /ALLOW BATCH TO SPOOL STUFF | |
1412 | JMP I SPOOLIT | |
1413 | ||
1414 | GOO, TAD PTR | |
1415 | BASPTR, DCA BASPTR | |
1416 | JMP I (GO | |
1417 | PAGE | |
1418 | \fSLSHCH, 0 | |
1419 | DCA DELIM | |
1420 | TAD (MPARAM-1 | |
1421 | DCA T | |
1422 | TAD DELIM | |
1423 | JMS DECODE | |
1424 | JMP CDER8 | |
1425 | SZL | |
1426 | TAD (32 | |
1427 | CMA STL /THE FOLLOWING TURNS | |
1428 | /ON THE CORRECT OPTION BIT | |
1429 | DCA TT | |
1430 | SLSHLP, SZL | |
1431 | ISZ T | |
1432 | RAR | |
1433 | SNL | |
1434 | ISZ TT | |
1435 | JMP SLSHLP | |
1436 | DCA TT | |
1437 | TAD TT | |
1438 | CMA | |
1439 | AND I T | |
1440 | TAD TT | |
1441 | DCA I T | |
1442 | JMP I SLSHCH | |
1443 | ||
1444 | /THIS ROUTINE DETERMINES IF THE CHARACTER IN THE AC IS A LETTER OR DIGIT | |
1445 | /IF LETTER, RETURNS TO RET+1 WITH LETTER-"A IN AC AND LINK=0 | |
1446 | /IF DIGIT, RETURNS TO RET+1 WITH DIGIT-"0 IN AC AND LINK=1 | |
1447 | /IF NEITHER, RETURNS TO RET WITH CHAR-"A IN AC. | |
1448 | DECODE, 0 | |
1449 | TAD (-"9-1 /MIGHT BE CALLED WITH ANY DF | |
1450 | CLL | |
1451 | TAD ("9+1-"0 | |
1452 | SZL | |
1453 | JMP DCDYES | |
1454 | TAD ("0-"Z-1 | |
1455 | CLL CML | |
1456 | TAD ("Z-"A+1 | |
1457 | SNL | |
1458 | DCDYES, ISZ DECODE | |
1459 | JMP I DECODE | |
1460 | ||
1461 | CDER8, CLA | |
1462 | JMS I (PRMESG | |
1463 | BADOPT | |
1464 | \fZEROCD, 0 | |
1465 | TAD (-42 /AC MAY BE NON-0 | |
1466 | DCA T | |
1467 | TAD (MOFILE-1 | |
1468 | DCA XR | |
1469 | DCA I XR /ZERO THE COMMAND DECODER OUTPUT AREA | |
1470 | ISZ T | |
1471 | JMP .-2 | |
1472 | JMP I ZEROCD | |
1473 | ||
1474 | GCH, 0 | |
1475 | JMS GLXR | |
1476 | TAD (-240 | |
1477 | SNA | |
1478 | JMP GCH+1 | |
1479 | TAD (240-"/ | |
1480 | SNA | |
1481 | JMP SLASH | |
1482 | TAD ("/-"( | |
1483 | SNA | |
1484 | JMP OPENP | |
1485 | TAD ("( | |
1486 | JMP I GCH | |
1487 | SLASH, JMS GLXR | |
1488 | JMS SLSHCH | |
1489 | /*** CAN'T PUT /A:VAL HERE BECAUSE GCH AINT RECURSIVE | |
1490 | JMP GCH+1 | |
1491 | OPENP, JMS GLXR | |
1492 | TAD (-") | |
1493 | SNA | |
1494 | JMP GCH+1 | |
1495 | TAD (") | |
1496 | JMS SLSHCH | |
1497 | JMP OPENP | |
1498 | ||
1499 | GLXR, 0 | |
1500 | CDF 0 | |
1501 | ISZ LXR | |
1502 | TAD I LXR | |
1503 | CDF 10 | |
1504 | JMP I GLXR | |
1505 | \fOLENGT, TAD I (OUTSW | |
1506 | AND NAME1 /[N] IS ONLY LEGAL | |
1507 | /ON THE OUTPUT SIDE OF THE "_" | |
1508 | SNA CLA /AND ONLY AFTER A FILE NAME | |
1509 | JMP I (CDER2 | |
1510 | TAD (-4 | |
1511 | TAD CLXR | |
1512 | DCA NMBASE | |
1513 | CLA CLL CML RTL | |
1514 | DCA I (NUMFUJ /SET "NUMBER" TO ACCEPT | |
1515 | /DIGITS 8 AND 9 | |
1516 | STA /ALLOW DECIMAL | |
1517 | JMS I (NUMBER | |
1518 | CLL RTL | |
1519 | RTL | |
1520 | AND (7760 | |
1521 | TAD I NMBASE | |
1522 | DCA I NMBASE | |
1523 | CDF 0 | |
1524 | TAD DELIM | |
1525 | TAD (-"] /IS THERE A CLOSING BRACKET? | |
1526 | SNA /IF NOT, | |
1527 | /"DLOOK" ROUTINE WILL DETECT IT | |
1528 | JMS GCH | |
1529 | DCA DELIM | |
1530 | JMP I (DLOOK | |
1531 | \fBASUB, 0 | |
1532 | TAD (200 /SET /Q SWITCH | |
1533 | DCA I (MPARAM+1 | |
1534 | JMP I BASUB | |
1535 | PAGE | |
1536 | \fPRMESG, 0 | |
1537 | CLA | |
1538 | TAD I PRMESG | |
1539 | DCA .+2 | |
1540 | JMS PRINT | |
1541 | HLT | |
1542 | LEAVE, JMS I (TWAIT | |
1543 | /V3D TCF | |
1544 | CIF CDF 0 | |
1545 | TAD FATALFLG | |
1546 | SNA CLA | |
1547 | JMP I (7605 | |
1548 | FATALFLG,0 /CIF CDF BATCH FIELD IF WANT TO ABORT | |
1549 | JMP I (BATERR | |
1550 | ||
1551 | PRWD, 0 | |
1552 | DCA T | |
1553 | TAD T | |
1554 | TTY212, RTR | |
1555 | RTR | |
1556 | RTR | |
1557 | JMS PCHAR | |
1558 | TAD T | |
1559 | JMS PCHAR | |
1560 | JMP I PRWD | |
1561 | ||
1562 | PCHAR, 0 | |
1563 | AND (77 | |
1564 | SNA | |
1565 | JMP I PCHAR /IGNORE NULLS | |
1566 | TAD (240 | |
1567 | AND (77 | |
1568 | TAD (240 /CAN'T USE 'TTY240' | |
1569 | JMS TYPE | |
1570 | JMP I PCHAR | |
1571 | ||
1572 | PRNAME, 0 | |
1573 | TAD NAME1 | |
1574 | JMS PRWD | |
1575 | TAD NAME2 | |
1576 | JMS PRWD | |
1577 | TAD NAME3 | |
1578 | JMS PRWD | |
1579 | TAD NAME4 | |
1580 | SNA CLA | |
1581 | JMP I PRNAME | |
1582 | TAD (256 | |
1583 | JMS PCHAR | |
1584 | TAD NAME4 | |
1585 | JMS PRWD | |
1586 | JMP I PRNAME | |
1587 | \fTYPE, 0 | |
1588 | DCA TE2 | |
1589 | JMS I (BATCH | |
1590 | JMP TTYOUT | |
1591 | DCA CIFB | |
1592 | CIFB, HLT /REPLACED BY CIF BATCH FIELD | |
1593 | TAD TE2 | |
1594 | JMS I (BATOUT | |
1595 | TAD TE2 | |
1596 | TAD (-"# | |
1597 | TTY240, SZA CLA | |
1598 | JMP I TYPE | |
1599 | TAD CIFB | |
1600 | IAC /CONVERT CIF TO CIF CDF | |
1601 | DCA FATALFLG | |
1602 | JMP I TYPE | |
1603 | ||
1604 | TTYOUT, TAD TE2 | |
1605 | TAD (-"# /DON'T TYPE #'S | |
1606 | SNA CLA | |
1607 | JMP I TYPE | |
1608 | TAD T7600 | |
1609 | KRS | |
1610 | TAD (-7603 | |
1611 | SNA | |
1612 | JMP LEAVE | |
1613 | TAD (203-217 | |
1614 | SNA CLA | |
1615 | JMP I TYPE | |
1616 | TAD TE2 | |
1617 | TJUMP, JMP .+3 | |
1618 | TSF | |
1619 | JMP .-1 | |
1620 | TLS | |
1621 | T7600, 7600 | |
1622 | TAD (7000 | |
1623 | DCA TJUMP | |
1624 | JMP I TYPE | |
1625 | \fPRINT, 0 | |
1626 | DCA CRLF /AC NON-0 MEANS DON'T CRLF | |
1627 | TAD I PRINT | |
1628 | ISZ PRINT | |
1629 | DCA TE | |
1630 | PRINTP, CDF 0 | |
1631 | TAD I TE | |
1632 | CDF 10 | |
1633 | JMS PRWD | |
1634 | CDF 0 | |
1635 | TAD I TE | |
1636 | CDF 10 | |
1637 | ISZ TE | |
1638 | AND (77 | |
1639 | SZA CLA | |
1640 | JMP PRINTP | |
1641 | TAD CRLF | |
1642 | SNA CLA | |
1643 | JMS CRLF | |
1644 | JMP I PRINT | |
1645 | TE, 0 | |
1646 | TE2, 0 | |
1647 | \fCRLF, 0 | |
1648 | TAD (215 | |
1649 | JMS TYPE | |
1650 | TAD TTY212 | |
1651 | JMS TYPE | |
1652 | JMP I CRLF | |
1653 | ||
1654 | CDER2, JMS PRMESG | |
1655 | BADSYN | |
1656 | ||
1657 | P1, NMOVE | |
1658 | 7605 | |
1659 | PAGE | |
1660 | \fCCERB, JMS I (PRMESG | |
1661 | BADSW | |
1662 | CDER1, JMS I (PRMESG | |
1663 | TOOMAN | |
1664 | CDER5, JMS I (PRMESG | |
1665 | BADNUM | |
1666 | CCER1, TAD I (NAMPTR | |
1667 | DCA NMX | |
1668 | TAD (-4 | |
1669 | JMS I (MOVE | |
1670 | CDF 10 | |
1671 | NMX, 0 | |
1672 | CDF 10 | |
1673 | NAME1 | |
1674 | CDER3, TAD (4300 | |
1675 | JMS I (PRWD /# | |
1676 | JMS I (PRNAME | |
1677 | JMS I (PRMESG | |
1678 | NF | |
1679 | ||
1680 | CCER2, TAD I (DVNM1 | |
1681 | DCA DEV1 | |
1682 | TAD I (DVNM2 | |
1683 | DCA DEV2 | |
1684 | CDER0, TAD DEV1 | |
1685 | SNA CLA | |
1686 | JMP I (CDER2 /B DOES NOT EXIST | |
1687 | TAD (4300 /# | |
1688 | JMS I (PRWD | |
1689 | TAD DEV1 | |
1690 | JMS I (PRWD | |
1691 | TAD DEV2 | |
1692 | JMS I (PRWD | |
1693 | JMS I (PRMESG | |
1694 | DNE | |
1695 | \fKILRT, 0 | |
1696 | JMS I (PRINT | |
1697 | KILMES | |
1698 | JMP I KILRT | |
1699 | ||
1700 | RENRT, 0 | |
1701 | JMS I (PRINT | |
1702 | RENMES | |
1703 | JMP I RENRT | |
1704 | ||
1705 | MOVRT, 0 | |
1706 | JMS I (PRINT | |
1707 | MOVMES | |
1708 | JMP I MOVRT | |
1709 | ||
1710 | SWTCHS, 1423; P1 /LS | |
1711 | 1602; P2 /NB | |
1712 | 1520; P3 /MP | |
1713 | 1400; P4 /L | |
1714 | 2400; P5 /T | |
1715 | 2300; P6 /S | |
1716 | 2000; P7 /P | |
1717 | 0400; P8 /D | |
1718 | 1600; P9 /N | |
1719 | 0000; P10 /UNKNOWN | |
1720 | ZBLOCK 2 /PATCH ROOM FOR USER | |
1721 | ||
1722 | P2, DONB | |
1723 | 0 | |
1724 | ||
1725 | P3, NMOVE | |
1726 | 7612 | |
1727 | ||
1728 | P7, SETDEV | |
1729 | PTPDEV | |
1730 | ||
1731 | P9, SETDEV | |
1732 | NULDEV | |
1733 | ||
1734 | P10, UNKN | |
1735 | 0 | |
1736 | \fSCAN, 0 | |
1737 | TAD (BEGLN | |
1738 | DCA T | |
1739 | CDF 0 | |
1740 | JMS BLSCAN /IGNORE INITIAL SPACES | |
1741 | JMP CHK | |
1742 | NOBLUP, CLA | |
1743 | ISZ T | |
1744 | TAD I T | |
1745 | CHK, SNA | |
1746 | JMP ENDOFB | |
1747 | JMS I (DECODE | |
1748 | SKP CLA | |
1749 | JMP NOBLUP | |
1750 | JMS BLSCAN | |
1751 | ENDOFB, DCA DELIM | |
1752 | STA | |
1753 | TAD T | |
1754 | CDF 10 | |
1755 | DCA I (LBEGIN | |
1756 | JMP I SCAN | |
1757 | ||
1758 | BLSCAN, 0 | |
1759 | TAD I T | |
1760 | TAD (-240 | |
1761 | SZA | |
1762 | JMP BL2 | |
1763 | ISZ T | |
1764 | JMP BLSCAN+1 | |
1765 | BL2, TAD (240 | |
1766 | JMP I BLSCAN /LEAVE CHAR IN AC | |
1767 | PAGE | |
1768 | \f ALTMODE=233 | |
1769 | ||
1770 | SETPA, 0 | |
1771 | JMS I (SETX | |
1772 | "P;"A /KEEP HERE TO MAKE EASY TO PATCH | |
1773 | JMP I SETPA | |
1774 | ||
1775 | MAKSUB, 0 | |
1776 | TAD DELIM | |
1777 | SNA CLA | |
1778 | JMP CMDERR /DON'T ALLOW MAKE <CR> | |
1779 | JMS SETLXR | |
1780 | JMS I (GETSPC | |
1781 | JMS I (LOVE | |
1782 | JMS TECPUT | |
1783 | "E;"W;0 | |
1784 | JMS TECMOV | |
1785 | JMS SETPA | |
1786 | JMS TECPUT | |
1787 | ALTMODE;0 | |
1788 | JMS I (CHKSUP | |
1789 | JMS I (REMEM | |
1790 | 0 | |
1791 | JMP I MAKSUB | |
1792 | ||
1793 | SETLXR, 0 | |
1794 | TAD I (LBEGIN | |
1795 | DCA LXR | |
1796 | TAD (MOFILE-1 | |
1797 | DCA I (TYR | |
1798 | TAD (-5 /ZERO OPTION TABLE TOO | |
1799 | JMS I (ZEROCD | |
1800 | TAD LXR | |
1801 | DCA SAVLXR | |
1802 | JMP I SETLXR | |
1803 | ||
1804 | /PUT FOLLOWING CHARS INTO TECO BUFFER VIA TXR | |
1805 | ||
1806 | TECPUT, 0 | |
1807 | / TAD NAME1 | |
1808 | / SNA CLA | |
1809 | / JMP I (CDER2 | |
1810 | TAD I TECPUT | |
1811 | ISZ TECPUT | |
1812 | SNA | |
1813 | JMP I TECPUT | |
1814 | JMS I (TPUT | |
1815 | JMP TECPUT+1 | |
1816 | \f/MOVE CHARS FROM FIELD 0 LINE BUFFER | |
1817 | /FROM SAVLXR+1 TO LXR-1 INCLUSIVE | |
1818 | /INTO TECO LINE BUFFER AT 17600 | |
1819 | ||
1820 | TECMOV, 0 | |
1821 | TAD SAVLXR | |
1822 | DCA XR2 | |
1823 | TAD SAVLXR | |
1824 | CMA | |
1825 | TAD LXR | |
1826 | SNA CLA | |
1827 | JMP I (CDER2 /NO FILE SPEC | |
1828 | TECL, CDF 0 | |
1829 | TAD I XR2 | |
1830 | CDF 10 | |
1831 | JMS I (TPUT | |
1832 | TAD XR2 | |
1833 | CMA | |
1834 | TAD LXR | |
1835 | SNA CLA | |
1836 | JMP I TECMOV | |
1837 | JMP TECL | |
1838 | \fTECSUB, 0 | |
1839 | JMS SETLXR | |
1840 | JMS I (GETSPC | |
1841 | TAD DELIM | |
1842 | SNA | |
1843 | JMP TECNORM | |
1844 | TAD (-"< /ALLOW "_" AS WELL AS "<" | |
1845 | SNA | |
1846 | JMP EXTEN | |
1847 | TAD ("<-"_ | |
1848 | SZA CLA | |
1849 | JMP I (CDER2 | |
1850 | EXTEN, CDF 0 | |
1851 | DCA I LXR /CHANGE < TO 0 | |
1852 | CDF 10 | |
1853 | JMS TECPUT | |
1854 | "E;"W;0 | |
1855 | JMS TECMOV | |
1856 | JMS SETPA | |
1857 | TAD LXR | |
1858 | DCA SAVLXR | |
1859 | JMS I (CHKSUP | |
1860 | JMS I (GETSPC | |
1861 | JMS TECPUT | |
1862 | ALTMODE;"E;"R;0 | |
1863 | JMS TECMOV | |
1864 | JMS SETPA | |
1865 | JMS TECPUT | |
1866 | ALTMODE;"Y;0 | |
1867 | JMP TECLV | |
1868 | \fTECNORM,JMS TECPUT | |
1869 | "E;"B;0 | |
1870 | JMS TECMOV | |
1871 | JMS SETPA | |
1872 | JMS TECPUT | |
1873 | ALTMODE;"Y;0 | |
1874 | TECLV, JMS I (REMEM | |
1875 | 0 | |
1876 | JMP I TECSUB | |
1877 | SAVLXR, 0 | |
1878 | ||
1879 | CMDERR, JMS I (PRMESG /NOT A LEGAL KEYWORD | |
1880 | ERRCMD | |
1881 | PAGE | |
1882 | \fTPUT, 0 | |
1883 | AND (177 /TECO LIKES 7-BIT | |
1884 | ISZ TYR | |
1885 | DCA I TYR | |
1886 | TAD TYR | |
1887 | TAD (-7646 /CHECK FOR OVERFLOW OF CD AREA | |
1888 | SZA CLA | |
1889 | JMP I TPUT | |
1890 | CDER9, JMS I (PRMESG | |
1891 | TOOLNG | |
1892 | ||
1893 | MNGSUB, 0 | |
1894 | JMS I (SETLXR | |
1895 | JMS I (GETSPC | |
1896 | JMS I (TECPUT | |
1897 | "E;"R;0 | |
1898 | JMS I (TECMOV | |
1899 | JMS SETX | |
1900 | "T;"E | |
1901 | EXTOK, JMS I (TECPUT | |
1902 | ALTMODE;"Y;"H;"X;"Y;"H;"K;"I;0 | |
1903 | TAD DELIM | |
1904 | SNA | |
1905 | JMP IFIN | |
1906 | TAD (-", | |
1907 | SZA CLA | |
1908 | JMP I (CDER2 | |
1909 | G, STL CLA RAR /PREVENT 'GCH' FROM HANDLING SPACE AND / | |
1910 | JMS I (GCH | |
1911 | AND (177 /GET RID OF HIGH ORDER BIT | |
1912 | SNA | |
1913 | JMP IFIN | |
1914 | JMS TPUT | |
1915 | JMP G | |
1916 | IFIN, JMS I (TECPUT | |
1917 | ALTMODE;"M;"Y;0 /MACRO GETS CALLED WITH POINTER PAST CHARS | |
1918 | JMP I MNGSUB | |
1919 | TYR, 0 | |
1920 | \f/SET DEFAULT EXTENSION | |
1921 | ||
1922 | SETX, 0 | |
1923 | TAD I SETX | |
1924 | DCA C1 | |
1925 | ISZ SETX | |
1926 | TAD I SETX | |
1927 | DCA C2 /FALL THRU 2ND EXT | |
1928 | TAD NAME4 | |
1929 | SNA CLA | |
1930 | TAD NAME1 | |
1931 | SNA CLA | |
1932 | JMP I SETX | |
1933 | TAD I TYR /GET LAST CHAR (NO EXT) | |
1934 | TAD (-56 /WAS IT A DOT? | |
1935 | SNA CLA | |
1936 | JMP I SETX /YES | |
1937 | JMS I (TECPUT /NO, USE DEFAULT EXTENSION | |
1938 | ". | |
1939 | C1, 0 | |
1940 | C2, 0 | |
1941 | 0 | |
1942 | TAD C1 | |
1943 | AND (77 | |
1944 | JMS I (ROTL | |
1945 | DCA C1 | |
1946 | TAD C2 | |
1947 | AND (77 | |
1948 | TAD C1 | |
1949 | DCA NAME4 | |
1950 | JMP I SETX | |
1951 | ||
1952 | CCERA, JMS I (PRMESG | |
1953 | CONTRA | |
1954 | \fCRSUB, 0 | |
1955 | TAD I (7617 | |
1956 | SNA CLA /BETTER BE NO INPUT | |
1957 | TAD I (7600 /ANYTHING THERE? | |
1958 | SNA CLA | |
1959 | JMP I (CDER2 /NO OUTPUT OR YES INPUT | |
1960 | JMS EDSUB /REMOVE BACK-ARROW AND REMEMBER CREATE LINE | |
1961 | JMP I CRSUB | |
1962 | ||
1963 | EDSUB, 0 | |
1964 | CDF 0 | |
1965 | DCA I ARLOC /REPLACE ARROW BY NULL | |
1966 | CDF 10 | |
1967 | JMS I (REMEM /REMEMBER NEW COMMAND LINE | |
1968 | 1 | |
1969 | JMP I EDSUB | |
1970 | ||
1971 | ARLOC, . /LOCATION OF BACK-ARROW IN COMMAND LINE | |
1972 | /'.' IS HARMLESS PTR IN CASE NO ARROW | |
1973 | ||
1974 | CCER3, CDF 10 | |
1975 | JMS I (PRMESG | |
1976 | BADMON | |
1977 | ||
1978 | CDER4, CLA | |
1979 | JMS I (PRMESG | |
1980 | BADSW | |
1981 | CDER44, CLA | |
1982 | JMS I (PRMESG | |
1983 | BADSW2 | |
1984 | CDER7, JMS I (PRMESG | |
1985 | BADX | |
1986 | CDER6, JMS I (PRMESG | |
1987 | BADSTR | |
1988 | PAGE | |
1989 | \fINSARR, 0 | |
1990 | TAD (BEGLN | |
1991 | DCA XR | |
1992 | CDF 0 | |
1993 | TAD I XR | |
1994 | SZA CLA | |
1995 | JMP .-2 | |
1996 | STA | |
1997 | TAD XR | |
1998 | DCA XR | |
1999 | TAD ("< | |
2000 | DCA I XR | |
2001 | DCA I XR | |
2002 | CDF 10 | |
2003 | STA | |
2004 | TAD XR | |
2005 | DCA I (ARLOC /REMEMBER WHERE WE INSERTED A "_" | |
2006 | JMP I INSARR | |
2007 | ||
2008 | BKA, 0 | |
2009 | TAD I (LBEGIN | |
2010 | DCA CLXR | |
2011 | GG, CDF 0 | |
2012 | ISZ CLXR | |
2013 | TAD I CLXR | |
2014 | CDF 10 | |
2015 | SNA | |
2016 | JMP NOBKAR | |
2017 | TAD (-"< | |
2018 | SNA | |
2019 | JMP I BKA | |
2020 | TAD ("<-"_ | |
2021 | SZA CLA | |
2022 | JMP GG | |
2023 | TAD ("< | |
2024 | CDF 0 | |
2025 | DCA I CLXR | |
2026 | CDF 10 | |
2027 | JMP I BKA | |
2028 | NOBKAR, ISZ BKA | |
2029 | JMP I BKA | |
2030 | \fAT, 0 | |
2031 | CIF CDF 0 | |
2032 | JMS I (SEMI | |
2033 | ATMORE, TAD (BEGLN-1 | |
2034 | DCA LXR | |
2035 | ATLOOP, JMS I (GLXR | |
2036 | SNA | |
2037 | JMP I AT | |
2038 | TAD (-300 | |
2039 | SZA CLA | |
2040 | JMP ATLOOP | |
2041 | TAD LXR | |
2042 | DCA I (SAVL | |
2043 | JMS I (FUDG | |
2044 | JMS I (GETSPC | |
2045 | JMS I (ASSIGN | |
2046 | DCA I (SETEXT | |
2047 | TAD (EXTCM | |
2048 | DCA DEFALT | |
2049 | JMS I (LOOKUP | |
2050 | SZA CLA /V3C | |
2051 | TAD I (ASADR | |
2052 | SNA | |
2053 | JMP I (ATERR /IF NO FILESPEC AFTER @, ERROR | |
2054 | DCA T | |
2055 | TAD I (LNAME /GET BLOCK NUMBER | |
2056 | DCA BLN | |
2057 | CIF 0 | |
2058 | JMS I T | |
2059 | 200 /READ 2 PAGES | |
2060 | NWB, BFR+200 /INTO BUFFER | |
2061 | COUNT, | |
2062 | BLN, 0 /FROM THIS BLOCK | |
2063 | JMP I (ATERR / I/O ERROR | |
2064 | TAD (-200 | |
2065 | DCA COUNT | |
2066 | TAD (BFR-1 | |
2067 | DCA XR | |
2068 | TAD NWB | |
2069 | DCA T | |
2070 | CDF 0 | |
2071 | ALP, TAD I T | |
2072 | JMS I (P | |
2073 | CLL RTR | |
2074 | RTR | |
2075 | DCA BKA | |
2076 | ISZ T | |
2077 | TAD I T | |
2078 | JMS I (P | |
2079 | CLL RTL | |
2080 | RTL | |
2081 | RAL | |
2082 | TAD BKA | |
2083 | JMS I (P | |
2084 | CLA | |
2085 | ISZ T | |
2086 | ISZ COUNT | |
2087 | JMP ALP | |
2088 | JMP I (ATOVER | |
2089 | ||
2090 | /ATFIN, TAD LXR | |
2091 | / TAD (-BEGLN | |
2092 | / SZA CLA | |
2093 | / JMP I AT /LEAVE | |
2094 | / JMP I (LEAVE /LEAVE BECAUSE LINE NOW EMPTY | |
2095 | PAGE | |
2096 | \fP, 0 | |
2097 | AND (177 | |
2098 | SNA | |
2099 | JMP CTZ /END AT 0 OR ^Z | |
2100 | TAD (-32 | |
2101 | SNA | |
2102 | JMP CTZ | |
2103 | TAD (32-16 /IGNORE CR,LF,FF,VT | |
2104 | CLL | |
2105 | TAD (16-12 | |
2106 | SZL | |
2107 | JMP POGO | |
2108 | TAD (212 /FORCE 8-BIT | |
2109 | DCA I XR | |
2110 | POGO, CLA | |
2111 | TAD I T | |
2112 | AND (7400 | |
2113 | JMP I P | |
2114 | \fCTZ, CDF 10 | |
2115 | TAD LXR | |
2116 | DCA ATEND | |
2117 | STA | |
2118 | TAD LXR | |
2119 | DCA LXR /INCASE @ GOES TO EOL | |
2120 | JMS I (GLXR /SEARCH FOR EOL | |
2121 | SZA CLA | |
2122 | JMP .-2 | |
2123 | TAD LXR | |
2124 | CMA | |
2125 | TAD ATEND | |
2126 | DCA ENDLEN | |
2127 | TAD XR | |
2128 | CMA | |
2129 | TAD (BFR /GET LENGTH OF INSERTED STUFF | |
2130 | DCA NEWLEN | |
2131 | CDF 0 | |
2132 | TAD I ATEND /GET NEXT CHAR AFTER FILESPEC | |
2133 | CDF 10 /V3C | |
2134 | TAD (-"' | |
2135 | SZA CLA /IS IT AN APOSTROPHE? | |
2136 | JMP .+3 /NO | |
2137 | ISZ ENDLEN /YES | |
2138 | ISZ ATEND /MAKE IT GO AWAY | |
2139 | TAD ENDLEN | |
2140 | JMS I (MOVE /MOVE REST OF LINE UP | |
2141 | CDF 0 | |
2142 | ATEND, 0 /FIRST CHAR POSITION AFTER @ SPEC | |
2143 | CDF 0 | |
2144 | BEGLN+1000 | |
2145 | TAD NEWLEN /IF 0, 'MOVE' WILL IGNORE IT | |
2146 | JMS I (MOVE /MOVE IN NEW STUFF | |
2147 | CDF 0 | |
2148 | BFR | |
2149 | CDF 0 | |
2150 | SAVL, 0 /POINTS TO @ | |
2151 | TAD NEWLEN | |
2152 | CIA | |
2153 | TAD SAVL | |
2154 | DCA NEWEND | |
2155 | CLL | |
2156 | TAD NEWEND | |
2157 | TAD (-BEGLN-1000 | |
2158 | SZL CLA | |
2159 | JMP ATOVER | |
2160 | TAD ENDLEN | |
2161 | JMS I (MOVE /MOVE BACK END | |
2162 | CDF 0 | |
2163 | BEGLN+1000 | |
2164 | CDF 0 | |
2165 | NEWEND, 0 /FIRST POSITION AFTER NEW STUFF | |
2166 | JMP I (ATMORE /LOOK FOR MORE | |
2167 | \fATOVER, JMS I (PRMESG | |
2168 | OVFLOW | |
2169 | GETMP, | |
2170 | ENDLEN, 0 /- NO. OF CHARS AT END INCLUDING 0 | |
2171 | ||
2172 | NUMC, 0 | |
2173 | TAD (SKP | |
2174 | DCA I (NUMSKP | |
2175 | TAD (-11 | |
2176 | DCA I (NUMKNT | |
2177 | JMS I (NUMBER | |
2178 | DCA NAME2 | |
2179 | TAD I (HIORD | |
2180 | DCA NAME1 | |
2181 | STA | |
2182 | TAD LXR | |
2183 | DCA LXR | |
2184 | TAD (-11 | |
2185 | DCA I (NUMKNT | |
2186 | JMS I (NUMBER | |
2187 | DCA NAME4 | |
2188 | TAD I (HIORD | |
2189 | DCA NAME3 | |
2190 | TAD (SPA | |
2191 | DCA I (NUMSKP | |
2192 | JMP I NUMC | |
2193 | \fNEWLEN, /- NO. OF CHARS BEING INSERTED | |
2194 | GETYR, 0 | |
2195 | AND (7 | |
2196 | DCA GETMP | |
2197 | CDF 0 | |
2198 | TAD I (7777 | |
2199 | CDF 10 | |
2200 | CLL RTR | |
2201 | RTR | |
2202 | AND (30 | |
2203 | TAD GETMP | |
2204 | JMP I GETYR | |
2205 | PAGE | |
2206 | \f/ TAD (-# OF LOCS TO MOVE | |
2207 | / JMS MOVE | |
2208 | / FROM CDF | |
2209 | / FROM LOC | |
2210 | / TO CDF | |
2211 | / TO LOC | |
2212 | ||
2213 | MOVE, 0 | |
2214 | DCA T | |
2215 | TAD I MOVE /GET FROM CDF | |
2216 | DCA FRCDF | |
2217 | ISZ MOVE | |
2218 | STA | |
2219 | TAD I MOVE /GET FROM LOC-1 | |
2220 | DCA XR | |
2221 | ISZ MOVE | |
2222 | TAD I MOVE /GET TO CDF | |
2223 | DCA TOCDF | |
2224 | ISZ MOVE | |
2225 | STA | |
2226 | TAD I MOVE /GET TO LOC-1 | |
2227 | DCA XR2 | |
2228 | ISZ MOVE /POINT TO RETURN | |
2229 | TAD T | |
2230 | SNA CLA | |
2231 | JMP I MOVE /V1A IGNORE 0 MOVE | |
2232 | FRCDF, HLT | |
2233 | TAD I XR | |
2234 | TMP1, | |
2235 | TOCDF, HLT | |
2236 | DCA I XR2 | |
2237 | ISZ T | |
2238 | JMP FRCDF | |
2239 | CDF 10 | |
2240 | JMP I MOVE | |
2241 | \fDETCOR, 0 | |
2242 | CIF 0 | |
2243 | JMP I (CORE | |
2244 | JMP I DETCOR | |
2245 | ||
2246 | BADCOR, JMS I (PRINT | |
2247 | NOCORE | |
2248 | GOEQ, CIF CDF 0 | |
2249 | JMP I (COREQ | |
2250 | ||
2251 | ABSCOR, JMS I (PRINT | |
2252 | CORMES | |
2253 | JMP I DETCOR | |
2254 | ||
2255 | WRSCOR, JMS I (PRINT | |
2256 | BATCOR | |
2257 | JMP GOEQ | |
2258 | ||
2259 | SCRM, JMS I (PRINT | |
2260 | SCRMES | |
2261 | JMP I DETCOR | |
2262 | \fSQSUB, 0 | |
2263 | TAD I K7600 | |
2264 | SZA CLA | |
2265 | JMP I SQSUB | |
2266 | TAD I (7617 | |
2267 | DCA I K7600 | |
2268 | JMS I (BATCH /IS BATCH RUNNING? | |
2269 | JMP I SQSUB /NO | |
2270 | K7600, 7600 /YES (CLEAR AC) | |
2271 | TAD I K7600 | |
2272 | TAD (7647-1 /POINT INTO DEVICE HANDLER RESIDENCY TABLE | |
2273 | DCA TMP1 | |
2274 | TAD I TMP1 /GET HANDLER STARTING ADDRESS | |
2275 | TAD (-7607 | |
2276 | SZA CLA /IS SQUISHED DEVICE SYS:? | |
2277 | JMP I SQSUB /NO | |
2278 | JMS I (PRINT | |
2279 | SQWARN /YES, WARN USER | |
2280 | JMP I SQSUB | |
2281 | \fSETOUT, 0 | |
2282 | TAD I (FLAG | |
2283 | RTR | |
2284 | SZL CLA | |
2285 | TAD (5 | |
2286 | TAD K7600 | |
2287 | DCA OLOC | |
2288 | TAD I OLOC | |
2289 | SZA CLA | |
2290 | JMP I SETOUT /HE'S SPECIFIED SOMETHING | |
2291 | JMS I (200 | |
2292 | 12 /INQUIRE | |
2293 | DVNM1, 0 | |
2294 | DVNM2, 0 | |
2295 | 0 | |
2296 | JMP I (CCER2 /NO SUCH DEVICE | |
2297 | TAD DVNM2 | |
2298 | DCA I OLOC | |
2299 | TAD OLOC | |
2300 | AND (5 | |
2301 | SNA CLA /USING 2ND OUT DEV? | |
2302 | JMP I SETOUT /NO | |
2303 | ISZ OLOC /YES | |
2304 | TAD (-4 | |
2305 | JMS MOVE | |
2306 | CDF 10 | |
2307 | NAME1 | |
2308 | CDF 10 | |
2309 | OLOC, 7600 /INITIALLY 7600 OR 7605 | |
2310 | JMP I SETOUT | |
2311 | \fENGOA, TAD (-5 | |
2312 | JMS I (ZEROCD | |
2313 | CDF 0 | |
2314 | TAD I (BLKNO | |
2315 | CDF 10 | |
2316 | DCA I (7620 | |
2317 | CLA IAC | |
2318 | DCA I (7617 /'CCBTCH' IS ON SYS: | |
2319 | TAD (20 / /T OPTION | |
2320 | DCA I (7644 | |
2321 | TAD (20 / ALSO /H (HUSH) OPTION | |
2322 | DCA I (7643 | |
2323 | TAD (YBATCH | |
2324 | JMP I (ZOW /CHAIN TO BATCH | |
2325 | PAGE | |
2326 | \fDATE, 0 | |
2327 | TAD I (DATWD | |
2328 | SNA | |
2329 | JMP NODATE | |
2330 | DCA DATEM | |
2331 | TAD DATEM | |
2332 | CLL RTL | |
2333 | RTL | |
2334 | RAL | |
2335 | AND (17 | |
2336 | DCA TM1 | |
2337 | TAD TM1 | |
2338 | TAD (MONLST-1 | |
2339 | DCA TM2 | |
2340 | CDF 0 | |
2341 | TAD I TM2 | |
2342 | CDF 10 | |
2343 | DCA MONP | |
2344 | TAD DATEM | |
2345 | JMS I (GETYR /V3D DATE/78 ALGORITHM | |
2346 | DCA TM2 | |
2347 | TAD TM2 | |
2348 | TAD (106 /70. | |
2349 | CIF CDF 0 | |
2350 | JMS I (OTODY | |
2351 | DCA YEAR | |
2352 | TAD DATEM | |
2353 | CLL RTR | |
2354 | RAR | |
2355 | AND (37 | |
2356 | DCA DATEM | |
2357 | TAD DATEM | |
2358 | CIF CDF 0 | |
2359 | JMS I (OTODY | |
2360 | DCA DAY | |
2361 | CDF 0 | |
2362 | STL CLA RTL /2 | |
2363 | TAD TM2 | |
2364 | CLL RTR | |
2365 | SNL SMA | |
2366 | JMP LEAP | |
2367 | ISZ I (JAN | |
2368 | ISZ I (FEB | |
2369 | LEAP, AND (37 | |
2370 | TAD TM2 | |
2371 | TAD (3 | |
2372 | TAD DATEM | |
2373 | DCA DATEM | |
2374 | TAD TM1 | |
2375 | TAD (JAN-1 | |
2376 | DCA TM1 | |
2377 | TAD I TM1 | |
2378 | CDF 10 | |
2379 | TAD DATEM | |
2380 | DIV7, CLL | |
2381 | TAD (-7 | |
2382 | SZL | |
2383 | JMP DIV7 | |
2384 | TAD (7 | |
2385 | TAD (WEEKLST | |
2386 | DCA TM2 | |
2387 | CDF 0 | |
2388 | TAD I TM2 | |
2389 | CDF 10 | |
2390 | DCA WKP | |
2391 | STA /DON'T CRLF | |
2392 | JMS I (PRINT | |
2393 | WKP, 0 | |
2394 | STA | |
2395 | JMS I (PRINT | |
2396 | DAYDAY | |
2397 | STA | |
2398 | JMS I (PRINT | |
2399 | MONP, 0 | |
2400 | STL CLA RAR | |
2401 | JMS I (PRWD /SPACE | |
2402 | TAD DAY | |
2403 | JMS I (PRWD | |
2404 | STA | |
2405 | JMS I (PRINT | |
2406 | COM19 | |
2407 | TAD YEAR | |
2408 | JMS I (PRWD | |
2409 | JMS I (CRLF | |
2410 | JMS I (LOOK /LOOKUP SYS:DATE.SV | |
2411 | YDATE | |
2412 | JMP I DATE /DO NOTHING IF IT'S NOT THERE | |
2413 | JMP I (CHAIN /CHAIN TO IT, IF IT'S THERE | |
2414 | \fNODATE, JMS I (PRMESG | |
2415 | NONE | |
2416 | DT, 0 | |
2417 | TM2, 0 | |
2418 | DATEM, 0 | |
2419 | DAY, 0 | |
2420 | YEAR, 0 | |
2421 | \fSETDSK, 0 | |
2422 | TAD DSKDEV | |
2423 | SZA | |
2424 | JMP I SETDSK | |
2425 | JMS I (200 | |
2426 | 12 /INQUIRE | |
2427 | 5723 /PACKED ENCODING FOR 'DSK:' | |
2428 | DSKDEV, 0 /SET TO DEVICE NUMBER | |
2429 | 0 | |
2430 | TM1, HLT /NO 'DSK' ! | |
2431 | TAD DSKDEV | |
2432 | JMP I SETDSK | |
2433 | PAGE | |
2434 | \f/CCL REMEMBERS UP TO 8 COMMAND LINES (EACH UP TO 55 DECIMAL | |
2435 | /SIXBIT CHARACTERS LONG) IN BLOCK 65 ON THE SYSTEM DEVICE. | |
2436 | /THIS BLOCK WHEN READ INTO 04000-04377 HAS THE FOLLOWING FORMAT: | |
2437 | ||
2438 | /4000-4037 REM-LINE 0 | |
2439 | /4040-4177 REM-LINE 1 | |
2440 | /4100-4137 REM-LINE 2 | |
2441 | /4140-4177 REM-LINE 3 | |
2442 | /4200-4237 REM-LINE 4 | |
2443 | /4240-4277 REM-LINE 5 | |
2444 | /4300-4337 REM-LINE 6 | |
2445 | /4340-4377 REM-LINE 7 | |
2446 | ||
2447 | /EACH REM-LINE HAS THE FOLLOWING FORMAT: | |
2448 | ||
2449 | /WORD 0: IN-USE FLAG, MUST BE '1234' TO INDICATE LINE WAS REMEMBERED HERE | |
2450 | /WORD 1: DATE LINE WAS REMEMBERED | |
2451 | /WORD 2: COMMAND DEPENDENT INFORMATION | |
2452 | /WORD 3: RESERVED FOR FUTURE EXPANSION | |
2453 | /WORDS 4-37 COMMAND LINE NOT INCLUDING KEYWORD OR FOLLOWING SPACES | |
2454 | / PACKED IN 6-BIT AND TERMINATED BY A 6-BIT 0. | |
2455 | ||
2456 | /ROUTINES: | |
2457 | ||
2458 | / TAD (DEP | |
2459 | / JMS REMEM | |
2460 | / N | |
2461 | ||
2462 | /REMEMBERS CURRENT LINE IN REM-LINE N. AC IS LINE DEPENDENT INFORMATION. | |
2463 | /IF LINE IS TOO BIG, THIS PRINTS A WARNING MESSAGE AND RETURNS AS IF OK. | |
2464 | ||
2465 | / JMS RECALL | |
2466 | / N | |
2467 | ||
2468 | /RECALLS REM-LINE N INTO BUFFER | |
2469 | /IF NOTHING THERE, PRINTS A BAD SYNTAX MESSAGE AND RETURNS TO OS/8. | |
2470 | /UPON RETURN, LINE-DEPENDENT INFO IS IN AC. | |
2471 | /IF DATES DON'T MATCH, IT'S NOT THERE UNLESS DATE = -1 | |
2472 | ||
2473 | /0 USED BY TECO, MAKE COMMANDS | |
2474 | /1 USED BY EDIT, CREATE COMMANDS | |
2475 | /2 USED BY COMPILE, EXECUTE COMMANDS & PAL. | |
2476 | / DEPENDENT WORD IS PTR TO FIRST ENTRY IN MAIN TABLE | |
2477 | ||
2478 | /3 USED BY 'UA' COMMAND | |
2479 | /4 USED BY UB | |
2480 | /5 USED BY UC | |
2481 | ||
2482 | / JMS FOREVER | |
2483 | ||
2484 | /CAUSES NEXT CALL TO REMEM TO INSERT -1 AS DATE | |
2485 | \f REMSPACE=4000 | |
2486 | REMBLOCK=65 | |
2487 | ||
2488 | REMEM, 0 | |
2489 | DCA DEP | |
2490 | TAD I (REMD | |
2491 | SMA CLA | |
2492 | JMP I REMEM /DON'T REMEMBER IF JUST RECALLED | |
2493 | JMS I (RDREM | |
2494 | JMP I (MEMBIG | |
2495 | TAD I REMEM | |
2496 | ISZ REMEM | |
2497 | CLL RTL | |
2498 | RTL | |
2499 | RAL /MULTIPLY BY 40 | |
2500 | TAD (REMSPACE | |
2501 | DCA LPTR | |
2502 | TAD (1234 | |
2503 | CDF 0 | |
2504 | DCA I LPTR | |
2505 | CDF 10 | |
2506 | ISZ LPTR | |
2507 | FORVR, TAD I (DATWD /REPLACED BY CMA IF WANT NO DATE | |
2508 | JMS LPUT /STORE DATE | |
2509 | TAD DEP | |
2510 | JMS LPUT /STORE DEPENDENT INFO | |
2511 | JMS LPUT /RESERVED | |
2512 | JMS I (SCAN /GO PAST KEYWORD AND BLANKS | |
2513 | TAD I (LBEGIN | |
2514 | DCA XR | |
2515 | RELUP, JMS I (GETF | |
2516 | JMP LZER | |
2517 | JMS I (ROTL | |
2518 | DCA TML | |
2519 | JMS I (GETF | |
2520 | JMP RZER | |
2521 | TAD TML | |
2522 | JMS LPUT | |
2523 | JMP RELUP | |
2524 | RZER, TAD TML | |
2525 | LZER, JMS LPUT | |
2526 | JMS I (WRREM | |
2527 | JMP I (MEMBIG | |
2528 | REMGO, JMP I REMEM | |
2529 | \fDEP, 0 | |
2530 | LPTR, 0 /PTS TO REM-LINE | |
2531 | TML, 0 /TEMP | |
2532 | ||
2533 | /PUT INTO REM-LINE | |
2534 | ||
2535 | LPUT, 0 | |
2536 | DCA TML | |
2537 | TAD LPTR | |
2538 | AND (37 | |
2539 | SNA CLA | |
2540 | JMP I (MEMBIG | |
2541 | TAD TML | |
2542 | CDF 0 | |
2543 | DCA I LPTR | |
2544 | CDF 10 | |
2545 | ISZ LPTR | |
2546 | JMP I LPUT | |
2547 | ||
2548 | FOREVER,0 | |
2549 | TAD LCMA | |
2550 | DCA FORVR | |
2551 | JMP I FOREVER /NON-ZERO MEANS SET DATE TO -1 | |
2552 | \fRECALL, 0 | |
2553 | JMS I (RDREM | |
2554 | JMP I (REMERR | |
2555 | TAD I RECALL | |
2556 | ISZ RECALL | |
2557 | JMS I (ROTL | |
2558 | RAR | |
2559 | TAD (REMSPACE | |
2560 | DCA LPTR | |
2561 | JMS LGET | |
2562 | TAD (-1234 | |
2563 | SZA CLA | |
2564 | JMP I (REMER2 | |
2565 | JMS LGET | |
2566 | SNA | |
2567 | JMP I (REMER2 | |
2568 | LCMA, CMA | |
2569 | SNA | |
2570 | JMP FOREV | |
2571 | IAC | |
2572 | TAD I (DATWD /SAME DAY? | |
2573 | SZA CLA | |
2574 | JMP I (REMER2 | |
2575 | FOREV, JMS LGET | |
2576 | DCA DEP | |
2577 | JMS LGET /IGNORE RESERVED WORD | |
2578 | CLA | |
2579 | TAD (BEGLN-1 | |
2580 | DCA XR | |
2581 | TAD (BEGLN-1 | |
2582 | DCA I (LBEGIN | |
2583 | RECLUP, JMS LGET | |
2584 | DCA TML | |
2585 | TAD TML | |
2586 | JMS I (ROTL | |
2587 | RAL | |
2588 | JMS I (PUTF | |
2589 | JMP RECLV | |
2590 | TAD TML | |
2591 | JMS I (PUTF | |
2592 | JMP RECLV | |
2593 | JMP RECLUP | |
2594 | ||
2595 | RECLV, TAD DEP | |
2596 | JMP I RECALL | |
2597 | \fLGET, 0 | |
2598 | CDF 0 | |
2599 | TAD I LPTR | |
2600 | CDF 10 | |
2601 | ISZ LPTR | |
2602 | JMP I LGET | |
2603 | PAGE | |
2604 | \fPUTF, 0 | |
2605 | AND (77 | |
2606 | SNA | |
2607 | JMP PUTZ | |
2608 | ISZ PUTF | |
2609 | TAD (240 | |
2610 | AND (77 | |
2611 | TAD (240 | |
2612 | PUTZ, CDF 0 | |
2613 | DCA I XR | |
2614 | CDF 10 | |
2615 | JMP I PUTF | |
2616 | ||
2617 | CHKSUP, 0 | |
2618 | JMS FUDG | |
2619 | JMS I (ASSIGN | |
2620 | TAD NAME1 | |
2621 | SNA CLA | |
2622 | JMP I CHKSUP /CAN'T SUP IF NO FILENAME | |
2623 | TAD I (DVICE | |
2624 | JMS I (LOOK /LOOK UP FILE | |
2625 | NAME1 | |
2626 | JMP I CHKSUP /NOT FOUND (GOOD) | |
2627 | JMS I (PRINT | |
2628 | SUP | |
2629 | JMP I CHKSUP | |
2630 | ||
2631 | REMERR, JMS I (PRMESG | |
2632 | REMBAD | |
2633 | REMER2, JMS I (PRMESG | |
2634 | BADREM | |
2635 | \fMEMBIG, CLA | |
2636 | JMS I (PRINT | |
2637 | MEMWARN | |
2638 | JMP I (REMGO | |
2639 | ||
2640 | RDREM, 0 | |
2641 | CIF 0 | |
2642 | JMS I (7607 | |
2643 | 200 /READ 2 PAGES INTO FIELD 0 | |
2644 | 4000 /LOCATION 4000 | |
2645 | REMBLOCK | |
2646 | SKP CLA | |
2647 | ISZ RDREM | |
2648 | JMP I RDREM | |
2649 | ||
2650 | WRREM, 0 | |
2651 | CIF 0 | |
2652 | JMS I (7607 | |
2653 | 4200 /WRITE 2 PAGES FROM FIELD 0 | |
2654 | 4000 /LOCATION 4000 | |
2655 | REMBLOCK | |
2656 | SKP CLA | |
2657 | ISZ WRREM | |
2658 | JMP I WRREM | |
2659 | ||
2660 | FUDG, 0 | |
2661 | DCA I (OUTSW /LOAD HANDLER | |
2662 | TAD I (OUTLIM | |
2663 | CIA | |
2664 | DCA CLXR | |
2665 | JMP I FUDG | |
2666 | \fK8, 0 | |
2667 | TAD (1716 | |
2668 | JMS I (PRWD | |
2669 | TAD (1431 | |
2670 | JMS I (PRWD | |
2671 | CIF CDF 0 | |
2672 | JMP I K8 | |
2673 | ||
2674 | ROTL, 0 | |
2675 | CLL RTL | |
2676 | RTL | |
2677 | RTL | |
2678 | JMP I ROTL | |
2679 | ||
2680 | /GET FROM INPUT LINE VIA XR | |
2681 | ||
2682 | GETF, 0 | |
2683 | CDF 0 | |
2684 | TAD I XR | |
2685 | CDF 10 | |
2686 | SZA | |
2687 | ISZ GETF | |
2688 | AND (77 | |
2689 | JMP I GETF | |
2690 | \f/THIS GETS A DEV:NAME.EXT SPECIFICATION (USING LXR) | |
2691 | /PUTTING RESULT IN DEV1,DEV2, NAME1-4. | |
2692 | /IT GIVES A FATAL ERRORR MESSAGE IF BAD. | |
2693 | GETSPC, 0 | |
2694 | STA | |
2695 | DCA DVFLAG | |
2696 | DCA DEV1 | |
2697 | FILLP1, DCA DEV2 | |
2698 | FILLP, JMS I (GNAME | |
2699 | TAD (-": /AC CONTAINED DELIM | |
2700 | SNA CLA | |
2701 | JMP DEVNAM | |
2702 | DCA I (NUMC | |
2703 | JMP I GETSPC | |
2704 | DEVNAM, CLA IAC | |
2705 | TAD I (PERDSW | |
2706 | TAD I (NUMC | |
2707 | SZA CLA | |
2708 | JMP CDERA /. OR # IN DEVICE NAME | |
2709 | TAD NAME1 | |
2710 | DCA DEV1 | |
2711 | ISZ DVFLAG | |
2712 | JMP CDERA /CATCHES A:B: | |
2713 | TAD NAME2 | |
2714 | JMP FILLP1 | |
2715 | ||
2716 | DVFLAG, 0 | |
2717 | \fCDERA, JMS I (PRMESG | |
2718 | BADEV | |
2719 | ||
2720 | ATERR, CDF 10 | |
2721 | CLA | |
2722 | JMS I (PRMESG | |
2723 | ATIO | |
2724 | PAGE | |
2725 | \fCDINIT, 0 | |
2726 | TAD I DEFALT | |
2727 | TAD (-5200 | |
2728 | SZA CLA /IS THIS A REQUEST FOR A | |
2729 | /"SPECIAL DECODE"? | |
2730 | JMP CDCONT /NO | |
2731 | TAD ALTLIM | |
2732 | DCA OUTLIM /YES, SET UP THE PROPER LOCATIONS | |
2733 | TAD ALTDF1 | |
2734 | DCA LIMDIF /TO GET 1 OUTPUT AND 5 INPUT FILES | |
2735 | TAD ALTDF2 | |
2736 | DCA BEGDIF /ALL OF WHICH ARE | |
2737 | /5-WORD <DEVICE,NAME> ENTRIES | |
2738 | DCA I PLKUPS | |
2739 | TAD STARJM | |
2740 | DCA I PSTARS /AND ALLOW * | |
2741 | /AS A FILE OR EXTENSION NAME | |
2742 | TAD CCLA /STOPS FETCHES IN SPECIAL MODE | |
2743 | DCA I PSPKG1 /NO HANDLER FETCHES NECESSARY EITHER | |
2744 | /SINCE NO LOOKUPS | |
2745 | CDCONT, JMS I (BKA | |
2746 | STA | |
2747 | DCA I (OUTSW | |
2748 | JMS I (ZEROCD | |
2749 | TAD LBEGIN | |
2750 | DCA LXR | |
2751 | JMP I CDINIT | |
2752 | /CONSTANTS NECESSARY TO SUPPORT "SPECIAL DECODE" MODE | |
2753 | ALTLIM, 1-MOFILE-5 | |
2754 | ALTDF1, MOFILE+5-MPARAM+5 | |
2755 | ALTDF2, 5 | |
2756 | PLKUPS, LKUPSW | |
2757 | PSTARS, STARSW | |
2758 | PSPKG1, SPKLG1 | |
2759 | ||
2760 | BEGDIF, MIFILE-MOFILE | |
2761 | LIMDIF, MIFILE-MPARAM+2 | |
2762 | OUTLIM, 1-MIFILE | |
2763 | LBEGIN, 0 /PTS TO 1 CHAR BEFORE COMMAND KEYWORD ARGUMENT | |
2764 | \fNMOVE, 0 | |
2765 | DCA PT1 /V1A ARG IN AC | |
2766 | TAD I (FLAG | |
2767 | RTL | |
2768 | SMA CLA /FEATURE ENABLED? | |
2769 | JMP I (CCERB /NO | |
2770 | TAD I (OUTSW | |
2771 | SZA CLA | |
2772 | JMP I (CCERB /ON OUTPUT SIDE | |
2773 | TAD I CCLA /V3C | |
2774 | SNA CLA /DON'T CHANGE OUT DEV IF SPECIFIED | |
2775 | TAD I (FLAG /LOOK AT 'COPY EXT' BIT | |
2776 | AND (200 | |
2777 | SNA CLA | |
2778 | JMP NMXXX /IT WASN'T SET | |
2779 | TAD I (7617 /GET FIRST INPUT DEVICE | |
2780 | AND (17 /ISOLATE DEVICE BITS | |
2781 | DCA I CCLA /FORCE THIS TO BE FIRST OUTPUT DEVICE | |
2782 | NMXXX, TAD I PT1 | |
2783 | SNA | |
2784 | JMS I (SETDSK /CHANGE TO 'IAC' TO ALWAYS USE SYS: | |
2785 | DCA I PT1 /SET DEVICE TO SYS IF NONE | |
2786 | ISZ PT1 | |
2787 | TAD I PT1 /WAS THERE A SPECIFICATION THERE? | |
2788 | SZA CLA | |
2789 | JMP I NMOVE /YES, DO NOTHING | |
2790 | TAD I (FLAG | |
2791 | AND (200 /GET 'COPY EXTENSION' BIT | |
2792 | L7740, SMA SZA CLA /'SMA' IS UNNECESSARY | |
2793 | STA /COPY 4 WORDS IF BIT 4 WAS ON | |
2794 | TAD (-3 /OTHERWISE ONLY COPY 3 WORDS | |
2795 | JMS I (MOVE | |
2796 | CDF 10 | |
2797 | NAME1 | |
2798 | CDF 10 | |
2799 | TEM, | |
2800 | PT1, 0 | |
2801 | JMP I NMOVE | |
2802 | ||
2803 | P8, SETDEV | |
2804 | DMPDEV | |
2805 | \fVERTN, 0 | |
2806 | JMS I (RDMON /READ MONITOR | |
2807 | CDF 0 | |
2808 | TAD I (2031 /GET PATCH LEVEL | |
2809 | SNA | |
2810 | TAD ("! | |
2811 | AND (77 | |
2812 | DCA TEM | |
2813 | TAD I (2000 /GET VERSION # | |
2814 | CDF 10 | |
2815 | SPA | |
2816 | CCLA, 7600 /"0" MEANS OLD | |
2817 | TAD (60 | |
2818 | JMS I (ROTL | |
2819 | TAD TEM | |
2820 | JMP I (PTCH | |
2821 | \f/ALLOW DEASSIGN FOO ? | |
2822 | ||
2823 | DEASSIGN,0 | |
2824 | TAD L7740 | |
2825 | DCA XR | |
2826 | TAD (-17 | |
2827 | DCA T | |
2828 | DCA I XR | |
2829 | ISZ T | |
2830 | JMP .-2 | |
2831 | CDF 0 | |
2832 | TAD I (7746 | |
2833 | AND (6777 | |
2834 | TAD (1000 | |
2835 | DCA I (7746 | |
2836 | CDF 10 | |
2837 | JMP I DEASSIGN | |
2838 | \fSTARJM, RELOC STARNM /DUMP LITERALS AT LAST POSSIBLE MOMENT | |
2839 | JMP STARNM | |
2840 | RELOC | |
2841 | PAGE | |
2842 | ZBLOCK 7600-. | |
2843 | \f/CCL.SV (THE IMPORTANT PART) MUST BE A SINGLE CORE-LOAD | |
2844 | /CONTIGUOUS LOAD, BECAUSE OF THE WAY THE MONITOR LOADS IT. | |
2845 | /FORTUNATELY, FIELD 0 STUFF OCCURS AFTER FIELD 1 STUFF IN THE | |
2846 | /OS/8 CORE-IMAGE FORMAT. | |
2847 | /FOR VERSION OF THE MONITOR BEFORE LEVEL A, | |
2848 | /THE TOTAL LENGTH OF CCL.SV MUST BE LESS THAN14 BLOCKS | |
2849 | /OR IT READS OVER 7600. | |
2850 | /BUT NOW CCL COMES IN AND READS THE REMAINDER OF ITSELF | |
2851 | /INTO FIELD 0. 400-777 IS IGNORED BY SKIPPING A BLOCK, | |
2852 | /THEN THER REST OF CCL (7 PAGES) IS READ IN. | |
2853 | ||
2854 | FIELD 0 | |
2855 | ||
2856 | *400 | |
2857 | ||
2858 | /IT LOADS OVER THE SAVE, DATE OVERLAY | |
2859 | /AND STARTS AT LOCATION 600 | |
2860 | ||
2861 | /KEYWORD TABLE IN 400- | |
2862 | ||
2863 | /CONSISTS OF COMMANDS 2 CHARS PER LOCATION | |
2864 | /IN 5-BIT ASCII (ONLY LETTERS ARE LEGAL) | |
2865 | /SEPARATED FROM EACH OTHER BY 6-BIT 00'S. | |
2866 | /EACH ENTRY STARTS ON A WORD BOUNDARY, BUT IF YOU | |
2867 | /NEED THE ROOM, THEY NEED NOT WITH A SIMPLE FIX | |
2868 | /BIT 40 ON MEANS THAT THE CHARACTER ISN'T REQUIRED | |
2869 | /BUT IF THE USER DOES TYPE A LETTER, IT MUST MATCH. | |
2870 | \fVNO, CCLTAB | |
2871 | KEYWRD, | |
2872 | 0530 /EX ECUT | |
2873 | 4543 | |
2874 | 6564 | |
2875 | 0002 /BA CKSP OR TER MIN | |
2876 | 0143 | |
2877 | 5363 | |
2878 | 6000 | |
2879 | 0201 /BAS IC | |
2880 | 2351 | |
2881 | 4300 | |
2882 | 0425 /DU PLICATE | |
2883 | 6054 | |
2884 | 5143 | |
2885 | 4164 | |
2886 | 4500 | |
2887 | 0217 /BO OT | |
2888 | 5764 | |
2889 | 0003 /CCL | |
2890 | 0314 | |
2891 | 0003 /COMPA R | |
2892 | 1715 | |
2893 | 2001 | |
2894 | 6200 | |
2895 | 0317 /COM PIL | |
2896 | 1560 | |
2897 | 5154 | |
2898 | 0003 /COP Y | |
2899 | 1720 | |
2900 | 7100 | |
2901 | 1505 /MEM ORY | |
2902 | 1557 | |
2903 | 6271 | |
2904 | 0003 /CREA TE | |
2905 | 2205 | |
2906 | 0164 | |
2907 | 4500 | |
2908 | 0322 /CREF | |
2909 | 0506 | |
2910 | 0004 /DA TE | |
2911 | 0164 | |
2912 | 4500 | |
2913 | 0405 /DEL ETE | |
2914 | 1445 | |
2915 | 6445 | |
2916 | 0004 /DE A | |
2917 | 0541 | |
2918 | 0004 /DIR ECT | |
2919 | 1122 | |
2920 | 4543 | |
2921 | 6400 | |
2922 | 0504 /ED IT | |
2923 | 5164 | |
2924 | 0005 /EO F | |
2925 | 1746 | |
2926 | 0010 /HE LP | |
2927 | 0554 | |
2928 | 6000 | |
2929 | 1411 /LIN K | |
2930 | 1653 | |
2931 | 0015 /MAC R | |
2932 | 0103 | |
2933 | 6200 | |
2934 | 1411 /LI ST | |
2935 | 6364 | |
2936 | 0014 /LO AD | |
2937 | 1741 | |
2938 | 4400 | |
2939 | 1501 /MAK E | |
2940 | 1345 | |
2941 | 0015 /MAP | |
2942 | 0120 | |
2943 | 0015 /MUNG | |
2944 | 2516 | |
2945 | 0700 | |
2946 | 2001 /PAL | |
2947 | 1400 | |
2948 | 2022 /PRI NT | |
2949 | 1156 | |
2950 | 6400 | |
2951 | 2025 /PU NCH | |
2952 | 5643 | |
2953 | 5000 | |
2954 | 2205 /REN AME | |
2955 | 1641 | |
2956 | 5545 | |
2957 | 0022 /RES | |
2958 | 0523 | |
2959 | 0022 /REW IND | |
2960 | 0527 | |
2961 | 5156 | |
2962 | 4400 | |
2963 | 2305 /SET | |
2964 | 2400 | |
2965 | 2313 /SK IP | |
2966 | 5160 | |
2967 | 0023 /SQ UISH | |
2968 | 2165 | |
2969 | 5163 | |
2970 | 5000 | |
2971 | 2325 /SU BMIT | |
2972 | 4255 | |
2973 | 5164 | |
2974 | 0024 /TE CO | |
2975 | 0543 | |
2976 | 5700 | |
2977 | 2431 /TY PE | |
2978 | 6045 | |
2979 | 0025 /UN LOAD | |
2980 | 1654 | |
2981 | 5741 | |
2982 | 4400 | |
2983 | 2501 /UA | |
2984 | 0025 /UB | |
2985 | 0200 | |
2986 | 2503 /UC | |
2987 | 0026 /VE R | |
2988 | 0562 | |
2989 | 0032 /ZERO | |
2990 | 0522 | |
2991 | 1700 | |
2992 | 4000 /@ | |
2993 | ZBLOCK 600-. | |
2994 | \f IFDEF XYZMCR < | |
2995 | ||
2996 | THIS IS THE TECO MACRO WHICH WAS USED TO CREATE THE ABOVE TABLE: | |
2997 | ||
2998 | ||
2999 | HKGYJ2S\ 1\eR0,.KHXAHKMA | |
3000 | \ 1TYPE COMMANDS, SPACE SEPARATES MANDATORY PART FROM | |
3001 | OPTIONAL PART, CR TERMINATES COMMANDS, ^Z TERMINATES ALL. | |
3002 | ** NO EDITING ** | |
3003 | \ 1HKHXYHXN0UO0UB0UN | |
3004 | !CHLP!^TUL\eQL-32"EOBLANK\e'QL-13"EOCR\e'QL-26"EOEND\e' | |
3005 | !CHLP0!QL&63+QBUT\e QT/8UX\eQX+48I\eQT-(8*QX)+48I\e | |
3006 | QL"NZJ.UZGNQLI\eQZJXNK%N\e' | |
3007 | %O&1"NOCHLP\e' QN-3"LZUH'I | |
3008 | \eOCHLP\e | |
3009 | !BLANK! 32UBZJ.UZGNQLI\eQZJXNK%N\eOCHLP\e | |
3010 | !CR! \ 1 | |
3011 | \ 1QHJ /\eGNZJXN0UN0UB0ULOCHLP0\e | |
3012 | !END!I00 | |
3013 | \e | |
3014 | ||
3015 | ||
3016 | > | |
3017 | \f *600 | |
3018 | ||
3019 | JSBITS=7746 | |
3020 | SYSTEM=22 | |
3021 | PRMES=330 | |
3022 | ERRET=33 /THESE ARE LOCATIONS FROM OS/8 MONITOR | |
3023 | ||
3024 | /RUNS IN FIELD 0 ONLY. | |
3025 | ||
3026 | ENTRY, 0 /INITIALLY 0 MEANS 'EX' COMMAND | |
3027 | LINPTR, JMP ENTREE /OS/8 JUMPS HERE (ACTUALLY TO 600) | |
3028 | TEMM, | |
3029 | TEKLDG, ISZ CCLNHR /TECO 'EG' JUMPS HERE | |
3030 | DCA I (BEGLN /ZERO COMMAND LINE | |
3031 | JMP TEGO /FIRST WE DISABLE CALLS TO MONITOR | |
3032 | ENTREE, TAD (7605 | |
3033 | DCA ERRET | |
3034 | TAD SYSTEM | |
3035 | DCA MYSYS | |
3036 | JMS FINDIT | |
3037 | SPA CLA /WAS IT A LEGAL COMMAND? | |
3038 | JMP I (PRQMRK /NO | |
3039 | TEGO, TAD (6003 /YES | |
3040 | DCA I (JSBITS | |
3041 | CIF 10 | |
3042 | JMS I MYSYS /CALL USR AND LOCK IN CORE | |
3043 | 10 | |
3044 | CLA IAC | |
3045 | CIF 10 | |
3046 | JMS I (200 | |
3047 | 2 | |
3048 | CCLBLC, CCLSV | |
3049 | CCLEN, 0 | |
3050 | CCLNHR, JMP NOCCL /ISZ'ED IF KBM NOT IN MEMORY | |
3051 | CLA IAC | |
3052 | TAD CCLBLC | |
3053 | DCA CCLRDB | |
3054 | JMS I (7607 | |
3055 | CCLCCW, 2711 /READ 27 PAGES OF CCL.SV | |
3056 | CCLSTR, 2000 | |
3057 | MYSYS, | |
3058 | CCLRDB, 7700 /INITIALLY POINTS TO USR | |
3059 | JMP NOCCL | |
3060 | CIF CDF 10 | |
3061 | JMP I CCLSTR | |
3062 | \fCCLSV, FILENAME CCL.SV | |
3063 | ||
3064 | NOCCL, CLA SKP | |
3065 | JMP I (7605 /GO BACK TO MON IF CCL NOT FOUND ON TECO EG COMMAND | |
3066 | JMS I (PRMES /PRINT ERROR MESSAGE OTHERWISE | |
3067 | TEXT /NO CCL!/ | |
3068 | 0 | |
3069 | \f/FINDS IF INPUT LINE STARTS WITH A COMMAND | |
3070 | /LEAVES ENTRY # IN AC, -1 IF NOT FOUND | |
3071 | /ENTRIES START AT ENTRY 0. | |
3072 | /CALLABLE FROM ANY FIELD | |
3073 | ||
3074 | FINDIT, 0 | |
3075 | MORE, TAD (BEGLN-1 | |
3076 | DCA LINPTR | |
3077 | ISZ LINPTR | |
3078 | TAD I LINPTR | |
3079 | TAD (-240 | |
3080 | SNA CLA | |
3081 | JMP .-4 | |
3082 | JMS GETKAR | |
3083 | JMP ENDOFT /NO MATCH | |
3084 | JMP INTO | |
3085 | FNLUP, TAD I LINPTR | |
3086 | TAD (-301 | |
3087 | STL | |
3088 | TAD (-32 | |
3089 | SNL CLA | |
3090 | JMP NOLET /NOT A LETTER | |
3091 | JMS GETKAR | |
3092 | JMP MATCH | |
3093 | INTO, CIA | |
3094 | TAD I LINPTR | |
3095 | AND (37 /5-BIT ASCII | |
3096 | ISZ LINPTR | |
3097 | SNA CLA /DO THEY MATCH? | |
3098 | JMP FNLUP /YES | |
3099 | NOMT, JMS GETKAR | |
3100 | SKP | |
3101 | JMP .-2 /SCAN TO NEXT ENTRY | |
3102 | ISZ ENTRY | |
3103 | JMP MORE | |
3104 | ||
3105 | NOLET, JMS GETKAR | |
3106 | JMP MATCH | |
3107 | CLA | |
3108 | ISZ SIGNIF | |
3109 | JMP NOMT | |
3110 | MATCH, TAD ENTRY | |
3111 | SKP | |
3112 | ENDOFT, STA | |
3113 | RETCIF, CDF 0 /RETURN TO CALLING FIELD (MAY BE OVERLAID) | |
3114 | JMP I FINDIT | |
3115 | KPTR, KEYWRD | |
3116 | \fHALF, -1 /0 MEANS LEFT HALF | |
3117 | SIGNIF, 0 /1 MEANS 40 BIT ON WHICH MEANS CHAR IS SIGNIF ONLY IF PRESENT | |
3118 | ||
3119 | /GETKAR GETS NEXT 5-BIT CHAR, LEAVES IT IN AC | |
3120 | /SETS SIGNIF TO -1 IF 40 BIT WAS PRESENT | |
3121 | /TAKES RETURN 1 IF CHAR IS 0 | |
3122 | /TAKES RETURN 2 OTHERWISE | |
3123 | ||
3124 | GETKAR, 0 | |
3125 | ISZ HALF | |
3126 | JMP RTHALF | |
3127 | TAD I KPTR | |
3128 | RTR | |
3129 | RTR | |
3130 | RTR | |
3131 | JMP INSIDE | |
3132 | RTHALF, STA | |
3133 | DCA HALF | |
3134 | TAD I KPTR | |
3135 | ISZ KPTR | |
3136 | INSIDE, AND (77 | |
3137 | DCA TEMM | |
3138 | TAD TEMM | |
3139 | AND X40 | |
3140 | X40, SZA CLA | |
3141 | STA | |
3142 | DCA SIGNIF | |
3143 | TAD TEMM | |
3144 | SZA | |
3145 | ISZ GETKAR | |
3146 | AND (37 | |
3147 | JMP I GETKAR | |
3148 | PAGE | |
3149 | \f *REST | |
3150 | CORLOC, CORX | |
3151 | CORV, 1400 | |
3152 | CORSIZ, 1 | |
3153 | ||
3154 | CORE, CDF 0 | |
3155 | TAD CORSIZ | |
3156 | CLL RTL | |
3157 | RAL | |
3158 | AND COR70 | |
3159 | TAD COREX | |
3160 | DCA .+1 | |
3161 | COR1, CDF | |
3162 | TAD I CORLOC | |
3163 | COR2, NOP | |
3164 | DCA COR1 | |
3165 | TAD COR2 | |
3166 | DCA I CORLOC | |
3167 | COR70, 70 | |
3168 | TAD I CORLOC | |
3169 | CORX, 7400 | |
3170 | TAD CORX | |
3171 | TAD CORV | |
3172 | SZA CLA | |
3173 | JMP COREX | |
3174 | TAD COR1 | |
3175 | DCA I CORLOC | |
3176 | ISZ CORSIZ | |
3177 | JMP CORE | |
3178 | COREX, CDF 0 | |
3179 | TAD CORSIZ | |
3180 | CLL RTL | |
3181 | TAD (-10 | |
3182 | JMP I (DETC2 /GO TO NEXT PAGE | |
3183 | \fMONLST, MON1 | |
3184 | MON2 | |
3185 | MON3 | |
3186 | MON4 | |
3187 | MON5 | |
3188 | MON6 | |
3189 | MON7 | |
3190 | MON8 | |
3191 | MON9 | |
3192 | MON10 | |
3193 | MON11 | |
3194 | MON12 | |
3195 | \fMON1, TEXT /JANUARY/ | |
3196 | MON2, TEXT /FEBRUARY/ | |
3197 | MON3, TEXT /MARCH/ | |
3198 | MON4, TEXT /APRIL/ | |
3199 | MON5, TEXT /MAY/ | |
3200 | MON6, TEXT /JUNE/ | |
3201 | MON7, TEXT /JULY/ | |
3202 | MON8, TEXT /AUGUST/ | |
3203 | MON9, TEXT /SEPTEMBER/ | |
3204 | MON10, TEXT /OCTOBER/ | |
3205 | MON11, TEXT /NOVEMBER/ | |
3206 | MON12, TEXT /DECEMBER/ | |
3207 | \fCOM19, TEXT /, 19/ | |
3208 | ||
3209 | WEEKLST,DAY1 | |
3210 | DAY2 | |
3211 | DAY3 | |
3212 | DAY4 | |
3213 | DAY5 | |
3214 | DAY6 | |
3215 | DAY7 | |
3216 | ||
3217 | DAY1, TEXT /SATUR/ | |
3218 | DAY2, TEXT /SUN/ | |
3219 | DAY3, TEXT /MON/ | |
3220 | DAY4, TEXT /TUES/ | |
3221 | DAY5, TEXT /WEDNES/ | |
3222 | DAY6, TEXT /THURS/ | |
3223 | DAY7, TEXT /FRI/ | |
3224 | BADMON, TEXT /#BAD MONITOR/ | |
3225 | PAGE | |
3226 | \fHISIZ, 0 /HIGHEST MEMORY BANK | |
3227 | NEWCOR, 0 /PROPOSED NEW MEMORY BANK | |
3228 | ||
3229 | DETC2, SNA | |
3230 | JMS KEIGHT | |
3231 | TAD (-30 | |
3232 | SNA | |
3233 | JMS K32 | |
3234 | TAD (40 | |
3235 | JMS OTOD | |
3236 | DCA I (CORMES | |
3237 | CDF 10 | |
3238 | TAD I (LBEGIN | |
3239 | DCA XRL | |
3240 | CDF 0 | |
3241 | STA | |
3242 | TAD I (CORSIZ | |
3243 | DCA HISIZ | |
3244 | ISZ XRL | |
3245 | TAD I XRL /GET NEXT CHAR | |
3246 | SNA | |
3247 | JMP COREQ /NOT SETTING CORE SIZE | |
3248 | TAD (-260 | |
3249 | DCA NEWCOR | |
3250 | TAD NEWCOR | |
3251 | AND (7770 | |
3252 | SZA CLA | |
3253 | JMP DETER /TRIED TO SET CORE SIZE GT 7 | |
3254 | TAD NEWCOR | |
3255 | CIA | |
3256 | TAD HISIZ | |
3257 | SPA CLA | |
3258 | JMP BADKOR /TRIED TO SET SOFTWARE CORE SIZE GT REAL CORE SIZE | |
3259 | TAD I (7777 | |
3260 | RTL /BATCH BIT TO LINK | |
3261 | SZL CLA | |
3262 | JMP WRSKOR /CAN'T CHANGE CORE SIZE UNDER BATCH | |
3263 | TAD NEWCOR | |
3264 | CLL RTL | |
3265 | RAL | |
3266 | DCA NEWCOR | |
3267 | TAD I (7777 | |
3268 | AND (7707 | |
3269 | TAD NEWCOR | |
3270 | DCA I (7777 | |
3271 | COREQ, TAD I (7777 | |
3272 | AND (70 | |
3273 | SNA | |
3274 | JMP ABSKOR | |
3275 | TAD (10 | |
3276 | CLL RAR | |
3277 | JMS OTOD | |
3278 | DCA I (SCRMES | |
3279 | TAD I (SCRMES | |
3280 | CIA | |
3281 | TAD I (CORMES | |
3282 | ABSKOR, CIF CDF 10 | |
3283 | SNA CLA | |
3284 | JMP I (ABSCOR /DON'T PRINT SOFT IF = REAL | |
3285 | JMP I (SCRM | |
3286 | ||
3287 | BADKOR, CIF CDF 10 | |
3288 | JMP I (BADCOR | |
3289 | WRSKOR, CIF CDF 10 | |
3290 | JMP I (WRSCOR | |
3291 | ||
3292 | DETER, CIF CDF 10 | |
3293 | JMP I (CMDERR | |
3294 | ||
3295 | KEIGHT, 0 | |
3296 | CIF CDF 10 | |
3297 | JMS I (K8 | |
3298 | JMP I KEIGHT | |
3299 | ||
3300 | XRL, 0 | |
3301 | \fOTOD, 0 | |
3302 | DCA TTX | |
3303 | DCA TX | |
3304 | TAD TTX | |
3305 | TAD (-12 | |
3306 | ISZ TX | |
3307 | SMA | |
3308 | JMP .-3 | |
3309 | TAD (72 | |
3310 | DCA CORETM | |
3311 | STA | |
3312 | TAD TX | |
3313 | SNA | |
3314 | TAD (40-60 | |
3315 | TAD (60 | |
3316 | CLL RTL | |
3317 | RTL | |
3318 | RTL | |
3319 | TAD CORETM | |
3320 | JMP I OTOD | |
3321 | ||
3322 | TX, 0 | |
3323 | TTX, 0 | |
3324 | CORETM, | |
3325 | K32, 0 | |
3326 | TAD (4100 | |
3327 | DCA I (CORMES+5 | |
3328 | JMP I K32 | |
3329 | \fOTODY, 0 | |
3330 | JMS OTOD | |
3331 | CIF CDF 10 | |
3332 | JMP I OTODY | |
3333 | PAGE | |
3334 | \fERRCMD, TEXT /#ERROR IN COMMAND/ | |
3335 | BADVMS, TEXT /#CCL 3X OVERLAY AND MONITOR INCOMPATIBLE/ | |
3336 | AAAA=. | |
3337 | *BADVMS+3 | |
3338 | CCLTAB&77^100+40 | |
3339 | *AAAA | |
3340 | \fLOVMES, TEXT /NOT WAR?/ | |
3341 | KILMES, TEXT /FILES DELETED:/ | |
3342 | RENMES, TEXT /FILES RENAMED:/ | |
3343 | MOVMES, TEXT /FILES COPIED:/ | |
3344 | SCRMES, TEXT \00K/\ | |
3345 | *.-1 | |
3346 | CORMES, TEXT /00K MEMORY/ | |
3347 | DAYDAY, TEXT /DAY / | |
3348 | \fNOCORE, TEXT /# NOT ENOUGH MEMORY/ | |
3349 | BATCOR, TEXT /#CANNOT CHANGE MEMORY LIMIT WHILE RUNNING BATCH/ | |
3350 | JAN, 0 | |
3351 | FEB, 3 | |
3352 | 4;0;2;5;0;3;6;1;4;6 | |
3353 | \fSUP, TEXT /%SUPERSEDING/ | |
3354 | MEMWARN,TEXT /%CAN'T REMEMBER/ | |
3355 | SQWARN, TEXT /%BATCH SQUISHING SYS:!/ | |
3356 | SYSER, TEXT \#I/O ERROR ON SYS:\ | |
3357 | BADSYN, TEXT /#ILLEGAL SYNTAX/ | |
3358 | TOOMAN, TEXT /#TOO MANY FILES/ | |
3359 | NF, TEXT / NOT FOUND/ | |
3360 | DNE, TEXT / DOES NOT EXIST/ | |
3361 | SEMSG1, TEXT /? ENTER ERROR/ | |
3362 | SEMSG2, TEXT \?I/O ERROR\ | |
3363 | SEMSG3, TEXT /?DEVICE FULL/ | |
3364 | SEMSG4, TEXT /?CLOSE ERROR/ | |
3365 | \fATIO, TEXT /#BAD FILENAME OR ERROR READING INDIRECT FILE/ | |
3366 | OVFLOW, TEXT /#COMMAND LINE OVERFLOW/ | |
3367 | BADNUM, TEXT /#BAD NUMBER/ | |
3368 | BADSTR, TEXT /#ILLEGAL * OR ?/ | |
3369 | \fBADX, TEXT /#BAD EXTENSION/ | |
3370 | BADOPT, TEXT /#BAD SWITCH OPTION/ | |
3371 | TOOLNG, TEXT /#COMMAND TOO LONG/ | |
3372 | REMBAD, TEXT \#I/O ERROR TRYING TO RECALL\ | |
3373 | \fBADSW, TEXT /#SWITCH NOT ALLOWED HERE/ | |
3374 | BADSW2, TEXT /#BAD CCL SWITCH/ | |
3375 | NONE, TEXT /NONE/ | |
3376 | BADREM, TEXT /#BAD RECOLLECTION/ | |
3377 | BADEV, TEXT /#BAD DEVICE/ | |
3378 | CONTRA, TEXT /#CONTRADICTORY SWITCHES/ | |
3379 | \fVMES, TEXT \OS/8 - KBM V3A - CCL V1A\ | |
3380 | LOC78=VMES+1 | |
3381 | VLOC=VMES+6 | |
3382 | *.-2 | |
3383 | CV=CCLVER&77 | |
3384 | CCLNUM&77^100+CV | |
3385 | *.+1 | |
3386 | \fYEDIT, FILENAME EDIT.SV | |
3387 | *.-1 | |
3388 | YBOOT, FILENAME BOOT.SV | |
3389 | *.-1 | |
3390 | YFORT, FILENAME FORT.SV | |
3391 | *.-1 | |
3392 | YF4, FILENAME F4.SV | |
3393 | *.-1 | |
3394 | YBITMAP,FILENAME BITMAP.SV | |
3395 | *.-1 | |
3396 | YSRCCOM,FILENAME SRCCOM.SV | |
3397 | *.-1 | |
3398 | YBCOMP, FILENAME BCOMP.SV | |
3399 | *.-1 | |
3400 | YPAL8, FILENAME PAL8.SV | |
3401 | *.-1 | |
3402 | YFOTP, FILENAME FOTP.SV | |
3403 | *.-1 | |
3404 | /YCREF, FILENAME CREF.SV | |
3405 | / *.-1 | |
3406 | YDIRECT,FILENAME DIRECT.SV | |
3407 | *.-1 | |
3408 | \fYPIP, FILENAME PIP.SV | |
3409 | *.-1 | |
3410 | YABSLDR,FILENAME ABSLDR.SV | |
3411 | *.-1 | |
3412 | YLOADER,FILENAME LOADER.SV | |
3413 | *.-1 | |
3414 | YLOAD, FILENAME LOAD.SV | |
3415 | *.-1 | |
3416 | YTECO, FILENAME TECO.SV | |
3417 | *.-1 | |
3418 | YLPTSPL,FILENAME LPTSPL.SV | |
3419 | *.-1 | |
3420 | YCAMP, FILENAME CAMP.SV | |
3421 | *.-1 | |
3422 | YSET, FILENAME SET.SV | |
3423 | *.-1 | |
3424 | YBASIC, FILENAME BASIC.SV | |
3425 | *.-1 | |
3426 | YRXCOP, FILENAME RXCOPY.SV | |
3427 | *.-1 | |
3428 | YRESORC,FILENAME RESORC.SV | |
3429 | *.-1 | |
3430 | YBATCH, FILENAME BATCH.SV | |
3431 | *.-1 | |
3432 | YRALF, FILENAME RALF.SV | |
3433 | *.-1 | |
3434 | YSABR, FILENAME SABR.SV | |
3435 | *.-1 | |
3436 | YFRTS, FILENAME FRTS.SV | |
3437 | *.-1 | |
3438 | YDATE, FILENAME DATE.SV | |
3439 | *.-1 | |
3440 | YCCL, FILENAME CCL.SV | |
3441 | *.-1 | |
3442 | YHELP, FILENAME HELP.SV | |
3443 | *.-1 | |
3444 | YMACREL,FILENAME MACREL.SV | |
3445 | *.-1 | |
3446 | YLINK, FILENAME LINK.SV | |
3447 | *.-1 | |
3448 | \fBATHED, "$;"J;"O;"B;215;212;".;0 | |
3449 | BATAIL, ".;"R;240;"F;"O;"T;"P;215;212 | |
3450 | "*;"S;"Y;"S;":;"C;"C;"B;"T;"C;"H;".;"T;"M;"/;"D;"$;215;212 | |
3451 | "$;"E;"N;"D;215;212;32;0 | |
3452 | TEMNAM, FILENAME CCBTCH.TM | |
3453 | \fLPTDEV, DEVICE LPT | |
3454 | TVDEV, DEVICE TV | |
3455 | TTYDEV, DEVICE TTY | |
3456 | PTPDEV, DEVICE PTP | |
3457 | DMPDEV, DEVICE DUMP | |
3458 | NULDEV, DEVICE NULL | |
3459 | \f BATBUF=4400 /LOCATION OF ONE BLOCK BATCH TEMP BUFFER | |
3460 | USR=200 | |
3461 | GLINE=1200 /LOCATION FROM KBM | |
3462 | CTRLCK=1241 /LOC FROM KBM, PTS TO PLACE TO BRANCH ON ^C | |
3463 | BATPTR, BATBUF-1 | |
3464 | LCHAR, 0 | |
3465 | ||
3466 | SEMGO, CIF CDF 10 | |
3467 | JMP I SEMI | |
3468 | ||
3469 | SEMI, 0 | |
3470 | TAD (BEGLN-1 | |
3471 | DCA XR | |
3472 | SEMLUP, TAD I XR | |
3473 | SNA | |
3474 | JMP SEMGO /NO SEMICOLONS | |
3475 | TAD (-"; | |
3476 | SZA CLA | |
3477 | JMP SEMLUP | |
3478 | CIF 10 | |
3479 | CLA IAC /SYS | |
3480 | JMS I (USR | |
3481 | 3 /ENTER | |
3482 | BLKNO, TEMNAM | |
3483 | BLKLEN, 0 /NEG OF LENGTH | |
3484 | JMP SEMER1 /ENTER ERROR | |
3485 | TAD BLKNO | |
3486 | DCA BATBLK | |
3487 | TAD (BEGLN-1 | |
3488 | DCA XR | |
3489 | TAD (7600 | |
3490 | DCA I (CTRLCK /FORCE ^C TO GLINE TO GO TO 7600 | |
3491 | JMS BATLST | |
3492 | BATHED | |
3493 | S2, TAD I XR | |
3494 | SNA | |
3495 | JMP LINEND | |
3496 | DCA LCHAR /SAVE CHAR | |
3497 | TAD LCHAR | |
3498 | TAD (-"; | |
3499 | SNA CLA | |
3500 | JMP GOTSEM | |
3501 | TAD LCHAR | |
3502 | S3, JMS BATPUT | |
3503 | JMP S2 | |
3504 | \fLINEND, TAD LCHAR | |
3505 | TAD (-"; /LOOK AT LAST CHAR | |
3506 | SZA CLA /WAS IT SEMICOLON? | |
3507 | JMP BATEND /NO, END OF TEMP BATCH STREAM | |
3508 | JMS I (GLINE /YES, READ NEW LINE FROM KEYBOARD | |
3509 | /**** WHAT IF WE'RE RUNNING UNDER BATCH **** | |
3510 | TAD (BEGLN-1 | |
3511 | DCA XR | |
3512 | JMP S2 | |
3513 | ||
3514 | GOTSEM, JMS KRLF | |
3515 | TAD (". | |
3516 | JMP S3 | |
3517 | ||
3518 | KRLF, 0 | |
3519 | TAD (215 | |
3520 | JMS BATPUT | |
3521 | TAD (212 | |
3522 | JMS BATPUT | |
3523 | JMP I KRLF | |
3524 | ||
3525 | BATPUT, 0 | |
3526 | ISZ BATPTR | |
3527 | DCA I BATPTR | |
3528 | TAD BATPTR | |
3529 | TAD (-BATBUF-377 | |
3530 | SNA CLA | |
3531 | JMS BATWRIT /WRITE OUT BUFFER IF FULL | |
3532 | JMP I BATPUT | |
3533 | \fBATWRIT,0 | |
3534 | JMS I (7607 | |
3535 | 4200 /WRITE 1 BLOCK | |
3536 | BATBUF | |
3537 | BATBLK, 0 | |
3538 | JMP SEMER2 / I/O ERROR | |
3539 | ISZ BATBLK /POINT TO NEXT BLOCK | |
3540 | ISZ BATLEN /BUMP LENGTH | |
3541 | ISZ BLKLEN | |
3542 | SKP | |
3543 | JMP SEMER3 /DEVICE FULL | |
3544 | TAD (BATBUF-1 | |
3545 | DCA BATPTR | |
3546 | JMP I BATWRIT | |
3547 | ||
3548 | BATEND, JMS KRLF | |
3549 | JMS BATLST | |
3550 | BATAIL | |
3551 | JMS BATWRIT | |
3552 | CIF 10 | |
3553 | CLA IAC /SYS | |
3554 | JMS I (USR | |
3555 | 4 /CLOSE | |
3556 | TEMNAM | |
3557 | BATLEN, 0 /LENGTH OF TEMPORARY FILE | |
3558 | JMP SEMER4 /CLOSE ERROR | |
3559 | CIF CDF 10 | |
3560 | JMP I (ENGOA | |
3561 | \fBATLST, 0 | |
3562 | TAD I BATLST | |
3563 | DCA BTPT | |
3564 | ISZ BATLST | |
3565 | BTLP, TAD I BTPT | |
3566 | SNA | |
3567 | JMP I BATLST | |
3568 | JMS BATPUT | |
3569 | ISZ BTPT | |
3570 | JMP BTLP | |
3571 | ||
3572 | BTPT, 0 | |
3573 | ||
3574 | SEMER4, IAC /CLOSE ERROR | |
3575 | SEMER3, IAC /DEVICE FULL | |
3576 | SEMER2, IAC / I/O ERROR | |
3577 | SEMER1, IAC /ENTER ERROR | |
3578 | CIF CDF 10 | |
3579 | JMP I (SEMERR | |
3580 | PAGE | |
3581 | \f FIELD 1 | |
3582 | *2001 | |
3583 | $ | |
3584 | \f |