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

⟦ac3b84df7⟧ s3xseg

    Length: 40386 (0x9dc2)
    Types: s3xseg
    Names: »S$E070«

Derivation

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

TextSegment

       MACRO                                                            00010000                
.********************************************************************** 00020000                
.*                                                                    * 00030000                
.* NAME: $E070                                                        * 00040000                
.*                                                                    * 00050000                
.* MODIFICATION LEVEL: VERSION 15,MODIFICATION LEVEL 0 OF 5702-SC1    * 00060000                
.*                     VERSION 02,MODIFICATION LEVEL 0 OF 5703-SC1    * 00065000                
.*                                                                    * 00070000                
.* FUNCTION:                                                          * 00080000                
.*                                                                    * 00090000                
.*   . CCP GENERATION SECOND PASS MACRO-INSTRUCTION -- GENERATE  THE  * 00100000                
.*     COMMUNICATION MANAGEMENT TASK.                                 * 00110000                
.*                                                                    * 00120000                
.* INPUT OPERANDS: NONE.                                              * 00130000                
.*                                                                    * 00140000                
.* SYSTEM GLOBALS:                                                    * 00150000                
.*                                                                    * 00153000                
.*   &ADP - # OF ADAPTERS SUPPORTED.   # OF BSCA/MLTA LINES SUPPORTED * 00156000                
.*                                                                    * 00160000                
.*   &MTK - MULTI-USER-TASKING CCP.    1=SUPPORTED / 0=NOT SUPPORTED. * 00161000                
.*                                                                    * 00162000                
.*   &DFF - 3270 DISPLAY FORMAT.       1=SUPPORTED / 0=NOT SUPPORTED. * 00163000                
.*                                                                    * 00164000                
.*   &DPF - DUAL PROGRAM MODEL 3.      1=SUPPORTED / 0=NOT SUPPORTED. * 00165000                
.*                                                                    * 00166000                
.*   &ONE - MIXTURE OF MLTA AND BSCA.  1=ONLY ONE / 0=BOTH.           * 00170000                
.*                                                                    * 00180000                
.*   &NOB - BSCA SUPPORTED.            1=NOT SUPPORTED / 0=SUPPORTED. * 00190000                
.*                                                                    * 00200000                
.*   &NOM - MLTA SUPPORTED.            1=NOT SUPPORTED / 0=SUPPORTED. * 00210000                
.*                                                                    * 00220000                
.*   &NDME- DATA MODE ESCAPE.          1=NOT SUPPORTED / 0=SUPPORTED. * 00230000                
.*                                                                    * 00240000                
.*   &MIN - MINIMUN SYSTEM.            1=MINIMUN / 0=NOT MINIMUN.     * 00250000                
.*                                                                    * 00260000                
.*   &NPP - BSCA PT-TO-PT SUPPORTED.   1=NOT SUPPORTED / 0=SUPPORTED. * 00270000                
.*                                                                    * 00280000                
.*   &NMP - BSCA MULTI-PT TRIBUTARY.   1=NOT SUPPORTED / 0=SUPPORTED. * 00290000                
.*                                                                    * 00300000                
.*   &NSWL- BSCA SWITCHED SUPPORTED.   1=NOT SUPPORTED / 0=SUPPORTED. * 00310000                
.*                                                                    * 00320000                
.*   &NCS - BSCA CONTROL STATION.      1=NOT SUPPORTED / 0=SUPPORTED. * 00330000                
.*                                                                    * 00340000                
.*   &NITB- BSCA ITB SUPPORTED.        1=NOT SUPPORTED / 0=SUPPORTED. * 00350000                
.*                                                                    * 00360000                
.*   &NTSP- BSCA TRANSPARENCY.         1=NOT SUPPORTED / 0=SUPPORTED. * 00370000                
.*                                                                    * 00380000                
.*   &NAS - BSCA ASCII SUPPORT.        1=NOT SUPPORTED / 0=SUPPORTED. * 00386000                
.*                                                                    * 00392000                
.*   &NMSG- BSCA GET MESSAGE SUPPORT.  1=NOT SUPPORTED / 0=SUPPORTED. * 00398000                
.*                                                                    * 00404000                
.*   &N32 - BSCA 3270 SUPPORT.         1=NOT SUPPORTED / 0=SUPPORTED. * 00410000                
.*                                                                    * 00420000                
.*   &NDF - 3270 DISPLAY FORMAT.       1=NOT SUPPORTED / 0=SUPPORTED. * 00427000                
.*                                                                    * 00434000                
.*   &N37 - BSCA 3735 SUPPORT.         1=NOT SUPPORTED / 0=SUPPORTED. * 00441000                
.*                                                                    * 00448000                
.*   &N41 - BSCA 3741 SUPPORT.         1=NOT SUPPORTED / 0=SUPPORTED. * 00455000                
.*                                                                    * 00462000                
.*   &NCPU- BSCA CPU SUPPORT.          1=NOT SUPPORTED / 0=SUPPORTED. * 00470000                
.*                                                                    * 00480000                
.*   &NSW - MLTA SWITCHED SUPPORT.     1=NOT SUPPORTED / 0=SUPPORTED. * 00490000                
.*                                                                    * 00500000                
.*   &NSCTL-MLTA STATION CONTROL.      1=NOT SUPPORTED / 0=SUPPORTED. * 00510000                
.*                                                                    * 00520000                
.*   &NBFR- MLTA BUFFERED RECEIVE.     1=NOT SUPPORTED / 0=SUPPORTED. * 00530000                
.*                                                                    * 00540000                
.*   &NMOVE-MLTA MOVE ONLY.            1=NOT SUPPORTED / 0=SUPPORTED. * 00550000                
.*                                                                    * 00560000                
.*   &N1050-MLTA 1050 SUPPORT.         1=NOT SUPPORTED / 0=SUPPORTED. * 00570000                
.*                                                                    * 00580000                
.*   &N2741-MLTA 2741 SUPPORT.         1=NOT SUPPORTED / 0=SUPPORTED. * 00590000                
.*                                                                    * 00600000                
.*   &NRUF-READ UNDER FORMAT SUPPORT.  1=NOT SUPPORTED / 0=SUPPORTED. * 00603000                
.*                                                                    * 00606000                
.* MODULE LOCALS:                                                     * 00610000                
.*                                                                    * 00620000                
.*   &MIX - WORK AREA TO DETERMINE THING IN CONBINATION.              * 00630000                
.*                                                                    * 00640000                
.********************************************************************** 00670000                
       $E070                                                            00680000                
       GBLB  &ONE,&NOB,&NOM,&MTK,&DFF,&MIN,&DPF,&NDME,&ADP              00700000                
       GBLB  &NPP,&NMP,&NSWL,&NCS,&NITB,&NTSP,&N32,&NCPU                00710000                
       GBLB  &MOD4                                                      00720000                
       GBLA  &BSC,&MLA                                                  00730000                
       LCLA  &MIX                                                       00750000                
       TEXT                                                             00760000                
       AIF   (&MOD4).LJ001                                              00765000                
* R-15,C-00 CHANGE LEVEL                                                00770000                
       DC    CL5'$CM15'                RELEASE LEVEL ID.                00771000                
       AGO   .LJ01A                                                     00771100                
.LJ001 ANOP                                                             00771200                
* R-02,C-00   CHANGE LEVEL                                              00771300                
       DC     CL5'$CM02'               RELEASE LEVEL ID                 00771400                
.LJ01A ANOP                                                             00771500                
&MIX   SETA  &BSC+&MLA                                                  00772000                
       AIF   (&MIX NE '1').ONE                                          00773000                
&ADP   SETB  1                                                          00774000                
.ONE   ANOP                                                             00775000                
&MIX   SETA  &NOB+&NOM                                                  00780000                
       AIF   (&MIX EQ '0').START                                        00790000                
&ONE   SETB  1                                                          00800000                
.START ANOP                                                             00810000                
       SPACE 4                                                          00820000                
       ENTRY $CC4CM                                                     00830000                
       ENTRY CMFMRT                                                     00840000                
       AIF   (&MOD4).LJ002                                              00845000                
       ENTRY CMAPL                                                      00850000                
.LJ002 ANOP                                                             00855000                
       AIF   (&NOB).C0001                                               00860000                
       EXTRN $CC4M1(3)                 WEAK EXTRN FOR MINI-MLMP         00865000                
       AIF   (&NSWL).C0000                                              00870000                
       ENTRY CMCLOZ                                                     00880000                
.C0000 EXTRN $$BSMS                                                     00890000                
       ENTRY SAVCAT                                                     00895000                
       EXTRN $CC4BT                                                     00900000                
       EXTRN $CC4MX                                                     00910000                
.C0001 ANOP                                                             00920000                
       AIF   (&NOM).C0002                                               00930000                
       EXTRN MLTIO1                                                     00940000                
       EXTRN $CC4IM                                                     00950000                
