DataMuseum.dk

Presents historical artifacts from the history of:

IBM System/3

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about IBM System/3

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦b116572d6⟧ s3xseg

    Length: 32004 (0x7d04)
    Types: s3xseg
    Names: »S$E082«

Derivation

└─⟦827b5bd03⟧ Bits:30009184 5702-sc1.V16.ccp
    └─⟦f17e99db6⟧ 
        └─⟦this⟧ »S$E082« 

TextSegment

       MACRO                                                            00010000                
.********************************************************************** 00015000                
.* NAME: $E082      V-16, M-00.                                       * 00040000                
.********************************************************************** 00045000                
       $E082                                                            00660000                
       GBLB  &ONE,&NOB,&NOM,&NSW,&NPP,&NMP,&NSWL,&NCS,&NDF,&N32       *L00670000                
       GBLB  &BPRT                                                    *L00675000                
       LCLA  &MIX                                                       00700000                
       TEXT                                                             00710000                
* R-15,C-00 CHANGE LEVEL                                                00720000                
       TITLE '$E082/CMREQ---SCHEDULE-A-TP-REQUEST'                      00730000                
*  PRINTER BUSY FLAG   1/19/78                                        *L00735000                
*********************************************************************** 00740000                
*            SCHEDULE A TP REQUEST                                    * 00750000                
*********************************************************************** 00760000                
       SPACE 3                                                          00770000                
* INPUT IS THE ADDRESS OF THE PARAMETER LIST IN STORAGE LOCATION CC@PRL 00780000                
       SPACE                                                            00790000                
* THE REQUEST IS PUT ON THE LINE QUEUE                                  00800000                
* IF THE LINE IS BUSY - THE ROUTINE EXITS                               00810000                
* IF THE LINE IS NOT BUSY - THE OPERATION IS STARTED                    00820000                
       SPACE                                                            00830000                
CMREQ  EQU   *                         HANDLE TP REQUESTS               00840000                
       SPACE                                                            00850000                
* DETERMINE IF POST MASK CONTAINS POST FOR TP REQUEST                   00860000                
       SPACE                                                            00870000                
       TBN   CMPMSK,WPAAII             WAS TP REQUESTED POSTED          00880000                
       BF    CMTSOE                    BRANCH IF FALSE TO TEST FOR      00890000                
*                                      MORE WORK TO DO                  00900000                
       SPACE                                                            00910000                
* CM HAS BEEN POSTED WITH A TP REQUEST                                  00920000                
* SCHEDULE THE REQUEST                                                  00930000                
       SPACE                                                            00940000                
* FIRST LOAD ADDRESS OF PARAMETER LIST INTO XR1                         00950000                
       SPACE                                                            00960000                
       L     CC@PRL,XR1                XR1 POINTS TO PARM LIST          00970000                
CMLTUB EQU   *                         SAVE PARM LIST, LOAD TUB ADDR.   00980000                
       ST    CMSPL,XR1                 SAVE THE PARM LIST ADDRESS       00990000                
       SPACE                                                            01000000                
       L     PLTUBA(,XR1),XR2          POINT XR2 AT THE TUB             01010000                
       MVC   CMSDTF,TUBDTF(2,XR2)      SAVE THE DTF/LCB ADDRESS.        01020000                
       SPACE                                                            01030000                
       SBN   CMSWIT,CMTPRQ             SET SWITCH TO INDICATE TP        01040000                
*                                      REQUEST IS NOW BEING HANDLED     01050000                
       TITLE '$E082/CMREQ---FORM-INTERNAL-OP-CODE'                      01060000                
*********************************************************************** 01070000                
*            FORM $CC4CM INTERNAL OPERATION CODE                      * 01080000                
*********************************************************************** 01090000                
       SPACE                                                            01100000                
* FORM THE INTERNAL OP CODE AND MODIFIER FROM THE EXTERNAL OP CODE      01110000                
* AND MODIFIERS                                                         01120000                
       SPACE                                                            01130000                
       SBF   PL$OPM(,XR1),ALLBIT       SET ALL OP MOD BITS OFF          01140000                
       MNN   PL$OPM(,XR1),PLOPC(,XR1)  MOVE LAST 4 BITS OF OP MOD       01150000                
       AIF   (&NSWL).S0100                                              01160000                
       TITLE '$E082/CMREQ---DISCONNECT-FOR-SWITCHED-LINES'              01170000                
*********************************************************************** 01180000                
*   DISCONNECT THE SWITCHED LINE IF REQUESTED TO THE CURRENT TUB      * 01190000                
*********************************************************************** 01200000                
       SPACE 1                                                          01210000                
       AIF   (&ONE).C0400                                               01220000                
       TBN   TUBCHR(,XR2),TUBLNE       BSCA LINE ?                   S2 01230000                
       JF    CMOMLT                    NO-GO HANDLE MLTA IF PRESENT. S2 01240000                
.C0400 ANOP                                                             01250000                
       TBN   PLOPM(,PL),OPDISC         DISCONNECT ?                  SB 01260000                
       JF    CMOMLT                    NO-GO HANDLE PUT-GET OP CODE. SB 01270000                
       L     TUBDTF(,XR2),DTF          POINT TO THE DTF.             SB 01280000                
       SBF   PL$OPM(,PL),OPPUT         SET OFF PUT OP IND.(INT.)     SB 01290000                
       SPACE 1                                                          01290200                
* DETERMINE IF A DISCONNECT SHOULD BE ISSUED                         SB 01290400                
       SPACE 1                                                          01290600                
*         IF                                                         SB 01290800                
*            THIS TERMINAL OWNS THE LINE OR TERMINATION IS THE       SB 01291000                
*            REQUESTOR OR NO OWNER - DISCONNECT THE LINE.            SB 01291200                
*            OTHERWISE - EITHER GO POST COMPLETE OR, IF IT           SB 01291400                
*            IS A PURGE/DISCONNECT, GO HANDLE THE STOP II.           SB 01291600                
*         IF    NOT ABOVE AND STOP II ALSO - GO HANDLE STOP II.      SB 01291800                
*         IF    NOT ABOVE - POST OP COMPLETE (PUT DISC.)             SB 01292000                
       SPACE 1                                                          01292200                
* TUB                                                                SB 01292400                
       CLC   LCBOWN(2,DTF),PLTUBA(,PL) THIS OWNING TERMINAL ?        SB 01292600                
       JE    CMDCSW                    YES - DISCONNECT THE LINE     SB 01292800                
       SPACE 1                                                          01293000                
* CP OR NO OWNER                                                     SB 01293200                
       CLC   LCBTCB(2,DTF),CC@CPT      CP OR NO OWNER ?              SB 01293400                
       JNH   CMDCSW                    YES - DISCONNECT THE LINE     SB 01293600                
       SPACE 1                                                          01293800                
* PURGE/DISCONNECT                                                   SB 01294000                
       CLI   PLOPC(,PL),OPPURG         PURGE OPERATION ?             SB 01294200                
       JE    CMDCSW                    YES - DISCONNECT THE LINE     SB 01294400                
       SPACE 1                                                          01294600                
       CLI   LCBOWN-1(,DTF),NOBIT      NO OWNER ?                       01294660                
       JE    CMDCSW                    YES - DISCONNECT THE LINE        01294720                
