|
|
DataMuseum.dkPresents historical artifacts from the history of: IBM System/3 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about IBM System/3 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 17780 (0x4574)
Types: s3xseg
Names: »S$E140«
└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
└─⟦95ee7795b⟧
└─⟦this⟧ »S$E140«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* TITLE: $E140 - SCHEDULE THE BSCC LINE * 00040000
.* * 00050000
.* STATUS: V4 M0 * 00060000
.* * 00070000
.* FUNCTION: SET UP THE CLB FOR THE REQUESTED FUNCTION (PUT,GET, * 00080000
.* ABORT,SEARCH EOT,STOP POLL,ETC) * 00090000
.* * 00100000
.* INPUT: XR2 --> CLB TO SCHEDULE * 00110000
.* * 00120000
.* * 00130000
.* OUTPUT: THE CLB SET UP FOR THE REQUESTED OPERATION * 00140000
.* * 00150000
.* EXTERNAL REFERENCES: $$BSYM - BSCC DATA MANAGEMENT * 00160000
.* $CC4U0 - FORMAT 3270 SYSTEM REQUESTS * 00170000
.* WORK AREAS/TABLES: COMM.CONTROL BLOCK (CLB) * 00180000
.* TERMINAL UNIT BLOCK (TUB) * 00190000
.* TP PARAMETER LIST (PL) * 00200000
.* * 00210000
.* * 00220000
.* * 00230000
.********************************************************************** 00240000
.* * 00250000
.* GBLB &CINT * NO * INTERVAL POLLING * 00260000
.* GBLB &CACI * NO * ASCII SUPPORT * 00280000
.* GBLB &NPBY * NO * BUSY PRINTER SUPPORT (328X) * 00285000
.* * 00290000
.********************************************************************** 00300000
$E140 00310000
GBLB &CACI,&CINT 00315000
GBLB &CSIO,&NPBY,&NCPOR 00320000
TEXT 00330000
TITLE '$ E 1 4 0 - S T A R T T H E B S C C L I N E' 00340000
* SCHEDULE THE BSCC LINE - XR2 --> CLB TO SCHEDULE 00350000
SPACE 1 00360000
CSCHED EQU * 00370000
ST CSSCLB,CLB SAVE THIS CLB ADDRESS 00380000
L CLBPL@(,CLB),PL XR1--> PL (WILL BE RELOADED 00390000
* IF THE LINE IS NOT ACTIVE NOW) 00400000
TBN CLBBA2(,CLB),BA2ACT LINE ACTIVE NOW? 00410000
JF CSCNAC NO - GO SEARCH CLBPLQ FOR PL 00420000
SPACE 1 00430000
* LINE IS ACTIVE - EITHER USE THE CLB ATTRIBUTES OR CLBPL@ FOR OP 00440000
SPACE 1 00450000
AIF (&CSIO EQ '1').PT010 00450600
AGO .PT020 00450700
.PT010 ANOP 00450800
AIF (&NCPOR).PT030 00450900
.PT020 ANOP 00451000
******************************************************************* @14 00451200
******* 00451800
* IF PORT DEVICE AND 43 COMP CODE AND THIS CPU HAS PRIORTIY, RE-DO THE 00453000
* SAME PUT. THESE TESTS WERE MADE EARLIER. 00453600
CLI CLBDEV(,CLB),DEVSIO PORT DEVICE 00454200
JNE CSCALT NO 00454800
CLI CLBOPC(,CLB),CMPNID WRITE CONFLICT WITH OTHER CPU 00455400
BE CSCDM YES, GO CALL DATA MANAGEMENT 00456000
******* 00457200
******************************************************************* @14 00457500
SPACE 1 00457800
.PT030 ANOP 00458400
CSCALT EQU * 00460000
TBF CLBBA1(,CLB),BA1CRI+BA1PRI STOP POLL REQUEST? 00470000
JT CSCABT NO - GUESS AGAIN 00480000
AIF (&CSIO EQ '1').PT040 00480500
AGO .PT050 00480560
.PT040 ANOP 00480620
AIF (&NCPOR).PT060 00480680
.PT050 ANOP 00480740
SPACE 1 00480800
******************************************************************* @14 00480860
******* 00480920
TBN CLBBA3(,CLB),BA3POR PORTLINE DEVICE ? 00482500
JF CSCNTP NO 00483000
SBF CLBOPC(,CLB),OPCFAB ENSURE OP IS NOT A ABORT,STOP 00483500
* IF A PUT IS PENDING, NEED TO MOVE IN A PORTID 00484000
TBN CLBBA2(,CLB),BA2PUT PUT PENDING 00484500
JF CSCNTP NO 00485000
L PLTUBA(,PL),XR1 XR1 --> TUB 00485500
MVC CLBPID(1,CLB),TUBID-1(,XR1) PORTID TO CLB FOR STOP INVITE 00486000
L CLBPL@(,CLB),PL XR1 --> PL 00486500
CSCNTP EQU * * 00487000
******* 00487500
******************************************************************* @14 00487700
SPACE 1 00488000
.PT060 ANOP 00489000
SBN CLBOPC(,CLB),OPCSTP PUT STOP POLL OP IN CLB 00490000
B CSCDM YES DO STOP POLLING 00495000
SPACE 1 00510000
* CHECK FOR AN ABORT REQUEST 00520000
CSCABT EQU * * 00530000
TBN CLBBA2(,CLB),BA2ABT ABORT REQUEST ? 00540000
JF CSCEOT NO - GUESS AGAIN 00550000
* SET UP TO ABORT THIS OP 00560000
MVI CLBOPC(,CLB),OPCFAB PUT ABORT OP IN THE CLB 00570000
B CSCDM GO CALL BSCC DATA MANAGE 00580000
SPACE 1 00590000
* CHECK FOR SEARCH EOT REQUEST 00600000
CSCEOT EQU * * 00610000
SBF CLBBA2(,CLB),BA2RCI SET OFF POLLING INDICATOR 00620000
TBN CLBBA1(,CLB),BA1EOT SEARCH FOR EOT REQUEST? 00630000
JF CSCSET NO - GUESS AGAIN 00640000
SPACE 1 00650000
* SET UP FOR A SEARCH EOT REQUEST - BSCC DM WILL FLUSH THE INPUT TEXT 00660000
MVI CLBOPC(,CLB),OPCEND PUT FLUSH OP INTO CLB 00670000
B CSCDM GO CALL BSCC DATA MANAGE 00680000
SPACE 1 00690000
* CHECK FOR A SEND EOT REQUEST 00700000
CSCSET EQU * * 00710000
TBN CLBBA2(,CLB),BA2SET SEND EOT REQUEST? 00720000
JF CSCPL@ NO - USE PL IN CLBPL@ TO 00730000
* DETERMINE THE OP TO PERFORM 00740000
* SET UP TO SEND AN EOT ON THIS LINE 00750000
MVI CLBOPC(,CLB),OPCEOF PUT SEND EOT OP IN CLB 00760000
B CSCDM GO CALL BSCC DATA MANAGEMENT 00770000
SPACE 1 00780000
* LINE NOT ACTIVE -SET UP CLB FOR A NEW REQUEST 00790000
CSCNAC EQU * * 00800000
SLC #CSOND,CLBOPE(1,CLB) CLEAR COMMON OP END COUNT 00810000
MVI CLBOPE(,CLB),NOBIT ZIP THIS LINE'S OP END COUNT 00820000
AIF (&CSIO EQ '1').PT070 00820900
AGO .PT080 00821000
.PT070 ANOP 00821100
AIF (&NCPOR).PT090 00821200
.PT080 ANOP 00821300
SPACE 1 00821400
******************************************************************* @14 00821500
******* 00821600
TBN CLBBA3(,CLB),BA3POR PORTLINE DEVICE ? 00824500
JT CSCRES YES, SKIP POLL CODE 00825400
******* 00827200
******************************************************************* @14 00827600
SPACE 1 00828100
.PT090 ANOP 00829000
MVI CLBIND(,CLB),INDNXT SET TO POLL NEXT TERMINAL 00830000
TBN CLBBA3(,CLB),BA3STS MUST RESTORE POLL LOOP CNT? 00840000
SBF CLBBA3(,CLB),BA3STS SET OFF POLL FOR STATUS BIT @01 00845000
JF CSCRES NO - JUMP 00850000
MVC CLBCNT(1,CLB),CLBPLC(,CLB) RESTORE POLL LOOP COUNT 00860000
CSCRES EQU * * 00870000
SLC CLBOWN(2,CLB),CLBOWN(,CLB) ZIP OWNER FIELD 00880000
* IF CLBIBA IS NON-ZERO - FREEMAIN WHAT'S IN THERE 00890000
CLI CLBIBA-1(,CLB),NOBIT ANY TO FREE? 00900000
JE CSCNFR NO - JUMP 00910000
L CLBIBA(,CLB),XR2 XR2 --> AREA TO FREE 00920000
CCP MASK,PMR MASK INTERRUPTS 00930000
B CC4FM GO FREE MAIN 00940000
L CSSCLB,CLB XR2--> CLB 00950000
MVI CLBIBA-1(,CLB),NOBIT ZIP THE ADDRESS JUST FREED 00960000
CCP UNMASK,PMR ALLOW INTERRUPTS 00970000
CSCNFR EQU * * 00980000
AIF (&CSIO EQ '1').PT100 00980400
AGO .PT110 00980450
.PT100 ANOP 00980500
AIF (&NCPOR).PT120 00980550
.PT110 ANOP 00980600
SPACE 1 00980650
******************************************************************* @14 00980700
******* 00980750
* IF ANY PL WAITING FOR TPBUFF, HANDLE THEM NOW 00982000
* IF PROCESSING A GET AND NEED TO DO A GET, DO THE GET 00982400
* IF ANY NEW REQUESTS, GO DO THAT 00982800
* 00983200
SBN CLBATB(,CLB),ATBTIM SET RESCHEDULE NEEDED 00983600
TBF CSSWIT,CSNDCR ANY WAITING FOR TPBUFF 00984000
BF CSPSTN YES - POST AND CHECK FOR PL 00984400
TBN CSSWIT,CSSGET NEED TO DO A GET 00984800
TBN CLBBA3(,CLB),BA3POR PORTLINE OR SIOC DEVICE ? @04 00985200
JT CSCSER BOTH, CONTINUE @04 00985600
TBF CLBNW#(,CLB),ALLBIT ANY NEW REQUESTS 00986000
BF CSPSTN YES, GO PROCESS NEW REQUEST 00986400
* 00986800
******* 00987200
******************************************************************* @14 00987400
AGO .YP040 * 00988000
.PT120 ANOP 00988400
* IF THERE ARE ANY NEW REQUESTS,OR PL WAITING FOR TPBUFF - HANDLE 00990000
* THEM NOW 01000000
SBN CLBATB(,CLB),ATBTIM SET RESCHEDULE NEEDED 01010000
TBF CLBNW#(,CLB),ALLBIT ANY NEW REQUESTS OR 01020000
TBF CSSWIT,CSNDCR ANY WAITING FOR TPBUFF? 01030000
BF CSPSTN YES - GO POST THIS OP AND CHECK 01040000
* FOR A NEW REQUEST 01050000
.YP040 ANOP * 01055000
SPACE 2 01060000
* SEARCH CLBPLQ FOR THE NEXT OP TO PERFORM 01070000
CSCSER EQU * * 01075000
SBF CLBATB(,CLB),ATBTIM SET OFF 'RESCHEDULE NEEDED' 01080000
B CSCHRQ GO SEARCH CLBPLQ-IF NONE FOUND 01090000
* THEN NO RETURN 01100000
* XR1 WILL CONTAIN PL ADDRESS TO SCHEDULE 01110000
TBN PL$OPM(,PL),OPGET GET TYPE OP ? 01120000
JF CSCNGT NO - JUMP 01130000
SBN CLBBA2(,CLB),BA2RCI SET POLLING INDICATOR 01140000
CSCNGT EQU * * 01150000
MVC CLBWKB(2,CLB),CLBIBA(,CLB) PUT ADDRESS IN LOGICAL REC @ 01160000
* SET UP THE CLB ATTRIBUTES USING THIS TUB'S ATTRIBUTES 01170000
SPACE 1 01180000
B CSBTAS GO SET UP RECL,BLKL,ATTRIBUTES 01190000
SPACE 1 01200000
* SET UP THE CLB FOR EITHER A GET OR A PUT USING CLBPL@ 01210000
SPACE 1 01220000
CSCPL@ EQU * *** 01230000
TBN PL$OPM(,PL),OPGET GET-TYPE OP ? 01240000
JF CSCXXX NO - JUMP 01250000
AIF (&CSIO EQ '1').PT130 01250600
AGO .PT140 01250670
.PT130 ANOP 01250740
AIF (&NCPOR).PT150 01250810
.PT140 ANOP 01250880
SPACE 1 01250950
******************************************************************* @14 01251020
******* 01251090
MVI CLBOPC(,CLB),OPCGET MAKE OP A GET FOR PORT DEVICE 01253000
TBN CLBBA3(,CLB),BA3POR PORTLINE OR SIOC DEVICE ? 01253600
JF CSNNTP NO - CONTINUE @04 01254200
SBF CSSWIT,CSSGET CLEAR MUST GET SWITCH @04 01254800
J CSNRVI FOR PORT DEVICE @04 01255400
CSNNTP EQU * * @04 01256000
******* 01257200
******************************************************************* @14 01257500
SPACE 1 01257800
.PT150 ANOP 01258400
MVI CLBOPC(,CLB),OPCGEB SET FOR GET-BLOCK 01260000
TBN CLBTBS-4(,CLB),TASVRL VARIABLE LENGTH RECORDS SUPPORT? 01270000
JF CSNVAR NO - LEAVE OP AS GET-BLOCK 01280000
CSCREC EQU * * 01285000
SBF CLBOPC(,CLB),OPCGEB-BIT0 MAKE OP A RECORD OPERATION 01290000
CSNVAR EQU * **** 01300000
TBN PLOPC(,PL),OPRVI SEND RVI REQUEST ? 01310000
JF CSNRVI NO-JUMP 01320000
SBN CLBOPC(,CLB),OPCRVI SET RVI RESPONSE OP CODE 01330000
SPACE 1 01340000
* DON'T PLUG CLBWKB ON FIRST TIME MESSAGE MODE TUBS - IT HAS 01350000
* BEEN SET UP PREVIOUSLY 01360000
SPACE 1 01370000
CSNRVI EQU * ********** 01380000
TBF CLBTBS-4(,CLB),TASREC+TASBLK REC OR BLK MODE TUB? 01390000
TBF CLBBA2(,CLB),BA2RCI OR FIRST RECORD ? 01400000
JT CSNNPG NO - MSG MODE,NON-FIRST BLK-JUMP 01410000
MVC CLBWKB(2,CLB),CLBIBA(,CLB) PUT RECORD ADDRESS IN 01420000
CSNNPG EQU * * 01430000
MVC CLBREL(2,CLB),CLBIBL(,CLB) PUT IN LENGTH 01440000
SPACE 1 01450000
AIF (&CINT).I0200 NO INTERVAL POLLING 01460000
AIF (&CSIO EQ '1').PT160 01460800
AGO .PT170 01460900
.PT160 ANOP 01461000
AIF (&NCPOR).PT180 01461100
.PT170 ANOP 01461200
SPACE 1 01461300
******************************************************************* @14 01461400
******* 01461500
* SKIP TIMER TEST, IF PORT DEVICE 01464000
TBN CLBBA3(,CLB),BA3POR PORTLINE DEVICE ? 01464800
JT CSNPOL YES, SKIP TIMER TEST 01465600
******* 01467200
******************************************************************* @14 01467600
SPACE 1 01468000
.PT180 ANOP 01468800
* START THE INTERVAL TIMER IF POLLING 01470000
TBN CLBBA2(,CLB),BA2RCI POLLING ? 01480000
JF CSNPOL NO - JUMP 01490000
LA CSTIMR,XR2 XR2 --> TIMER IOB 01500000
SVC 0 SPVR CALL 01510000
DC AL1(STMRIB) START TIMER RIB 01520000
L CSSCLB,CLB XR2 --> CLB 01530000
CSNPOL EQU * * 01540000
.I0200 ANOP * 01550000
J CSCDM GO CALL BSCC DATA MANAGEMENT 01560000
SPACE 2 01570000
* SET UP THE CLB FOR A PUT OPERATION 01580000
SPACE 1 01590000
CSCXXX EQU * * 01600000
MVI CLBOPC(,CLB),OPCPUT SET OP CODE TO PUT RECORD 01610000
AIF (&CSIO EQ '1').PT190 01610300
AGO .PT200 01610330
.PT190 ANOP 01610360
AIF (&NCPOR).PT210 01610390
.PT200 ANOP 01610420
SPACE 1 01610450
******************************************************************* @14 01610480
******* 01610510
* ALWAYS MSG MODE IF PORT DEVICE 01611500
TBN CLBBA3(,CLB),BA3POR PORTLINE DEVICE ? 01611800
JT CSCNEO YES 01612100
******* 01612700
******************************************************************* @14 01612800
SPACE 1 01613000
.PT210 ANOP 01613300
AIF (&NPBY).BP100 BUSY PRINT SUPPORT ? 01613600
* -----------START-------------@07 01613900
* SPACE 1 01614200
L PLTUBA(,PL),XR2 POINT TO TUB 01614210
TBN TUBSCS(,XR2),TUBBPT IS BUSY PRINT ALLOWED 01614270
JF CSNPRT NO, SKIP BUSY PRINT CODE 01614280
CLC PLOUTL(2,PL),X$0002 IS OUTPUT LENGTH TWO? 01614290
JNH CSNPRT NO-DONT CHECK FOR BSY PRINTER 01614300
TBN TUBTA1(,XR2),TASDFF IS THIS A DFF TERMINAL ? 01614305
L TUBDTF(,XR2),XR2 XR2 --> CLB ADDRESS 01614310
TBN CLBATA(,XR2),CLBDFF AND IS DFF BUFFER SUPPORTED ? 01614320
JF CSNDFF NO,CHECK PLRECA FOR WCC 01614330
TBN PLOPM(,PL),OPPRT PRINT BIT ON 01614340
SBF PLOPM(,PL),OPPRT TURN IT OFF 01614350
J CSSYSP CHECK IF SYS TYPE 01614360
CSNDFF EQU * HERE IF NO DFF BUFF SUPPORT 01614370
L PLRECA(,PL),XR2 XR2 --> RECORD AREA 01614500
TBN WCC(,XR2),STPRT AND START PRINT BIT ON ? 01614600
CSSYSP EQU * ALLWAYS CHECK IF SYS TYPE 01614700
TBF PLOPM(,PL),OP$SYS USER OP ? 01614800
JF CSNPRT NO - DON'T SET PRINTER BUSY 01615400
L PLTUBA(,PL),TUB XR2 --> TUB 01615700
SBN TUBAT4(,TUB),TUBBSY YES - SET ON PRINTER BUSY BIT 01616000
CSNPRT EQU * 01616300
L CSSCLB,CLB XR2 --> CLB 01616600
SPACE 1 01616900
* -----------END---------------@07 01617200
.BP100 ANOP 01617500
TBN PLOPC(,PL),OPBLK BLOCK MODE PUT ? 01620000
JF CSCNBL NO - JUMP 01630000
MVI CLBOPC(,CLB),OPCEOB SET OP TO PUT THIS BLOCK 01640000
CSCNBL EQU * * 01650000
TBF PLOPC(,PL),OPMSG-OPBLK MSG MODE OPERATION *AND* 01660000
TBF PL$OPC(,PL),OPSYS SYSTEM OP ? 01670000
JT CSCNEO NO-LEAVE OP CODE AS PUT ONLY 01680000
SBN CLBBA2(,CLB),BA2SET SET SENT EOT IND ON 01690000
CLC PLOUTL(2,PL),X$0000 OUTPUT LENGTH ZERO ? 01700000
TBF PL$OPC(,PL),OPSYS *AND* USER OPERATION ? 01710000
MVI CLBOPC(,CLB),OPCEOF SET SEND EOT OP CODE 01720000
JC CSCNEO,TRUAEQ YES - LEAVE OP AS SEND EOT 01730000
MVI CLBOPC(,CLB),OPCEOW SET FOR PUT EOW 01740000
CSCNEO EQU * * 01745000
L PLTUBA(,PL),XR1 XR1 --> TUB 01760000
MVC CLBIND(1,CLB),TUBSID(,XR1) PUT TERMINAL'S ID IN CLB 01770000
AIF (&CSIO EQ '1').NP080 01770600
SPACE 1 01771200
******************************************************************* @14 01771500
******* 01771800
* PUT 'TO' PORTID INTO CLB AND MAKE USER NON-CANCELLABLE 01773000
CLI CLBDEV(,CLB),DEVSIO SIOC DEVICE ? 01773600
JNE CSCNPT NO - CONTINUE 01774200
MVC CLBIND(1,CLB),TUBID(,XR1) 'TO' PORTID 01774800
SBN CLBBA2(,CLB),BA2SET SET SENT EOT IND ON 01775400
CSCNPT EQU * * 01776000
******* 01777200
******************************************************************* @14 01777500
SPACE 1 01777800
.NP080 ANOP 01778400
SBN TUBAT2(,XR1),TUBOWN SET TUB AS OWNER 01780000
L CLBPL@(,CLB),PL XR1 --> PL 01790000
MVC CLBWKB(2,CLB),PLRECA(,PL) PUT ADDRESS IN CLB 01800000
AIF (&CSIO EQ '1').PT220 01800700
AGO .PT230 01800780
.PT220 ANOP 01800860
AIF (&NCPOR).PT240 01800940
.PT230 ANOP 01801020
SPACE 1 01801100
******************************************************************* @14 01801180
******* 01801260
TBN CLBBA3(,CLB),BA3POR PORT DEVICE ? 01803500
TBN PLOPC(,PL),OPPCR PORT COMMAND OPERATION ? 01804200
JF CSCNCM NO - CONTINUE 01804900
SBN CLBIND(,CLB),TPXCMD INDICATE COMMAND DATA OPERATION 01805600
CSCNCM EQU * * 01806300
******* 01807700
******************************************************************* @14 01808000
SPACE 1 01808400
.PT240 ANOP 01809100
TBN CLBBA2(,CLB),BA2TRC DATA TRUNCATED ? 01810000
SBF CLBBA2(,CLB),BA2TRC SET IT OFF 01820000
JT CSCNPG YES - CLBREL ALREADY SET 01830000
MVC CLBREL(2,CLB),PLOUTL(,PL) PUT LENGTH IN CLB 01840000
CSCNPG EQU * * 01850000
* IF OLT REQUEST - SET UP THE CLB FOR TEST 01860000
TBN PLOPM(,PL),OPOLT OLT-REQUEST ? 01870000
JF CSCNOT NO - JUMP 01880000
MVC CLBRFT(2,CLB),CLBWKB(,CLB) SET ADD. OF OLT PARM LIST 01890000
ALC CLBWKB(2,CLB),OLTLNG BUMP TO OLT TEXT 01900000
SLC CLBREL(2,CLB),OLTLNG CORRECT LENGTH FOR TEXT LENGTH 01910000
MVI CLBOPC(,CLB),OPCOLT MAKE OP CODE AN ON LINE TEST 01920000
CSCNOT EQU * * 01930000
* IF SYS REQUEST TO A 3270 TYPE TERMINAL - THEN FORMAT THE MSG 01940000
TBN PL$OPC(,PL),OPSYS SYSTEM REQUEST -- 01950000
L PLTUBA(,PL),XR1 XR1 --> TUB 01960000
CLI TUBPHY(,XR1),TUB5M2 AND 3270 TERMINAL -- 01970000
L CLBPL@(,CLB),PL XR1 --> PL 01980000
TBF PLOPM(,PL),OPOLT AND NOT OLT REQUEST 01990000
AIF (&CACI).A0200 NO ASCII SUPPORT. 02000000
JC CSCASC,FLSOHI NO - CHECK FOR ASCII 02010000
B CC4U0 CALL FORMAT ROUTINE 02020000
CSCASC EQU * * 02030000
TBN CLBATT(,CLB),ATTCOD ASCII LINE 02040000
JF CSCDM NO - CALL BSCC DATA MANAGEMENT 02050000
* CALL $CC4UJ - EBCDIC TO ASCII TRANSLATE TRANSIENT 02060000
B CC4TA CALL TRANSIENT AREA HANDLER 02070000
DC AL1(CC4UK) TRANSIENT ID ($CC4UK) 02080000
SPACE 1 02090000
AGO .A0300 * 02100000
.A0200 ANOP * 02110000
JC CSCDM,FLSOHI NO - CALL BSCC DATA MANAGEMENT 02120000
B CC4U0 CALL FORMAT ROUTINE 02130000
.A0300 ANOP * 02140000
CSCDM EQU * 02150000
* CALL BSCC DATA MANAGEMENT TO START THIS OPERATION 02160000
L CLBPL@(,CLB),PL XR1--> PL 02170000
MNN CLBOPL(,CLB),PL$OPM(,PL) SAVE THE CURRENT OP 02180000
SBN CLBBA2(,CLB),BA2ACT SET CLB AS ACTIVE 02190000
AIF (&CSIO EQ '1').NP100 02190900
SPACE 1 02191800
******************************************************************* @14 02192200
******* 02192700
CLI CLBDEV(,CLB),DEVSIO SIOC ONLY DEVICE ? 02194500
JE CSCPRT YES, SKIP BSCC DM 02195400
******* 02197200
******************************************************************* @14 02197600
SPACE 1 02198100
.NP100 ANOP 02199000
B $$BSYM GO TO DATA MANAGEMENT 02200000
AIF (&CSIO EQ '1').NP110 02200700
SPACE 1 02201400
******************************************************************* @14 02201700
******* 02202100
J CSCTRC SKIP SIOC DM CALL 02203500
CSCPRT EQU * * 02204200
B CSENDM GO TO SIOC DM 02204900
CSCTRC EQU * * 02205600
******* 02207000
******************************************************************* @14 02207300
.NP110 ANOP 02208400
SPACE 1 02209200
* TRACE THIS OP 02210000
* SET OFF NO TRACE INDICATOR FOR ANYTHING BUT A POLL 02220000
SPACE 1 02230000
TBF CLBBA1(,CLB),ALLBIT IF POLLING ONLY------| 02240000
TBF CLBBA2(,CLB),ALLBIT-BA2RCI-BA2POP-BA2ACT ------| 02250000
TBN CLBBA2(,CLB),BA2RCI THEN ----------------| 02260000
JT CSCNTR JUMP <---------------| 02270000
SBF $FLGC,#NTRCS SET TO TRACE THIS REQUEST 02280000
CSCNTR EQU * * 02290000
B CC4TT GO TO TRACE SUBROUTINE 02300000
DC AL1(TTBSIO) TRACE ID IS BSC CALL 02310000
* TRACE RETURNS WITH INTERRUPTS MASKED 02320000
CCP UNMASK,PMR ALLOW INTERRUPTS 02330000
SPACE 1 02340000
CLI CLBCMP(,CLB),CMPACC OP ACCEPTED ? 02350000
JE CSCGPS YES - GO POST 02360000
* DISASTER ERROR - CALL $CC4UE TO DIAGNOSE 02370000
B CC4TA CALL TRANSIENT AREA HANDLER 02380000
DC AL1(CC4UE) TRANSIENT ID ($CC4UE) 02390000
SPACE 1 02400000
CSCGPS EQU * 02410000
* GO POST ANY NO WAIT OPS AND CHECK FOR MORE WORK 02420000
J CSPSTN GO POST 02430000
MEND 02440000