File: TECOVI.LS of Disk: V50/Source/Source-Listing-MAC-2
(Source file text)
PAGE LINE SUBTITLE 6 177 Cmd EB 6 210 Cmd EW 7 247 Cmd ER /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 1 FILE # 1 1 /3 I/O OVERLAY FOR TECO V50 2 3 / 10-APR-79 TEST FOR : WASN'T RE-ENTRANT 4 5 .EXTERNAL QOVRLC,EOVRLC,XOVRLC,FOVRLC 6 .EXTERNAL QCHK,QUOTST,SORT,TSTSEP,ERR,UPPERC 7 .ZTERNAL NAME,ZM10,Z6,SCHAR,Z77,Z200,NMT,NFLG 8 .EXTERNAL GETUSR,PUSHJ,ECDISM 9 .ZTERNAL ERROR,OUTR,R,EBFLG,OUTHND,ODEV 10 .EXTERNAL OCNT,OMAXLN,OUNAM,DECPUT,OSETP,STECO1,STECO2,IBLK 11 .ZTERNAL INHND,ICRCNT,REND,INRCNT,QPTR,ZIREST,CLNF 12 .EXTERNAL POPJ,NNEW13 13 14 .GLOBAL IOVRLY 15 .GLOBAL CHR.EB,CHR.ER,CHR.EW 16 .GLOBAL OUHNDL 17 18 7326 TWOO=CLA STL RTL 19 7344 MTWO=STA CLL RAL 20 7760 OSDCBT=7760 /OS/8 DEVICE CONTROL TABLE - IN FIELD 1 21 22 .ENABLE 7BIT 23 24 .MACRO .ERROR ERNUM 25 .GLOBAL ERR'ERNUM 26 ERR'ERNUM: ERR 27 .ENDM 28 29 .MACRO .SORT ARG1,ARG2 30 SORT; ARG1; ARG2-ARG1 31 .ENDM /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 2 FILE # 1 32 33 0200 .ASECT TECOVI 34 35 3200 *3200 36 37 03200 0000 IOVRLY, 0 38 03201 0000 * QOVRLC 39 03202 0000 * EOVRLC 40 03203 0000 * XOVRLC 41 03204 0000 * FOVRLC 42 43 /SUBROUTINE TO DO LOOKUPS AND ENTERS (LINK CRITICAL ON ENTRY) 44 45 03205 0000 OPEN, 0 /CALLED WITH MONITOR CODE - 2 IN AC 46 03206 3321 DCA RSTSW /ENTER OR LOOKUP 47 03207 7630 SZL CLA /IF THIS IS THE OUTPUT SIDE OF AN "EB" COMMAND, 48 03210 5310 JMP DEVLOD /SKIP THE STATEMENT SCAN 49 03211 0000 * QCHK 50 03212 1304 TAD DSKNAM /PACKED SIXBIT FOR 'DSK:' 51 03213 3326 DCA DEVC 52 03214 1377 TAD (": /RESTORE : 53 03215 3302 NGOM1, DCA DEVCOL 54 03216 3000 * DCA NAME /CLEAR NAME 55 03217 3001 * DCA NAME+1 56 03220 3002 * DCA NAME+2 57 03221 7344 MTWO 58 03222 3351 DCA PERDSW 59 03223 3352 NAMCM1, DCA NAMCNT /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 3 FILE # 1 60 61 03224 0000 * NAMEC, QUOTST /GET CHAR AND TEST FOR ALTM 62 03225 5305 JMP DEVQOT /ALTM - END OF NAME 63 .SORT DEVLST,DEVTAB /CHECK SPECIAL CHARS ([,:. AND SPACE 64 03231 0000 * TSTSEP /NO, SEE IF ALPHANUMERIC 65 .ERROR 08 /ILLEGAL CHAR 66 03233 1352 TAD NAMCNT 67 03234 1000 * TAD ZM10 68 03235 7700 SMA CLA /MORE THAN 6 CHARS? 69 03236 5224 JMP NAMEC /YES, IGNORE 70 03237 1352 TAD NAMCNT /NO, PACK IT 71 03240 1000 * TAD Z6 /*K* (ALSO *K*) NEW FOR SYMBIONT KLUDGE 72 03241 7110 CLL RAR 73 03242 3345 DCA TEMP1 /*K* NOTE ASSUMPTION NAME STARTS AT LOC 3! 74 03243 1000 * TAD SCHAR 75 03244 0000 * UPPERC /** "UPPERC" ALWAYS COMPLEMENTS LINK 76 03245 0000 * AND Z77 77 03246 7420 SNL 78 03247 5253 JMP 2$ 79 03250 7106 CLL RTL 80 03251 7006 RTL 81 03252 7006 RTL 82 03253 1745 2$: TAD I TEMP1 83 03254 3745 DCA I TEMP1 84 03255 2352 ISZ NAMCNT 85 03256 5224 JMP NAMEC 86 87 03257 2351 PERD, ISZ PERDSW /FOUND A PERIOD 88 03260 1000 * TAD NAME 89 03261 7650 SNA CLA /ERROR IF WE HAVE 90 03262 5232 JMP ERR08 /DOUBLE PERIODS OR NO FILE NAME 91 03263 3302 DCA DEVCOL /DEVICE NO LONGER LEGAL 92 03264 3003 * DCA NAME+3 /ZERO EXTENSION OUT 93 03265 1000 * TAD Z6 /AND SET POINTER TO 6TH CHARACTER 94 03266 5223 JMP NAMCM1 95 96 03267 1001 * COLON, TAD NAME+1 97 03270 7450 SNA /WE MUST PACK THE NAME INTO ONE WORD OURSELVES 98 03271 5276 JMP 2$ /BECAUSE IF "OPEN" IS CALLED FROM THE OUTPUT 99 03272 1000 * TAD NAME /SIDE OF AN "EB" COMMAND, WE SKIP 100 03273 7700 SMA CLA /THE NAME COLLECTOR.(WITH GOOD REASON - 101 03274 7130 CLL CML RAR /THE USR OVERLAYS THE COMMAND LINE). 102 03275 1001 * TAD NAME+1 /SINCE THE OS/8 "ASSIGN" CALL TO THE USR 103 03276 1000 * 2$: TAD NAME /REPLACES THE 2ND NAME WORD WITH THE DEVICE 104 03277 3326 DCA DEVC /NUMBER, ALL NAME INFO MUST BE HELD IN WORD 1. 105 03300 5215 JMP NGOM1 /DEVICE NAME STORED - RESET FOR FILE NAME 106 107 03301 0056 DEVLST, ". 108 03302 0072 DEVCOL, ": /CHANGED TO 0 AFTER FIRST : FOUND 109 03303 0057 "/ 110 03304 5723 DSKNAM, 5723 /=0423+1300+4000 - SERVES AS LIST TERMINATOR /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 4 FILE # 1 111 112 03305 2351 DEVQOT, ISZ PERDSW /IF WE NEVER SAW A PERIOD, 113 03306 3003 * DCA NAME+3 /WIPE OUT THE EXTENSION 114 03307 4776 JMS I (GETUSR /BRING USR INTO CORE 115 116 03310 1605 DEVLOD, TAD I OPEN /MOVE HANDLER ADDRESS 117 03311 3330 DCA DEVHND 118 03312 2205 ISZ OPEN /AND BUMP POINTER 119 03313 7326 TWOO 120 03314 1321 TAD RSTSW 121 03315 3343 DCA CODE /ENTER OR LOOKUP 122 03316 6212 CIF 10 /AND RESET TABLES 123 03317 4400 * JMS I Z200 124 03320 0013 13 125 03321 0000 RSTSW, 0 /DON'T ZAP OPEN FILES ON INPUT 126 /0 IS LOOKUP, 2 IS ENTER 127 03322 3327 DCA DEVNO /ZERO SECOND NAME WORD 128 03323 6212 CIF 10 129 03324 4400 * JMS I Z200 130 03325 0001 1 /ASSIGN HANDLER 131 03326 0000 DEVC, 0 132 03327 0000 DEVNO, 0 133 03330 0000 DEVHND, 0 134 03331 5353 JMP OPNERR /ERROR - KICK USR OUT FIRST 135 03332 1375 TAD (3 /*K* SAVED MANY LOCATIONS WHEN NAME HAD TO BE AT 0! 136 03333 3344 DCA STBLK 137 03334 1321 TAD RSTSW /GET LOOKUP-ENTER SWITCH 138 03335 1000 * TAD NAME /IF NAME IS NULL AND THIS IS A LOOKUP, 139 03336 7650 SNA CLA 140 03337 5347 JMP OPSUCC /IT JUST SUCCEEDED 141 03340 1327 TAD DEVNO /DEVICE # 142 03341 6212 CIF 10 143 03342 4400 * JMS I Z200 144 03343 0000 CODE, 0 /ENTER OR LOOKUP 145 03344 0000 STBLK, 0 /FILLED WITH STARTING BLOCK 146 TEMP1, 147 03345 0000 FLN, 0 /FILLED WITH -LENGTH 148 /**** CHECK IF AC MUST = 0 149 03346 5353 JMP OPNERR /ERROR 150 03347 1330 OPSUCC, TAD DEVHND /HANDLER ADDRESS IN AC 151 03350 5605 JMP I OPEN 152 03351 7777 PERDSW, 7777 /FLIP FLOP FOR EXTENSION 153 03352 0000 NAMCNT, 0 /CHARACTER COUNT /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 5 FILE # 1 154 155 03353 1321 OPNERR, TAD RSTSW /WE SHOULD ONLY KILL THE OUTPUT FILE 156 03354 7650 SNA CLA 157 03355 5363 JMP LUKERR /IF THIS IS AN OUTPUT ERROR 158 03356 1000 * EBERR, TAD ERROR 159 03357 3000 * DCA OUTR 160 03360 0000 * DISERR, PUSHJ 161 03361 0000 * PECDSM, ECDISM /DISMISS THE USR 162 .ERROR 16 163 164 03363 3000 * LUKERR, DCA NMT 165 03364 0000 * PUSHJ 166 03365 3516 ERVAL 167 03366 1000 * TAD NFLG /SEE IF NUMBER WAS CREATED 168 03367 7700 SMA CLA 169 03370 5360 JMP DISERR /NO, GIVE ERROR MESSAGE 170 03371 5761 JMP I PECDSM /YES, RETURN VALUE 171 172 03372 3257 DEVTAB, PERD /. 173 03373 3267 COLON /: 174 03374 3525 SWITCH // ------ 03375 0003 03376 0000 * 03377 0072 175 3400 PAGE /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 6 FILE # 1 176 177 .SBTTL Cmd EB 178 179 03400 7340 CHR.EB, CLA CMA CLL /"EDIT BACKUP" COMMAND WITH LINK CLEAR 180 03401 0000 * PUSHJ /USE 'ROPEN' TO SET POINTERS 181 03402 3467 CHR.ER /WITHOUT KICKING OUT THE USR (AC=-1 ON ENTRY) 182 03403 1777 TAD I (DEVNO /DEVICE # 183 03404 1376 TAD (OSDCBT-1 184 03405 3000 * DCA R 185 03406 6211 CDF 10 186 03407 1400 * TAD I R /GET DEVICE CODE FROM DCB TABLE 187 03410 6201 CDF 188 03411 7700 SMA CLA /NEGATIVE IF FILE-STRUCTURED 189 03412 5775 JMP I (EBERR /YOU CAN'T DO THAT! 190 03413 1003 * TAD NAME+3 /EXTENSION 191 03414 1374 TAD (-'BK 192 03415 7450 KSNA, SNA 193 03416 5775 JMP I (EBERR /CAN'T EB A .BK FILE 194 03417 1231 TAD DOTBK /RESTORE EXTENSION 195 03420 3000 * DCA R /SAVE IT 196 03421 1231 TAD DOTBK /.BK EXTENSION 197 03422 3003 * DCA NAME+3 198 03423 6212 CIF 10 199 03424 1777 TAD I (DEVNO /DEVICE # 200 03425 4400 * JMS I Z200 /DELETE THE OLD BACKUP 201 03426 0004 4 202 03427 0000 * NAME 203 03430 0000 0 204 03431 0213 DOTBK, 'BK /WHO CARES IF IT'S NOT THERE? 205 03432 1000 * TAD R /OLD EXTENSION 206 03433 3003 * DCA NAME+3 207 03434 7321 CLA STL IAC /SET EDIT BACKUP FLAG AND DO AN "ENTER" 208 03435 7410 SKP /LINK MUST BE SET HERE FOR OPEN 209 210 .SBTTL Cmd EW 211 212 03436 7100 CHR.EW, CLL 213 03437 3000 * DCA EBFLG /LINK NORMALLY 0 WHEN GOTTEN HERE 214 / RAL 215 / DCA T$ 216 / TAD OUTR 217 / CIA 218 / TAD ERROR 219 / SZA CLA 220 / .ERROR 38 /?OFO 221 / TAD T$ 222 / RAR 223 03440 7201 CLA IAC /OPEN OUTPUT FILE 224 03441 4773 JMS I (OPEN /ENTER CODE IN AC 225 03442 4001 OUHNDL, 4001 /HANDLER ADDRESS 226 03443 3000 * DCA OUTHND /HANDLER ENTRY 227 03444 1777 TAD I (DEVNO 228 03445 3000 * DCA ODEV /SAVE DEV # 229 03446 3772 DCA I (OCNT /CLEAR BLOCK COUNT 230 03447 1771 TAD I (FLN /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 6-1 Cmd EW FILE # 1 231 03450 3770 DCA I (OMAXLN /MAXIMUM FILE LENGTH 232 03451 1000 * TAD NAME 233 03452 3767 DCA I (OUNAM 234 03453 1001 * TAD NAME+1 235 03454 3766 DCA I (OUNAM+1 236 03455 1002 * TAD NAME+2 237 03456 3765 DCA I (OUNAM+2 238 03457 1003 * TAD NAME+3 239 03460 3764 DCA I (OUNAM+3 240 03461 1363 TAD (DECPUT 241 03462 3000 * DCA OUTR /ENABLE CHARACTER OUTPUT ROUTINE 242 03463 1362 TAD (ECDISM 243 03464 3763 DCA I (DECPUT /FAKE RETURN FROM CHAR I/O ROUTINE 244 03465 1761 TAD I (STBLK 245 03466 5760 JMP I (OSETP /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 7 Cmd EW FILE # 1 246 247 .SBTTL Cmd ER 248 249 03467 3000 * CHR.ER, DCA QPTR /ENTERED WITH AC=-1 IF MONITOR IS TO BE KEPT 250 03470 1357 TAD (SNL 251 03471 3756 DCA I (STECO1 252 03472 1215 TAD KSNA 253 03473 3755 DCA I (STECO2 254 03474 7340 CLL STA 255 03475 3000 * DCA NMT 256 03476 4773 JMS I (OPEN /LOOKUP CODE IN AC 257 03477 7201 INHNDL, 7201 /HANDLER ADDRESS 258 03500 3000 * DCA INHND /SAVE HANDLER ENTRY 259 03501 7240 STA 260 03502 3000 * DCA ICRCNT /POINTER 261 03503 7240 STA 262 03504 3000 * DCA REND /CLEAR END-OF-FILE FLAG 263 03505 1761 TAD I (STBLK 264 03506 3754 DCA I (IBLK /FIRST BLOCK 265 03507 1771 TAD I (FLN 266 03510 3000 * DCA INRCNT /SET UP INPUT FILE LENGTH 267 03511 0000 * PUSHJ 268 03512 3516 ERVAL 269 03513 2000 * ISZ QPTR /SHOULD WE DISMISS THE MONITOR? 270 03514 5762 JMP I (ECDISM /YES - KICK THE USR OUT AND POPJ 271 03515 5400 * JMP I ZIREST /EXIT /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 8 Cmd ER FILE # 1 272 273 03516 2000 * ERVAL, ISZ CLNF /WAS THERE A : ON ER OR EB? 274 03517 7410 LSKIP, SKP /NO 275 03520 5323 JMP MAKNUM /YES 276 03521 3000 * DCA CLNF /RESET COLON FLAG 277 03522 0000 * POPJ 278 03523 1000 * MAKNUM, TAD NMT 279 03524 5753 JMP I (NNEW13 /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 9 Cmd ER FILE # 1 280 281 03525 0000 * SWITCH, QUOTST 282 03526 7610 SKPCLA, SKP!CLA /FILENAME ENDS WITH SLASH 283 03527 0000 * UPPERC 284 03530 1352 TAD (-"S 285 03531 7640 SZA CLA 286 .ERROR 28 /UNDEFINED I/O SWITCH 287 03533 1326 TAD SKPCLA 288 03534 3756 DCA I (STECO1 289 03535 1317 TAD LSKIP 290 03536 3755 DCA I (STECO2 291 03537 5751 JMP I (NAMEC ------ 03551 3224 03552 7655 03553 0000 * 03554 0000 * 03555 0000 * 03556 0000 * 03557 7420 03560 0000 * 03561 3344 03562 0000 * 03563 0000 * 03564 0003 * 03565 0002 * 03566 0001 * 03567 0000 * 03570 0000 * 03571 3345 03572 0000 * 03573 3205 03574 7565 03575 3356 03576 7757 03577 3327 292 3600 PAGE /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 10 Cmd ER FILE # 1 293 /3 I/O OVERLAY FOR TECO V50 MACREL-V2C FRI 07-DEC-90 PAGE 11 SYMBOL TABLE CHR.EB G 3400 OPEN 3205 CHR.ER G 3467 OPNERR 3353 CHR.EW G 3436 OPSUCC 3347 CLNF Z 0*** OSDCBT 7760 CODE 3343 OSETP X **** COLON 3267 OUHNDL G 3442 DECPUT X **** OUNAM X **** DEVC 3326 OUTHND Z 0*** DEVCOL 3302 OUTR Z 0*** DEVHND 3330 PECDSM 3361 DEVLOD 3310 PERD 3257 DEVLST 3301 PERDSW 3351 DEVNO 3327 POPJ X **** DEVQOT 3305 PUSHJ X **** DEVTAB 3372 QCHK X **** DISERR 3360 QOVRLC X **** DOTBK 3431 QPTR Z 0*** DSKNAM 3304 QUOTST X **** EBERR 3356 R Z 0*** EBFLG Z 0*** REND Z 0*** ECDISM X **** RSTSW 3321 EOVRLC X **** SCHAR Z 0*** ERR X **** SKPCLA 3526 ERROR Z 0*** SORT X **** ERR08 G 3232 STBLK 3344 ERR16 G 3362 STECO1 X **** ERR28 G 3532 STECO2 X **** ERVAL 3516 SWITCH 3525 FLD: 0 0200 ASECT TECOVI 3600 ASECT FLN 3345 TEMP1 3345 FOVRLC X **** TSTSEP X **** GETUSR X **** TWOO 7326 IBLK X **** UPPERC X **** ICRCNT Z 0*** XOVRLC X **** INHND Z 0*** ZIREST Z 0*** INHNDL 3477 ZM10 Z 0*** INRCNT Z 0*** Z200 Z 0*** IOVRLY G 3200 Z6 Z 0*** KSNA 3415 Z77 Z 0*** LSKIP 3517 .ERROR M 0000 LUKERR 3363 .SORT M 0000 MAKNUM 3523 MTWO 7344 NAMCM1 3223 NAMCNT 3352 NAME Z 0*** NAMEC 3224 NFLG Z 0*** NGOM1 3215 NMT Z 0*** NNEW13 X **** OCNT X **** ODEV Z 0*** OMAXLN X ****