* TERMINATION THE OWNER ????                                         SB 01294800                
       L     PLTUBA(,PL),TUB           XR1--> TUB                    SB 01295000                
       LA    $CCCOM,XR2                XR2--> CCCOM                 @19 01295100                
       CLC   TUBTCB(2,TUB),@TMTCB(,XR2)  THIS TERMINATION  ? ------|@19 01295200                
       L     TUBDTF(,XR1),XR2          XR2--> DTF                   @19 01295300                
       L     CMSPL,PL                  XR1--> PARM LIST            | SB 01295400                
       JE    CMDCSW                    YES - DISCONNECT THE LINE <-| SB 01295600                
       SPACE 1                                                          01295800                
       TBN   PL$OPM(,PL),OPGET         GET OP ?                      SB 01296000                
       JT    CMOPST                    YES - GO HANDLE STOP INVITE   SB 01296200                
       B     CMPAII                    GO POST OP COMPLETE           SB 01296400                
       SPACE 1                                                          01296600                
CMDCSW EQU   *                         *                             SB 01296800                
       B     NCENTR                    CALL GENERAL ENTRY.           SB 01340000                
       DC    AL1(DSMXNT)               BRING IN CLOSE TO DISCONNECT. SB 01350000                
CMCLOZ DC    XL2'0000'                 C/S OF $$CLOZ. FILL BY STARTUPSB 01360000                
       DC    XL1'02'                   # OF SECTORS MINUS ONE.       SB 01370000                
       SPACE 1                                                          01380000                
       B     NCENTR                    CALL GENERAL ENTRY.           SB 01390000                
       DC    AL1(DSMXNT)               REOPEN THE BSCA DTF JUST CLOSESB 01400000                
CMOPEN DC    XL2'0000'                 C/S OF $$OPEN. FILL BY STARTUPSB 01410000                
       DC    XL1'02'                   # OF SECTORS MINUS ONE.       SB 01420000                
       SPACE 1                                                          01430000                
       SBF   LCBATR(,DTF),LCBNIT       SET OFF LINE CONNECTED IND.   SB 01440000                
       SBF   LCBAT3(,DTF),LCBENB       SET OFF LINE ENABLED IND.     SB 01450000                
       SLC   LCBOWN(2,DTF),LCBOWN(,DTF) ZERO OUT TUB OWNING INDICATORSB 01460000                
       SLC   CCOECT,LCBOPE(1,DTF)      REMOVE RESIDUAL OP ENDS.      SB 01470000                
       MVI   LCBOPE(,DTF),NOBIT        ZERO LCB OP END COUNT.        SB 01480000                
CMODIS EQU   *                         *                             SB 01490000                
       TBN   PL$OPM(,PL),OPGET         GET OPERATION REQUESTED ALSO. SB 01500000                
       BF    CMRSCH                    NO-GO RESCHEDULE THE LINE.    SB 01510000                
       L     PLTUBA(,PL),XR2           RELOAD THE TUB POINTER.       SB 01520000                
       J     CMOPST                    GO TO NEXT OPERATION CHECK.   SB 01530000                
       EJECT                                                            01540000                
CMOMLT EQU   *                         *                             SB 01550000                
.S0100 ANOP                                                             01560000                
       SPACE                                                            01570000                
* SET UP PL$OPM WITH THE 1ST OPERATION TO BE SCHEDULED                  01580000                
* FOR EXAMPLE - A PUT THEN GET RESULTS IN ONLY THE PUT BEING SCHEDULED  01590000                
* DURING ITS FIRST ANALYSIS                                             01600000                
       SPACE                                                            01610000                
       TBN   PLOPC(,XR1),OPPUT+OPGET   IS OP A PUT THEN GET             01620000                
       AIF   (&NOM).M0900                                               01630000                
       AIF   (&NSW).A5100                                               01640000                
       JT    CMPTG                     JUMP IF PUT THEN GET          SM 01670000                
       SPACE                                                            01680000                
* HAVE PUT OPERATION TO A TERMINAL                                   SM 01690000                
* DETERMINE IF IT IS PUT DISCONNNECT TO A LINE NOT CONNECTED         SM 01700000                
* IF YES - TREAT OP AS IF IT HAS WORKED                              SM 01710000                
       SPACE                                                            01720000                
       L     TUBDTF(,XR2),XR2          POINT XR2 AT THE DTF          SM 01730000                
       AIF   (&NOB).C0415                                               01740000                
       TBF   $BDDEV(,DTF),BSCA         MLTA DTF ?                    S2 01750000                
.C0415 ANOP                                                             01760000                
       TBN   PLOPM(,XR1),OPDISC        IS IT PUT DISCONNECT          SM 01770000                
       TBF   $MDAT2(,XR2),$MABSY       CHECK LINE NOT BUSY           SM 01780000                
       TBF   LCBATR(,XR2),LCBNIT       TEST LINE NOT CONNECTED       SM 01790000                
       L     PLTUBA(,XR1),XR2          POINT XR2 BACK AT TUB         SM 01820000                
       JF    CMOPST                    JUMP IF NEED TO ISSUE OP      SM 01830000                
       SPACE                                                            01840000                
* HAVE PUT DISCONNECT TO LINE WHICH IS NOT CONNECTED                 SM 01850000                
       SPACE                                                            01860000                
       B     CMPAII                    JUMP TO POST COMPLETE         SM 01870000                
       SPACE                                                            01880000                
       AGO   .A5150                                                     01900000                
.A5100 ANOP                                                             01910000                
.M0900 ANOP                                                             01920000                
       JF    CMOPST                    JUMP IF NOT PUT THEN GET         01930000                
.A5150 ANOP                                                             01940000                
       SPACE                                                            01950000                
* OP IS PUT THEN GET SO SET CURRENT OPERATION TO PUT ONLY               01960000                
       SPACE                                                            01970000                
CMPTG  EQU   *                         HAVE PUT THEN GET OP CODE        01980000                
       SBF   PL$OPM(,XR1),OPGET        SET OFF GET BIT                  01990000                
       SPACE                                                            02000000                
       TITLE '$E082/CMOPST---CHECK-FOR-PUT-TO-TERMINAL-IN-ERP'          02210000                
*********************************************************************** 02220000                
*      CHECK FOR PUT TO TERMINAL IN CCP ERP                             02230000                
*********************************************************************** 02240000                
       SPACE                                                            02250000                
* ANY PUT ISSUED TO A TERMINAL IN CCP ERP WILL BE IGNORED               02260000                
* THIS IS DONE BY CALLING A TRANSIENT TO HANDLE THE PUT                 02270000                
* HOWEVER IF THE PUT ALSO INVOLVED A READ - THEN THE READ WILL STILL    02280000                
* BE SCHEDULED                                                          02290000                
       SPACE                                                            02300000                
CMOPST EQU   *                                                          02310000                
       TBN   TUBAT3(,XR2),TUBERP       IS TUB IN CCP ERP                02320000                
       TBN   PLOPC(,XR1),OPPUT         DOES OP INVOLVE PUT              02330000                
       TBF   PLOPM(,XR1),OPSTOP        TEST FOR NOT PURGE OPERATION     02340000                
       AIF   (&NOM).M1010                                               02350000                
       JF    CMOLT                     JUMP IF PUT WILL NOT IGNORED.  M 02360000                
       AGO   .M1011                                                     02370000                
.M1010 JF    CMSTPP                    JUMP IF PUT WILL NOT BE IGNORED  02380000                
.M1011 ANOP                                                             02390000                
       SPACE                                                            02400000                
