         TITLE 'IEE20110  UNIT STATUS ONE, PART OF SVC 110'             00050000
IEE20110 CSECT                                                          00100000
*********************************************************************** 00200000
*                                                                     * 00250000
* STATUS                                                              * 00300000
*    CHANGE LEVEL=0 VS 2 RELEASE 3                                      00350000
*        APARS FIXED ZA02348                                            00360023
*                                                                     * 00400000
* FUNCTION                                                            * 00450000
*    GET CORE FOR WORKAREA                                            * 00500000
*    SYNTAX CHECK COMMAND                                             * 00550000
*    ESTABLISH COMMAND REQUIREMENTS                                   * 00600000
*    FIND STARTING UCB                                                * 00650000
*                                                                     * 00700000
* ENTRY POINTS                                                        * 00750000
*         IEE20110                                                    * 00800000
*                                                                     * 00850000
* INPUT                                                               * 00900000
*    REG 2 CONTAINS THE CSCB ADDRESS WHICH CONTAINS THE COMMAND       * 00950000
*                                                                     * 01000000
* OUTPUT                                                              * 01050000
*    NONE                                                             * 01100000
*                                                                     * 01150000
* EXTERNAL REFERENCES                                                 * 01200000
*         SVC 10   (GETMAIN)                                          * 01250000
*                                                                     * 01300000
* EXITS,NORMAL                                                        * 01350000
*         IEE23110 TO FIND MORE UCB'S                                 * 01400000
*                                                                     * 01450000
* EXITS,ERROR                                                         * 01500000
*         IEE22110 TO ISSUE ERROR MESSAGES                            * 01550000
*                                                                     * 01600000
* TABLES/WORKAREAS                                                    * 01650000
*    CSCB                                                             * 01700000
*    XSA                                                              * 01750000
*    WORKAREA                                                         * 01800000
*    CVT                                                              * 01850000
*    UCB                                                              * 01900000
*                                                                     * 01950000
* ATTRIBUTES                                                          * 02000000
*    TYPE IV SVC, PRIVILEGED, RE-ENTRANT                         A36790 02050000
*                                                                     * 02100000
* CHARACTER CODE DEPENDENCY                                           * 02150000
*    NONE                                                             * 02200000
*                                                                     * 02250000
* NOTES                                                               * 02300000
*    NONE                                                             * 02350000
*                                                                     * 02400000
*********************************************************************** 02450000
         EJECT                                                          02500000