.C0002 ANOP                                                             00960000                
       EXTRN $CC4DP                                                     00970000                
       EXTRN $CC4PS                                                     00980000                
       EXTRN CC@PRL                                                     00990000                
       EXTRN $CC4WT                                                     01000000                
       EXTRN $CC4PI                                                     01010000                
       EXTRN $CC4MV                                                     01020000                
       EXTRN $CC4TT                                                     01030000                
       EXTRN $CC4FM                                                     01040000                
       EXTRN $CC4GM                                                     01050000                
       EXTRN CC#BMX                                                     01060000                
       EXTRN $CCCOM                                                     01070000                
       EXTRN CC0000                                                     01080000                
       EXTRN CC0001                                                     01090000                
       EXTRN CC0004                                                     01100000                
       EXTRN CC@CMT                                                     01110000                
       EXTRN CC@CPT                                                     01120000                
       EXTRN CCKLST                                                     01130000                
       EXTRN CCOECT                                                     01140000                
       EXTRN CCLCB1                                                     01150000                
       EXTRN CPHALT                                                     01160000                
       AIF   (&MTK).C9000                                               01180000                
       AIF   (&DFF).C9000                                               01190000                
       EXTRN $CC4MM                                                     01200000                
       AGO   .C9001                                                     01210000                
.C9000 ANOP                                                             01220000                
       EXTRN $CC4MS                                                     01230000                
.C9001 ANOP                                                             01240000                
       TITLE '$E070/$CC4CM/ENTRY-POINT'                                 01250000                
*********************************************************************** 01260000                
*      C O M M U N I C A T I O N S   M A N A G E R                    * 01270000                
*      I N I T I A L I Z A T I O N                                    * 01310000                
*********************************************************************** 01320000                
*                                                                     * 01340000                
* FUNCTION:                                                           * 01350000                
*                                                                     * 01360000                
*      . FIRST MUST SAVE THE POST MASK FOR THE COMMUNICATIONS MANAGER * 01370000                
*      SINCE THE POST MASK IN THE TCB MAY BE MODIFIED WHILE THIS      * 01380000                
*      MODULE IS EXECUTING.                                           * 01390000                
*                                                                     * 01400000                
*      . MUST RESET AN INTERNAL STATUS BIT THAT INDICATES WHETHER     * 01410000                
*      THIS MODULE HAS ISSUED A FREEMAIN DURING THE CURRENT ENTRY.    * 01420000                
*                                                                     * 01430000                
* INPUT: POST MASK IN THE TASK CONTROL BLOCK                          * 01460000                
*                                                                     * 01470000                
* OUTPUT:POST MASK MOVED TO HOLD AREA IN THIS MODULE                  * 01500000                
*                                                                     * 01510000                
*      . INTERNAL FREEMAIN STATUS BIT IS SET OFF                      * 01520000                
*                                                                     * 01530000                
* EXTERNAL REFERENCES:   TASK CONTROL BLOCK                           * 01540000                
*                                                                     * 01550000                
*  GENERATION - THIS MODULE IS ASSEMBLED AT CCP GENERATION.           * 01550500                
*         $CC4CM IS CREATED BY MACROS WHICH ARE NAMED $E0NN WHERE     * 01551000                
*         NN IS A NUMERIC IDENTIFIER OF THE MACRO.                    * 01551500                
*                                                                     * 01552000                
*         CODE IN EACH MACRO IS EITHER INCLUDED OR EXCLUDED BASED     * 01552500                
*         ON THE GLOBALS SET BY THE FIRST PASS OF GENERATION. THE     * 01553000                
*         CODE IS IDENTIFIED IN COLUMNS 69-71 BY ALPHABETICS WHICH    * 01553500                
*         IDENTIFIES THE GENERATION OPTION THAT CAUSES ITS INCLUSION  * 01554000                
*                                                                     * 01554500                
*      THE ALPHABETIC IDENTIFIERS ARE AS FOLLOWS:                     * 01555000                
*                                                                     * 01555500                
*         COLUMN 71 :                                                 * 01556000                
*           B - BSCA                                                  * 01556500                
*           M - MLTA                                                  * 01557000                
*           2 - TEST FOR MLTA OR BSCA                                 * 01557500                
*                                                                     * 01558000                
*         COLUMN 68-70 MAY INCLUDE IN ANY ORDER OR COMBINATION:       * 01558500                
*           C - BSCA OR MLTA CONTROL STATION OR STATION CONTROL       * 01559000                
*           D - BSCA OR MLTA DATA MODE ESCAPE                         * 01559500                
*           L - CODE NECESSARY FOR COMBINATION OF LINE TYPES          * 01560000                
*           N - CODE REMOVED ON MINRES SYSTEMS.                       * 01560500                
*           S - BSCA OR MLTA SWITCHED LINE SUPPORT.                   * 01561000                
*           Y - CODE TO HANDLE MULTIPLE DTFS. EXCLUDED IN 1 LINE SYS. * 01561500                
*           / - OR   (FOR COMBINATION OF 2 OTHER IDENTIFIERS          * 01562000                
*                                                                     * 01562500                
*           A - BSCA ASCII SUPPORT                                    * 01563000                
*           F - BSCA 3270 DFF SUPPORT                                 * 01563500                
*           G - BSCA GET MESSAGE SUPPORT                              * 01564000                
*           I - BSCA ITB (INTERMEDIATE TEXT BLOCK) SUPPORT            * 01564500                
*           P - BSCA POINT TO POINT SUPPORT                           * 01565000                
*           T - BSCA MULTI POINT TRIBUTARY SUPPORT                    * 01565500                
*           U - BSCA CPU TO CPU SUPPORT                               * 01566000                
*           X - BSCA TRANSPARENCY SUPPORT                             * 01566500                
*           0 - BSCA 3270 SUPPORT                                     * 01567000                
*           5 - BSCA 3735 SUPPORT                                     * 01567500                
*           7 - BSCA 3741 SUPPORT                                     * 01568000                
*                                                                     * 01568500                
*           R - MLTA BUFFERED RECEIVE SUPPORT                         * 01569000                
*           V - MLTA MOVE SUPPORT (NO TRANSLATE)                      * 01569500                
*           0 - MLTA 1050 SUPPORT                                     * 01570000                
*           1 - MLTA 2741 SUPPORT                                     * 01570500                
*                                                                     * 01571000                
* CHANGE FLAG ACTIVITY - $CM                                          * 01571500                
*   RELEASE 12.                                                       * 01572000                
*     @01-INCR/00S1210-ADD 3741 DATA TERMINAL SUPPORT.                * 01572500                
*     @02-APAR/S305393-BLK MODE TERMS WITH DATA MOVED ON              * 01573000                
*     @03-INCR/00S1210-START POLLING AT NEXT ENTRY                    * 01573500                
*     @04-APAR/S305660-LOOP IF TIMING OUT AND SEARCHING FOR EOT       * 01574000                
*     @05-INCR/00S1210-NON-DME CLEAR KEY CHANGE                       * 01574500                
*     @06-INCR/00S1301-PROGRAM REQUEST UNDER FORMAT ENHANCEMENT       * 01574600                
*     @07-INCR/00S1306-3275 SWITCHED LINE SUPPORT                     * 01574700                
*     @08-INCR/00S1303-IDA SUPPORT                                    * 01574800                
*                                                                     * 01574850                
*   RELEASE 14.                                                       * 01574900                
*     @09-APAR/S307552,S307806- NON FIRST BLOCK CORRECTIONS           * 01574950                
*     @10-APAR/S308764 -UPDATE RECORD ADDR IF MLTA RUNNING            * 01575000                
*     @14-APAR/S308917 -RUNNING WITH IMS 370,CCP DID NOT              * 01575800                
*       RETURN RVI COMP CODE TO USER PROGRAM.  CCP LOCKED             * 01576600                
*       IN A BSCA WAIT STATE TRYING TO STOP AUTO RESPONSE.            * 01577400                
*       CHANGE INVOLVES $E077,$E082,$E092,$CC4IB,$$BSMD,BSIOS.        * 01578200                
*     @15-PTR/S14CP003 - NO POST FOR SYS PUT-WAIT(SWTCHED LINE).      * 01579000                
*                                                                     * 01579070                
*   RELEASE 15.                                                       * 01579140                
*     @16-APAR/S309016 -RVI NOT BEING SENT AND RETURN CODE 06 NOT     * 01579210                
*                        RETURNED. CHANGES TO $E070, $E072, $E080     * 01579280                
*     @17-APAR/S309240 -DELAY COUNT SET WRONG AND CAUSED RETURN CODE  * 01579350                
*                        OF -9.  CHANGE TO $E090.                     * 01579420                
*     @18-APAR/S309761 -MSG411 ERROR -13 USING PRUF PUT MESSAGE TO    * 01579490                
*                        3270 PRINTER.   CHANGE TO $E092.             * 01579560                
*     @19-APAR/S310612 -CHANGE TO INDEX TERMINATION ID PROPERLY FOR   * 01579630                
*                        DISCONNECT SWITCHED LINE. CHANGE TO $E082.   * 01579700                
*     @20-APAR/S310572 - SET XR1 TO POINT TO PARM LIST WHEN BRANCHING   01579770                
*                        TO FORM OP CODE.                               01579840                
*********************************************************************** 01580000                
       SPACE                                                            01660000                
$CC4CM EQU   *                         'CM' ENTRY POINT.                01670000                
       L     CC@CMT,XR2                POINT XR2 AT CM TCB              01680000                
       MVC   CMPMSK+1(2),TCBPMK+1(,XR2)  MOVE POST MASK TO SAVE AREA    01690000                
       SBF   CMSWIT,CMFMGO+CMSPSI      RESET INTERNAL CM FREEMAIN AND   01730000                
*                                          STOP II/STATUS POLL          01735000                
       TITLE '$E070-CONSOLE-MANAGEMENT'                                 01750000                
*********************************************************************** 01760000                
*      C O N S O L E   M A N A G E M E N T                            * 01770000                
*********************************************************************** 01780000                
*                                                                     * 01800000                
* FUNCTION:                                                           * 01810000                
*      . IF HAVE PARAMETER LIST FOR THE CONSOLE, PASS  CONTROL TO     * 01830000                
*      THE CONSOLE MANAGEMENT TRANSIENT $CC4K1                        * 01840000                
*                                                                     * 01850000                
*      . IF HAVE CONSOLE INTERRUPT, DETERMINE THE CAUSE AND TAKE      * 01860000                
*      APPROPRIATE ACTION AS FOLLOWS:                                 * 01870000                
*                                                                     * 01880000                
*        1) IF COMPLETION OF PREFIX OF CONSOLE OUTPUT, START THE      * 01890000                
*        REMAINDER OF THE MESSAGE BY BUILDING THE CONSOLE IOB AND     * 01900000                
*        ISSUING SIO TO PRINT THE CONTINUATION CHARACTER ('/')        * 01910000                
*                                                                     * 01920000                
*        2) IF REQUEST KEY INTERRUPT, PASS CONTROL TO THE CONSOLE     * 01930000                
*        MANAGMENT TRANSIENT $CC4K5                                   * 01940000                
*                                                                     * 01950000                
*        3) IF COMPLETION OF CONSOLE OUTPUT, PASS CONTROL TO THE      * 01960000                
*        CONSOLE MANAGEMENT TRANSIENT $CC4K3                          * 01970000                
*                                                                     * 01980000                
*        4) IF COMPLETION OF CONSOLE INPUT, PASS CONTROL TO THE       * 01990000                
*        CONSOLE MANAGEMENT TRANSIENT $CC4K4                          * 02000000                
*                                                                     * 02010000                
*      . IF THE CONSOLE IS AVAILABLE AND THERE IS A PARAMETER LIST    * 02020000                
*      IN THE CONSOLE OUTPUT QUEUE, PASS CONTROL TO THE CONSOLE       * 02030000                
*      MANAGEMENT TRANSIENT $CC4K2 WHICH WILL START THE OUTPUT TO THE * 02040000                
*      CONSOLE                                                        * 02050000                
*                                                                     * 02060000                
*      . IF THE CONSOLE KEYBOARD IS AVIALABLE, ENABLE THE REQUEST KEY * 02070000                
*                                                                     * 02080000                
* INPUT: COMMUNICATIONS MANAGER POST MASK                             * 02110000                
*      . THE FIELD @PRL IN THE CCP COMMUNICATIONS AREA ($CCCOM)       * 02130000                
*      . THE CONSOLE IOB                                              * 02150000                
*      . THE CONSOLE WORK AREA                                        * 02170000                
*                                                                     * 02180000                
* OUTPUT: ONE OR MORE OF THE FOLLOWING AS DEFINED IN 'FUNCTION':      * 02190000                
*      . REQUEST KEY ENABLED                                          * 02230000                
*      . REMAINDER OF CONSOLE OUTPUT STARTED                          * 02250000                
*      . CONSOLE MANAGEMENT TRANSIENT CALLED TO SERVICE THE CONSOLE   * 02270000                
*                                                                     * 02280000                
* EXTERNAL REFERENCES:                                                * 02290000                
*      . COMMUNICATIONS MANAGER POST MASK IN THE TCB                  * 02310000                
*      . CCP COMMUNICATIONS AREA ($CCCOM)                             * 02330000                
*      . PARAMETER LIST DEFINED BY @PRL IN $CCCOM                     * 02350000                
*      . CONSOLE IOB IN $@COIH                                        * 02370000                
*      . CCP CONSOLE WORK AREA                                        * 02390000                
*      . SYSTEM COMMUNICATIONS AREA                                   * 02410000                
*      . TRANSIENT AREA HANDLER - $CC4PI                              * 02430000                
*                                                                     * 02440000                
* EXITS:  AS DESCRIBED IN 'FUNCTION'                                  * 02450000                
*                                                                     * 02460000                
* ATTRIBUTES:  RESIDENT, REUSEABLE                                    * 02490000                
*                                                                     * 02500000                
*********************************************************************** 02530000                
       EJECT                                                            02540000                