* HAVE PUT OPERATION WHICH IS TO BE IGNORED BECAUSE THE TERMINAL IS     02410000                
* IN CCP ERROR RECOVERY                                                 02420000                
       SPACE                                                            02430000                
       B     $CC4PI                    BRANCH TO CALL IN TRANSIENT      02440000                
       DC    AL1(CC4MP)                TRANSIENT ID                     02450000                
       SPACE                                                            02460000                
* IF THE OPERATION INVOLVED A PUT ONLY - THE TRANSIENT WILL RETURN      02470000                
* HERE  -- THEREFORE BRANCH TO DETERMINE WHETHER A POST IS NEEDED SINCE 02480000                
* THERE IS NO OPERATION TO BE QUEUED                                    02490000                
       SPACE                                                            02500000                
       B     CMPAII                    BRANCH TO PERFORM POST CHECK     02510000                
       SPACE                                                            02520000                
* IF THE OPERATION INVOLVED A READ - RETURN FROM THE TRANSIENT IS HERE  02530000                
* AND THEREFORE CONTINUE TO DROP THROUGH THE CODE TO SCHEDULE THE READ  02540000                
       AIF   (&NOM).M1025                                               02550000                
       TITLE '$E082/CMOLT---CHECK-FOR-MLTA-ONLINE TRST'                 02560000                
*********************************************************************** 02570000                
*      CHECK FOR ONLINE TEST REQUEST TO MLTA TERMINAL                 * 02580000                
*********************************************************************** 02590000                
       SPACE                                                            02600000                
CMOLT  EQU   *                                                        M 02610000                
       SPACE                                                            02620000                
* IS IT ONLINE TEST REQUEST                                           M 02630000                
       SPACE                                                            02640000                
       AIF   (&NOB).C0419                                               02650000                
       TBF   TUBCHR(,XR2),TUBLNE       MLTA DTF ?                     2 02660000                
.C0419 ANOP                                                             02670000                
       TBN   PLOPM(,XR1),OPOLT         IS IT OLT REQUEST              M 02680000                
       JF    CMSTPP                    JUMP IF NOT OLT                M 02690000                
       SPACE                                                            02700000                
* THIS TRANSIENT WILL PLUG THE TUB AND LCB                            M 02710000                
       SPACE                                                            02720000                
       B     $CC4PI                    BRANCH TO BRING IN TRANSIENT   M 02730000                
       DC    AL1(CC4T1)                HANDLE ONLINE TEST PARM LIST   M 02740000                
       SPACE                                                            02750000                
* GET DTF ADDRESS AND PLACE IN SAVE AREA                              M 02760000                
* ALSO SAVE THE PARAMETER LIST IN ITS SAVE AREA                       M 02770000                
       SPACE                                                            02780000                
       MVC   CMSLCB(2),TUBDTF(,XR2)    MOVE DTF ADDR TO SAVE AREA     M 02790000                
       ST    CMSPL,XR1                 SAVE THE PARM LIST @           M 02800000                
       B     CMTSBY                    GO TO TEST LINE BUSY           M 02810000                
.M1025 ANOP                                                             02820000                
       TITLE '$E082/CMSTPP---CHECK-FOR-STOP-TP'                         02830000                
*********************************************************************** 02840000                
*   STOP INVITE INPUT, OR SYSTEM PURGE I/O.                           * 02850000                
*********************************************************************** 02860000                
       SPACE                                                            02870000                
CMSTPP EQU   *                         TEST FOR STOP POLLING REQUEST    02880000                
       TBN   PLOPM(,XR1),OPSTOP        IS STOP BIT ON                   02890000                
       AIF   (&NDF).B0050                                               02900000                
       JF    CMDFF                     NO-GO CHECK FOR DFF GET OP.   FB 02910000                
       AGO   .B0200                                                     02920000                
.B0050 ANOP                                                             02930000                
       JF    CMTMTB                    JUMP IF NOT STOP  REQUEST        02940000                
.B0200 ANOP                                                             02950000                
       SPACE                                                            02960000                
* HAVE STOP POLLING REQUEST WHICH IS TO BE HONORED NOW                  02970000                
       SPACE                                                            02980000                
       AIF   (&ONE).D0310                                               02990000                
       TBN   TUBCHR(,XR2),TUBLNE       BSCA LINE ?                    2 03000000                
       JF    CMSTML                    NO-GO HANDLE THE MLTS.         2 03010000                
.D0310 ANOP                                                             03020000                
       AIF   (&NOB).D0311                                               03030000                
       LA    0(,PL),XR2                LOAD PL @ INTO XR2 FOR XIENT.  B 03040000                
&MIX   SETA  &NCS+&NSWL                                                 03050000                
       AIF   (&MIX EQ '2').S0125                                        03060000                
       USING CMBSKP,XR1                                                 03070000                
       LA    CMBSKP,XR1                LOAD @ OF SKIP BIT RTN.     C/SB 03080000                
       MVI   CMB#SB(,XR1),SBN2         SET OP TO SET POLL BIT ON.  C/SB 03090000                
.S0125 B     $CC4PI                    CALL PROGRAM INITIATE RTN.     B 03100000                
       DC    AL1(CC4BP)                ID FOR BSCA PURGE/STOP INVITE. B 03110000                
       SPACE                                                            03120000                
       B     CMRQBF                    GO SET TP REQ'T BITS OFF.      B 03130000                
       SPACE                                                            03140000                
CMBSTP EQU   *                         ABORT OF BSCA LINE NEEDED.       03150000                
       TBN   LCBOPC(,DTF),OPPUT        ABORT OF A PUT ?               B 03160000                
       BT    CMWSET                    YES-GO SET WRITE EOT.          B 03170000                
       L     $BDWKA(,DTF),WKA          POINT TO BSCA WORK AREA.       B 03180000                
       MVI   WKDEL+4(,WKA),CPURGE      SET CCP PURGE RETURN CODE.     B 03190000                
CMBFWD EQU   *                         *                              B 03200000                
       SBN   BSFLGD(,WKA),FWDABT       SET FORWARD ABORT REQUEST.     B 03210000                
       L     WKIOBD(,WKA),IOB          POINT TO IOB OUT OF WORK AREA. B 03220000                
       SBF   IOBFLA(,IOB),TDLAY        SET OFF TIME DELAY SEQUENCE.   B 03230000                
       L     LCBPL@(,DTF),PL           POINT XR1 TO PARM LIST       @20 03235000                
       B     CMFORM                    GO TO FORM OP FOR MLMP.        B 03240000                
       SPACE                                                            03250000                
       AIF   (&ONE).D0311                                               03260000                
CMSTML EQU   *                         *                              2 03270000                
.D0311 ANOP                                                             03280000                
       AIF   (&NOM).M1050                                             M 03290000                
       B     $CC4PI                    BRANCH TO BRING IN TRANSIENT   M 03300000                
       DC    AL1(CC4PG)                MLTA PURGE I/O TRANSIENT       M 03310000                
       SPACE                                                            03320000                
       B     CMRQBF                    BR TO SET TP REQUEST BITS OFF  M 03330000                
.M1050 ANOP                                                             03340000                
       AIF   (&NDF).T0500                                               03350000                
       TITLE '$E082/CMDFF---CONVERT-DFF-GET-TO-INVITE'                  03360000                
*********************************************************************** 03370000                
*      CONVERT A DFF GET OP CODE TO AN INVITE INPUT OP CODE.          * 03380000                
*********************************************************************** 03390000                
       SPACE                                                            03400000                
*   IF DFF GET OPERATION, CHANGE TO LOOK LIKE AN INVITE SO CM WILL   FB 03410000                
*     USE THE HOLD BUFFER FOR THE INPUT.                             FB 03420000                
       SPACE                                                            03430000                
