         TITLE '     IKTCAS24 - VTAM TPEND EXIT                        *00001000
                        '                                               00002000
IKTCAS24 CSECT ,                                                   0001 00003000
@MAINENT DS    0H                                                  0001 00004000
         USING *,@15                                               0001 00005000
         B     @PROLOG                                             0001 00006000
         DC    AL1(16)                                             0001 00007000
         DC    C'IKTCAS24  78.045'                                 0001 00008000
         DROP  @15                                                      00009000
@PROLOG  DS    0H                                                  0002 00010000
         BALR  R15,0                                                    00011000
         USING *,R15                                                    00012000
         STM   R0,R14,SAVE1      SAVE CALLERS REGISTERS                 00013000
         BALR  R12,R0            BASE REG                               00014000
         USING *,R12                                                    00015000
         LA    R13,SAVE2         SAVEAREA ADDR                          00016000
*   ENTCON=R1;                      /* SAVE ENTRY CONDITION          */ 00017000
         LR    ENTCON,R1                                           0042 00018000
*   TWAPTR=IKTWAPTR;                /* GET TWA PTR                   */ 00019000
         L     @06,@CA00051                                        0043 00020000
         L     TWAPTR,IKTWAPTR-IKTWAPTR(,@06)                      0043 00021000
*   RFY                                                            0044 00022000
*     WESTD BASED(R10);             /* ADDR FOR W.E.         @ZM21019*/ 00023000
*   IF ENTCON^=0 THEN               /* ENTRY FROM VTAM       @ZM21019*/ 00024000
         LTR   ENTCON,ENTCON                                       0045 00025000
         BZ    @RF00045                                            0045 00026000
*     IF VTAMRSN=8 THEN             /* FOR HALT CANCEL       @ZM21019*/ 00027000
         CLC   VTAMRSN(4,ENTCON),@CF00061                          0046 00028000
         BNE   @RF00046                                            0046 00029000
*       DO;                         /* BUILD WORK ELEMENT FOR STOP 0047 00030000
*                                      QUEUE                 @ZM21019*/ 00031000
*         GEN CODE;                                                0048 00032000
*                                        /*                 @ZM21019*/  00033000
        GETMAIN RU,LV=16,SP=4            /* GET W.E.        @ZM21019*/  00034000
*         R10=R1;                   /* SAVE W.E. ADDR        @ZM21019*/ 00035000
         LR    R10,R1                                              0049 00036000
*         WECODE1T=TCCONSLE;        /* COMMUN. TASK ID       @ZM21019*/ 00037000
         MVI   WECODE1T(R10),X'04'                                 0050 00038000
*         WECODE1F=FCCIVT;          /* HALT CANCEL ID        @ZM21019*/ 00039000
         MVI   WECODE1F(R10),X'12'                                 0051 00040000
*         WECODE2T=TCCONSLE;        /* SET COMMUNICATIONS SUBPOOL  0052 00041000
*                                      NUMBER                @ZM21019*/ 00042000
         MVI   WECODE2T(R10),X'04'                                 0052 00043000
*         WECODE2F=0;               /* NO 2ND FUNCTION       @ZM21019*/ 00044000
         MVI   WECODE2F(R10),X'00'                                 0053 00045000
*         WERC=0;                   /* 0 RETURN CODE         @ZM21019*/ 00046000
         SLR   @06,@06                                             0054 00047000
         STH   @06,WERC(,R10)                                      0054 00048000
*         WELEN=16;                 /* LENGTH OF W.E.        @ZM21019*/ 00049000
         MVC   WELEN(2,R10),@CH00098                               0055 00050000
*STOPTOP:                           /* TOP OF CS LOOP        @ZM21019*/ 00051000
*         TEMPPTR=TWACSTPQ;         /* ADDR OF TOP WE        @ZM21019*/ 00052000
STOPTOP  L     TEMPPTR,TWACSTPQ(,TWAPTR)                           0056 00053000
*         WENEXT=TEMPPTR;           /* ADDR OF NEXT WE       @ZM21019*/ 00054000
         ST    TEMPPTR,WENEXT(,R10)                                0057 00055000
*         CS(TEMPPTR,R10,TWACSTPQ); /* CS WE TO Q TOP        @ZM21019*/ 00056000
         CS    TEMPPTR,@10,TWACSTPQ(TWAPTR)                        0058 00057000
*         BC(7,STOPTOP);            /* LOOP TIL DONE         @ZM21019*/ 00058000
         BC    7,STOPTOP                                           0059 00059000
*         RFY                                                      0060 00060000
*           R2 RSTD;                /* USE R2 FOR POST       @ZM21019*/ 00061000
*         R2=ADDR(TWACECB);         /* COMMUNICAT. ECB       @ZM21019*/ 00062000
         LA    R2,TWACECB(,TWAPTR)                                 0061 00063000
*         GEN CODE EXIT REFS(R2);                                  0062 00064000
*                                        /* POST ECB,RETURN @ZM21019*/  00065000
          POST (R2)                      /* POST COMMUN ECB @ZM21019*/  00066000
          LA   R15,0                     /* 0 RETURN CODE   @ZM21019*/  00067000
          LM   R0,R14,SAVE1              /* RESTORE REGS    @ZM21019*/  00068000
          BR   R14                       /* RETURN TO VTAM  @ZM21019*/  00069000
*         RFY                                                      0063 00070000
*           R2 UNRSTD;              /* FREE UP REG2          @ZM21019*/ 00071000
*       END;                        /* END HALT CANCEL       @ZM21019*/ 00072000
*     ELSE                          /* MUST BE HALT OR HALT QUICK  0065 00073000
*                                      VTAMRSN=0 OR 4        @ZM21019*/ 00074000
*       DO;                         /*                       @ZM21019*/ 00075000
         B     @RC00046                                            0065 00076000
@RF00046 DS    0H                                                  0066 00077000
*         TCASVSD='1'B;             /* SET VTAM SHUTTING DOWN      0066 00078000
*                                      INDICATOR             @ZM21019*/ 00079000
         L     @15,TCASTPTR(,TWAPTR)                               0066 00080000
         OI    TCASVSD(@15),B'00010000'                            0066 00081000
