         TITLE 'IEE23110  UNIT STATUS FOUR, PART OF SVC 110'            00050000
IEE23110 CSECT                                                          00100000
*********************************************************************** 00200000
*                                                                     * 00250000
* STATUS                                                              * 00300000
*    CHANGE LEVEL=0  VS 2 RELEASE 3                                     00350000
*                                                                       00360003
*  PTMS FIXED  @ZM30152,@ZM32568                                        00370033
*                                                                     * 00400000
* FUNCTION                                                            * 00450000
*    FIND VALID UCB'S TO SCAN                                         * 00500000
*    WRITE COMPLETED DISPLAY LINES                                    * 00550000
*                                                                     * 00600000
* ENTRY POINTS                                                        * 00650000
*         IEE23110                                                    * 00700000
*                                                                     * 00750000
* INPUT                                                               * 00800000
*    REG 11 CONTAINS THE CSCB ADDRESS WHICH CONTAINS ALL OTHER PTRS   * 00850000
*    REG 9  CONTAINS THE UCB ADDRESS FOUND BY IEE20110                X 00900000
*                                                                     * 00950000
* OUTPUT                                                              * 01000000
*    DISPLAY LINES ISSUED TO CONSOLE SUPPORT                          * 01050000
*                                                                     * 01100000
* EXTERNAL REFERENCES                                                 * 01150000
*         SVC 11   (TIME)                                               01200000
*         SVC 35   (WTO)                                              * 01250000
*                                                                     * 01300000
* EXITS,NORMAL                                                        * 01350000
*         IEE21110 TO BUILD DEVICE ENTRIES IN DISPLAY LINE            * 01400000
*         IEE22110 TO BUILD DATA CELL BIN ENTRIES IN DISPLAY LINE     * 01450000
*         IEE22110 TO RETURN WHEN DISPLAY COMPLETE                    * 01500000
*                                                                     * 01550000
* EXITS,ERROR                                                         * 01600000
*         IEE22110 TO ISSUE ERROR MESSAGES                            * 01650000
*                                                                     * 01700000
* TABLES/WORKAREAS                                                    * 01750000
*    CSCB                                                             * 01800000
*    XSA                                                              * 01850000
*    UCB                                                              * 01900000
*    WORKAREA                                                         * 01950000
*    CVT                                                              * 02000000
*                                                                     * 02050000
* ATTRIBUTES                                                          * 02100000
*    TYPE IV SVC, PRIVILEGED, RE-ENTRANT                         A36790 02150000
*                                                                     * 02200000
* CHARACTER CODE DEPENDENCY                                           * 02250000
*    NONE                                                             * 02300000
*                                                                     * 02350000
* NOTES                                                               * 02400000
*    NONE                                                             * 02450000
*                                                                     * 02500000
*********************************************************************** 02550000
         EJECT                                                          02600000