CMDFF  EQU   *                         *                             FB 03440000                
       TBF   PLOPM(,PL),OPREQR         USER REQUEST, AND             FB 03450000                
       TBN   PL$OPM(,PL),OPGET         * GET OPERATION, AND          FB 03460000                
       TBN   TUBTA1(,XR2),TASDFF       * DFF SUPPORTED ?             FB 03470000                
       JF    CMTMTB                    NO-GO CHECK MOVE PL TO TUB.   FB 03480000                
       SBN   PL$OPM(,PL),OPNOW         MAKE LOOK LIKE INVITE.        FB 03490000                
.T0500 ANOP                                                             03500000                
       TITLE '$E082/CMTMTB---MOVE-PARM-LIST-TO-TUB'                     03510000                
*********************************************************************** 03520000                
* DETERMINE WHETHER TO MOVE PARM LIST TO THE TUB OR NOT                 03530000                
*********************************************************************** 03540000                
       SPACE                                                            03550000                
* IF OPERATION INVOLVES AN INVITE INPUT - MOVE THE PARAMETER LIST TO    03560000                
* THE TUB                                                               03570000                
       SPACE                                                            03580000                
CMTMTB EQU   *                         TEST WHETHR TO MOVE PARM LIST TO 03590000                
*                                      THE TUB                          03600000                
       TBN   PLOPC(,XR1),OPIVIN        TEST FOR INVITE INPUT            03610000                
       AIF   (&NOB).C0417                                               03612000                
       TBF   PLOPC(,XR1),OPJRSH        AND NOT RESCHED. ONLY            03614000                
.C0417 ANOP                                                             03616000                
       JF    CMPNWC                    JUMP IF NOT INVITE               03620000                
       SPACE                                                            03630000                
* HAVE OPERATION THAT INVOLVES INVITE INPUT - SO MOVE THE PARAMETER     03640000                
* LIST TO THE TUB                                                       03650000                
       SPACE                                                            03660000                
CMMTUB EQU   *                         MOVE PARM LIST TO TUB            03670000                
       SPACE                                                            03680000                
* XR1 NOW POINTS TO THE PARM LIST                                       03690000                
* XR2 POINTS AT THE TUB                                                 03700000                
       SPACE                                                            03710000                
       MVC   TUBTP+PLLEN-1(PLLEN,XR2),PLLEN-1(,XR1) MOVE PLIST TO TUB   03720000                
       SPACE                                                            03730000                
* NOW POINT XR1 AT TUB PARM LIST                                        03740000                
       SPACE                                                            03750000                
       LA    TUBTP(,XR2),XR1           POINT XR1 AT TUB PARM LIST       03760000                
       ST    CMSPL,XR1                 RESET POINTER TO REQUESTED PLIST 03770000                
       TITLE '$E082/CMPNWC---PUT-NO-WAIT-GETMAIN-ANALYSIS'              03780000                
*********************************************************************** 03790000                
* CHECK FOR PUT NO WAIT AND DO GETMAIN IF IT IS PUT NO WAIT           * 03800000                
*********************************************************************** 03810000                
       SPACE                                                            03820000                
* IF THIS OPERATION IS TO A TUB IN CCP ERP - THEN CANNOT HAVE A PUT     03850000                
* THAT WILL BE SCHEDULED                                                03860000                
       SPACE                                                            03870000                
CMPNWC EQU   *                         PUT NO WAIT CHECK                03875000                
       TBN   TUBAT3(,XR2),TUBERP       IS TUB IN CCP ERP                03880000                
       L     TUBDTF(,XR2),XR2          POINT XR2 AT THE DTF             03900000                
       JT    CMPNWX                    JUMP IF IN CCP ERP.              03920000                
       AIF   (&ONE).C0420                                               03940000                
       TBN   $BDDEV(,DTF),BSCA         BSCA DTF ?                     2 03950000                
.C0420 ANOP                                                             03960000                
       AIF   (&NOB).C0430                                               03970000                
       TBN   PLOPC(,PL),OPPUT          AND OP A PUT ?                 B 03980000                
       JF    CMGNOW                    NO-GO CHECK  NO WAIT OP.       B 03990000                
       SBN   LCBAT2(,DTF),LCBPUT       SET IND. PUT OPERATION Q'D.    B 04000000                
CMGNOW EQU   *                         *                              B 04010000                
.C0430 ANOP                                                             04020000                
       SPACE                                                            04030000                
       TBN   PL$OPM(,XR1),OPPNW        IS IT PUT NO WAIT                04040000                
       JF    CMPNWX                    IF NOT JUMP TO END OF PNW CHECK. 04050000                
       AIF   (&ONE).C0440                                               04060000                
       TBN   $BDDEV(,DTF),BSCA         BSCA DTF ?                     2 04070000                
       JF    CMGMND                    NO-GO SETUP FOR GETMAIN TRY.   2 04080000                
.C0440 ANOP                                                             04090000                
       AIF   (&NSWL).S0400                                              04100000                
       AIF   (&MIX EQ '3').S0300                                        04110000                
       TBN   $BDATR(,DTF),$BCSWI       SWITCHED, AND NOT            SLB 04120000                
       TBF   $BDATR(,DTF),$BCMPT       * MULTI-POINT ?              SLB 04130000                
       JT    CMGMNO                    YES-ALL PUTS ARE PUT WAITS.  SLB 04140000                
       AGO   .S0400                                                     04150000                
.S0300 J     CMGMNO                    ALL SWITCHED PUTS ARE WAITS.  SB 04160000                
       AGO   .S0500                                                     04170000                
.S0400 ANOP                                                             04180000                
       AIF   (&NOB).C0450                                               04190000                
       TBF   PLOPM(,PL),OPREQR         USER REQUEST, AND              B 04200000                
       CLI   PLOPC(,PL),OPMSG          LESS THAN MESSAGE LEVEL PUT ?  B 04210000                
       JC    CMGMNO,TRUALO             YES-GO TREAT AS PUT-WAIT.      B 04220000                
.S0500 ANOP                                                             04230000                
.C0450 ANOP                                                             04240000                
       SPACE                                                            04250000                
* HAVE PUT NO WAIT FOR WHICH GETMAIN IS NEEDED                          04260000                
       SPACE                                                            04270000                
CMGMND EQU   *                         GETMAIN NEEDED                   04280000                
       AIF   (&NOM).M1075                                               04290000                
       SPACE                                                            04300000                
* IF SYSTEM OPERATOR INITIATED ONLINE TEST IS PENDING OR RUNNING ON   M 04310000                
* THE LINE - CONVERT ANY USER PUT NO WAITS INTO USER PUT WITH WAIT    M 04320000                
       SPACE                                                            04330000                
       AIF   (&NOB).C0452                                               04340000                
       TBN   $BDDEV(,DTF),BSCA         BSCA DTF ?                     2 04350000                
       JT    CMGSTR                    YES-GO FIND STORAGE NEED.      2 04360000                
.C0452 ANOP                                                             04370000                
       TBF   PLOPM(,XR1),OPREQR        IS IT USER REQUEST             M 04380000                
       CLI   LCBOLT(,XR2),NOBIT        CHECK FOR NO ONLINE TEST       M 04390000                
       JC    CMGMNO,NONE+FALSE+EQ      JUMP IF USER PNW WITH OLT Q'D  M 04400000                
       SPACE                                                            04410000                
.M1075 ANOP                                                             04420000                
       SPACE                                                            04430000                