*********************************************************************** 02550000                
* CHECK FOR I/O REQUEST FOR THE CONSOLE                                 02560000                
*********************************************************************** 02570000                
       SPACE                                                            02580000                
       TBN   CMPMSK,WPAAII             IS THERE TP REQUEST              02590000                
       JF    KMINTR                    JUMP IF NO TP PARM LIST INPUT    02600000                
       SPACE                                                            02610000                
* HAVE PARAMETER LIST AS INPUT TO THIS MODULE                           02620000                
* IF IT IS CONSOLE - HANDLE IT NOW                                      02630000                
* IF IT IS FOR A TERMINAL - HANDLE IT LATER                             02640000                
       SPACE                                                            02650000                
       L     CC@PRL,XR2                POINT XR2 AT THE PARM LIST       02660000                
       TBN   PL$OPM(,XR2),OPKONS       IS THIS CONSOLE REQUEST          02670000                
       JF    KMINTR                    JUMP IF NOT CONSOLE TUB          02680000                
       SPACE                                                            02690000                
*********************************************************************** 02700000                
*      HAVE I/O REQUEST FOR THE CONSOLE                                 02710000                
*********************************************************************** 02720000                
       SPACE                                                            02730000                
       SBF   CMPMSK,WPAAII             SET OFF TP REQUEST POST BIT      02740000                
       SPACE                                                            02750000                
* BRANCH TO TRANSIENT WHICH WILL QUEUE UP THE PARAMETER LIST ON THE     02760000                
* APPROPRIATE QUEUE                                                     02770000                
       SPACE                                                            02780000                
       B     $CC4PI                    BR TO TRANSIENT HANDLER          02790000                
       AIF   (&MOD4).LJ005                                              02795000                
       DC    AL1(CC4K1)                TRANSIENT ID                     02800000                
       AGO   .LJ007                                                     02802000                
.LJ005 ANOP                                                             02804000                
       DC    AL1(CC4X1)                TRANSIENT ID                     02806000                
.LJ007 ANOP                                                             02808000                
       EJECT                                                            02810000                
*********************************************************************** 02820000                
*      CHECK FOR CONSOLE INTERRUPTS                                     02830000                
*********************************************************************** 02840000                
       SPACE                                                            02850000                
KMINTR EQU   *                         CHECK FOR CONSOLE INTERRUPT      02860000                
       AIF   (&MOD4).LJ009                                              02865000                
       B     CMAPL                     CHECK CONSOLE USAGE BY OTHER     02870000                
*                                      LEVEL                            02880000                
.LJ009 ANOP                                                             02885000                
       LA    $CCCOM,XR2                POINT XR2 AT C COM               02890000                
       L     @KMWK(,XR2),XR1           POINT XR1 AT KM WORK AREA        02900000                
       AIF   (&MOD4).LJ011                                              02905000                
       SPACE                                                            02910000                
       TBN   #KMSWT(,XR1),#KMBSY       IS CONSOLE BUSY                  02920000                
       JT    KMDPCI                    JUMP IF CONSOLE BUSY             02930000                
       SPACE                                                            02940000                
* THE CONSOLE IS NOT BUSY SO TO PREVENT UNWANTED INTERRUPTS - DISABLE   02950000                
* THE KEYBOARD                                                          02960000                
       SPACE                                                            02970000                
       DC    XL1'F3'                   START I/O INSTUCTION             02980000                
       DC    AL1(KEYBRD)               SIO TO THE KEYBOARD              02990000                
       DC    AL1(DISABL)               TO DISABLE THE KEYBOARD          03000000                
       SPACE                                                            03010000                
* NOW CHECK FOR ANY CONSOLE INTERRUPTS                                  03020000                
       SPACE                                                            03030000                
.LJ011 ANOP                                                             03035000                
KMDPCI EQU   *                         TEST FOR CONSOLE INTERRUPT       03040000                
       TBN   $DPFLH(,XR2),DPCI         WAS THERE CONSOLE INTERRUPT      03050000                
       SBF   $DPFLH(,XR2),DPCI         ASSURE DPCI BIT OFF              03060000                
       AIF   (&MOD4).LJ013                                              03065000                
       JF    KMTSBY                    JUMP IF NO CONSOLE INTERRUPT     03070000                
       AGO   .LJ016                                                     03070300                
.LJ013 ANOP                                                             03070600                
       JF    KMSTRT                    NO - JUMP                        03070900                
       SPACE 2                                                          03071200                
*  HAD CONSOLE KEYBOARD INTERRUPT -- CALL $CC4X2 TO HANDLE IT           03071500                
       SPACE 1                                                          03071800                
       L     NCSYS@,XR2                XR2 --> SYS COMM AREA            03072100                
       L     NC@CIO(,XR2),XR2          XR2 --> CONSOLE INT HANDLER      03072400                
       B     $CC4PI                    CALL TRANSIENT HANDLER           03072700                
       DC    AL1(CC4X2)                TRANSIENT ID                     03073000                