*/*IEE20110: CHART */                                                   02550000
*/* E IEE20110 */                                                       02600000
*/* P ESTABLISH ADDRESSABILITY */                                       02650000
*/* S GETMAIN SVC 10:GET WORKAREA SP=255, LENGTH=136 */                 02700000
*/* P PREPARE WORK AREA */                                              02750000
*/*START: D (NO,,YES,UCOM) COMMAND = 'U,' ? */                          02800000
*/* D (NO,,YES,ALLDEFLT) COMMAND = 'UBLANK' ? */                        02850000
*/*ERROR1: P (,ERRWRITE) INDICATE INVALID OPERAND */                    02900000
*/*ALLDEFLT: P INDICATE DISPLAY ALL DEVICE TYPES */                     02950000
*/* P (,SCANSET) INDICATE DISPLAY ALL DEVICE STATUS */                  03000000
*/*UCOM: P POINT TO FIRST OPERAND (DEVICE TYPE) */                      03050000
*/* D (NO,,YES,DEFALL1) IS IT DEFAULTED (=',') */                       03100000
*/* P POINT TO DEVICE TYPE TABLE */                                     03150000
*/* S SCAN RTN:BAL TO FIND DEVICE TYPE */                               03200000
*/* D (NO,,YES,UCOM1) ANY MORE OPERANDS ? */                            03250000
*/* D (NO,ERROR1,YES,) BLANK DELIMITING COMMAND ? */                    03300000
*/* P INDICATE USE THE DEFAULT STATUS */                                03350000
*/* P (,ENDCOMM) SET NUMBER OF DEVICES TO 100 */                        03400000
*/*DEFALL1: P INDICATE ALL DEVICE TYPES TO BE DISPLAYED */              03450000
*/*UCOM1: D (NO,,YES,STATDEF) DEVICE STATUS DEFAULTED ? */              03500000
*/* P POINT TO STATUS TABLE */                                          03550000
*/* S SCAN RTN:GO FIND STATUS WANTED */                                 03600000
*/* D (NO,,YES,UCOM2) ANY MORE OPERANDS */                              03650000
*/* D (NO,ERROR1,YES,) BLANK DELIMIT COMMAND ? */                       03700000
*/* P (,ENDCOMM) SET NUMBER OF DEVICES TO 100 */                        03750000
*/*STATDEF: P INDICATE STATUS DEFAULT TO ALL */                         03800000
*/*UCOM2: D (NO,UCOM2A,YES,) DEVICE ADDRESS DEFAULTED */                03850000
*/* P (,UCOM3) REMEMBER THAT FACT */                                    03900000
*/*UCOM2A: D (NO,ERROR1,YES,) ADDRESS A HEX NUMBER ? */                 03950000
*/* D (NO,,YES,UCOM3) ANY MORE OPERANDS ? */                            04000000
*/* D (NO,ERROR1,YES,) COMMAND TERMINATED BY BLANK */                   04050000
*/* P (,ENDCOMM) SET NUMBER OF DEVICES TO 100 */                        04100000
*/*UCOM3: D (NO,,YES,ERROR1) IS NEXT OPERAND A BLANK */                 04150000
*/* P PREPARE TO CHECK FOR VALID NUMBER */                              04200000
*/* P POINT TO FIRST CHARACTER IN NUMBER */                             04250000
*/*LOOPER: D (NO,CHKBLANK,YES,) IS CHARACTER A NUMBER ? */              04300000
*/* D (NO,CHKBLANK,YES,LOOPER) MORE CHARACTERS TO CHECK ? */            04350000
*/*CHKBLANK: D (NO,ERROR1,YES,) IS CHARACTER A BLANK ? */               04400000
*/* P CONVERT NUMBER TO BINARY */                                       04450000
*/* D (NO,,YES,ERROR1) IS NUMBER = 0 ? */                               04500000
*/* P INDICATE LINE DEFAULT NOT TAKEN */                                04550000
*/*ENDCOMM: D (NO,SCANSET,YES,) REQUEST FOR ONE DEVICE ? */             04600000
*/* P INDICATE THAT FACT */                                             04650000
*/* P SET UP FOR SEVEN UNITS PER LINE */                                04700000
*/*SCANSET: D (NO,,YES,SCANSET0) OFFLINE DISPLAY ? */                   04750000
*/* P SET UP FOR 2 UNITS PER LINE */                                    04800000
*/*SCANSET0: P GET DEVICE ADDRESS FROM COMMAND */                       04850000
*/*SCANSET1: P POINT TO LOOK UP TABLE */                                04900000
*/* S SCAN1 RTN:GO FIND DEVICE IN TABLE */                              04950000
*/* D (NO,,YES,SCANEXIT) DEVICE FOUND ? */                              05000000
*/* D (NO,SCAN3,YES,) SINGLE DEVICE REQUEST */                          05050000
*/* D (NO,,YES,SCAN3) NUMBER DEFAULTED TO 100 */                        05100000
*/* P (,ERRWRIT1) INDICATE ERROR */                                     05150000
*/*SCAN3: P POINT TO UCB ADDRESS TABLE */                               05200000
*/*SCAN3A: P GET A UCB ADDRESS */                                       05250000
*/* D (NO,SCAN3C,YES,SCANEXI2) END OF TABLE ? */                        05300000
*/*SCAN3B: P (,SCAN3A) GO TO NEXT UCB ADDRESS */                        05350000
*/*SCAN3C: S COMPSET:CHANGE ADDRESS TO BINARY */                        05400000
*/* D (NO,SCAN3B,YES,) NEW ADDR OVER LAST ADDR ? */                     05450000
*/* D (NO,,YES,SCAN3E) ANY PREVIOUS LOW ? */                            05500000
*/*SCAN3D: P (,SCAN3B) SET NEW LOW */                                   05550000
*/*SCAN3E: S COMPSET:CHANGE ADDRESSES FOR COMPARE */                    05600000
*/* D (NO,SCAN3B,YES,SCAN3D) NEW ADDR LESS THAN OLD LOW ? */            05650000
*/* E SCAN1 */                                                          05700000
*/*SCAN1: P GET A UCB ADDRESS */                                        05750000
*/* D (NO,SCAN1B,YES,SCAN1C) END OF TABLE ? */                          05800000
*/*SCAN1A: P (,SCAN1) BUMP TO NEXT ADDRESS */                           05850000
*/*SCAN1B: D (NO,SCAN1A,YES,SCAN1D) THIS THE UCB SEARCHED FOR ? */      05900000
*/*SCAN1C: P INDICATE UCB NOT FOUND */                                  05950000
*/*SCAN1D: R BR 14 */                                                   06000000
*/*COMPSET: E COMPSET */                                                06050000
*/*COMPSET1: P PREPARE FOR LOOP */                                      06100000
*/*COMPSET2: D (NO,,YES,COMPSET5) NUMBER 0 TO 9 ? */                    06150000
*/* D (NO,ERROR1,YES,) LETTER A TO F ? */                               06200000
*/* D (NO,,YES,ERROR1) DIGIT GREATER THAN 'F' ? */                      06250000
*/* P ADD NINE (9) TO DIGIT AND SAVE ?*/                                06300000
*/*COMPSET3: P POINT TO NEXT DIGIT */                                   06350000
*/* D (NO,COMPSET2,YES,) LAST DIGIT DONE? */                            06400000
*/* D (NO,COMPSET4,YES,) FIRST TIME THRU ? */                           06450000
*/* D (NO,,YES,SCANEXI4) THIS ADDR OUT OF SYSTEM ? */                   06500000
*/* P INDICATE NOT FIRST TIME THRU */                                   06550000
*/* P (,COMPSET1) POINT TO ADDRESS IN UCB */                            06600000
*/*COMPSET4: P SAVE CONVERTED ADDRESSES */                              06650000
*/* R BR 14 */                                                          06700000
*/*COMPSET5: P (,COMPSET3) GET THE DIGIT */                             06750000
*/* E SCAN */                                                           06800000
*/*SCAN: P GET PARAMETER LENGTH */                                      06850000
*/* D (NO,,YES,ERROR1) END OF TABLE ? */                                06900000
*/* D (NO,,YES,HIT) THIS THE OPERAND ? */                               06950000
*/* P (,SCAN) GO TO NEXT ENTRY IN TABLE */                              07000000
*/*HIT: P GO TO NEXT OPERAND IN COMMAND */                              07050000
*/* R BR 14 */                                                          07100000
*/*SCANEXI2: D (NO,,YES,SCANEXI3) ADDR IN COMMAND HIGHER THAN SYSTEM ?  07150000
*/**/                                                                   07200000
*/*SCANEXI4: P (,ERRWRIT1) INDICATE ERROR MSG TO BE WRITTEN */          07250000
*/*ERRWRITE:  P HOLD 'FROM' CONSOLE ID */                               07300000
*/*ERRWRIT1: P (,XCTL) PREPARE FOR XCTL TO IGC22110 */                  07350000
*/*SCANEXI3: P HOLD UCB POINTER */                                      07400000
*/*SCANEXIT: P SET FIRST ENTRY FLAG FOR UNIT 2 */                       07450000
*/* P SET XCTL TO IGC23110 */                                           07500000
*/*XCTL: P SET UP XCTL PARM LIST */                                     07550000
*/* R NEXT LOAD */                                                      07600000
*/*IEE20110: END */                                                     07650000
         EJECT                                                          07700000
         BALR  R10,R0                                                   07750000
         USING *,R10                                                    07800000
         B     ICATCH              BRANCH AROUND EYECATCHER   MB YM1902 07810000
         DC    C'01 MODULE IGC20110, FICHE IEE20110  '        MB YM1902 07820000
         DC    XL2'4211'           JULIAN DATE LAST CHANGE              07822000
         DC    CL8'&SYSDATE'       DATE OF LAST ASSEMBLY                07824000
         DC    S(*)                BASE/DISPL OF PATCH AREA             07826000
ZAPAREA  DC    12C'ZAP'  RESERVED FOR FIELD MODIFICATION      MB YM1902 07830000
ICATCH   EQU   *                                              MB YM1902 07840000
         LR    R11,R2                                                   07850000
         USING CSCB,R11                                                 07900000
         SPACE 2                                                        07950000
*********************************************************************** 08000000
*                                                                     * 08050000
*     OBTAIN WORKAREA AND INITIALIZE                                  * 08100000
*                                                                     * 08150000
*********************************************************************** 08200000
         LA    R1,SPN              SUBPOOL NUMBER                       08250000
         SLL   R1,HIGH             SET IN HIGH ORDER BYTE               08300000
         LA    R0,WAL              WORKAREA LENGTH                      08350000
         OR    R0,R1               COMBINE IN REG 0                     08400000
         GETMAIN R,LV=(0)          OBTAIN WORKAREA CORE                 08450000
         LR    R12,R1              SAVE CORE POINTER                    08500000
         USING WORKAREA,R12                                             08550000
         XC    WORKAREA(WAL),WORKAREA   ZERO OUT WORKAREA               08600000
         MVI   UNIT1,NUMERIC       SET DEFAULT ADDRESS (UNIT2) AND      08650000
         MVC   UNIT1+ONE(L11),UNIT1     INITIALIZE OTHERS               08700000
         LA    R15,ADCVT           POINT TO CVT ADDRESS                 08750000
         L     R15,ZERO(R15)       GET CVT ADDRESS                      08800000
         USING CVT,R15                                                  08850000
         STM   R13,R14,SWORD      SAVE REGS FOR MFT RETURN              08900000
         MVC   HOLD2+L2(L1),CHUCMP  SAVE ROUTINE FROM ID                08950000
         MVC   HOLD2+L3(L1),CHCNID   SAVE ROUTE TO ID                   09000000
         MVC   IDFLD(L1),CHARID    SAVE CONSOLE AREA ID                 09050000
         MVI   PACKWORD,NUMERIC    SET TO C'0' FOR                      09100000
         MVC   PACKWORD+L1(L3),PACKWORD   PACKING OPERATIONS            09150000
         MVI   TEXT,BLANK          BLANK TEXT AREA                      09200000
         MVC   TEXT+L1(L71),TEXT   PROPAGATE BLANKS                     09250000
         SPACE 2                                                        09300000