* NEED TO BRANCH TO CMSTOR WHICH REQUIRES THAT XR1 POINT AT PARM LIST   04440000                
*  AND THE ADDR OF THE LCB IN XR2                                       04450000                
* RESULT IS STORED IN #BUFND                                            04460000                
       SPACE                                                            04470000                
       AIF   (&ONE).C0454                                               04480000                
CMGSTR EQU   *                         *                              2 04490000                
.C0454 ANOP                                                             04500000                
       B     CMSTOR                    BR TO DETERMINE STORAGE NEEDED   04510000                
       SPACE                                                            04520000                
       MVC   GMLIST+GMSIZE(2),#BUFND   MOVE SIZE NEEDED TO GETMAIN LIST 04530000                
       B     CMGMRT                    BR TO GETMAIN INTERFACE ROUTINE  04540000                
       SPACE                                                            04550000                
* DETERMINE IF GETMAIN WAS SUCCESSFUL                                   04560000                
       SPACE                                                            04570000                
       JOL   CMGMNO                    JUMP IF GETMAIN FAILED           04580000                
       SPACE                                                            04590000                
* GETMAIN WORKED.  SET UP THE GETMAIN AREA.                             04600000                
       SPACE                                                            04610000                
       B     CMSET                     BR TO SETUP GETMAIN AREA         04640000                
       J     CMPNWX                    JUMP TO END OF PNW CHECK.        04650000                
       SPACE                                                            04660000                
* GETMAIN FAILED                                                        04670000                
* SINCE PUT OPERATION - TURN IT INTO PUT WITH WAIT BY SETTING NO WAIT   04680000                
* BIT OFF IN PL$OPM                                                     04690000                
       SPACE                                                            04700000                
CMGMNO EQU   *                         GETMAIN FAILED                   04710000                
       SBF   PL$OPM(,XR1),OPNOW        MAKE OPERATION A WAIT            04720000                
CMPNWX EQU   *                                                          04730000                
       AIF   (&NOB).B0300                                               04740000                
       TITLE '$E082/CMBSOP---CHECK-FOR-INVALID-BSCA-REUESTS'            04750000                
*********************************************************************** 04760000                
*   REJECT INVALID BSCA OPERATION REQUEST SEQUENCES.                  * 04770000                
*********************************************************************** 04780000                
       SPACE 1                                                          04790000                
CMBSOP EQU   *                         *                              B 04800000                
*   XR1 CONTAINS ADDRESS OF PARM LIST TO BE SCHEDULED.                B 04805000                
       AIF   (&ONE).CC420                                               04810000                
       TBN   $BDDEV(,DTF),BSCA         BSCA LINE ?                    2 04820000                
       BF    CMBSOX                    NO-GO TO END OF BSCA OP CHECK. 2 04830000                
       B     CMTASV                    GO TO SAVE TAS BYTES.          B 04835000                
.CC420 ANOP                                                             04840000                
       MNN   CMTOPT+1,LCBOPC(,DTF)     USE LAST OP ON LINE FOR CHECK. B 04850000                
       SBF   CMTOPT+1,OPNOW            SET OFF NO WAIT BIT.           B 04860000                
       MVC   CMTOP2+1(1),CMTOPT+1      SET UP TEST FOR BUSY CHECK.    B 04870000                
       AIF   (&NSWL).S0200                                              04880000                
&MIX   SETA  &NMP+&NPP+&NCS                                             04890000                
       AIF   (&MIX EQ '3').S0150                                        04900000                
       TBN   $BDATR(,DTF),$BCSWI       SWITCHED, AND                SLB 04910000                
       TBF   $BDATR(,DTF),$BCMPT       * NOT MULTI-POINT ?          SLB 04920000                
       JF    CMBACT                    NO-GO CHECK FOR LINE ACTIVE. SLB 04930000                
.S0150 ANOP                                                             04940000                
       TBN   PLOPM(,PL),OPREQR         SYSTEM                        SB 04950000                
       TBN   PLOPC(,PL),OPPUT          *      PUT TO                 SB 04960000                
       CLC   PLTUBA(2,PL),LCBOWN(,DTF) * NON-CONNECTED LINE ?        SB 04970000                
       JC    CMBSII,FLSOEQ             NO-GO CHECK FOR SYSTEM II.    SB 04980000                
       SBF   PL$OPM(,PL),OPPUT         SET OFF PUT OPERATION.        SB 04990000                
*                                 ---------------------------START--@07 04992000                
       SBF   LCBAT2(,DTF),LCBPUT       SET IND. PUT OPERATION OFF.    B 04994000                
*                                 ---------------------------END----@07 04996000                
*                                 ------------------------START-S308864 04997000                
       SBN   PL$OPM(,PL),OPNOW         SET NO WAIT, FORCE POST FOR MSGS 04998000                
*                                 --------------------------END-S308864 04999000                
       TBN   PLOPC(,PL),OPGET          GET OPERATION ALSO REQUESTED. SB 05000000                
       BF    CMPAII                    NO-GO POST COMPLETION.        SB 05010000                
       SBN   PL$OPM(,PL),OPINV         SET ON INVITE OP CODE BITS.   SB 05020000                
CMBSII EQU   *                         *                             SB 05030000                
       TBN   PLOPM(,PL),OPREQR         SYSTEM                        SB 05040000                
       TBN   PL$OPM(,PL),OPINV         *      INVITE INPUT OP ?      SB 05050000                
       JF    CMBENB                    NO-GO CHECK ENABLED STATUS.   SB 05060000                
*                                 ---------------------------START--@07 05061000                
       TBN   PLOPC(,PL),OPJRSH         OPERATION TO RESCHEDULE ONLY? SB 05062000                
       JF    CMBNJR                    NO - CONTINUE OP CHECKING     SB 05063000                
       TBF   LCBAT3(,DTF),LCBENB       LINE ENABLED ?                SB 05064000                
       BT    CMRSCH                    NO - GO TO RESCHEDULE         SB 05065000                
       B     CMPAII                    GO POST REQUEST RESULTS       SB 05066000                
CMBNJR EQU   *                         * LOCAL                          05067000                
*                                 ---------------------------END----@07 05068000                
       L     PLTUBA(,PL),XR2           POINT TO THE TUB.             SB 05070000                
       TBN   TUBCHR(,XR2),TUBCMN       COMMAND CAPABLE TERMINAL ?    SB 05080000                
       JT    CMBRLD                    YES-GO CHECK ENABLED STATUS.  SB 05090000                
       SBF   TUBAT2(,XR2),TUBIIS       SET OFF INVITE SCHEDULED.     SB 05100000                
       L     TUBDTF(,XR2),DTF          POINT TO THE DTF.             SB 05110000                
       TBN   LCBAT3(,DTF),LCBENB       LINE ENABLED ?                SB 05120000                
       BT    CMPAII                    YES-GO POST REQUEST RESULTS.  SB 05130000                
       B     CMRSCH                    GO TO RESCHEDULE THE LINE.    SB 05140000                
       SPACE 1                                                          05150000                
CMBRLD EQU   *                         *                             SB 05160000                
       L     TUBDTF(,XR2),DTF          POINT TO THE DTF.             SB 05170000                