*  CC4X2 WILL RETURN HERE IF OUTPUT TO BE DISPLAYED                     03073300                
       B     CMTRCN                    GO SEE IF LINE IS BUSY           03073600                
       SPACE 2                                                          03073900                
*  CC4X2 WILL RETURN HERE IF NO OUTPUT TO DISPLAY                       03074200                
       SPACE 1                                                          03074500                
KMSTRT EQU   *                         *                                03074800                
       SPACE 1                                                          03075100                
*  CHECK FOR ANY CONSOLE OUTPUT                                         03075400                
       LA    $CCCOM,XR2                XR2 --> CCP COMMON               03075700                
       CLI   @KMQTB-1(,XR2),NOBIT      ANY OUTPUT ?                     03076000                
       JE    CMOPND                    NO - GO CHECK OP ENDS            03076300                
       SPACE 1                                                          03076600                
*  CALL CC4X7 TO HANDLE CONSOLE OUTPUT TO LOG FILE                      03076900                
       SPACE 1                                                          03077200                
       B     $CC4PI                    CALL XIENT AREA HANDLER          03077500                
       DC    AL1(CC4X7)                TRANSIENT ID                     03077800                
       AGO   .LJ018                                                     03078100                
.LJ016 ANOP                                                             03078400                
       SPACE                                                            03080000                
*********************************************************************** 03100000                
*      HAD CONSOLE INTERRUPT                                            03110000                
*********************************************************************** 03120000                
       SPACE                                                            03130000                
       L     NCSYS@,XR2                POINT XR2 AT SCA                 03140000                
       SPACE                                                            03150000                
* DETERMINE WHAT TYPE OF INTERRUPT OCCURRED AND BRANCH TO APPROPRIATE   03160000                
* TRANSIENT TO HANDLE THE INTERRUPT                                     03170000                
       SPACE                                                            03180000                
       TBN   #KMSWT(,XR1),#KMPFX       COMPLETION OF PREFIX OUTPUT?     03190000                
       SBF   #KMSWT(,XR1),#KMPFX       RESET PREFIX INDICATION          03200000                
       JF    KMTSRQ                    JUMP IF NOT PREFIX COMPLETION    03210000                
       SPACE                                                            03220000                
*********************************************************************** 03230000                
*      PRINTING OF PREFIX COMPLETE - FINISH THE MESSAGE                 03240000                
*********************************************************************** 03250000                
       SPACE                                                            03260000                
*SET UP IOB WITH MVC OUT OF KM WORK AREA                                03270000                
* THEN DO SIO OF NEXT CHAR                                              03280000                
* THEN JUMP TO CHECK FOR TP OP ENDS                                     03290000                
       SPACE                                                            03300000                
       L     NC@CIO(,XR2),XR2          POINT XRI AT $@COIH WHICH        03310000                
*                                      CONTAINS CONSOLE IOB             03320000                
       SPACE                                                            03330000                
       MVC   KMCNT(9,XR2),#KMCNT(,XR1) MOVE DATA FROM KM WORK IOB TO    03340000                
*                                      CONSOLE IOB                      03350000                
       SPACE                                                            03360000                
* DRIVE THE PRINTING OF THE MESSAGE TEXT BY STARTING THE PRINTING       03370000                
* OF THE CONTINUE CHARACTER                                             03380000                
       SPACE                                                            03390000                