*********************************************************************** 09350000
*                                                                     * 09400000
*     OBTAIN COMMAND INPUT FROM CSCB AND CHECK SYNTAX                 * 09450000
*                                                                     * 09500000
*********************************************************************** 09550000
START    EQU   *                                                        09600000
         LA    R3,CHBUF+ONE        ADDRESS OF SECOND CHARACTER. IT IS   09650000
*                                  ASSUMED THAT THE FIRST IS A 'U'      09700000
         CLI   ZERO(R3),COMMA      U,                                   09750000
         BE    UCOM                YES                                  09800000
         CLI   ZERO(R3),BLANK      U BLANK                              09850000
         BE    ALLDEFLT            YES SET ON DEFAULT SWITCHES          09900000
ERROR1   EQU   *                                                        09950000
         MVI   FLAG4,MSG3          INVALID OPERAND                      10000000
         B     ERRWRITE            ISSUE MESSAGE                        10050000
ERROR2   DS    0H                                           JE @ZA02348 10060023
         MVI   FLAG4,MSG3          INVALID OPERAND MSG      JE @ZA02348 10070023
         B     ERRWRIT1            ISSUE MSG, CONSOLE ID IN FROMID      10080023
*                                                           JE @ZA02348 10090023
ALLDEFLT EQU   *                                                        10100000
         OI    FLAG1,ALLTYPE       INDICATE DISPLAY ALL TYPES           10150000
         OI    FLAG2,ALLS          INDICATE DISPLAY ANL STATUS          10200000
         MVI   NODEVICS+ONE,NODEVDEF MOVE IN DEFAULT VALUE              10250000
         B     SCANSET             SET UP FOR UCB SCAN                  10300000
UCOM     EQU   *                                                        10350000
         LA    R3,ONE(R3)          BUMP PAST POINTER                    10400000
         CLI   ZERO(R3),COMMA      FIRST VALUE DEFAULTED                10450000
         BE    DEFALL1             YES HANDLE ALL                       10500000
         LA    R2,TYPELIST         POINT TO CORRECT LIST                10550000
         LA    R6,FLAG1            POINT TO CORRECT FLAG BYTE           10600000
         BAL   R14,SCAN            FIND PARAMETER                       10650000
         CLI   ZERO(R3),COMMA      MORE PARAMETERS                      10700000
         BE    UCOM1               YES HANDLE                           10750000
         CLI   ZERO(R3),BLANK      BLANK DELIMIT COMMAND                10800000
         BNE   ERROR1              NO ERROR                             10850000
         OI    FLAG2,ALLS          INDICATE STATUS DEFAULT              10900000
         MVI   NODEVICS+ONE,NODEVDEF SET NUMBER DEFAULT                 10950000
         B     ENDCOMM             CHECK DIDOCS                         11000000
DEFALL1  EQU   *                                                        11050000
         OI    FLAG1,ALLTYPE       INDICATE ALL TYPES TO BE DISPLAYED   11100000
UCOM1    EQU   *                                                        11150000
         LA    R3,ONE(R3)          BUMP PAST COMMA                      11200000
         CLI   ZERO(R3),COMMA      STATUS DEFAULT                       11250000
         BE    STATDEF             YES HANDLE                           11300000
         LA    R2,STATPARM         POINT TO CORRECT LIST                11350000
         LA    R6,FLAG2            POINT TO CORRECT FLAG BYTE           11400000
         BAL   R14,SCAN            FIND OPERAND                         11450000
         CLI   ZERO(R3),COMMA      MORE OF COMMAND                      11500000
         BE    UCOM2               YES HANDLE                           11550000
         CLI   ZERO(R3),BLANK      BLANK DELINEATE COMMAND              11600000
         BNE   ERROR1              NO ERROR                             11650000
         MVI   NODEVICS+ONE,NODEVDEF INDICATE DEFAULT VALUE             11700000
         B     ENDCOMM             CHECK FOR DIDOCS                     11750000
STATDEF  EQU   *                                                        11800000
         OI    FLAG2,ALLS          INDICATE STATUS DEFAULT TO ALL       11850000
UCOM2    EQU   *                                                        11900000
         LA    R3,ONE(R3)          KICK PAST COMMA                      11950000
         CLI   ZERO(R3),COMMA      DEVICE ADDRESS DEFAULTED             12000000
         BNE   UCOM2A              NO, CHECK ADDRESS                    12050000
         OI    FLAG3,DEVDEF        YES, REMEMBER                        12100000
         B     UCOM3               CHECK NEXT OPERAND                   12150000
UCOM2A   EQU   *                                                        12200000
         CLI   ZERO(R3),BLANK      SHOULD BE A HEX NUMBER               12250000
         BE    ERROR1              IS NOT, ERROR CONDITION              12300000
         MVC   UNIT2+ONE(L3),ZERO(R3)   MOVE ADDRESS INTO WORK AREA     12350000
         LA    R3,L3(R3)           POINT PAST ADDRESS                   12400000
         CLI   ZERO(R3),COMMA      MORE OPERANDS                        12450000
         BE    UCOM3               YES HANDLE                           12500000
         CLI   ZERO(R3),BLANK      IS COMMAND STOPPED BY A BLANK        12550000
         BNE   ERROR1              NO ERROR MSG                         12600000
         MVI   NODEVICS+1,NODEVDEF      SET NO. DEVICES TO 100          12650000
         B     ENDCOMM             YES END OF COMMAND                   12700000
UCOM3    EQU   *                                                        12750000
         LA    R3,ONE(R3)          BUMP PAST COMMA                      12800000
         CLI   ZERO(R3),BLANK      IS THIS CHARACTER A BLANK            12850000
         BE    ERROR1              YES THIS MUST BE A NUMBER-ERROR MSG  12900000
         LR    R2,R3               SAVE CHAR POINTER IN COMMAND         12950000
         SR    R6,R6               CLEAR REG                            13000000
         LH    R5,FOUR            GET BYTE STOP              @Z30AAJE   13050003
LOOPER   EQU   *                                                        13100000
         TM    ZERO(R2),NUMERIC     IS THIS CHARACTER A NUMBER          13150000
         BNO   CHKBLANK            NO SEE IF BLANK DELIMITS COMMAND     13200000
         LA    R2,ONE(R2)          POINT TO NEXT CHARACTER              13250000
         LA    R6,ONE(R6)          UP COUNT                             13300000
         BCT   R5,LOOPER           CHECK FOUR NUMBERS        @Z30AAJE   13350003