*/*IEE23110: CHART */                                                   02650000
*/*IEE23110: E IEE23110 */                                              02700000
*/* P ESTABLISH ADDRESSABILITY */                                       02750000
*/* D (NO,,YES,WTORTN) PUT OUT DATA CELL WTO ? */                       02800000
*/* D (NO,WTORTN,YES,) INITIAL ENTRY ? */                               02850000
*/* P TURN OFF INITIAL ENTRY FLAG */                                    02900000
*/* P CLEAR ADDRESS TABLE */                                            02950000
*/*NEWLINE: P POINT TO EBCDIC ADDRESS */                                03000000
*/* S COMPSET:GO CONVERT ADDRESS */                                     03050000
*/* P POINT TO UCB ADDRESS TABLE */                                     03100000
*/*DUMBHI: P DUMMY UP HIGH VALUE */                                     03150000
*/*VALIDCHK: D (NO,GETNEXT,YES,) CORRECT UCB TYPE ? */                  03200000
*/* D (NO,,YES,STORADDR) ALL STATUS WANTED ? */                         03250000
*/* D (NO,,YES,ONLINE) ONLINE REQUEST ? */                              03300000
*/* D (NO,STORADDR,YES,GETNEXT) IS DEVICE ONLINE OR ALLOC ? */  SA52720 03350016
*/**ONLINE: D (NO,,YES,STORADDR) IS DEVICE ONLINE ? */                  03400016
*/*GETNEXT: D (NO,BUMP,YES,EXMSG1) SINGLE DEVICE REQUEST ? */           03450000
*/*STORADDR: P INDICATE UCB FOUND */                                    03500000
*/* P HOLD POINTER TO CURRENT HIGH UCB */                               03550000
*/* P (,BUMP) HOLD CONVERTED ADDRESS */                                 03600000
*/*LOOP: P GET UCB ADDR FROM LOOK UP TABLE */                           03650000
*/* D (NO,UCB,YES,EOL) END OF TABLE ? */                                03700000
*/*BUMP: P (,LOOP) POINT TO NEXT UCB ADDRESS */                         03750000
*/*UCB: P LOCATE EBCDIC ADDR VALUE */                                   03800000
*/* S COMPSET:GO CONVERT ADDR */                                        03850000
*/* D (NO,,YES,BUMP) NEW LOWER THAN OLD LOW ? */                        03900000
*/* D (NO,VALIDCHK,YES,BUMP) HIGHER THAN OLD HIGH ? */                  03950000
*/*EOL: D (NO,NOADDR,YES,) ANY NEW HIGH STORED? */                      04000000
*/* P PUT HIGH VALUE INTO LOW */                                        04050000
*/* P RESET UCB FOUND BIT */                                            04100000
*/* D (NO,,YES,ENDSCN) NUM UCBS FOUND = NUM WANTED */                   04150000
*/*GETONE: P POINT TO UCB LOOK UP TABLE */                              04200000
*/* D (NO,LOOP,YES,) ENOUGH TO FILL ONE LINE ? */                       04250000
*/*EXIT: P SET EXIT TO IGC22110 */                                      04300000
*/* D (NO,XCTL,YES,) FINISH DATA CELL ? */                              04350000
*/* P (,EXUN3) POINT TO FIRST UCB ADDRESS */                            04400000
*/*NOADDR: D (NO,EXMSG1,YES,) ANY DISPLAY OUTPUT ? */                   04450000
*/* D (NO,SETND,YES,) LINE DEFAULT NOT TAKEN ? */                       04500000
*/* P (,SETND) TELL UNIT 3 TO PUT OUT MESSAGE */                        04550000
*/*ENDSCN: D (NO,,YES,EXIT) ENOUGH UNITS TO FILL LINE ? */              04600000
*/*SETND: P (,EXIT) TURN ON DISPLAY ENDED FLAG */                       04650000
*/*COMPSET: E COMPSET */                                                04700000
*/* P PREPARE TO LOOP THRU NUMBER */                                    04750000
*/*COMPSET2: D (NO,,YES,COMPSET5) IS THIS DIGIT NUMERIC ? */            04800000
*/* P ADD NINE (9) TO DIGIT */                                          04850000
*/*COMPSET3: P HOLD RESULTING DIGIT OF ZONE/DIGIT */                    04900000
*/* D (NO,COMPSET2,YES,) DONE THREE DIGITS ? */                         04950000
*/*COMPSET4: R BR 14 */                                                 05000000
*/*COMPSET5: P (,COMPSET3) HOLD DIGIT */                                05050000
*/*WTORTN: P PREPARE WTO PARM LIST */                                   05100000
*/* D (NO,,YES,SKIPHEAD) HAVE HEADINGS BEEN WRITTEN  ? */               05150000
*/* P INDICATE HEADINGS WRITTEN */                                      05200000
*/* P SAVE DEVICE OUTPUT AND BUILD HEADING */                           05250000
*/* S TIME SVC 11: GET TIME OF DAY */                                   05300000
*/*TIME: P CONVERT TIME FOR PRINT AND PUT IN MSG */                     05350000
*/* S WTO RTN:GO ISSUE HEADING LINE */                                  05400000
*/* P PICK UP NUMBER OF DEVICES PER LINE */                             05450000
*/* D (NO,CONT,YES,) OFFLINE DISPLAY ? */                               05500000
*/* P USE OFFLINE LABELS IN LABEL LINE */                               05550000
*/*CONT: P DECREMENT LABEL LENGTH */                                    05600000
*/*LABLOOP: P PICK UP FIRST ENTRY IN LINE */                            05650000
*/* D (NO,LABEND,YES,) ANY MORE ENTRIES ? */                            05700000
*/* P PUT CORRECT LABEL IN LINE */                                      05750000
*/* D (NO,LABLOOP,YES,) ALL REQUIRED LABELS IN LINE ? */                05800000
*/*LABEND: D (NO,LABENDMV,YES,) REQUEST FOR SINGLE DEVICE ? */          05850000
*/* D (NO,LABENDMV,YES,) 2321 DATA CELL ? */                            05900000
*/* P MOVE IN SECOND HALF LABEL LINE */                                 05950000
*/*LABENDMV: S WTORTN:GO ISSUE LABEL LINE */                            06000000
*/* P (,WTORTN) RESTORE DEVICE TEXT OUTPUT */                           06050000
*/*SKIPHEAD: P SET LINE TYPE TO DATA */                                 06100000
*/* D (NO,,YES,MSGOUT) DATA CELL IN PROCESS */                          06150000
*/* D (NO,,YES,SKIPFR) IS THIS END OF DISPLAY ? */                      06200000
*/* S WTO RTN: GO ISSUE DATA LINE */                                    06250000
*/* D (NO,NEWLINE,YES,) IS DATA CELL COMPLETE? */                       06300000
*/* P (,GETONE) UP DEVICE DONE COUNT BY 2 */                            06350000
*/*SKIPFR: D (NO,OSU,YES,) WAS LAST LINE AN END LINE ? */               06400000
*/* S WTO RTN:GO WRITE MESSAGE */                                       06450000
*/* P MOVE MSG TEXT INTO WTO PARM LIST */                               06500000
*/*OSU: P SET LINETYPE = DATA END */                                    06550000
*/* S WTO RTN:GO OUTPUT MESSAGE */                                      06600000
*/*EXIT3: P (,EXUN3A) SET EXIT TO IGC22110 */                           06650000
*/*MSGOUT: S WTO RTN: GO OUTPUT MESSAGE */                              06700000
*/*EXUN3: P INDICATE FINISH DATA CELL */                                06750000
*/*EXUN3A: P PUT EXIT NAME (IGC22110) IN XCTL LIST */                   06800000
*/*XCTL: R IGC22110 */                                                  06850000
*/*WTO: E WTO RTN */                                                    06900000
*/*WTOLOOP: P FIND END OF MESSAGE TEXT */                               06950000
*/*HITEXT: P TAG DESCRIPTOR CODES ON END OF MESSAGE */                  07000000
*/* P COMPUTE AND PUT LENGTH INTO WTO LIST */                           07050000
*/* S WTO SVC 35:OUTPUT MESSAGE TO OPERATOR */                          07100000
*/* P SAVE CONSOLE ID AND MESSAGE NUMBER */                             07150000
*/* P CLEAR TEXT LINE */                                                07200000
*/* R BR 14 */                                                          07250000
*/*EXMSG1: P (,EXUN3A) INDICATE MESSAGE FOR UNIT 3 TO WRITE */          07300000
*/*IEE23110: END */                                                     07350000
         EJECT                                                          07400000
         BALR  PBASE,R0            ESTABLISH BASE REGISTER              07450000
         USING *,PBASE             DECLARE PROGRAM BASE                 07500000
         B     ICATCH              BRANCH AROUND EYECATCHER   MB YM1902 07510000
         DC    C'01 MODULE IGC23110, FICHE IEE23110  '        MB YM1902 07520000
         DC    XL2'4211'           JULIAN DATE OF LAST CHANGE           07522000
         DC    CL8'&SYSDATE'       DATE OF LAST ASSEMBLY                07524000
         DC    S(*)                                                     07526000
ZAPAREA  DC    12C'ZAP'  RESERVED FOR FIELD MODIFICATION      MB YM1902 07530000
ICATCH   EQU   *                                              MB YM1902 07540000
         USING XSASET,XSABASE      DECLARE XSA BASE                     07550000
         L     WBASE,XAL           POINT TO WORK AREA                   07600000
         USING WORKAREA,WBASE      DECLARE WORK AREA BASE               07650000
         LH    R13,DEVSPRE         GET NUMBER ALREADY PUT OUT           07700000
         TM    FLAG5,INITENT       INITIAL ENTRY TO SET UP UCB TABLE    07750000
         BNO   WTORTN              NO ISSUE NORMAL WTO AND UPDATE TABLE 07800000
         SPACE 2                                                        07850000