*         TSBPTR=TCASTSB;           /* POINT TO FIRST TSB ON TSO/VTAM   00082000
*                                      CHAIN                 @ZM21019*/ 00083000
         L     TSBPTR,TCASTSB(,@15)                                0067 00084000
*         DO WHILE TSBPTR^=0;       /* CHECK EACH TSB        @ZM21019*/ 00085000
         B     @DE00068                                            0068 00086000
@DL00068 DS    0H                                                  0069 00087000
*           IF TSBXWREC='1'B THEN   /* WAITING FOR RECONNECT?      0069 00088000
*                                                            @ZM21019*/ 00089000
         L     @15,TSBEXTNT(,TSBPTR)                               0069 00090000
         TM    TSBXWREC(@15),B'00010000'                           0069 00091000
         BNO   @RF00069                                            0069 00092000
*             DO;                   /*                       @ZM21019*/ 00093000
*               RFY                                                0071 00094000
*                (R2,                                              0071 00095000
*                 R3,                                              0071 00096000
*                 R4) RSTD;         /* RESTRICT REGS         @ZM21019*/ 00097000
*               R2=ADDR(TSBXECB);   /* GET ADDRESS OF RECONNECT ECB     00098000
*                                                            @ZM21019*/ 00099000
         LA    R2,TSBXECB(,@15)                                    0072 00100000
*               R3=TSBASCB;         /* ADDRESS OF ASCB       @ZM21019*/ 00101000
         L     R3,TSBASCB-1(,TSBPTR)                               0073 00102000
         LA    R3,0(,R3)                                           0073 00103000
*               R4=ADDR(TCASBR14);  /* USE A BR14 INSTRUCTION FOR THE   00104000
*                                      ERRET PARAMETER               */ 00105000
         L     R4,TCASTPTR(,TWAPTR)                                0074 00106000
         LA    R4,TCASBR14(,R4)                                    0074 00107000
*               GEN CODE REFS(R2,R3,R4) SETS(R0,R1);               0075 00108000
*                                                   /* POST @ZM21019*/  00109000
                POST (R2),ASCB=(R3),ERRET=(R4) /*TIMER ECB  @ZM21019*/  00110000
*               RFY                                                0076 00111000
*                (R2,                                              0076 00112000
*                 R3,                                              0076 00113000
*                 R4) UNRSTD;       /* FREE UP REGS          @ZM21019*/ 00114000
*             END;                  /* END POST              @ZM21019*/ 00115000
*           ELSE                                                   0078 00116000
*             ;                     /* GO TO NEXT TSB        @ZM21019*/ 00117000
@RF00069 DS    0H                                                  0079 00118000
*           TSBPTR=TSBXFWD;         /* GET ADDRESS OF THE NEXT TSB 0079 00119000
*                                                            @ZM21019*/ 00120000
         L     @15,TSBEXTNT(,TSBPTR)                               0079 00121000
         L     @00,TSBXFWD(,@15)                                   0079 00122000
         LR    TSBPTR,@00                                          0079 00123000
*         END;                      /* END OF TSB LOOP       @ZM21019*/ 00124000
@DE00068 LTR   TSBPTR,TSBPTR                                       0080 00125000
         BNZ   @DL00068                                            0080 00126000
*       END;                        /* END OF HALT OR HALT QUICK   0081 00127000
*                                      PROCESSING            @ZM21019*/ 00128000
*   CALL ADDSYN;                    /* ADD CLOSE ACB W.E. TO Q       */ 00129000
@RC00046 DS    0H                                                  0082 00130000
@RF00045 BAL   @14,ADDSYN                                          0082 00131000
*/*  *****************************************************************/ 00132000
*/*   IF THE SYNCHRONOUS (SYNC) QUEUE WAS NOT EMPTY, THE COMPARE     */ 00133000
*/*   AND SWAP USED TO ADD THE CLOSE ACB W.E. TO THAT QUEUE WILL     */ 00134000
*/*   FAIL (TEMPTR^=0). IN THAT CASE, A WORK ELEMENT IS OBTAINED,    */ 00135000
*/*   ITS ADDRESS PUT INTO REG10, AND IT IS PLACED IN THE            */ 00136000
*/*   ASYNCHRONOUS QUEUE. WHEN IT IS PICKED OFF THE ASYNC QUEUE      */ 00137000
*/*   BY IKTCAS20, IKTCAS24 WILL BE RE-DRIVEN, WITH ITS ADDRESS IN   */ 00138000
*/*   REG10 AND IKTCAS24 WILL RE-TRY PUTTING THE CLOSE ACB W.E.      */ 00139000
*/*   ON THE SYNC QUEUE. IF THAT TRY FAILS AGAIN, THE WORK ELEMENT   */ 00140000
*/*   POINTED TO BY REG10 IS RE-USED, AND PLACED AGAIN ON THE ASYNC  */ 00141000
*/*   QUEUE TO CAUSE IKTCAS24 TO BE DRIVEN AGAIN.  THIS PROCESS      */ 00142000
*/*   CONTINUES UNTIL THE CLOSE ACB W.E. FOR TCAS CAN SUCCESSFULLY   */ 00143000
*/*   BE PLACED ON THE SYNC QUEUE.                                   */ 00144000
*/*  *****************************************************************/ 00145000
*                                                                  0083 00146000
*   IF TEMPPTR^=0                   /* IF CS NOT SUCCESSFUL          */ 00147000
*     THEN                                                         0083 00148000
         SLR   @06,@06                                             0083 00149000
         CR    TEMPPTR,@06                                         0083 00150000
         BE    @RF00083                                            0083 00151000
*     DO;                           /* DO THE FOLLOWING              */ 00152000
*       IF ENTCON^=0                /* IS CALLED BY VTAM             */ 00153000
*         THEN                                                     0085 00154000
         CR    ENTCON,@06                                          0085 00155000
         BE    @RF00085                                            0085 00156000
*         DO;                       /* YES-GET WORK ELEMENT FOR ASYNC   00157000
*                                      QUEUE                         */ 00158000
*           RESPECIFY                                              0087 00159000
*            (R2,                                                  0087 00160000
*             R3) RESTRICTED;       /* FREEZE FOR GETMAIN            */ 00161000
*           R2=16;                  /* LENGTH OF W.E.'S              */ 00162000
         LA    R2,16                                               0088 00163000
