File: CCLSB2.LS of Disk: V50/Source/Source-Listing-MAC-1
(Source file text)
/CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 1 FILE # 1 1 /CCL SUBROUTINES 2 FOR KBM V50 2 / 3 / 4 / 5 / 6 / 7 / CCL SUBROUTINES PART 2 8 / VERSION=5A 9 10 11 .ENTRY OPNSUB,CLOSUB 12 .EXTERNAL DVICE 13 .EXTERNAL ERROR,PRWD,PRINT,LEAVE 14 117 118 0564 SDNAME=564 /V50 119 0772 SDVHND=772 /V50 120 1400 USRDIR=1400 121 4000 DKUSED=4000 122 7667 M8BITS=7667 123 7741 UDNAME=7741 124 7760 DCB=7760 125 0007 OLDT9=7 126 127 0023 OFLAG=NAME1 128 0024 WOPTION=NAME2 129 0025 HASH=NAME3 130 131 0000 .RSECT CCLSB2 132 0001 FIELD 1 /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 3 FILE # 1 133 134 135 10000 0000 OPNSUB, 0 136 10001 7201 CLA IAC 137 10002 3023 DCA OFLAG /SHOW IT'S OPEN 138 10003 1200 TAD OPNSUB 139 10004 3206 DCA CLOSUB 140 10005 5210 JMP CLOSUB+2 141 10006 0000 CLOSUB, 0 142 10007 3023 DCA OFLAG 143 10010 6254 SM8 144 10011 5606 CLOSEX, JMP I CLOSUB 145 10012 1777 TAD I (MOFILE+6 146 10013 7640 SZA CLA 147 10014 4776 CLERR, JMS I (ERROR 148 10015 0011 9. /"#Illegal Syntax" 149 10016 3307 DCA CHANL 150 10017 3310 DCA TASK 151 10020 3311 DCA TYPE /SET SOME DEFAULTS 152 10021 4775 JMS I (USREAD /READ FRESH USR PART 153 10022 1030 TAD DEV1 154 10023 3025 DCA HASH 155 10024 1025 TAD HASH 156 10025 7650 SNA CLA 157 10026 5774 JMP I (ALL /NO DEV MEANS 'ALL' 158 10027 1031 TAD DEV2 159 10030 7450 SNA 160 10031 5236 JMP SHDV$ 161 10032 1025 TAD HASH 162 10033 7004 RAL 163 10034 7130 STL RAR 164 10035 3025 DCA HASH 165 10036 7330 SHDV$: CLA STL RAR /=4000 166 10037 1773 TAD I (7741 /ASS NAME FOR SYS: = KIT7 ? 167 10040 7640 SZA CLA 168 10041 5244 JMP NOWR$ /NO, ONLY SPECIALISTS 169 10042 1772 TAD I (MPARAM+1 170 10043 0371 AND (42 /CHECK /W AND /S OPTIONS 171 10044 3024 NOWR$: DCA WOPTION /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 4 FILE # 1 172 173 174 10045 1770 TAD I (DVICE /DID WE DECODE A DEVICE ? 175 10046 7640 SZA CLA 176 10047 5767 JMP I (FOUND /YES 177 10050 1023 TAD OFLAG /NO, 178 10051 7650 SNA CLA /OPENING ? 179 10052 5214 JMP CLERR /NO, CAN'T CLOSE 180 10053 1366 TAD (SDNAME+17-1 181 10054 3020 DCA T 182 10055 1420 TAD I T /GET LAST ENTRY OF LIST 183 10056 7650 SNA CLA /CHANNEL 1 FREE ? 184 10057 5275 JMP CHAN1 /YES 185 10060 1365 TAD (SDNAME+16-1 186 10061 3020 DCA T 187 10062 1420 TAD I T /CHANNEL 2 FREE ? 188 10063 7650 SNA CLA 189 10064 5274 JMP CHAN2 /YES 190 10065 1364 TAD (SDNAME+15-1 191 10066 3020 DCA T 192 10067 1420 TAD I T 193 10070 7640 SZA CLA /CHANNEL 3 FREE ? 194 10071 4776 JMS I (ERROR 195 10072 0034 28. /"All Channels used" 196 10073 7201 CLA IAC 197 10074 7001 CHAN2, IAC 198 10075 7001 CHAN1, IAC 199 10076 3307 DCA CHANL /CHANNEL NUMBER 200 10077 1363 TAD (-<SDNAME-1> 201 10100 1020 TAD T 202 10101 3770 DCA I (DVICE /OS8 DEVICE NUMBER 203 10102 5762 JMP I (LOOK /GO LOOKUP NAME IN OPEN TABLE /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 5 FILE # 1 204 205 206 10103 0000 CALLOP, 0 207 10104 1361 TAD (5 208 10105 6770 GIOT 209 10106 5312 JMP .+4 210 10107 0000 CHANL, 0 211 10110 0000 TASK, 0 212 10111 0000 TYPE, 0 213 10112 7300 CLA CLL 214 10113 5703 JMP I CALLOP ------ 10161 0005 10162 0210 + 10163 7215 10164 0600 10165 0601 10166 0602 10167 0200 + 10170 0000 * 10171 0042 10172 7644 10173 7741 10174 0600 + 10175 0300 + 10176 0000 * 10177 7606 215 0200 PAGE /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 6 FILE # 1 216 217 218 10200 1777 FOUND, TAD I (DVICE 219 10201 1376 TAD (-15 /SHOULD BE 15, 16 OR 17 220 10202 7710 SPA CLA 221 10203 5313 JMP NCHERR /NOT A CHANNEL 222 10204 1777 TAD I (DVICE 223 10205 7041 CIA 224 10206 1375 TAD (20 /COMPUTE CHANNEL NUMBER 225 10207 3774 DCA I (CHANL 226 10210 4773 LOOK, JMS I (LOOKUP /SEARCH NAME IN CHANNEL TABLE 227 10211 1777 TAD I (DVICE 228 10212 1372 TAD (DCB-1 229 10213 3020 DCA T 230 10214 1771 TAD I (TYPE 231 10215 0370 AND (7770 232 10216 3420 DCA I T /SET DEVICE TYPE 233 10217 1367 TAD (SDNAME-1 234 10220 1777 TAD I (DVICE 235 10221 3020 DCA T 236 10222 1023 TAD OFLAG 237 10223 7640 SZA CLA /IF 'OPEN', 238 10224 1025 TAD HASH 239 10225 3420 DCA I T /SET DEVICE NAME IN USR 240 10226 1777 TAD I (DVICE 241 10227 1366 TAD (DVHNDL-1 242 10230 3020 DCA T 243 10231 1023 TAD OFLAG 244 10232 7650 SNA CLA /CLOSE? 245 10233 5240 JMP ZERO /YES, ZERO ENTRYPOINT 246 10234 1774 TAD I (CHANL 247 10235 7104 CLL RAL 248 10236 1774 TAD I (CHANL 249 10237 1365 TAD (7607 250 10240 3420 ZERO, DCA I T /SET/ZERO ENTRYPOINT 251 10241 4764 JMS I (CALLOP /PASS ARGUMENTS TO FOREGROUND /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 7 FILE # 1 252 253 254 1600 UOFFS=USRDIR-7600 255 10242 7330 EXIT, CLA STL RAR /4000 FOR WRITE 256 10243 4300 JMS USREAD /WRITE USR TO SYS 257 10244 3007 DCA OLDT9 /ZAP USR DIRECTORY 258 10245 6202 CIF 0 259 10246 4765 JMS I (7607 /UPDATE BOOTBLOCK 260 10247 0210 0210 261 10250 1400 USRDIR /USR DIR BUFFER 262 10251 0000 0000 263 10252 4763 JMS I (ERROR 264 10253 0000 0. 265 10254 1762 TAD I (DVHNDL+15-1 266 10255 3761 DCA I (DVHNDL+15-1+UOFFS 267 10256 1760 TAD I (DVHNDL+16-1 268 10257 3757 DCA I (DVHNDL+16-1+UOFFS 269 10260 1756 TAD I (DVHNDL+17-1 270 10261 3755 DCA I (DVHNDL+17-1+UOFFS 271 10262 1754 TAD I (DCB+15-1 272 10263 3753 DCA I (DCB+15-1+UOFFS 273 10264 1752 TAD I (DCB+16-1 274 10265 3751 DCA I (DCB+16-1+UOFFS 275 10266 1750 TAD I (DCB+17-1 276 10267 3747 DCA I (DCB+17-1+UOFFS 277 10270 6202 CIF 0 278 10271 4765 JMS I (7607 279 10272 4210 4210 280 10273 1400 1400 281 10274 0000 0000 282 10275 4763 JMS I (ERROR 283 10276 0000 0. 284 10277 5746 JMP I (CLOSEX /DONE /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 8 FILE # 1 285 286 287 10300 0000 USREAD, 0 288 10301 1345 TAD (410 /AC MAY HAVE 4000 FOR WRITE 289 10302 3305 DCA CTLW$ 290 10303 6202 CIF 0 291 10304 4765 JMS I (7607 292 10305 0410 CTLW$: 0410 293 10306 0400 0400 294 10307 0014 0014 295 10310 4763 JMS I (ERROR 296 10311 0000 0. 297 10312 5700 JMP I USREAD 298 299 10313 1344 NCHERR, TAD ('#@ 300 10314 4743 JMS I (PRWD 301 10315 1030 TAD DEV1 302 10316 4743 JMS I (PRWD 303 10317 1031 TAD DEV2 304 10320 4743 JMS I (PRWD 305 10321 4742 JMS I (PRINT 306 10322 0525 + CHERR 307 10323 5741 JMP I (LEAVE ------ 10341 0000 * 10342 0000 * 10343 0000 * 10344 4300 10345 0410 10346 0011 + 10347 1576 10350 7776 10351 1575 10352 7775 10353 1574 10354 7774 10355 1465 10356 7665 10357 1464 10360 7664 10361 1463 10362 7663 10363 0000 * 10364 0103 + 10365 7607 10366 7646 10367 0563 10370 7770 10371 0111 + 10372 7757 10373 0400 + 10374 0107 + 10375 0020 10376 7763 10377 0000 * 308 0400 PAGE /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 9 FILE # 1 309 310 311 10400 0000 LOOKUP, 0 312 10401 6201 CDF 0 313 10402 1777 TAD I (M8BITS 314 10403 6211 CDF 10 315 10404 0376 AND (DKUSED 316 10405 7650 SNA CLA 317 10406 1375 TAD (TABLE2-TABLE1 318 10407 1374 TAD (TABLE1-1 319 10410 3016 LOOK1, DCA XR 320 10411 1416 TAD I XR 321 10412 7450 SNA 322 10413 5773 JMP I (NCHERR 323 10414 7041 CIA 324 10415 1030 TAD DEV1 325 10416 7640 SZA CLA 326 10417 5260 JMP LOOK2 327 10420 1416 TAD I XR 328 10421 7041 CIA 329 10422 1031 TAD DEV2 330 10423 7640 SZA CLA 331 10424 5261 JMP LOOK3 332 10425 1023 TAD OFLAG 333 10426 7650 SNA CLA /CLOSING ? 334 10427 5600 JMP I LOOKUP /YES, KEEP TYPE AND TASK ZERO 335 10430 1416 TAD I XR 336 10431 3772 DCA I (TASK 337 10432 1024 TAD WOPTION /WRITE OPTION ? 338 10433 7640 SZA CLA 339 10434 1371 TAD (-2000 340 10435 1370 TAD (7777 341 10436 0416 AND I XR 342 10437 3767 DCA I (TYPE 343 10440 1767 TAD I (TYPE 344 10441 0366 AND (770 345 10442 1365 TAD (-230 /IS IT RK8E? 346 10443 7640 SZA CLA 347 10444 5600 JMP I LOOKUP /NO MUST BE OK 348 10445 1364 TAD (DCB 349 10446 6264 6264 /PEEK 350 10447 6211 CDF 10 /AT TYPE WORD OF OS/8 SYSTEM HANDLER 351 10450 0366 AND (770 /PICK OUT DEVICE TYPE 352 10451 7421 MQL 353 10452 1366 TAD (770 354 10453 7040 CMA /7007 MASK 355 10454 0767 AND I (TYPE 356 10455 7501 MQA /MERGE IN OS/8 DEVICE TYPE 357 10456 3767 DCA I (TYPE 358 10457 5600 JMP I LOOKUP /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 10 FILE # 1 359 360 361 10460 7201 LOOK2, CLA IAC 362 10461 1363 LOOK3, TAD (2 363 10462 1016 TAD XR 364 10463 5210 JMP LOOK1 365 366 TABLE1, /VIRTUAL DISK FILES 367 10464 0423 DEVICE DSK0;"S^100+"Y&3777;6500 10465 1360 10466 2631 10467 6500 368 10470 0423 DEVICE DSK1;"D^100+"K&3777;6511 10471 1361 10472 0713 10473 6511 369 10474 0423 DEVICE DSK2;"D^100+"K&3777;6522 10475 1362 10476 0713 10477 6522 370 10500 0423 DEVICE DSK3;"D^100+"K&3777;6533 10501 1363 10502 0713 10503 6533 371 10504 0423 DEVICE DSK4;"D^100+"K&3777;6544 10505 1364 10506 0713 10507 6544 372 10510 0423 DEVICE DSK5;"D^100+"K&3777;6555 10511 1365 10512 0713 10513 6555 373 10514 0423 DEVICE DSK6;"D^100+"K&3777;6566 10515 1366 10516 0713 10517 6566 374 10520 0423 DEVICE DSK7;"D^100+"K&3777;6577 10521 1367 10522 0713 10523 6577 375 10524 0000 0 /END OF TABLE1 /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 11 FILE # 1 376 377 378 .ENABLE ASCII 379 .IF NDF GERMAN < 380 10525 0272 CHERR, TEXT /: not a Multi-8 Channel/ > 10526 0240 10527 0356 10530 0357 10531 0364 10532 0240 10533 0341 10534 0240 10535 0315 10536 0365 10537 0354 10540 0364 10541 0351 10542 0255 10543 0270 10544 0240 10545 0303 10546 0350 10547 0341 10550 0356 10551 0356 10552 0345 10553 0354 10554 0000 381 .IF DF GERMAN < 382 CHERR, TEXT /: ist kein Multi-8 Bereich/ > 383 .ENABLE SIXBIT 384 ------ 10563 0002 10564 7760 10565 7550 10566 0770 10567 0111 + 10570 7777 10571 6000 10572 0110 + 10573 0313 + 10574 0463 + 10575 0166 10576 4000 10577 7667 385 0600 PAGE /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 12 FILE # 1 386 387 388 10600 1777 ALL, TAD I (OFLAG 389 10601 7640 SZA CLA /OPEN OR CLOSE ? 390 10602 5776 JMP I (CLERR /OPEN: THATS DIFFICULT 391 10603 7305 CLA CLL IAC RAL /2 392 10604 3775 DCA I (CHANL 393 10605 4774 JMS I (CALLOP /CLOSE CHANNEL 2 394 10606 2775 ISZ I (CHANL 395 10607 4774 JMS I (CALLOP /CLOSE CHANNEL 3 396 10610 1373 TAD (SDNAME+15-1 397 10611 3020 DCA T 398 10612 1772 TAD I (DVHNDL+15-1 /HANDLER ENTRY POINT 399 10613 1371 TAD (-7620 400 10614 7440 SZA 401 10615 1370 TAD (7620-7615 402 10616 7640 SZA CLA /IS THIS REALY A CHANNEL ? 403 10617 5223 JMP ALL0 /NO 404 10620 3420 DCA I T /YES, ZERO NAME ENTRY 405 10621 3767 DCA I (DCB+15-1 /ZERO TYPE WORD 406 10622 3772 DCA I (DVHNDL+15-1 /ZERO ENTRY POINT 407 10623 2020 ALL0, ISZ T /NEXT CHANNEL 408 10624 1766 TAD I (DVHNDL+16-1 409 10625 1371 TAD (-7620 410 10626 7440 SZA 411 10627 1370 TAD (7620-7615 412 10630 7640 SZA CLA /REALY A CHANNEL ? 413 10631 5235 JMP ALL4 /NO 414 10632 3420 DCA I T /ZERO NAME ENTRY 415 10633 3765 DCA I (DCB+16-1 /ZERO TYPE WORD 416 10634 3766 DCA I (DVHNDL+16-1 /ZERO ENTRY POINT 417 10635 2023 ALL4, ISZ OFLAG /NOW FAKE OPEN MYSELF 418 10636 1364 TAD ('DS 419 10637 3030 DCA DEV1 420 10640 1363 TAD ('K0 421 10641 3031 DCA DEV2 /FAKE DSK0 422 10642 1362 TAD (6003 /HASH FOR DSK0: 423 10643 3025 DCA HASH 424 10644 1361 TAD (17 425 10645 3760 DCA I (DVICE /WE MAY WIPE OUT AN OS/8 HANDLER 426 10646 3024 DCA WOPTION /BE SURE NO /W 427 10647 7201 CLA IAC 428 10650 3775 DCA I (CHANL /CHANNEL 1 IS DSK0: 429 10651 5757 JMP I (LOOK /GO OPEN DSK0: AND END PROPERLY /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 13 FILE # 1 430 431 432 TABLE2, /USER DISKS 433 10652 0423 DEVICE DSK0;"S^100+"Y&3777;6230 10653 1360 10654 2631 10655 6230 434 10656 0423 DEVICE DSK1;"S^100+"Y&3777;6231 10657 1361 10660 2631 10661 6231 435 10662 0423 DEVICE DSK2;"S^100+"Y&3777;6232 10663 1362 10664 2631 10665 6232 436 10666 0423 DEVICE DSK3;"S^100+"Y&3777;6233 10667 1363 10670 2631 10671 6233 437 10672 0423 DEVICE DSK4;"S^100+"Y&3777;6234 10673 1364 10674 2631 10675 6234 438 10676 0423 DEVICE DSK5;"S^100+"Y&3777;6235 10677 1365 10700 2631 10701 6235 439 10702 0423 DEVICE DSK6;"S^100+"Y&3777;6236 10703 1366 10704 2631 10705 6236 440 10706 0423 DEVICE DSK7;"S^100+"Y&3777;6237 10707 1367 10710 2631 10711 6237 441 10712 0000 0 /END OF TABLE1 ------ 10757 0210 + 10760 0000 * 10761 0017 10762 6003 10763 1360 10764 0423 10765 7775 10766 7664 10767 7774 10770 0003 10771 0160 10772 7663 10773 0600 10774 0103 + 10775 0107 + 10776 0014 + 10777 0023 442 1000 PAGE /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 14 FILE # 1 443 444 /CCL SUBROUTINES 2 FOR KBM V50 MACREL-V2C TUE 02-JUN-92 PAGE 15 SYMBOL TABLE ALL 0600+ CCLSB2 GIOT 6770 SYBLKN 7774 ALL0 0623+ CCLSB2 GLINE 1200 SYCNT 7775 ALL4 0635+ CCLSB2 HASH 0025 SYSTEM 0022 AMFLAG 0017 HNDLR 4400 T 0020 BATBUF 4400 JSBITS 7746 TABLE1 0464+ CCLSB2 BATCCL 7777 KEYMON 0403 TABLE2 0652+ CCLSB2 BATERR 7000 KMNTRY 0400 TASK 0110+ CCLSB2 BATIN 5400 LEAVE X **** TBLTBL 6100 BATOUT 7400 LONGTB 5000 TESBUF 2000 BATSPL 7200 LOOK 0210+ CCLSB2 TT 0021 BATTBL 6600 LOOKUP 0400+ CCLSB2 TYPE 0111+ CCLSB2 BATVFY 5600 LOOK1 0410+ CCLSB2 UDNAME 7741 BEGLN 1000 LOOK2 0460+ CCLSB2 UOFFS 1600 BFR 3000 LOOK3 0461+ CCLSB2 USR 0200 CALLOP 0103+ CCLSB2 LXR 0034 USRDIR 1400 CCLBLK 0067 MDATE 7666 USREAD 0300+ CCLSB2 CCLDEV 0001 MIFILE 7617 WOPTIO 0024 CCLHND 0000 MMISC 7777 XFERV G 0070 CCLINC 0054 MOFILE 7600 XR 0016 CCLNUM 0265 MONLOD 7605 XR2 0015 CCLSB2 1000 RSECT MONSAV 7600 ZERO 0240+ CCLSB2 CCLSW 0435 MPARAM 7643 CCLTAB 0265 MREAD 7757 CCLVER 0301 MSOVL2 0055 CHANL 0107+ CCLSB2 M8BITS 7667 CHAN1 0075+ CCLSB2 NAME1 0023 CHAN2 0074+ CCLSB2 NAME2 0024 CHERR 0525+ CCLSB2 NAME3 0025 CLERR 0014+ CCLSB2 NAME4 0026 CLOSEX 0011+ CCLSB2 NAME5 0027 CLOSUB E 0006+ CCLSB2 NCHERR 0313+ CCLSB2 CLXR 0035 NMBASE 0037 CTRLCK 1241 OFLAG 0023 DCB 7760 OLDT9 0007 DEASAD 0427 OPNSUB E 0000+ CCLSB2 DEF 0022 OS78BI 7771 DEFALT 0033 OV 1375 DELIM 0032 PRINT X **** DEV1 0030 PRMES 0330 DEV2 0031 PRQMRK 1357 DKUSED 4000 PRWD X **** DOLFLG 7776 PTR 0036 DVHNDL 7647 REMBLO 0065 DVICE X **** REMSPA 4000 ERRET 0033 REST 5000 ERROR X **** SBLOCK 7776 EXIT 0242+ CCLSB2 SCOPE 7726 EXTTBL 6600 SDNAME 0564 FILDMY 0002 SDVHND 0772 FILETB 7000 SHNDLR 7607 FLD: 0 0200 ASECT SM8 6254 FOUND 0200+ CCLSB2 SOFSET 7747 F0STUF 7200 SPLNUM 7777 GETCCL 1362 SWSTBL 7360