*********************************************************************** 07900000
*                                                                     * 07950000
*  BUILD LIST OF VALID UCB ADDRESSES                                  * 08000000
*                                                                     * 08050000
*********************************************************************** 08100000
         NI    FLAG5,N255-INITENT   TURNOFF INITIAL ENTRY FLAG          08150000
         XC    UCBADDRA+N2(N12),UCBADDRA+N2 CLEAR TABLE                 08200000
         LR    R7,R9               GET STARTING UCB ADDRESS             08250000
NEWLINE  EQU   *                                                        08300000
         STH   R7,CURRENT         PUT VALUE INTO CURRENT WORD           08350000
         LA    R15,N13(R7)        GET PTR TO EBCICIC ADDRESS            08400000
         BAL   RETURN,COMPSET     GO CONVERT IT                         08450000
         ST    R8,LOW             SAVE CONVERTED VALUE                  08500000
         LH    ADDRPT,DEVNOLN      GET NUMBER OF DEVICES FOR LINE       08550000
         LA    ADDRPT,N1(ADDRPT)   KICK UP ADDRESS BY ONE               08600000
         LA    ADDR,UCBADDRA       POINT TO UCB ADDRESS TABLE           08650000
         LA    R3,CVT              POINT TO CVT ADDRESS                 08700000
         L     R3,ZERO(R3)         GET CVT ADDRESS                      08750000
         USING CVTDSECT,R3                                              08800000
         L     R3,CVTILK2         GET LOOK-UP TABLE ADDRESS             08850000
DUMBHI   EQU   *                                                        08900000
         MVI   HIGH+N2,N255       DUMMY UP HIGH VALUE                   08950000
VALIDCHK EQU   *                                                        09000000
         USING UCBDSECT,UCBADDR    DECLARE UCB ADDRESS                  09050000
         SR    WORK,WORK           CLEAR REGISTER                       09100000
         IC    WORK,UCBTBYT3       GET UCB TYPE                         09150000
         LA    POINT,FLAG1         POINT TO RIGHT FLAG BYTE             09200000
         CLI   UCBTBYT3,CTCTYPE    CHANNEL-CHANNEL ADAPTOR  JE @ZM32568 09210033
         BE    TSTFLG2             YES, GO TEST FLAG2       JE @ZM32568 09230033
         EX    WORK,TESTMASK       CHECK TYPE                           09250000
         BNO   BUMP                NO MATCH GET NEXT UCB      MH Y01043 09300032
TSTFLG2  TM    FLAG2,ALLS          ALL STATUS WANTED        JE @ZM32568 09350033
         BO    STORADDR            YES SAVE THIS ADDRESS                09400000
         TM    FLAG2,ONLINS        ONLINE REQUEST                       09450000
         BO    ONLINE              YES TEST UCB ONLINE                  09500000
*                                 NO, ASSUME OFFLINE REQUEST ME SA52720 09510016
         TM    SRTESTAT,SRTEONLI+SRTEALOC  IS DEVICE         ME SA52720 09550016
*                                  ONLINE OR ALLOCATED       ME SA52720 09560016
         BZ    STORADDR            NEITHER, MUST BE OFFLINE  ME SA52720 09600016
         B     BUMP                GET NEXT DEVICE           MH Y010430 09650032
ONLINE   EQU   *                                                        09800000
         TM    SRTESTAT,ONLINS     IS DEVICE ONLINE                     09850000
         BO    STORADDR            YES STORE ADDRESS                    09900000
         B     BUMP                 NOT ONLINE, BRANCH        MH Y01043 09950032
STORADDR EQU   *                                                        10150000
         OI    FLAG5,DISPBIT       TURN ON UCB FOUND BIT                10200000
         STH   R7,CURRENT          STORE POINTER TO CURRENT HIGH UCB    10250000
         ST    R8,HIGH             STORE CONVERTED DEVICE ADDRESS       10300000
         B     BUMP                GO GET ANOTHER                       10350000
LOOP     EQU   *                                                        10400000
         SR    R7,R7                   CLEAR REGISTER         JE YM6838 10410000
         ICM   R7,3,NO(R3)          GET UCB POINTER           JE YM6838 10420000
         BZ    BUMP                BRANCH IF ADDRESS NULL     JE YM6838 10422000
         CLM   R7,3,FOXFOX          END OF UCB TABLE           @Z30AAJE 10430000
         BE    EOL                 YES                        JE YM6838 10440000
         B     UCB                 GO LOOK AT UCB              @Z30AAJE 10490000
BUMP     EQU   *                   FALL THROUGH ON ZERO                 10650000
         LA    R3,N2(R3)          BUMP POINTER TO THE NEXT ADDRESS      10700000
         B     LOOP                  BY TWO AND GO TO GET NEXT          10750000
UCB      EQU   *                                                        10800000
         LA    R15,UCBNAME         POINT TO EBCIDIC ADDRESS VALUE       10850000
         BAL   RETURN,COMPSET      CONVERT ADDRESS FOUND BY 'LOOP'      10900000
         STC   R8,UNITADDA             STORE CONVERTED ADDRESSMH Y02139 10910003
         NI    UNITADDA,ZEROFOX        ZERO SUBCHANNEL PORTIONMH Y02139 10920003
         MVC   UNITADDB(L1),UCBUA      STORE HEX ADDRESS      MH Y02139 10922003
         NI    UNITADDB,ZEROFOX        ZERO SUBCHANNEL PORTIONMH Y02139 10924003
         CLC   UNITADDA(L1),UNITADDB   COMPARE ADDRESS        MH Y02139 10926003
         BNE   BUMP                NOT EQUAL, NOT BASE UCB    MG YM3885 10930000
         CL    R8,LOW              COMPARE AGAINST LOW VALUE            10950000
         BNH   BUMP                IF NEW VALUE LOW BRANCH              11000000
         CL    R8,HIGH             COMPARE AGAINST HIGH VALUE           11050000
         BH    BUMP                NEW VALUE HIGHER THAN OLD HIGH       11100000
         B     VALIDCHK           GO TO VALIDITY CHECK ROUTINE          11150000