*           R3=5;                   /* SUBPOOL NUMBER                */ 00164000
         LA    R3,5                                                0089 00165000
*           GEN(GETMAIN EU,LV=(R2),A=GSPTR,SP=(R3))/* GET SPACE      */ 00166000
*           SETS(GSPTR);                                           0090 00167000
         GETMAIN EU,LV=(R2),A=GSPTR,SP=(R3)                             00168000
*           R10=GSPTR;              /* W.E. PTR                      */ 00169000
         L     R10,GSPTR                                           0091 00170000
*           RESPECIFY                                              0092 00171000
*            (R2,                                                  0092 00172000
*             R3) UNRESTRICTED;     /* FREE UP                       */ 00173000
*           WECODE1T=TCVTAM;        /* SETUP                         */ 00174000
         MVI   WECODE1T(R10),X'02'                                 0093 00175000
*           WECODE1F=FCVTPEND;      /* TPEND                         */ 00176000
         MVI   WECODE1F(R10),X'41'                                 0094 00177000
*           WECODE2T=TCVTAM;        /* W.E. TO RE-DRIVE THIS         */ 00178000
         MVI   WECODE2T(R10),X'02'                                 0095 00179000
*           WECODE2F=FCVTPEND;      /* MODULE.                       */ 00180000
         MVI   WECODE2F(R10),X'41'                                 0096 00181000
*           WERC=0;                 /* .                             */ 00182000
         SLR   @15,@15                                             0097 00183000
         STH   @15,WERC(,R10)                                      0097 00184000
*           WELEN=16;               /* .                             */ 00185000
         MVC   WELEN(2,R10),@CH00098                               0098 00186000
*           WENEXT=0;               /* .                             */ 00187000
         ST    @15,WENEXT(,R10)                                    0099 00188000
*         END;                                                     0100 00189000
*                                                                  0100 00190000
*       /*************************************************************/ 00191000
*       /*                                                           */ 00192000
*       /* AT THIS POINT, THE ATTEMPT TO PUT TCAS TERMINATION WORK   */ 00193000
*       /* ELEMENTS ON THE SYNC QUEUE HAS FAILED. EITHER REG 10      */ 00194000
*       /* POINTS TO THE WORK ELEMENT JUST OBTAINED AND INITIALIZED, */ 00195000
*       /* OR REG 10 STILL POINTS TO A WORK ELEMENT OBTAINED BY A    */ 00196000
*       /* PREVIOUS CALL TO IKTCAS24. IN EITHER CASE, THAT WORK      */ 00197000
*       /* ELEMENT IS PLACED ON THE ASYNC QUEUE FOR THE PURPOSE OF   */ 00198000
*       /* RE-DRIVING THIS MODULE.                                   */ 00199000
*       /*                                                           */ 00200000
*       /*************************************************************/ 00201000
*                                                                  0101 00202000
*       CALL ADDASYN;               /* PROCESS W.E.                  */ 00203000
@RF00085 BAL   @14,ADDASYN                                         0101 00204000
*     END;                                                         0102 00205000
*   ELSE                                                           0103 00206000
*     DO;                           /* CS SUCCESSFUL                 */ 00207000
         B     @RC00083                                            0103 00208000
@RF00083 DS    0H                                                  0104 00209000
*       IF ENTCON=0                 /* CALLED BY DRIVER              */ 00210000
*         THEN                                                     0104 00211000
         LTR   ENTCON,ENTCON                                       0104 00212000
         BNZ   @RF00104                                            0104 00213000
*         DO;                       /* FREE ASYNC QUEUE WORK ELEMENT,   00214000
*                                      IT IS NO LONGER NEEDED        */ 00215000
*           GSPTR=R10;              /* FREEMAIN PTR                  */ 00216000
         ST    R10,GSPTR                                           0106 00217000
*           RFY                                                    0107 00218000
*            (R2,                                                  0107 00219000
*             R3) RSTD;                                            0107 00220000
*           R2=WELEN;               /* FREEMAIN LENGTH               */ 00221000
         LH    R2,WELEN(,R10)                                      0108 00222000
*           R3=5;                   /* SP NUMBER                     */ 00223000
         LA    R3,5                                                0109 00224000
*           GEN SETS(GSPTR);                                       0110 00225000
         FREEMAIN E,A=GSPTR,LV=(R2),SP=(R3)   FREEMAIN W.E.AREA         00226000
*           RFY                                                    0111 00227000
*            (R2,                                                  0111 00228000
*             R3) UNRSTD;                                          0111 00229000
*         END;                                                     0112 00230000
*     END;                                                         0113 00231000
         EJECT                                                          00232000
*                                                                  0114 00233000
*   /*****************************************************************/ 00234000
*   /*                                                               */ 00235000
*   /* THIS PROCEDURE ADD A W.E. TO THE ASYNCHRONOUS Q               */ 00236000
*   /*                                                               */ 00237000
*   /*****************************************************************/ 00238000
*                                                                  0114 00239000
*ADDASYN:                                                          0114 00240000
*   PROC OPTIONS(SAVE(14));         /* ADD A W.E. TO TPEND Q         */ 00241000
         B     @PB00002                                            0114 00242000
ADDASYN  ST    @14,12(,@13)                                        0114 00243000
*   RFY                                                            0115 00244000
*     WESTD BASED(R10);                                            0115 00245000
*ADDLOOP:                                                          0116 00246000
*   TEMPPTR=TWAVTEQH;               /* W.E.                          */ 00247000
ADDLOOP  L     TEMPPTR,TWAVTEQH(,TWAPTR)                           0116 00248000
*   WENEXT=TEMPPTR;                 /* ON                            */ 00249000
         ST    TEMPPTR,WENEXT(,R10)                                0117 00250000
*   CS(TEMPPTR,R10,TWAVTEQH);       /* ASYNC Q                       */ 00251000
         CS    TEMPPTR,@10,TWAVTEQH(TWAPTR)                        0118 00252000
*   BC(7,ADDLOOP);                  /* AND                           */ 00253000
         BC    7,ADDLOOP                                           0119 00254000