CHKBLANK EQU   *                                                        13400000
         CLI   ZERO(R2),BLANK      BLANK CHARACTER                      13450000
         BNE   ERROR1              NO ERROR MSG                         13500000
*                                  NUMBER IS VALID. THE FOLLOWING CODE  13550000
*                                  CONVERTS IT TO BINARY.               13600000
         LA    R4,PACKWORD         POINT TO MOVE PLACE                  13700000
         BCTR  R6,R0               DECREMENT LENGTH BY ONE              13750000
         AR    R5,R4               POINT TO CORRECT MOVE POINT          13800000
         EX    R6,MOVE             MOVE NUMBER                          13850000
         PACK  CVBWORD(L4),PACKWORD(L4)   PACK EBCDIC TO HEX            13900000
         XC    PACKWORD(L4),PACKWORD    ZERO OUT FIRST WORD             13950000
         LR    R5,R6               SAVE LENGTH                          14000000
         CVB   R6,PACKWORD         CONVERT TO HEX WITHOUT SIGN          14050000
         LTR   R6,R6               IS NUMBER ZERO                       14100000
         BZ    ERROR1              YES ERROR                            14150000
         OI    FLAG5,NODEF         LINE DEFAULT NOT TAKEN               14200000
         STH   R6,NODEVICS         SAVE IN WORKAREA                     14250000
ENDCOMM  EQU   *                                                        14300000
         CLI   NODEVICS+L1,L1      SINGLE REQUEST                       14350000
         BNE   SCANSET             NO                                   14400000
         OI    FLAG2,SINGLE        YES, INDICATE SINGLE SEARCH          14450000
         SPACE 2                                                        14500000
*********************************************************************** 14550000
*                                                                     * 14600000
*     SET UP FOR SCAN TO PRODUCE DISPLAY LINES                        * 14650000
*                                                                     * 14700000
*********************************************************************** 14750000
SCANSET  EQU   *                                                        14800000
         XC    WORKING(L104),WORKING    ZERO OUT CSCB WORK AREA         14850000
         MVC   FROMID(L1),HOLD2+L2   SAVE FROM ID                       14900000
         XC    HOLD2(L3),HOLD2     ZERO OUT MLWTO NUMBER                14950000
         MVI   DEVNOLN+ONE,LONGLINE    SEVEN UNITS PER LINE             15000000
         TM    FLAG2,OFFLNS        OFFLINE DISPLAY                      15050000
         BO    SCANSET0            YES                                  15100000
         MVI   DEVNOLN+ONE,REGLINE    TWO UNITS PER LINE                15150000
SCANSET0 EQU   *                                                        15200000
         USING UCB,R9                                                   15250000
         L     R8,CVTILK2          POINT TO LOOK UP TABLE               15400000
SCAN1    EQU   *                                              MG YM3885 15496000
         SR    R9,R9               CLEAR REGISTER             JE YM6838 15496400
         ICM   R9,3,ZERO(R8)       GET ADDRESS                JE YM6838 15496500
         BZ    SCAN1A              BRANCH IF ADDR NULL        JE YM6838 15496600
         CLM   R9,3,FOXFOX         END OF UCB TABLE            @Z30AAJE 15496800
         BE    SCAN3               YES                        JE YM6838 15497200
         B     SCAN1B                                          @Z30AAJE 15497600
SCAN1A   EQU   *                                              MG YM3885 15498400
         LA    R8,L2(R8)           BUMP TO NEXT ADDRESS       MG YM3885 15499700
         B     SCAN1               LOOK AT IT                 MG YM3885 15499800
SCAN1B   EQU   *                                              MG YM3885 15499900
         N     R9,FOXAND           CLEAR TOP HALF OF REG      MG YM3885 15516600
         LA    R13,UNIT2+ONE       POINT TO DEV ADDR          MG YM3885 15518600
         BAL   R14,COMPSET         CONVERT EBCDIC TO HEX      MG YM3885 15520600
         STC   R5,UNITADDA         STORE CONVERTED ADDRESS    MH Y02139 15522603
         NI    UNITADDA,ZEROFOX    ZERO SUBCHANNEL PORTION    MH Y02139 15523003
         MVC   UNITADDB(L1),UCBUA  STORE HEX ADDRESS          MH Y02139 15523403
         NI    UNITADDB,ZEROFOX    ZERO SUBCHANNEL PORTION    MH Y02139 15523803
         CLC   UNITADDA(L1),UNITADDB    COMPARE ADDRESS       MH Y02139 15524203
         BNE   SCAN1A              NOT EQUAL, NOT BASE UCB    MG YM3885 15524600
         CLC   UNIT2+L1(L3),UCBNAME   RIGHT UCB               MG YM3885 15526600
         BE    SCANEXIT            YES                        MG YM3885 15528600
         B     SCAN1A              NO, FIND ANOTHER           MG YM3885 15530600
**********************************************************************  15900000
*         THIS CODE IS USED AS A SUBROUTINE TO FIND THE NEXT            15950000
*         HIGHEST DEVICE ADDRESS THAT EXISTS IN THE SYSTEM              16000000
*********************************************************************** 16050000
SCAN3    EQU   *                                                        16100000
         L     R8,CVTILK2          UCB ADDR LIST                        16150000
SCAN3A   EQU   *                                                        16250000
         SR    R9,R9               CLEAR REGISTER             JE YM6838 16260000
         ICM   R9,3,ZERO(R8)         GET UCB ADDR             JE YM6838 16262000
         BZ    SCAN3B              BRANCH IF ADDR NULL        JE YM6838 16264000
         CLM   R9,3,FOXFOX         END OF UCB TABLE            @Z30AAJE 16270000
         BE    SCANEXI2            YES                        JE YM6838 16280003
         B     SCAN3C              GO LOOK AT UCB              @Z30AAJE 16330000
SCAN3B   EQU   *                                                        16500000
         LA    R8,L2(R8)           BUMP TO NEXT ADDR                    16550000
         B     SCAN3A              TRY NEXT                             16600000
SCAN3C   EQU   *                                                        16650000
         N     R9,FOXAND           CLEAR TOP HALF OF REGISTER           16700000
         LA    R13,UNIT2+ONE       WHICH ADDRESS TO COMPARE             16750000
         BAL   R14,COMPSET         CHANGE ADDRESSES FOR COMPARE         16800000
         STC   R5,UNITADDA         STORE CONVERTED ADDRESS    MH Y02139 16810003
         NI    UNITADDA,ZEROFOX    ZERO SUBCHANNEL PORTION    MH Y02139 16812003
         MVC   UNITADDB(L1),UCBUA  STORE HEX ADDRESS          MH Y02139 16814003
         NI    UNITADDB,ZEROFOX    ZERO SUBCHANNEL PORTION    MH Y02139 16816003
         CLC   UNITADDA(L1),UNITADDB    COMPARE ADDRESS       MH Y02139 16818003
         BNE   SCAN3B              NOT EQUAL, NOT BASE UCB    MG YM3885 16820000
         CLR   R4,R5               NEW ADDRESS GREATER                  16850000
         BH    SCAN3B              NO                                   16900000
         CLI   UNIT3,NUMERIC       ANY PREVIOUS LOW                     16950000
         BNE   SCAN3E              YES                                  17000000
         MVI   UNIT3,ZERO          CLEAR FLAG FROM FIRST BYTE           17050000