EOL      EQU   *                                                        11200000
         CH    R13,NODEVICS        REQUEST SATISFIED          MG YM1826 11310000
         BNL   SETND               YES, HAVE ENOUGH           MG YM1826 11320000
         TM    FLAG5,DISPBIT       ANY UCB FOUND THIS PASS    MG YM1826 11330000
         BNO   NOADDR              NO, ALL HAVE BEEN FOUND    MG YM1826 11340000
         MVC   LOW+N2(L2),HIGH+N2     PUT HIGH VALUE INTO LOW           11350000
         MVC   NO(L2,ADDR),CURRENT MOVE UCB POINTER INTO SAVE LIST      11400000
         MVC   UCBADDRB(L4),CURRENT     SAVE LAST VALUE FOUND           11450000
         LA    ADDR,N2(ADDR)      BUMP POINTER                          11500000
         LA    R13,N1(R13)         BUMP NUMBER FOUND BY 1               11550000
         NI    FLAG5,N255-DISPBIT      TURN OFF UCB FOUND BIT           11600000
GETONE   EQU   *                                                        11750000
         LA    R3,CVT              POINT TO CVT ADDRESS                 11800000
         L     R3,ZERO(R3)         GET CVT ADDRESS                      11850000
         L     R3,CVTILK2         GET LOOKUP POINTER                    11900000
         MVI   HIGH+N2,N255       DUMMY UP HIGH UCB                     11950000
         BCT   ADDRPT,LOOP        COUNT NUMBER IN LINE                  12000000
EXIT     EQU   *                                                        12050000
         MVI   XAX+L4,F1           SECOND LOAD NAME                     12100000
         B     XCTL                EXIT                                 12150000
NOADDR   EQU   *                                                        12200000
         LTR   R13,R13             ANY DISPLAY                          12250000
         BZ    EXMSG1              ISSUE MESSAGE                        12300000
         TM    FLAG5,NODEF        TEST FOR DEFAULT                      12350000
         BNO   SETND              BRANCH TO SET END FLAG                12400000
         OI    FLAG5,CRTMSG2      TURN ON MESSAGE BIT FOR U3            12450000
SETND    EQU   *                                                        12700000
         OI    FLAG5,DISPEND      TURN ON DISPLAY FINISHED              12750000
         B     EXIT                BUILD LINE                           12800000
         SPACE 2                                                        12850000
*********************************************************************** 12900000
*                                                                     * 12950000
*  THIS ROUTINE CHANGES EBCDIC DEVICES TO BINARY.                     * 13000000
*  REG 15 POINTS TO THE NUMBER TO BE CONVERTED.                       * 13050000
*  THE CONVERTED NUMBER IS RETURNED IN REG 8.                         * 13100000
*  RETURN IS VIA BR 14.                                               * 13150000
*  REGS 8,9,4 AND 15 ARE DESTROYED                                    * 13200000
*                                                                     * 13250000
*********************************************************************** 13300000
COMPSET  EQU   *                                                        13350000
         SR    WORK,WORK          ZERO REGISTER                         13400000
         LA    WORK,L3(WORK)      INITIALIZE COUNTER                    13450000
         SR    TEXTPTR,TEXTPTR     CLEAR WORK REF                       13500000
COMPSET2 EQU   *                                                        13550000
         SR    R9,R9               CLEAR WORK REG                       13600000
         TM    N0(R15),F0          THIS DIGIT NUMERIC                   13650000
         BO    COMPSET5            YES HANDLE                           13700000
         IC    R9,N0(R15)          ISOLATE DIGIT                        13750000
         LA    R9,N9(R9)           UP BY NINE                           13800000
COMPSET3 EQU   *                                                        13850000
         SLL   R9,N28              SHIFT DIGIT TO                       13900000
         SLDL  TEXTPTR,N4          LOW ORDER NIBBLE OF REG 8            13950000
         LA    R15,N1(R15)         POINT TO NEXT DIGIT                  14000000
         BCT   WORK,COMPSET2           DO ALL DIGITS                    14050000
COMPSET4 EQU   *                                                        14100000
         BR    RETURN              RETURN TO CALLER                     14150000
COMPSET5 EQU   *                                                        14200000
         IC    R9,N0(R15)          ISOLATE CHARACTER                    14250000
         B     COMPSET3            CONVERT IT                           14300000
         SPACE 2                                                        14350000
*********************************************************************** 14400000
*                                                                     * 14450000
*  ISSUE WTO ON THE COMPLETED DISPLAY LINES                           * 14500000
*                                                                     * 14550000
*********************************************************************** 14600000
WTORTN   EQU   *                                                        14650000
         MVC   DESCODE(L4),DCODE   MOVE WTO TAIL                        14700000
         MVC   AID(L1),IDFLD      MOVE IN AREA ID                       14750000
         MVI   MCSONE,SETONE      SET FIRST BIT OF MCS FIELD            14800000
         MVI   MCSTWO,SETTWO      SET SECOND BIT OF MCS FLAGS           14850000
         MVI   LNUM,L1             RE/SET LINES IN LIST                 14900000
         MVI   TYPEFLAG+N1,ZERO    ZERO OUT LINE TYPE BYTE 2            14950000
         TM    FLAG3,HEADOUTF      Q.  HAVE HEADING LINE BEEN WRITTEN   15000000
         BO    SKIPHEAD            A. YES SKIP THEM                     15050000
         OI    FLAG3,HEADOUTF      INDICATE HEADING LINES OUT           15100000
         MVC   SAVE+N12(N72),TEXT  SAVE LINE BUILT BY IEEUNIT2/IEEUNIT3 15150000
         MVI   TEXT,BLANK          BLANK TEXT                           15200000
         MVC   TEXT+N1(L71),TEXT   LINE OUT                             15250000
         MVC   TEXT(HEADLGN),HEAD       MOVE HEADING INTO TEXT          15300000
         TIME  DEC                                                      15350000