*  LOAD THE CONTINUE CHARACTER FROM THE CCP CONSOLE WORK AREA           03400000                
       SPACE                                                            03410000                
       DC    XL1'71'                   LOAD I/O INSTRUCTION             03420000                
       DC    AL1(PRINTR)               Q-BYTE IS PRINTER                03430000                
       DC    AL1(#KMCON+1)             ADDRESS TO LOAD CHARACTER        03440000                
       DC    XL1'F3'                   START I/O INSTRUCTION            03450000                
       DC    AL1(PRINTR)               SIO TO THE PRINTER               03460000                
       DC    AL1(PRINT+NABLEP+RESET)   RESET AND ENABLE THE PRINTER     03470000                
       SPACE                                                            03480000                
       J     CMOPND                    JUMP TO CHECK TP OP END COUNT    03490000                
       EJECT                                                            03500000                
*********************************************************************** 03510000                
*      CHECK CONSOLE USAGE BY OTHER LEVEL                               03520000                
*********************************************************************** 03530000                
       SPACE                                                            03540000                
* IN A DPF SYSTEM, THIS ROUTINE WILL DETERMINE IF THE OTHER LEVEL       03550000                
* IS USING THE CONSOLE                                                  03560000                
* IN A NON-DPF SYSTEM, THIS ROUTINE ONLY RETURNS TO THE INVOKER         03570000                
       SPACE                                                            03580000                
CMAPL  EQU   *                         SEE IF OTHER LEVEL USING CONSOLE 03590000                
       ST    CMAPLR+3,ARR              SAVE THE ARR                     03600000                
       AIF   (&DPF EQ '0').DF100                                        03610000                
       ENTRY CMENAB                                                     03612000                
       ENTRY CMDISA                                                     03614000                
       SPACE 1                                                          03616000                
CMKOTR L     NCSYS@,XR2                POINT XR2 AT SCA                 03620000                
       L     NC@CIO(,XR2),XR2          POINT XR2 AT $@COIH              03630000                
       SPACE                                                            03640000                
* CHECK THE CONSOLE IOB TO SEE IF THE OTHER LEVEL IS CURRENTLY          03650000                
* USING THE CONSOLE                                                     03660000                
       SPACE                                                            03670000                
       CLI   KMDTF-1(,XR2),NOBIT       IS CONSOLE BEING USED            03680000                
       JE    CMDISA                    JUMP IF CONSOLE NOT IN USE       03690000                
       SPACE                                                            03700000                
* THE OTHER LEVEL IS USING THE CONSOLE SO APL UNTIL THE CONSOLE         03710000                
* BECOMES AVAILABLE                                                     03720000                
* DETERMINE IF INTERUPT OCCURED WHILE OTHER LEVEL OWNED THE CONSOLE     03730000                
* IF YES,SET OFF BIT INDICATING CCP CONSOLE INTERUPT                    03740000                
       SPACE                                                            03750000                
       LA    $CCCOM,XR2                POINT XR2 AT CCP COMMON AREA     03760000                
       SBF   $DPFLH(,XR2),DPCI         SET OFF CONSOLE INTERUPT BIT     03770000                
CMENAB JC    CMEAPL,BRNOP              SET TO SIO IF CCP PRIORITY       03775000                
CMEAPL APL   0,0                       UNCONDITIONAL APL                03780000                
       B     CMKOTR                    BRANCH TO CHECK CONSOLE AGAIN    03790000                
       SPACE                                                            03800000                
CMDISA JC    CMAPLR,BRNOP              SET TO SIO IF CCP PRIORITY       03805000                
.DF100 ANOP                                                             03810000                
CMAPLR B     ####                        RETURN TO INVOKER              03820000                
       EJECT                                                            03830000                
*********************************************************************** 03840000                
*      TEST FOR REQUEST KEY                                             03850000                
*********************************************************************** 03860000                
       SPACE                                                            03870000                
KMTSRQ EQU   *                         TEST FOR REQ KEY INTERRUPT       03880000                
       TBN   NCSCH(,XR2),KMREQK        DID REQ KEY CAUSE THE INTERRUPT  03890000                
       SBF   NCSCH(,XR2),KMREQK        ASSURE BIT OFF                   03900000                
       JF    KMTSIE                    JUMP IF NOT REQ KEY              03910000                
       SPACE                                                            03920000                
* REQUEST KEY CAUSED THE INTERRUPT                                      03930000                
* BRANCH TO TRANSIENT TO HANDLE THE SITUATION                           03940000                
       SPACE                                                            03950000                
       B     $CC4PI                    BR TO TRANSIENT HANDLER          03960000                
       DC    AL1(CC4K5)                TRANSIENT ID                     03970000                
       SPACE                                                            03980000                
       J     CMOPND                    JUMP TO CHECK TP OP ENDS         03990000                
       SPACE                                                            04000000                
*********************************************************************** 04010000                
*      TEST FOR INPUT END OR OUTPUT END                                 04020000                
*********************************************************************** 04030000                
       SPACE                                                            04040000                
* XR1 POINTS AT SCA                                                     04050000                
       SPACE                                                            04060000                
KMTSIE EQU   *                         CHECK FOR PRINTER OR KEYBOARD    04070000                
       L     NC@CIO(,XR2),XR2          POINT XR2 AT $@COIH              04080000                
       SPACE                                                            04090000                
* LOOK AT CONSOLE IOB TO DETERMINE IF INTERRUPT WAS FROM PRINTER        04100000                
* OR FROM KEYBOARD - AND CALL IN APPROPRIATE TRANSIENT                  04110000                
       SPACE                                                            04120000                
       TBN   KMQ(,XR2),PRINTR          WAS DEVICE THE PRINTER           04130000                
       JF    KMKEYB                    JUMP IF NOT PRINTER              04140000                
       SPACE                                                            04150000                
* HAVE CONSOLE INTERRUPT GENERATED BY THE PRINTER                       04160000                
* THIS IS THE END OF AN OUTPUT OPERATION                                04170000                
       SPACE                                                            04180000                
       B     $CC4PI                    CALL IN TRANSIENT                04190000                
       DC    AL1(CC4K3)                TRANSIENT ID                     04200000                
       J     KMTSBY                    JUMP                             04210000                
       SPACE                                                            04220000                
* HAVE CONSOLE INTERRUPT GENERATED BY THE KEYBOARD                      04230000                
* THIS IS THE END OF AN INPUT OPERATION                                 04240000                
       SPACE                                                            04250000                
KMKEYB EQU   *                         HAVE KEYBOARD INTERRUPT          04260000                
       B     $CC4PI                    CALL IN TRANSIENT                04270000                
       DC    AL1(CC4K4)                TRANSIENT ID                     04280000                
       EJECT                                                            04290000                
*********************************************************************** 04300000                
*      TEST FOR CONSOLE BUSY                                            04310000                
*********************************************************************** 04320000                
       SPACE                                                            04330000                
KMTSBY EQU   *                         TEST FOR CONSOLE BUSY            04340000                
KMSTRT EQU   *                         CHECK FOR WORK TO START          04350000                
       TBN   #KMSWT(,XR1),#KMBSY       IS CONSOLE BUSY                  04360000                
       JT    CMOPND                    JUMP IF CONSOLE BUSY             04370000                
       SPACE                                                            04380000                
* CONSOLE IS NOT BUSY                                                   04390000                
* IF ANY PARAMETER LISTS ON THE QUEUE OF WORK - CALL IN TRANSIENT       04400000                
* TO START THE OPERATION                                                04410000                
       SPACE                                                            04420000                
       LA    $CCCOM,XR2                POINT XR2 AT C COM               04430000                
       CLI   @KMQTB-1(,XR2),NOBIT      IS THERE OUTPUT TO START         04440000                
       JE    KMENRQ                    JUMP IF NO WORK ON QUEUE         04450000                
       SPACE 3                                                          04460000                
*********************************************************************** 04470000                
*      START CONSOLE OUTPUT                                             04480000                
*********************************************************************** 04490000                
       SPACE                                                            04500000                
KMSOUT EQU   *                         START AN OUTPUT OPERATION TO     04510000                
*                                      THE CONSOLE                      04520000                
       SPACE                                                            04530000                
* HAVE OUTPUT TO START - CALL IN TRANSIENT                              04540000                
       SPACE                                                            04550000                
       B     $CC4PI                    CALL IN TRANSIENT                04560000                
       DC    AL1(CC4K2)                TRANSIENT ID                     04570000                
       SPACE                                                            04580000                
       J     CMOPND                    JUMP TO CHECK TP OP END COUNT    04590000                
       SPACE 3                                                          04600000                
*********************************************************************** 04610000                
*      DETERMINE WHETHER TO ENABLE REQUEST KEY                          04620000                
*********************************************************************** 04630000                
       SPACE                                                            04640000                
KMENRQ EQU   *                         DETERMINE IF REQ KEY TO BE ENABLD04650000                
       TBN   #KMSWT(,XR1),#KMERQ       SHOULD REQUEST KEY BE ENABLED    04660000                
       JF    CMOPND                    JUMP IF NOT TO BE ENABLED        04670000                
       SPACE                                                            04680000                
* ENABLE THE CONSOLE REQUEST KEY                                        04690000                
       SPACE                                                            04700000                
       DC    XL1'F3'                   START I/O INSTUCTION             04710000                
       DC    AL1(KEYBRD)               SIO TO THE KEYBOARD              04720000                
       DC    AL1(REQKEY)               ENABLE THE REQUEST KEY           04730000                
.LJ018 ANOP                                                             04735000                
       TITLE '$E070/CMOPND/OP-END-ANALYSIS'                             04740000                
*********************************************************************** 04750000                
*                                                                     * 04760000                
*  NAME--CMOPND                                                       * 04770000                
*                                                                     * 04780000                
*  TITLE--OP END ANALYSIS                                             * 04790000                
*                                                                     * 04800000                
*  FUNCTION--ANALYSIS EACH OP END FOR A TP LINE AND DETERMINE WHAT    * 04810000                
*            IF ANYTHING MUST BE DONE TO COMPLETE THE CURRENT TP      * 04820000                
*            OPERATION.  ROUTE COMPLETED OPERATION BACK TO THE USER.  * 04830000                
*            RESCHEDULE WORK ON THE LINE IF NO MORE OP ENDS TO BE     * 04840000                
*            HANDLED.                                                 * 04850000                
*                                                                     * 04860000                
*  OPERATION-- IF NO OP ENDS GIVE CONTROL TO TP SCHEDULER TO CHECK    * 04880000                
*              FOR FREEMAIN POSTED.                                   * 04890000                
*                                                                     * 04900000                
*            . SET UP THE CHECK LIST TO ONLY LOOK AT BSCA DTF'S THAT  * 04910000                
*              HAVE OPERATION COMPLETED.  LOOK AT ALL MLTA DTF'S.     * 04920000                
*                                                                     * 04930000                
*            . FOR BSCA DTF'S THAT ARE SET UP FOR CHECK, SET UP THE   * 04940000                
*              DTF AND TP PARAMETER LIST FIELDS AS APPROPRIATE FOR    * 04950000                
*              THE OPERATION.  SET UP THE TUB STATUS, RECORD LENGTH   * 04960000                
*              AND LINE OWNERSHIP FIELDS.  CHECK FOR DATA MODE ESCAPE * 04970000                
*              REQUEST ON INPUT OPERATIONS.                           * 04980000                
*                                                                     * 04990000                
*            . EXECUTE THE CCP VERSION OF THE TP CHECK RTN ($$BMCH).  * 05000000                
*                                                                     * 05020000                
*            . FOR BSCA, IF 56 COMPLETION CODE, ADJUST OP END COUNT   * 05030000                
*              IN APPROPRIATE BSCA DTF.  TRACE THE OPERATION.         * 05040000                
*              NOTE: THE TRACE ENTRY WILL SHOW THE CURRENT COMPLETION * 05050000                
*              CODE OF THE DTF NOT NECESSARILY THE 56.                * 05060000                
*                                                                     * 05070000                
*            . IF ABORT OPERATION, HANDLE THE ABORT UNTIL IT IS       * 05080000                
*              COMPLETE.  THEN RESCHEDULE THE LINE.                   * 05090000                
*                                                                     * 05100000                
*            . IF STOP INVITE REQUEST CALL THE APPROPRIATE TRANSIENT  * 05110000                
*              TO HANDLE THE REQUEST.  BSCA-$CC4BQ.  MLTA-$CC4SQ.     * 05120000                
*                                                                     * 05130000                
*            . IF MLTA OPERATION AND SWALLOW THE DATA OPERATION, THEN * 05140000                
*              IGNORE THE INCOMING DATA.                              * 05150000                
*                                                                     * 05160000                
*            . IF MLTA OLT OP END CALL TRANSIENT TO HANDLE THE        * 05170000                
*              OPERATION.  THEN GO TO SCHEDULE THE NEXT OPERATION.    * 05180000                
*                                                                     * 05190000                
*            . FIND THE OP ENDED PARAMETER LIST AND SET ON THE POLL   * 05200000                
*              SKIP BIT.                                              * 05210000                
*                                                                     * 05220000                
*            . TRACE THE OP END AFTER CALLING CHECK THRU $CC4TT.      * 05230000                
*                                                                     * 05240000                
*            . IF AN ERROR OCCURRED CALL THE APPROPRIATE ERP          * 05250000                
*              TRANSIENT.  BSCA-$CC4BE, MLTA-$CC4MA.  ON RETURN       * 05260000                
*              EITHER POST THE RESULTS TO THE USER, RESCHEDULE THE    * 05270000                
*              LINE, OR HANDLE THE DATA IN THE LINE BUFFER.           * 05280000                
*                                                                     * 05290000                
*            . IF WRITE OP END, THEN                                  * 05300000                
*              - IF BSCA RECORD WAS SHORTED THEN DEFINED AT           * 05310000                
*                ASSIGNMENT TIME, CALL TRANSIENT TO FILL OUT THE      * 05320000                
*                RECORD TO CORRECT LENGTH.                            * 05330000                
*                                                                     * 05340000                
*              - SET UP THE RETURN CODE FOR THE RESULTS OF THE        * 05350000                
*                OPERATION.                                           * 05360000                
*                                                                     * 05370000                
*              - IF BSCA IS NOT COMPLETE, CALL RESCHEDULE FUNCTION    * 05380000                
*                TO COMPLETE THE OPERATION.                           * 05390000                
*                - EOT MUST BE SENT.                                  * 05400000                
*                - OPERATION NOT COMPLETE BECAUSE CLEAR KEY IS        * 05410000                
*                  BEING HANDLED.                                     * 05420000                
*                                                                     * 05430000                
*              - IF BSCA OPERATION IS COMPLETE, THEN                  * 05440000                
*                - FREE THE DFF HOLD BUFFER IF DFF PUT.               * 05450000                
*                                                                     * 05460000                
*              - IF PUT-THEN-GET, THEN SET UP THE GET OPERATION IN    * 05470000                
*                THE INTERNAL OP CODE, THEN RESCHEDULE THE LINE.      * 05480000                
*                                                                     * 05490000                
*              - IF OPERATION IS COMPLETED SET UP TO POST THE         * 05500000                
*                REQUESTOR OF THE RESULTS.                            * 05510000                
*                                                                     * 05520000                
*            . IF READ OP END, THEN                                   * 05530000                
*              - IF BSCA RECEIVE INITIAL WAS LAST OP, CHECK FOR ANY   * 05540000                
*                CONFLICTING OPERATION IN THE LINE QUEUE, AND REJECT  * 05550000                
*                THEM IF ANY FOUND.                                   * 05560000                
*                                                                     * 05570000                
*              - IF BSCA MESSAGE MODE INPUT, SET UP TO CONSOLIDATE    * 05580000                
*                ALL BLOCKS INTO ONE MESSAGE.  SET UP TO RESCHEDULE   * 05590000                
*                LINE AND GET TO EOT BEFORE RETURNING TO THE USER.    * 05600000                
*                                                                     * 05610000                
*              - IF DATA MODE ESCAPE RECOGNIZED IN THE INPUT DATA     * 05620000                
*                STREAM THEN SET UP POST OF THE COMMAND PROCESSOR.    * 05630000                
*                                                                     * 05640000                
*              - IF VALID INPUT DATA, MOVE, TRANSLATE, TRUNCATE THE   * 05650000                
*                DATA AS REQUIRED.                                    * 05660000                
*                                                                     * 05670000                
*              - IF 3270 BSCA INPUT CHECK FOR CLEAR KEY HIT AND       * 05680000                
*                HANDLE IT.                                           * 05690000                
*                                                                     * 05700000                
*            . IF COMPLETED DATA OPERATION, THEN                      * 05710000                
*              - REMOVE THE TP REQUEST FROM THE LINE QUEUE.           * 05720000                
*              - FREE UP PUT-NO-WAIT HOLD BUFFERS.                    * 05730000                
*              - POST THE REQUESTOR OF THE TP OPERATION THAT IT IS    * 05740000                
*                COMPLETE.                                            * 05750000                
*              - QUEUE INVITE INPUT PARAMETER LIST ONTO THE TCB.      * 05760000                
*              - CHECK FOR MORE OP ENDS AND HANDLE IF THERE ARE       * 05770000                
*                SOME, OTHERWISE GO AND RESCHEDULE LINE.              * 05780000                
*                                                                     * 05790000                
*  ENTRY POINT--CMOPND                                                * 05800000                
*                                                                     * 05820000                
*  INPUT- CCOECT - OP END PENDING COUNT.                              * 05840000                
*         CCLCB1 - ADDRESS OF LIST OF TP LINES IN CCP.                * 05850000                
*         CCKLST - ADDRESS IF CCP CHECK LIST.                         * 05860000                
*                                                                     * 05870000                
*  OUTPUT-CCOECT - ADJUSTED FOR OP ENDS HANDLED.                      * 05890000                
*         CMSLCB - ADDRESS OF DTF HANDLED FOR LAST OP END.            * 05900000                
*         CMSPL  - ADDRESS TO TP PARAMETER LIST FOR LAST OP END.      * 05910000                
*         TCBINQ - QUEUE OF INVITES THAT HAVE COMPLETED.              * 05920000                
*                                                                     * 05930000                
*  EXTERNAL REFERENCES--                                              * 05940000                
*         $CC4BI - BSCA DME TRANSIENT.                                * 05950000                
*         $CC4BQ - BSCA STOP II QUEUE ANALYSIS TRANSIENT.             * 05960000                
*         $CC4SQ - MLTA STOP II QUEUE ANALYSIS TRANSIENT.             * 05970000                
*         $CC4SK - MLTA SKIP BIT TRANSIENT.                           * 05980000                
*         $CC4T2 - MLTA OLT OP END TRANSIENT.                         * 05990000                
*         $CC4TT - CCP TRACE ROUTINE.                                 * 06000000                
*         $CC4BE - BSCA ERP TRANSIENT.                                * 06010000                
*         $CC4MA - MLTA ERP TRANSIENT.                                * 06020000                
*         $CC4BB - BSCA RECORD BLANK TRANSIENT.                       * 06030000                
*         $CC4PS - CCP POST ROUTINE.                                  * 06040000                
*         $CC4BR - BSCA REJECT TRANSIENT.                             * 06050000                
*         $CC4BA - 3270 SENSE/STATUS TRANSIENT.                       * 06060000                
*         $CC4B5 - 3735 SENSE/STATUS TRANSIENT.                       * 06070000                
*         $CC4JX - X IS APPROPRIATE TRANSLATE TRANSIENT.              * 06080000                
*         $CC4WR - TRANSLATE ERROR TRANSIENT.                         * 06090000                
*         $CC4B0 - 3270 INPUT FORMAT TRANSIENT.                       * 06100000                
*         CMBSKP - BSCA SKIP BIT ON/OFF ROUTINE.                      * 06110000                
*         CMONSK/CMOFSK - MLTA SKIP BIT ON/OFF ROUTINE.               * 06120000                
*         CMGINL - INPUT RECORD LENGTH ROUTINE.                       * 06130000                
*         CPHALT - CCP HALT ROUTINE.                                  * 06140000                
*         CMFMRT - FREEMAIN ROUTINE.                                  * 06150000                
*         CMGMRT - GETMAIN ROUTINE.                                   * 06160000                
*         CMPSRQ - POST TP SCHEDULED ROUTINE.                         * 06170000                
*                                                                     * 06190000                
*  EXIT, NORMAL--TO CMRSCH TO RESCHEDULE WORK ON THE LINE.            * 06210000                
*                TO CMOPND IF MORE OP ENDS TO BE HANDLED.             * 06220000                
*                TO CMFRMN IF NO OP ENDS TO HANDLE.                   * 06230000                
*                                                                     * 06240000                
*********************************************************************** 06250000                
       SPACE                                                            06260000                
CMOPND EQU   *                         TEST OP END COUNT                06270000                
       CLI   CCOECT,NOBIT              CHECK OP END COUNT FOR ZERO      06280000                
       BE    CMFRMN                    IF ZERO, BR TO FREEMAIN ANALYSIS 06290000                
       SPACE                                                            06300000                
* ISSUE CHECK AND HANDLE THE OP END                                     06310000                
       SPACE                                                            06320000                
CMCHEK EQU   *                         ISSUE CHECK                      06330000                
       AIF   (&NOB).C0010                                               06340000                
       SPACE                                                            06350000                
*   LOCATE ANY BSCA DTF'S.                                            B 06360000                
       SPACE                                                            06370000                
       SBF   CMSWIT,CMBSCK             RESET BSCA DTF CHECK SCDEDULED.B 06380000                
       L     CCLCB1,DTF                LOAD @ 1ST LCB.                B 06390000                
CMENTR EQU   *                         *                              B 06400000                
       AIF   (&NOM).C0005                                               06410000                
       TBN   $BDDEV(,DTF),BSCA         BSCA DTF ?                     2 06420000                
       JF    CMEANR                    NO-GO CHECK FOR ANOTHER LCB.   2 06430000                
.C0005 ANOP                                                             06440000                
       SPACE                                                            06450000                
*   SET CHECK LIST TO IGNORE DTF IF DATA IS NOT READY TO GO.          B 06460000                
       SPACE                                                            06470000                
CMEBSC EQU   *                         *                              B 06480000                
       ST    CMSDTF,DTF                SAVE THE DTF ADDRESS.          B 06490000                
       SPACE 1                                                          06500000                
CMESKF EQU   *                         *                              B 06510000                
       AIF   (&MIN).N0020                                               06520000                
       L     $BDIOB(,DTF),IOB          LOAD PTR TO 1ST IOB.           B 06530000                
       MVI   CMC#SB,SBN2               SET OP TO SET SKIP ON.         B 06540000                
       B     CMCSKP                    GO TO CHECK LIST SKIP BIT RTN. B 06550000                
       SPACE                                                            06560000                
*    IF THERE IS ALREADY A BSCA DTF SET UP FOR CHECK, THEN DO NOT SET B 06570000                
*      UP ANOTHER BSCA DTF FOR CHECK.  SOME INTERNAL FIELDS WILL BE   B 06580000                
*      LOST IF ANOTHER DTF WHERE SET UP.                              B 06590000                
       SPACE                                                            06600000                
       TBN   CMSWIT,CMBSCK             BSCA DTF SET FOR CHECK ?       B 06610000                
       JT    CMEANR                    YES-DON'T SET UP ANOTHER ONE.  B 06620000                
       TBF   LCBOPE(,DTF),ALL          ANY OP ENDS FOR THIS LINE ?    B 06630000                
       JF    CMEXPM                    YES-GO EXAMINE PARM LIST STATUSB 06640000                
CMEANR EQU   *                         *                              B 06650000                
       CLI   LCBCHN-1(,DTF),CMZERO     ANOTHER DTF ?                  B 06660000                
       BE    CMECHK                    NO-GO TO CALL CHECK.           B 06670000                
       L     LCBCHN(,DTF),DTF          POINT TO NEXT DTF.             B 06680000                
       B     CMENTR                    GO TEST FOR BSCA DTF.          B 06690000                
.N0020 ANOP                                                             06700000                
       EJECT                                                            06710000                
*   EXAMINE THE PARM LIST, IGNORE OP END INTERRUPT IF PARM LIST NOT   B 06720000                
*     QUEUED.                                                         B 06730000                
       SPACE                                                            06740000                
CMEXPM EQU   *                         *                              B 06750000                
       TBN   LCBAT1(,DTF),LCBNTQ       PARM LIST REMOVED FROM QUEUE ? B 06760000                
       JF    CMEVLD                    NO-GO HANDLE VALID OP END.     B 06770000                
       SBN   LCBAT1(,DTF),LCBINT       SET OP END W/ NO PARM LIST Q'D.B 06780000                
       SLC   LCBOPE(1,DTF),CC0001      DECREMENT LINE OP END COUNT.   B 06790000                
       SLC   CCOECT,CC0001(1)          SUBTRACT 1 FROM OP END COUNT.  B 06800000                
       B     CMOPND                    GO CHECK FOR OTHER OP END'S.   B 06810000                
       SPACE 2                                                          06820000                
*   VALID OP END DO 1 OF 3 THING:                                     B 06830000                
*    1A.IF ABORTING THE LINE, GO TO CHECK WITH NO DTF SETTING UP.       06840000                
*    1B.IF OLT RUNNING/OUTPUT SELECT/OR DATA MOVED, GO TO CHECK.      B 06850000                
*    2. IF RECEIVE INITIAL, SET UP DTF AND IOB FOR TERMINAL INPUTTING.B 06860000                
*          UNLESS EOT RECEIVED TO RECEIVE INITIAL, IF SO CALL CHECK.  B 06870000                
*    3. IF NOT RECEIVE INITIAL, VALIDATE INPUT LINE BUFFER SIZE.      B 06880000                
       SPACE                                                            06890000                
CMEVLD EQU   *                         *                              B 06900000                
       SBN   CMSWIT,CMBSCK             SET'DTF SCHEDULED FOR CHECK'     06905000                
       AIF   (&MIN).N0040                                               06910000                
       MVI   CMC#SB,SBF2               SET OP TO SET SKIP OFF.        B 06920000                
       B     CMCSKP                    GO TO CHECK LIST SET SKIP RTN. B 06930000                
.N0040 ANOP                                                             06940000                
       SPACE                                                            06950000                
*   IF LINE IS BEING ABORTED, THEN GO TO CHECK WITH NO SETTING UP.      06960000                
       SPACE                                                            06970000                
       TBN   LCBAT2(,DTF),LCBABT       LINE ABORT IN PROCESS ?        B 06980000                
       JT    CMEGOK                    YES-GO CHECK FOR OTHER DTFS.   B 06990000                
       SPACE                                                            07000000                
*   SAVE THE TAS ATTRIBUTES FROM THE TUB IN SAVE AREA.                  07010000                
       SPACE                                                            07020000                
       L     LCBPL@(,DTF),PL           LOAD PARM LIST OF ACTIVE TERM, B 07030000                
       B     CMTASV                    GO TO TAS SAVE SUBROUTINE.     B 07040000                
       SPACE                                                            07050000                
       AIF   (&NSWL).S0060                                              07060000                
       SPACE                                                            07070000                
*    SET ON LINE CONNECTED INDICATOR FOR SWITCHED LINES.                07080000                
       SPACE                                                            07090000                
&MIX   SETA  &NCS+&NPP+&NMP                                             07100000                
       AIF   (&MIX EQ '3').S0050                                        07110000                
       TBN   $BDATR(,DTF),$BCSWI       SWITCHED                     SLB 07120000                
       TBF   $BDATR(,DTF),$BCMPT                LINE ?              SLB 07130000                
       JF    CMEXCK                    NO-DON'T SET CONNECTED.      SLB 07140000                
.S0050 ANOP                                                             07150000                
       SBN   LCBATR(,DTF),LCBNIT       SET SWITCHED LINE CONNECTED.  SB 07160000                
CMEXCK EQU   *                         *                              B 07170000                
.S0060 ANOP                                                             07180000                
       TBF   LCBOPC(,DTF),LCBMVD       DATA MOVED OR                  B 07190000                
       TBF   $BDATT(,DTF),$BCOUT       OUTPUT (SELECTION) OPERATION ? B 07200000                
       SBF   LCBOPC(,DTF),LCBMVD       SET OFF DATA MOVED IND.        B 07210000                
       JF    CMEGOK                    YES-GO CHECK FOR ANOTHER DTF.  B 07220000                
*                                                                   @16 07230000                
       SPACE                                                            07240000                
*   RECEIVE INITIAL ON THE LINE, SET UP DTF AND IOB FOR EXECUTION.    B 07250000                
       SPACE                                                            07260000                
       TBN   LCBAT2(,DTF),LCBRCI       RECEIVE INITIAL ON LINE ?      B 07270000                
       JF    CMEREC                    NO-GO HANDLE DATA RECORD LENGTHB 07280000                
       L     $BDIOB(,DTF),IOB          POINT TO THE IOB               B 07290000                
       TBN   IOBFLA(,IOB),FIRST        LINE INIT STILL IN PROCESS ?   B 07300000                
       JT    CMEGOK                    YES-GO TO CHECK OTHER DTF'S.   B 07310000                
       L     $BDWKA(,DTF),$BWK         POINT TO BSCA WORK AREA.       B 07320000                
       TBN   LCBAT2(,DTF),LCBRFT       RFT/OLT STARTED ?              B 07330000                
       JF    CMERFF                    NO-CHECK FOR RFT COMING IN.    B 07340000                
       TBN   $BWFG3(,$BWK),$BWRFT      RFT/OLT STILL RUNNING ?        B 07350000                
       JT    CMEGOK                    YES-GO CHECK FOR OTHER DTF'S.  B 07360000                
       SBF   LCBAT2(,DTF),LCBRFT       SET OFF RFT RUNNING INDICATOR. B 07370000                
       J     CMERCI                    GO HANDLE THE RECEIVE INITIAL. B 07380000                
       SPACE 1                                                          07390000                
CMERFF EQU   *                         *                              B 07400000                
       TBN   $BWFG3(,$BWK),$BWRFT      OLT RUNNING ?                  B 07410000                
       JF    CMERCI                    NO-GO HANDLE RECEIVE INITIAL.  B 07420000                
       SBN   LCBAT2(,DTF),LCBRFT       SET RFT STARTED AND RUNNING.   B 07430000                
CMERCI EQU   *                         *                              B 07440000                
       SPACE                                                            07450000                
*   IF DATA RECEIVED TO CANCEL REQUEST, THEN SET UP THE DTF,            07460000                
*     STOP INVITE FAILED. OTHERWISE, JUST SET UP TO CALL CHECK.         07470000                
       SPACE                                                            07480000                
       L     $BDIOB(,DTF),IOB          LOAD THE IOB REG.              B 07490000                
       CLI   IOBCMP(,IOB),$BCNEG       NEGATIVE RESPONSE ?            B 07500000                
       JE    CMEGOK                    YES-GO CHECK OTHER DTF'S       B 07510000                
       TBF   LCBAT1(,DTF),LCBCRI+LCBPRI CANCEL PENDING ?              B 07520000                
       JT    CMERCL                    NO-GO SET UP THE DTF FOR RCV.  B 07530000                
       CLI   IOBCMP(,IOB),$BCEOT       CANCEL OK ?                    B 07533000                
       JE    CMEGOK                    YES GO CHECK OTHER DTF'S       B 07536000                
       SPACE                                                            07550000                
CMERCL EQU   *                         *                              B 07560000                
       AIF   (&NPP).P0100                                               07570000                
       AGO   .P0150                                                     07580000                
.P0100 AIF   (&NMP).P0200                                               07590000                
.P0150 ANOP                                                             07600000                
       TBF   $BDATR(,DTF),$BCSWI       MULTI-TERM IND OFF ?        P/TB 07610000                
       JT    CMEOWN                    YES-PARM @ IN DTF, GO LOAD  P/TB 07620000                
.P0200 ANOP                                                             07630000                
       AIF   (&NCS).S0100                                               07640000                
       MVC   LCBID#(1,DTF),$BDIND(,DTF) MOVE IN CONTROL STATION ID.  CB 07650000                
       TBN   $BDATR(,DTF),$BCMCN       CONTROL STATION ?             CB 07660000                
       JT    CMECTL                    YES-GO FIND PARM LIST FOR CS. CB 07670000                
.S0100 ANOP                                                             07680000                
       AIF   (&NSWL).S0200                                              07690000                
       SPACE                                                            07700000                
*   FILL TERM ID FOR SWITCHED LINE IF SWITCHED ID LIST WAS USED.     SB 07710000                
       SPACE 1                                                          07720000                
       TBN   $BDADD(,DTF),$BCSWD       SWITCHED ID LIST USED ?       SB 07730000                
       JF    CMEOWN                    NO-TERM ADDRESS IN 'LCBPL@'.  SB 07740000                
       MVC   LCBID#(1,DTF),$BDRLN(,DTF) MOVE IN SWITCHED TERM ID.    SB 07750000                
.S0200 ANOP                                                             07760000                
&MIX   SETA  &NCS+&NSWL                                                 07770000                
       AIF   (&MIX EQ '2').S0300                                        07780000                
       SPACE 1                                                          07800000                
*   FIND PARM LIST FOR MULTI-TERMINAL LINE.                        C/SB 07810000                
       SPACE 1                                                          07820000                
CMECTL EQU   *                         *                           C/SB 07830000                
CMECSL EQU   *                         *                           C/SB 07840000                
       L     LCBPLQ(,DTF),PL           LOAD PTR TO FIRST PARM LIST.C/SB 07850000                
CMEXID EQU   *                         *                           C/SB 07860000                
       ST    LCBPL@(,DTF),PL           SAVE @ OF CURRENT PARM LIST.C/SB 07870000                
       TBN   PL$OPC(,PL),OPSTCM        STOP II THAT'S AN INVITE ?  C/SB 07873000                
       JT    CMESTI                    YES-SEE IF THIS IS THE TUB  C/SB 07876000                
       TBN   PL$OPM(,PL),OPGET         THIS A GET PARM LIST ?      C/SB 07880000                
       TBF   PLOPM(,PL),OPSTOP         STOP INVITE?                C/SB 07885000                
       JF    CMENXT                    NO-GO TO GET NEXT PARM LIST.C/SB 07890000                
CMESTI EQU   *                         *                           C/SB 07895000                
       L     PLTUBA(,PL),TUB           LOAD @ OF THIS TERMS TUB.   C/SB 07900000                
       CLC   TUBSID(1,TUB),LCBID#(,DTF) THIS RESPONDING TERM'S TUB C/SB 07910000                
       L     LCBPL@(,DTF),PL           RELOAD PARM LIST @.         C/SB 07920000                
       JE    CMESKP                    YES-GO SET SKIP BIT ON.     C/SB 07930000                
CMENXT EQU   *                         *                           C/SB 07940000                
       L     PLCHN(,PL),PL             LOAD REG TO NEXT PARM LIST @C/SB 07950000                
       B     CMEXID                    GO BACK TO EXAMINE THIS ID. C/SB 07960000                
       SPACE                                                            07970000                
CMESKP EQU   *                         *                           C/SB 07980000                
       SPACE                                                            07990000                
*   SAVE THE TAS ATTRIBUTTES FOR NEW TERMINAL.                          08000000                
       SPACE                                                            08010000                
*                                      ----START--------------------@03 08012000                
       MVC   LCBLID(1,DTF),LCBID#(,DTF) SAVE LAST TERMINAL ID           08014000                
*                                      -----END---------------------@03 08016000                
       B     CMTASV                    GO TO TAS SAVE SUBROUTINE.     B 08020000                
       SPACE                                                            08030000                
.S0300 ANOP                                                             08040000                
*   SET DTF AND IOB ATTRIBUTES, OWN, RECEIVE IND'S, AND BLOCK LENGTH. B 08050000                
*     ALSO SET LINE OWNERSHIP STATUS.                                   08060000                
       SPACE                                                            08070000                
CMEOWN EQU   *                         *                              B 08080000                
       B     CMBTAS                    RTN TO FILL DTF/IOB/OWNERSHIP. B 08090000                
       SPACE                                                            08100000                
       TBN   $BDATT(,DTF),$BCOUT       OUTPUT OPERATION ?             B 08110000                
CMEGOK EQU   *                         *                              B 08120000                
       JT    CMEBCK                    YES-GO CHECK FOR OTHER DTF'S.  B 08130000                
       AIF   (&NITB).I0200                                              08140000                
       TBN   SAVTA2,TASREC+TASITB      RECORD MODE AND ITB ?         IB 08150000                
       JF    CMEIOB                    NO-GO CORRECT THE IOB'S.      IB 08160000                
       MVC   $BDITB(1,DTF),TUBBKF(,TUB) PUT BLOCK FACTOR IN TEMP WORKIB 08170000                
       AIF   (&NTSP).I0100                                              08180000                
       TBN   TUBTA2(,TUB),TASTSP       TRANSPARENCY ?               IXB 08190000                
       JF    CMEITB                    NO-GO SET FOR ITB ONLY.      IXB 08200000                
       ALC   LCBKLC(2,DTF),$BDITB(,DTF) ADD 3 TIMES BLOCKING FACTOR IXB 08210000                
       ALC   LCBKLC(2,DTF),$BDITB(,DTF) * BUFFER LENGTH FOR ITB TRANIXB 08220000                
       ALC   LCBKLC(2,DTF),$BDITB(,DTF) * GET.                      IXB 08230000                
       MVI   $BDITB(,DTF),3            SET ITB LENGTH TO 3.         IXB 08240000                
       J     CMEIOB                    GO CORRECT ALL IOB'S ATTRIBUTIXS 08250000                
       SPACE                                                            08260000                
.I0100 ANOP                                                             08270000                
CMEITB EQU   *                         *                            IXB 08280000                
       ALC   LCBKLC(2,DTF),$BDITB(,DTF) ADD BLK FACTR TO LEN, ITB ONLIB 08290000                
       MVI   $BDITB(,DTF),1            SET ITB LENGTH TO 1.          IB 08300000                
.I0200 ANOP                                                             08310000                
       SPACE                                                            08320000                
*   CORRECT ALL IOB'S IN THE CHAIN FOR ANY NEW ATTRIBUTTES SET.         08330000                
       SPACE                                                            08340000                
CMEIOB EQU   *                         *                              B 08350000                
       L     $BDIOB(,DTF),IOB          LOAD THE IOB POINTER.          B 08360000                
CMBTIB EQU   *                         FILL THE IOB ATTRIBUTTES.      B 08370000                
       MVC   IOBFLG(1,IOB),$BDATT(,DTF) MOVE ATTR. BYTE TO IOB.       B 08380000                
       AIF   (&MIN).N0200                                               08390000                
       CLC   IOBNXT(2,IOB),$BDIOB(,DTF) ANOTHER IOB IN THE CHAIN ?   NB 08400000                
       L     IOBNXT(,IOB),IOB          LOAD @ OF NEXT IOB.           NB 08410000                
       BNE   CMBTIB                    YES-GO FILL THE NEXT IOB.     NB 08420000                
.N0200 ANOP                                                             08430000                
       SPACE 1                                                          08440000                
*   IF NOT A GOOD DATA BLOCK, DON'T CHECK DME, RECORD LENGTH, ETC.    B 08450000                
       SPACE 1                                                          08460000                
       TBF   IOBCMP(,IOB),ALL-$BCEOT   GOOD DATA BLOCK ?              B 08470000                
       JF    CMEBCK                    NO-GO CHECK OTHER DTF'S.       B 08480000                
       AIF   (&NDME).D0300                                              08490000                
       SPACE 1                                                          08500000                
*   IF THE CLEAR KEY WAS HIT FOR A COMMAND CAPABLE 3270, OR THIS IS  DB 08510000                
*     A COMMAND CAPABLE CPU, THEN CALL IN DME INQUIRY TRANSIENT.     DB 08520000                
       SPACE 1                                                          08530000                
       L     LCBPL@(,DTF),PL           POINT TO THE PARM LIST.       DB 08540000                
       L     PLTUBA(,PL),TUB           POINT TO THE TUB.             DB 08550000                
       TBF   TUBAT2(,TUB),TUBCMD       NOT COMMAND MODE,             DB 08560000                
       TBN   TUBAT2(,TUB),TUBDTA       , IS IN DATA MODE, AND        DB 08570000                
       TBN   TUBAT1(,TUB),TUBREQ       * IS THE REQUESTOR ?          DB 08580000                
       JF    CMEREC                    NO-GO CHECK RECORD LENGTH.    DB 08590000                
       AIF   (&N32).D0100                                               08600000                
       TBN   TUBSCS(,TUB),TUBCLR       CLEAR KEY HIT ?              0DB 08610000                
       AIF   (&NCPU).D0050                                              08620000                
       JT    CMEBIC                    YES-GO TO INQUIRY XIENT.     0DB 08630000                
       AGO   .D0100                                                     08640000                
.D0050 ANOP                                                             08650000                
       JF    CMEREC                    NO-GO CHECK RECORD LENGTH.   0DB 08660000                
       AGO   .D0200                                                     08670000                
.D0100 AIF   (&NCPU).D0200                                              08680000                
       CLI   TUBPHY(,TUB),TUBCPU       CPU TERMINAL ?               UDB 08690000                
       JNE   CMEREC                    NO-GO CHECK RECORD LENGTH.   UDB 08700000                
.D0200 ANOP                                                             08710000                
CMEBIC EQU   *                         CALL DME INQUIIRY TRANSIENT.  DB 08720000                
       LA    CMDME,XR1                 POINT XR1 TO DME STRING.      DB 08730000                
       B     $CC4PI                    CALL TRANSIENT LOADER FOR     DB 08740000                
       DC    AL1(CC4BI)                BSCA DME INQUIRY.             DB 08750000                
       SPACE 1                                                          08760000                
.D0300 ANOP                                                             08770000                
CMEREC EQU   *                         *                              B 08780000                
       B     CMGINL                    GO TO GET INPUT LENGTH RTN.    B 08790000                
       SPACE                                                            08800000                
CMEBCK EQU   *                         *                              B 08810000                
       AIF   (&MIN).N0300                                               08820000                
       B     CMEANR                    GO CHECK FOR ANOTHER DTF.      B 08830000                
.N0300 ANOP                                                             08840000                
       SPACE                                                            08850000                
CMECHK EQU   *                         *                              B 08860000                
.C0010 ANOP                                                             08870000                
       B     CHENTR                    GO DO CHECK                      08873000                
       J     CHEND0                    GO AROUND CHECK(ALREADY DONE)    08876000                
       MEND                                                             08890000