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