TIME     EQU   *                                                        15400000
         ST    R0,WORKING          HOLD TIME                            15450000
         UNPK  WORKING(N8),WORKING(N4)   UNPACK TIME FOR PRINT          15500000
         MVC   TITLEDGH(N2),WORKING+N1      HH                          15550000
         MVC   TITLEDGM(N2),WORKING+N3      HH.MM                       15600000
         MVC   TITLEDGS(N2),WORKING+N5      HH.MM.SS                    15650000
         MVI   TYPEFLAG,ATE        SET CONTROL LINE TYPE                15700000
         BAL   RETURN,WTO          ISSUE WTO FOR HEADIND                15750000
         LH    WORK,DEVNOLN        GET NO. OF DEVICES PER LINE          15800000
         LA    TEXTPTR,TEXT        POINT TO TEXT LINE                   15850000
         LA    R15,UCBADDRA        POINT TO UCB ADDRESS LIST            15900000
         SR    POINT,POINT         ZERO REGISTER                        15950000
         LA    SCRATCH,LABELA      POINT TO CORRECT LABEL               16000000
         LA    POINT,LABALGN(POINT)     LENGTH OF LABEL FOR MOVE        16050000
         MVC   WORKING(N2),ONLGN   TEXT INCREMENT                       16100000
         TM    FLAG2,OFFLNS       TEST FOR OFFLINE                      16150000
         BNO   CONT               BRANCH IF NOT                         16200000
         LA    R5,LABOLGN         SET UP FOR OFFLINE DISPLAY            16250000
         MVC   WORKING(N2),OFFLGN      SET FOR OFFLGN HEADDER SPACING   16300000
CONT     EQU   *                                                        16350000
         BCTR  POINT,R0            DECREMENT LENGTH OF LABEL BY ONE     16400000
LABLOOP  EQU   *                                                        16450000
         LH    ADDR,N0(R15)        PICK UP UCB ADDRESS                  16500000
         N     ADDR,FOXAND         CLEAR HI ORDER 2 BYTES      @Z30AAJE 16510003
*                                                              @ZM30152 16520003
         LTR   ADDR,ADDR           Q. ZERO POINTER                      16550000
         BZ    LABEND              YES ISSUE LABEL LINE                 16600000
         EX    POINT,LABMOVE       PUT CORRECT LABEL IN LINE            16650000
         AH    TEXTPTR,WORKING     NO INCREMENT  TEXT POINTER           16700000
         LA    R15,N2(R15)         UP TO NEXT ENTRY IN LIST             16750000
         BCT   WORK,LABLOOP        DO ALL LABELS REQUIRED               16800000
LABEND   EQU   *                                                        16850000
         TM    FLAG2,SINGLE        SINGLE REQUEST                A35057 16900000
         BNO   LABENDMV            NO SKIP REQUEST               A35057 16950000
         TM    FLAG3,UNIT3RET      IF UNIT3 THEN SINGLE 2321 WHICH      17000000
         BNO   LABENDMV            REQUIRES A FULL LABEL, ELSE HALF.    17050000
         EX    POINT,LABMOVE       MOVE SECOND HALF OF LABEL LINE       17100000
LABENDMV EQU   *                                                        17150000
         MVI   TYPEFLAG,FORE       SET LABEL LINE TYPE                  17200000
         BAL   RETURN,WTO          WRITE LABEL LINE                     17250000
         MVC   TEXT(N72),SAVE+N12       RESTORE TEXT LINE               17300000
         B     WTORTN              RE-INITIALIZE WTO TAIL               17350000
SKIPHEAD EQU   *                                                        17400000
         MVI   TYPEFLAG,TWO        SET DATA LINE TYPE                   17450000
         TM    FLAG5,DISPEND       IS THIS END OF DISPLAY               17600000
         BO    SKIPFR              YES, ISSUE WTO AND EXIT              17650000
         BAL   RETURN,WTO          NO PUT OUT TEXT LINE                 17700000
         XC    UCBADDRA(N14),UCBADDRA  CLEAR TABLE                      17750000
         LH    UCBADDR,UCBADDRB    GET NEXT VALID UCB                   17800000
         N     UCBADDR,FOXAND      CLEAR HI ORDER 2 BYTES      @Z30AAJE 17810003
*                                                              @ZM30152 17820003
         B     NEWLINE             START NEW LINE                       17850000
SKIPFR   EQU   *                                                        17900000
         TM    FLAG5,CRTMSG2      SEE IF LAST STATUS LINE IS END LINE   17950000
         BNO   OSU                BRANCH IF NO ERROR MSG                18000000
         CLC   TEXT(N7),MSG2A     MSG2A IN TEXT AREA          MG YM1826 18010000
         BE    OSU                YES, SET END AND WRITE IT   MG YM1826 18020000
         BAL   RETURN,WTO         GO WRITE DATA LINE                    18050000
         MVC   TEXT(MSG2ALGN),MSG2A   MOVE TEXT IN FOR MSG2             18100000
         B     WTORTN             RE-INIT WTO PARAMETERS      MG YM1826 18110000
OSU      EQU   *                                                        18150000
         MVI   TYPEFLAG,THREE      SET DATA-END LINE TYPE               18200000
         BAL   RETURN,WTO         GO WRITE MSG2                         18250000
EXIT3    EQU   *                                                        18300000
         MVI   FLAG4,EXITBIT       GO TO THIRD LOAD AND EXIT            18350000
EXUN3A   EQU   *                                                        18650000
         MVI   XAX+L4,F2           THIRD LOAD NAME                      18700000
XCTL     EQU   *                                                        18750000
         LA    R15,XSA             POINT TO  PARA  LIST                 18800000
         XCTL  SF=(E,(R15))                                             18850000
         SPACE 2                                                        18900000
*********************************************************************** 18950000
*                                                                       19000000
*  ROUTINE ISSUES SVC 35 ON COMPLETED DISPLAY LINES                     19050000
*                                                                       19100000
*********************************************************************** 19150000
WTO      EQU   *                                                        19200000
         LA    ADDRPT,TEXT+L71     POINT TO SEARCH BEGIN                19250000