SCAN3D   EQU   *                                                        17100000
         MVC   UNIT3+ONE(L3),UCBNAME    NEW LOW ABOVE ORIGINAL ADDRESS  17150000
         LR    R0,R9              SHIFT UCB POINTER                     17200000
         B     SCAN3B              GET ANOTHER                          17250000
SCAN3E   EQU   *                                                        17300000
         LA    R13,UNIT3+ONE       WHICH ADDRESS TO COMPARE             17350000
         BAL   R14,COMPSET         CHANGE ADDRESSES FOR COMPARE         17400000
         CLR   R4,R5               NEW ADDR LESS THAN OLD LOW           17450000
         BNH   SCAN3B              NO                                   17500000
         B     SCAN3D              YES, SAVE IT                         17550000
*********************************************************************** 18850000
* THE FOLLOWING CODE CONVERTS EBCDIC REPRESENTATION OF HEX UNIT       * 18900000
* ADDRESSES INTO BINARY NUMBERS THAT CAN BE USED IN A COMPARE LOGICAL * 18950000
* REGISTER STATEMENT FOLLOWED BY A BRANCH HIGH, LOW OR EQUAL.         * 19000000
* ON ENTRY R13 POINTS TO EITHER UNIT1, UNIT2 OR UNIT3. THE CONVERTED  * 19050000
* ADDRESS FROM THIS LOCATION IS PLACED IN R4.                         * 19100000
* THE OTHER ADDRESS ALWAYS COMES FROM THE UCBNAME FIELD OF THE UCB    * 19150000
* POINTED TO BY R9. THIS CONVERTED ADDRESS IS PLACED IN R5.           * 19200000
* THE CONTENTS OF R1 THROUGH R5 ARE DESTROYED.                        * 19250000
* RETURN IS VIA A BR R14.                                             * 19300000
* IF ANY ADDRESS IS FOUND WHICH IS NOT A VALID HEX NUMBER (0-9,A-F),  * 19350000
* AN ERROR CONDITION EXISTS AND CONTROL IS PASSED TO ERROR1.          * 19400000
*********************************************************************** 19450000
COMPSET  EQU   *                                                        19500000
         SR    R3,R3               CLEAR REGISTER                       19550000
COMPSET1 EQU   *                                                        19600000
         SR    R1,R1               CLEAR REGISTER                       19650000
         LA    R1,L3(R1)           BCT LOOP CONTROL                     19700000
         SR    R2,R2               CLEAR WORK REGISTER                  19750000
COMPSET2 EQU   *                                                        19800000
         TM    ZERO(R13),NUMERIC   HEX NUMERAL (0-9)                    19850000
         BO    COMPSET5            YES                                  19900000
         TM    ZERO(R13),CMASK     HEX DIGIT (A-F)                      19950000
         BNO   ERROR2              NEITHER, ERROR CONDITION             20000023
*                                                           JE @ZA02348 20010023
         CLI   ZERO(R13),C6        DIGIT CANNOT BE GREATER THAN HEX F   20050000
         BH    ERROR2              IT IS, THEREFORE ERROR CONDITION     20100023
*                                                           JE @ZA02348 20110023
         IC    R3,ZERO(R13)        OBTAIN DIGIT                         20150000
         LA    R3,L9(R3)           ADD NINE                             20200000
COMPSET3 EQU   *                                                        20250000
         SLL   R3,L28              SHIFT TO                             20300000
         SLDL  R2,L4               LOW ORDER OF R2                      20350000
         SR    R3,R3               CLEAR REG                            20400000
         LA    R13,ONE(R13)        POINT TO NEXT DIGIT                  20450000
         BCT   R1,COMPSET2         CONVERT NEXT DIGIT                   20500000
         TM    FLAG2,R13UCBNM      FIRST PASS                           20550000
         BO    COMPSET4            NO                                   20600000
         CH    R2,HIADDR           THE HIGHEST SYSTEM ADDRESS IS BFF,   20650000
*                                  AS OF RELEASE 19                     20700000
         BH    SCANEXI4            ADDRESS IS HIGHER, ERROR             20750000
         OI    FLAG2,R13UCBNM      TURN ON FLAG                         20800000
         LR    R4,R2               SAVE CONVERTED ADDRESS               20850000
         LA    R13,UCBNAME         POINT TO ADDRESS IN UCB              20900000
         B     COMPSET1                 CONVERT IT                      20950000
COMPSET4 EQU   *                                                        21000000
         LR    R5,R2                    SAVE CONVERTED ADDRESS          21050000
         NI    FLAG2,L255-R13UCBNM      TURN OFF BIT                    21100000
         BR    R14                      RETURN TO CALLER                21150000
COMPSET5 EQU   *                                                        21200000
         IC    R3,ZERO(R13)        OBTAIN DIGIT                         21250000
         B     COMPSET3            ISOLATE NUMBER                       21300000
         SPACE 2                                                        21350000
*********************************************************************** 21400000
*  THE FOLLOWING CODE COMPARES A PARAMETER TO A LIST OF VALID         * 21450000
*  PARAMETERS.  IF NOT FOUND EXIT IS TO LABEL 'ERROR1'.  IF FOUND,    * 21500000
*  THE MASK IN THE TABLE ENTRY IS USED TO SET BIT(S) IN THE           * 21550000
*  APPROPRIATE FLAG FIELD  AND THE PARAMETER POINTER IS UPDATED TO    * 21600000
*  POINT TO THE ADDRESS OF THE CHARACTER FOLLOWING THE PARAMETER.     * 21650000
*                                                                     * 21700000
*  UPON ENTRY REGS MUST BE PRIMED AS FOLLOWS:                         * 21750000
*  R3= POINTER TO PARAM TO BE VALIDITY CHECKED                        * 21800000
*  R2= POINTER TO CORRECT TABLE OF VALID PARAMETERS                   * 21850000
*  R6= POINTER TO FLAG FIELD TO BE OR'ED                              * 21900000
*  R4= RETURN ADDRESS                                                 * 21950000
*  R2 AND R5 ARE DESTROYED, R3 IS UPDATED AS ABOVE                    * 22000000
*********************************************************************** 22050000
SCAN     EQU   *                                                        22100000
         SR    R5,R5               CLEAR REG FOR PARAMETER LENGTH       22150000
         IC    R5,ZERO(R2)         GET PARAMETER LENGTH                 22200000
         LTR   R5,R5               TEST FOR END OF TABLE (LENGTH=0)     22250000
         BZ    ERROR1              END OF TABLE - PARAM NOT VALID       22300000
         EX    R5,COMPR            EXECUTE COMPARE OF PARM              22350000
         BE    HIT                 FOUND GOOD PARAMETER - SET FLAG      22400000
         LA    R5,L3(R5)           GO TO NEXT                           22450000
         AR    R2,R5               ENTRY IN PARAMETER TABLE             22500000
         B     SCAN                LOOP TO TEST NEXT ENTRY              22550000