CMBENB EQU   *                         *                             SB 05180000                
       TBN   LCBAT3(,DTF),LCBENB       LINE ENABLED ?                SB 05190000                
       JF    CMBSOX                    NO-GO TO END OF BSCA OP CHECK.SB 05200000                
       CLC   PLTUBA(2,PL),LCBOWN(,DTF) THIS TUB CONNECTED ON LINE ?  SB 05210000                
       JNE   CMBCNT                    NO-GO CHECK CONNECTION TYPE.  SB 05220000                
       TBN   LCBAT2(,DTF),LCBACT       LINE ACTIVE WITH DATA ?       SB 05230000                
       JF    CMBSOX                    YES-GO TO END OF BSCA OP CHK. SB 05240000                
       TBN   PLOPC(,PL),OPPUT          PUT TO HANDLE AND,            SB 05241000                
       TBN   LCBAT2(,DTF),LCBRCI       * INITIAL RECEIVE ON LINE ?   SB 05242000                
       JT    CMBSOX                    YES - ACCEPT THE REQUEST. THE SB 05243000                
*                                      * ONLY WAY A PUT COULD GET    SB 05244000                
*                                      * THRU TO CM WOULD BE A SYS   SB 05245000                
*                                      * OLT TO CPU. CANCEL RECV.    SB 05246000                
       J     CMTOPT                    NO - GO CHECK OP CODE MATCH.  SB 05250000                
       SPACE 1                                                          05260000                
CMBCNT EQU   *                         *                             SB 05270000                
       TBN   PLOPM(,PL),OPREQR         SYSTEM REQUEST ?              SB 05280000                
       JT    CMBSOX                    YES-GO TO END OF BSCA OP CHK. SB 05290000                
       L     PLTUBA(,PL),TUB           POINT TO THE NEW REQUEST TUB. SB 05300000                
       L     LCBOWN(,DTF),XR2          POINT TO ACTIVE TUB.          SB 05310000                
       TBF   TUBTA1(,TUB),TASCNC       BOTH                          SB 05320000                
       TBF   TUBTA1(,XR2),TASCNC       *    ANSWER ?                 SB 05330000                
       TBF   TUBTA2(,TUB),TASVFY       BOTH                          SB 05340000                
       TBF   TUBTA2(,XR2),TASVFY       *    VERIFY ID'S ?            SB 05350000                
       L     TUBDTF(,TUB),DTF          POINT TO THE DTF.             SB 05360000                
       L     CMSPL,PL                  POINT TO THE PARM LIST.       SB 05370000                
       JF    CMTREJ                    NO-GO REJECT LAST OP REQUEST. SB 05380000                
       J     CMBSOX                    GO TO END OF BSCA OP CHECK.   SB 05390000                
       SPACE                                                            05400000                
CMBACT EQU   *                         *                             SB 05402000                
.S0200 ANOP                                                             05404000                
&MIX   SETA  &NMP+&NPP+&NCS                                             05406000                
       AIF   (&MIX EQ '3').S0250                                        05410000                
       TBN   LCBAT2(,DTF),LCBACT       LINE ACTIVE WITH DATA ?   C/P/TB 05440000                
       JF    CMBSOX                    NO-GO TO END OF OP CHECK. C/P/TB 05450000                
       TBN   LCBAT2(,DTF),LCBRCI       RECEIVE INITIAL ?         C/P/TB 05460000                
       JT    CMBSOX                    YES-THEN  LINE NOT ACTIVE.C/P/TB 05470000                
CMTONR L     PLTUBA(,PL),TUB           LOAD TUB @ INTO REG.      C/P/TB 05490000                
       CLC   TUBTCB(2,TUB),LCBOWN(,DTF) THIS TASK OWN THE LINE ? C/P/TB 05500000                
       JNE   CMBSOX                    NO-OP OK, SKIP OTHER CHKS.C/P/TB 05510000                
       L     CMSPL,PL                  RELOAD PARM LIST REG.     C/P/TB 05520000                
       SPACE 1                                                          05530000                
*   ACCEPT THE OPERATION IF AN INVITE OR PUT-NO-WAIT MESSAGE.    C/P/TB 05540000                
       SPACE 1                                                          05550000                
       CLI   PLOPC(,PL),OPIVIN         INVITE INPUT ?            C/P/TB 05560000                
       TBF   PLOPM(,PL),OPREQR         * OR SYSTEM REQUEST ?     C/P/TB 05570000                
       JC    CMBSOX,FLSOEQ             YES-OP OK, SKIP OTHER CHK.C/P/TB 05580000                
*                                      -----START-------------------@06 05585000                
       TBN   PLOPC(,PL),OPMSG+OPPNOW   PUT-NO WAIT/MESSAGE, AND  C/P/TB 05590000                
       TBN   PL$OPM(,PL),OPPNOW        * STILL A PUT-NO WAIT ?   C/P/TB 05600000                
       JT    CMBSOX                    YES-ACCEPT THE OPERATION. C/P/TB 05610000                
*                                      -----END---------------------@06 05615000                
       SPACE 1                                                          05620000                
*   ACCEPT THE OPERATION IF THE CURRENT LINE OP IS INVITE-MSG,   C/P/TB 05630000                
*     OR A PUT-NO-WAIT MESSAGE.                                  C/P/TB 05640000                
       SPACE 1                                                          05650000                
       TBN   LCBOPC(,DTF),OPINV        INVITE OP ON LINE, AND    C/P/TB 05660000                
       TBN   SAVTA2,TASMSG             * IS IT MESSAGE MODE ?    C/P/TB 05670000                
       JT    CMBSOX                    YES-ACCEPT THIS OP REQ'T. C/P/TB 05680000                
       TBF   LCBAT1(,DTF),LCBNTQ       PARM LIST QUEUED, AND     C/P/TB 05690000                
       L     LCBPL@(,DTF),XR2          XR2--> CURRENT PARM LIST. C/P/TB 05700000                
       TBN   PLOPC(,XR2),OPPNOW+OPMSG  * A PUT-NO-WAIT-MESSAGE ? C/P/TB 05710000                
       JT    CMBSOX                    YES-ACCEPT THIS OP REQ'T. C/P/TB 05720000                
       L     PLTUBA(,PL),XR2           POINT TO THE TUB.         C/P/TB 05730000                
       TBN   TUBAT2(,XR2),TUBOWN       THIS TUB OWN THE LINE-AND C/P/TB 05740000                
       L     TUBDTF(,XR2),DTF          POINT TO THE DTF.         C/P/TB 05750000                
.S0250 ANOP                                                             05760000                
CMTOPT TBN   PL$OPM(,PL),#             SAME TYPE OP AS LAST TIME ?    B 05780000                
       JT    CMBSOX                    YES-GO CONTINUE,PARM LIST OK.  B 05790000                
       SPACE 1                                                          05800000                
*   SET  REJECTED OPERATION COMPLETION RETURN CODE, ALSO GO TO DEQ IT.  05810000                
       SPACE 1                                                          05820000                
CMTREJ B     $CC4PI                    CALL IN TRANSIENT              B 05840000                
       DC    AL1(CC4BR)                * BSCA REJECT CLEAN-UP.        B 05850000                
BLANKC DC    XL1'40'                   CONSTANT OF A BLANK,           B 05860000                
*                                      AND, INLINE PARM VALUE FOR     B 05870000                
*                                      REJECT PARM LIST NOT Q'D.      B 05880000                
       SBF   CMPMSK,WPAAII             SET TP REQ POST BIT OFF.       B 05900000                
       SBF   CMSWIT,CMTPRQ             TURN OFF TP REQUEST SWITCH.    B 05910000                
       B     CMMARK                    GO SETUP RETURN TO USER.       B 05920000                
       SPACE                                                            05930000                