WTOLOOP  EQU   *         SEARCH BACK FOR LAST TEXT CHARACTER            19300000
         CLI   ZERO(ADDRPT),BLANK   IS THIS CARACTER A BLANK            19350000
         BNE   HITEXT              NO   FOUND END - FINISH WTO          19400000
         BCT   ADDRPT,WTOLOOP      GO BACK ONE                          19450000
HITEXT   EQU   *                                                        19500000
         MVC   ONE(N8,ADDRPT),DESCODE       BACK UP TAIL TO TEXT        19550000
         LA    ADDRPT,N5(ADDRPT)   UP LENGTH FOR SEARCH AND CODES       19600000
         LA    R0,TEXT             POINT TO TEXT BEGINNING              19650000
         SR    ADDRPT,R0           FIND LENGTH OF WTO                   19700000
         STH   ADDRPT,WTOSET       STORE LENGTH IN LIST                 19750000
         L     R0,HOLD2           PUT IN AREA  CONSOLE ID AND MLWTO ID  19800000
         LA    ADDRPT,WTOSET       POINT TO WTO LIST                    19850000
         WTO   MF=(E,(1))          EXECUTE WTO LIST                     19900000
         LTR   R15,R15             TEST RETURN CODE           MC YM3872 19910000
         BNZ   EXIT3               DISPLAY CANCELLED, EXIT    MC YM3872 19920000
         SLL   R1,N8               SHIFT TO HIGH ORDER BYTES            19950000
         IC    R1,HOLD2+N3         GET CONSOLE ID                       20000000
         ST    R1,HOLD2           STORE THEM BACK                       20050000
         MVI   TEXT,BLANK          BLANK TEXT AREA                      20100000
         MVC   TEXT+L1(L71),TEXT   PROPAGATE BLANKS                     20150000
         BR    14                  EXIT TO CALLER                       20200000
         SPACE 2                                                        20300000
EXMSG1   EQU   *                                                        20350000
         MVI   FLAG4,MSG1          IEEUNIT3 - WRITE MSG1A               20400000
         B     EXUN3A              GO TO IEEUNIT3                       20450000
         EJECT                                                          20500000
*********************************************************************** 20550000
*                                                                     * 20600000
*  EXECUTED INSTRUCTIONS                                              * 20650000
*                                                                     * 20700000
*********************************************************************** 20750000
TESTMASK EQU   *                                                        20760000
         TM    N0(POINT),N0        EXECUTED TEST UNDER MASK             20770000
LABMOVE  EQU   *                                                        20800000
         MVC   ZERO(ZERO,TEXTPTR),ZERO(SCRATCH)   LABEL MOVE            20852000
COMPUNIT EQU   *                                              MG YM3885 20860000
         CLI   UCBUA,N0            COMP DEV ADDR LESS CHANNEL MG YM3885 20870000
         SPACE 2                                                        20900000
*********************************************************************** 20950000
*                                                                     * 21000000
*                             EQUATES                                 * 21050000
*                                                                     * 21100000
*********************************************************************** 21150000
R0       EQU   0                   GENERAL REGISTER NOTATION            21200000
ADDRPT   EQU   1                   *                       *            21250000
ADDR     EQU   2                   *                       *            21300000
SCRATCH  EQU   3                   *                       *            21350000
R1       EQU   1                   *                       *            21400000
R3       EQU   3                   *                       *            21450000
WORK     EQU   4                   *                       *            21500000
R5       EQU   5                   *                       *            21550000
POINT    EQU   5                   *                       *            21600000
LINEOUT  EQU   6                   *                       *            21650000
R7       EQU   7                   *                       *            21700000
UCBADDR  EQU   7                   *                       *            21750000
R8       EQU   8                   *                       *            21800000
TEXTPTR  EQU   8                   *                       *            21850000
OUTWTO   EQU   7                   *                       *            21900000
R9       EQU   9                   *                       *            21950000
WBASE    EQU   10                  *                       *            22000000
XSABASE  EQU   11                  *                       *            22050000
PBASE    EQU   12                  *                       *            22100000
R13      EQU   13                  *                       *            22150000
RETURN   EQU   14                  *                       *            22200000
R15      EQU   15                  *                       *            22250000
         SPACE 2                                                        22300000
NO       EQU   0                   LENGTHS AND DISPLACEMENTS            22350000
N0       EQU   0                   *          *            *            22400000
N1       EQU   1                   *          *            *            22450000
N2       EQU   2                   *          *            *            22500000
N3       EQU   3                   *          *            *            22550000
N4       EQU   4                   *          *            *            22600000
N5       EQU   5                   *          *            *            22650000
N6       EQU   6                   *          *            *            22700000
N7       EQU   7                   *          *            *            22750000
N8       EQU   8                   *          *            *            22800000
N9       EQU   9                   *          *            *            22850000
N12      EQU   12                  *          *            *            22900000
N13      EQU   13                  *          *            *            22950000
N14      EQU   14                  *          *            *            23000000
N28      EQU   28                  *          *            *            23050000
N72      EQU   72                  *          *            *            23100000
N255     EQU   255                 *          *            *            23150000
L1       EQU   1                   *          *            *            23200000
L3       EQU   3                   *          *            *            23250000
L4       EQU   4                   *          *            *            23300000
L2       EQU   2                   *          *            *            23350000
L8       EQU   8                   *          *            *            23400000
L12      EQU   12                  *          *            *            23450000
L24      EQU   24                  *          *            *     A36165 23500000
L32      EQU   32                  *          *            *            23550000
L71      EQU   71                  *          *            *            23600000
ATE      EQU   X'80'               CONTROL LINE                         23650000
FORE     EQU   X'40'               LABEL LINE                           23700000
THREE    EQU   X'30'               DATA END LINE                        23750000
TWO      EQU   X'20'               DATA LINE                            23800000
ZERO     EQU   0                   *          *            *            23850000
ONE      EQU   1                   *          *            *            23900000
CVT      EQU   16                  ADDRESS OF CVT POINTER               23950000
F0       EQU   C'0'                EBCDIC ZERO                          24000000
F1       EQU   C'1'                EBCDIC 1                             24050000
F2       EQU   C'2'                EBCDIC 2                             24100000
BLANK    EQU   C' '                BLANK                                24150000
ZEROFOX  EQU   X'0F'               MASK TO ZERO SUBCHANNEL    MH Y02139 24160003
XFF      EQU   X'FF'               UCB LOOKUP TABLE STOPPER   JE YM6838 24170000
         EJECT                                                          24200000