*   END ADDASYN;                    /* EXIT                          */ 00255000
@EL00002 DS    0H                                                  0120 00256000
@EF00002 DS    0H                                                  0120 00257000
@ER00002 L     @14,12(,@13)                                        0120 00258000
         BR    @14                                                 0120 00259000
         EJECT                                                          00260000
*                                                                  0121 00261000
*   /*****************************************************************/ 00262000
*   /*                                                               */ 00263000
*   /* THIS PROCEDURE ADD A W.E. TO THE SYNCHRONOUS QUEUE            */ 00264000
*   /*                                                               */ 00265000
*   /*****************************************************************/ 00266000
*                                                                  0121 00267000
*ADDSYN:                                                           0121 00268000
*   PROC OPTIONS(SAVE(14));         /* ADD W.E. TO SYNC Q            */ 00269000
ADDSYN   ST    @14,@SA00003                                        0121 00270000
*   RFY                                                            0122 00271000
*     WESTD BASED(ADDR(WEAREA));                                   0122 00272000
*   WECODE1F=FCVIAC;                /* CLOSE ACB W.E.                */ 00273000
         LA    @06,WEAREA                                          0123 00274000
         MVI   WECODE1F(@06),X'12'                                 0123 00275000
*   WECODE1T=TCVTAM;                /* VTAM INT CODE                 */ 00276000
         MVI   WECODE1T(@06),X'02'                                 0124 00277000
*   WECODE2T='00'X;                 /* DUMMY OUT                     */ 00278000
         MVI   WECODE2T(@06),X'00'                                 0125 00279000
*   WELEN=12;                       /* W.E. LENGTH                   */ 00280000
         MVC   WELEN(2,@06),@CH00072                               0126 00281000
*   WERC=0;                         /* NO OP                         */ 00282000
         SLR   @02,@02                                             0127 00283000
         STH   @02,WERC(,@06)                                      0127 00284000
*   TEMPPTR=0;                      /* ZERO FOR COMPARE SWAP         */ 00285000
         SLR   TEMPPTR,TEMPPTR                                     0128 00286000
*   RFY                                                            0129 00287000
*     R2 RSTD;                                                     0129 00288000
*   R2=ADDR(WEAREA);                /* ADDR OF W.E. TO BE Q          */ 00289000
         LR    R2,@06                                              0130 00290000
*   CS(TEMPPTR,R2,TWASYNQH);        /* Q W.E. TO SYNC Q              */ 00291000
         CS    TEMPPTR,@02,TWASYNQH(TWAPTR)                        0131 00292000
*   IF TEMPPTR=0                    /* IF CS SUCCESSFUL              */ 00293000
*     THEN                                                         0132 00294000
         SLR   @06,@06                                             0132 00295000
         CR    TEMPPTR,@06                                         0132 00296000
         BNE   @RF00132                                            0132 00297000
*     DO;                           /* THEN DO                       */ 00298000
*       R2=24;                      /* GETMAIN LENGTH        @YM03217*/ 00299000
         LA    R2,24                                               0134 00300000
*       GEN;                                                       0135 00301000
         GETMAIN R,LV=(R2),SP=5    GETMAIN FOR BUILDING W.E.@YM03217    00302000
         XC    0(24,R1),0(R1)      CLEAR STORAGE            @YM03217    00303000
*       WENEXT=R1;                  /* NEXT W.E. PTR                 */ 00304000
         LA    @06,WEAREA                                          0136 00305000
         ST    R1,WENEXT(,@06)                                     0136 00306000
*       RFY                                                        0137 00307000
*         WESTD BASED(R1);                                         0137 00308000
*       WECODE1T=TCMAIN;            /* MAIN TASK CODE                */ 00309000
         MVI   WECODE1T(R1),X'01'                                  0138 00310000
*       WECODE1F=FCMLTT;            /* TCAS TERMINATION FUNC         */ 00311000
         MVI   WECODE1F(R1),X'80'                                  0139 00312000
*       WELEN=12;                   /* W.E. LENGTH                   */ 00313000
         LA    @06,12                                              0140 00314000
         STH   @06,WELEN(,R1)                                      0140 00315000
*       WERC=7;                     /* TERMINATION ROUTINE ENTRY CODE*/ 00316000
         MVC   WERC(2,R1),@CH00122                                 0141 00317000
*       WENEXT=R1+12;               /* NEXT W.E. PTR                 */ 00318000
         LR    @00,R1                                              0142 00319000
         ALR   @00,@06                                             0142 00320000
         ST    @00,WENEXT(,R1)                                     0142 00321000
*       R1=R1+12;                   /* UPDATE PTR TO NEXT WE         */ 00322000
         ALR   R1,@06                                              0143 00323000
*       WECODE1T=TCMAIN;            /* MAIN TASK CODE                */ 00324000
         MVI   WECODE1T(R1),X'01'                                  0144 00325000
*       WECODE1F=FCMLET;            /* END MAIN TASK FUNCTION        */ 00326000
         MVI   WECODE1F(R1),X'91'                                  0145 00327000
*       WELEN=12;                   /* W.E. LENGTH                   */ 00328000
         STH   @06,WELEN(,R1)                                      0146 00329000
*       WERC2=RCTPEND;              /* TERMINATION REASON CODE       */ 00330000
         MVI   WERC2(R1),X'3C'                                     0147 00331000
*       R1=9;                       /* MESSAGE NUMBER                */ 00332000
         LA    R1,9                                                0148 00333000
*       CALL MSGBLK;                /* ADDR OF LIST FORM OF MSG      */ 00334000
         L     @15,TWAMSG(,TWAPTR)                                 0149 00335000
         BALR  @14,@15                                             0149 00336000
*       R1=ADDR(IKT009I);           /* ADDR OF MSG                   */ 00337000
         LA    @06,IKT009I(,R1)                                    0150 00338000
         LR    R1,@06                                              0150 00339000
*       R2=ADDR(TWAVECB);           /* VTAM INT SUBTASK ECB          */ 00340000
         LA    R2,TWAVECB(,TWAPTR)                                 0151 00341000
*       GEN;                                                       0152 00342000
         WTO   MF=(E,(1))    ISSUE TPEND MSG                            00343000
         POST  (R2)          POST VTAM INT TASK TO CLOSE ACB            00344000