CMBSOX EQU   *                         *                              B 05940000                
.B0300 ANOP                                                             05950000                
       TITLE '$E082/CMQUE---ADD-TP-REQUEST-TO-LINE-QUEUE'               05960000                
*********************************************************************** 05970000                
*            QUEUE THE TP REQUEST                                     * 05980000                
*********************************************************************** 05990000                
       SPACE                                                            06000000                
*  ADD THIS REQUEST TO THE LINE QUEUE                                   06010000                
* MUST CHECK TO SEE IF THIS PARAMETER LIST IS TO BE ADDED TO THE        06020000                
* END OF THE LINE QUEUE OR IS TO BE PUT AT THE TOP OF THE QUEUE         06030000                
* IE IF RETRY OF PARM LIST IN ERP - IT WILL GO TO TOP OF QUEUE TO       06040000                
* MAINTAIN THE ORIGINAL ORDER OF THE LINE QUEUE                         06050000                
* XR2 WILL BE USED TO POINT TO THE VARIOUS PARAMETER LISTS IN THE QUEUE 06060000                
* POINT XR2 AT LOCATION OF 1ST PARM LIST POINTER                        06070000                
       SPACE                                                            06080000                
CMQUE  EQU   *                         QUEUE THIS TP REQUEST            06090000                
       SPACE                                                            06100000                
       AIF   (&NOB).C0456                                               06110000                
       L     CMSPL,XR1                 POINT TO THE TP PARM LIST.     B 06120000                
.C0456 ANOP                                                             06130000                
       L     CMSDTF,XR2                POINT XR2 AT DTF                 06140000                
       SPACE                                                            06150000                
       TBN   LCBATR(,XR2),LCB1PL       IS THIS TO BE 1ST PARM LIST IN Q 06160000                
       SBF   LCBATR(,XR2),LCB1PL       SET OFF LCB1PL BIT               06170000                
       SPACE                                                            06180000                
       LA    LCBPLQ-1(,XR2),XR2        POINT XR2 AT PARM LIST ADDR      06190000                
       SPACE                                                            06200000                
       JF    CMTQND                    JUMP IF ADD TO END OF LINE QUEUE 06210000                
       SPACE                                                            06220000                
* PUT THIS PARM LIST AT THE TOP OF THE QUEUE                            06230000                
       SPACE                                                            06240000                
       MVC   PLCHN(2,XR1),PLCHN(,XR2)  CHAIN CURRENT Q OFF THIS PARM LS 06250000                
       J     CMADDQ                    JUMP TO ADD THIS GUY TO TOP OF Q 06260000                
       SPACE                                                            06270000                
* DETERMINE IF POINTER IS NULL                                          06280000                
* IF NULL STORE ADDR OF THIS PARM LIST IN THAT LOCATION                 06290000                
       SPACE                                                            06300000                
CMTQND EQU   *                         TEST FOR END OF QUEUE            06310000                
       CLI   PLCHN-1(,XR2),NOBIT       IS PARM LIST POINTER NULL        06320000                
       JE    CMADDQ                    JUMP IF NULL TO ADD TO QUEUE     06330000                
       SPACE                                                            06340000                
*POINTER NOT NULL - SO TRY NEXT PARM LIST POINTER                       06350000                
       SPACE                                                            06360000                
*THIS PARM LIST PTS TO ANOTHER PARM LIST IN LINE QUEUE                  06370000                
* GO DOWN LIST LOOKING FOR END OF QUEUE                                 06380000                
*(HIGH ORDER BYTE OF ADDRESS - X'00')                                   06390000                
       SPACE                                                            06400000                
       L     PLCHN(,XR2),XR2           POINT XR2 AT NEXT PARM LIST      06410000                
*                                      IN THE LINE QUEUE                06420000                
       B     CMTQND                    BR TO TEST FOR QUEUE END         06430000                
       SPACE                                                            06440000                
*  FOUND END OF QUEUE SO ADD THIS PARAMETER LIST TO CHAIN HERE          06450000                
       SPACE                                                            06460000                
CMADDQ EQU   *                         ADD PARM LIST TO QUEUE           06470000                
       ST    PLCHN(,XR2),XR1           ADD PARM LIST TO QUEUE           06480000                
       AIF   (&NOB).S0700                                               06490000                
       EJECT                                                            06500000                
*   SET-UP INTERNAL OP CODE FOR CURRENT OPERATION ON BEHAVE OF THE USER 06510000                
       SPACE 1                                                          06520000                
       L     PLTUBA(,PL),XR2           POINT TO THE TUB.              B 06530000                
       AIF   (&NOM).C0458                                               06540000                
       TBN   TUBCHR(,XR2),TUBLNE       BSCA LINE ?                    2 06550000                
       JF    CMTSBY                    NO-GO CHECK BUSY STATUS.       2 06560000                
.C0458 ANOP                                                             06570000                
       AIF   (&BPRT).BP100             PRINTER BUSY CODE             *L 06570500                
       AGO   .BP200                                                  *L 06571000                
.BP100 ANOP                                                          *L 06571500                
       CLI   TUBPHY(,XR2),TUB5M2       3270 DEVICE?                  *L 06572000                
       JH    CMINOP                    NO-JUMP.                      *L 06572500                
       TBF   PLOPM(,PL),OPREQR         USER OP?                      *L 06573000                
       TBF   PLOPC(,PL),OPORDR-OPRUF   AND MESSAGE?                  *L 06573500                
       TBF   PLOPC(,PL),OPGET          AND NOT GET?                  *L 06574000                
       JF    CMINOP                    NO-JUMP                       *L 06574500                
       L     PLRECA(,PL),XR2           XR2--> RECORD AREA            *L 06575000                
*                                                                    *L 06575100                
*----------------------------------------------------------START @21 *L 06575200                
       CLC   PLOUTL(2,PL),CC0001  IF THE OUTPUT LENGTH IS NOT        *L 06575400                
       JNH   CMINOP               GREATER THAN 1 THEN NO WCC.        *L 06575500                
*------------------------------------------------------------END @21 *L 06575600                
       TBN   WCC(,XR2),STPRT           START PRINT BIT ON?           *L 06575700                
       L     PLTUBA(,PL),XR2           XR2-->TUB.                    *L 06576000                
       JF    CMINOP                    NO-JUMP                       *L 06576500                
       SBN   TUBAT4(,XR2),TUBBSY       YES-SET ON BUSY PRINT BIT.    *L 06577000                
CMINOP EQU   *                         * LOCAL                       *L 06577500                
.BP200 ANOP                            END PRINTER BUSY CODE         *L 06578000                
       MNN   PL$OPC(,PL),PL$OPM(,PL)   SAVE INTERNAL OP CODE.         B 06580000                
       AIF   (&N32).T1000                                               06581000                
       TBN   PLOPC(,XR1),OPGET         INVITE OR GET OP?             0B 06582000                
       JF    CMRSCL                    NO-DON'T RESET CLEAR IND.     0B 06584000                
       SBF   TUBSCS(,XR2),TUBCLR       RESET CLEAR IND.              0B 06586000                
CMRSCL EQU   *                         *                             0B 06588000                
.T1000 ANOP                                                             06589000                
       AIF   (&NSWL).S0700                                              06590000                
       SPACE 1                                                          06600000                
*   IF SWITCHED BSCA, AND A USER OWNS THE LINE, THEN JUST Q SYSTEM   SB 06610000                
*     REQUESTS.                                                      SB 06620000                
       SPACE 1                                                          06630000                
       AIF   (&MIX EQ '3').S0600                                        06640000                
       TBN   TUBAT1(,XR2),TUBSWC       SWITCHED LINE ?              SLB 06650000                
       JF    CMTSBY                    NO-GO CHECK BUSY STATUS.     SLB 06660000                