HIT      EQU   *                                                        22600000
         OC    ZERO(L1,R6),L1(R2)  OR MASK INTO CORRECT FLAGS (R6)      22650000
         LA    R5,L1(R5)           CORRECT LENGTH OF PARAMETER          22700000
         AR    R3,R5               BUMP COMMAND PTR PAST FOUND PARAM    22750000
         BR    R14                 RETURN TO CALLER                     22800000
         SPACE 2                                                        22850000
*********************************************************************** 22900000
*                                                                     * 22950000
*        EXITS TO UNIT4 OR UNIT3 FOR ERROR                            * 23000000
*                                                                     * 23050000
*********************************************************************** 23100000
SCANEXI2 EQU   *                                                        23150000
         CLI   UNIT3,NUMERIC       IF UNIT3 HAS NEVER BEEN CHANGED THEN 23200000
         BNE   SCANEXI3            ADDRESS IN COMMAND IS HIGHER THAN    23250000
*                                  HIGHEST SYSTEM ADDRESS.              23300000
SCANEXI4 EQU   *                                                        23350000
         MVI   FLAG4,MSG1         ERROR MESSAGE                         23400000
         B     ERRWRIT1           ID ALREADY IN FROMID                  23450000
ERRWRITE EQU   *                                                        23500000
         MVC   FROMID(L1),HOLD2+L2   STORE FROM CONSOLE ID              23550000
ERRWRIT1 EQU   *                                                        23600000
         MVC   XAX(L8),XCTLNAME   PUT IN NAME FOR XCTL                  23650000
         MVI   XAX+L4,F2          NAME FOR ERROR XCTL                   23700000
         B     XCTL                EXIT TO IEEUNIT3                     23750000
SCANEXI3 EQU   *                                                        23800000
         LR    R9,R0              SHIFT UCB POINTER BACK                23850000
SCANEXIT EQU   *                                                        23900000
         OI    FLAG5,INITUNT2      FIRST ENTRY FOR UNIT2                23950000
         OI    FLAG5,INITENT       TELL IEEUNIT4 ABOUT IEEUNIT1 ENTRY   24000000
         MVC   XAX(L8),XCTLNAME   PUT IN NAME FOR XCTL                  24050000
XCTL     EQU   *                                                        24100000
         ST    R12,XAL             SAVE WORKAREA ADDRESS                24150000
         STH   R9,SWORD+L8                                              24200000
         SR    R4,R4               CREATE ZEROS                         24250000
         ST    R4,XAD              NO DCB PTR                           24300000
         LA    R4,XAX              POINTER TO XCTL NAME                 24350000
         ST    R4,XAP              POINTER TO XCTL NAME                 24400000
         LA    R15,XSA             POINT TO PARA LIST                   24450000
         XCTL  SF=(E,(R15))        TRANSFER CONTROL                     24500000
         EJECT                                                          24550000
*********************************************************************** 24600000
*                                                                     * 24650000
*     EQUATES                                                         * 24700000
*                                                                     * 24750000
*********************************************************************** 24800000
R0       EQU   0                   GENERAL REGISTER NOTATION            24850000
R1       EQU   1                   *                       *            24900000
R2       EQU   2                   *                       *            24950000
R3       EQU   3                   *                       *            25000000
R4       EQU   4                   *                       *            25050000
R5       EQU   5                   *                       *            25100000
R6       EQU   6                   *                       *            25150000
R7       EQU   7                   *                       *            25200000
R8       EQU   8                   *                       *            25250000
R9       EQU   9                   *                       *            25300000
R10      EQU   10                  *                       *            25350000
R11      EQU   11                  *                       *            25400000
R12      EQU   12                  *                       *            25450000
R13      EQU   13                  *                       *            25500000
R14      EQU   14                  *                       *            25550000
R15      EQU   15                  *                       *            25600000
*                                  THE FOLLOWING STATEMENTS DEFINE      25650000
*                                  LENGTHS AND NUMBERS USED IN THIS     25700000
*                                  SUPPORT.                             25750000
L1       EQU   1                   *             *         *            25800000
L2       EQU   2                   *             *         *            25850000
L3       EQU   3                   *             *         *            25900000
L4       EQU   4                   *             *         *            25950000
L5       EQU   5                   *             *         *            26000000
L7       EQU   7                   *             *         *            26050000
L8       EQU   8                   *             *         *            26100000
L9       EQU   9                   *             *         *            26150000
L24      EQU   24                  *             *         *     A36165 26200000
L11      EQU   11                  *             *         *            26250000
L12      EQU   12                  *             *         *            26300000
L28      EQU   28                  *             *         *            26350000
L32      EQU   32                  *             *         *            26400000
L71      EQU   71                  *             *         *            26450000
L104     EQU   104                 *             *         *            26500000
L255     EQU   255                 *             *         *            26550000
ZERO     EQU   0                   *             *         *            26600000
ONE      EQU   1                   *             *         *            26650000
ADCVT    EQU   16                  LOCATION OF CVT ADDRESS              26700000
HIGH     EQU   24                  USED FOR REGISTER SHIFTING           26750000
CMASK    EQU   X'C0'               CHARACTER ZONE                       26800000
SPN      EQU   X'FF'               SUBPOOL NUMBER 255                   26850000
XFF      EQU   X'FF'               END OF UCB TABLE INDICATOR JE YM6838 26860000
TWENT    EQU   X'20'               MFT MASK                             26900000
F1       EQU   C'1'                UNIT STATUS TWO NAME, IGC21110       26950000
F2       EQU   C'2'                UNIT STATUS THREE NAME, IGC22110     27000000
BLANK    EQU   C' '                BLANK DELIMETER                      27050000
COMMA    EQU   C','                FOR SYNTAX CHECK                     27100000
NUMERIC  EQU   C'0'                FIRST EBCDIC NUMERAL                 27150000
REGLINE  EQU   X'02'               TWO UNITS PER LINE                   27200000
LONGLINE EQU   X'07'               SEVEN UNITS PER LINE                 27250000
C6       EQU   C'F'                HIGHEST ADDRESS DIGIT, HEX F         27300000
ZEROFOX  EQU   X'0F'               MASK TO ZERO SUBCHANNEL    MH Y02139 27310003
         SPACE 3                                                        27350000
*********************************************************************** 27400000
*                                                                     * 27450000
*     EXECUTED STATEMENTS                                             * 27500000
*                                                                     * 27550000
*********************************************************************** 27600000
         DS    0H                  FORCE HALF WORD BOUNDRY              27650000
MOVE     EQU   *                                                        27700000
         MVC   ZERO(R0,R5),ZERO(R3)  EXECUTED MOVE FOR CVB              27750000
COMPR    EQU   *                                                        27800000
         CLC   ZERO(ZERO,R3),L2(R2)     USED BY SCAN ROUTINE            27850000
COMPUNIT EQU   *                                              MG YM3885 27860000
         CLI   UCBUA,ZERO          COMP DEV ADDR LESS CHANNEL MG YM3885 27870000
         EJECT                                                          27900000