*     END;                                                         0153 00345000
*   RFY                                                            0154 00346000
*     R2 UNRSTD;                                                   0154 00347000
*   END ADDSYN;                                                    0155 00348000
@EL00003 DS    0H                                                  0155 00349000
@EF00003 DS    0H                                                  0155 00350000
@ER00003 L     @14,@SA00003                                        0155 00351000
         BR    @14                                                 0155 00352000
@PB00003 DS    0H                                                  0155 00353000
         EJECT                                                          00354000
*   GEN;                                                           0156 00355000
         LA    R15,0           RETURN CODE                              00356000
         LM    R0,R14,SAVE1    RESTORE REGISTERS                        00357000
         BR    R14             RETURN TO CALLER                         00358000
*   END IKTCAS24                                                   0157 00359000
*                                                                  0157 00360000
*/* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM.     */ 00361000
*/*%INCLUDE SYSLIB  (IKTCASWA)                                       */ 00362000
*/*%INCLUDE SYSLIB  (IKJTSB  )                                       */ 00363000
*/*%INCLUDE SYSLIB  (IKTTSBX )                                       */ 00364000
*/*%INCLUDE SYSLIB  (IKTTCAST)                                       */ 00365000
*                                                                  0157 00366000
*       ;                                                          0157 00367000
@DATA    DS    0H                                                       00368000
@CH00122 DC    H'7'                                                     00369000
@CH00072 DC    H'12'                                                    00370000
@CH00098 DC    H'16'                                                    00371000
         DS    0F                                                       00372000
@SA00003 DS    1F                                                       00373000
         DS    0F                                                       00374000
@CF00061 DC    F'8'                                                     00375000
@CA00051 DC    A(IKTWAPTR)                                              00376000
         DS    0D                                                       00377000
GSPTR    DS    A                                                        00378000
WEAREA   DS    CL12                                                     00379000
SAVE1    DS    15A                                                      00380000
SAVE2    DS    18A                                                      00381000
PATCH    DC    13A(0)                                                   00382000
@00      EQU   00                      EQUATES FOR REGISTERS 0-15       00383000
@01      EQU   01                                                       00384000
@02      EQU   02                                                       00385000
@03      EQU   03                                                       00386000
@04      EQU   04                                                       00387000
@05      EQU   05                                                       00388000
@06      EQU   06                                                       00389000
@07      EQU   07                                                       00390000
@08      EQU   08                                                       00391000
@09      EQU   09                                                       00392000
@10      EQU   10                                                       00393000
@11      EQU   11                                                       00394000
@12      EQU   12                                                       00395000
@13      EQU   13                                                       00396000
@14      EQU   14                                                       00397000
@15      EQU   15                                                       00398000
TSBPTR   EQU   @06                                                      00399000
ENTCON   EQU   @07                                                      00400000
TEMPPTR  EQU   @03                                                      00401000
R0       EQU   @00                                                      00402000
R1       EQU   @01                                                      00403000
R2       EQU   @02                                                      00404000
R3       EQU   @03                                                      00405000
R4       EQU   @04                                                      00406000
R10      EQU   @10                                                      00407000
TWAPTR   EQU   @11                                                      00408000
R12      EQU   @12                                                      00409000
R13      EQU   @13                                                      00410000
R14      EQU   @14                                                      00411000
R15      EQU   @15                                                      00412000
         EXTRN IKTWAPTR                                                 00413000
MSGBLK   EQU   0                                                        00414000
@NM00001 EQU   0                                                        00415000
VTAMRSN  EQU   @NM00001+4                                               00416000
@NM00002 EQU   0                                                        00417000
MSGDATA  EQU   @NM00002+4                                               00418000
WESTD    EQU   0                                                        00419000
WECODE1T EQU   WESTD                                                    00420000
WECODE1F EQU   WESTD+1                                                  00421000
WECODE2T EQU   WESTD+2                                                  00422000
WECODE2F EQU   WESTD+3                                                  00423000
WENEXT   EQU   WESTD+4                                                  00424000
WERC     EQU   WESTD+8                                                  00425000
WERC2    EQU   WERC+1                                                   00426000
WELEN    EQU   WESTD+10                                                 00427000
TWAR     EQU   0                                                        00428000
TWASYNQH EQU   TWAR+4                                                   00429000
TWATCAST EQU   TWAR+20                                                  00430000
TWAMSG   EQU   TWAR+48                                                  00431000
TWAMFL   EQU   TWAR+80                                                  00432000
TWAVFL   EQU   TWAR+81                                                  00433000
TWAUFL   EQU   TWAR+82                                                  00434000
TWACFL   EQU   TWAR+83                                                  00435000
TWAM     EQU   TWAR+84                                                  00436000
TWAME    EQU   TWAM+68                                                  00437000
TWAMEI   EQU   TWAME                                                    00438000
TWAV     EQU   TWAR+184                                                 00439000
TWAVE    EQU   TWAV+68                                                  00440000
TWAVEI   EQU   TWAVE                                                    00441000
TWAVI    EQU   TWAR+284                                                 00442000
TWAVECB  EQU   TWAVI                                                    00443000
TWAVTEQH EQU   TWAVI+4                                                  00444000
TWAU     EQU   TWAR+300                                                 00445000
TWAUE    EQU   TWAU+68                                                  00446000
TWAUEI   EQU   TWAUE                                                    00447000
TWAUI    EQU   TWAR+400                                                 00448000
TWAC     EQU   TWAR+408                                                 00449000
TWACE    EQU   TWAC+68                                                  00450000
TWACEI   EQU   TWACE                                                    00451000
TWACI    EQU   TWAR+508                                                 00452000
TWACECB  EQU   TWACI                                                    00453000
TWACSTPQ EQU   TWACI+4                                                  00454000
TSB      EQU   0                                                        00455000
TSBASCBA EQU   TSB                                                      00456000
TSBSTAT  EQU   TSBASCBA                                                 00457000
TSBASCB  EQU   TSBASCBA+1                                               00458000
TSBFLG1  EQU   TSB+4                                                    00459000
TSBFLG2  EQU   TSB+16                                                   00460000
TSBFLG3  EQU   TSB+24                                                   00461000
TSBFLG5  EQU   TSB+25                                                   00462000
TSBTERMC EQU   TSB+26                                                   00463000
TSBTERM1 EQU   TSBTERMC                                                 00464000
TSBTERM2 EQU   TSBTERMC+1                                               00465000
TSBSTCC  EQU   TSB+34                                                   00466000
TSBFLG4  EQU   TSB+41                                                   00467000
TSBRCB   EQU   TSB+64                                                   00468000
TSBLINKA EQU   TSBRCB+4                                                 00469000
TSBTPOST EQU   TSB+72                                                   00470000
TSBTPFLG EQU   TSBTPOST                                                 00471000
TSBMINL  EQU   TSB+84                                                   00472000
TSBEXTNT EQU   TSB+96                                                   00473000
TSBX     EQU   0                                                        00474000
TSBXFWD  EQU   TSBX                                                     00475000
TSBXECB  EQU   TSBX+8                                                   00476000
TSBXFLG1 EQU   TSBX+32                                                  00477000
TSBXWREC EQU   TSBXFLG1                                                 00478000
TSBXTERM EQU   TSBX+72                                                  00479000
TCAST    EQU   0                                                        00480000
TCASUSER EQU   TCAST+4                                                  00481000
TCASTSB  EQU   TCAST+68                                                 00482000
TCASFLG1 EQU   TCAST+88                                                 00483000
TCASVSD  EQU   TCASFLG1                                                 00484000
TCASFLG2 EQU   TCAST+89                                                 00485000
TCASBR14 EQU   TCAST+116                                                00486000
IKT009I  EQU   MSGDATA                                                  00487000
TCASTPTR EQU   TWATCAST                                                 00488000
         AGO   .@UNREFD                START UNREFERENCED COMPONENTS    00489000