.S0600 ANOP                                                             06670000                
       TBN   PLOPM(,PL),OPREQR         SYSTEM REQUEST ?              SB 06680000                
       JF    CMTSBY                    NO-GO CHECK BUSY STATUS.      SB 06690000                
       L     TUBDTF(,XR2),DTF          POINT TO THE DTF.             SB 06700000                
       CLC   LCBTCB(2,DTF),CC0000      SWITCHED LINE UNOWNED ?       SB 06710000                
       JE    CMTSBY                    YES-GO CHECK BUSY STATUS.     SB 06720000                
       CLC   LCBTCB(2,DTF),CC@CPT      CP OWN THE LINE ?             SB 06730000                
       JE    CMTSBY                    YES-GO CHECK BUSY STATUS.     SB 06740000                
       TBN   LCBAT3(,DTF),LCBENB       LINE ENABLED ?                SB 06750000                
       BT    CMPAII                    YES-GO POST OP ACCEPTED.      SB 06760000                
       B     CMRSCH                    GO TO RESCHEDULE THE LINE.    SB 06770000                
       SPACE 1                                                          06780000                
.S0700 ANOP                                                             06790000                
       TITLE '$E082/CMTSBY---CHECK-TP-LINE-FOR-BUSY'                    06800000                
*********************************************************************** 06810000                
*            CHECK THE TP LINE AND SEE IF IT IS BUSY                  * 06820000                
*********************************************************************** 06830000                
       SPACE                                                            06840000                
* IF LINE IS NOT BUSY WE CAN START AN OPERATION NOW - ELSE WILL HAVE TO 06850000                
* WAIT FOR AN OP END BEFORE RESCHEDULING THE LINE                       06860000                
       SPACE                                                            06870000                
CMTSBY EQU   *                         TEST LINE BUSY STATUS            06880000                
       SPACE                                                            06890000                
* XR1 POINTS AT PARM LIST                                               06900000                
       SPACE                                                            06910000                
       L     CMSLCB,XR2                POINT XR2 AT LCB                 06920000                
       AIF   (&ONE).C0460                                               06930000                
       TBN   $BDDEV(,DTF),BSCA         BSCA DTF ?                     2 06940000                
       JF    CMTBSY                    NO-GO TEST MLTA BUSY.          2 06950000                
.C0460 ANOP                                                             06960000                
       AIF   (&NOB).C0470                                               06970000                
       TBN   LCBAT2(,DTF),LCBACT       LINE ACTIVE ?                  B 06980000                
       JF    CMRSCH                    NO-GO SCHEDULE WORK ON LINE.   B 06990000                
       TBN   LCBAT2(,DTF),LCBRCI       RECEIVE INITIAL ON LINE ?      B 07000000                
       JF    CMTPLQ                    NO-GO CHECK PARM LIST Q'D.     B 07010000                
       TBN   PLOPC(,PL),OPPUT          THIS A PUT REQUEST ?           B 07020000                
       JT    CMGOBZ                    YES-GO TO TRY PRIORITY CANCEL. B 07030000                
       ST    CMSPL@,PL                 SAVE PL @                      B 07040000                
       B     CMIVGM                    GO ASSURE SIZE FOR NEW INVITE. B 07050000                
       MVC   CMSPL(2),CMSPL@           RESTORE PL  @                  B 07060000                
*                                 ---------------------------START--@08 07060500                
       L     CMSLCB,DTF                LOAD LCB ADDRESS INTO REG 2    B 07061000                
       L     CMSPL,PL                  LOAD PARM LIST ADDR INTO REG 1 B 07061500                
       TBN   PL$OPM(,PL),OPGETM        GETMAIN ALREADY INDICATED ?    B 07062000                
       JT    CMNOID                    YES-DON'T START 2 SEC. T.O.    B 07062500                
       L     $BDWKA(,DTF),WKA          XR1--> WORK AREA               B 07063000                
       TBN   $BWKMC(,WKA),X'01'        IDA RUNNING NOW ?              B 07063500                
       JF    CMNOID                    NO-GO TO POST                  B 07064000                
       TBF   LCBAT1(,DTF),LCBCRI+LCBPRI CANCEL ALREADY STARTED ?      B 07064500                
       SBN   LCBAT1(,DTF),LCBPRI       SET IT ON FOR CANCEL START     B 07065000                
       JF    CMNOID                    NO - ALREADY STARTED CANCEL    B 07065500                
       L     $BDWKA(,DTF),WKA          XR1--> WORK AREA               B 07066000                
       SBN   $BPOLD(,WKA),$BPRES       SET CANCEL FLAG FOR MLMP       B 07066500                
       DC    XL3'F38806'               DO SIO TO DO IDA STOP POLL     B 07067000                
CMNOID EQU   *                         * LOCAL                        B 07067500                
       L     CMSPL,PL                  LOAD PARM LIST ADDR INTO REG 1 B 07068000                
*                                 ---------------------------END----@08 07068500                
       SPACE                                                            07070000                
       B     CMPAII                    GO TO POST RESULTS.            B 07080000                
       SPACE                                                            07090000                
CMTPLQ EQU   *                         *                              B 07100000                
       TBN   LCBAT1(,DTF),LCBNTQ       PARM LIST NOT QUEUED, AND      B 07110000                
       L     PLTUBA(,PL),XR2           POINT TO THE TUB.              B 07120000                
       TBN   TUBAT2(,XR2),TUBOWN       * THIS PARM LIST FOR LINE OWNER? 07130000                
       L     TUBDTF(,XR2),DTF          POINT TO THE DTF.              B 07140000                
CMTOP2 EQU   *                         *                              B 07150000                
       TBN   PL$OPM(,PL),#             SAME OP AS ON THE LINE ?       B 07160000                
       JF    CMGOBZ                    NO-GO TO CHECK LINE FOR BUSY.  B 07170000                
       SBF   LCBAT1(,DTF),LCBNTQ       PARM LIST IS BACK IN QUE.      B 07180000                
       ST    LCBPL@(,DTF),PL           SET NEW CURRENT PARM LIST PTR. B 07190000                
       TBN   LCBAT1(,DTF),LCBINT       INTERRUPT OCCUR W/O PARM LIST. B 07200000                
       JT    CMUPCT                    YES - GO UP OP END COUNT       B 07210000                
       B     CMTASV                    GO SAVE ATTRIBUTES               07211000                
       B     CMNOBY                    GO PERFORM NEXT OP               07212000                
CMUPCT EQU   *                         *                                07213000                
       ALC   LCBOPE(1,DTF),CC0001      UP OPEND COUNT               @14 07214000                
       ALC   CCOECT(1),CC0001          UP OPEND COUNT               @14 07215000                
CMGOBZ EQU   *                         BRANCH TO BUSY CHECK.          B 07220000                
       B     CMBUSY                    GO TO LINE BUSY ACTION.        B 07230000                
       SPACE                                                            07240000                
CMTBSY EQU   *                         *                              B 07250000                
.C0470 ANOP                                                             07260000                
       AIF   (&NOM).M1100                                               07270000                
       TBN   $MDAT2(,XR2),$MABSY       TEST LINE BUSY BIT             M 07280000                
       BT    CMBUSY                    JUMP IF LINE BUSY              M 07290000                
.M1100 ANOP                                                             07300000                
       MEND                                                             07310000