*********************************************************************** 27950000
*                                                                     * 28000000
*     CONSTANTS                                                       * 28050000
*                                                                     * 28100000
*********************************************************************** 28150000
         DS    0F                                                       28200000
FOXAND   DC    XL4'0000FFFF'       USED TO AND REGISTERS                28250000
HIADDR   DC    H'3071'             HIGHEST POSSIBLE ADDRESS, HEX BFF    28300000
FOUR     DC    H'4'                LOOP COUNT NUMBER         @Z30AAJE   28350003
FOXFOX   DC    XL2'FFFF'           END OF UCB TABLE INDICATOR  @Z30AAJE 28360000
XCTLNAME DC    C'IGC23110'        STANDARD XCTL NAME                    28400000
         SPACE 1                                                        28450000
STATPARM EQU   *                   TABLE OF STATUS OPERANDS             28500000
         DC    AL1(ON2-ON1-ONE)    LENGTH OF ENTRY LESS ONE             28550000
         DC    AL1(ONLINS)         ONLINE DEVICES MASK                  28600000
ON1      EQU   *                                                        28650000
         DC    C'ONLINE'           OPERAND                              28700000
*                                                                       28750000
ON2      EQU   *                                                        28800000
         DC    AL1(OFF2-OFF1-ONE)      LENGTH OF WORD LESS ONE          28850000
         DC    AL1(OFFLNS)         OFFLINE DEVICES MASK                 28900000
OFF1     EQU   *                                                        28950000
         DC    C'OFFLINE'          OPERAND                              29000000
OFF2     EQU   *                                                        29050000
*                                                                       29100000
         DC    AL1(ALL4-ALL3-ONE)   LENGTH OF ENTRY LESS ONE            29150000
         DC    AL1(ALLS)           ALL STATUS MASK                      29200000
ALL3     EQU   *                                                        29250000
         DC    C'ALL'              OPERAND                              29300000
ALL4     EQU   *                                                        29350000
         DC    AL1(0)              END OF TABLE                         29400000
         SPACE 1                                                        29450000
TYPELIST EQU   *                   TABLE OF DEVICE TYPE OPERANDS        29500000
         DC    AL1(ALL2-ALL1-1)    LENGTH OF PARAMETER MINUS ONE        29550000
         DC    AL1(ALLTYPE)        ALLDEVICE TYPES MASK                 29600000
ALL1     EQU   *                                                        29650000
         DC    C'ALL'              PARAMETER                            29700000
ALL2     EQU   *                                                        29750000
*                                                                       29800000
         DC    AL1(TP2-TP1-ONE)    LENGTH OF ENTRY LESS ONE             29850000
         DC    AL1(TPTYPE)         TELEPROCESSING DEVICES MASK          29900000
TP1      EQU   *                                                        29950000
         DC    C'TP'               OPERAND                              30000000
TP2      EQU   *                                                        30050000
*                                                                       30100000
         DC    AL1(GRPH2-GRPH1-ONE)   LENGTH OF ENTRY LESS ONE          30150000
         DC    AL1(GRTYPE)         GRAPHIC DEVICES MASK                 30200000
GRPH1    EQU   *                                                        30250000
         DC    C'GRAPHIC'          OPERAND                              30300000
GRPH2    EQU   *                                                        30350000
*                                                                       30400000
         DC    AL1(DA2-DA1-ONE)    LENGTH OF ENTRY LESS ONE             30450000
         DC    AL1(DATYPE)         DIRECT ACCESS DEVICE TYPE MASK       30500000
DA1      EQU   *                                                        30550000
         DC    C'DASD'             OPERAND                              30600000
DA2      EQU   *                                                        30650000
*                                                                       30700000
         DC    AL1(TA2-TA1-ONE)    LENGTH OF ENTRY LESS ONE             30750000
         DC    AL1(TATYPE)         TAPE DEVICE TYPE MASK                30800000
TA1      EQU   *                                                        30850000
         DC    C'TAPE'             OPERAND                              30900000
TA2      EQU   *                                                        30950000
*                                                                       31000000
         DC    AL1(UR2-UR1-ONE)    LENGTH OF ENTRY LESS ONE             31050000
         DC    AL1(URTYPE)         UNIT RECORD DEVICE TYPE MASK         31100000
UR1      EQU   *                                                        31150000
         DC    C'UR'               OPERAND                              31200000
UR2      EQU   *                                                        31250000
         DC    AL1(0)              END OF TABLE                         31300000
*                                                                       31350000
*                                                                       31400000
         EJECT                                                          31450000
*********************************************************************** 31500000
*                                                                     * 31550000
*     DSECTS                                                          * 31600000
*                                                                     * 31650000
*********************************************************************** 31700000
CSCB     DSECT                                                          31750000
         IEECHAIN                                                       31800000
         ORG   CHAIN+L32                                                31850000
         IEEXSA                                                         31900000
         ORG   XSA+L24                                           A36165 31950000
         DS    0F                                                       32000000
WORKING  DS    5F                  WORKING STORAGE                      32050000
DEVNOLN  EQU   WORKING+L8          NUMBER OF DEVICES PER LINE           32100000
DEVSPRE  EQU   DEVNOLN+L2          NUMBER OF DEVICES DISPLAYED          32150000
LASTUCB  EQU   DEVSPRE+L3          STARTING UCB ADDRESS/BIN NUMBER      32200000
FROMID   EQU   LASTUCB+L4          REQUESTING CONSOLE ID                32250000
SAVE     DS    21F                 SAVE AREA BETWEEN MODULES            32300000
UNITADDA DS    C                   DEVICE ADDRESS FROM EBCDIC MH Y02139 32310003
UNITADDB DS    C                   DEVICE ADDRESS FROM HEX    MH Y02139 32320003
         ORG   SAVE+L12                                                 32350000
PACKWORD DS    F                   USED BY SYNTAX CHECKER               32400000
CVBWORD  DS    F                   FOR PACKING AND CONVERTING           32450000
         EJECT                                                          32500000
UCB      DSECT                                                          32550000
         IEFUCBOB                                                       32600000
         EJECT                                                          32650000
CVT      DSECT                                                          32700000
         CVT                                                            32750000
         EJECT                                                          32800000
WORKAREA DSECT                                                          32850000
         SPACE 2                                                        32900000
         DS    0D                                                       32950000
UCBADDRA DS    7H                  STORAGE FOR UCB ADDRESSES            33000000
UCBADDRB DS    H                   FOUND BY UNIT4                       33050000
SWORD    DS    3F                  SAVE AREA ACROSS MODULES             33100000
UNIT1    DS    F                   HOLD ADDRESS ONE                     33150000
UNIT2    DS    F                   HOLD ADDRESS TWO                     33200000
UNIT3    DS    F                   HOLD ADDRESS THREE                   33250000
         SPACE 4                                                        33300000