TCASTEND EQU   TCAST+136                                                00490000
TCASDUMP EQU   TCAST+132                                                00491000
TCASSCHD EQU   TCAST+128                                                00492000
TCASTPND EQU   TCAST+124                                                00493000
TCASOMJR EQU   TCAST+120                                                00494000
@NM00037 EQU   TCAST+118                                                00495000
TCASATTN EQU   TCAST+112                                                00496000
TCASASCI EQU   TCAST+108                                                00497000
TCASTTQH EQU   TCAST+104                                                00498000
@NM00036 EQU   TCAST+102                                                00499000
@NM00035 EQU   TCAST+100                                                00500000
@NM00034 EQU   TCAST+98                                                 00501000
@NM00033 EQU   TCAST+96                                                 00502000
TCASASCB EQU   TCAST+92                                                 00503000
@NM00032 EQU   TCAST+90                                                 00504000
@NM00031 EQU   TCASFLG2                                                 00505000
@NM00030 EQU   TCASFLG1                                                 00506000
TCASNACT EQU   TCASFLG1                                                 00507000
TCASABND EQU   TCASFLG1                                                 00508000
TCASMDSW EQU   TCASFLG1                                                 00509000
TCASBKMD EQU   TCASFLG1                                                 00510000
TCASLTE  EQU   TCAST+84                                                 00511000
TCASEXIT EQU   TCAST+80                                                 00512000
TCASOQM  EQU   TCAST+76                                                 00513000
TCASIQM  EQU   TCAST+72                                                 00514000
TCASTTL  EQU   TCAST+64                                                 00515000
TCASWA   EQU   TCAST+60                                                 00516000
TCASFRR  EQU   TCAST+56                                                 00517000
TCASMSGS EQU   TCAST+52                                                 00518000
TCASDATO EQU   TCAST+48                                                 00519000
TCASDATI EQU   TCAST+44                                                 00520000
TCASXECB EQU   TCAST+40                                                 00521000
TCASTID  EQU   TCAST+32                                                 00522000
@NM00029 EQU   TCAST+31                                                 00523000
TCASCHNL EQU   TCAST+30                                                 00524000
TCASCRSZ EQU   TCAST+28                                                 00525000
TCASLBUF EQU   TCAST+24                                                 00526000
TCASHBUF EQU   TCAST+20                                                 00527000
TCASCLSZ EQU   TCAST+18                                                 00528000
TCASRCON EQU   TCAST+16                                                 00529000
TCASACBP EQU   TCAST+8                                                  00530000
TCASUMAX EQU   TCASUSER+2                                               00531000
TCASUSEC EQU   TCASUSER                                                 00532000
TCASID   EQU   TCAST                                                    00533000
TSBXEND  EQU   TSBX+120                                                 00534000
@NM00028 EQU   TSBX+116                                                 00535000
TSBXBIND EQU   TSBX+80                                                  00536000
TSBXRPL  EQU   TSBX+76                                                  00537000
TSBXTMBF EQU   TSBXTERM+2                                               00538000
@NM00027 EQU   TSBXTERM+1                                               00539000
TSBXTMTP EQU   TSBXTERM                                                 00540000
TSBXAIND EQU   TSBX+70                                                  00541000
TSBXRSZO EQU   TSBX+69                                                  00542000
TSBXRSZI EQU   TSBX+68                                                  00543000
TSBXLBUF EQU   TSBX+64                                                  00544000
TSBXCSAP EQU   TSBX+60                                                  00545000
TSBXSRB  EQU   TSBX+56                                                  00546000
TSBXSRBI EQU   TSBX+52                                                  00547000
@NM00026 EQU   TSBX+48                                                  00548000
TSBXTOM  EQU   TSBX+44                                                  00549000
TSBXTIM  EQU   TSBX+40                                                  00550000
TSBXTVWA EQU   TSBX+36                                                  00551000
@NM00025 EQU   TSBX+33                                                  00552000
@NM00024 EQU   TSBXFLG1                                                 00553000
TSBXLOGF EQU   TSBXFLG1                                                 00554000
TSBXACTV EQU   TSBXFLG1                                                 00555000
TSBXASCI EQU   TSBXFLG1                                                 00556000
TSBXUID  EQU   TSBX+24                                                  00557000
@NM00023 EQU   TSBX+16                                                  00558000
@NM00022 EQU   TSBX+12                                                  00559000
TSBXBCK  EQU   TSBX+4                                                   00560000
TSBEND   EQU   TSB+120                                                  00561000
TSBSF1   EQU   TSB+112                                                  00562000
TSBTRMID EQU   TSB+104                                                  00563000
TSBALTC  EQU   TSB+103                                                  00564000
TSBALTR  EQU   TSB+102                                                  00565000
TSBPRMC  EQU   TSB+101                                                  00566000
TSBPRMR  EQU   TSB+100                                                  00567000
TSBPSWD  EQU   TSB+88                                                   00568000
TSBLECB  EQU   TSBMINL                                                  00569000
TSBLINE  EQU   TSB+82                                                   00570000
TSBSTAX  EQU   TSB+81                                                   00571000
TSBATTNC EQU   TSB+80                                                   00572000
TSBF1V   EQU   TSBTPOST+7                                               00573000
TSBF1M   EQU   TSBTPOST+6                                               00574000
TSBF2V   EQU   TSBTPOST+5                                               00575000
TSBF2M   EQU   TSBTPOST+4                                               00576000
TSBFLAGV EQU   TSBTPOST+3                                               00577000
TSBFLAGM EQU   TSBTPOST+2                                               00578000
TSBSBASV EQU   TSBTPOST+1                                               00579000
@NM00021 EQU   TSBTPFLG                                                 00580000
@NM00020 EQU   TSBTPFLG                                                 00581000
@NM00019 EQU   TSBTPFLG                                                 00582000
@NM00018 EQU   TSBTPFLG                                                 00583000
TSBNEWID EQU   TSBTPFLG                                                 00584000
TSBTPAYI EQU   TSBTPFLG                                                 00585000
TSBTPQCB EQU   TSBTPFLG                                                 00586000
TSBPOSTO EQU   TSBTPFLG                                                 00587000
TSBLINKB EQU   TSBLINKA+1                                               00588000
TSBPRI   EQU   TSBLINKA                                                 00589000
TSBRQCB  EQU   TSBRCB                                                   00590000
TSBCTCB  EQU   TSB+60                                                   00591000
TSBERSDS EQU   TSB+56                                                   00592000
TSBAUTOI EQU   TSB+52                                                   00593000
TSBAUTOS EQU   TSB+48                                                   00594000
TSBATNCC EQU   TSB+44                                                   00595000
TSBASRCE EQU   TSB+42                                                   00596000
TSBHLDL  EQU   TSBFLG4                                                  00597000
TSBGETBF EQU   TSBFLG4                                                  00598000
TSBCANC  EQU   TSBFLG4                                                  00599000
TSBHOLD  EQU   TSBFLG4                                                  00600000
TSBHUNG  EQU   TSBFLG4                                                  00601000
TSBOWAIT EQU   TSBFLG4                                                  00602000
TSBIWAIT EQU   TSBFLG4                                                  00603000
TSBOCAB  EQU   TSBFLG4                                                  00604000
TSBLNNO  EQU   TSB+40                                                   00605000
TSBATNTC EQU   TSB+38                                                   00606000
TSBATNLC EQU   TSB+36                                                   00607000
TSBCHDCC EQU   TSBSTCC+1                                                00608000
TSBLNDCC EQU   TSBSTCC                                                  00609000
TSBWTJID EQU   TSB+32                                                   00610000
TSBECB   EQU   TSB+28                                                   00611000
TSBC1050 EQU   TSBTERM2                                                 00612000
@NM00017 EQU   TSBTERM2                                                 00613000
@NM00016 EQU   TSBTERM2                                                 00614000
@NM00015 EQU   TSBTERM2                                                 00615000
@NM00014 EQU   TSBTERM2                                                 00616000
TSBCTWX  EQU   TSBTERM2                                                 00617000
@NM00013 EQU   TSBTERM2                                                 00618000
@NM00012 EQU   TSBTERM2                                                 00619000
@NM00011 EQU   TSBTERM1                                                 00620000
@NM00010 EQU   TSBTERM1                                                 00621000
@NM00009 EQU   TSBTERM1                                                 00622000
TSBC2741 EQU   TSBTERM1                                                 00623000
TSBC5041 EQU   TSBTERM1                                                 00624000
TSBCATTN EQU   TSBTERM1                                                 00625000
TSBCBRK  EQU   TSBTERM1                                                 00626000
TSBCIHBN EQU   TSBTERM1                                                 00627000
TSBVTAM  EQU   TSBFLG5                                                  00628000
TSBKEYS  EQU   TSBFLG5                                                  00629000
@NM00008 EQU   TSBFLG5                                                  00630000
TSBATMP  EQU   TSBFLG5                                                  00631000
TSBNFLOP EQU   TSBFLG3                                                  00632000
TSBNOBRK EQU   TSBFLG3                                                  00633000
TSBTPUT  EQU   TSBFLG3                                                  00634000
TSBAWOIP EQU   TSBFLG3                                                  00635000
TSBNBKSP EQU   TSBFLG3                                                  00636000
TSBSPIT  EQU   TSBFLG3                                                  00637000
TSBTJMSG EQU   TSBFLG3                                                  00638000
TSBATTN  EQU   TSBFLG3                                                  00639000
TSBIBFP  EQU   TSB+21                                                   00640000
TSBNIBF  EQU   TSB+20                                                   00641000
TSBITBFP EQU   TSB+17                                                   00642000
TSBSATN2 EQU   TSBFLG2                                                  00643000
TSBSATN1 EQU   TSBFLG2                                                  00644000
TSBSTAUT EQU   TSBFLG2                                                  00645000
TSBAUTOC EQU   TSBFLG2                                                  00646000
TSBAULST EQU   TSBFLG2                                                  00647000
TSBBRKIN EQU   TSBFLG2                                                  00648000
TSBAUTON EQU   TSBFLG2                                                  00649000
TSBBIPI  EQU   TSBFLG2                                                  00650000
TSBOBFP  EQU   TSB+13                                                   00651000
TSBNOBF  EQU   TSB+12                                                   00652000
TSBOTBFP EQU   TSB+9                                                    00653000
TSBLNSZ  EQU   TSB+8                                                    00654000
TSBWTCB  EQU   TSB+5                                                    00655000
TSBTJBF  EQU   TSBFLG1                                                  00656000
TSBTJIP  EQU   TSBFLG1                                                  00657000
TSBTJOW  EQU   TSBFLG1                                                  00658000
TSBIFLSH EQU   TSBFLG1                                                  00659000
TSBWOWIP EQU   TSBFLG1                                                  00660000
TSBOWIP  EQU   TSBFLG1                                                  00661000
TSBOFLSH EQU   TSBFLG1                                                  00662000
TSBANSR  EQU   TSBFLG1                                                  00663000
TSBATNLD EQU   TSBSTAT                                                  00664000
TSB3270  EQU   TSBSTAT                                                  00665000
TSBDISC  EQU   TSBSTAT                                                  00666000
TSBITOFF EQU   TSBSTAT                                                  00667000
TSBNOBUF EQU   TSBSTAT                                                  00668000
TSBDSPLY EQU   TSBSTAT                                                  00669000
TSBLWAIT EQU   TSBSTAT                                                  00670000
TSBINUSE EQU   TSBSTAT                                                  00671000
TWAEND   EQU   TWAR+536                                                 00672000
TWAWORKE EQU   TWAR+524                                                 00673000
@NM00007 EQU   TWACI+13                                                 00674000
TWACSKIP EQU   TWACI+12                                                 00675000
TWACMODQ EQU   TWACI+8                                                  00676000
TWACERRS EQU   TWACE+4                                                  00677000
TWACERA  EQU   TWACEI+1                                                 00678000
TWACEIFC EQU   TWACEI                                                   00679000
TWACRTFC EQU   TWAC+60                                                  00680000
TWACABFC EQU   TWAC+56                                                  00681000
TWACTWA  EQU   TWAC+52                                                  00682000
TWACEWA  EQU   TWAC+4                                                   00683000
TWACID   EQU   TWAC                                                     00684000
TWAUACQH EQU   TWAUI+4                                                  00685000
TWAUECB  EQU   TWAUI                                                    00686000
TWAUERRS EQU   TWAUE+4                                                  00687000
TWAUERA  EQU   TWAUEI+1                                                 00688000
TWAUEIFC EQU   TWAUEI                                                   00689000
TWAURTFC EQU   TWAU+60                                                  00690000
TWAUABFC EQU   TWAU+56                                                  00691000
TWAUTWA  EQU   TWAU+52                                                  00692000
TWAUEWA  EQU   TWAU+4                                                   00693000
TWAUID   EQU   TWAU                                                     00694000
TWAVACQH EQU   TWAVI+12                                                 00695000
TWAVTHQH EQU   TWAVI+8                                                  00696000
TWAVERRS EQU   TWAVE+4                                                  00697000
TWAVERA  EQU   TWAVEI+1                                                 00698000
TWAVEIFC EQU   TWAVEI                                                   00699000
TWAVRTFC EQU   TWAV+60                                                  00700000
TWAVABFC EQU   TWAV+56                                                  00701000
TWAVTWA  EQU   TWAV+52                                                  00702000
TWAVEWA  EQU   TWAV+4                                                   00703000
TWAVID   EQU   TWAV                                                     00704000
TWAMERRS EQU   TWAME+4                                                  00705000
TWAMERA  EQU   TWAMEI+1                                                 00706000
TWAMEIFC EQU   TWAMEI                                                   00707000
TWAMRTFC EQU   TWAM+60                                                  00708000
TWAMABFC EQU   TWAM+56                                                  00709000
TWAMTWA  EQU   TWAM+52                                                  00710000
TWAMEWA  EQU   TWAM+4                                                   00711000
TWAMID   EQU   TWAM                                                     00712000
@NM00006 EQU   TWACFL                                                   00713000
TWACFL4  EQU   TWACFL                                                   00714000
TWACFL2  EQU   TWACFL                                                   00715000
TWACFL1  EQU   TWACFL                                                   00716000
@NM00005 EQU   TWAUFL                                                   00717000
TWAUFL4  EQU   TWAUFL                                                   00718000
TWAUFL3  EQU   TWAUFL                                                   00719000
TWAUFL2  EQU   TWAUFL                                                   00720000
TWAUFL1  EQU   TWAUFL                                                   00721000
@NM00004 EQU   TWAVFL                                                   00722000
TWAVFL6  EQU   TWAVFL                                                   00723000
TWAVFL5  EQU   TWAVFL                                                   00724000
TWAVFL4  EQU   TWAVFL                                                   00725000
TWAVFL3  EQU   TWAVFL                                                   00726000
TWAVFL2  EQU   TWAVFL                                                   00727000
TWAVFL1  EQU   TWAVFL                                                   00728000
@NM00003 EQU   TWAMFL                                                   00729000
TWAMFL1  EQU   TWAMFL                                                   00730000
TWACCOMP EQU   TWAR+76                                                  00731000
TWAUCOMP EQU   TWAR+72                                                  00732000
TWAVCOMP EQU   TWAR+68                                                  00733000
TWAMECB  EQU   TWAR+64                                                  00734000
TWACTCB  EQU   TWAR+60                                                  00735000
TWAUTCB  EQU   TWAR+56                                                  00736000
TWAVTCB  EQU   TWAR+52                                                  00737000
TWADEQAS EQU   TWAR+44                                                  00738000
TWAEESR  EQU   TWAR+40                                                  00739000
TWAPPSR  EQU   TWAR+36                                                  00740000
TWATCSR  EQU   TWAR+32                                                  00741000
TWATTSR  EQU   TWAR+28                                                  00742000
TWAINIT  EQU   TWAR+24                                                  00743000
TWACSCB  EQU   TWAR+16                                                  00744000
TWAASCB  EQU   TWAR+12                                                  00745000
TWAPASQH EQU   TWAR+8                                                   00746000
TWARSON  EQU   TWAR+2                                                   00747000
TWACOMP  EQU   TWAR                                                     00748000
WERC1    EQU   WERC                                                     00749000
MSGLNGTH EQU   @NM00002                                                 00750000
VTAMACB  EQU   @NM00001                                                 00751000
.@UNREFD ANOP                          END UNREFERENCED COMPONENTS      00752000
@PB00002 EQU   @PB00003                                                 00753000
@RF00132 EQU   @EL00003                                                 00754000
@RC00083 EQU   @PB00002                                                 00755000
@RF00104 EQU   @PB00002                                                 00756000
@ENDDATA EQU   *                                                        00757000
         END   IKTCAS24,(C'PLS2244',0701,78045)                         00758000