*********************************************************************** 24250000
*                                                                     * 24300000
*     MESSAGES                                                        * 24350000
*                                                                     * 24400000
*********************************************************************** 24450000
MSG2A    DC    C'IEE452I UNIT STATUS NUMBER OF UNITS REQUESTED EXCEEDS X24500000
               NUMBER AVAILABLE'        ERROR MESSAGE 2                 24550000
MSG2AEND EQU   *                   END PF MSG2A                         24600000
MSG2ALGN EQU   MSG2AEND-MSG2A      LENGTH OF MSG2A                      24650000
HEAD     DC    C'IEE450I   .  .   UNIT STATUS'                          24700000
HEADEND  EQU   *                   END OF HEADING LINE                  24750000
HEADLGN  EQU   HEADEND-HEAD                                             24800000
*              THE FIRST NINE BYTES OF LABELA ARE ALSO USED FOR LABELO  24850000
LABELO   EQU   *                  MUST IMMEDIATELY PRECEED LABELA       24900000
LABELA   DC    C'UNIT TYPE STATUS  VOLSER VOLSTATE'                     24950000
LABAEND  EQU   *                   END OF LABELA                        25000000
LABALGN  EQU   LABAEND-LABELA      LENGTH OF LABELA                     25050000
LABOLGN  EQU   9                  LENGTH FOR OFFLINE LABEL              25100000
         EJECT                                                          25150000
*********************************************************************** 25200000
*                                                                     * 25250000
*                             CONSTANTS                               * 25300000
*                                                                     * 25350000
*********************************************************************** 25400000
ONLGN    DC    H'36'               FIRST HALF OF ONLINE LINE LENGTH     25450000
OFFLGN   DC    H'10'               LENGTH OF ONE OFFLINE ENTRY          25500000
         DS    0F                                                       25500403
FOXAND   DC    XL4'0000FFFF'       ANDING MASK                 @Z30AAJE 25502003
*                                                              @ZM30152 25504003
FOXFOX   DC    XL2'FFFF'           END OF UCB TABLE            @Z30AAJE 25510000
DCODE    DC    XL4'09800000'       DESCRIPTOR CODES 5,8,9 AND           25550000
*                                  ROUTING CODES (0)                    25600000
         EJECT                                                          25650000
*********************************************************************   25700000
*                                                                     * 25750000
*        DSECTS                                                       * 25800000
*                                                                     * 25850000
*********************************************************************   25900000
CVTDSECT DSECT                                                          25950000
         CVT                                                            26000000
         EJECT                                                          26050000
UCBDSECT DSECT                                                          26100000
         IEFUCBOB                                                       26150000
         EJECT                                                          26200000
XSASET   DSECT                                                          26250000
         IEECHAIN                                                       26300000
         ORG   CHAIN+L32                                                26350000
         IEEXSA                                                         26400000
         ORG   XSA+L24                                           A36165 26450000
WORKING  DS    5F                  WORKING STORAGE                      26500000
DEVNOLN  EQU   WORKING+L8          NUMBER OF DEVICES PER LINE           26550000
DEVSPRE  EQU   DEVNOLN+L2          NUMBER OF DEVICES DISPLAYED          26600000
LASTUCB  EQU   DEVSPRE+L3          STARTING UCB ADDRESS/BIN NUMBER      26650000
FROMID   EQU   LASTUCB+L4          REQUESTING CONSOLE ID                26700000
SAVE     DS    21F                 SAVE AREA BETWEEN MODULES            26750000
UNITADDA DS    C                   DEVICE ADDRESS FROM EBCDIC MH Y02139 26760003
UNITADDB DS    C                   DEVICE ADDRESS FROM HEX    MH Y02139 26770003
         ORG   SAVE+L12                                                 26800000
PACKWORD DS    F                                                        26850000
CVBWORD   DS   F                                                        26900000
         EJECT                                                          26950000
WORKAREA DSECT                                                          27000000
         SPACE 2                                                        27050000
         DS    0D                                                       27100000
UCBADDRA DS    7H                  STORAGE FOR UCB ADDRESSES            27150000
UCBADDRB DS    H                   FOUND BY UNIT4                       27200000
SWORD    DC    3F'0'               SAVE AREA ACROSS MODULES             27250000
UNIT1    DS    F                   HOLD ADDRESS ONE                     27300000
UNIT2    DS    F                   HOLD ADDRESS TWO                     27350000
UNIT3    DS    F                   HOLD ADDRESS THREE                   27400000
         SPACE 4                                                        27450000
FLAG2    DC    X'00'               COMMUNICATIONS BYTE                  27500000
ONLINS   EQU   128                 DISPLAY ONLINE DEVICES               27550000
OFFLNS   EQU   64                  DISPLAY OFFLINE DEVICES              27600000
ALLS     EQU   32                  DISPLAY OFFLINE + ONLINE DEVICES     27650000
SUFEXIST EQU   16                  REQUESTING CONSOLE IS A CRT DEVICE   27700000
SINGLE   EQU   8                   SINGLE DEVICE REQUEST                27750000
COREGOT  EQU   4                   CORE GOTTEN FOR REGION               27800000
OPEN22   EQU   2                   OPEN FLAG                            27850000
R13UCBNM EQU   1                   FLAG FOR COMPSET ROUTINE             27900000
         SPACE 2                                                        27950000
FLAG3    DC    X'00'               COMMUNICATIONS FLAGS                 28000000
U2       EQU   128                 SCAN CDE'S FOR DEVNAMET              28050000
UNIT3RET EQU   64                  IEE22110 RETURNING TO IEE21110       28100000
OPEN332  EQU   32                  OPEN FLAG                            28150000
DEVDEF   EQU   16                  DEVICE ADDRESS DEFAULTED             28200000
HEADOUTF EQU   8                   HEADING AND LABELS ARE OUT           28250000
OPEN34   EQU   4                   OPEN FLAG                            28300000
OPEN32   EQU   2                   OPEN FLAG                            28350000
OPEN31   EQU   1                   OPEN FLAG                            28400000
         SPACE 2                                                        28450000