FLAG2    DC    X'00'               COMMUNICATIONS BYTE                  33350000
ONLINS   EQU   128                 DISPLAY ONLINE DEVICES               33400000
OFFLNS   EQU   64                  DISPLAY OFFLINE DEVICES              33450000
ALLS     EQU   32                  DISPLAY OFFLINE + ONLINE DEVICES     33500000
SUFEXIST EQU   16                  REQUESTING CONSOLE IS A CRT DEVICE   33550000
SINGLE   EQU   8                   SINGLE DEVICE REQUEST                33600000
COREGOT  EQU   4                   CORE GOTTEN FOR REGION               33650000
OPEN22   EQU   2                   OPEN FLAG                            33700000
R13UCBNM EQU   1                   FLAG FOR COMPSET ROUTINE             33750000
         SPACE 2                                                        33800000
FLAG3    DC    X'00'               COMMUNICATIONS FLAGS                 33850000
U2       EQU   128                TELL UNIT2 ENTRY FOR SCAN OF CDES     33900000
UNIT3RET EQU   64                  IEE22110 RETURNING TO IEE21110       33950000
OPEN332  EQU   32                  OPEN FLAG                            34000000
DEVDEF   EQU   16                  DEVICE ADDRESS DEFAULTED             34050000
HEADOUTF EQU   8                   HEADING AND LABELS ARE OUT           34100000
OPEN34   EQU   4                   OPEN FLAG                            34150000
OPEN32   EQU   2                   OPEN FLAG                            34200000
OPEN31   EQU   1                   OPEN FLAG                            34250000
         SPACE 2                                                        34300000
*  FLAG4 BYTE IS USED FOR COMMUNICATIONS BETWEEN IEEUNIT3 AND THE       34350000
*  OTHER  D UNIT  MODULES.                                              34400000
FLAG4    DC    XL1'00'             COMMUNICATIONS BYTE                  34450000
EXITBIT  EQU   X'00'               RETURN TO CALLER           MD        34500000
MSG1     EQU   X'04'               ISSUE MESSAGE MSG1A        MD        34550000
MSG3     EQU   X'08'               ISSUE MESSAGE MSG3A        MD        34600000
MSG4     EQU   X'0C'               ISSUE MESSAGE MSG4A        MD        34650000
         SPACE 2                                                        34700000
FLAG5    DC    XL1'00'                                                  34750000
NODEF    EQU   X'80'               LINE DEFAULT NOT TAKEN               34800000
INITENT  EQU   X'40'               INITIAL ENTRY TO UNIT STATUS FOUR    34850000
INITUNT2 EQU   X'20'               INITIAL ENTRY TO UNIT STATUS TWO     34900000
CRTMSG2  EQU   X'10'               MSG2 WITH HEADINGS FOR DIDOCS        34950000
UN4BINLT EQU   X'08'               LASTBIN FLAG FOR UNIT4               35000000
DISPBIT  EQU   X'04'               VALID ADDRESS FOUND                  35050000
DISPEND  EQU   X'02'               END OF FRAME AND DISPLAY             35100000
OPEN51   EQU   X'01'               OPEN FLAG                            35150000
         SPACE 2                                                        35200000
         DS    0F                  FORCE FULL WORD FOR WTO              35250000
WTOSET   DS    XL1                 ZERO                                 35300000
TEXTLEN  DS    XL1                 OUTPUT LENGTH                        35350000
LENGTH   EQU   76                  FULL LINE                            35400000
MCSONE   DS    XL1                 MCS FLAGS PART ONE                   35450000
SETONE   EQU   X'E1'                QUEUE BY ID, ROUTINE + DESCRIPTOR   35500000
*                                  CODES EXIST, COMMAND RESPONSE, QUEUE 35550000
*                                  BY ID ONLY.                          35600000
MCSTWO   DS    XL1                 MCS FLAGS PART TWO                   35650000
SETTWO   EQU   X'40'               MLWTO                                35700000
         SPACE 1                                                        35750000
MSGT     DS    0C                  BEGIN TEXT LINE                      35800000
TEXT     DS    XL72                TEXT FIELD                           35850000
         ORG   TEXT                                                     35900000
TITLEID  DS    XL8                 MESSAGE ID                           35950000
TITLEDGH DS    XL3                 HOURS.                               36000000
TITLEDGM DS    XL3                 MINUTES.                             36050000
TITLEDGS DS    XL2                 SECONDS                              36100000
TITLENM  DS    XL11                DISPLAY NAME                         36150000
         ORG   TEXT                                                     36200000
UCBN1    DS    XL5                 UNIT ADDRESS                         36250000
MODL1    DS    XL5                 DEVICE TYPE                          36300000
USTAT1   DS    XL1                 STATUS (O,A,S,C,OFFLINE)             36350000
USTAT2   DS    XL4                 STATUS (-BSY,-MTP,-NRD)              36400000
USTAT3   DS    XL3                 STATUS (-R)                          36450000
VOLID1   DS    XL7                 VOLUME SERIAL NUMBER                 36500000
VOST1A   DS    XL4                 VOLUME STATE (PUB,PRIV,STRG)         36550000
VOST1B   DS    XL6                 VOLUME STATE (-REMOV,-RSDNT,-RSERV)  36600000
         ORG   TEXT+72            ORG FOR WTO TAIL                      36650000
         SPACE 2                                                        36700000
DESCODE  DS    XL2                 DESCRIPTOR CODES                     36750000
RTECODE  DS    XL2                 ROUTING CODES                        36800000
TYPEFLAG DS    XL2                 MESSAGE TYPES                        36850000
AID      DS    XL1                AREA ID FIELD                         36900000
LNUM     DS    XL1                NUMBER OF LINES                       36950000
         SPACE 2                                                        37000000
HOLD2    DS    F                   MLWTO ID/CONSOLE ID FOR WTO          37050000
NODEVICS DS    H                   NUMBER OF UNITS REQUESTED            37100000
NODEVDEF EQU   100                 DEFAULT                              37150000
         SPACE 4                                                        37200000
*  FLAG1 BYTE IS SET BY IEEUNIT1 TO REFLECT THE DEVICE TYPE(S)          37250000
*  REQUESTED BY THE D U  COMMAND.  THE BITS SET CORRESPOND TO THE BIT   37300000
*  SETTINGS IN BYTE 3 OF THE UCBTYP FIELD.                              37350000
         SPACE 2                                                        37400000
FLAG1    DC    X'00'               FLAG1 FIELD                          37450000
TATYPE   EQU   UCB3TAPE           TAPE DEVICES                          37500000
TPTYPE   EQU   UCB3COMM           TELECOMMUNICATIONS DEVICES            37550000
DATYPE   EQU   UCB3DACC           DIRECT ACCESS DEVICES                 37600000
GRTYPE   EQU   UCB3DISP            GRAPHIC DISPLAY DEVICES              37650000
URTYPE   EQU   UCB3UREC+UCB3CHAR        UNIT RECORD + CHAR RDR DEVICES  37700000
ALLTYPE  EQU   TATYPE+TPTYPE+DATYPE+GRTYPE+URTYPE     ALLDEVICE TYPES   37750000
         SPACE 2                                                        37800000
IDFLD    DS    XL1                AREA ID SAVE AREA                     37850000
WEND     EQU   *                   END OF WORK AREA                     37900000
WAL      EQU   WEND-WORKAREA       LENGTH OF WORK AREA                  37950000
         END                                                            38000000