*  FLAG4 BYTE IS USED FOR COMMUNICATIONS BETWEEN IEEUNIT3 AND THE       28500000
*  OTHER  D UNIT  MODULES.                                              28550000
FLAG4    DC    XL1'00'             COMMUNICATIONS BYTE        MC        28600000
EXITBIT  EQU   X'00'               RETURN TO CALLER           MC        28650000
MSG1     EQU   X'04'               ISSUE MESSAGE MSG1A        MC        28700000
MSG3     EQU   X'08'               ISSUE MESSAGE MSG3A        MC        28750000
MSG4     EQU   X'0C'               ISSUE MESSAGE MSG4A        MC        28800000
         SPACE 2                                                        29000000
FLAG5    DS    XL1                                                      29050000
NODEF    EQU   X'80'               LINE DEFAULT NOT TAKEN               29100000
INITENT  EQU   X'40'               INITIAL ENTRY TO UNIT STATUS FOUR    29150000
INITUNT2 EQU   X'20'               INITIAL ENTRY TO UNIT STATUS TWO     29200000
CRTMSG2  EQU   X'10'               MSG2 WITH HEADINGS FOR DIDOCS        29250000
UN4BINLT EQU   X'08'               LASTBIN FLAG FOR UNIT4               29300000
DISPBIT  EQU   X'04'               VALID ADDRESS FOUND                  29350000
DISPEND  EQU   X'02'               END OF FRAME AND DISPLAY             29400000
OPEN51   EQU   X'01'               OPEN FLAG                            29450000
         SPACE 2                                                        29500000
         DS    0F                  FORCE FULL WORD FOR WTO              29550000
WTOSET   DS    XL1                 ZERO                                 29600000
TEXTLEN  DS    XL1                 OUTPUT LENGTH                        29650000
LENGTH   EQU   76                  FULL LINE                            29700000
MCSONE   DS    XL1                 MCS FLAGS PART ONE                   29750000
SETONE   EQU   X'E1'               QUEUE BY ID, ROUTING + DESCRIPTOR    29800000
*                                  CODES EXIST, COMMAND RESPONSE, QUEUE 29850000
*                                  BY ID ONLY.                          29900000
MCSTWO   DS    XL1                 MCS FLAGS PART TWO                   29950000
SETTWO   EQU   X'40'               MLWTO                                30000000
         SPACE 1                                                        30050000
MSGT     DS    0C                  BEGIN TEXT LINE                      30100000
TEXT     DS    XL72                TEXT FIELD                           30150000
         ORG   TEXT                                                     30200000
TITLEID  DS    XL8                 MESSAGE ID NUMBER                    30250000
TITLEDGH DS    XL3                 HOURS.                               30300000
TITLEDGM DS    XL3                 MINUTES.                             30350000
TITLEDGS DS    XL2                 SECONDS                              30400000
TITLENM  DS    XL11               NAME OF DISPLAY                       30450000
         ORG   TEXT                                                     30500000
UCBN1    DS    XL5                 UNIT ADDRESS                         30550000
MODL1    DS    XL5                 DEVICE TYPE                          30600000
USTAT1   DS    XL1                 STATUS (O,A,S,C,OFFLINE)             30650000
USTAT2   DS    XL4                 STATUS (-BSY,-MTP,-NRD)              30700000
USTAT3   DS    XL3                 STATUS (-R)                          30750000
VOLID1   DS    XL7                 VOLUME SERIAL NUMBER                 30800000
VOST1A   DS    XL4                 VOLUME STATE (PUB,PRIV,STRG)         30850000
VOST1B   DS    XL6                 VOLUME STATE (-REMOV,-RSDNT,-RSERV)  30900000
         SPACE 2                                                        30950000
         ORG   TEXT+72            ORG FOR WTO TAIL                      31000000
DESCODE  DS    XL2                 DESCRIPTOR CODES                     31050000
RTECODE  DS    XL2                 ROUTING CODES                        31100000
TYPEFLAG DS    XL2                 MESSAGE TYPES                        31150000
AID      DS    XL1                AREA ID FIELD                         31200000
LNUM     DS    XL1                NUMBER OF LINES                       31250000
         SPACE 2                                                        31300000
HOLD2    DS    F                   MLWTO ID/ CONSOLE ID FOR WTO         31350000
NODEVICS DS    H                   NUMBER OF UNITS REQUESTED            31400000
NODEVDEF EQU   100                 DEFAULT                              31450000
         SPACE 2                                                        31500000
         SPACE 4                                                        31550000
*  FLAG1 BYTE IS SET BY IEEUNIT1 TO REFLECT THE DEVICE TYPE(S)          31600000
*  REQUESTED BY THE D U  COMMAND.  THE BITS SET CORRESPOND TO THE BIT   31650000
*  SETTINGS IN BYTE 3 OF THE UCBTYP FIELD.                              31700000
         SPACE 2                                                        31750000
FLAG1    DC    X'00'               FLAG1 FIELD                          31800000
TATYPE   EQU   UCB3TAPE           TAPE DEVICES                          31850000
TPTYPE   EQU   UCB3COMM           TELECOMMUNICATIONS DEVICES            31900000
DATYPE   EQU   UCB3DACC           DIRECT ACCESS DEVICES                 31950000
GRTYPE   EQU   UCB3DISP            GRAPHIC DISPLAY DEVICES              32000000
URTYPE   EQU   UCB3UREC+UCB3CHAR        UNIT RECORD + CHAR RDR DEVICES  32050000
ALLTYPE  EQU   TATYPE+TPTYPE+DATYPE+GRTYPE+URTYPE     ALLDEVICE TYPES   32100000
CTCTYPE  EQU   X'41'           CHANNEL-CHANNEL ADAPTOR TYPE JE @ZM32568 32110033
         SPACE 2                                                        32150000
IDFLD    DS    XL1                AREA ID SAVE AREA                     32200000
WEND     EQU   *                   END OF WORK AREA                     32250000
WAL      EQU   WEND-WORKAREA       LENGTH OF WORK AREA                  32300000
LOW      EQU   UNIT1                                                    32350000
CURRENT  EQU   UNIT2                                                    32400000
HIGH     EQU   UNIT3                                                    32450000
         END                                                            32500000
