TMDA     TITLE 'IGTMDA --- PROCESS ALGORITHM BUILD REQUEST             *00001000
                        '                                               00002000
IGTMDA   CSECT ,                                                01S0001 00003000
@MAINENT DS    0H                                               01S0001 00004000
         USING *,@15                                            01S0001 00005000
         B     @PROLOG                                          01S0001 00006000
         DC    AL1(16)                                          01S0001 00007000
         DC    C'IGTMDA    77.231'                              01S0001 00008000
         DROP  @15                                                      00009000
@PROLOG  STM   @14,@12,12(@13)                                  01S0001 00010000
         BALR  @07,0                                            01S0001 00011000
@PSTART  LA    @05,4095(,@07)                                   01S0001 00012000
         USING @PSTART,@07                                      01S0001 00013000
         USING @PSTART+4095,@05                                 01S0001 00014000
         L     @00,@SIZDATD                                     01S0001 00015000
         IGTYGSV  R,LV=(0)                                              00016000
         LR    @06,@01                                          01S0001 00017000
         USING @DATD,@06                                        01S0001 00018000
         ST    @13,@SA00001+4                                   01S0001 00019000
         LM    @00,@01,20(@13)                                  01S0001 00020000
         ST    @06,8(,@13)                                      01S0001 00021000
         LR    @13,@06                                          01S0001 00022000
         MVC   @PC00001(4),0(@01)                               01S0001 00023000
*/*                                                                  */ 00024000
*/* END OF APSV                                                      */ 00025000
*/*                                                                  */ 00026000
*                                                               01S0043 00027000
*                                                               01S0043 00028000
*   /*****************************************************************/ 00029000
*   /*                                                               */ 00030000
*   /* SET POINTERS FOR CONTROL BLOCKS NEEDED                        */ 00031000
*   /*                                                               */ 00032000
*   /*****************************************************************/ 00033000
*                                                               01S0043 00034000
*   DO;                                                         01S0043 00035000
*     RFY                                                       01S0044 00036000
*       APCWPTR RSTD;               /* NEW POINTER FOR APCW          */ 00037000
*     APCWPTR=ADDR(DAPCW);                                      01S0045 00038000
         L     APCWPTR,@PC00001                                 01S0045 00039000
*     RFY                                                       01S0046 00040000
*       APCW BASED(APCWPTR);        /* GET APCW                      */ 00041000
*     RFY                                                       01S0047 00042000
*       APEM BASED(ADDR(APCWEMSG)); /* GET APEM                      */ 00043000
*     INPUTPTR=APCWAPIN;            /* POINT TO START OF USER   01S0048 00044000
*                                      PARAMETER LIST                */ 00045000
         L     INPUTPTR,APCWAPIN(,APCWPTR)                      01S0048 00046000
*     RFY                                                       01S0049 00047000
*       APIN BASED(INPUTPTR);       /* GET APIN                      */ 00048000
*     RFY                                                       01S0050 00049000
*       APAL BASED(APCWAPAL);       /* GET APAL                      */ 00050000
*     RFY                                                       01S0051 00051000
*       APCI BASED(ADDR(CITENTRY(1)));/* MAP APCI ON WORK AREA       */ 00052000
*     RFY                                                       01S0052 00053000
*       ISTATE BASED(APINASTD);     /* MAP ISTATE ON INPUT ISTATE    */ 00054000
*     RFY                                                       01S0053 00055000
*       DESCRVEC BASED(DESCRPTR);   /* MAP DESCRIPTOR                */ 00056000
*   END;                                                        01S0054 00057000
*                                                               01S0054 00058000
*   /*****************************************************************/ 00059000
*   /*                                                               */ 00060000
*   /* ZERO CIT AND DESCRIPTOR VECTOR WORK AREAS                     */ 00061000
*   /*                                                               */ 00062000
*   /*****************************************************************/ 00063000
*                                                               01S0055 00064000
*   DO;                                                         01S0055 00065000
*     APCIADTA=APCIADTA&&APCIADTA;  /* ZERO HEADER & Y VECTOR        */ 00066000
         LA    @09,CITENTRY                                     01S0056 00067000
         XC    APCIADTA(20,@09),APCIADTA(@09)                   01S0056 00068000
*     APCIAV2=APCIAV2&&APCIAV2;     /* ZERO X VECTOR                 */ 00069000
         XC    APCIAV2(16,@09),APCIAV2(@09)                     01S0057 00070000
*     APCIAV3=APCIAV3&&APCIAV3;     /* ZERO U VECTOR                 */ 00071000
         XC    APCIAV3(16,@09),APCIAV3(@09)                     01S0058 00072000
*     DESCRPTR=ADDR(DESCRWRK);      /* POINT TO DESCRIPTOR WORK AREA */ 00073000
         LA    DESCRPTR,DESCRWRK                                01S0059 00074000
*     DESCRVEC=DESCRVEC&&DESCRVEC;  /* ZERO DESCRIPTOR WORK AREA     */ 00075000
         XC    DESCRVEC(88,DESCRPTR),DESCRVEC(DESCRPTR)         01S0060 00076000
*   END;                                                        01S0061 00077000
*                                                               01S0061 00078000
*   /*****************************************************************/ 00079000
*   /*                                                               */ 00080000
*   /* BUILD HEADER PORTION OF ALGORITHM CIT ENTRY                   */ 00081000
*   /*                                                               */ 00082000
*   /*****************************************************************/ 00083000
*                                                               01S0062 00084000
*   DO;                                                         01S0062 00085000
         ST    @09,@TF00001                                     01S0062 00086000
*     APCIOPID=APCWAPOP;            /* MOVE FUNCTION CODE TO CIT     */ 00087000
         L     @04,@TF00001                                     01S0063 00088000
         MVC   APCIOPID(2,@04),APCWAPOP(APCWPTR)                01S0063 00089000
*     APCIOPSZ=APALCISZ;            /* MOVE ENTRY LENGTH TO CIT      */ 00090000
         L     @04,APCWAPAL(,APCWPTR)                           01S0064 00091000
         LH    @04,APALCISZ(,@04)                               01S0064 00092000
         L     @02,@TF00001                                     01S0064 00093000
         STH   @04,APCIOPSZ(,@02)                               01S0064 00094000
*     NUMVECS=(APCIOPSZ-4)/8;       /* DETERMINE NO. VECTORS IN ALG  */ 00095000
*                                                               01S0065 00096000
         LR    @00,@04                                          01S0065 00097000
         SL    @00,@CF00142                                     01S0065 00098000
         SRDA  @00,32                                           01S0065 00099000
         D     @00,@CF00145                                     01S0065 00100000
         LR    NUMVECS,@01                                      01S0065 00101000
*     /***************************************************************/ 00102000
*     /*                                                             */ 00103000
*     /* PROCESS ISTATE PARAMETER                                    */ 00104000
*     /*                                                             */ 00105000
*     /***************************************************************/ 00106000
*                                                               01S0066 00107000
*     ERRORBIT=OFF;                 /* INITIALIZE ERROR FLAG         */ 00108000
         NI    ERRORBIT,B'01111111'                             01S0066 00109000
*     IF MASKCONV=ON THEN           /* TEST IF MASK CONVERSION ERROR    00110000
*                                      REQUESTED                     */ 00111000
         L     @04,APINASTD(,INPUTPTR)                          01S0067 00112000
         TM    MASKCONV(@04),B'01000000'                        01S0067 00113000
         BNO   @RF00067                                         01S0067 00114000
*       APCIASCE=ON;                /* YES - SET BIT IN CIT          */ 00115000
         L     @04,@TF00001                                     01S0068 00116000
         OI    APCIASCE(@04),B'00010000'                        01S0068 00117000
*     IF MASKUFLO=ON THEN           /* IS MASK UNDERFLOW REQUESTED?  */ 00118000
@RF00067 L     @04,APINASTD(,INPUTPTR)                          01S0069 00119000
         TM    MASKUFLO(@04),B'00100000'                        01S0069 00120000
         BNO   @RF00069                                         01S0069 00121000
*       APCIASUF=ON;                /* YES - SET BIT IN CIT          */ 00122000
         LA    @04,CITENTRY                                     01S0070 00123000
         OI    APCIASUF(@04),B'01000000'                        01S0070 00124000
*     IF MASKOFLO=ON THEN           /* IS MASK OVERFLOW REQUESTED?   */ 00125000
@RF00069 L     @04,APINASTD(,INPUTPTR)                          01S0071 00126000
         TM    MASKOFLO(@04),B'00010000'                        01S0071 00127000
         BNO   @RF00071                                         01S0071 00128000
*       APCIASOV=ON;                /* YES - SET BIT IN CIT          */ 00129000
         LA    @04,CITENTRY                                     01S0072 00130000
         OI    APCIASOV(@04),B'10000000'                        01S0072 00131000
*     IF MASKUNDV=ON THEN           /* IS MASK UNNORMALIZED DIVIDE      00132000
*                                      REQUESTED?                    */ 00133000
@RF00071 L     @04,APINASTD(,INPUTPTR)                          01S0073 00134000
         TM    MASKUNDV(@04),B'00001000'                        01S0073 00135000
         BNO   @RF00073                                         01S0073 00136000
*       APCIASUD=ON;                /* YES - SET BIT IN CIT          */ 00137000
         LA    @04,CITENTRY                                     01S0074 00138000
         OI    APCIASUD(@04),B'00100000'                        01S0074 00139000
*     IF STACKING=ON THEN           /* IS STACKING REQUESTED?        */ 00140000
@RF00073 L     @04,APINASTD(,INPUTPTR)                          01S0075 00141000
         TM    STACKING(@04),B'00000100'                        01S0075 00142000
         BNO   @RF00075                                         01S0075 00143000
*       IF(APALSTKR=ON)|(APALSTKO=ON) THEN/* YES - IS IT ALLOWED?    */ 00144000
         L     @04,APCWAPAL(,APCWPTR)                           01S0076 00145000
         TM    APALSTKR(@04),B'11000000'                        01S0076 00146000
         BZ    @RF00076                                         01S0076 00147000
*         APCIASSK=ON;              /* YES - SET BIT IN CIT          */ 00148000
         LA    @04,CITENTRY                                     01S0077 00149000
         OI    APCIASSK(@04),B'10000000'                        01S0077 00150000
*       ELSE                        /* NO - ERROR                    */ 00151000
*         ERRORBIT=ON;              /* FLAG IT                       */ 00152000
         B     @RC00076                                         01S0078 00153000
@RF00076 OI    ERRORBIT,B'10000000'                             01S0078 00154000
*     ELSE                                                      01S0079 00155000
*       IF APALSTKR=ON THEN         /* IS STACKING REQUIRED?         */ 00156000
         B     @RC00075                                         01S0079 00157000
@RF00075 L     @04,APCWAPAL(,APCWPTR)                           01S0079 00158000
         TM    APALSTKR(@04),B'10000000'                        01S0079 00159000
         BNO   @RF00079                                         01S0079 00160000
*         ERRORBIT=ON;              /* YES - ERROR                   */ 00161000
         OI    ERRORBIT,B'10000000'                             01S0080 00162000
*       ELSE                                                    01S0081 00163000
*         ;                                                     01S0081 00164000
@RF00079 DS    0H                                               01S0082 00165000
*   END;                                                        01S0082 00166000
*                                                               01S0082 00167000
@RC00075 DS    0H                                               01S0083 00168000
*   /*****************************************************************/ 00169000
*   /*                                                               */ 00170000
*   /* IF ISTATE WAS INVALID, SET ERROR INDICATORS AND RETURN        */ 00171000
*   /*                                                               */ 00172000
*   /*****************************************************************/ 00173000
*                                                               01S0083 00174000
*   IF ERRORBIT=ON THEN             /* TEST IF ISTATE WAS BAD        */ 00175000
         TM    ERRORBIT,B'10000000'                             01S0083 00176000
         BNO   @RF00083                                         01S0083 00177000
*     DO;                           /* YES - SET ERROR INDICATORS    */ 00178000
*       APCWZAM=ON;                 /* INDICATE ERROR OCCURRED       */ 00179000
         OI    APCWZAM(APCWPTR),B'00000001'                     01S0085 00180000
*       APCWR15C=APCCRERR;          /* SET R15 RET CODE              */ 00181000
         MVC   APCWR15C(4,APCWPTR),@CF00145                     01S0086 00182000
*       APCWRCT=APCCTLOG;           /* SET ERROR TYPE AS LOGICAL     */ 00183000
         MVI   APCWRCT(APCWPTR),X'08'                           01S0087 00184000
*       APCWRCC=APCCA;              /* INSERT COMPONENT ID           */ 00185000
         MVI   APCWRCC(APCWPTR),X'01'                           01S0088 00186000
*       APCWRCN=APCCA001;           /* INSERT ERROR NUMBER           */ 00187000
         MVI   APCWRCN(APCWPTR),X'01'                           01S0089 00188000
*       APEMMSGN=APCMA001;          /* SET MSG. NO. FOR INV VALUE    */ 00189000
         LA    @09,112                                          01S0090 00190000
         ALR   @09,APCWPTR                                      01S0090 00191000
         MVC   APEMMSGN(4,@09),@CF00170                         01S0090 00192000
*       APEMVALN=APCMK015;          /* SET KEYWD NUMBER FOR ISTATE   */ 00193000
         MVC   APEMVALN(4,@09),@CF00176                         01S0091 00194000
*       RETURN;                     /* RETURN TO CALLER              */ 00195000
@EL00001 L     @13,4(,@13)                                      01S0092 00196000
@EF00001 L     @00,@SIZDATD                                     01S0092 00197000
         LR    @01,@06                                          01S0092 00198000
         IGTYFSV  R,LV=(0),A=(1)                                        00199000
@ER00001 LM    @14,@12,12(@13)                                  01S0092 00200000
         BR    @14                                              01S0092 00201000
*     END;                                                      01S0093 00202000
*   ELSE                                                        01S0094 00203000
*     ;                                                         01S0094 00204000
*                                                               01S0094 00205000
@RF00083 DS    0H                                               01S0095 00206000
*   /*****************************************************************/ 00207000
*   /*                                                               */ 00208000
*   /* IF THE USE OF A DESCRIPTOR VECTOR IS INDICATED BY ISTATE,     */ 00209000
*   /* POINT TO IT. OTHERWISE, POINT TO WORK AREA DESCRIPTOR. IF     */ 00210000
*   /* DESCRIPTOR IS INCOMPLETE, FILL IN THE USER SPECIFIED BULK     */ 00211000
*   /* STORE STARTING LOCATIONS                                      */ 00212000
*   /*                                                               */ 00213000
*   /*****************************************************************/ 00214000
*                                                               01S0095 00215000
*   IF(COMDESCV=ON)|(INCDESCV=ON) THEN/* IS USE OF DESCRIPTOR VECTOR    00216000
*                                      INDICATED?                    */ 00217000
         L     @04,APINASTD(,INPUTPTR)                          01S0095 00218000
         TM    COMDESCV(@04),B'00000011'                        01S0095 00219000
         BZ    @RF00095                                         01S0095 00220000
*     DO;                                                       01S0096 00221000
*       DESCRPTR=APINADSV;          /* YES - POINT TO USER DESCRIPTOR   00222000
*                                      VECTOR                        */ 00223000
         L     DESCRPTR,APINADSV(,INPUTPTR)                     01S0097 00224000
*       RFY                                                     01S0098 00225000
*         PARMSIGN BASED(ADDR(APINADSV));                       01S0098 00226000
*       IF INCDESCV=ON THEN         /* IS IT INCOMPLETE?             */ 00227000
         TM    INCDESCV(@04),B'00000001'                        01S0099 00228000
         BNO   @RF00099                                         01S0099 00229000
*         DO;                       /* YES - INSERT BLK STR ADDRS    */ 00230000
*           IF PSIGNBIT=ON THEN     /* ARE THERE MORE PARMS?         */ 00231000
         TM    PSIGNBIT+12(INPUTPTR),B'10000000'                01S0101 00232000
         BNO   @RF00101                                         01S0101 00233000
*             ERRORBIT=ON;          /* NO - FLAG IT                  */ 00234000
         OI    ERRORBIT,B'10000000'                             01S0102 00235000
*           ELSE                    /* YES - GET YARRV               */ 00236000
*             DO;                   /* AND RESOLVE IT - PUT IN CIT   */ 00237000
         B     @RC00101                                         01S0103 00238000
@RF00101 DS    0H                                               01S0104 00239000
*               YARRV=APINAYST;     /* YES - GET YARRV FROM USER     */ 00240000
         L     @04,APINAYST(,INPUTPTR)                          01S0104 00241000
         ST    @04,YARRV(,DESCRPTR)                             01S0104 00242000
*               CALL APCVZMIF(YARRV,RSOLVERR);/* RESOLVE YARRV       */ 00243000
         LA    @04,YARRV(,DESCRPTR)                             01S0105 00244000
         ST    @04,@AL00001                                     01S0105 00245000
         LA    @04,RSOLVERR                                     01S0105 00246000
         ST    @04,@AL00001+4                                   01S0105 00247000
         L     @15,APCTZMIF(,APCTPTR)                           01S0105 00248000
         LA    @01,@AL00001                                     01S0105 00249000
         BALR  @14,@15                                          01S0105 00250000
*               IF RSOLVERR^=0 THEN /* TEST ERROR RETURN WORD        */ 00251000
         L     @04,RSOLVERR                                     01S0106 00252000
         LTR   @04,@04                                          01S0106 00253000
         BZ    @RF00106                                         01S0106 00254000
*                 IF RSOLVERR=BDYERROR THEN/* BOUNDARY ERROR?        */ 00255000
         C     @04,@CF00045                                     01S0107 00256000
         BNE   @RF00107                                         01S0107 00257000
*                   DO;             /* YES - SET ERROR INDICATORS FOR   00258000
*                                      YARRV NOT A WORD BOUNDARY     */ 00259000
*                     APCWRCN=APCCA015;/* ERROR NUMBER FOR YARRV NOT    00260000
*                                      A WORD BOUNDARY               */ 00261000
         MVI   APCWRCN(APCWPTR),X'0F'                           01S0109 00262000
*                     APEMMSGN=APCMA015;/* MESSAGE NUMBER FOR NOT A     00263000
*                                      WORD BOUNDARY                 */ 00264000
         LA    @09,112                                          01S0110 00265000
         ALR   @09,APCWPTR                                      01S0110 00266000
         MVC   APEMMSGN(4,@09),@CF00485                         01S0110 00267000
*                     APEMVALN=APCMK017;/* YARRV KWD NUMBER          */ 00268000
         MVC   APEMVALN(4,@09),@CF00180                         01S0111 00269000
*                     GOTO OUTERR;  /* GO SET COMMON ERROR INDICATORS   00270000
*                                      AND RETURN                    */ 00271000
         B     OUTERR                                           01S0112 00272000
*                   END;            /* END OF SEGMENT                */ 00273000
*                 ELSE              /* TEST FOR RANGE ERROR          */ 00274000
*                   IF RSOLVERR=RNGERROR THEN/* RANGE ERROR?         */ 00275000
@RF00107 CLC   RSOLVERR(4),@CF00130                             01S0114 00276000
         BNE   @RF00114                                         01S0114 00277000
*                     DO;           /* YES - SET ERROR INDICATORS FOR   00278000
*                                      YARRV OUT OF RANGE            */ 00279000
*                       APCWRCN=APCCA020;/* ERROR NUMBER FOR YARRV      00280000
*                                      OUT OF RANGE                  */ 00281000
         MVI   APCWRCN(APCWPTR),X'14'                           01S0116 00282000
*                       APEMMSGN=APCMA020;/* MESSAGE NUMBER FOR OUT     00283000
*                                      OF RANGE                      */ 00284000
         LA    @09,112                                          01S0117 00285000
         ALR   @09,APCWPTR                                      01S0117 00286000
         MVC   APEMMSGN(4,@09),@CF00156                         01S0117 00287000
*                       APEMVALN=APCMK017;/* YARRV KWD NUMBER        */ 00288000
         MVC   APEMVALN(4,@09),@CF00180                         01S0118 00289000
*                       GOTO OUTERR;/* GO SET COMMON ERROR INDICATORS   00290000
*                                      AND RETURN                    */ 00291000
         B     OUTERR                                           01S0119 00292000
*                     END;          /* END OF SEGMENT                */ 00293000
*                   ELSE                                        01S0121 00294000
*                     ;             /* NULL - NO MIF PROBLEMS        */ 00295000
@RF00114 DS    0H                                               01S0122 00296000
*             END;                                              01S0122 00297000
@RF00106 DS    0H                                               01S0123 00298000
*           RFY                                                 01S0123 00299000
*             PARMSIGN BASED(ADDR(APINAYST));                   01S0123 00300000
@RC00101 DS    0H                                               01S0124 00301000
*           IF NUMVECS>=2 THEN      /* DOES THIS ALGORITHM HAVE AN X    00302000
*                                      VECTOR?                       */ 00303000
         C     NUMVECS,@CF00130                                 01S0124 00304000
         BL    @RF00124                                         01S0124 00305000
*             IF PSIGNBIT=ON THEN   /* YES - MORE PARMS?             */ 00306000
         TM    PSIGNBIT+16(INPUTPTR),B'10000000'                01S0125 00307000
         BNO   @RF00125                                         01S0125 00308000
*               ERRORBIT=ON;        /* NO - FLAG ERROR               */ 00309000
         OI    ERRORBIT,B'10000000'                             01S0126 00310000
*             ELSE                                              01S0127 00311000
*               DO;                                             01S0127 00312000
         B     @RC00125                                         01S0127 00313000
@RF00125 DS    0H                                               01S0128 00314000
*                 XARRV=APINAXST;   /* YES - GET XARRV FROM USER     */ 00315000
         L     @04,APINAXST(,INPUTPTR)                          01S0128 00316000
         ST    @04,XARRV(,DESCRPTR)                             01S0128 00317000
*                 CALL APCVZMIF(XARRV,RSOLVERR);/* RESOLVE XARRV     */ 00318000
         LA    @04,XARRV(,DESCRPTR)                             01S0129 00319000
         ST    @04,@AL00001                                     01S0129 00320000
         LA    @04,RSOLVERR                                     01S0129 00321000
         ST    @04,@AL00001+4                                   01S0129 00322000
         L     @15,APCTZMIF(,APCTPTR)                           01S0129 00323000
         LA    @01,@AL00001                                     01S0129 00324000
         BALR  @14,@15                                          01S0129 00325000
*                 IF RSOLVERR^=0 THEN/* TEST ERROR RETURN WORD       */ 00326000
         L     @04,RSOLVERR                                     01S0130 00327000
         LTR   @04,@04                                          01S0130 00328000
         BZ    @RF00130                                         01S0130 00329000
*                   IF RSOLVERR=BDYERROR THEN/* BOUNDARY ERROR?      */ 00330000
         C     @04,@CF00045                                     01S0131 00331000
         BNE   @RF00131                                         01S0131 00332000
*                     DO;           /* YES - SET ERROR INDICATORS FOR   00333000
*                                      XARRV NOT A WORD BOUNDARY     */ 00334000
*                       APCWRCN=APCCA016;/* ERROR NUMBER FOR XARRV      00335000
*                                      NOT A WORD BOUNDARY           */ 00336000
         MVI   APCWRCN(APCWPTR),X'10'                           01S0133 00337000
*                       APEMMSGN=APCMA016;/* MESSAGE NUMBER FOR NOT A   00338000
*                                      WORD BOUNDARY                 */ 00339000
         LA    @09,112                                          01S0134 00340000
         ALR   @09,APCWPTR                                      01S0134 00341000
         MVC   APEMMSGN(4,@09),@CF00485                         01S0134 00342000
*                       APEMVALN=APCMK024;/* XARRV KWD NUMBER        */ 00343000
         MVC   APEMVALN(4,@09),@CF00061                         01S0135 00344000
*                       GOTO OUTERR;/* GO SET COMMON ERROR INDICATORS   00345000
*                                      AND RETURN                    */ 00346000
         B     OUTERR                                           01S0136 00347000
*                     END;          /* END OF SEGMENT                */ 00348000
*                   ELSE            /* TEST FOR RANGE ERROR          */ 00349000
*                     IF RSOLVERR=RNGERROR THEN/* RANGE ERROR?       */ 00350000
@RF00131 CLC   RSOLVERR(4),@CF00130                             01S0138 00351000
         BNE   @RF00138                                         01S0138 00352000
*                       DO;         /* YES - SET ERROR INDICATORS FOR   00353000
*                                      XARRV OUT OF RANGE            */ 00354000
*                         APCWRCN=APCCA021;/* ERROR NUMBER FOR XARRV    00355000
*                                      OUT OF RANGE                  */ 00356000
         MVI   APCWRCN(APCWPTR),X'15'                           01S0140 00357000
*                         APEMMSGN=APCMA021;/* MESSAGE NUMBER FOR OUT   00358000
*                                      OF RANGE                      */ 00359000
         LA    @09,112                                          01S0141 00360000
         ALR   @09,APCWPTR                                      01S0141 00361000
         MVC   APEMMSGN(4,@09),@CF00156                         01S0141 00362000
*                         APEMVALN=APCMK024;/* XARRV KWD NUMBER      */ 00363000
         MVC   APEMVALN(4,@09),@CF00061                         01S0142 00364000
*                         GOTO OUTERR;/* GO SET COMMON ERROR    01S0143 00365000
*                                      INDICATORS & RETURN           */ 00366000
         B     OUTERR                                           01S0143 00367000
*                       END;        /* END OF SEGMENT                */ 00368000
*                     ELSE                                      01S0145 00369000
*                       ;           /* NULL - NO MIF PROBLEMS        */ 00370000
@RF00138 DS    0H                                               01S0146 00371000
*               END;                /* END XARRV PROCESSING          */ 00372000
*           ELSE                    /* NO - CHECK FOR EXCESS PARMS   */ 00373000
*             IF PSIGNBIT=OFF THEN  /* SEE IF YARRV LAST             */ 00374000
         B     @RC00124                                         01S0147 00375000
@RF00124 TM    PSIGNBIT+16(INPUTPTR),B'10000000'                01S0147 00376000
         BNZ   @RF00147                                         01S0147 00377000
*               ERRORBIT=ON;        /* NO - FLAG ERROR               */ 00378000
         OI    ERRORBIT,B'10000000'                             01S0148 00379000
*           RFY                                                 01S0149 00380000
*             PARMSIGN BASED(ADDR(APINAXST));                   01S0149 00381000
@RF00147 DS    0H                                               01S0149 00382000
@RC00124 DS    0H                                               01S0150 00383000
*           IF NUMVECS=3 THEN       /* DOES IT HAVE A U VECTOR?      */ 00384000
         C     NUMVECS,@CF00156                                 01S0150 00385000
         BNE   @RF00150                                         01S0150 00386000
*             IF PSIGNBIT=ON THEN   /* YES - MORE PARMS?             */ 00387000
         TM    PSIGNBIT+20(INPUTPTR),B'10000000'                01S0151 00388000
         BNO   @RF00151                                         01S0151 00389000
*               ERRORBIT=ON;        /* NO - FLAG ERROR               */ 00390000
         OI    ERRORBIT,B'10000000'                             01S0152 00391000
*             ELSE                                              01S0153 00392000
*               DO;                                             01S0153 00393000
         B     @RC00151                                         01S0153 00394000
@RF00151 DS    0H                                               01S0154 00395000
*                 RFY                                           01S0154 00396000
*                   PARMSIGN BASED(ADDR(APINAUST));             01S0154 00397000
*                 IF PSIGNBIT=ON THEN/* TEST IF UARRV LAST PARM      */ 00398000
         TM    PSIGNBIT+24(INPUTPTR),B'10000000'                01S0155 00399000
         BNO   @RF00155                                         01S0155 00400000
*                   DO;             /* PROCESS YARRV ADDRESS         */ 00401000
*                     UARRV=APINAUST;/* YES - GET USER'S UARRV       */ 00402000
         L     @04,APINAUST(,INPUTPTR)                          01S0157 00403000
         ST    @04,UARRV(,DESCRPTR)                             01S0157 00404000
*                     CALL APCVZMIF(UARRV,RSOLVERR);/* RESOLVE UARRV */ 00405000
         LA    @04,UARRV(,DESCRPTR)                             01S0158 00406000
         ST    @04,@AL00001                                     01S0158 00407000
         LA    @04,RSOLVERR                                     01S0158 00408000
         ST    @04,@AL00001+4                                   01S0158 00409000
         L     @15,APCTZMIF(,APCTPTR)                           01S0158 00410000
         LA    @01,@AL00001                                     01S0158 00411000
         BALR  @14,@15                                          01S0158 00412000
*                     IF RSOLVERR^=0 THEN/* TEST ERROR RETURN WORD   */ 00413000
         L     @04,RSOLVERR                                     01S0159 00414000
         LTR   @04,@04                                          01S0159 00415000
         BZ    @RF00159                                         01S0159 00416000
*                       IF RSOLVERR=BDYERROR THEN/* BOUNDARY ERROR?  */ 00417000
         C     @04,@CF00045                                     01S0160 00418000
         BNE   @RF00160                                         01S0160 00419000
*                         DO;       /* YES - SET ERROR INDICATORS FOR   00420000
*                                      UARRV NOT A WOR BOUNDARY      */ 00421000
*                           APCWRCN=APCCA017;/* ERROR NUMBER UARRV      00422000
*                                      NOT A WORD BOUNDARY           */ 00423000
         MVI   APCWRCN(APCWPTR),X'11'                           01S0162 00424000
*                           APEMMSGN=APCMA017;/* MESSAGE NUMBER FOR     00425000
*                                      NOT A WORD BOUNDARY           */ 00426000
         LA    @09,112                                          01S0163 00427000
         ALR   @09,APCWPTR                                      01S0163 00428000
         MVC   APEMMSGN(4,@09),@CF00485                         01S0163 00429000
*                           APEMVALN=APCMK031;/* UARRV KWD NBR       */ 00430000
         MVC   APEMVALN(4,@09),@CF00041                         01S0164 00431000
*                           GOTO OUTERR;/* GO SET COMMON ERROR  01S0165 00432000
*                                      INDICATORS & RETURN           */ 00433000
         B     OUTERR                                           01S0165 00434000
*                         END;      /* END OF SEGMENT                */ 00435000
*                       ELSE        /* TEST FOR RANGE ERROR          */ 00436000
*                         IF RSOLVERR=RNGERROR THEN/* RANGE ERROR?   */ 00437000
@RF00160 CLC   RSOLVERR(4),@CF00130                             01S0167 00438000
         BNE   @RF00167                                         01S0167 00439000
*                           DO;     /* YES - SET ERROR INDICATOR FOR    00440000
*                                      UARRV OUT OF RANGE            */ 00441000
*                             APCWRCN=APCCA022;/* ERROR NUMBER FOR      00442000
*                                      UARRV OUT OF RANGE            */ 00443000
         MVI   APCWRCN(APCWPTR),X'16'                           01S0169 00444000
*                             APEMMSGN=APCMA022;/* MESSAGE NUMBER OUT   00445000
*                                      OF RANGE                      */ 00446000
         LA    @09,112                                          01S0170 00447000
         ALR   @09,APCWPTR                                      01S0170 00448000
         MVC   APEMMSGN(4,@09),@CF00156                         01S0170 00449000
*                             APEMVALN=APCMK031;/* UARRV KWD NUMBER  */ 00450000
         MVC   APEMVALN(4,@09),@CF00041                         01S0171 00451000
*                             GOTO OUTERR;/* GO SET COMMON ERROR        00452000
*                                      INDICATORS & RETURN           */ 00453000
         B     OUTERR                                           01S0172 00454000
*                           END;    /* END OF SEGMENT                */ 00455000
*                         ELSE                                  01S0174 00456000
*                           ;       /* NULL - NO MIF PROBLEMS        */ 00457000
@RF00167 DS    0H                                               01S0175 00458000
*                   END;            /* END UARRV PROCESSING          */ 00459000
*                 ELSE              /* NOT LAST - ERROR              */ 00460000
*                   ERRORBIT=ON;    /* FLAG IT                       */ 00461000
         B     @RC00155                                         01S0176 00462000
@RF00155 OI    ERRORBIT,B'10000000'                             01S0176 00463000
*               END;                                            01S0177 00464000
*           ELSE                    /* TWO VECTOR OP                 */ 00465000
*             DO;                   /* MAKE SURE USER THINKS SO      */ 00466000
         B     @RC00150                                         01S0178 00467000
@RF00150 DS    0H                                               01S0179 00468000
*               RFY                                             01S0179 00469000
*                 PARMSIGN BASED(ADDR(APINAXST));/* GET XARRV SIGN   */ 00470000
*               IF(PSIGNBIT=OFF)&(NUMVECS^=1) THEN/* ENSURE X LAST      00471000
*                                      FOR 2 VEC OP                  */ 00472000
         TM    PSIGNBIT+20(INPUTPTR),B'10000000'                01S0180 00473000
         BNZ   @RF00180                                         01S0180 00474000
         C     NUMVECS,@CF00045                                 01S0180 00475000
         BE    @RF00180                                         01S0180 00476000
*                 ERRORBIT=ON;      /* NO - FLAG ERROR               */ 00477000
         OI    ERRORBIT,B'10000000'                             01S0181 00478000
*               ELSE                                            01S0182 00479000
*                 ;                 /* XARRV PROPERLY LAST PARM      */ 00480000
@RF00180 DS    0H                                               01S0183 00481000
*             END;                                              01S0183 00482000
*         END;                                                  01S0184 00483000
*       ELSE                        /* COMPLETE DESC                 */ 00484000
*         DO;                                                   01S0185 00485000
         B     @RC00099                                         01S0185 00486000
@RF00099 DS    0H                                               01S0186 00487000
*           RFY                                                 01S0186 00488000
*             PARMSIGN BASED(ADDR(APINADSV));                   01S0186 00489000
*           IF PSIGNBIT=OFF THEN    /* TEST IF DSC VEC LAST          */ 00490000
         TM    PSIGNBIT+12(INPUTPTR),B'10000000'                01S0187 00491000
         BNZ   @RF00187                                         01S0187 00492000
*             ERRORBIT=ON;          /* NO - FLAG ERROR               */ 00493000
         OI    ERRORBIT,B'10000000'                             01S0188 00494000
*         END;                                                  01S0189 00495000
@RF00187 DS    0H                                               01S0190 00496000
*       IF ERRORBIT=ON THEN         /* TEST IF ERROR DETECTED SO FAR */ 00497000
@RC00099 TM    ERRORBIT,B'10000000'                             01S0190 00498000
         BNO   @RF00190                                         01S0190 00499000
*         DO;                       /* YES - SET ERROR INDICATORS    */ 00500000
*           APCWZAM=ON;             /* INDICATE ERROR DETECTED       */ 00501000
         OI    APCWZAM(APCWPTR),B'00000001'                     01S0192 00502000
*           APCWR15C=APCCRERR;      /* SET R15 RET CODE              */ 00503000
         MVC   APCWR15C(4,APCWPTR),@CF00145                     01S0193 00504000
*           APCWRCT=APCCTLOG;       /* SET ERROR TYPE TO LOGICAL     */ 00505000
         MVI   APCWRCT(APCWPTR),X'08'                           01S0194 00506000
*           APCWRCC=APCCA;          /* SET COMPONENT ID              */ 00507000
         MVI   APCWRCC(APCWPTR),X'01'                           01S0195 00508000
*           APCWRCN=APCCA002;       /* SET ERROR NUMBER              */ 00509000
         MVI   APCWRCN(APCWPTR),X'02'                           01S0196 00510000
*           APEMMSGN=APCMA002;      /* SET MSG NO FOR INVLD NO PARMS */ 00511000
         MVC   APEMMSGN+112(4,APCWPTR),@CF00166                 01S0197 00512000
*           RETURN;                 /* RETURN TO CALLER              */ 00513000
         B     @EL00001                                         01S0198 00514000
*         END;                                                  01S0199 00515000
*       ELSE                                                    01S0200 00516000
*         ;                                                     01S0200 00517000
@RF00190 DS    0H                                               01S0201 00518000
*     END;                                                      01S0201 00519000
*   ELSE                                                        01S0202 00520000
*                                                               01S0202 00521000
*     /***************************************************************/ 00522000
*     /*                                                             */ 00523000
*     /* FORMAT CALL PARAMETERS INTO DESCRIPTOR FORMAT               */ 00524000
*     /*                                                             */ 00525000
*     /***************************************************************/ 00526000
*                                                               01S0202 00527000
*     DO;                                                       01S0202 00528000
         B     @RC00095                                         01S0202 00529000
@RF00095 DS    0H                                               01S0203 00530000
*       DESCRPTR=ADDR(DESCRWRK);    /* POINT TO WORK AREA            */ 00531000
         LA    DESCRPTR,DESCRWRK                                01S0203 00532000
*                                                               02S0204 00533000
*/********************************************************************/ 00534000
*/*                                                                  */ 00535000
*/*       THE FOLLOWING LOCAL INCLUDE BUILDS A DESCRIPTOR            */ 00536000
*/*       VECTOR FROM A USER INPUT PARAMETER LIST.                   */ 00537000
*/*       VARIABLES ARE INPUT VIA A USER PARAMETER LIST IN THE       */ 00538000
*/*       FOLLOWING FORMAT:                                          */ 00539000
*/*                                                                  */ 00540000
*/*       CALL VPSS (IUNIT,IFUNC,ISTATE,                             */ 00541000
*/*                  IFMY,YARRV,ICTY,IDLY,YARRVX,ICTYX,IDLYX,        */ 00542000
*/*                  IFMX,XARRV,ICTX,IDLX,XARRVX,ICTXX,IDLXX,        */ 00543000
*/*                  IFMU,UARRV,ICTU,IDLU,UARRVX,ICTUX,IDLUX)        */ 00544000
*/*                                                                  */ 00545000
*/*                WHERE:                                            */ 00546000
*/*                                                                  */ 00547000
*/*                  IUNIT  UNIT REFERENCE NUMBER                    */ 00548000
*/*                  IFUNC  ALGORITHM MNEMONIC                       */ 00549000
*/*                  ISTATE OPERATIONAL PARAMETERS                   */ 00550000
*/*                  IFMY   Y VECTOR FORMAT DESCRIPTION              */ 00551000
*/*                  YARRV  Y VECTOR 3838 STARTING LOCATION          */ 00552000
*/*                  ICTY   LENGTH OF Y VECTOR                       */ 00553000
*/*                  IDLY   Y VECTOR ELEMENT SPACING                 */ 00554000
*/*                  YARRVX Y VECTOR START INDEX                     */ 00555000
*/*                  ICTYX  Y VECTOR COUNT INDEX                     */ 00556000
*/*                  IDLYX  Y VECTOR SPACING INDEX                   */ 00557000
*/*                  IFMX   X VECTOR FORMAT DESCRIPTION              */ 00558000
*/*                  XARRV  X VECTOR 3838 STARTING LOCATION          */ 00559000
*/*                  ICTX   LENGTH OF X VECTOR                       */ 00560000
*/*                  IDLX   X VECTOR ELEMENT SPACING                 */ 00561000
*/*                  XARRVX X VECTOR START INDEX                     */ 00562000
*/*                  ICTXX  X VECTOR COUNT INDEX                     */ 00563000
*/*                  IDLXX  X VECTOR SPACING INDEX                   */ 00564000
*/*                  IFMU   U VECTOR FORMAT DESCRIPTION              */ 00565000
*/*                  UARRV  U VECTOR 3838 STARTING LOCATION          */ 00566000
*/*                  ICTU   LENGTH OF U VECTOR                       */ 00567000
*/*                  IDLU   U VECTOR ELEMENT SPACING                 */ 00568000
*/*                  UARRVX U VECTOR START INDEX                     */ 00569000
*/*                  ICTUX  U VECTOR COUNT INDEX                     */ 00570000
*/*                  IDLUX  U VECTOR SPACING INDEX                   */ 00571000
*/*                                                                  */ 00572000
*/*       ALL PARAMETERS ARE NOT NECESSARILY INPUT ON ALL            */ 00573000
*/*       ALGORITHM CALLS. ONLY THOSE REQUIRED OR OPTIONAL MAY       */ 00574000
*/*       BE INPUT. RESTRICTIONS ON PARAMETERS FOR ALGORITHM         */ 00575000
*/*       CALLS ARE DESCRIBED IN THE VPSS FINAL PROGRAMMING          */ 00576000
*/*       FUNCTIONAL SPECIFICATION. SWITCHES IN IGTXAPAL             */ 00577000
*/*       ARE USED BY THIS PROGRAM TO DETERMINE WHICH PARA-          */ 00578000
*/*       METERS ARE ALLOWED FOR A PARTICULAR ALGORITHM CALL.        */ 00579000
*/*       IF A PARAMETER IS OPTIONAL AND OMITTED, NO FURTHER         */ 00580000
*/*       PARAMETERS ARE ALLOWED. IF REQUIRED IT MUST BE             */ 00581000
*/*       PRESENT. IF DISALLOWED, IT IS EITHER UNUSED OR A           */ 00582000
*/*       DEFAULT VALUE WILL BE SUPPLIED. INDEXES ARE PER-           */ 00583000
*/*       MITTED ONLY WHEN OPTIONAL AND ITS USE IS REQUESTED         */ 00584000
*/*       BY SETTING THE APPROPRIATE BIT IN THE VECTOR FORMAT        */ 00585000
*/*       DESCRIPTION.                                               */ 00586000
*/*       THIS PROGRAM INSPECTS THE PARAMETER LIST USING APAL        */ 00587000
*/*       SWITCH SETTINGS TO DETERMINE WHAT EACH PARAMETER           */ 00588000
*/*       REPRESENTS, PERFORMS VALIDITY CHECKING WHERE               */ 00589000
*/*       POSSIBLE, SUPPLIES DEFAULTS AND MOVES THE PARAMETERS       */ 00590000
*/*       INTO THE PROPER SLOTS OF A DESCRIPTOR VECTOR WORK          */ 00591000
*/*       AREA. THE DESCRIPTOR VECTOR IS THEN CONVERTED INTO A       */ 00592000
*/*       CIT ENTRY BY THE LOCAL INCLUDE MDACIT.                     */ 00593000
*/*       AS THE PARAMETER LIST IS INSPECTED, THE HIGH ORDER         */ 00594000
*/*       BIT OF EACH PARAMETER IS INSPECTED TO DETERMINE IF IT      */ 00595000
*/*       IS THE LAST ONE. IF IT IS THE LAST, THE LAST               */ 00596000
*/*       PARAMETER FLAG (LASTPARM) IS SET AND APAL IS THEN          */ 00597000
*/*       USED TO DETERMINE IF ANY REQUIRED PARAMETERS HAVE          */ 00598000
*/*       OMITTED.                                                   */ 00599000
*/*                                                                  */ 00600000
*/********************************************************************/ 00601000
*                                                               02S0204 00602000
*       RFY                                                     02S0204 00603000
*         PARAM1 BASED(APINAP1);    /* GAIN ACCESS TO NEXT TWO PARMS */ 00604000
*       RFY                                                     02S0205 00605000
*         PARAM2 BASED(APINAP2);                                02S0205 00606000
*       INPUTPTR=INPUTPTR+12;       /* BUMP NEXT PARAMETER POINTER   */ 00607000
         AL    INPUTPTR,@CF00147                                02S0206 00608000
*       LASTPARM=OFF;               /* LAST PARM FLAG INITIALLY OFF  */ 00609000
*                                                               02S0207 00610000
         NI    LASTPARM,B'01111111'                             02S0207 00611000
*       /*************************************************************/ 00612000
*       /*                                                           */ 00613000
*       /* BUILD Y VECTOR DESCRIPTOR COMPONENTS                      */ 00614000
*       /*                                                           */ 00615000
*       /*************************************************************/ 00616000
*                                                               02S0208 00617000
*       IF APINAP1E=OFF THEN        /* TEST IF IFMY IS LAST PARM     */ 00618000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0208 00619000
         BNZ   @RF00208                                         02S0208 00620000
*         DO;                       /* IFMY NOT LAST                 */ 00621000
*           IFMY=PARAM1;            /* SET Y VECTOR FORMAT           */ 00622000
         L     @04,APINAP1(,INPUTPTR)                           02S0210 00623000
         L     @04,PARAM1(,@04)                                 02S0210 00624000
         ST    @04,IFMY(,DESCRPTR)                              02S0210 00625000
*           YARRV=APINAP2;          /* SET Y VECTOR BULK STORE ADDR  */ 00626000
         L     @04,APINAP2(,INPUTPTR)                           02S0211 00627000
         ST    @04,YARRV(,DESCRPTR)                             02S0211 00628000
*           CALL APCVZMIF(YARRV,RSOLVERR);/* RESOLVE ADDRESS         */ 00629000
         LA    @04,YARRV(,DESCRPTR)                             02S0212 00630000
         ST    @04,@AL00001                                     02S0212 00631000
         LA    @04,RSOLVERR                                     02S0212 00632000
         ST    @04,@AL00001+4                                   02S0212 00633000
         L     @15,APCTZMIF(,APCTPTR)                           02S0212 00634000
         LA    @01,@AL00001                                     02S0212 00635000
         BALR  @14,@15                                          02S0212 00636000
*           IF RSOLVERR^=0 THEN     /* ADDRESS OK?                   */ 00637000
         L     @04,RSOLVERR                                     02S0213 00638000
         LTR   @04,@04                                          02S0213 00639000
         BZ    @RF00213                                         02S0213 00640000
*             IF RSOLVERR=BDYERROR THEN/* IF ERROR WAS WORD BDY 02S0214 00641000
*                                      PROBLEM                       */ 00642000
         C     @04,@CF00045                                     02S0214 00643000
         BNE   @RF00214                                         02S0214 00644000
*               DO;                 /* SET ERROR INDICATORS FOR YARRV   00645000
*                                      NOT A WORD BOUNDARY           */ 00646000
*                 APCWRCN=APCCA015; /* ERROR NUMBER FOR YARRV NOT A     00647000
*                                      WORD BOUNDARY                 */ 00648000
         MVI   APCWRCN(APCWPTR),X'0F'                           02S0216 00649000
*                 APEMMSGN=APCMA015;/* MSG NUMBER FOR YARRV NOT A       00650000
*                                      WORD BOUNDARY                 */ 00651000
         LA    @09,112                                          02S0217 00652000
         ALR   @09,APCWPTR                                      02S0217 00653000
         MVC   APEMMSGN(4,@09),@CF00485                         02S0217 00654000
*                 APEMVALN=APCMK017;/* KEYWORD NUMBER FOR YARRV      */ 00655000
         MVC   APEMVALN(4,@09),@CF00180                         02S0218 00656000
*                 GOTO OUTERR;      /* GO SET COMMON FLAGS & RETURN  */ 00657000
         B     OUTERR                                           02S0219 00658000
*               END;                /* END OF SEGMENT                */ 00659000
*             ELSE                  /* CHECK FOR RANGE ERROR         */ 00660000
*               IF RSOLVERR=RNGERROR THEN/* IF RANGE ERROR           */ 00661000
@RF00214 CLC   RSOLVERR(4),@CF00130                             02S0221 00662000
         BNE   @RF00221                                         02S0221 00663000
*                 DO;               /* SET ERROR INDICATORS FOR YARRV   00664000
*                                      OUT OF RANGE                  */ 00665000
*                   APCWRCN=APCCA020;/* ERROR NUMBER FOR YARRV OUT OF   00666000
*                                      RANGE                         */ 00667000
         MVI   APCWRCN(APCWPTR),X'14'                           02S0223 00668000
*                   APEMMSGN=APCMA020;/* MSG NUMBER FOR OUT OF RANGE */ 00669000
         LA    @09,112                                          02S0224 00670000
         ALR   @09,APCWPTR                                      02S0224 00671000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0224 00672000
*                   APEMVALN=APCMK017;/* KEYWORD NUMBER FOR YARRV    */ 00673000
         MVC   APEMVALN(4,@09),@CF00180                         02S0225 00674000
*                   GOTO OUTERR;    /* GO SET COMMON FLAGS & RETURN  */ 00675000
         B     OUTERR                                           02S0226 00676000
*                 END;              /* END OF SEGMENT                */ 00677000
*               ELSE                                            02S0228 00678000
*                 ;                 /* NULL - NO MIF PROBLEMS        */ 00679000
@RF00221 DS    0H                                               02S0229 00680000
*           ELSE                                                02S0229 00681000
*             ;                     /* YARRV OK - NO ACTION          */ 00682000
@RF00213 DS    0H                                               02S0230 00683000
*           IF APINAP2E=ON THEN     /* IF YARRV IS LAST PARM -       */ 00684000
         TM    APINAP2E(INPUTPTR),B'10000000'                   02S0230 00685000
         BNO   @RF00230                                         02S0230 00686000
*             LASTPARM=ON;          /* SET LAST PARM FLAG ON         */ 00687000
         OI    LASTPARM,B'10000000'                             02S0231 00688000
*           ELSE                    /* YARRV NOT LAST                */ 00689000
*             INPUTPTR=INPUTPTR+8;  /* POINT TO NEXT PARAMETER       */ 00690000
         B     @RC00230                                         02S0232 00691000
@RF00230 AL    INPUTPTR,@CF00145                                02S0232 00692000
*         END;                                                  02S0233 00693000
*       ELSE                        /* ERROR - IFMY,YARRV REQD ALWAYS*/ 00694000
*         GOTO OUTERR1;             /* GO SET ERR INDICATORS         */ 00695000
*       IF APALYCRQ=ON THEN         /* TEST IF ICTY REQD             */ 00696000
@RC00208 L     @04,APCWAPAL(,APCWPTR)                           02S0235 00697000
         TM    APALYCRQ(@04),B'10000000'                        02S0235 00698000
         BNO   @RF00235                                         02S0235 00699000
*         IF LASTPARM=OFF THEN      /* IF MORE PARAMETERS EXIST      */ 00700000
         TM    LASTPARM,B'10000000'                             02S0236 00701000
         BNZ   @RF00236                                         02S0236 00702000
*           DO;                                                 02S0237 00703000
*             ICTY=PARAM1;          /* SET ICTY VALUE                */ 00704000
         L     @04,APINAP1(,INPUTPTR)                           02S0238 00705000
         L     @04,PARAM1(,@04)                                 02S0238 00706000
         ST    @04,ICTY(,DESCRPTR)                              02S0238 00707000
*             IF APINAP1E=ON THEN   /* SET LAST PARM FLAG IF ICTY       00708000
*                                      LAST                          */ 00709000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0239 00710000
         BNO   @RF00239                                         02S0239 00711000
*               LASTPARM=ON;                                    02S0240 00712000
         OI    LASTPARM,B'10000000'                             02S0240 00713000
*             ELSE                                              02S0241 00714000
*               INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER       */ 00715000
         B     @RC00239                                         02S0241 00716000
@RF00239 AL    INPUTPTR,@CF00142                                02S0241 00717000
*           END;                                                02S0242 00718000
*         ELSE                      /* ERROR - ICTY REQD & NOT INPUT */ 00719000
*           GOTO OUTERR1;           /* GO SET ERROR INDICATORS       */ 00720000
*       ELSE                        /* ICTY NOT REQUIRED             */ 00721000
*         IF APALYCOP=ON THEN       /* TEST IF ICTY OPTIONAL         */ 00722000
         B     @RC00235                                         02S0244 00723000
@RF00235 L     @04,APCWAPAL(,APCWPTR)                           02S0244 00724000
         TM    APALYCOP(@04),B'01000000'                        02S0244 00725000
         BNO   @RF00244                                         02S0244 00726000
*           IF LASTPARM=ON THEN     /* OPTIONAL- ARE THERE MORE PARMS*/ 00727000
         TM    LASTPARM,B'10000000'                             02S0245 00728000
         BNO   @RF00245                                         02S0245 00729000
*             IF APALYCSD=ON THEN   /* NO - TEST IF VPSS- SUPPLIED   */ 00730000
         TM    APALYCSD(@04),B'00000001'                        02S0246 00731000
         BNO   @RF00246                                         02S0246 00732000
*               ICTY=APALYCNT;      /* YES - SUPPLY ICTY VALUE       */ 00733000
         LH    @04,APALYCNT(,@04)                               02S0247 00734000
         ST    @04,ICTY(,DESCRPTR)                              02S0247 00735000
*             ELSE                                              02S0248 00736000
*               ICTY=1;             /* NO - ICTY = 1                 */ 00737000
         B     @RC00246                                         02S0248 00738000
@RF00246 MVC   ICTY(4,DESCRPTR),@CF00045                        02S0248 00739000
*           ELSE                    /* YES - USE NEXT PARAMETER      */ 00740000
*             DO;                                               02S0249 00741000
         B     @RC00245                                         02S0249 00742000
@RF00245 DS    0H                                               02S0250 00743000
*               ICTY=PARAM1;        /* SET USER SUPPLIED ICTY        */ 00744000
         L     @04,APINAP1(,INPUTPTR)                           02S0250 00745000
         L     @04,PARAM1(,@04)                                 02S0250 00746000
         ST    @04,ICTY(,DESCRPTR)                              02S0250 00747000
*               IF APINAP1E=ON THEN /* IF ICTY IS LAST INPUT    02S0251 00748000
*                                      PARAMETER                     */ 00749000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0251 00750000
         BNO   @RF00251                                         02S0251 00751000
*                 LASTPARM=ON;      /* TURN ON THE LAST PARM FLAG    */ 00752000
         OI    LASTPARM,B'10000000'                             02S0252 00753000
*               ELSE                                            02S0253 00754000
*                 INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER     */ 00755000
         B     @RC00251                                         02S0253 00756000
@RF00251 AL    INPUTPTR,@CF00142                                02S0253 00757000
*             END;                                              02S0254 00758000
*         ELSE                      /* NOT OPT - VPSS SUPPLIES ICTY  */ 00759000
*           IF APALYCSD=ON THEN     /* SUPPLY ICTY VALUE FROM APAL   */ 00760000
         B     @RC00244                                         02S0255 00761000
@RF00244 L     @04,APCWAPAL(,APCWPTR)                           02S0255 00762000
         TM    APALYCSD(@04),B'00000001'                        02S0255 00763000
         BNO   @RF00255                                         02S0255 00764000
*             ICTY=APALYCT;         /* IF IT EXISTS                  */ 00765000
         SLR   @15,@15                                          02S0256 00766000
         IC    @15,APALYCT(,@04)                                02S0256 00767000
         ST    @15,ICTY(,DESCRPTR)                              02S0256 00768000
*           ELSE                                                02S0257 00769000
*             ICTY=1;               /* OTHERWISE SUPPLY VALUE OF 1   */ 00770000
         B     @RC00255                                         02S0257 00771000
@RF00255 MVC   ICTY(4,DESCRPTR),@CF00045                        02S0257 00772000
*       IF APALYDRQ=ON THEN         /* SEE IF IDLY REQUIRED          */ 00773000
@RC00255 DS    0H                                               02S0258 00774000
@RC00244 DS    0H                                               02S0258 00775000
@RC00235 L     @04,APCWAPAL(,APCWPTR)                           02S0258 00776000
         TM    APALYDRQ(@04),B'10000000'                        02S0258 00777000
         BNO   @RF00258                                         02S0258 00778000
*         IF LASTPARM=OFF THEN      /* CHECK IF MORE PARMS EXIST     */ 00779000
         TM    LASTPARM,B'10000000'                             02S0259 00780000
         BNZ   @RF00259                                         02S0259 00781000
*           DO;                                                 02S0260 00782000
*             IDLY=PARAM1;          /* IF SO, GET USER IDLY VALUE    */ 00783000
         L     @04,APINAP1(,INPUTPTR)                           02S0261 00784000
         L     @04,PARAM1(,@04)                                 02S0261 00785000
         ST    @04,IDLY(,DESCRPTR)                              02S0261 00786000
*             IF APINAP1E=ON THEN   /* IF IDLY LAST TURN ON LAST     */ 00787000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0262 00788000
         BNO   @RF00262                                         02S0262 00789000
*               LASTPARM=ON;        /* PARM FLAG                     */ 00790000
         OI    LASTPARM,B'10000000'                             02S0263 00791000
*             ELSE                                              02S0264 00792000
*               INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER       */ 00793000
         B     @RC00262                                         02S0264 00794000
@RF00262 AL    INPUTPTR,@CF00142                                02S0264 00795000
*           END;                                                02S0265 00796000
*         ELSE                      /* ERROR - IDLY REQD BUT NOT        00797000
*                                      INPUT                         */ 00798000
*           GOTO OUTERR1;           /* GO SET ERROR INDICATORS       */ 00799000
*       ELSE                        /* IDLY NOT REQUIRED             */ 00800000
*         IF APALYDOP=ON THEN       /* SEE IF IDLY OPTIONAL          */ 00801000
         B     @RC00258                                         02S0267 00802000
@RF00258 L     @04,APCWAPAL(,APCWPTR)                           02S0267 00803000
         TM    APALYDOP(@04),B'01000000'                        02S0267 00804000
         BNO   @RF00267                                         02S0267 00805000
*           IF LASTPARM=ON THEN     /* IF NO MORE PARAMETERS         */ 00806000
         TM    LASTPARM,B'10000000'                             02S0268 00807000
         BNO   @RF00268                                         02S0268 00808000
*             IDLY=1;               /* SET ELEMENT SPACING TO ONE    */ 00809000
         MVC   IDLY(4,DESCRPTR),@CF00045                        02S0269 00810000
*           ELSE                                                02S0270 00811000
*             DO;                                               02S0270 00812000
         B     @RC00268                                         02S0270 00813000
@RF00268 DS    0H                                               02S0271 00814000
*               IDLY=PARAM1;        /* GET USER SUPPLIED IDLY VALUE  */ 00815000
         L     @04,APINAP1(,INPUTPTR)                           02S0271 00816000
         L     @04,PARAM1(,@04)                                 02S0271 00817000
         ST    @04,IDLY(,DESCRPTR)                              02S0271 00818000
*               IF APINAP1E=ON THEN /* IF IDLY LAST, TURN ON LAST    */ 00819000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0272 00820000
         BNO   @RF00272                                         02S0272 00821000
*                 LASTPARM=ON;      /* PARM FLAG                     */ 00822000
         OI    LASTPARM,B'10000000'                             02S0273 00823000
*               ELSE                                            02S0274 00824000
*                 INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER     */ 00825000
         B     @RC00272                                         02S0274 00826000
@RF00272 AL    INPUTPTR,@CF00142                                02S0274 00827000
*             END;                                              02S0275 00828000
*         ELSE                      /* IDLY NOT REQD OR OPTIONAL     */ 00829000
*           IDLY=1;                 /* IDLY ALWAYS 1 FOR THIS OP     */ 00830000
         B     @RC00267                                         02S0276 00831000
@RF00267 MVC   IDLY(4,DESCRPTR),@CF00045                        02S0276 00832000
*       IF YSTARTDX=ON THEN         /* TEST IF USE OF START INDEX       00833000
*                                      SPECIFIED IN IFMY             */ 00834000
@RC00267 DS    0H                                               02S0277 00835000
@RC00258 TM    YSTARTDX(DESCRPTR),B'00100000'                   02S0277 00836000
         BNO   @RF00277                                         02S0277 00837000
*         IF LASTPARM=OFF THEN      /* YES - SEE IF MORE PARMS EXIST */ 00838000
         TM    LASTPARM,B'10000000'                             02S0278 00839000
         BNZ   @RF00278                                         02S0278 00840000
*           DO;                                                 02S0279 00841000
*             YARRVX=PARAM1;        /* YES - GET USER SUPPLIED YARRVX*/ 00842000
         L     @04,APINAP1(,INPUTPTR)                           02S0280 00843000
         L     @04,PARAM1(,@04)                                 02S0280 00844000
         ST    @04,YARRVX(,DESCRPTR)                            02S0280 00845000
*             IF APINAP1E=ON THEN   /* IF YARRVX LAST PARAMETER      */ 00846000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0281 00847000
         BNO   @RF00281                                         02S0281 00848000
*               LASTPARM=ON;        /* TURN ON LAST PARM FLAG        */ 00849000
         OI    LASTPARM,B'10000000'                             02S0282 00850000
*             ELSE                                              02S0283 00851000
*               INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER       */ 00852000
         B     @RC00281                                         02S0283 00853000
@RF00281 AL    INPUTPTR,@CF00142                                02S0283 00854000
*           END;                                                02S0284 00855000
*         ELSE                      /* ERROR - YARRVX SPECIFIED & NOT   00856000
*                                      INPUT                         */ 00857000
*           GOTO OUTERR1;           /* GO SET ERROR INDICATORS       */ 00858000
*       ELSE                                                    02S0286 00859000
*         ;                                                     02S0286 00860000
@RF00277 DS    0H                                               02S0287 00861000
*       IF YCOUNTDX=ON THEN         /* TEST IF USE OF COUNT INDEX       00862000
*                                      SPECIFIED IN IFMY             */ 00863000
@RC00277 TM    YCOUNTDX(DESCRPTR),B'01000000'                   02S0287 00864000
         BNO   @RF00287                                         02S0287 00865000
*         IF LASTPARM=OFF THEN      /* YES - SEE IF MORE PARMS EXIST */ 00866000
         TM    LASTPARM,B'10000000'                             02S0288 00867000
         BNZ   @RF00288                                         02S0288 00868000
*           DO;                                                 02S0289 00869000
*             ICTYX=PARAM1;         /* YES - GET USER SUPPLIED ICTYX */ 00870000
         L     @04,APINAP1(,INPUTPTR)                           02S0290 00871000
         L     @04,PARAM1(,@04)                                 02S0290 00872000
         ST    @04,ICTYX(,DESCRPTR)                             02S0290 00873000
*             IF APINAP1E=ON THEN   /* IF ICTYX IS LAST PARAMETER    */ 00874000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0291 00875000
         BNO   @RF00291                                         02S0291 00876000
*               LASTPARM=ON;        /* TURN ON LAST PARM FLAG        */ 00877000
         OI    LASTPARM,B'10000000'                             02S0292 00878000
*             ELSE                                              02S0293 00879000
*               INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER       */ 00880000
         B     @RC00291                                         02S0293 00881000
@RF00291 AL    INPUTPTR,@CF00142                                02S0293 00882000
*           END;                                                02S0294 00883000
*         ELSE                      /* ERROR - ICTYX SPECIFIED & NOT    00884000
*                                      INPUT                         */ 00885000
*           GOTO OUTERR1;           /* GO SET ERROR INDICATORS       */ 00886000
*       ELSE                                                    02S0296 00887000
*         ;                                                     02S0296 00888000
@RF00287 DS    0H                                               02S0297 00889000
*       IF YDELTADX=ON THEN         /* SEE IF USE OF DELTA INDEX        00890000
*                                      SPECIFIED IN IFMY             */ 00891000
@RC00287 TM    YDELTADX(DESCRPTR),B'10000000'                   02S0297 00892000
         BNO   @RF00297                                         02S0297 00893000
*         IF LASTPARM=OFF THEN      /* TEST IF MORE PARAMETERS EXIST */ 00894000
         TM    LASTPARM,B'10000000'                             02S0298 00895000
         BNZ   @RF00298                                         02S0298 00896000
*           DO;                                                 02S0299 00897000
*             IDLYX=PARAM1;         /* YES - GET USER SUPPLIED IDLYX */ 00898000
         L     @04,APINAP1(,INPUTPTR)                           02S0300 00899000
         L     @04,PARAM1(,@04)                                 02S0300 00900000
         ST    @04,IDLYX(,DESCRPTR)                             02S0300 00901000
*             IF APINAP1E=ON THEN   /* IF IDLYX IS LAST PARAMETER    */ 00902000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0301 00903000
         BNO   @RF00301                                         02S0301 00904000
*               LASTPARM=ON;        /* TURN ON LAST PARM FLAG        */ 00905000
         OI    LASTPARM,B'10000000'                             02S0302 00906000
*             ELSE                                              02S0303 00907000
*               INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER       */ 00908000
         B     @RC00301                                         02S0303 00909000
@RF00301 AL    INPUTPTR,@CF00142                                02S0303 00910000
*           END;                                                02S0304 00911000
*         ELSE                      /* ERROR - IDLYX SPECIFIED & NOT    00912000
*                                      INPUT                         */ 00913000
*           GO TO OUTERR1;          /* GO SET ERROR INDICATORS       */ 00914000
*       ELSE                                                    02S0306 00915000
*         ;                                                     02S0306 00916000
@RF00297 DS    0H                                               02S0307 00917000
*       IF NUMVECS>=2 THEN          /* IF MORE VECTORS TO PROCESS    */ 00918000
*                                                               02S0307 00919000
@RC00297 C     NUMVECS,@CF00130                                 02S0307 00920000
         BL    @RF00307                                         02S0307 00921000
*         /***********************************************************/ 00922000
*         /*                                                         */ 00923000
*         /* PROCESS X VECTOR COMPONENTS                             */ 00924000
*         /*                                                         */ 00925000
*         /***********************************************************/ 00926000
*                                                               02S0308 00927000
*         DO;                                                   02S0308 00928000
*           IFMXIFMY=OFF;           /* CLEAR FLAG                    */ 00929000
         NI    IFMXIFMY,B'01111111'                             02S0309 00930000
*           IF APALXVRQ=ON THEN     /* TEST IF X VECTOR START REQD   */ 00931000
         L     @04,APCWAPAL(,APCWPTR)                           02S0310 00932000
         TM    APALXVRQ(@04),B'10000000'                        02S0310 00933000
         BNO   @RF00310                                         02S0310 00934000
*             IF(LASTPARM=OFF)&(APINAP1E=OFF) THEN/* IF MORE PARMS      00935000
*                                      AND IFMX NOT LAST             */ 00936000
         TM    LASTPARM,B'10000000'                             02S0311 00937000
         BNZ   @RF00311                                         02S0311 00938000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0311 00939000
         BNZ   @RF00311                                         02S0311 00940000
*               DO;                                             02S0312 00941000
*                 IFMX=PARAM1;      /* GET USERS IFMX AND XARRV      */ 00942000
         L     @04,APINAP1(,INPUTPTR)                           02S0313 00943000
         L     @04,PARAM1(,@04)                                 02S0313 00944000
         ST    @04,IFMX(,DESCRPTR)                              02S0313 00945000
*                 XARRV=APINAP2;    /* GET PTR FOR XARRV             */ 00946000
         L     @04,APINAP2(,INPUTPTR)                           02S0314 00947000
         ST    @04,XARRV(,DESCRPTR)                             02S0314 00948000
*                 CALL APCVZMIF(XARRV,RSOLVERR);/* RESOLVE XARRV     */ 00949000
         LA    @04,XARRV(,DESCRPTR)                             02S0315 00950000
         ST    @04,@AL00001                                     02S0315 00951000
         LA    @04,RSOLVERR                                     02S0315 00952000
         ST    @04,@AL00001+4                                   02S0315 00953000
         L     @15,APCTZMIF(,APCTPTR)                           02S0315 00954000
         LA    @01,@AL00001                                     02S0315 00955000
         BALR  @14,@15                                          02S0315 00956000
*                 IF RSOLVERR^=0 THEN/* TEST ERROR RETURN WORD       */ 00957000
         L     @04,RSOLVERR                                     02S0316 00958000
         LTR   @04,@04                                          02S0316 00959000
         BZ    @RF00316                                         02S0316 00960000
*                   IF RSOLVERR=BDYERROR THEN/* WAS ERROR BOUNDARY?  */ 00961000
         C     @04,@CF00045                                     02S0317 00962000
         BNE   @RF00317                                         02S0317 00963000
*                     DO;           /* YES - SET ERROR INDICATORS FOR   00964000
*                                      XARRV NOT A WORD BOUNDARY     */ 00965000
*                       APCWRCN=APCCA016;/* ERROR NUMBER FOR XARRV      00966000
*                                      NOT A WORD BOUNDARY           */ 00967000
         MVI   APCWRCN(APCWPTR),X'10'                           02S0319 00968000
*                       APEMMSGN=APCMA016;/* MESSAGE NUMBER FOR NOT A   00969000
*                                      WORD BOUNDARY                 */ 00970000
         LA    @09,112                                          02S0320 00971000
         ALR   @09,APCWPTR                                      02S0320 00972000
         MVC   APEMMSGN(4,@09),@CF00485                         02S0320 00973000
*                       APEMVALN=APCMK024;/* KEYWORD NUMBER FOR XARRV*/ 00974000
         MVC   APEMVALN(4,@09),@CF00061                         02S0321 00975000
*                       GOTO OUTERR;/* GO SET COMMON ERROR INDICATORS   00976000
*                                      AND RETURN                    */ 00977000
         B     OUTERR                                           02S0322 00978000
*                     END;          /* END OF SEGMENT                */ 00979000
*                   ELSE            /* TEST FOR RANGE ERROR          */ 00980000
*                     IF RSOLVERR=RNGERROR THEN/* WAS ERROR RANGE?   */ 00981000
@RF00317 CLC   RSOLVERR(4),@CF00130                             02S0324 00982000
         BNE   @RF00324                                         02S0324 00983000
*                       DO;         /* YES - SET ERROR INDICATORS FOR   00984000
*                                      XARRV OUT OF RANGE            */ 00985000
*                         APCWRCN=APCCA021;/* ERROR NUMBER FOR XARRV    00986000
*                                      OUT OF RANGE                  */ 00987000
         MVI   APCWRCN(APCWPTR),X'15'                           02S0326 00988000
*                         APEMMSGN=APCMA021;/* MESSAGE NUMBER FOR OUT   00989000
*                                      OF RANGE                      */ 00990000
         LA    @09,112                                          02S0327 00991000
         ALR   @09,APCWPTR                                      02S0327 00992000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0327 00993000
*                         APEMVALN=APCMK024;/* KEYWORD NUMBER FOR       00994000
*                                      XARRV                         */ 00995000
         MVC   APEMVALN(4,@09),@CF00061                         02S0328 00996000
*                         GOTO OUTERR;/* GO SET COMMON ERROR    02S0329 00997000
*                                      INDICATORS AND RETURN         */ 00998000
         B     OUTERR                                           02S0329 00999000
*                       END;        /* END OF SEGMENT                */ 01000000
*                     ELSE                                      02S0331 01001000
*                       ;           /* NULL - NO MIF PROBLEMS        */ 01002000
@RF00324 DS    0H                                               02S0332 01003000
*                 IF APINAP2E=ON THEN/* IF XARRV IS LAST TURN ON LAST*/ 01004000
@RF00316 TM    APINAP2E(INPUTPTR),B'10000000'                   02S0332 01005000
         BNO   @RF00332                                         02S0332 01006000
*                   LASTPARM=ON;    /* PARM FLAG                     */ 01007000
         OI    LASTPARM,B'10000000'                             02S0333 01008000
*                 ELSE                                          02S0334 01009000
*                   INPUTPTR=INPUTPTR+8;/* POINT TO NEXT PARAMETER   */ 01010000
         B     @RC00332                                         02S0334 01011000
@RF00332 AL    INPUTPTR,@CF00145                                02S0334 01012000
*               END;                                            02S0335 01013000
*             ELSE                  /* ERROR - NOT ENUFF PARMS       */ 01014000
*               GOTO OUTERR1;       /* GO SET ERROR INDICATORS       */ 01015000
*           ELSE                    /* IFMX,XARRV NOT REQUIRED       */ 01016000
*             IF APALXVOP=ON THEN   /* TEST IF IFMX,XARRV OPTIONAL   */ 01017000
         B     @RC00310                                         02S0337 01018000
@RF00310 L     @04,APCWAPAL(,APCWPTR)                           02S0337 01019000
         TM    APALXVOP(@04),B'01000000'                        02S0337 01020000
         BNO   @RF00337                                         02S0337 01021000
*               IF LASTPARM=ON THEN /* IF NO MORE PARMS              */ 01022000
         TM    LASTPARM,B'10000000'                             02S0338 01023000
         BNO   @RF00338                                         02S0338 01024000
*                 DO;                                           02S0339 01025000
*                   IFMX=IFMY;      /* SUPPLY DEFAULT VALUES         */ 01026000
         L     @04,IFMY(,DESCRPTR)                              02S0340 01027000
         ST    @04,IFMX(,DESCRPTR)                              02S0340 01028000
*                   IFMXIFMY=ON;    /* INDICATE IFMY SUPPLIED AS        01029000
*                                      DEFAULT FOR IFMX              */ 01030000
         OI    IFMXIFMY,B'10000000'                             02S0341 01031000
*                   XARRV=YARRV;                                02S0342 01032000
         L     @04,YARRV(,DESCRPTR)                             02S0342 01033000
         ST    @04,XARRV(,DESCRPTR)                             02S0342 01034000
*                 END;                                          02S0343 01035000
*               ELSE                                            02S0344 01036000
*                 IF APINAP1E=ON THEN/* IF IFMX IS LAST PARAMETER    */ 01037000
         B     @RC00338                                         02S0344 01038000
@RF00338 TM    APINAP1E(INPUTPTR),B'10000000'                   02S0344 01039000
         BNO   @RF00344                                         02S0344 01040000
*                   DO;                                         02S0345 01041000
*                     IFMX=PARAM1;  /* GET USER SUPPLIED IFMX        */ 01042000
         L     @04,APINAP1(,INPUTPTR)                           02S0346 01043000
         L     @04,PARAM1(,@04)                                 02S0346 01044000
         ST    @04,IFMX(,DESCRPTR)                              02S0346 01045000
*                     XARRV=YARRV;  /* AND USE DEFAULT VALUE FOR        01046000
*                                      XARRV                         */ 01047000
         L     @04,YARRV(,DESCRPTR)                             02S0347 01048000
         ST    @04,XARRV(,DESCRPTR)                             02S0347 01049000
*                     LASTPARM=ON;  /* TURN ON LAST PARM FLAG        */ 01050000
         OI    LASTPARM,B'10000000'                             02S0348 01051000
*                   END;                                        02S0349 01052000
*                 ELSE              /* IFMX AND XARRV USER SUPPLIED  */ 01053000
*                   DO;                                         02S0350 01054000
         B     @RC00344                                         02S0350 01055000
@RF00344 DS    0H                                               02S0351 01056000
*                     IFMX=PARAM1;  /* GET IFMX AND XARRV FROM USER  */ 01057000
         L     @04,APINAP1(,INPUTPTR)                           02S0351 01058000
         L     @04,PARAM1(,@04)                                 02S0351 01059000
         ST    @04,IFMX(,DESCRPTR)                              02S0351 01060000
*                     XARRV=APINAP2;/* GET BLK STR ADDR TO RESOLVE   */ 01061000
         L     @04,APINAP2(,INPUTPTR)                           02S0352 01062000
         ST    @04,XARRV(,DESCRPTR)                             02S0352 01063000
*                     CALL APCVZMIF(XARRV,RSOLVERR);/* RESOLVE XARRV */ 01064000
         LA    @04,XARRV(,DESCRPTR)                             02S0353 01065000
         ST    @04,@AL00001                                     02S0353 01066000
         LA    @04,RSOLVERR                                     02S0353 01067000
         ST    @04,@AL00001+4                                   02S0353 01068000
         L     @15,APCTZMIF(,APCTPTR)                           02S0353 01069000
         LA    @01,@AL00001                                     02S0353 01070000
         BALR  @14,@15                                          02S0353 01071000
*                     IF RSOLVERR^=0 THEN/* TEST ERROR RETURN WORD   */ 01072000
         L     @04,RSOLVERR                                     02S0354 01073000
         LTR   @04,@04                                          02S0354 01074000
         BZ    @RF00354                                         02S0354 01075000
*                       IF RSOLVERR=BDYERROR THEN/* BOUNDARY ERROR?  */ 01076000
         C     @04,@CF00045                                     02S0355 01077000
         BNE   @RF00355                                         02S0355 01078000
*                         DO;       /* YES - SET ERROR INDICATORS FOR   01079000
*                                      XARRV NOT A WORD BOUNDARY     */ 01080000
*                           APCWRCN=APCCA016;/* ERROR NUMBER FOR        01081000
*                                      XARRV NOT A WORD BOUNDARY     */ 01082000
         MVI   APCWRCN(APCWPTR),X'10'                           02S0357 01083000
*                           APEMMSGN=APCMA016;/* MESSAGE NUMBER FOR     01084000
*                                      NOT A WORD BOUNDARY           */ 01085000
         LA    @09,112                                          02S0358 01086000
         ALR   @09,APCWPTR                                      02S0358 01087000
         MVC   APEMMSGN(4,@09),@CF00485                         02S0358 01088000
*                           APEMVALN=APCMK024;/* XARRV KWD NUMBER    */ 01089000
         MVC   APEMVALN(4,@09),@CF00061                         02S0359 01090000
*                           GOTO OUTERR;/* GO SET COMMON ERROR  02S0360 01091000
*                                      INDICATORS AND RETURN         */ 01092000
         B     OUTERR                                           02S0360 01093000
*                         END;      /* END OF SEGMENT                */ 01094000
*                       ELSE        /* TEST FOR RANGE ERROR          */ 01095000
*                         IF RSOLVERR=RNGERROR THEN/* WAS ERROR 02S0362 01096000
*                                      RANGE?                        */ 01097000
@RF00355 CLC   RSOLVERR(4),@CF00130                             02S0362 01098000
         BNE   @RF00362                                         02S0362 01099000
*                           DO;     /* YES - SET ERROR INDICATORS FOR   01100000
*                                      XARRV OUT OF RANGE            */ 01101000
*                             APCWRCN=APCCA021;/* ERROR NUMBER FOR      01102000
*                                      XARRV OUT OF RANGE            */ 01103000
         MVI   APCWRCN(APCWPTR),X'15'                           02S0364 01104000
*                             APEMMSGN=APCMA021;/* MESSAGE NUMBER FOR   01105000
*                                      OUT OF RANGE                  */ 01106000
         LA    @09,112                                          02S0365 01107000
         ALR   @09,APCWPTR                                      02S0365 01108000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0365 01109000
*                             APEMVALN=APCMK024;/* XARRV KWD NUMBER  */ 01110000
         MVC   APEMVALN(4,@09),@CF00061                         02S0366 01111000
*                             GOTO OUTERR;/* GO SET COMMON ERROR        01112000
*                                      INDICATORS AND RETURN         */ 01113000
         B     OUTERR                                           02S0367 01114000
*                           END;    /* END OF SEGMENT                */ 01115000
*                         ELSE                                  02S0369 01116000
*                           ;       /* NULL - NO MIF PROBLEMS        */ 01117000
@RF00362 DS    0H                                               02S0370 01118000
*                     IF APINAP2E=ON THEN/* IF XARRV IS THE LAST PARM*/ 01119000
@RF00354 TM    APINAP2E(INPUTPTR),B'10000000'                   02S0370 01120000
         BNO   @RF00370                                         02S0370 01121000
*                       LASTPARM=ON;/* TURN ON THE LAST PARM FLAG    */ 01122000
         OI    LASTPARM,B'10000000'                             02S0371 01123000
*                     ELSE                                      02S0372 01124000
*                       INPUTPTR=INPUTPTR+8;/* POINT TO NEXT    02S0372 01125000
*                                      PARAMETER                     */ 01126000
         B     @RC00370                                         02S0372 01127000
@RF00370 AL    INPUTPTR,@CF00145                                02S0372 01128000
*                   END;                                        02S0373 01129000
*             ELSE                                              02S0374 01130000
*               ;                                               02S0374 01131000
@RF00337 DS    0H                                               02S0375 01132000
*           IF APALXCRQ=ON THEN     /* TEST IF ICTX REQUIRED         */ 01133000
@RC00337 DS    0H                                               02S0375 01134000
@RC00310 L     @04,APCWAPAL(,APCWPTR)                           02S0375 01135000
         TM    APALXCRQ(@04),B'10000000'                        02S0375 01136000
         BNO   @RF00375                                         02S0375 01137000
*             IF LASTPARM=OFF THEN  /* YES ARE THERE MORE PARAMETERS */ 01138000
         TM    LASTPARM,B'10000000'                             02S0376 01139000
         BNZ   @RF00376                                         02S0376 01140000
*               DO;                                             02S0377 01141000
*                 ICTX=PARAM1;      /* YES - GET USER ICTX           */ 01142000
         L     @04,APINAP1(,INPUTPTR)                           02S0378 01143000
         L     @04,PARAM1(,@04)                                 02S0378 01144000
         ST    @04,ICTX(,DESCRPTR)                              02S0378 01145000
*                 IF APINAP1E=ON THEN/* IF ICTX IS THE LAST PARAMETER*/ 01146000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0379 01147000
         BNO   @RF00379                                         02S0379 01148000
*                   LASTPARM=ON;    /* SET THE LAST PARM FLAG        */ 01149000
         OI    LASTPARM,B'10000000'                             02S0380 01150000
*                 ELSE                                          02S0381 01151000
*                   INPUTPTR=INPUTPTR+4;/* ADVANCE THE INPUT POINTER */ 01152000
         B     @RC00379                                         02S0381 01153000
@RF00379 AL    INPUTPTR,@CF00142                                02S0381 01154000
*               END;                                            02S0382 01155000
*             ELSE                  /* ERROR - ICTX REQD BUT NOT        01156000
*                                      INPUT                         */ 01157000
*               GOTO OUTERR1;       /* GO SET ERROR INDICATORS       */ 01158000
*           ELSE                    /* ICTX NOT REQUIRED             */ 01159000
*             IF APALXCOP=ON THEN   /* SEE IF ICTX IS OPTIONAL       */ 01160000
         B     @RC00375                                         02S0384 01161000
@RF00375 L     @04,APCWAPAL(,APCWPTR)                           02S0384 01162000
         TM    APALXCOP(@04),B'01000000'                        02S0384 01163000
         BNO   @RF00384                                         02S0384 01164000
*               IF LASTPARM=ON THEN /* YES - MORE PARAMETERS?        */ 01165000
         TM    LASTPARM,B'10000000'                             02S0385 01166000
         BNO   @RF00385                                         02S0385 01167000
*                 IF APALXCSD=ON THEN/* NO - DEFAULT IN APAL?        */ 01168000
         TM    APALXCSD(@04),B'00000001'                        02S0386 01169000
         BNO   @RF00386                                         02S0386 01170000
*                   ICTX=APALXCNT;  /* YES - USE IT                  */ 01171000
         LH    @04,APALXCNT(,@04)                               02S0387 01172000
         ST    @04,ICTX(,DESCRPTR)                              02S0387 01173000
*                 ELSE                                          02S0388 01174000
*                   ICTX=ICTY;      /* NO - ICTX = ICTY FOR THIS ALG */ 01175000
         B     @RC00386                                         02S0388 01176000
@RF00386 L     @04,ICTY(,DESCRPTR)                              02S0388 01177000
         ST    @04,ICTX(,DESCRPTR)                              02S0388 01178000
*               ELSE                /* MORE PARMS EXIST              */ 01179000
*                 DO;                                           02S0389 01180000
         B     @RC00385                                         02S0389 01181000
@RF00385 DS    0H                                               02S0390 01182000
*                   ICTX=PARAM1;    /* GET USER'S ICTX FROM PARM LIST*/ 01183000
         L     @04,APINAP1(,INPUTPTR)                           02S0390 01184000
         L     @04,PARAM1(,@04)                                 02S0390 01185000
         ST    @04,ICTX(,DESCRPTR)                              02S0390 01186000
*                   IF APINAP1E=ON THEN/* IF ICTX IS THE LAST   02S0391 01187000
*                                      PARAMETER                     */ 01188000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0391 01189000
         BNO   @RF00391                                         02S0391 01190000
*                     LASTPARM=ON;  /* TURN ON THE LAST PARM FLAG    */ 01191000
         OI    LASTPARM,B'10000000'                             02S0392 01192000
*                   ELSE                                        02S0393 01193000
*                     INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER */ 01194000
         B     @RC00391                                         02S0393 01195000
@RF00391 AL    INPUTPTR,@CF00142                                02S0393 01196000
*                 END;                                          02S0394 01197000
*             ELSE                  /* NOT OPTIONAL OR REQUIRED      */ 01198000
*               IF APALXCSD=ON THEN /* IF DEFAULT IN APAL            */ 01199000
         B     @RC00384                                         02S0395 01200000
@RF00384 L     @04,APCWAPAL(,APCWPTR)                           02S0395 01201000
         TM    APALXCSD(@04),B'00000001'                        02S0395 01202000
         BNO   @RF00395                                         02S0395 01203000
*                 ICTX=APALXCNT;    /* USE IT                        */ 01204000
         LH    @04,APALXCNT(,@04)                               02S0396 01205000
         ST    @04,ICTX(,DESCRPTR)                              02S0396 01206000
*               ELSE                                            02S0397 01207000
*                 ICTX=ICTY;        /* OTHERWISE ICTX MUST EQUAL ICTY*/ 01208000
         B     @RC00395                                         02S0397 01209000
@RF00395 L     @04,ICTY(,DESCRPTR)                              02S0397 01210000
         ST    @04,ICTX(,DESCRPTR)                              02S0397 01211000
*           IF APALXDRQ=ON THEN     /* TEST IF IDLX REQUIRED         */ 01212000
@RC00395 DS    0H                                               02S0398 01213000
@RC00384 DS    0H                                               02S0398 01214000
@RC00375 L     @04,APCWAPAL(,APCWPTR)                           02S0398 01215000
         TM    APALXDRQ(@04),B'10000000'                        02S0398 01216000
         BNO   @RF00398                                         02S0398 01217000
*             IF LASTPARM=OFF THEN  /* YES - MORE PARAMETERS?        */ 01218000
         TM    LASTPARM,B'10000000'                             02S0399 01219000
         BNZ   @RF00399                                         02S0399 01220000
*               DO;                                             02S0400 01221000
*                 IDLX=PARAM1;      /* YES - GET USER'S IDLX         */ 01222000
         L     @04,APINAP1(,INPUTPTR)                           02S0401 01223000
         L     @04,PARAM1(,@04)                                 02S0401 01224000
         ST    @04,IDLX(,DESCRPTR)                              02S0401 01225000
*                 IF APINAP1E=ON THEN/* IF IDLX IS THE LAST PARAMETER*/ 01226000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0402 01227000
         BNO   @RF00402                                         02S0402 01228000
*                   LASTPARM=ON;    /* TURN ON THE LAST PARM FLAG    */ 01229000
         OI    LASTPARM,B'10000000'                             02S0403 01230000
*                 ELSE                                          02S0404 01231000
*                   INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER   */ 01232000
         B     @RC00402                                         02S0404 01233000
@RF00402 AL    INPUTPTR,@CF00142                                02S0404 01234000
*               END;                                            02S0405 01235000
*             ELSE                  /* ERROR - IDLX REQD BUT NOT        01236000
*                                      INPUT                         */ 01237000
*               GO TO OUTERR1;      /* GO SET ERROR INDICATORS       */ 01238000
*           ELSE                    /* IDLX NOT REQUIRED             */ 01239000
*             IF APALXDOP=ON THEN   /* TEST IF IDLX OPTIONAL         */ 01240000
         B     @RC00398                                         02S0407 01241000
@RF00398 L     @04,APCWAPAL(,APCWPTR)                           02S0407 01242000
         TM    APALXDOP(@04),B'01000000'                        02S0407 01243000
         BNO   @RF00407                                         02S0407 01244000
*               IF LASTPARM=OFF THEN/* YES - MORE PARAMETERS?        */ 01245000
         TM    LASTPARM,B'10000000'                             02S0408 01246000
         BNZ   @RF00408                                         02S0408 01247000
*                 DO;                                           02S0409 01248000
*                   IDLX=PARAM1;    /* YES - GET USER'S IDLX         */ 01249000
         L     @04,APINAP1(,INPUTPTR)                           02S0410 01250000
         L     @04,PARAM1(,@04)                                 02S0410 01251000
         ST    @04,IDLX(,DESCRPTR)                              02S0410 01252000
*                   IF APINAP1E=ON THEN/* IF IDLX IS THE LAST   02S0411 01253000
*                                      PARAMETER                     */ 01254000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0411 01255000
         BNO   @RF00411                                         02S0411 01256000
*                     LASTPARM=ON;  /* TURN ON THE LAST PARM FLAG    */ 01257000
         OI    LASTPARM,B'10000000'                             02S0412 01258000
*                   ELSE                                        02S0413 01259000
*                     INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER */ 01260000
         B     @RC00411                                         02S0413 01261000
@RF00411 AL    INPUTPTR,@CF00142                                02S0413 01262000
*                 END;                                          02S0414 01263000
*               ELSE                /* NO MORE PARMS                 */ 01264000
*                 IDLX=IDLY;        /* SUPPLY DEFAULT VALUE = IDLY   */ 01265000
         B     @RC00408                                         02S0415 01266000
@RF00408 L     @04,IDLY(,DESCRPTR)                              02S0415 01267000
         ST    @04,IDLX(,DESCRPTR)                              02S0415 01268000
*             ELSE                  /* IDLX NOT REQD OR OPTIONAL     */ 01269000
*               IDLX=1;             /* SUPPLY DEFAULT VALUE          */ 01270000
         B     @RC00407                                         02S0416 01271000
@RF00407 MVC   IDLX(4,DESCRPTR),@CF00045                        02S0416 01272000
*           IF XSTARTDX=ON THEN     /* TEST IF USE OF START INDEX       01273000
*                                      SPECIFIED IN IFMX             */ 01274000
@RC00407 DS    0H                                               02S0417 01275000
@RC00398 TM    XSTARTDX(DESCRPTR),B'00100000'                   02S0417 01276000
         BNO   @RF00417                                         02S0417 01277000
*             IF LASTPARM=OFF THEN  /* YES - MORE PARAMETERS IN LIST?*/ 01278000
         TM    LASTPARM,B'10000000'                             02S0418 01279000
         BNZ   @RF00418                                         02S0418 01280000
*               DO;                                             02S0419 01281000
*                 XARRVX=PARAM1;    /* YES - GET USER START INDEX    */ 01282000
         L     @04,APINAP1(,INPUTPTR)                           02S0420 01283000
         L     @04,PARAM1(,@04)                                 02S0420 01284000
         ST    @04,XARRVX(,DESCRPTR)                            02S0420 01285000
*                 IF APINAP1E=ON THEN/* STANDARD LAST PARM CHECK     */ 01286000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0421 01287000
         BNO   @RF00421                                         02S0421 01288000
*                   LASTPARM=ON;                                02S0422 01289000
         OI    LASTPARM,B'10000000'                             02S0422 01290000
*                 ELSE                                          02S0423 01291000
*                   INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER   */ 01292000
         B     @RC00421                                         02S0423 01293000
@RF00421 AL    INPUTPTR,@CF00142                                02S0423 01294000
*               END;                                            02S0424 01295000
*             ELSE                  /* XARRVX NOT INPUT - CHECK IF      01296000
*                                      IFMX DEFAULTED TO IFMY. IF SO,   01297000
*                                      USE YARRVX. ELSE - ERROR      */ 01298000
*               IF IFMXIFMY=ON THEN /* CHECK DEFAULT FLAG            */ 01299000
         B     @RC00418                                         02S0425 01300000
@RF00418 TM    IFMXIFMY,B'10000000'                             02S0425 01301000
         BNO   @RF00425                                         02S0425 01302000
*                 XARRVX=YARRVX;    /* IF DEFAULT, USE Y VECTOR 02S0426 01303000
*                                      ADDRESS INDEX FOR X           */ 01304000
         L     @04,YARRVX(,DESCRPTR)                            02S0426 01305000
         ST    @04,XARRVX(,DESCRPTR)                            02S0426 01306000
*               ELSE                /* NOT INPUT OR DEFAULTED - ERROR*/ 01307000
*                 GOTO OUTERR1;     /* GO SET ERROR INDICATORS AND      01308000
*                                      RETURN                        */ 01309000
*           ELSE                                                02S0428 01310000
*             ;                                                 02S0428 01311000
@RF00417 DS    0H                                               02S0429 01312000
*           IF XCOUNTDX=ON THEN     /* TEST IF USE OF COUNT INDEX       01313000
*                                      SPECIFIED IN IFMX             */ 01314000
@RC00417 TM    XCOUNTDX(DESCRPTR),B'01000000'                   02S0429 01315000
         BNO   @RF00429                                         02S0429 01316000
*             IF LASTPARM=OFF THEN  /* YES - TEST FOR MORE PARAMETERS*/ 01317000
         TM    LASTPARM,B'10000000'                             02S0430 01318000
         BNZ   @RF00430                                         02S0430 01319000
*               DO;                                             02S0431 01320000
*                 ICTXX=PARAM1;     /* GET USER'S COUNT INDEX        */ 01321000
         L     @04,APINAP1(,INPUTPTR)                           02S0432 01322000
         L     @04,PARAM1(,@04)                                 02S0432 01323000
         ST    @04,ICTXX(,DESCRPTR)                             02S0432 01324000
*                 IF APINAP1E=ON THEN/* SET LAST PARM FLAG IF NEED BE*/ 01325000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0433 01326000
         BNO   @RF00433                                         02S0433 01327000
*                   LASTPARM=ON;                                02S0434 01328000
         OI    LASTPARM,B'10000000'                             02S0434 01329000
*                 ELSE                                          02S0435 01330000
*                   INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER   */ 01331000
         B     @RC00433                                         02S0435 01332000
@RF00433 AL    INPUTPTR,@CF00142                                02S0435 01333000
*               END;                                            02S0436 01334000
*             ELSE                  /* ICTXX NOT INPUT - CHECK IF       01335000
*                                      IFMX DEFAULTED TO IFMY. IF SO,   01336000
*                                      USE ICTYX. ELSE - ERROR       */ 01337000
*               IF IFMXIFMY=ON THEN /* CHECK DEFAULT FLAG            */ 01338000
         B     @RC00430                                         02S0437 01339000
@RF00430 TM    IFMXIFMY,B'10000000'                             02S0437 01340000
         BNO   @RF00437                                         02S0437 01341000
*                 ICTXX=ICTYX;      /* IF DEFAULT, USE Y VECTOR COUNT   01342000
*                                      INDEX FOR X                   */ 01343000
         L     @04,ICTYX(,DESCRPTR)                             02S0438 01344000
         ST    @04,ICTXX(,DESCRPTR)                             02S0438 01345000
*               ELSE                /* NOT INPUT OR DEFAULTED - ERROR*/ 01346000
*                 GOTO OUTERR1;     /* GO SET ERROR INDICATORS AND      01347000
*                                      RETURN                        */ 01348000
*           ELSE                                                02S0440 01349000
*             ;                                                 02S0440 01350000
@RF00429 DS    0H                                               02S0441 01351000
*           IF XDELTADX=ON THEN     /* TEST IF USE OF DELTA INDEX       01352000
*                                      SPECIFIED IN IFMX             */ 01353000
@RC00429 TM    XDELTADX(DESCRPTR),B'10000000'                   02S0441 01354000
         BNO   @RF00441                                         02S0441 01355000
*             IF LASTPARM=OFF THEN  /* YES - MORE PARAMETERS?        */ 01356000
         TM    LASTPARM,B'10000000'                             02S0442 01357000
         BNZ   @RF00442                                         02S0442 01358000
*               DO;                                             02S0443 01359000
*                 IDLXX=PARAM1;     /* YES - GET USER SUPPLIED IDLXX */ 01360000
         L     @04,APINAP1(,INPUTPTR)                           02S0444 01361000
         L     @04,PARAM1(,@04)                                 02S0444 01362000
         ST    @04,IDLXX(,DESCRPTR)                             02S0444 01363000
*                 IF APINAP1E=ON THEN/* LAST PARM CHECK              */ 01364000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0445 01365000
         BNO   @RF00445                                         02S0445 01366000
*                   LASTPARM=ON;                                02S0446 01367000
         OI    LASTPARM,B'10000000'                             02S0446 01368000
*                 ELSE                                          02S0447 01369000
*                   INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER   */ 01370000
         B     @RC00445                                         02S0447 01371000
@RF00445 AL    INPUTPTR,@CF00142                                02S0447 01372000
*               END;                                            02S0448 01373000
*             ELSE                  /* IDLXX NOT INPUT - CHECK IF       01374000
*                                      IFMX DEFAULTED TO IFMY. IF SO,   01375000
*                                      USE IDLYX. ELSE - ERROR       */ 01376000
*               IF IFMXIFMY=ON THEN /* CHECK DEFAULT FLAG            */ 01377000
         B     @RC00442                                         02S0449 01378000
@RF00442 TM    IFMXIFMY,B'10000000'                             02S0449 01379000
         BNO   @RF00449                                         02S0449 01380000
*                 IDLXX=IDLYX;      /* IF DEFAULT, USE Y VECTOR DELTA   01381000
*                                      INDEX FOR X                   */ 01382000
         L     @04,IDLYX(,DESCRPTR)                             02S0450 01383000
         ST    @04,IDLXX(,DESCRPTR)                             02S0450 01384000
*               ELSE                /* NOT INPUT OR DEFAULTED - ERROR*/ 01385000
*                 GOTO OUTERR1;     /* GO SET ERROR INDICATORS AND      01386000
*                                      RETURN                        */ 01387000
*           ELSE                                                02S0452 01388000
*             ;                                                 02S0452 01389000
@RF00441 DS    0H                                               02S0453 01390000
*         END;                                                  02S0453 01391000
*       ELSE                        /* 1 VECTOR OP                   */ 01392000
*         IF LASTPARM=OFF THEN      /* TEST IF TOO MANY PARMS        */ 01393000
         B     @RC00307                                         02S0454 01394000
@RF00307 TM    LASTPARM,B'10000000'                             02S0454 01395000
         BZ    @RT00454                                         02S0454 01396000
*           GOTO OUTERR1;           /* YES - GO SET INDICATORS       */ 01397000
*       IF NUMVECS>=3 THEN          /* TEST IF U VECTOR REQUIRED     */ 01398000
*                                                               02S0456 01399000
@RC00307 C     NUMVECS,@CF00156                                 02S0456 01400000
         BL    @RF00456                                         02S0456 01401000
*         /***********************************************************/ 01402000
*         /*                                                         */ 01403000
*         /* PROCESS U VECTOR COMPONENTS                             */ 01404000
*         /*                                                         */ 01405000
*         /***********************************************************/ 01406000
*                                                               02S0457 01407000
*         DO;                                                   02S0457 01408000
*           IFMUIFMX=OFF;           /* CLEAR DEFAULT FLAG            */ 01409000
         NI    IFMUIFMX,B'01111111'                             02S0458 01410000
*           IF APALUVRQ=ON THEN     /* TEST IF U VECTOR REQUIRED     */ 01411000
         L     @04,APCWAPAL(,APCWPTR)                           02S0459 01412000
         TM    APALUVRQ(@04),B'10000000'                        02S0459 01413000
         BNO   @RF00459                                         02S0459 01414000
*             IF(LASTPARM=OFF)&(APINAP1E=OFF) THEN/* TEST FOR MORE      01415000
*                                      PARMS AND IFMU NOT LAST       */ 01416000
         TM    LASTPARM,B'10000000'                             02S0460 01417000
         BNZ   @RF00460                                         02S0460 01418000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0460 01419000
         BNZ   @RF00460                                         02S0460 01420000
*               DO;                                             02S0461 01421000
*                 IFMU=PARAM1;      /* GET USER SUPPLIED IFMU & UARRV*/ 01422000
         L     @04,APINAP1(,INPUTPTR)                           02S0462 01423000
         L     @04,PARAM1(,@04)                                 02S0462 01424000
         ST    @04,IFMU(,DESCRPTR)                              02S0462 01425000
*                 UARRV=APINAP2;    /* GET POINTER TO UARRV          */ 01426000
         L     @04,APINAP2(,INPUTPTR)                           02S0463 01427000
         ST    @04,UARRV(,DESCRPTR)                             02S0463 01428000
*                 CALL APCVZMIF(UARRV,RSOLVERR);/* RESOLVE UARRV     */ 01429000
         LA    @04,UARRV(,DESCRPTR)                             02S0464 01430000
         ST    @04,@AL00001                                     02S0464 01431000
         LA    @04,RSOLVERR                                     02S0464 01432000
         ST    @04,@AL00001+4                                   02S0464 01433000
         L     @15,APCTZMIF(,APCTPTR)                           02S0464 01434000
         LA    @01,@AL00001                                     02S0464 01435000
         BALR  @14,@15                                          02S0464 01436000
*                 IF RSOLVERR^=0 THEN/* TEST ERROR RETURN WORD       */ 01437000
         L     @04,RSOLVERR                                     02S0465 01438000
         LTR   @04,@04                                          02S0465 01439000
         BZ    @RF00465                                         02S0465 01440000
*                   IF RSOLVERR=BDYERROR THEN/* WAS ERROR BOUNDARY?  */ 01441000
         C     @04,@CF00045                                     02S0466 01442000
         BNE   @RF00466                                         02S0466 01443000
*                     DO;           /* YES - SET ERROR INDICATORS FOR   01444000
*                                      UARRV NOT A WORD BOUNDARY     */ 01445000
*                       APCWRCN=APCCA017;/* ERROR NUMBER FOR UARRV      01446000
*                                      NOT A WORD BOUNDARY           */ 01447000
         MVI   APCWRCN(APCWPTR),X'11'                           02S0468 01448000
*                       APEMMSGN=APCMA017;/* MESSAGE NUMBER FOR NOT A   01449000
*                                      Z WORD BOUNDARY               */ 01450000
         LA    @09,112                                          02S0469 01451000
         ALR   @09,APCWPTR                                      02S0469 01452000
         MVC   APEMMSGN(4,@09),@CF00485                         02S0469 01453000
*                       APEMVALN=APCMK031;/* KEYWORD NUMBER FOR UARRV*/ 01454000
         MVC   APEMVALN(4,@09),@CF00041                         02S0470 01455000
*                       GOTO OUTERR;/* GO SET COMMON ERROR INDICATORS   01456000
*                                      AND RETURN                    */ 01457000
         B     OUTERR                                           02S0471 01458000
*                     END;          /* END OF SEGMENT                */ 01459000
*                   ELSE            /* TEST FOR RANGE ERROR          */ 01460000
*                     IF RSOLVERR=RNGERROR THEN/* WAS ERROR RANGE?   */ 01461000
@RF00466 CLC   RSOLVERR(4),@CF00130                             02S0473 01462000
         BNE   @RF00473                                         02S0473 01463000
*                       DO;         /* YES - SET ERROR INDICATORS FOR   01464000
*                                      UARRV OUT OF RANGE            */ 01465000
*                         APCWRCN=APCCA022;/* ERROR NUMBER FOR UARRV    01466000
*                                      OUT OF RANGE                  */ 01467000
         MVI   APCWRCN(APCWPTR),X'16'                           02S0475 01468000
*                         APEMMSGN=APCMA022;/* MESSAGE NUMBER FOR OUT   01469000
*                                      OF RANGE                      */ 01470000
         LA    @09,112                                          02S0476 01471000
         ALR   @09,APCWPTR                                      02S0476 01472000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0476 01473000
*                         APEMVALN=APCMK031;/* KEYWORD NUMBER FOR       01474000
*                                      UARRV                         */ 01475000
         MVC   APEMVALN(4,@09),@CF00041                         02S0477 01476000
*                         GOTO OUTERR;/* GO SET COMMON ERROR    02S0478 01477000
*                                      INDICATORS AND RETURN         */ 01478000
         B     OUTERR                                           02S0478 01479000
*                       END;        /* END OF SEGMENT                */ 01480000
*                     ELSE                                      02S0480 01481000
*                       ;           /* NULL - NO MIF PROBLEMS        */ 01482000
@RF00473 DS    0H                                               02S0481 01483000
*                 IF APINAP2E=ON THEN/* LAST PARM CHECK              */ 01484000
@RF00465 TM    APINAP2E(INPUTPTR),B'10000000'                   02S0481 01485000
         BNO   @RF00481                                         02S0481 01486000
*                   LASTPARM=ON;                                02S0482 01487000
         OI    LASTPARM,B'10000000'                             02S0482 01488000
*                 ELSE                                          02S0483 01489000
*                   INPUTPTR=INPUTPTR+8;/* POINT TO NEXT PARAMETER   */ 01490000
         B     @RC00481                                         02S0483 01491000
@RF00481 AL    INPUTPTR,@CF00145                                02S0483 01492000
*               END;                                            02S0484 01493000
*             ELSE                  /* ERROR - UARRV REQD & NOT INPUT*/ 01494000
*               GOTO OUTERR1;       /* GO SET ERROR INDICATORS       */ 01495000
*           ELSE                    /* UARRV NOT REQUIRED            */ 01496000
*             IF APALUVOP=ON THEN   /* TEST IF UARRV OPTIONAL        */ 01497000
         B     @RC00459                                         02S0486 01498000
@RF00459 L     @04,APCWAPAL(,APCWPTR)                           02S0486 01499000
         TM    APALUVOP(@04),B'01000000'                        02S0486 01500000
         BNO   @RF00486                                         02S0486 01501000
*               IF LASTPARM=ON THEN /* YES - MORE PARAMETERS         */ 01502000
         TM    LASTPARM,B'10000000'                             02S0487 01503000
         BNO   @RF00487                                         02S0487 01504000
*                 DO;                                           02S0488 01505000
*                   IFMUIFMX=ON;    /* INDICATE DEFAULT SUPPLIED     */ 01506000
         OI    IFMUIFMX,B'10000000'                             02S0489 01507000
*                   IFMU=IFMX;      /* NO - SUPPLY DEFAULTS          */ 01508000
         L     @04,IFMX(,DESCRPTR)                              02S0490 01509000
         ST    @04,IFMU(,DESCRPTR)                              02S0490 01510000
*                   UARRV=XARRV;                                02S0491 01511000
         L     @04,XARRV(,DESCRPTR)                             02S0491 01512000
         ST    @04,UARRV(,DESCRPTR)                             02S0491 01513000
*                 END;                                          02S0492 01514000
*               ELSE                                            02S0493 01515000
*                 IF APINAP1E=ON THEN/* TEST IF IFMU IS LAST         */ 01516000
         B     @RC00487                                         02S0493 01517000
@RF00487 TM    APINAP1E(INPUTPTR),B'10000000'                   02S0493 01518000
         BNO   @RF00493                                         02S0493 01519000
*                   DO;                                         02S0494 01520000
*                     IFMU=PARAM1;  /* YES - GET USER'S IFMU         */ 01521000
         L     @04,APINAP1(,INPUTPTR)                           02S0495 01522000
         L     @04,PARAM1(,@04)                                 02S0495 01523000
         ST    @04,IFMU(,DESCRPTR)                              02S0495 01524000
*                     UARRV=XARRV;  /* PROVIDE DEFAULT FOR UARRV     */ 01525000
         L     @04,XARRV(,DESCRPTR)                             02S0496 01526000
         ST    @04,UARRV(,DESCRPTR)                             02S0496 01527000
*                     LASTPARM=ON;  /* SHOW LAST PARM ENCOUNTERED    */ 01528000
         OI    LASTPARM,B'10000000'                             02S0497 01529000
*                   END;                                        02S0498 01530000
*                 ELSE              /* NOT LAST - GET PARMS          */ 01531000
*                   DO;                                         02S0499 01532000
         B     @RC00493                                         02S0499 01533000
@RF00493 DS    0H                                               02S0500 01534000
*                     IFMU=PARAM1;  /* GET USER'S IFMU AND UARRV     */ 01535000
         L     @04,APINAP1(,INPUTPTR)                           02S0500 01536000
         L     @04,PARAM1(,@04)                                 02S0500 01537000
         ST    @04,IFMU(,DESCRPTR)                              02S0500 01538000
*                     UARRV=APINAP2;/* GET BLK STR ADDR TO RESOLVE   */ 01539000
         L     @04,APINAP2(,INPUTPTR)                           02S0501 01540000
         ST    @04,UARRV(,DESCRPTR)                             02S0501 01541000
*                     CALL APCVZMIF(UARRV,RSOLVERR);/* RESOLVE UARRV */ 01542000
         LA    @04,UARRV(,DESCRPTR)                             02S0502 01543000
         ST    @04,@AL00001                                     02S0502 01544000
         LA    @04,RSOLVERR                                     02S0502 01545000
         ST    @04,@AL00001+4                                   02S0502 01546000
         L     @15,APCTZMIF(,APCTPTR)                           02S0502 01547000
         LA    @01,@AL00001                                     02S0502 01548000
         BALR  @14,@15                                          02S0502 01549000
*                     IF RSOLVERR^=0 THEN/* TEST ERROR RETURN WORD   */ 01550000
         L     @04,RSOLVERR                                     02S0503 01551000
         LTR   @04,@04                                          02S0503 01552000
         BZ    @RF00503                                         02S0503 01553000
*                       IF RSOLVERR=BDYERROR THEN/* BOUNDARY ERROR?  */ 01554000
         C     @04,@CF00045                                     02S0504 01555000
         BNE   @RF00504                                         02S0504 01556000
*                         DO;       /* YES - SET ERROR INDICATORS FOR   01557000
*                                      UARRV NOT A WORD BOUNDARY     */ 01558000
*                           APCWRCN=APCCA017;/* ERROR NUMBER FOR        01559000
*                                      UARRV NOT A WORD BOUNDARY     */ 01560000
         MVI   APCWRCN(APCWPTR),X'11'                           02S0506 01561000
*                           APEMMSGN=APCMA017;/* MESSAGE NUMBER FOR     01562000
*                                      NOT A WORD BOUNDARY           */ 01563000
         LA    @09,112                                          02S0507 01564000
         ALR   @09,APCWPTR                                      02S0507 01565000
         MVC   APEMMSGN(4,@09),@CF00485                         02S0507 01566000
*                           APEMVALN=APCMK031;/* UARRV KWD NUMBER    */ 01567000
         MVC   APEMVALN(4,@09),@CF00041                         02S0508 01568000
*                           GOTO OUTERR;/* GO SET COMMON ERROR  02S0509 01569000
*                                      INDICATORS AND RETURN         */ 01570000
         B     OUTERR                                           02S0509 01571000
*                         END;      /* END OF SEGMENT                */ 01572000
*                       ELSE        /* TEST FOR RANGE ERROR          */ 01573000
*                         IF RSOLVERR=RNGERROR THEN/* WAS ERROR 02S0511 01574000
*                                      RANGE?                        */ 01575000
@RF00504 CLC   RSOLVERR(4),@CF00130                             02S0511 01576000
         BNE   @RF00511                                         02S0511 01577000
*                           DO;     /* YES - SET ERROR INDICATORS FOR   01578000
*                                      UARRV OUT OF RANGE            */ 01579000
*                             APCWRCN=APCCA022;/* ERROR NUMBER FOR      01580000
*                                      UARRV OUT OF RANGE            */ 01581000
         MVI   APCWRCN(APCWPTR),X'16'                           02S0513 01582000
*                             APEMMSGN=APCMA022;/* MESSAGE NUMBER FOR   01583000
*                                      OUT OF RANGE                  */ 01584000
         LA    @09,112                                          02S0514 01585000
         ALR   @09,APCWPTR                                      02S0514 01586000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0514 01587000
*                             APEMVALN=APCMK031;/* XARRV KWD NUMBER  */ 01588000
         MVC   APEMVALN(4,@09),@CF00041                         02S0515 01589000
*                             GOTO OUTERR;/* GO SET COMMON ERROR        01590000
*                                      INDICATORS AND RETURN         */ 01591000
         B     OUTERR                                           02S0516 01592000
*                           END;    /* END OF SEGMENT                */ 01593000
*                         ELSE                                  02S0518 01594000
*                           ;       /* NULL - NO MIF PROBLEMS        */ 01595000
@RF00511 DS    0H                                               02S0519 01596000
*                     IF APINAP2E=ON THEN/* LAST PARM CHECK          */ 01597000
@RF00503 TM    APINAP2E(INPUTPTR),B'10000000'                   02S0519 01598000
         BNO   @RF00519                                         02S0519 01599000
*                       LASTPARM=ON;                            02S0520 01600000
         OI    LASTPARM,B'10000000'                             02S0520 01601000
*                     ELSE                                      02S0521 01602000
*                       INPUTPTR=INPUTPTR+8;/* POINT TO NEXT    02S0521 01603000
*                                      PARAMETER                     */ 01604000
         B     @RC00519                                         02S0521 01605000
@RF00519 AL    INPUTPTR,@CF00145                                02S0521 01606000
*                   END;                                        02S0522 01607000
*             ELSE                                              02S0523 01608000
*               ;                                               02S0523 01609000
@RF00486 DS    0H                                               02S0524 01610000
*           IF APALUCRQ=ON THEN     /* TEST IF ICTU REQUIRED         */ 01611000
@RC00486 DS    0H                                               02S0524 01612000
@RC00459 L     @04,APCWAPAL(,APCWPTR)                           02S0524 01613000
         TM    APALUCRQ(@04),B'10000000'                        02S0524 01614000
         BNO   @RF00524                                         02S0524 01615000
*             IF LASTPARM=OFF THEN  /* YES - MORE PARAMETERS?        */ 01616000
         TM    LASTPARM,B'10000000'                             02S0525 01617000
         BNZ   @RF00525                                         02S0525 01618000
*               DO;                                             02S0526 01619000
*                 ICTU=PARAM1;      /* YES - GET USER'S ICTU         */ 01620000
         L     @04,APINAP1(,INPUTPTR)                           02S0527 01621000
         L     @04,PARAM1(,@04)                                 02S0527 01622000
         ST    @04,ICTU(,DESCRPTR)                              02S0527 01623000
*                 IF APINAP1E=ON THEN/* IF ICTU IS LAST PARM         */ 01624000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0528 01625000
         BNO   @RF00528                                         02S0528 01626000
*                   LASTPARM=ON;    /* TURN ON LAST PARM FLAG        */ 01627000
         OI    LASTPARM,B'10000000'                             02S0529 01628000
*                 ELSE                                          02S0530 01629000
*                   INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER   */ 01630000
         B     @RC00528                                         02S0530 01631000
@RF00528 AL    INPUTPTR,@CF00142                                02S0530 01632000
*               END;                                            02S0531 01633000
*             ELSE                  /* ERROR-ICTU REQD & NOT GIVEN   */ 01634000
*               GO TO OUTERR1;      /* GO SET ERROR INDICATORS       */ 01635000
*           ELSE                    /* ICTU NOT REQUIRED             */ 01636000
*             IF APALUCOP=ON THEN   /* IF ICTU OPTIONAL              */ 01637000
         B     @RC00524                                         02S0533 01638000
@RF00524 L     @04,APCWAPAL(,APCWPTR)                           02S0533 01639000
         TM    APALUCOP(@04),B'01000000'                        02S0533 01640000
         BNO   @RF00533                                         02S0533 01641000
*               IF LASTPARM=ON THEN /* YES - MORE PARAMETERS?        */ 01642000
         TM    LASTPARM,B'10000000'                             02S0534 01643000
         BNO   @RF00534                                         02S0534 01644000
*                 IF APALUCSD=ON THEN/* NO - DEFAULT IN APAL         */ 01645000
         TM    APALUCSD(@04),B'00000001'                        02S0535 01646000
         BNO   @RF00535                                         02S0535 01647000
*                   ICTU=APALUCNT;  /* YES - USE IT                  */ 01648000
         LH    @04,APALUCNT(,@04)                               02S0536 01649000
         ST    @04,ICTU(,DESCRPTR)                              02S0536 01650000
*                 ELSE                                          02S0537 01651000
*                   ICTU=ICTX;      /* NO - THEN ICTU MUST = ICTX    */ 01652000
         B     @RC00535                                         02S0537 01653000
@RF00535 L     @04,ICTX(,DESCRPTR)                              02S0537 01654000
         ST    @04,ICTU(,DESCRPTR)                              02S0537 01655000
*               ELSE                /* MORE PARAMETERS EXIST         */ 01656000
*                 DO;                                           02S0538 01657000
         B     @RC00534                                         02S0538 01658000
@RF00534 DS    0H                                               02S0539 01659000
*                   ICTU=PARAM1;    /* GET USER'S ICTU               */ 01660000
         L     @04,APINAP1(,INPUTPTR)                           02S0539 01661000
         L     @04,PARAM1(,@04)                                 02S0539 01662000
         ST    @04,ICTU(,DESCRPTR)                              02S0539 01663000
*                   IF APINAP1E=ON THEN/* STANDARD ACTION BY NOW     */ 01664000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0540 01665000
         BNO   @RF00540                                         02S0540 01666000
*                     LASTPARM=ON;                              02S0541 01667000
         OI    LASTPARM,B'10000000'                             02S0541 01668000
*                   ELSE                                        02S0542 01669000
*                     INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER */ 01670000
         B     @RC00540                                         02S0542 01671000
@RF00540 AL    INPUTPTR,@CF00142                                02S0542 01672000
*                 END;                                          02S0543 01673000
*             ELSE                  /* ICTU NOT REQD OR OPTIONAL     */ 01674000
*               IF APALUCSD=ON THEN /* IF DEFAULT IN APAL            */ 01675000
         B     @RC00533                                         02S0544 01676000
@RF00533 L     @04,APCWAPAL(,APCWPTR)                           02S0544 01677000
         TM    APALUCSD(@04),B'00000001'                        02S0544 01678000
         BNO   @RF00544                                         02S0544 01679000
*                 ICTU=APALUCNT;    /* USE IT                        */ 01680000
         LH    @04,APALUCNT(,@04)                               02S0545 01681000
         ST    @04,ICTU(,DESCRPTR)                              02S0545 01682000
*               ELSE                                            02S0546 01683000
*                 ICTU=ICTX;        /* OTHERWISE DEFAULT IS ICTX     */ 01684000
         B     @RC00544                                         02S0546 01685000
@RF00544 L     @04,ICTX(,DESCRPTR)                              02S0546 01686000
         ST    @04,ICTU(,DESCRPTR)                              02S0546 01687000
*           IF APALUDRQ=ON THEN     /* TEST IF IDLU IS REQUIRED      */ 01688000
@RC00544 DS    0H                                               02S0547 01689000
@RC00533 DS    0H                                               02S0547 01690000
@RC00524 L     @04,APCWAPAL(,APCWPTR)                           02S0547 01691000
         TM    APALUDRQ(@04),B'10000000'                        02S0547 01692000
         BNO   @RF00547                                         02S0547 01693000
*             IF LASTPARM=OFF THEN  /* TEST IF MORE PARAMETERS       */ 01694000
         TM    LASTPARM,B'10000000'                             02S0548 01695000
         BNZ   @RF00548                                         02S0548 01696000
*               DO;                                             02S0549 01697000
*                 IDLU=PARAM1;      /* YES - GET USER'S IDLU         */ 01698000
         L     @04,APINAP1(,INPUTPTR)                           02S0550 01699000
         L     @04,PARAM1(,@04)                                 02S0550 01700000
         ST    @04,IDLU(,DESCRPTR)                              02S0550 01701000
*                 IF APINAP1E=ON THEN/* LAST PARM TEST               */ 01702000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0551 01703000
         BNO   @RF00551                                         02S0551 01704000
*                   LASTPARM=ON;                                02S0552 01705000
         OI    LASTPARM,B'10000000'                             02S0552 01706000
*                 ELSE                                          02S0553 01707000
*                   INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER   */ 01708000
         B     @RC00551                                         02S0553 01709000
@RF00551 AL    INPUTPTR,@CF00142                                02S0553 01710000
*               END;                                            02S0554 01711000
*             ELSE                  /* ERROR-IDLU RQD & NOT GIVEN    */ 01712000
*               GOTO OUTERR1;       /* GO SET ERROR INDICATORS       */ 01713000
*           ELSE                    /* IDLU NOT REQUIRED             */ 01714000
*             IF APALUDOP=ON THEN   /* TEST IF IDLU OPTIONAL         */ 01715000
         B     @RC00547                                         02S0556 01716000
@RF00547 L     @04,APCWAPAL(,APCWPTR)                           02S0556 01717000
         TM    APALUDOP(@04),B'01000000'                        02S0556 01718000
         BNO   @RF00556                                         02S0556 01719000
*               IF LASTPARM=OFF THEN/* MORE PARAMETERS?              */ 01720000
         TM    LASTPARM,B'10000000'                             02S0557 01721000
         BNZ   @RF00557                                         02S0557 01722000
*                 DO;                                           02S0558 01723000
*                   IDLU=PARAM1;    /* YES - GET USER'S IDLU         */ 01724000
         L     @04,APINAP1(,INPUTPTR)                           02S0559 01725000
         L     @04,PARAM1(,@04)                                 02S0559 01726000
         ST    @04,IDLU(,DESCRPTR)                              02S0559 01727000
*                   IF APINAP1E=ON THEN/* LAST PARM CHECK            */ 01728000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0560 01729000
         BNO   @RF00560                                         02S0560 01730000
*                     LASTPARM=ON;                              02S0561 01731000
         OI    LASTPARM,B'10000000'                             02S0561 01732000
*                   ELSE                                        02S0562 01733000
*                     INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER */ 01734000
         B     @RC00560                                         02S0562 01735000
@RF00560 AL    INPUTPTR,@CF00142                                02S0562 01736000
*                 END;                                          02S0563 01737000
*               ELSE                /* NO MORE PARMS                 */ 01738000
*                 IDLU=IDLX;        /* SUPPLY DEFAULT = IDLX         */ 01739000
         B     @RC00557                                         02S0564 01740000
@RF00557 L     @04,IDLX(,DESCRPTR)                              02S0564 01741000
         ST    @04,IDLU(,DESCRPTR)                              02S0564 01742000
*             ELSE                  /* IDLU NOT RQD OR OPTIONAL      */ 01743000
*               IDLU=1;             /* SUPPLY DEFAULT                */ 01744000
         B     @RC00556                                         02S0565 01745000
@RF00556 MVC   IDLU(4,DESCRPTR),@CF00045                        02S0565 01746000
*           IF USTARTDX=ON THEN     /* DETERMINE IF USE OF START        01747000
*                                      INDEX SPECIFIED IN IFMU       */ 01748000
@RC00556 DS    0H                                               02S0566 01749000
@RC00547 TM    USTARTDX(DESCRPTR),B'00100000'                   02S0566 01750000
         BNO   @RF00566                                         02S0566 01751000
*             IF LASTPARM=OFF THEN  /* YES - MORE PARAMETERS?        */ 01752000
         TM    LASTPARM,B'10000000'                             02S0567 01753000
         BNZ   @RF00567                                         02S0567 01754000
*               DO;                                             02S0568 01755000
*                 UARRVX=PARAM1;    /* YES - GET USER'S UARRVX       */ 01756000
         L     @04,APINAP1(,INPUTPTR)                           02S0569 01757000
         L     @04,PARAM1(,@04)                                 02S0569 01758000
         ST    @04,UARRVX(,DESCRPTR)                            02S0569 01759000
*                 IF APINAP1E=ON THEN/* LAST PARM CHECK              */ 01760000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0570 01761000
         BNO   @RF00570                                         02S0570 01762000
*                   LASTPARM=ON;                                02S0571 01763000
         OI    LASTPARM,B'10000000'                             02S0571 01764000
*                 ELSE                                          02S0572 01765000
*                   INPUTPTR=INPUTPTR+4;/* ADVANCE INPUT POINTER     */ 01766000
         B     @RC00570                                         02S0572 01767000
@RF00570 AL    INPUTPTR,@CF00142                                02S0572 01768000
*               END;                                            02S0573 01769000
*             ELSE                  /* UARRVX NOT INPUT - CHECK IF      01770000
*                                      IFMU DEFAULTED TO IFMX. IF SO,   01771000
*                                      USE XARRVX. ELSE - ERROR      */ 01772000
*               IF IFMUIFMX=ON THEN /* CHECK DEFAULT FLAG            */ 01773000
         B     @RC00567                                         02S0574 01774000
@RF00567 TM    IFMUIFMX,B'10000000'                             02S0574 01775000
         BNO   @RF00574                                         02S0574 01776000
*                 UARRVX=XARRVX;    /* IF DEFAULT, USE X VECTOR 02S0575 01777000
*                                      ADDRESS INDEX FOR U           */ 01778000
         L     @04,XARRVX(,DESCRPTR)                            02S0575 01779000
         ST    @04,UARRVX(,DESCRPTR)                            02S0575 01780000
*               ELSE                /* NOT INPUT OR DEFAULTED - ERROR*/ 01781000
*                 GOTO OUTERR1;     /* GO SET ERROR INDICATORS AND      01782000
*                                      RETURN                        */ 01783000
*           ELSE                                                02S0577 01784000
*             ;                                                 02S0577 01785000
@RF00566 DS    0H                                               02S0578 01786000
*           IF UCOUNTDX=ON THEN     /* TEST IF USE OF COUNT INDEX       01787000
*                                      SPECIFIED IN IFMU             */ 01788000
@RC00566 TM    UCOUNTDX(DESCRPTR),B'01000000'                   02S0578 01789000
         BNO   @RF00578                                         02S0578 01790000
*             IF LASTPARM=OFF THEN  /* YES - ANY MORE PARAMETERS?    */ 01791000
         TM    LASTPARM,B'10000000'                             02S0579 01792000
         BNZ   @RF00579                                         02S0579 01793000
*               DO;                                             02S0580 01794000
*                 ICTUX=PARAM1;     /* YES - GET ICTUX               */ 01795000
         L     @04,APINAP1(,INPUTPTR)                           02S0581 01796000
         L     @04,PARAM1(,@04)                                 02S0581 01797000
         ST    @04,ICTUX(,DESCRPTR)                             02S0581 01798000
*                 IF APINAP1E=ON THEN/* LAST PARAMETER CHECK         */ 01799000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0582 01800000
         BNO   @RF00582                                         02S0582 01801000
*                   LASTPARM=ON;                                02S0583 01802000
         OI    LASTPARM,B'10000000'                             02S0583 01803000
*                 ELSE                                          02S0584 01804000
*                   INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER   */ 01805000
         B     @RC00582                                         02S0584 01806000
@RF00582 AL    INPUTPTR,@CF00142                                02S0584 01807000
*               END;                                            02S0585 01808000
*             ELSE                  /* ICTUX NOT INPUT - CHECK IF       01809000
*                                      IFMU DEFAULTED TO IFMX. IF SO,   01810000
*                                      USE ICTXX. ELSE - ERROR       */ 01811000
*               IF IFMUIFMX=ON THEN /* CHECK DEFAULT FLAG            */ 01812000
         B     @RC00579                                         02S0586 01813000
@RF00579 TM    IFMUIFMX,B'10000000'                             02S0586 01814000
         BNO   @RF00586                                         02S0586 01815000
*                 ICTUX=ICTXX;      /* IF DEFAULT, USE X VECTOR COUNT   01816000
*                                      INDEX FOR U                   */ 01817000
         L     @04,ICTXX(,DESCRPTR)                             02S0587 01818000
         ST    @04,ICTUX(,DESCRPTR)                             02S0587 01819000
*               ELSE                /* NOT INPUT OR DEFAULTED - ERROR*/ 01820000
*                 GOTO OUTERR1;     /* GO SET ERROR INDICATORS AND      01821000
*                                      RETURN                        */ 01822000
*           ELSE                                                02S0589 01823000
*             ;                                                 02S0589 01824000
@RF00578 DS    0H                                               02S0590 01825000
*           IF UDELTADX=ON THEN     /* TEST IF USE OF DELTA INDEX       01826000
*                                      SPECIFIED IN IFMU             */ 01827000
@RC00578 TM    UDELTADX(DESCRPTR),B'10000000'                   02S0590 01828000
         BNO   @RF00590                                         02S0590 01829000
*             IF LASTPARM=OFF THEN  /* YES - MORE PARAMETERS?        */ 01830000
         TM    LASTPARM,B'10000000'                             02S0591 01831000
         BNZ   @RF00591                                         02S0591 01832000
*               DO;                                             02S0592 01833000
*                 IDLUX=PARAM1;     /* YES - GET IDLUX               */ 01834000
         L     @04,APINAP1(,INPUTPTR)                           02S0593 01835000
         L     @04,PARAM1(,@04)                                 02S0593 01836000
         ST    @04,IDLUX(,DESCRPTR)                             02S0593 01837000
*                 IF APINAP1E=ON THEN/* LAST PARM TEST               */ 01838000
         TM    APINAP1E(INPUTPTR),B'10000000'                   02S0594 01839000
         BNO   @RF00594                                         02S0594 01840000
*                   LASTPARM=ON;                                02S0595 01841000
         OI    LASTPARM,B'10000000'                             02S0595 01842000
*                 ELSE                                          02S0596 01843000
*                   INPUTPTR=INPUTPTR+4;/* POINT TO NEXT PARAMETER   */ 01844000
         B     @RC00594                                         02S0596 01845000
@RF00594 AL    INPUTPTR,@CF00142                                02S0596 01846000
*               END;                                            02S0597 01847000
*             ELSE                  /* IDLUX NOT INPUT - CHECK IF       01848000
*                                      IFMU DEFAULTED TO IFMX. IF SO,   01849000
*                                      USE IDLXX. ELSE - ERROR       */ 01850000
*               IF IFMUIFMX=ON THEN /* CHECK DEFAULT FLAG            */ 01851000
         B     @RC00591                                         02S0598 01852000
@RF00591 TM    IFMUIFMX,B'10000000'                             02S0598 01853000
         BNO   @RF00598                                         02S0598 01854000
*                 IDLUX=IDLXX;      /* IF DEFAULT, USE X VECTOR DELTA   01855000
*                                      INDEX FOR U                   */ 01856000
         L     @04,IDLXX(,DESCRPTR)                             02S0599 01857000
         ST    @04,IDLUX(,DESCRPTR)                             02S0599 01858000
*               ELSE                /* NOT INPUT OR DEFAULTED - ERROR*/ 01859000
*                 GOTO OUTERR1;     /* GO SET ERROR INDICATORS AND      01860000
*                                      RETURN                        */ 01861000
*           ELSE                                                02S0601 01862000
*             ;                                                 02S0601 01863000
@RF00590 DS    0H                                               02S0602 01864000
*         END;                                                  02S0602 01865000
*       ELSE                        /* 2 VECTOR OP                   */ 01866000
*         IF LASTPARM=OFF THEN      /* TEST FOR TOO MANY PARMS       */ 01867000
         B     @RC00456                                         02S0603 01868000
@RF00456 TM    LASTPARM,B'10000000'                             02S0603 01869000
         BZ    @RT00603                                         02S0603 01870000
*           GOTO OUTERR1;           /* YES - GO SET ERROR-CATORS     */ 01871000
*     END;                                                      01S0605 01872000
*                                                               01S0605 01873000
@RC00456 DS    0H                                               01S0606 01874000
*   /*****************************************************************/ 01875000
*   /*                                                               */ 01876000
*   /* FORMAT DESCRIPTOR VECTOR INTO CIT ENTRY                       */ 01877000
*   /*                                                               */ 01878000
*   /*****************************************************************/ 01879000
*                                                               01S0606 01880000
*   DO;                                                         01S0606 01881000
@RC00095 DS    0H                                               01S0607 01882000
*                                                               02S0607 01883000
*/*******************************************************            */ 01884000
*/*                                                                  */ 01885000
*/* THIS LOCAL INCLUDE CONVERTS AN ALGORITHM BUILD                   */ 01886000
*/* REQUEST FROM DESCRIPTOR VECTOR FORMAT INTO A CONTROL             */ 01887000
*/* INFORMATION TABLE (CIT) ENTRY. THE CIT ENTRY CAN                 */ 01888000
*/* THEN BE ADDED TO THE CIT TABLE FOR EVENTUAL OUTPUT               */ 01889000
*/* TO THE 3838 WHERE ALGORITHM EXECUTION WILL OCCUR.                */ 01890000
*/*                                                                  */ 01891000
*/* A DESCRIPTOR VECTOR IS A 22 WORD BLOCK WHICH                     */ 01892000
*/* CONTAINS ALGORITHM PARAMETERS NECESSARY TO BUILD A               */ 01893000
*/* CIT ENTRY. A DESCRIPTOR VECTOR MAY BE INPUT EITHER               */ 01894000
*/* DIRECTLY BY THE USER OR BY THE LOCAL INCLUDE                     */ 01895000
*/* MDADESCR WHICH CONVERTS A USER'S CALLING SEQUENCE                */ 01896000
*/* INTO A DESCRIPTOR VECTOR IN THIS PROGRAM'S AUTOMATIC             */ 01897000
*/* WORK AREA. FORMAT FOR A USER CALL EMPLOYING DIRECT               */ 01898000
*/* PASSING OF A DESCRIPTOR VECTOR IS:                               */ 01899000
*/*                                                                  */ 01900000
*/*   CALL VPSS(IUNIT,IFUNC,ISTATE,IDESCR)                           */ 01901000
*/*   OR                                                             */ 01902000
*/*   CALL VPSS(IUNIT,IFUNC,ISTATE,IDESCR,YARRV,XARRV,               */ 01903000
*/*             UARRV)                                               */ 01904000
*/*                                                                  */ 01905000
*/*   WHERE:                                                         */ 01906000
*/*     IUNIT   UNIT REFERENCE NUMBER                                */ 01907000
*/*     IFUNC   ALGORITHM MNEMONIC                                   */ 01908000
*/*     ISTATE  OPERATIONAL PARAMETERS                               */ 01909000
*/*     IDESCR  POINTER TO THE DESCRIPTOR VECTOR                     */ 01910000
*/*   THE FOLLOWING PARAMETERS ARE INPUT ONLY ON THE                 */ 01911000
*/*   SECOND FORM OF A DESCRIPTOR VECTOR CALL. THIS FORM             */ 01912000
*/*   IS REFERRED TO AS AN INCOMPLETE DESCRIPTOR VECTOR              */ 01913000
*/*   ( VECTOR STARTING LOCATIONS ARE SUPPLIED AS                    */ 01914000
*/*     PARAMETERS IN THE CALLING SEQUENCE).                         */ 01915000
*/*     YARRV   Y VECTOR STARTING LOCATION                           */ 01916000
*/*     XARRV   X VECTOR STARTING LOCATION                           */ 01917000
*/*     UARRV   U VECTOR STARTING LOCATION                           */ 01918000
*/*   USE OF A COMPLETE OR INCOMPLETE DESCRIPTOR VECTOR              */ 01919000
*/*   IS INDICATED BY BIT SETTINGS IN THE ISTATE                     */ 01920000
*/*   PARAMETER.                                                     */ 01921000
*/*                                                                  */ 01922000
*/* DESCRIPTOR VECTOR FORMAT:                                        */ 01923000
*/*   WORD 1 RESERVED                                                */ 01924000
*/*        2 IFMY   Y VECTOR FORMAT SPECIFICATION.                   */ 01925000
*/*                   BIT SETTINGS IN THIS WORD INDICATE             */ 01926000
*/*                   THE BASE POINT OF THE VECTOR                   */ 01927000
*/*                   THE USE AND FORM OF SIGN CONTROL,              */ 01928000
*/*                   AND WHETHER OR NOT INDEXES ARE                 */ 01929000
*/*                   TO BE APPLIED.                                 */ 01930000
*/*        3 YARRV  Y VECTOR 3838 BULK STORE ADDRESS                 */ 01931000
*/*        4 ICTY   LENGTH OF Y VECTOR                               */ 01932000
*/*        5 IDLY   Y VECTOR ELEMENT SPACING                         */ 01933000
*/*        6 YARRVX Y VECTOR ADDRESS INDEX                           */ 01934000
*/*        7 ICTYX  Y VECTOR LENGTH INDEX                            */ 01935000
*/*        8 IDLYX  Y VECTOR SPACING INDEX                           */ 01936000
*/*        9 IFMX   X VECTOR FORMAT SPECIFICATION                    */ 01937000
*/*       10 XARRV  X VECTOR 3838 BULK STORE ADDRESS                 */ 01938000
*/*       11 ICTX   X VECTOR LENGTH                                  */ 01939000
*/*       12 IDLX   X VECTOR ELEMENT SPACING                         */ 01940000
*/*       13 XARRVX X VECTOR ADDRESS INDEX                           */ 01941000
*/*       14 ICTXX  X VECTOR LENGTH INDEX                            */ 01942000
*/*       15 IDLXX  X VECTOR SPACING INDEX                           */ 01943000
*/*       16 IFMU   U VECTOR FORMAT SPECIFICATION                    */ 01944000
*/*       17 UARRV  U VECTOR 3838 BULK STORE ADDRESS                 */ 01945000
*/*       18 ICTU   U VECTOR LENGTH                                  */ 01946000
*/*       19 IDLU   U VECTOR ELEMENT SPACING                         */ 01947000
*/*       20 UARRVX U VECTOR ADDRESS INDEX                           */ 01948000
*/*       21 ICTUX  U VECTOR LENGTH INDEX                            */ 01949000
*/*       22 IDLUX  U VECTOR SPACING INDEX                           */ 01950000
*/*                                                                  */ 01951000
*/*  CIT ENTRY FORMAT:                                               */ 01952000
*/*                                                                  */ 01953000
*/*    <---------------- 4 BYTES ------------------>                 */ 01954000
*/*    ---------------------------------------------                 */ 01955000
*/*    | OPERATION ID        | ENTRY LENGTH(HWORDS)|                 */ 01956000
*/*    ---------------------------------------------                 */ 01957000
*/*    | STD OPTION FLAGS    | ALG DEPENDENT FLAGS |                 */ 01958000
*/*    ---------------------------------------------                 */ 01959000
*/*    | Y VECTOR 3838 BULK STORAGE START ADDRESS  |                 */ 01960000
*/*    ---------------------------------------------                 */ 01961000
*/*    | Y ELEMENT SPACING   | LENGTH OF Y         |                 */ 01962000
*/*    ---------------------------------------------                 */ 01963000
*/*    | Y FORMAT SPEC FLAGS | Y START ADDR INDEX  |                 */ 01964000
*/*    ---------------------------------------------                 */ 01965000
*/*    | Y SPACING INDEX     | Y LENGTH INDEX      |                 */ 01966000
*/*    ---------------------------------------------                 */ 01967000
*/*    | X VECTOR 3838 BULK STORAGE START ADDRESS  |                 */ 01968000
*/*    ---------------------------------------------                 */ 01969000
*/*    | X ELEMENT SPACING   | LENGTH OF X         |                 */ 01970000
*/*    ---------------------------------------------                 */ 01971000
*/*    | X FORMAT SPEC FLAGS | X START ADDR INDEX  |                 */ 01972000
*/*    ---------------------------------------------                 */ 01973000
*/*    | X SPACING INDEX     | X LENGTH INDEX      |                 */ 01974000
*/*    ---------------------------------------------                 */ 01975000
*/*    | U VECTOR 3838 BULK STORAGE START ADDRESS  |                 */ 01976000
*/*    ---------------------------------------------                 */ 01977000
*/*    | U ELEMENT SPACING   | LENGTH OF U         |                 */ 01978000
*/*    ---------------------------------------------                 */ 01979000
*/*    | U FORMAT SPEC FLAGS | U START ADDR INDEX  |                 */ 01980000
*/*    ---------------------------------------------                 */ 01981000
*/*    | U SPACING INDEX     | U LENGTH INDEX      |                 */ 01982000
*/*    ---------------------------------------------                 */ 01983000
*/*                                                                  */ 01984000
*/*    X AND U VECTOR ELEMENTS ARE INCLUDED ONLY IF                  */ 01985000
*/*    REQUIRED BY THE ALGORITHM.                                    */ 01986000
*/*    STANDARD OPTIONS   X'8000'  MASK OVERFLOW                     */ 01987000
*/*                       X'4000'  MASK UNDERFLOW                    */ 01988000
*/*                       X'2000'  MASK UNNORMALIZED                 */ 01989000
*/*                                DIVIDE                            */ 01990000
*/*                       X'1000'  MASK CONVERSION ERROR             */ 01991000
*/*                       X'0080'  STACK RESULT                      */ 01992000
*/*    ARRAY DESCRIPTION  X'8000'  REVERSE SIGN                      */ 01993000
*/*                       X'4000'  FORCE POSITIVE                    */ 01994000
*/*                       X'2000'  FORCE NEGATIVE                    */ 01995000
*/*                       X'0800'  FIXED POINT - TWO'S               */ 01996000
*/*                                COMPLEMENT                        */ 01997000
*/*                       X'0400'  FIXED POINT - SIGNED              */ 01998000
*/*                                TRUE                              */ 01999000
*/*                                                                  */ 02000000
*/*  THIS PROGRAM MOVES DESCRIPTOR VECTOR ELEMENTS INTO              */ 02001000
*/*  THE CIT WORK AREA, PERFORMS VALIDITY CHECKING WHERE             */ 02002000
*/*  POSSIBLE AND SUPPLIES DEFAULT VALUES. THIS IS ACCOM-            */ 02003000
*/*  BY USING SWITCH SETTINGS IN IGTXAPAL AS A FILTER                */ 02004000
*/*  TO BUILD AN ALGORITHM CIT ENTRY.                                */ 02005000
*/*                                                                  */ 02006000
*/*******************************************************            */ 02007000
*                                                               02S0607 02008000
*     APCIABS1=YARRV;               /* MOVE YARRV TO CIT WORKAREA    */ 02009000
         LA    @04,CITENTRY                                     02S0607 02010000
         L     @03,YARRV(,DESCRPTR)                             02S0607 02011000
         ST    @03,APCIABS1(,@04)                               02S0607 02012000
*     IF(APALYDOP=ON)|(APALYDRQ=ON) THEN/* TEST IF ELEMENT SPACING      02013000
*                                      PERMITTED                     */ 02014000
         L     @04,APCWAPAL(,APCWPTR)                           02S0608 02015000
         TM    APALYDOP(@04),B'11000000'                        02S0608 02016000
         BZ    @RF00608                                         02S0608 02017000
*       IF(IDLY<-32768)|            /* IDLY MUST BE IN RANGE @ZA25370*/ 02018000
*           (IDLY>65536) THEN       /* -32768 <-> +65536.    @ZA25370*/ 02019000
         L     @04,IDLY(,DESCRPTR)                              02S0609 02020000
         C     @04,@CF01788                                     02S0609 02021000
         BL    @RT00609                                         02S0609 02022000
         C     @04,@CF01789                                     02S0609 02023000
         BNH   @RF00609                                         02S0609 02024000
@RT00609 DS    0H                                               02S0610 02025000
*         DO;                       /* IDLY IN ERROR - SET ERROR        02026000
*                                      INDICATORS FOR IDLY OUT OF       02027000
*                                      RANGE                         */ 02028000
*           APCWRCN=APCCA027;       /* SET RETURN CODE NO. FOR IDLY     02029000
*                                      OUT OF RANGE                  */ 02030000
         MVI   APCWRCN(APCWPTR),X'1B'                           02S0611 02031000
*           APEMMSGN=APCMA027;      /* SET MSG. NO. FOR OUT OF RANGE */ 02032000
         LA    @09,112                                          02S0612 02033000
         ALR   @09,APCWPTR                                      02S0612 02034000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0612 02035000
*           APEMVALN=APCMK019;      /* SET KYWD. NO. FOR IDLY        */ 02036000
         MVC   APEMVALN(4,@09),@CF00183                         02S0613 02037000
*           GOTO OUTERR;            /* OUTERR SETS COMMON ERROR FLAGS   02038000
*                                      AND VALUES AND RETURNS        */ 02039000
         B     OUTERR                                           02S0614 02040000
*         END;                      /* END OF IDLY ERROR PROCESSING  */ 02041000
*       ELSE                        /* IDLY IS OK                    */ 02042000
*         APCIADL1=IDLY;            /* MOVE IDLY TO WORKING CIT ENTRY*/ 02043000
@RF00609 LA    @04,CITENTRY                                     02S0616 02044000
         L     @03,IDLY(,DESCRPTR)                              02S0616 02045000
         STH   @03,APCIADL1(,@04)                               02S0616 02046000
*     ELSE                                                      02S0617 02047000
*       APCIADL1=1;                 /* NO - APPLY DEFAULT SPACING    */ 02048000
         B     @RC00608                                         02S0617 02049000
@RF00608 LA    @04,CITENTRY                                     02S0617 02050000
         MVC   APCIADL1(2,@04),@CH00045                         02S0617 02051000
*     IF(APALYCOP=ON)|(APALYCRQ=ON) THEN/* TEST IF Y COUNT PERMITTED */ 02052000
@RC00608 L     @04,APCWAPAL(,APCWPTR)                           02S0618 02053000
         TM    APALYCOP(@04),B'11000000'                        02S0618 02054000
         BZ    @RF00618                                         02S0618 02055000
*       IF(ICTY<-32768)|            /* ICTY MUST BE IN RANGE @ZA25370*/ 02056000
*           (ICTY>65536) THEN       /* -32768 <-> +65536.    @ZA25370*/ 02057000
         L     @04,ICTY(,DESCRPTR)                              02S0619 02058000
         C     @04,@CF01788                                     02S0619 02059000
         BL    @RT00619                                         02S0619 02060000
         C     @04,@CF01789                                     02S0619 02061000
         BNH   @RF00619                                         02S0619 02062000
@RT00619 DS    0H                                               02S0620 02063000
*         DO;                       /* ICTY IN ERROR - SET ERROR        02064000
*                                      INDICATORS FOR ICTY OUT OF       02065000
*                                      RANGE                         */ 02066000
*           APCWRCN=APCCA024;       /* SET RETURN CODE NO. FOR ICTY     02067000
*                                      OUT OF RANGE                  */ 02068000
         MVI   APCWRCN(APCWPTR),X'18'                           02S0621 02069000
*           APEMMSGN=APCMA024;      /* SET MSG. NO. FOR OUT OF RANGE */ 02070000
         LA    @09,112                                          02S0622 02071000
         ALR   @09,APCWPTR                                      02S0622 02072000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0622 02073000
*           APEMVALN=APCMK018;      /* SET KYWD. NO. FOR ICTY        */ 02074000
         MVC   APEMVALN(4,@09),@CF00074                         02S0623 02075000
*           GOTO OUTERR;            /* OUTERR SETS COMMON ERROR FLAGS   02076000
*                                      AND VALUES AND RETURNS        */ 02077000
         B     OUTERR                                           02S0624 02078000
*         END;                      /* END OF ICTY ERROR PROCESSING  */ 02079000
*       ELSE                        /* ICTY IS OK                    */ 02080000
*         APCIANB1=ICTY;            /* MOVE ICTY TO WORKING CIT ENTRY*/ 02081000
@RF00619 LA    @04,CITENTRY                                     02S0626 02082000
         L     @03,ICTY(,DESCRPTR)                              02S0626 02083000
         STH   @03,APCIANB1(,@04)                               02S0626 02084000
*     ELSE                                                      02S0627 02085000
*       IF APALYCSD=ON THEN         /* NO - IS DEFAULT IN APAL?      */ 02086000
         B     @RC00618                                         02S0627 02087000
@RF00618 L     @04,APCWAPAL(,APCWPTR)                           02S0627 02088000
         TM    APALYCSD(@04),B'00000001'                        02S0627 02089000
         BNO   @RF00627                                         02S0627 02090000
*         APCIANB1=APALYCNT;        /* YES - DEFAULT COUNT TO CIT    */ 02091000
         LA    @03,CITENTRY                                     02S0628 02092000
         LH    @04,APALYCNT(,@04)                               02S0628 02093000
         STH   @04,APCIANB1(,@03)                               02S0628 02094000
*       ELSE                                                    02S0629 02095000
*         APCIANB1=1;               /* NO - DEFAULT IS LENGTH OF 1   */ 02096000
         B     @RC00627                                         02S0629 02097000
@RF00627 LA    @04,CITENTRY                                     02S0629 02098000
         MVC   APCIANB1(2,@04),@CH00045                         02S0629 02099000
*     IF YNEGATIV=ON THEN           /* IS FORCE NEGATIVE REQUESTED?  */ 02100000
@RC00627 DS    0H                                               02S0630 02101000
@RC00618 TM    YNEGATIV(DESCRPTR),B'00010000'                   02S0630 02102000
         BNO   @RF00630                                         02S0630 02103000
*       IF(APALYFSR=ON)|(APALYFSO=ON) THEN/* YES - IS IT ALLOWED FOR    02104000
*                                      THIS OPERATION?               */ 02105000
         L     @04,APCWAPAL(,APCWPTR)                           02S0631 02106000
         TM    APALYFSR(@04),B'00011000'                        02S0631 02107000
         BZ    @RF00631                                         02S0631 02108000
*         APCIAFN1=ON;              /* YES - SET FORCE NEGATIVE BIT  */ 02109000
         LA    @04,CITENTRY                                     02S0632 02110000
         OI    APCIAFN1(@04),B'00100000'                        02S0632 02111000
*       ELSE                        /* ERROR - SIGN CONTROL NOT 02S0633 02112000
*                                      ALLOWED                       */ 02113000
*         ERRORBIT=ON;              /* FLAG IT                       */ 02114000
         B     @RC00631                                         02S0633 02115000
@RF00631 OI    ERRORBIT,B'10000000'                             02S0633 02116000
*     ELSE                                                      02S0634 02117000
*       ;                                                       02S0634 02118000
@RF00630 DS    0H                                               02S0635 02119000
*     IF YREVERSE=ON THEN           /* IS REVERSE SIGN REQUESTED?    */ 02120000
@RC00630 TM    YREVERSE(DESCRPTR),B'00001000'                   02S0635 02121000
         BNO   @RF00635                                         02S0635 02122000
*       IF(APALYFSR=ON)|(APALYFSO=ON) THEN/* YES - IS IT ALLOWED?    */ 02123000
         L     @04,APCWAPAL(,APCWPTR)                           02S0636 02124000
         TM    APALYFSR(@04),B'00011000'                        02S0636 02125000
         BZ    @RF00636                                         02S0636 02126000
*         APCIARS1=ON;              /* YES - SET REVERSE SIGN BIT    */ 02127000
         LA    @04,CITENTRY                                     02S0637 02128000
         OI    APCIARS1(@04),B'10000000'                        02S0637 02129000
*       ELSE                        /* ERROR - SIGN CONTROL NOT 02S0638 02130000
*                                      ALLOWED                       */ 02131000
*         ERRORBIT=ON;              /* FLAG IT                       */ 02132000
         B     @RC00636                                         02S0638 02133000
@RF00636 OI    ERRORBIT,B'10000000'                             02S0638 02134000
*     ELSE                                                      02S0639 02135000
*       ;                                                       02S0639 02136000
@RF00635 DS    0H                                               02S0640 02137000
*     IF YABSVALU=ON THEN           /* IS ABSOLUTE VALUE REQUESTED?  */ 02138000
@RC00635 TM    YABSVALU(DESCRPTR),B'00000100'                   02S0640 02139000
         BNO   @RF00640                                         02S0640 02140000
*       IF(APALYFSR=ON)|(APALYFSO=ON) THEN/* YES - IS IT ALLOWED FOR    02141000
*                                      THIS OPERATION?               */ 02142000
         L     @04,APCWAPAL(,APCWPTR)                           02S0641 02143000
         TM    APALYFSR(@04),B'00011000'                        02S0641 02144000
         BZ    @RF00641                                         02S0641 02145000
*         APCIAFP1=ON;              /* YES - ABSOLUTE VALUE BIT      */ 02146000
         LA    @04,CITENTRY                                     02S0642 02147000
         OI    APCIAFP1(@04),B'01000000'                        02S0642 02148000
*       ELSE                        /* ERROR - SIGN CONTROL NOT 02S0643 02149000
*                                      ALLOWED                       */ 02150000
*         ERRORBIT=ON;              /* FLAG IT                       */ 02151000
         B     @RC00641                                         02S0643 02152000
@RF00641 OI    ERRORBIT,B'10000000'                             02S0643 02153000
*     ELSE                                                      02S0644 02154000
*       ;                                                       02S0644 02155000
@RF00640 DS    0H                                               02S0645 02156000
*     IF YFXPTTRU=ON THEN           /* IS FIXED-POINT SIGNED TRUE       02157000
*                                      REQUESTED?                    */ 02158000
@RC00640 TM    YFXPTTRU(DESCRPTR),B'00000010'                   02S0645 02159000
         BNO   @RF00645                                         02S0645 02160000
*       IF APALYFFT=ON THEN         /* YES - IS IT ALLOWED?          */ 02161000
         L     @04,APCWAPAL(,APCWPTR)                           02S0646 02162000
         TM    APALYFFT(@04),B'00100000'                        02S0646 02163000
         BNO   @RF00646                                         02S0646 02164000
*         APCIAST1=ON;              /* YES - SET APPROPRIATE BIT     */ 02165000
         LA    @04,CITENTRY                                     02S0647 02166000
         OI    APCIAST1(@04),B'00000100'                        02S0647 02167000
*       ELSE                        /* ERROR - FIXED POINT NOT  02S0648 02168000
*                                      ALLOWED                       */ 02169000
*         ERRORBIT=ON;              /* FLAG THE ERROR                */ 02170000
         B     @RC00646                                         02S0648 02171000
@RF00646 OI    ERRORBIT,B'10000000'                             02S0648 02172000
*     ELSE                                                      02S0649 02173000
*       ;                                                       02S0649 02174000
@RF00645 DS    0H                                               02S0650 02175000
*     IF YFXPTTWO=ON THEN           /* IS FIXED-POINT TWO'S     02S0650 02176000
*                                      COMPLEMENT REQUESTED?         */ 02177000
@RC00645 TM    YFXPTTWO(DESCRPTR),B'00000001'                   02S0650 02178000
         BNO   @RF00650                                         02S0650 02179000
*       IF APALYFFX=ON THEN         /* YES - IS IT PERMITTED?        */ 02180000
         L     @04,APCWAPAL(,APCWPTR)                           02S0651 02181000
         TM    APALYFFX(@04),B'01000000'                        02S0651 02182000
         BNO   @RF00651                                         02S0651 02183000
*         APCIATC1=ON;              /* YES - SET APPROPRIATE FORMAT     02184000
*                                      FLAG                          */ 02185000
         LA    @04,CITENTRY                                     02S0652 02186000
         OI    APCIATC1(@04),B'00001000'                        02S0652 02187000
*       ELSE                        /* ERROR - FIXED POINT NOT  02S0653 02188000
*                                      ALLOWED                       */ 02189000
*         ERRORBIT=ON;              /* FLAG THE ERROR                */ 02190000
         B     @RC00651                                         02S0653 02191000
@RF00651 OI    ERRORBIT,B'10000000'                             02S0653 02192000
*     ELSE                                                      02S0654 02193000
*       ;                                                       02S0654 02194000
@RF00650 DS    0H                                               02S0655 02195000
*     IF(APALYFFT=ON)|(APALYFFX=ON) THEN/* IS FIXED - PT REQD?       */ 02196000
@RC00650 L     @04,APCWAPAL(,APCWPTR)                           02S0655 02197000
         TM    APALYFFT(@04),B'01100000'                        02S0655 02198000
         BZ    @RF00655                                         02S0655 02199000
*       IF(YFXPTTRU=OFF)&(YFXPTTWO=OFF) THEN/* YES - IS IT SET?      */ 02200000
         TM    YFXPTTRU(DESCRPTR),B'00000011'                   02S0656 02201000
         BNZ   @RF00656                                         02S0656 02202000
*         ERRORBIT=ON;              /* NO - ERROR                    */ 02203000
         OI    ERRORBIT,B'10000000'                             02S0657 02204000
*       ELSE                                                    02S0658 02205000
*         ;                         /* FX-PT REQD AND SET            */ 02206000
@RF00656 DS    0H                                               02S0659 02207000
*     ELSE                                                      02S0659 02208000
*       ;                           /* FX-PT NOT REQD                */ 02209000
@RF00655 DS    0H                                               02S0660 02210000
*     IF YSTARTDX=ON THEN           /* IS USE OF A START INDEX  02S0660 02211000
*                                      SPECIFIED?                    */ 02212000
         TM    YSTARTDX(DESCRPTR),B'00100000'                   02S0660 02213000
         BNO   @RF00660                                         02S0660 02214000
*       IF APALYFXS=ON THEN         /* YES - IS IT ALLOWED?          */ 02215000
         L     @04,APCWAPAL(,APCWPTR)                           02S0661 02216000
         TM    APALYFXS(@04),B'00000100'                        02S0661 02217000
         BNO   @RF00661                                         02S0661 02218000
*         IF(YARRVX>=0)&(YARRVX<=15) THEN/* IS IT VALID?             */ 02219000
         L     @04,YARRVX(,DESCRPTR)                            02S0662 02220000
         LTR   @04,@04                                          02S0662 02221000
         BM    @RF00662                                         02S0662 02222000
         C     @04,@CF00176                                     02S0662 02223000
         BH    @RF00662                                         02S0662 02224000
*           APCIAXB1=YARRVX;        /* YES - MOVE IT TO CIT          */ 02225000
         LA    @03,CITENTRY                                     02S0663 02226000
         STH   @04,APCIAXB1(,@03)                               02S0663 02227000
*         ELSE                      /* INVALID - SET ERROR INDS      */ 02228000
*           DO;                                                 02S0664 02229000
         B     @RC00662                                         02S0664 02230000
@RF00662 DS    0H                                               02S0665 02231000
*             APCWRCN=APCCA003;     /* SET ERROR NUMBER              */ 02232000
         MVI   APCWRCN(APCWPTR),X'03'                           02S0665 02233000
*             APEMMSGN=APCMA003;    /* SET MSG NUMBER                */ 02234000
         LA    @09,112                                          02S0666 02235000
         ALR   @09,APCWPTR                                      02S0666 02236000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0666 02237000
*             APEMVALN=APCMK020;    /* SET KYWD NBR FOR YARRVX       */ 02238000
         MVC   APEMVALN(4,@09),@CF00185                         02S0667 02239000
*             GOTO OUTERR;          /* GO SET COMMON INDICATORS      */ 02240000
         B     OUTERR                                           02S0668 02241000
*           END;                                                02S0669 02242000
*       ELSE                        /* ERROR - START INDEX NOT  02S0670 02243000
*                                      ALLOWED                       */ 02244000
*         ERRORBIT=ON;              /* FLAG IT                       */ 02245000
         B     @RC00661                                         02S0670 02246000
@RF00661 OI    ERRORBIT,B'10000000'                             02S0670 02247000
*     ELSE                                                      02S0671 02248000
*       ;                                                       02S0671 02249000
@RF00660 DS    0H                                               02S0672 02250000
*     IF YCOUNTDX=ON THEN           /* IS USE OF A COUNT INDEX  02S0672 02251000
*                                      SPECIFIED?                    */ 02252000
@RC00660 TM    YCOUNTDX(DESCRPTR),B'01000000'                   02S0672 02253000
         BNO   @RF00672                                         02S0672 02254000
*       IF APALYFXC=ON THEN         /* YES - IS IT ALLOWED?          */ 02255000
         L     @04,APCWAPAL(,APCWPTR)                           02S0673 02256000
         TM    APALYFXC(@04),B'00000010'                        02S0673 02257000
         BNO   @RF00673                                         02S0673 02258000
*         IF(ICTYX>=0)&(ICTYX<=15) THEN/* YES - VALID?               */ 02259000
         L     @04,ICTYX(,DESCRPTR)                             02S0674 02260000
         LTR   @04,@04                                          02S0674 02261000
         BM    @RF00674                                         02S0674 02262000
         C     @04,@CF00176                                     02S0674 02263000
         BH    @RF00674                                         02S0674 02264000
*           APCIAXN1=ICTYX;         /* YES - MOVE IT TO CIT          */ 02265000
         LA    @03,CITENTRY                                     02S0675 02266000
         STH   @04,APCIAXN1(,@03)                               02S0675 02267000
*         ELSE                      /* NO - ERROR - OUT OF RANGE     */ 02268000
*           DO;                     /* SET ERROR INDICATORS          */ 02269000
         B     @RC00674                                         02S0676 02270000
@RF00674 DS    0H                                               02S0677 02271000
*             APCWRCN=APCCA004;     /* ERROR NUMBER                  */ 02272000
         MVI   APCWRCN(APCWPTR),X'04'                           02S0677 02273000
*             APEMMSGN=APCMA004;    /* MESSAGE NUMBER                */ 02274000
         LA    @09,112                                          02S0678 02275000
         ALR   @09,APCWPTR                                      02S0678 02276000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0678 02277000
*             APEMVALN=APCMK021;    /* KYWD NUMBER - ICTYX           */ 02278000
         MVC   APEMVALN(4,@09),@CF00187                         02S0679 02279000
*             GOTO OUTERR;          /* SET COMMON ERR INDS           */ 02280000
         B     OUTERR                                           02S0680 02281000
*           END;                                                02S0681 02282000
*       ELSE                        /* NO - ERROR                    */ 02283000
*         ERRORBIT=ON;              /* FLAG IT                       */ 02284000
         B     @RC00673                                         02S0682 02285000
@RF00673 OI    ERRORBIT,B'10000000'                             02S0682 02286000
*     ELSE                                                      02S0683 02287000
*       ;                                                       02S0683 02288000
@RF00672 DS    0H                                               02S0684 02289000
*     IF YDELTADX=ON THEN           /* IS USE OF A SPACING INDEX        02290000
*                                      SPECIFIED?                    */ 02291000
@RC00672 TM    YDELTADX(DESCRPTR),B'10000000'                   02S0684 02292000
         BNO   @RF00684                                         02S0684 02293000
*       IF APALYFXD=ON THEN         /* YES - ALLOWED?                */ 02294000
         L     @04,APCWAPAL(,APCWPTR)                           02S0685 02295000
         TM    APALYFXD(@04),B'00000001'                        02S0685 02296000
         BNO   @RF00685                                         02S0685 02297000
*         IF(IDLYX>=0)&(IDLYX<=15) THEN/* YES - VALID?               */ 02298000
         L     @04,IDLYX(,DESCRPTR)                             02S0686 02299000
         LTR   @04,@04                                          02S0686 02300000
         BM    @RF00686                                         02S0686 02301000
         C     @04,@CF00176                                     02S0686 02302000
         BH    @RF00686                                         02S0686 02303000
*           APCIAXD1=IDLYX;         /* YES - MOVE IT TO CIT          */ 02304000
         LA    @03,CITENTRY                                     02S0687 02305000
         STH   @04,APCIAXD1(,@03)                               02S0687 02306000
*         ELSE                      /* NO - ERROR - OUT OF RANGE     */ 02307000
*           DO;                     /* SET ERROR INDICATORS          */ 02308000
         B     @RC00686                                         02S0688 02309000
@RF00686 DS    0H                                               02S0689 02310000
*             APCWRCN=APCCA005;     /* ERROR NUMBER                  */ 02311000
         MVI   APCWRCN(APCWPTR),X'05'                           02S0689 02312000
*             APEMMSGN=APCMA005;    /* MSG NUMBER                    */ 02313000
         LA    @09,112                                          02S0690 02314000
         ALR   @09,APCWPTR                                      02S0690 02315000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0690 02316000
*             APEMVALN=APCMK022;    /* KYWD NUMBER - IDLYX           */ 02317000
         MVC   APEMVALN(4,@09),@CF00055                         02S0691 02318000
*             GOTO OUTERR;          /* GO SET COMMON ERRINDS         */ 02319000
         B     OUTERR                                           02S0692 02320000
*           END;                                                02S0693 02321000
*       ELSE                        /* NO - ERROR                    */ 02322000
*         ERRORBIT=ON;              /* FLAG IT                       */ 02323000
         B     @RC00685                                         02S0694 02324000
@RF00685 OI    ERRORBIT,B'10000000'                             02S0694 02325000
*     ELSE                                                      02S0695 02326000
*       ;                                                       02S0695 02327000
@RF00684 DS    0H                                               02S0696 02328000
*     IF ERRORBIT=ON THEN           /* ERROR IN IFMY?                */ 02329000
@RC00684 TM    ERRORBIT,B'10000000'                             02S0696 02330000
         BNO   @RF00696                                         02S0696 02331000
*       DO;                         /* YES - ERROR - INVALID VALUE   */ 02332000
*         APCWRCN=APCCA012;         /* ERROR NUMBER                  */ 02333000
         MVI   APCWRCN(APCWPTR),X'0C'                           02S0698 02334000
*         APEMMSGN=APCMA012;        /* MSG NUMBER                    */ 02335000
         LA    @09,112                                          02S0699 02336000
         ALR   @09,APCWPTR                                      02S0699 02337000
         MVC   APEMMSGN(4,@09),@CF00170                         02S0699 02338000
*         APEMVALN=APCMK016;        /* KYWD NUMBER - IFMY            */ 02339000
         MVC   APEMVALN(4,@09),@CF00178                         02S0700 02340000
*         GOTO OUTERR;              /* GO SET COMMON ERR INDS        */ 02341000
         B     OUTERR                                           02S0701 02342000
*       END;                                                    02S0702 02343000
*     ELSE                                                      02S0703 02344000
*       ;                                                       02S0703 02345000
@RF00696 DS    0H                                               02S0704 02346000
*     IF NUMVECS>=2 THEN            /* TEST IF THIS ALGORITHM   02S0704 02347000
*                                      REQUIRES AN X VECTOR          */ 02348000
*                                                               02S0704 02349000
         C     NUMVECS,@CF00130                                 02S0704 02350000
         BL    @RF00704                                         02S0704 02351000
*       /*************************************************************/ 02352000
*       /*                                                           */ 02353000
*       /* MOVE X VECTOR ELEMENTS TO CIT                             */ 02354000
*       /*                                                           */ 02355000
*       /*************************************************************/ 02356000
*                                                               02S0705 02357000
*       DO;                                                     02S0705 02358000
*         APCIABS2=XARRV;           /* MOVE XARRV TO CIT WORKAREA    */ 02359000
         LA    @04,CITENTRY                                     02S0706 02360000
         L     @03,XARRV(,DESCRPTR)                             02S0706 02361000
         ST    @03,APCIABS2(,@04)                               02S0706 02362000
*         IF(APALXDOP=ON)|(APALXDRQ=ON) THEN/* TEST IF USER CAN 02S0707 02363000
*                                      SUPPLY IDLX                   */ 02364000
         L     @04,APCWAPAL(,APCWPTR)                           02S0707 02365000
         TM    APALXDOP(@04),B'11000000'                        02S0707 02366000
         BZ    @RF00707                                         02S0707 02367000
*           IF(IDLX<-32768)|        /* IDLX MUST BE IN RANGE @ZA25370*/ 02368000
*               (IDLX>65536) THEN   /* -32768 <-> +65536.    @ZA25370*/ 02369000
         L     @04,IDLX(,DESCRPTR)                              02S0708 02370000
         C     @04,@CF01788                                     02S0708 02371000
         BL    @RT00708                                         02S0708 02372000
         C     @04,@CF01789                                     02S0708 02373000
         BNH   @RF00708                                         02S0708 02374000
@RT00708 DS    0H                                               02S0709 02375000
*             DO;                   /* IDLX IN ERROR - SET ERROR        02376000
*                                      INDICATORS FOR IDLX OUT OF       02377000
*                                      RANGE                         */ 02378000
*               APCWRCN=APCCA028;   /* SET RETURN CODE NO. FOR IDLX     02379000
*                                      OUT OF RANGE                  */ 02380000
         MVI   APCWRCN(APCWPTR),X'1C'                           02S0710 02381000
*               APEMMSGN=APCMA028;  /* SET MSG. NO. FOR OUT OF RANGE */ 02382000
         LA    @09,112                                          02S0711 02383000
         ALR   @09,APCWPTR                                      02S0711 02384000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0711 02385000
*               APEMVALN=APCMK026;  /* SET KYWD. NO. FOR IDLX        */ 02386000
         MVC   APEMVALN(4,@09),@CF00194                         02S0712 02387000
*               GOTO OUTERR;        /* OUTERR SETS COMMON ERROR FLAGS   02388000
*                                      AND VALUES AND RETURNS        */ 02389000
         B     OUTERR                                           02S0713 02390000
*             END;                  /* END OF IDLX ERROR PROCESSING  */ 02391000
*           ELSE                    /* IDLX IS OK                    */ 02392000
*             APCIADL2=IDLX;        /* MOVE IDLX TO WORKING CIT ENTRY*/ 02393000
@RF00708 LA    @04,CITENTRY                                     02S0715 02394000
         L     @03,IDLX(,DESCRPTR)                              02S0715 02395000
         STH   @03,APCIADL2(,@04)                               02S0715 02396000
*         ELSE                                                  02S0716 02397000
*           APCIADL2=1;             /* NO - SUPPLY DEFAULT           */ 02398000
         B     @RC00707                                         02S0716 02399000
@RF00707 LA    @04,CITENTRY                                     02S0716 02400000
         MVC   APCIADL2(2,@04),@CH00045                         02S0716 02401000
*         IF(APALXCOP=ON)|(APALXCRQ=ON) THEN/* TEST IF USER CAN 02S0717 02402000
*                                      SUPPLY ICTX                   */ 02403000
@RC00707 L     @04,APCWAPAL(,APCWPTR)                           02S0717 02404000
         TM    APALXCOP(@04),B'11000000'                        02S0717 02405000
         BZ    @RF00717                                         02S0717 02406000
*           IF(ICTX<-32768)|        /* ICTX MUST BE IN RANGE @ZA25370*/ 02407000
*               (ICTX>65536) THEN   /* -32768 <-> +65536.    @ZA25370*/ 02408000
         L     @04,ICTX(,DESCRPTR)                              02S0718 02409000
         C     @04,@CF01788                                     02S0718 02410000
         BL    @RT00718                                         02S0718 02411000
         C     @04,@CF01789                                     02S0718 02412000
         BNH   @RF00718                                         02S0718 02413000
@RT00718 DS    0H                                               02S0719 02414000
*             DO;                   /* ICTX IN ERROR - SET ERROR        02415000
*                                      INDICATORS FOR ICTX OUT OF       02416000
*                                      RANGE                         */ 02417000
*               APCWRCN=APCCA025;   /* SET RETURN CODE NO. FOR ICTX     02418000
*                                      OUT OF RANGE                  */ 02419000
         MVI   APCWRCN(APCWPTR),X'19'                           02S0720 02420000
*               APEMMSGN=APCMA025;  /* SET MSG. NO. FOR OUT OF RANGE */ 02421000
         LA    @09,112                                          02S0721 02422000
         ALR   @09,APCWPTR                                      02S0721 02423000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0721 02424000
*               APEMVALN=APCMK025;  /* SET KYWD. NO. FOR ICTX        */ 02425000
         MVC   APEMVALN(4,@09),@CF00043                         02S0722 02426000
*               GOTO OUTERR;        /* OUTERR SETS COMMON ERROR FLAGS   02427000
*                                      AND VALUES AND RETURNS        */ 02428000
         B     OUTERR                                           02S0723 02429000
*             END;                  /* END OF ICTX ERROR PROCESSING  */ 02430000
*           ELSE                    /* ICTX IS OK                    */ 02431000
*             APCIANB2=ICTX;        /* MOVE ICTX TO WORKING CIT ENTRY*/ 02432000
@RF00718 LA    @04,CITENTRY                                     02S0725 02433000
         L     @03,ICTX(,DESCRPTR)                              02S0725 02434000
         STH   @03,APCIANB2(,@04)                               02S0725 02435000
*         ELSE                                                  02S0726 02436000
*           IF APALXCSD=ON THEN     /* NO - IS DEFAULT IN APAL?      */ 02437000
         B     @RC00717                                         02S0726 02438000
@RF00717 L     @04,APCWAPAL(,APCWPTR)                           02S0726 02439000
         TM    APALXCSD(@04),B'00000001'                        02S0726 02440000
         BNO   @RF00726                                         02S0726 02441000
*             APCIANB2=APALXCNT;    /* YES - MOVE IT TO CIT          */ 02442000
         LA    @03,CITENTRY                                     02S0727 02443000
         LH    @04,APALXCNT(,@04)                               02S0727 02444000
         STH   @04,APCIANB2(,@03)                               02S0727 02445000
*           ELSE                                                02S0728 02446000
*             DO;                   /* SET X COUNT TO VALUE OF Y        02447000
*                                      COUNT                         */ 02448000
         B     @RC00726                                         02S0728 02449000
@RF00726 DS    0H                                               02S0729 02450000
*               APCIANB2=APCIANB1;  /* ICTX = ICTY                   */ 02451000
         LA    @04,CITENTRY                                     02S0729 02452000
         LH    @03,APCIANB1(,@04)                               02S0729 02453000
         STH   @03,APCIANB2(,@04)                               02S0729 02454000
*               APCIAXN2=APCIAXN1;  /* MUST ALSO USE SAME INDEX      */ 02455000
         LH    @03,APCIAXN1(,@04)                               02S0730 02456000
         STH   @03,APCIAXN2(,@04)                               02S0730 02457000
*             END;                  /* END OF ICTX=ICTY SEGMENT      */ 02458000
*         IF XNEGATIV=ON THEN       /* IS FORCE NEGATIVE REQUESTED?  */ 02459000
@RC00726 DS    0H                                               02S0732 02460000
@RC00717 TM    XNEGATIV(DESCRPTR),B'00010000'                   02S0732 02461000
         BNO   @RF00732                                         02S0732 02462000
*           IF(APALXFSR=ON)|(APALXFSO=ON) THEN/* YES - IS IT ALLOWED?*/ 02463000
         L     @04,APCWAPAL(,APCWPTR)                           02S0733 02464000
         TM    APALXFSR(@04),B'00011000'                        02S0733 02465000
         BZ    @RF00733                                         02S0733 02466000
*             APCIAFN2=ON;          /* YES - SET NEGATIVE BIT IN CIT */ 02467000
         LA    @04,CITENTRY                                     02S0734 02468000
         OI    APCIAFN2(@04),B'00100000'                        02S0734 02469000
*           ELSE                    /* NO - ERROR                    */ 02470000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02471000
         B     @RC00733                                         02S0735 02472000
@RF00733 OI    ERRORBIT,B'10000000'                             02S0735 02473000
*         ELSE                                                  02S0736 02474000
*           ;                                                   02S0736 02475000
@RF00732 DS    0H                                               02S0737 02476000
*         IF XREVERSE=ON THEN       /* IS REVERSE SIGN REQUESTED?    */ 02477000
@RC00732 TM    XREVERSE(DESCRPTR),B'00001000'                   02S0737 02478000
         BNO   @RF00737                                         02S0737 02479000
*           IF(APALXFSR=ON)|(APALXFSO=ON) THEN/* YES - IS IT ALLOWED?*/ 02480000
         L     @04,APCWAPAL(,APCWPTR)                           02S0738 02481000
         TM    APALXFSR(@04),B'00011000'                        02S0738 02482000
         BZ    @RF00738                                         02S0738 02483000
*             APCIARS2=ON;          /* YES - SET REVERSE BIT IN CIT  */ 02484000
         LA    @04,CITENTRY                                     02S0739 02485000
         OI    APCIARS2(@04),B'10000000'                        02S0739 02486000
*           ELSE                    /* NO - ERROR                    */ 02487000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02488000
         B     @RC00738                                         02S0740 02489000
@RF00738 OI    ERRORBIT,B'10000000'                             02S0740 02490000
*         ELSE                                                  02S0741 02491000
*           ;                                                   02S0741 02492000
@RF00737 DS    0H                                               02S0742 02493000
*         IF XABSVALU=ON THEN       /* IS ABSOLUTE VALUE REQUESTED?  */ 02494000
@RC00737 TM    XABSVALU(DESCRPTR),B'00000100'                   02S0742 02495000
         BNO   @RF00742                                         02S0742 02496000
*           IF(APALXFSR=ON)|(APALXFSO=ON) THEN/* YES - IS IT ALLOWED?*/ 02497000
         L     @04,APCWAPAL(,APCWPTR)                           02S0743 02498000
         TM    APALXFSR(@04),B'00011000'                        02S0743 02499000
         BZ    @RF00743                                         02S0743 02500000
*             APCIAFP2=ON;          /* YES - SET ABSOLUTE VALUE BIT  */ 02501000
         LA    @04,CITENTRY                                     02S0744 02502000
         OI    APCIAFP2(@04),B'01000000'                        02S0744 02503000
*           ELSE                    /* NO - ERROR                    */ 02504000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02505000
         B     @RC00743                                         02S0745 02506000
@RF00743 OI    ERRORBIT,B'10000000'                             02S0745 02507000
*         ELSE                                                  02S0746 02508000
*           ;                                                   02S0746 02509000
@RF00742 DS    0H                                               02S0747 02510000
*         IF XFXPTTRU=ON THEN       /* IS FIXED POINT SIGNED TRUE       02511000
*                                      REQUESTED?                    */ 02512000
@RC00742 TM    XFXPTTRU(DESCRPTR),B'00000010'                   02S0747 02513000
         BNO   @RF00747                                         02S0747 02514000
*           IF APALXFFT=ON THEN     /* YES - IS IT ALLOWED?          */ 02515000
         L     @04,APCWAPAL(,APCWPTR)                           02S0748 02516000
         TM    APALXFFT(@04),B'00100000'                        02S0748 02517000
         BNO   @RF00748                                         02S0748 02518000
*             APCIAST2=ON;          /* YES - SET BIT IN CIT          */ 02519000
         LA    @04,CITENTRY                                     02S0749 02520000
         OI    APCIAST2(@04),B'00000100'                        02S0749 02521000
*           ELSE                    /* NO - ERROR                    */ 02522000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02523000
         B     @RC00748                                         02S0750 02524000
@RF00748 OI    ERRORBIT,B'10000000'                             02S0750 02525000
*         ELSE                                                  02S0751 02526000
*           ;                                                   02S0751 02527000
@RF00747 DS    0H                                               02S0752 02528000
*         IF XFXPTTWO=ON THEN       /* IS FIXED POINT TWO'S     02S0752 02529000
*                                      COMPLEMENT REQUESTED?         */ 02530000
@RC00747 TM    XFXPTTWO(DESCRPTR),B'00000001'                   02S0752 02531000
         BNO   @RF00752                                         02S0752 02532000
*           IF APALXFFX=ON THEN     /* YES - IS IT ALLOWED?          */ 02533000
         L     @04,APCWAPAL(,APCWPTR)                           02S0753 02534000
         TM    APALXFFX(@04),B'01000000'                        02S0753 02535000
         BNO   @RF00753                                         02S0753 02536000
*             APCIATC2=ON;          /* YES - SET BIT IN CIT          */ 02537000
         LA    @04,CITENTRY                                     02S0754 02538000
         OI    APCIATC2(@04),B'00001000'                        02S0754 02539000
*           ELSE                    /* NO - ERROR                    */ 02540000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02541000
         B     @RC00753                                         02S0755 02542000
@RF00753 OI    ERRORBIT,B'10000000'                             02S0755 02543000
*         ELSE                                                  02S0756 02544000
*           ;                                                   02S0756 02545000
@RF00752 DS    0H                                               02S0757 02546000
*         IF(APALXFFT=ON)|(APALXFFX=ON) THEN/* IS FIXED - PT REQD?   */ 02547000
@RC00752 L     @04,APCWAPAL(,APCWPTR)                           02S0757 02548000
         TM    APALXFFT(@04),B'01100000'                        02S0757 02549000
         BZ    @RF00757                                         02S0757 02550000
*           IF(XFXPTTRU=OFF)&(XFXPTTWO=OFF) THEN/* YES - IS IT SET?  */ 02551000
         TM    XFXPTTRU(DESCRPTR),B'00000011'                   02S0758 02552000
         BNZ   @RF00758                                         02S0758 02553000
*             ERRORBIT=ON;          /* NO - ERROR                    */ 02554000
         OI    ERRORBIT,B'10000000'                             02S0759 02555000
*           ELSE                                                02S0760 02556000
*             ;                     /* FX-PT REQD AND SET            */ 02557000
@RF00758 DS    0H                                               02S0761 02558000
*         ELSE                                                  02S0761 02559000
*           ;                       /* FX-PT NOT REQD                */ 02560000
@RF00757 DS    0H                                               02S0762 02561000
*         IF XSTARTDX=ON THEN       /* IS USE OF A START INDEX  02S0762 02562000
*                                      SPECIFIED?                    */ 02563000
         TM    XSTARTDX(DESCRPTR),B'00100000'                   02S0762 02564000
         BNO   @RF00762                                         02S0762 02565000
*           IF APALXFXS=ON THEN     /* YES - IS IT ALLOWED?          */ 02566000
         L     @04,APCWAPAL(,APCWPTR)                           02S0763 02567000
         TM    APALXFXS(@04),B'00000100'                        02S0763 02568000
         BNO   @RF00763                                         02S0763 02569000
*             IF(XARRVX>=0)&(XARRVX<=15) THEN/* YES - VALID?         */ 02570000
         L     @04,XARRVX(,DESCRPTR)                            02S0764 02571000
         LTR   @04,@04                                          02S0764 02572000
         BM    @RF00764                                         02S0764 02573000
         C     @04,@CF00176                                     02S0764 02574000
         BH    @RF00764                                         02S0764 02575000
*               APCIAXB2=XARRVX;    /* YES - MOVE IT TO CIT          */ 02576000
         LA    @03,CITENTRY                                     02S0765 02577000
         STH   @04,APCIAXB2(,@03)                               02S0765 02578000
*             ELSE                  /* ERROR - OUT OF RANGE          */ 02579000
*               DO;                 /* SET ERRINDS                   */ 02580000
         B     @RC00764                                         02S0766 02581000
@RF00764 DS    0H                                               02S0767 02582000
*                 APCWRCN=APCCA006; /* ERR NUMBER                    */ 02583000
         MVI   APCWRCN(APCWPTR),X'06'                           02S0767 02584000
*                 APEMMSGN=APCMA006;/* MSG NUMBER                    */ 02585000
         LA    @09,112                                          02S0768 02586000
         ALR   @09,APCWPTR                                      02S0768 02587000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0768 02588000
*                 APEMVALN=APCMK027;/* SET KYWD NBR - XARRVX         */ 02589000
         MVC   APEMVALN(4,@09),@CF00196                         02S0769 02590000
*                 GOTO OUTERR;      /* GO SET COMMON ERR INDS        */ 02591000
         B     OUTERR                                           02S0770 02592000
*               END;                                            02S0771 02593000
*           ELSE                    /* NO - ERROR                    */ 02594000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02595000
         B     @RC00763                                         02S0772 02596000
@RF00763 OI    ERRORBIT,B'10000000'                             02S0772 02597000
*         ELSE                                                  02S0773 02598000
*           ;                                                   02S0773 02599000
@RF00762 DS    0H                                               02S0774 02600000
*         IF XCOUNTDX=ON THEN       /* IS USE OF A COUNT INDEX  02S0774 02601000
*                                      SPECIFIED?                    */ 02602000
@RC00762 TM    XCOUNTDX(DESCRPTR),B'01000000'                   02S0774 02603000
         BNO   @RF00774                                         02S0774 02604000
*           IF APALXFXC=ON THEN     /* YES - IS IT ALLOWED?          */ 02605000
         L     @04,APCWAPAL(,APCWPTR)                           02S0775 02606000
         TM    APALXFXC(@04),B'00000010'                        02S0775 02607000
         BNO   @RF00775                                         02S0775 02608000
*             IF(ICTXX>=0)&(ICTXX<=15) THEN/* YES - VALID?           */ 02609000
         L     @04,ICTXX(,DESCRPTR)                             02S0776 02610000
         LTR   @04,@04                                          02S0776 02611000
         BM    @RF00776                                         02S0776 02612000
         C     @04,@CF00176                                     02S0776 02613000
         BH    @RF00776                                         02S0776 02614000
*               APCIAXN2=ICTXX;     /* YES - MOVE IT TO CIT          */ 02615000
         LA    @03,CITENTRY                                     02S0777 02616000
         STH   @04,APCIAXN2(,@03)                               02S0777 02617000
*             ELSE                  /* NO - ERROR - OUT OF RANGE     */ 02618000
*               DO;                 /* SET ERR INDS                  */ 02619000
         B     @RC00776                                         02S0778 02620000
@RF00776 DS    0H                                               02S0779 02621000
*                 APCWRCN=APCCA007; /* ERROR NUMBER                  */ 02622000
         MVI   APCWRCN(APCWPTR),X'07'                           02S0779 02623000
*                 APEMMSGN=APCMA007;/* MSG NUMBER                    */ 02624000
         LA    @09,112                                          02S0780 02625000
         ALR   @09,APCWPTR                                      02S0780 02626000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0780 02627000
*                 APEMVALN=APCMK028;/* KYWD NUMBER - ICTXX           */ 02628000
         MVC   APEMVALN(4,@09),@CF00198                         02S0781 02629000
*                 GOTO OUTERR;      /* GO SET COMMON ERR INDS        */ 02630000
         B     OUTERR                                           02S0782 02631000
*               END;                                            02S0783 02632000
*           ELSE                    /* NO - ERROR                    */ 02633000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02634000
         B     @RC00775                                         02S0784 02635000
@RF00775 OI    ERRORBIT,B'10000000'                             02S0784 02636000
*         ELSE                                                  02S0785 02637000
*           ;                                                   02S0785 02638000
@RF00774 DS    0H                                               02S0786 02639000
*         IF XDELTADX=ON THEN       /* IS USE OF A SPACING INDEX     */ 02640000
*                                                               02S0786 02641000
@RC00774 TM    XDELTADX(DESCRPTR),B'10000000'                   02S0786 02642000
         BNO   @RF00786                                         02S0786 02643000
*           /*********************************************************/ 02644000
*           /*                                                       */ 02645000
*           /* SPECIFIED?                                            */ 02646000
*           /*                                                       */ 02647000
*           /*********************************************************/ 02648000
*                                                               02S0787 02649000
*           IF APALXFXD=ON THEN     /* YES - IS IT ALLOWED?          */ 02650000
         L     @04,APCWAPAL(,APCWPTR)                           02S0787 02651000
         TM    APALXFXD(@04),B'00000001'                        02S0787 02652000
         BNO   @RF00787                                         02S0787 02653000
*             IF(IDLXX>=0)&(IDLXX<=15) THEN/* YES - VALID?           */ 02654000
         L     @04,IDLXX(,DESCRPTR)                             02S0788 02655000
         LTR   @04,@04                                          02S0788 02656000
         BM    @RF00788                                         02S0788 02657000
         C     @04,@CF00176                                     02S0788 02658000
         BH    @RF00788                                         02S0788 02659000
*               APCIAXD2=IDLXX;     /* YES - MOVE IT TO CIT          */ 02660000
         LA    @03,CITENTRY                                     02S0789 02661000
         STH   @04,APCIAXD2(,@03)                               02S0789 02662000
*             ELSE                  /* NO - ERROR - OUT OF RANGE     */ 02663000
*               DO;                                             02S0790 02664000
         B     @RC00788                                         02S0790 02665000
@RF00788 DS    0H                                               02S0791 02666000
*                 APCWRCN=APCCA008; /* ERROR NUMBER                  */ 02667000
         MVI   APCWRCN(APCWPTR),X'08'                           02S0791 02668000
*                 APEMMSGN=APCMA008;/* MSG NUMBER                    */ 02669000
         LA    @09,112                                          02S0792 02670000
         ALR   @09,APCWPTR                                      02S0792 02671000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0792 02672000
*                 APEMVALN=APCMK029;/* KYWD NUMBER - IDLXX           */ 02673000
         MVC   APEMVALN(4,@09),@CF00200                         02S0793 02674000
*                 GOTO OUTERR;      /* GO SET COMMON ERR INDS        */ 02675000
         B     OUTERR                                           02S0794 02676000
*               END;                                            02S0795 02677000
*           ELSE                    /* NO - ERROR                    */ 02678000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02679000
         B     @RC00787                                         02S0796 02680000
@RF00787 OI    ERRORBIT,B'10000000'                             02S0796 02681000
*         ELSE                                                  02S0797 02682000
*           ;                                                   02S0797 02683000
@RF00786 DS    0H                                               02S0798 02684000
*         IF ERRORBIT=ON THEN       /* TEST IF ERROR IN IFMX         */ 02685000
@RC00786 TM    ERRORBIT,B'10000000'                             02S0798 02686000
         BNO   @RF00798                                         02S0798 02687000
*           DO;                     /* YES - ERROR - INVALID VALUE   */ 02688000
*             APCWRCN=APCCA013;     /* ERROR NUMBER                  */ 02689000
         MVI   APCWRCN(APCWPTR),X'0D'                           02S0800 02690000
*             APEMMSGN=APCMA013;    /* MESSAGE NUMBER                */ 02691000
         LA    @09,112                                          02S0801 02692000
         ALR   @09,APCWPTR                                      02S0801 02693000
         MVC   APEMMSGN(4,@09),@CF00170                         02S0801 02694000
*             APEMVALN=APCMK023;    /* KYWD NUMBER - IFMX            */ 02695000
         MVC   APEMVALN(4,@09),@CF00190                         02S0802 02696000
*             GOTO OUTERR;          /* GO SET COMMON ERR INDS        */ 02697000
         B     OUTERR                                           02S0803 02698000
*           END;                                                02S0804 02699000
*         ELSE                                                  02S0805 02700000
*           ;                                                   02S0805 02701000
@RF00798 DS    0H                                               02S0806 02702000
*       END;                                                    02S0806 02703000
*     ELSE                                                      02S0807 02704000
*       ;                                                       02S0807 02705000
@RF00704 DS    0H                                               02S0808 02706000
*     IF NUMVECS>=3 THEN            /* TEST IF U VECTOR REQUIRED     */ 02707000
*                                                               02S0808 02708000
         C     NUMVECS,@CF00156                                 02S0808 02709000
         BL    @RF00808                                         02S0808 02710000
*       /*************************************************************/ 02711000
*       /*                                                           */ 02712000
*       /* MOVE U VECTOR ELEMENTS TO CIT                             */ 02713000
*       /*                                                           */ 02714000
*       /*************************************************************/ 02715000
*                                                               02S0809 02716000
*       DO;                                                     02S0809 02717000
*         APCIABS3=UARRV;           /* MOVE UARRV TO CIT WORKAREA    */ 02718000
         LA    @09,CITENTRY                                     02S0810 02719000
         L     @04,UARRV(,DESCRPTR)                             02S0810 02720000
         ST    @04,APCIABS3(,@09)                               02S0810 02721000
*         IF(APALUDOP=ON)|(APALUDRQ=ON) THEN/* IS USER ALLOWED TO       02722000
*                                      SPECIFY IDLU                  */ 02723000
         L     @09,APCWAPAL(,APCWPTR)                           02S0811 02724000
         TM    APALUDOP(@09),B'11000000'                        02S0811 02725000
         BZ    @RF00811                                         02S0811 02726000
*           IF(IDLU<-32768)|        /* IDLU MUST BE IN RANGE @ZA25370*/ 02727000
*               (IDLU>65536) THEN   /* -32768 <-> +65536.    @ZA25370*/ 02728000
         L     @09,IDLU(,DESCRPTR)                              02S0812 02729000
         C     @09,@CF01788                                     02S0812 02730000
         BL    @RT00812                                         02S0812 02731000
         C     @09,@CF01789                                     02S0812 02732000
         BNH   @RF00812                                         02S0812 02733000
@RT00812 DS    0H                                               02S0813 02734000
*             DO;                   /* IDLU IN ERROR - SET ERROR        02735000
*                                      INDICATORS FOR IDLU OUT OF       02736000
*                                      RANGE                         */ 02737000
*               APCWRCN=APCCA029;   /* SET RETURN CODE NO. FOR IDLU     02738000
*                                      OUT OF RANGE                  */ 02739000
         MVI   APCWRCN(APCWPTR),X'1D'                           02S0814 02740000
*               APEMMSGN=APCMA029;  /* SET MSG. NO. FOR OUT OF RANGE */ 02741000
         LA    @09,112                                          02S0815 02742000
         ALR   @09,APCWPTR                                      02S0815 02743000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0815 02744000
*               APEMVALN=APCMK033;  /* SET KYWD. NO. FOR IDLU        */ 02745000
         MVC   APEMVALN(4,@09),@CF00262                         02S0816 02746000
*               GOTO OUTERR;        /* OUTERR SETS COMMON ERROR FLAGS   02747000
*                                      AND VALUES AND RETURNS        */ 02748000
         B     OUTERR                                           02S0817 02749000
*             END;                  /* END OF IDLU ERROR PROCESSING  */ 02750000
*           ELSE                    /* IDLU IS OK                    */ 02751000
*             APCIADL3=IDLU;        /* MOVE IDLU TO WORKING CIT ENTRY*/ 02752000
@RF00812 LA    @09,CITENTRY                                     02S0819 02753000
         L     @04,IDLU(,DESCRPTR)                              02S0819 02754000
         STH   @04,APCIADL3(,@09)                               02S0819 02755000
*         ELSE                                                  02S0820 02756000
*           APCIADL3=1;             /* NO - SUPPLY DEFAULT           */ 02757000
         B     @RC00811                                         02S0820 02758000
@RF00811 LA    @09,CITENTRY                                     02S0820 02759000
         MVC   APCIADL3(2,@09),@CH00045                         02S0820 02760000
*         IF(APALUCOP=ON)|(APALUCRQ=ON) THEN/* IS USER ALLOWED TO       02761000
*                                      SUPPLY COUNT?                 */ 02762000
@RC00811 L     @09,APCWAPAL(,APCWPTR)                           02S0821 02763000
         TM    APALUCOP(@09),B'11000000'                        02S0821 02764000
         BZ    @RF00821                                         02S0821 02765000
*           IF(ICTU<-32768)|        /* ICTU MUST BE IN RANGE @ZA25370*/ 02766000
*               (ICTU>65536) THEN   /* -32768 <-> +65536.    @ZA25370*/ 02767000
         L     @09,ICTU(,DESCRPTR)                              02S0822 02768000
         C     @09,@CF01788                                     02S0822 02769000
         BL    @RT00822                                         02S0822 02770000
         C     @09,@CF01789                                     02S0822 02771000
         BNH   @RF00822                                         02S0822 02772000
@RT00822 DS    0H                                               02S0823 02773000
*             DO;                   /* ICTU IN ERROR - SET ERROR        02774000
*                                      INDICATORS FOR ICTU OUT OF       02775000
*                                      RANGE                         */ 02776000
*               APCWRCN=APCCA026;   /* SET RETURN CODE NO. FOR ICTU     02777000
*                                      OUT OF RANGE                  */ 02778000
         MVI   APCWRCN(APCWPTR),X'1A'                           02S0824 02779000
*               APEMMSGN=APCMA026;  /* SET MSG. NO. FOR OUT OF RANGE */ 02780000
         LA    @09,112                                          02S0825 02781000
         ALR   @09,APCWPTR                                      02S0825 02782000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0825 02783000
*               APEMVALN=APCMK032;  /* SET KYWD. NO. FOR ICTU        */ 02784000
         MVC   APEMVALN(4,@09),@CF00260                         02S0826 02785000
*               GOTO OUTERR;        /* OUTERR SETS COMMON ERROR FLAGS   02786000
*                                      AND VALUES AND RETURNS        */ 02787000
         B     OUTERR                                           02S0827 02788000
*             END;                  /* END OF ICTU ERROR PROCESSING  */ 02789000
*           ELSE                    /* ICTU IS OK                    */ 02790000
*             APCIANB3=ICTU;        /* MOVE ICTU TO WORKING CIT ENTRY*/ 02791000
@RF00822 LA    @09,CITENTRY                                     02S0829 02792000
         L     @04,ICTU(,DESCRPTR)                              02S0829 02793000
         STH   @04,APCIANB3(,@09)                               02S0829 02794000
*         ELSE                                                  02S0830 02795000
*           IF APALUCSD=ON THEN     /* NO - IS DEFAULT IN APAL?      */ 02796000
         B     @RC00821                                         02S0830 02797000
@RF00821 L     @09,APCWAPAL(,APCWPTR)                           02S0830 02798000
         TM    APALUCSD(@09),B'00000001'                        02S0830 02799000
         BNO   @RF00830                                         02S0830 02800000
*             APCIANB3=APALUCNT;    /* YES - MOVE IT TO CIT          */ 02801000
         LA    @04,CITENTRY                                     02S0831 02802000
         LH    @09,APALUCNT(,@09)                               02S0831 02803000
         STH   @09,APCIANB3(,@04)                               02S0831 02804000
*           ELSE                                                02S0832 02805000
*             DO;                   /* SET U COUNT TO VALUE OF X        02806000
*                                      COUNT                         */ 02807000
         B     @RC00830                                         02S0832 02808000
@RF00830 DS    0H                                               02S0833 02809000
*               APCIANB3=APCIANB2;  /* ICTU = ICTX                   */ 02810000
         LA    @09,CITENTRY                                     02S0833 02811000
         LH    @04,APCIANB2(,@09)                               02S0833 02812000
         STH   @04,APCIANB3(,@09)                               02S0833 02813000
*               APCIAXN3=APCIAXN2;  /* MUST ALSO USE SAME INDEX      */ 02814000
         LH    @04,APCIAXN2(,@09)                               02S0834 02815000
         STH   @04,APCIAXN3(,@09)                               02S0834 02816000
*             END;                  /* END OF ICTU=ICTX SEGMENT      */ 02817000
*         IF UNEGATIV=ON THEN       /* IS FORCE NEGATIVE REQUESTED?  */ 02818000
@RC00830 DS    0H                                               02S0836 02819000
@RC00821 TM    UNEGATIV(DESCRPTR),B'00010000'                   02S0836 02820000
         BNO   @RF00836                                         02S0836 02821000
*           IF(APALUFSR=ON)|(APALUFSO=ON) THEN/* YES - IS IT ALLOWED?*/ 02822000
         L     @09,APCWAPAL(,APCWPTR)                           02S0837 02823000
         TM    APALUFSR(@09),B'00011000'                        02S0837 02824000
         BZ    @RF00837                                         02S0837 02825000
*             APCIAFN3=ON;          /* YES - SET BIT IN CIT          */ 02826000
         LA    @09,CITENTRY                                     02S0838 02827000
         OI    APCIAFN3(@09),B'00100000'                        02S0838 02828000
*           ELSE                    /* NO - ERROR                    */ 02829000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02830000
         B     @RC00837                                         02S0839 02831000
@RF00837 OI    ERRORBIT,B'10000000'                             02S0839 02832000
*         ELSE                                                  02S0840 02833000
*           ;                                                   02S0840 02834000
@RF00836 DS    0H                                               02S0841 02835000
*         IF UREVERSE=ON THEN       /* IS REVERSE SIGN REQUESTED?    */ 02836000
@RC00836 TM    UREVERSE(DESCRPTR),B'00001000'                   02S0841 02837000
         BNO   @RF00841                                         02S0841 02838000
*           IF(APALUFSR=ON)|(APALUFSO=ON) THEN/* YES - IS IT ALLOWED?*/ 02839000
         L     @09,APCWAPAL(,APCWPTR)                           02S0842 02840000
         TM    APALUFSR(@09),B'00011000'                        02S0842 02841000
         BZ    @RF00842                                         02S0842 02842000
*             APCIARS3=ON;          /* YES - SET BIT IN CIT          */ 02843000
         LA    @09,CITENTRY                                     02S0843 02844000
         OI    APCIARS3(@09),B'10000000'                        02S0843 02845000
*           ELSE                    /* NO - ERROR                    */ 02846000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02847000
         B     @RC00842                                         02S0844 02848000
@RF00842 OI    ERRORBIT,B'10000000'                             02S0844 02849000
*         ELSE                                                  02S0845 02850000
*           ;                                                   02S0845 02851000
@RF00841 DS    0H                                               02S0846 02852000
*         IF UABSVALU=ON THEN       /* IS ABSOLUTE VALUE REQUESTED?  */ 02853000
@RC00841 TM    UABSVALU(DESCRPTR),B'00000100'                   02S0846 02854000
         BNO   @RF00846                                         02S0846 02855000
*           IF(APALUFSR=ON)|(APALUFSO=ON) THEN/* YES - IS IT ALLOWED?*/ 02856000
         L     @09,APCWAPAL(,APCWPTR)                           02S0847 02857000
         TM    APALUFSR(@09),B'00011000'                        02S0847 02858000
         BZ    @RF00847                                         02S0847 02859000
*             APCIAFP3=ON;          /* YES - SET BIT IN CIT          */ 02860000
         LA    @09,CITENTRY                                     02S0848 02861000
         OI    APCIAFP3(@09),B'01000000'                        02S0848 02862000
*           ELSE                    /* NO - ERROR                    */ 02863000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02864000
         B     @RC00847                                         02S0849 02865000
@RF00847 OI    ERRORBIT,B'10000000'                             02S0849 02866000
*         ELSE                                                  02S0850 02867000
*           ;                                                   02S0850 02868000
@RF00846 DS    0H                                               02S0851 02869000
*         IF UFXPTTRU=ON THEN       /* IS FIXED POINT SIGNED TRUE       02870000
*                                      REQUESTED?                    */ 02871000
@RC00846 TM    UFXPTTRU(DESCRPTR),B'00000010'                   02S0851 02872000
         BNO   @RF00851                                         02S0851 02873000
*           IF APALUFFT=ON THEN     /* YES - IS IT ALLOWED?          */ 02874000
         L     @09,APCWAPAL(,APCWPTR)                           02S0852 02875000
         TM    APALUFFT(@09),B'00100000'                        02S0852 02876000
         BNO   @RF00852                                         02S0852 02877000
*             APCIAST3=ON;          /* YES - SET BIT IN CIT          */ 02878000
         LA    @09,CITENTRY                                     02S0853 02879000
         OI    APCIAST3(@09),B'00000100'                        02S0853 02880000
*           ELSE                    /* NO - ERROR                    */ 02881000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02882000
         B     @RC00852                                         02S0854 02883000
@RF00852 OI    ERRORBIT,B'10000000'                             02S0854 02884000
*         ELSE                                                  02S0855 02885000
*           ;                                                   02S0855 02886000
@RF00851 DS    0H                                               02S0856 02887000
*         IF UFXPTTWO=ON THEN       /* IS FIXED POINT TWO'S     02S0856 02888000
*                                      COMPLEMENT REQUESTED?         */ 02889000
@RC00851 TM    UFXPTTWO(DESCRPTR),B'00000001'                   02S0856 02890000
         BNO   @RF00856                                         02S0856 02891000
*           IF APALUFFX=ON THEN     /* YES - IS IT ALLOWED?          */ 02892000
         L     @09,APCWAPAL(,APCWPTR)                           02S0857 02893000
         TM    APALUFFX(@09),B'01000000'                        02S0857 02894000
         BNO   @RF00857                                         02S0857 02895000
*             APCIATC3=ON;          /* YES - SET BIT IN CIT          */ 02896000
         LA    @09,CITENTRY                                     02S0858 02897000
         OI    APCIATC3(@09),B'00001000'                        02S0858 02898000
*           ELSE                    /* NO - ERROR                    */ 02899000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02900000
         B     @RC00857                                         02S0859 02901000
@RF00857 OI    ERRORBIT,B'10000000'                             02S0859 02902000
*         ELSE                                                  02S0860 02903000
*           ;                                                   02S0860 02904000
@RF00856 DS    0H                                               02S0861 02905000
*         IF(APALUFFT=ON)|(APALUFFX=ON) THEN/* IS FIXED - PT REQD?   */ 02906000
@RC00856 L     @09,APCWAPAL(,APCWPTR)                           02S0861 02907000
         TM    APALUFFT(@09),B'01100000'                        02S0861 02908000
         BZ    @RF00861                                         02S0861 02909000
*           IF(UFXPTTRU=OFF)&(UFXPTTWO=OFF) THEN/* YES - IS IT SET?  */ 02910000
         TM    UFXPTTRU(DESCRPTR),B'00000011'                   02S0862 02911000
         BNZ   @RF00862                                         02S0862 02912000
*             ERRORBIT=ON;          /* NO - ERROR                    */ 02913000
         OI    ERRORBIT,B'10000000'                             02S0863 02914000
*           ELSE                                                02S0864 02915000
*             ;                     /* FX-PT REQD AND SET            */ 02916000
@RF00862 DS    0H                                               02S0865 02917000
*         ELSE                                                  02S0865 02918000
*           ;                       /* FX-PT NOT REQD                */ 02919000
@RF00861 DS    0H                                               02S0866 02920000
*         IF USTARTDX=ON THEN       /* IS USE OF A START INDEX  02S0866 02921000
*                                      SPECIFIED?                    */ 02922000
         TM    USTARTDX(DESCRPTR),B'00100000'                   02S0866 02923000
         BNO   @RF00866                                         02S0866 02924000
*           IF APALUFXS=ON THEN     /* YES - IS IT ALLOWED?          */ 02925000
         L     @09,APCWAPAL(,APCWPTR)                           02S0867 02926000
         TM    APALUFXS(@09),B'00000100'                        02S0867 02927000
         BNO   @RF00867                                         02S0867 02928000
*             IF(UARRVX>=0)&(UARRVX<=15) THEN/* YES - VALID?         */ 02929000
         L     @09,UARRVX(,DESCRPTR)                            02S0868 02930000
         LTR   @09,@09                                          02S0868 02931000
         BM    @RF00868                                         02S0868 02932000
         C     @09,@CF00176                                     02S0868 02933000
         BH    @RF00868                                         02S0868 02934000
*               APCIAXB3=UARRVX;    /* YES - MOVE IT TO CIT          */ 02935000
         LA    @04,CITENTRY                                     02S0869 02936000
         STH   @09,APCIAXB3(,@04)                               02S0869 02937000
*             ELSE                  /* NO - ERROR - OUT OF RANGE     */ 02938000
*               DO;                 /* SET ERR INDS                  */ 02939000
         B     @RC00868                                         02S0870 02940000
@RF00868 DS    0H                                               02S0871 02941000
*                 APCWRCN=APCCA009; /* ERROR NUMBER                  */ 02942000
         MVI   APCWRCN(APCWPTR),X'09'                           02S0871 02943000
*                 APEMMSGN=APCMA009;/* MESSAGE NUMBER                */ 02944000
         LA    @09,112                                          02S0872 02945000
         ALR   @09,APCWPTR                                      02S0872 02946000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0872 02947000
*                 APEMVALN=APCMK034;/* KYWD NUMBER - UARRVX          */ 02948000
         MVC   APEMVALN(4,@09),@CF00264                         02S0873 02949000
*                 GOTO OUTERR;      /* GO SET COMMON ERR INDS        */ 02950000
         B     OUTERR                                           02S0874 02951000
*               END;                                            02S0875 02952000
*           ELSE                    /* NO - ERROR                    */ 02953000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02954000
         B     @RC00867                                         02S0876 02955000
@RF00867 OI    ERRORBIT,B'10000000'                             02S0876 02956000
*         ELSE                                                  02S0877 02957000
*           ;                                                   02S0877 02958000
@RF00866 DS    0H                                               02S0878 02959000
*         IF UCOUNTDX=ON THEN       /* IS USE OF A COUNT INDEX  02S0878 02960000
*                                      SPECIFIED?                    */ 02961000
@RC00866 TM    UCOUNTDX(DESCRPTR),B'01000000'                   02S0878 02962000
         BNO   @RF00878                                         02S0878 02963000
*           IF APALUFXC=ON THEN     /* YES - IS IT ALLOWED?          */ 02964000
         L     @09,APCWAPAL(,APCWPTR)                           02S0879 02965000
         TM    APALUFXC(@09),B'00000010'                        02S0879 02966000
         BNO   @RF00879                                         02S0879 02967000
*             IF(ICTUX>=0)&(ICTUX<=15) THEN/* YES - VALID?           */ 02968000
         L     @09,ICTUX(,DESCRPTR)                             02S0880 02969000
         LTR   @09,@09                                          02S0880 02970000
         BM    @RF00880                                         02S0880 02971000
         C     @09,@CF00176                                     02S0880 02972000
         BH    @RF00880                                         02S0880 02973000
*               APCIAXN3=ICTUX;     /* YES - MOVE IT TO CIT          */ 02974000
         LA    @04,CITENTRY                                     02S0881 02975000
         STH   @09,APCIAXN3(,@04)                               02S0881 02976000
*             ELSE                  /* NO - ERROR - OUT OF RANGE     */ 02977000
*               DO;                 /* SET ERR INDS                  */ 02978000
         B     @RC00880                                         02S0882 02979000
@RF00880 DS    0H                                               02S0883 02980000
*                 APCWRCN=APCCA010; /* ERROR NUMBER                  */ 02981000
         MVI   APCWRCN(APCWPTR),X'0A'                           02S0883 02982000
*                 APEMMSGN=APCMA010;/* MESSAGE NUMBER                */ 02983000
         LA    @09,112                                          02S0884 02984000
         ALR   @09,APCWPTR                                      02S0884 02985000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0884 02986000
*                 APEMVALN=APCMK035;/* KYWD NUMBER - ICTUX           */ 02987000
         MVC   APEMVALN(4,@09),@CF00266                         02S0885 02988000
*                 GOTO OUTERR;      /* GO SET COMMON ERR INDS        */ 02989000
         B     OUTERR                                           02S0886 02990000
*               END;                                            02S0887 02991000
*           ELSE                    /* NO - ERROR                    */ 02992000
*             ERRORBIT=ON;          /* FLAG IT                       */ 02993000
         B     @RC00879                                         02S0888 02994000
@RF00879 OI    ERRORBIT,B'10000000'                             02S0888 02995000
*         ELSE                                                  02S0889 02996000
*           ;                                                   02S0889 02997000
@RF00878 DS    0H                                               02S0890 02998000
*         IF UDELTADX=ON THEN       /* IS USE OF A SPACING INDEX        02999000
*                                      SPECIFIED?                    */ 03000000
@RC00878 TM    UDELTADX(DESCRPTR),B'10000000'                   02S0890 03001000
         BNO   @RF00890                                         02S0890 03002000
*           IF APALUFXD=ON THEN     /* YES - IS IT ALLOWED?          */ 03003000
         L     @09,APCWAPAL(,APCWPTR)                           02S0891 03004000
         TM    APALUFXD(@09),B'00000001'                        02S0891 03005000
         BNO   @RF00891                                         02S0891 03006000
*             IF(IDLUX>=0)&(IDLUX<=15) THEN/* YES - VALID?           */ 03007000
         L     @09,IDLUX(,DESCRPTR)                             02S0892 03008000
         LTR   @09,@09                                          02S0892 03009000
         BM    @RF00892                                         02S0892 03010000
         C     @09,@CF00176                                     02S0892 03011000
         BH    @RF00892                                         02S0892 03012000
*               APCIAXD3=IDLUX;     /* YES - MOVE IT TO CIT          */ 03013000
         LA    @04,CITENTRY                                     02S0893 03014000
         STH   @09,APCIAXD3(,@04)                               02S0893 03015000
*             ELSE                  /* NO - ERROR - OUT OF RANGE     */ 03016000
*               DO;                 /* SET ERR INDS                  */ 03017000
         B     @RC00892                                         02S0894 03018000
@RF00892 DS    0H                                               02S0895 03019000
*                 APCWRCN=APCCA011; /* ERROR NUMBER                  */ 03020000
         MVI   APCWRCN(APCWPTR),X'0B'                           02S0895 03021000
*                 APEMMSGN=APCMA011;/* MESSAGE NUMBER                */ 03022000
         LA    @09,112                                          02S0896 03023000
         ALR   @09,APCWPTR                                      02S0896 03024000
         MVC   APEMMSGN(4,@09),@CF00156                         02S0896 03025000
*                 APEMVALN=APCMK036;/* KYWD NUMBER - IDLUX           */ 03026000
         MVC   APEMVALN(4,@09),@CF00268                         02S0897 03027000
*                 GOTO OUTERR;      /* GO SET COMMON ERR INDS        */ 03028000
         B     OUTERR                                           02S0898 03029000
*               END;                                            02S0899 03030000
*           ELSE                    /* NO - ERROR                    */ 03031000
*             ERRORBIT=ON;          /* FLAG IT                       */ 03032000
         B     @RC00891                                         02S0900 03033000
@RF00891 OI    ERRORBIT,B'10000000'                             02S0900 03034000
*         ELSE                                                  02S0901 03035000
*           ;                                                   02S0901 03036000
@RF00890 DS    0H                                               02S0902 03037000
*         IF ERRORBIT=ON THEN       /* TEST IF ERROR IN IFMU         */ 03038000
@RC00890 TM    ERRORBIT,B'10000000'                             02S0902 03039000
         BNO   @RF00902                                         02S0902 03040000
*           DO;                     /* YES - ERROR - INVALID VALUE   */ 03041000
*             APCWRCN=APCCA014;     /* ERROR NUMBER                  */ 03042000
         MVI   APCWRCN(APCWPTR),X'0E'                           02S0904 03043000
*             APEMMSGN=APCMA014;    /* MESSAGE NUMBER                */ 03044000
         LA    @09,112                                          02S0905 03045000
         ALR   @09,APCWPTR                                      02S0905 03046000
         MVC   APEMMSGN(4,@09),@CF00170                         02S0905 03047000
*             APEMVALN=APCMK030;    /* KYWD NUMBER - IFMU            */ 03048000
         MVC   APEMVALN(4,@09),@CF00485                         02S0906 03049000
*             GOTO OUTERR;          /* GO SET COMMON ERR INDS        */ 03050000
         B     OUTERR                                           02S0907 03051000
*           END;                                                02S0908 03052000
*         ELSE                                                  02S0909 03053000
*           ;                                                   02S0909 03054000
@RF00902 DS    0H                                               02S0910 03055000
*       END;                                                    02S0910 03056000
*     ELSE                                                      02S0911 03057000
*       ;                                                       02S0911 03058000
@RF00808 DS    0H                                               02S0912 03059000
*   END;                                                        01S0912 03060000
*                                                               01S0912 03061000
*   /*****************************************************************/ 03062000
*   /*                                                               */ 03063000
*   /* MOVE CIT ENTRY TO USER CIT TABLE                              */ 03064000
*   /*                                                               */ 03065000
*   /*****************************************************************/ 03066000
*                                                               01S0913 03067000
*   DO;                                                         01S0913 03068000
*     CITLNGTH=APALCISZ/2;          /* CIT ENTRY SIZE - WORDS        */ 03069000
         L     @09,APCWAPAL(,APCWPTR)                           01S0914 03070000
         LH    @00,APALCISZ(,@09)                               01S0914 03071000
         SRDA  @00,32                                           01S0914 03072000
         D     @00,@CF00130                                     01S0914 03073000
         ST    @01,CITLNGTH                                     01S0914 03074000
*     CALL APCVZMIC(CITENTRY,CITLNGTH,ERRORBIT);                01S0915 03075000
         LA    @09,CITENTRY                                     01S0915 03076000
         ST    @09,@AL00001                                     01S0915 03077000
         LA    @09,CITLNGTH                                     01S0915 03078000
         ST    @09,@AL00001+4                                   01S0915 03079000
         LA    @09,ERRORBIT                                     01S0915 03080000
         ST    @09,@AL00001+8                                   01S0915 03081000
         L     @15,APCTZMIC(,APCTPTR)                           01S0915 03082000
         LA    @01,@AL00001                                     01S0915 03083000
         BALR  @14,@15                                          01S0915 03084000
*     IF ERRORBIT=ON THEN           /* CIT FULL?                     */ 03085000
         TM    ERRORBIT,B'10000000'                             01S0916 03086000
         BO    @RT00916                                         01S0916 03087000
*       RETURN;                                                 01S0917 03088000
*     ELSE                                                      01S0918 03089000
*       ;                                                       01S0918 03090000
*   END;                                                        01S0919 03091000
*                                                               01S0919 03092000
*   /*****************************************************************/ 03093000
*   /*                                                               */ 03094000
*   /* RETURN TO CALLER                                              */ 03095000
*   /*                                                               */ 03096000
*   /*****************************************************************/ 03097000
*                                                               01S0920 03098000
*   RETURN;                                                     01S0920 03099000
*                                                               01S0920 03100000
         B     @EL00001                                         01S0920 03101000
*   /*****************************************************************/ 03102000
*   /*                                                               */ 03103000
*   /* ERROR OUTLET                                                  */ 03104000
*   /*                                                               */ 03105000
*   /*****************************************************************/ 03106000
*                                                               01S0921 03107000
*OUTERR1:                                                       01S0921 03108000
*   ;                               /* INVLD NBR PARMS               */ 03109000
OUTERR1  DS    0H                                               01S0922 03110000
*   DO;                             /* SET ERROR INDICATORS          */ 03111000
*     APCWRCN=APCCA002;             /* SET ERR NBR                   */ 03112000
         MVI   APCWRCN(APCWPTR),X'02'                           01S0923 03113000
*     APEMMSGN=APCMA002;            /* SET MSG NBR                   */ 03114000
         MVC   APEMMSGN+112(4,APCWPTR),@CF00166                 01S0924 03115000
*   END;                                                        01S0925 03116000
*OUTERR:                                                        01S0926 03117000
*   ;                               /* COMMON ERR INDICATORS         */ 03118000
OUTERR   DS    0H                                               01S0927 03119000
*   DO;                                                         01S0927 03120000
*     APCWZAM=ON;                   /* INDICATE ERR DETECTED         */ 03121000
         OI    APCWZAM(APCWPTR),B'00000001'                     01S0928 03122000
*     APCWR15C=APCCRERR;            /* PROVIDE R15 RET CODE          */ 03123000
         MVC   APCWR15C(4,APCWPTR),@CF00145                     01S0929 03124000
*     APCWRCT=APCCTLOG;             /* SET ERR TYPE AS LOGICAL       */ 03125000
         MVI   APCWRCT(APCWPTR),X'08'                           01S0930 03126000
*     APCWRCC=APCCA;                /* SET COMPONENT ID              */ 03127000
         MVI   APCWRCC(APCWPTR),X'01'                           01S0931 03128000
*     RETURN;                       /* RETURN TO CALLER              */ 03129000
         B     @EL00001                                         01S0932 03130000
*   END;                                                        01S0933 03131000
*                                   /* IGTXEPLG                      */ 03132000
*                                                               01S0934 03133000
*   /*****************************************************************/ 03134000
*   /*                                                               */ 03135000
*   /* SYSTEM DECLARES                                               */ 03136000
*   /*                                                               */ 03137000
*   /*****************************************************************/ 03138000
*                                                               01S0934 03139000
*   DECLARE                         /* COMMON VARIABLES              */ 03140000
*     I256C CHAR(256) BASED,                                    01S0934 03141000
*     I031F FIXED(31) BASED,                                    01S0934 03142000
*     I031P PTR(31) BASED,                                      01S0934 03143000
*     I015F FIXED(15) BASED,                                    01S0934 03144000
*     I015P PTR(15) BASED,                                      01S0934 03145000
*     I008P PTR(8) BASED,                                       01S0934 03146000
*     I001C CHAR(1) BASED;                                      01S0934 03147000
*                                                               01S0935 03148000
*   /*****************************************************************/ 03149000
*   /*                                                               */ 03150000
*   /* MODULE PATCH AREA                                             */ 03151000
*   /*                                                               */ 03152000
*   /*****************************************************************/ 03153000
*                                                               01S0935 03154000
*   DCL                                                         01S0935 03155000
*     APPATCH CHAR(*) INT STATIC LOCAL GEND;                    01S0935 03156000
*   GENERATE DATA DEFS(APPATCH);                                01S0936 03157000
*                                                               01S0937 03158000
*   /*****************************************************************/ 03159000
*   /*                                                               */ 03160000
*   /* GENERAL REGISTER DECLARES                                     */ 03161000
*   /*                                                               */ 03162000
*   /*****************************************************************/ 03163000
*                                                               01S0937 03164000
*   DCL                                                         01S0937 03165000
*     R0F FIXED(31) REG(0),                                     01S0937 03166000
*     R0P PTR(24) REG(0),                                       01S0937 03167000
*     R0RSTD PTR(31) REG(0),                                    01S0937 03168000
*     R1F FIXED(31) REG(1),                                     01S0937 03169000
*     R1P PTR(24) REG(1),                                       01S0937 03170000
*     R1RSTD PTR(31) REG(1),                                    01S0937 03171000
*     R2F FIXED(31) REG(2),                                     01S0937 03172000
*     R2P PTR(24) REG(2),                                       01S0937 03173000
*     R2RSTD PTR(31) REG(2),                                    01S0937 03174000
*     R3F FIXED(31) REG(3),                                     01S0937 03175000
*     R3P PTR(24) REG(3),                                       01S0937 03176000
*     R3RSTD PTR(31) REG(3),                                    01S0937 03177000
*     R4F FIXED(31) REG(4),                                     01S0937 03178000
*     R4P PTR(24) REG(4),                                       01S0937 03179000
*     R4RSTD PTR(31) REG(4),                                    01S0937 03180000
*     R5F FIXED(31) REG(5),                                     01S0937 03181000
*     R5P PTR(24) REG(5),                                       01S0937 03182000
*     R5RSTD PTR(31) REG(5),                                    01S0937 03183000
*     R6F FIXED(31) REG(6),                                     01S0937 03184000
*     R6P PTR(24) REG(6),                                       01S0937 03185000
*     R6RSTD PTR(31) REG(6),                                    01S0937 03186000
*     R7F FIXED(31) REG(7),                                     01S0937 03187000
*     R7P PTR(24) REG(7),                                       01S0937 03188000
*     R7RSTD PTR(31) REG(7),                                    01S0937 03189000
*     R8F FIXED(31) REG(8),                                     01S0937 03190000
*     R8P PTR(24) REG(8),                                       01S0937 03191000
*     R8RSTD PTR(31) REG(8),                                    01S0937 03192000
*     R9F FIXED(31) REG(9),                                     01S0937 03193000
*     R9P PTR(24) REG(9),                                       01S0937 03194000
*     R9RSTD PTR(31) REG(9),                                    01S0937 03195000
*     R10F FIXED(31) REG(10),                                   01S0937 03196000
*     R10P PTR(24) REG(10),                                     01S0937 03197000
*     R10RSTD PTR(31) REG(10),                                  01S0937 03198000
*     R11F FIXED(31) REG(11),                                   01S0937 03199000
*     R11P PTR(24) REG(11),                                     01S0937 03200000
*     R11RSTD PTR(31) REG(11),                                  01S0937 03201000
*     R12F FIXED(31) REG(12),                                   01S0937 03202000
*     R12P PTR(24) REG(12),                                     01S0937 03203000
*     R12RSTD PTR(31) REG(12),                                  01S0937 03204000
*     R13F FIXED(31) REG(13),                                   01S0937 03205000
*     R13P PTR(24) REG(13),                                     01S0937 03206000
*     R13RSTD PTR(31) REG(13),                                  01S0937 03207000
*     R14F FIXED(31) REG(14),                                   01S0937 03208000
*     R14P PTR(24) REG(14),                                     01S0937 03209000
*     R14RSTD PTR(31) REG(14),                                  01S0937 03210000
*     R15F FIXED(31) REG(15),                                   01S0937 03211000
*     R15P PTR(24) REG(15),                                     01S0937 03212000
*     R15RSTD PTR(31) REG(15),                                  01S0937 03213000
*                                                               01S0937 03214000
*     /***************************************************************/ 03215000
*     /*                                                             */ 03216000
*     /* VPSS CONTROL BLOCK POINTER DECLARES                         */ 03217000
*     /*                                                             */ 03218000
*     /***************************************************************/ 03219000
*                                                               01S0937 03220000
*     APSMPTR PTR(24) REG(01),      /* STORAGE MANAGEMENT BLOCK 01S0937 03221000
*                                      (SUGGESTED POINTER)           */ 03222000
*     APSCPTR PTR(24) REG(01),      /* STORAGE MANAGEMENT CONTROL       03223000
*                                      WORD (SUGGESTED POINTER)      */ 03224000
*     APINPTR PTR(24) REG(01),      /* USER'S INPUT PARAMETER LIST      03225000
*                                      (SUGGESTED POINTER)           */ 03226000
*/*                                                                  */ 03227000
*                                                               01S0937 03228000
*     APDATA PTR(24) REG(06),       /* ADDRESS OF DYNAMIC DATA  01S0937 03229000
*                                      WORKAREA (DATAREG)            */ 03230000
*     APCODE PTR(24) REG(07),       /* PROGRAM CODE BASE REGISTER       03231000
*                                      (CODEREG)                     */ 03232000
*     APDEBPTR PTR(24) REG(08),     /* VPSS DEB (SUGGESTED POINTER)  */ 03233000
*     APNPPTR PTR(24) REG(08),      /* SUBSYSTEM INITIALIZATION 01S0937 03234000
*                                      WORKAREA BLOCK (ONLY USED BY     03235000
*                                      SUBSYSTEM INITIALIZATION)     */ 03236000
*     APRLPTR PTR(24) REG(08),      /* VPSS ACB REQUEST LIST    01S0937 03237000
*                                      (SUGGESTED POINTER)           */ 03238000
*     APCIPTR PTR(24) REG(08),      /* 3838 CONTROL TABLE (SUGGESTED    03239000
*                                      POINTER)                      */ 03240000
*     APCWPTR PTR(24) REG(08),      /* CALL INTERFACE WORKAREA  01S0937 03241000
*                                      (SUGGESTED POINTER)           */ 03242000
*     APERPTR PTR(24) REG(08),      /* ERP/IO APPENDAGE WORKAREA        03243000
*                                      (SUGGESTED POINTER)           */ 03244000
*     APACBPTR PTR(24) REG(09),     /* VPSS ACB (SUGGESTED POINTER)  */ 03245000
*     APCQPTR PTR(24) REG(09),      /* COMMAND QUEUE ELEMENT    01S0937 03246000
*                                      (SUGGESTED POINTER)           */ 03247000
*     APOTPTR PTR(24) REG(09),      /* OPTION TABLE (SUGGESTED  01S0937 03248000
*                                      POINTER)                      */ 03249000
*     APIOPTR PTR(24) REG(10),      /* I/O ELEMENT (SUGGESTED   01S0937 03250000
*                                      POINTER)                      */ 03251000
*     APEXLPTR PTR(24) REG(10),     /* VPSS EXLST (SUGGESTED POINTER)*/ 03252000
*     APUBPTR PTR(24) REG(10),      /* UNIT BLOCK (SUGGESTED POINTER)*/ 03253000
*     APAXPTR PTR(24) REG(10),      /* VPSS ACB EXTENSION (SUGGESTED    03254000
*                                      POINTER)                      */ 03255000
*     APCPPTR PTR(24) REG(10),      /* VPSS CALL PROCESSING     01S0937 03256000
*                                      INDICATORS (SUGGESTED POINTER)*/ 03257000
*     APOCPTR PTR(24) REG(10),      /* VPSS OPEN/CLOSE SUBSYSTEM        03258000
*                                      WORKAREA (REQUIRED POINTER)   */ 03259000
*     APATPTR PTR(24) REG(11),      /* VPSS ACB TABLE (SUGGESTED        03260000
*                                      POINTER)                      */ 03261000
*     APLBPTR PTR(24) REG(11),      /* LABEL RESOLUTION TABLE   01S0937 03262000
*                                      (SUGGESTED POINTER)           */ 03263000
*     APUTPTR PTR(24) REG(11),      /* USER TABLE (SUGGESTED POINTER)*/ 03264000
*     APDSPTR PTR(24) REG(11),      /* VPSS DATASET ENTRY (SUGGESTED    03265000
*                                      POINTER)                      */ 03266000
*     APXLPTR PTR(24) REG(11),      /* TRANSLATION TABLE (SUGGESTED     03267000
*                                      POINTER)                      */ 03268000
*     APDXPTR PTR(24) REG(11),      /* VPSS DEB EXTENSION (SUGGESTED    03269000
*                                      POINTER)                      */ 03270000
*     APCTPTR PTR(24) REG(12) RSTD, /* CONTROL TABLE (REQUIRED  01S0937 03271000
*                                      POINTER)                      */ 03272000
*     APSVPTR PTR(24) REG(13) RSTD, /* OS/VPSS SAVEAREA/WORKAREA        03273000
*                                      (REQUIRED POINTER)            */ 03274000
*     APRETURN PTR(24) REG(14),     /* RETURN ADDRESS FOR SUBROUTINE    03275000
*                                      LINKAGE                       */ 03276000
*     APENTRY PTR(24) REG(15),      /* SUBROUTINE ENTRY POINT LINKAGE*/ 03277000
*     APRCODE PTR(24) REG(15);      /* CONTAINS SUBROUTINE RETURN       03278000
*                                      CODE                          */ 03279000
*                                                               01S0938 03280000
*   /*****************************************************************/ 03281000
*   /*                                                               */ 03282000
*   /* USER REGISTER DECLARES                                        */ 03283000
*   /*                                                               */ 03284000
*   /*****************************************************************/ 03285000
*                                                               01S0938 03286000
*   END IGTMDA                                                  01S0938 03287000
*                                                               01S0938 03288000
*/* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM.     */ 03289000
*/*%INCLUDE SYSLIB  (IGTXAPCC)                                       */ 03290000
*/*%INCLUDE SYSLIB  (IGTXSYSI)                                       */ 03291000
*/*%INCLUDE SYSLIB  (IGTXSYSI)                                       */ 03292000
*/*%INCLUDE SYSLIB  (IGTXSYSI)                                       */ 03293000
*/*%INCLUDE SYSLIB  (IGTXSYSI)                                       */ 03294000
*/*%INCLUDE SYSLIB  (IGTXSYSI)                                       */ 03295000
*/*%INCLUDE SYSLIB  (IGTXSYSI)                                       */ 03296000
*/*%INCLUDE SYSLIB  (IGTXSYSI)                                       */ 03297000
*/*%INCLUDE SYSLIB  (IGTXSYSI)                                       */ 03298000
*/*%INCLUDE SYSLIB  (IGTXSYSI)                                       */ 03299000
*/*%INCLUDE SYSLIB  (IGTXSYSI)                                       */ 03300000
*/*%INCLUDE SYSLIB  (IGTXAPCM)                                       */ 03301000
*/*%INCLUDE SYSLIB  (IGTXAPCT)                                       */ 03302000
*/*%INCLUDE SYSLIB  (IGTXAPCV)                                       */ 03303000
*/*%INCLUDE SYSLIB  (IGTXAPCW)                                       */ 03304000
*/*%INCLUDE SYSLIB  (IGTXAPEM)                                       */ 03305000
*/*%INCLUDE SYSLIB  (IGTXAPIN)                                       */ 03306000
*/*%INCLUDE SYSLIB  (IGTXAPAL)                                       */ 03307000
*/*%INCLUDE SYSLIB  (IGTXAPCI)                                       */ 03308000
*/*%INCLUDE SYSLIB  (IGTXAPSV)                                       */ 03309000
*/*%INCLUDE SYSUT5  (MDADESCR)                                       */ 03310000
*/*%INCLUDE SYSUT5  (MDACIT  )                                       */ 03311000
*                                                               01S0938 03312000
*       ;                                                       01S0938 03313000
         B     @EL00001                                         01S0938 03314000
@DATA    DS    0H                                                       03315000
@DATD    DSECT                                                          03316000
         DS    0F                                                       03317000
@SA00001 DS    20F                                                      03318000
@PC00001 DS    1F                                                       03319000
@AL00001 DS    3A                                                       03320000
@TF00001 DS    F                                                        03321000
IGTMDA   CSECT                                                          03322000
         DS    0F                                                       03323000
@CF00045 DC    F'1'                                                     03324000
@CH00045 EQU   @CF00045+2                                               03325000
@CF00130 DC    F'2'                                                     03326000
@CF00156 DC    F'3'                                                     03327000
@CF00142 DC    F'4'                                                     03328000
@CF00145 DC    F'8'                                                     03329000
@CF00166 DC    F'9'                                                     03330000
@CF00170 DC    F'11'                                                    03331000
@CF00147 DC    F'12'                                                    03332000
@CF00176 DC    F'15'                                                    03333000
@CF00178 DC    F'16'                                                    03334000
@CF00180 DC    F'17'                                                    03335000
@CF00074 DC    F'18'                                                    03336000
@CF00183 DC    F'19'                                                    03337000
@CF00185 DC    F'20'                                                    03338000
@CF00187 DC    F'21'                                                    03339000
@CF00055 DC    F'22'                                                    03340000
@CF00190 DC    F'23'                                                    03341000
@CF00061 DC    F'24'                                                    03342000
@CF00043 DC    F'25'                                                    03343000
@CF00194 DC    F'26'                                                    03344000
@CF00196 DC    F'27'                                                    03345000
@CF00198 DC    F'28'                                                    03346000
@CF00200 DC    F'29'                                                    03347000
@CF00485 DC    F'30'                                                    03348000
@CF00041 DC    F'31'                                                    03349000
@CF00260 DC    F'32'                                                    03350000
@CF00262 DC    F'33'                                                    03351000
@CF00264 DC    F'34'                                                    03352000
@CF00266 DC    F'35'                                                    03353000
@CF00268 DC    F'36'                                                    03354000
@CF01789 DC    F'65536'                                                 03355000
@CF01788 DC    F'-32768'                                                03356000
@DATD    DSECT                                                          03357000
         DS    0D                                                       03358000
CITLNGTH DS    F                                                        03359000
RSOLVERR DS    F                                                        03360000
IFMXIFMY DS    BL1                                                      03361000
IFMUIFMX DS    BL1                                                      03362000
ERRORBIT DS    BL1                                                      03363000
LASTPARM DS    BL1                                                      03364000
DESCRWRK DS    22F                                                      03365000
CITENTRY DS    14F                                                      03366000
IGTMDA   CSECT                                                          03367000
         DS    0F                                                       03368000
@SIZDATD DC    AL1(0)                                                   03369000
         DC    AL3(@ENDDATD-@DATD)                                      03370000
         DS    0D                                                       03371000
IGTMDA   CSECT                                                          03372000
*                                  /* GENERATE PATCH                    03373000
         IGTXZAP ,                 GENERATE PATCH AREA                  03374000
@DATD    DSECT                                                          03375000
         ORG   *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA                03376000
@ENDDATD EQU   *                                                        03377000
IGTMDA   CSECT                                                          03378000
@00      EQU   00                      EQUATES FOR REGISTERS 0-15       03379000
@01      EQU   01                                                       03380000
@02      EQU   02                                                       03381000
@03      EQU   03                                                       03382000
@04      EQU   04                                                       03383000
@05      EQU   05                                                       03384000
@06      EQU   06                                                       03385000
@07      EQU   07                                                       03386000
@08      EQU   08                                                       03387000
@09      EQU   09                                                       03388000
@10      EQU   10                                                       03389000
@11      EQU   11                                                       03390000
@12      EQU   12                                                       03391000
@13      EQU   13                                                       03392000
@14      EQU   14                                                       03393000
@15      EQU   15                                                       03394000
INPUTPTR EQU   @03                                                      03395000
DESCRPTR EQU   @02                                                      03396000
NUMVECS  EQU   @09                                                      03397000
APDATA   EQU   @06                                                      03398000
APCODE   EQU   @07                                                      03399000
R5P      EQU   @05                                                      03400000
APCTPTR  EQU   @12                                                      03401000
APSVPTR  EQU   @13                                                      03402000
APCWPTR  EQU   @08                                                      03403000
APACBPTR EQU   @09                                                      03404000
APATPTR  EQU   @11                                                      03405000
APAXPTR  EQU   @10                                                      03406000
APCIPTR  EQU   @08                                                      03407000
APCPPTR  EQU   @10                                                      03408000
APCQPTR  EQU   @09                                                      03409000
APDEBPTR EQU   @08                                                      03410000
APDSPTR  EQU   @11                                                      03411000
APDXPTR  EQU   @11                                                      03412000
APENTRY  EQU   @15                                                      03413000
APERPTR  EQU   @08                                                      03414000
APEXLPTR EQU   @10                                                      03415000
APINPTR  EQU   @01                                                      03416000
APIOPTR  EQU   @10                                                      03417000
APLBPTR  EQU   @11                                                      03418000
APNPPTR  EQU   @08                                                      03419000
APOCPTR  EQU   @10                                                      03420000
APOTPTR  EQU   @09                                                      03421000
APRCODE  EQU   @15                                                      03422000
APRETURN EQU   @14                                                      03423000
APRLPTR  EQU   @08                                                      03424000
APSCPTR  EQU   @01                                                      03425000
APSMPTR  EQU   @01                                                      03426000
APUBPTR  EQU   @10                                                      03427000
APUTPTR  EQU   @11                                                      03428000
APXLPTR  EQU   @11                                                      03429000
R0F      EQU   @00                                                      03430000
R0P      EQU   @00                                                      03431000
R0RSTD   EQU   @00                                                      03432000
R1F      EQU   @01                                                      03433000
R1P      EQU   @01                                                      03434000
R1RSTD   EQU   @01                                                      03435000
R10F     EQU   @10                                                      03436000
R10P     EQU   @10                                                      03437000
R10RSTD  EQU   @10                                                      03438000
R11F     EQU   @11                                                      03439000
R11P     EQU   @11                                                      03440000
R11RSTD  EQU   @11                                                      03441000
R12F     EQU   @12                                                      03442000
R12P     EQU   @12                                                      03443000
R12RSTD  EQU   @12                                                      03444000
R13F     EQU   @13                                                      03445000
R13P     EQU   @13                                                      03446000
R13RSTD  EQU   @13                                                      03447000
R14F     EQU   @14                                                      03448000
R14P     EQU   @14                                                      03449000
R14RSTD  EQU   @14                                                      03450000
R15F     EQU   @15                                                      03451000
R15P     EQU   @15                                                      03452000
R15RSTD  EQU   @15                                                      03453000
R2F      EQU   @02                                                      03454000
R2P      EQU   @02                                                      03455000
R2RSTD   EQU   @02                                                      03456000
R3F      EQU   @03                                                      03457000
R3P      EQU   @03                                                      03458000
R3RSTD   EQU   @03                                                      03459000
R4F      EQU   @04                                                      03460000
R4P      EQU   @04                                                      03461000
R4RSTD   EQU   @04                                                      03462000
R5F      EQU   @05                                                      03463000
R5RSTD   EQU   @05                                                      03464000
R6F      EQU   @06                                                      03465000
R6P      EQU   @06                                                      03466000
R6RSTD   EQU   @06                                                      03467000
R7F      EQU   @07                                                      03468000
R7P      EQU   @07                                                      03469000
R7RSTD   EQU   @07                                                      03470000
R8F      EQU   @08                                                      03471000
R8P      EQU   @08                                                      03472000
R8RSTD   EQU   @08                                                      03473000
R9F      EQU   @09                                                      03474000
R9P      EQU   @09                                                      03475000
R9RSTD   EQU   @09                                                      03476000
ISTATE   EQU   0                                                        03477000
MASKCONV EQU   ISTATE+3                                                 03478000
MASKUFLO EQU   ISTATE+3                                                 03479000
MASKOFLO EQU   ISTATE+3                                                 03480000
MASKUNDV EQU   ISTATE+3                                                 03481000
STACKING EQU   ISTATE+3                                                 03482000
COMDESCV EQU   ISTATE+3                                                 03483000
INCDESCV EQU   ISTATE+3                                                 03484000
DESCRVEC EQU   0                                                        03485000
IFMY     EQU   DESCRVEC+4                                               03486000
YDELTADX EQU   IFMY+3                                                   03487000
YCOUNTDX EQU   IFMY+3                                                   03488000
YSTARTDX EQU   IFMY+3                                                   03489000
YNEGATIV EQU   IFMY+3                                                   03490000
YREVERSE EQU   IFMY+3                                                   03491000
YABSVALU EQU   IFMY+3                                                   03492000
YFXPTTRU EQU   IFMY+3                                                   03493000
YFXPTTWO EQU   IFMY+3                                                   03494000
YARRV    EQU   DESCRVEC+8                                               03495000
ICTY     EQU   DESCRVEC+12                                              03496000
IDLY     EQU   DESCRVEC+16                                              03497000
YARRVX   EQU   DESCRVEC+20                                              03498000
ICTYX    EQU   DESCRVEC+24                                              03499000
IDLYX    EQU   DESCRVEC+28                                              03500000
IFMX     EQU   DESCRVEC+32                                              03501000
XDELTADX EQU   IFMX+3                                                   03502000
XCOUNTDX EQU   IFMX+3                                                   03503000
XSTARTDX EQU   IFMX+3                                                   03504000
XNEGATIV EQU   IFMX+3                                                   03505000
XREVERSE EQU   IFMX+3                                                   03506000
XABSVALU EQU   IFMX+3                                                   03507000
XFXPTTRU EQU   IFMX+3                                                   03508000
XFXPTTWO EQU   IFMX+3                                                   03509000
XARRV    EQU   DESCRVEC+36                                              03510000
ICTX     EQU   DESCRVEC+40                                              03511000
IDLX     EQU   DESCRVEC+44                                              03512000
XARRVX   EQU   DESCRVEC+48                                              03513000
ICTXX    EQU   DESCRVEC+52                                              03514000
IDLXX    EQU   DESCRVEC+56                                              03515000
IFMU     EQU   DESCRVEC+60                                              03516000
UDELTADX EQU   IFMU+3                                                   03517000
UCOUNTDX EQU   IFMU+3                                                   03518000
USTARTDX EQU   IFMU+3                                                   03519000
UNEGATIV EQU   IFMU+3                                                   03520000
UREVERSE EQU   IFMU+3                                                   03521000
UABSVALU EQU   IFMU+3                                                   03522000
UFXPTTRU EQU   IFMU+3                                                   03523000
UFXPTTWO EQU   IFMU+3                                                   03524000
UARRV    EQU   DESCRVEC+64                                              03525000
ICTU     EQU   DESCRVEC+68                                              03526000
IDLU     EQU   DESCRVEC+72                                              03527000
UARRVX   EQU   DESCRVEC+76                                              03528000
ICTUX    EQU   DESCRVEC+80                                              03529000
IDLUX    EQU   DESCRVEC+84                                              03530000
PARAM1   EQU   0                                                        03531000
PARAM2   EQU   0                                                        03532000
PARMSIGN EQU   0                                                        03533000
PSIGNBIT EQU   PARMSIGN                                                 03534000
APCT     EQU   0                                                        03535000
APCTENQM EQU   APCT+12                                                  03536000
APCTSMIN EQU   APCT+32                                                  03537000
APCTSMAD EQU   APCT+36                                                  03538000
APCTZ@@@ EQU   APCT+40                                                  03539000
APCTU@@@ EQU   APCT+440                                                 03540000
APCTBR14 EQU   APCT+840                                                 03541000
APCTERRS EQU   APCT+876                                                 03542000
@NM00020 EQU   APCT+936                                                 03543000
APCTSTAT EQU   @NM00020                                                 03544000
APCTPRSW EQU   @NM00020+1                                               03545000
APCTAPCQ EQU   APCT+944                                                 03546000
APCTCQAQ EQU   APCT+952                                                 03547000
APCTZ@@1 EQU   APCT+1120                                                03548000
APCVZMIC EQU   0                                                        03549000
APCVZMIF EQU   0                                                        03550000
APCW     EQU   0                                                        03551000
APCWAPIN EQU   APCW+8                                                   03552000
APCWACB  EQU   APCW+20                                                  03553000
APCWAPAL EQU   APCW+40                                                  03554000
APCWSWS  EQU   APCW+46                                                  03555000
APCWSW0  EQU   APCWSWS                                                  03556000
APCWOPF  EQU   APCW+62                                                  03557000
APCWAPOP EQU   APCWOPF                                                  03558000
APCWR15C EQU   APCW+64                                                  03559000
APCWRCDE EQU   APCW+68                                                  03560000
APCWRCT  EQU   APCWRCDE+1                                               03561000
APCWRCC  EQU   APCWRCDE+2                                               03562000
APCWRCN  EQU   APCWRCDE+3                                               03563000
APCWINTV EQU   APCW+72                                                  03564000
APCWINT0 EQU   APCWINTV                                                 03565000
APCWZAM  EQU   APCWINT0                                                 03566000
APCWINT1 EQU   APCWINTV+1                                               03567000
APCWINT2 EQU   APCWINTV+2                                               03568000
APCWINT3 EQU   APCWINTV+3                                               03569000
APCWAPEM EQU   APCW+112                                                 03570000
APCWEMSG EQU   APCWAPEM                                                 03571000
APEM     EQU   0                                                        03572000
APEMMSG  EQU   APEM+92                                                  03573000
APEMMSGN EQU   APEMMSG                                                  03574000
APEMVALU EQU   APEM+108                                                 03575000
APEMVALN EQU   APEMVALU+4                                               03576000
APIN     EQU   0                                                        03577000
APINAUNT EQU   APIN                                                     03578000
APINAFNC EQU   APIN+4                                                   03579000
APINFMTS EQU   APIN+8                                                   03580000
APAL     EQU   0                                                        03581000
APALCISZ EQU   APAL+4                                                   03582000
APALDATA EQU   APAL+8                                                   03583000
APALALG  EQU   APAL+8                                                   03584000
APALSTAT EQU   APALALG                                                  03585000
APALSTKR EQU   APALSTAT                                                 03586000
APALSTKO EQU   APALSTAT                                                 03587000
APALY    EQU   APALALG+4                                                03588000
APALYFSW EQU   APALY                                                    03589000
APALYFFX EQU   APALYFSW                                                 03590000
APALYFFT EQU   APALYFSW                                                 03591000
APALYFSR EQU   APALYFSW                                                 03592000
APALYFSO EQU   APALYFSW                                                 03593000
APALYFXS EQU   APALYFSW                                                 03594000
APALYFXC EQU   APALYFSW                                                 03595000
APALYFXD EQU   APALYFSW                                                 03596000
APALYVS  EQU   APALY+1                                                  03597000
APALYCT  EQU   APALY+2                                                  03598000
APALYCRQ EQU   APALYCT                                                  03599000
APALYCOP EQU   APALYCT                                                  03600000
APALYCSD EQU   APALYCT                                                  03601000
APALYDL  EQU   APALY+3                                                  03602000
APALYDRQ EQU   APALYDL                                                  03603000
APALYDOP EQU   APALYDL                                                  03604000
APALYFMT EQU   APALY+4                                                  03605000
APALYCNT EQU   APALY+10                                                 03606000
APALX    EQU   APALALG+16                                               03607000
APALXFSW EQU   APALX                                                    03608000
APALXFFX EQU   APALXFSW                                                 03609000
APALXFFT EQU   APALXFSW                                                 03610000
APALXFSR EQU   APALXFSW                                                 03611000
APALXFSO EQU   APALXFSW                                                 03612000
APALXFXS EQU   APALXFSW                                                 03613000
APALXFXC EQU   APALXFSW                                                 03614000
APALXFXD EQU   APALXFSW                                                 03615000
APALXVS  EQU   APALX+1                                                  03616000
APALXVRQ EQU   APALXVS                                                  03617000
APALXVOP EQU   APALXVS                                                  03618000
APALXCT  EQU   APALX+2                                                  03619000
APALXCRQ EQU   APALXCT                                                  03620000
APALXCOP EQU   APALXCT                                                  03621000
APALXCSD EQU   APALXCT                                                  03622000
APALXDL  EQU   APALX+3                                                  03623000
APALXDRQ EQU   APALXDL                                                  03624000
APALXDOP EQU   APALXDL                                                  03625000
APALXFMT EQU   APALX+4                                                  03626000
APALXCNT EQU   APALX+10                                                 03627000
APALU    EQU   APALALG+28                                               03628000
APALUFSW EQU   APALU                                                    03629000
APALUFFX EQU   APALUFSW                                                 03630000
APALUFFT EQU   APALUFSW                                                 03631000
APALUFSR EQU   APALUFSW                                                 03632000
APALUFSO EQU   APALUFSW                                                 03633000
APALUFXS EQU   APALUFSW                                                 03634000
APALUFXC EQU   APALUFSW                                                 03635000
APALUFXD EQU   APALUFSW                                                 03636000
APALUVS  EQU   APALU+1                                                  03637000
APALUVRQ EQU   APALUVS                                                  03638000
APALUVOP EQU   APALUVS                                                  03639000
APALUCT  EQU   APALU+2                                                  03640000
APALUCRQ EQU   APALUCT                                                  03641000
APALUCOP EQU   APALUCT                                                  03642000
APALUCSD EQU   APALUCT                                                  03643000
APALUDL  EQU   APALU+3                                                  03644000
APALUDRQ EQU   APALUDL                                                  03645000
APALUDOP EQU   APALUDL                                                  03646000
APALUFMT EQU   APALU+4                                                  03647000
APALUCNT EQU   APALU+10                                                 03648000
APCI     EQU   0                                                        03649000
APCIHDR  EQU   APCI                                                     03650000
APCIHFGS EQU   APCIHDR+2                                                03651000
APCIHFG0 EQU   APCIHFGS                                                 03652000
APCIHFG1 EQU   APCIHFGS+1                                               03653000
APSV     EQU   0                                                        03654000
APSVREGS EQU   APSV+12                                                  03655000
APCVZDAL EQU   0                                                        03656000
APCVZDAP EQU   0                                                        03657000
APCVZDBK EQU   0                                                        03658000
APCVZDDA EQU   0                                                        03659000
APCVZDDQ EQU   0                                                        03660000
APCVZDEQ EQU   0                                                        03661000
APCVZDID EQU   0                                                        03662000
APCVZDIO EQU   0                                                        03663000
APCVZDIP EQU   0                                                        03664000
APCVZDMD EQU   0                                                        03665000
APCVZDMM EQU   0                                                        03666000
APCVZDQR EQU   0                                                        03667000
APCVZDRI EQU   0                                                        03668000
APCVZDUA EQU   0                                                        03669000
APCVZDUL EQU   0                                                        03670000
APCVZDWI EQU   0                                                        03671000
APCVZDWT EQU   0                                                        03672000
APCVZDX1 EQU   0                                                        03673000
APCVZDX2 EQU   0                                                        03674000
APCVZDX3 EQU   0                                                        03675000
APCVZDX4 EQU   0                                                        03676000
APCVZD10 EQU   0                                                        03677000
APCVZD20 EQU   0                                                        03678000
APCVZD4E EQU   0                                                        03679000
APCVZD40 EQU   0                                                        03680000
APCVZD41 EQU   0                                                        03681000
APCVZD42 EQU   0                                                        03682000
APCVZD43 EQU   0                                                        03683000
APCVZD44 EQU   0                                                        03684000
APCVZD45 EQU   0                                                        03685000
APCVZD46 EQU   0                                                        03686000
APCVZD47 EQU   0                                                        03687000
APCVZD48 EQU   0                                                        03688000
APCVZD49 EQU   0                                                        03689000
APCVZD60 EQU   0                                                        03690000
APCVZD80 EQU   0                                                        03691000
APCVZD81 EQU   0                                                        03692000
APCVZD82 EQU   0                                                        03693000
APCVZD83 EQU   0                                                        03694000
APCVZJAA EQU   0                                                        03695000
APCVZJAD EQU   0                                                        03696000
APCVZJAG EQU   0                                                        03697000
APCVZJAJ EQU   0                                                        03698000
APCVZJAM EQU   0                                                        03699000
APCVZJAP EQU   0                                                        03700000
APCVZJAX EQU   0                                                        03701000
APCVZJAY EQU   0                                                        03702000
APCVZJBA EQU   0                                                        03703000
APCVZJBD EQU   0                                                        03704000
APCVZJBG EQU   0                                                        03705000
APCVZJBJ EQU   0                                                        03706000
APCVZJBM EQU   0                                                        03707000
APCVZJDA EQU   0                                                        03708000
APCVZJDD EQU   0                                                        03709000
APCVZJDG EQU   0                                                        03710000
APCVZJDJ EQU   0                                                        03711000
APCVZJDM EQU   0                                                        03712000
APCVZJHC EQU   0                                                        03713000
APCVZJHE EQU   0                                                        03714000
APCVZJHF EQU   0                                                        03715000
APCVZJHO EQU   0                                                        03716000
APCVZJHQ EQU   0                                                        03717000
APCVZJHR EQU   0                                                        03718000
APCVZJHT EQU   0                                                        03719000
APCVZJHW EQU   0                                                        03720000
APCVZJH0 EQU   0                                                        03721000
APCVZJH6 EQU   0                                                        03722000
APCVZJI0 EQU   0                                                        03723000
APCVZJI3 EQU   0                                                        03724000
APCVZJJ0 EQU   0                                                        03725000
APCVZKAA EQU   0                                                        03726000
APCVZKBA EQU   0                                                        03727000
APCVZKBB EQU   0                                                        03728000
APCVZKBC EQU   0                                                        03729000
APCVZKBD EQU   0                                                        03730000
APCVZKBE EQU   0                                                        03731000
APCVZKBF EQU   0                                                        03732000
APCVZKCA EQU   0                                                        03733000
APCVZKDA EQU   0                                                        03734000
APCVZKGA EQU   0                                                        03735000
APCVZKGB EQU   0                                                        03736000
APCVZKGC EQU   0                                                        03737000
APCVZKGD EQU   0                                                        03738000
APCVZLCA EQU   0                                                        03739000
APCVZLCB EQU   0                                                        03740000
APCVZMBA EQU   0                                                        03741000
APCVZMBD EQU   0                                                        03742000
APCVZMBG EQU   0                                                        03743000
APCVZMBH EQU   0                                                        03744000
APCVZMBK EQU   0                                                        03745000
APCVZMBM EQU   0                                                        03746000
APCVZMIB EQU   0                                                        03747000
APCVZMJB EQU   0                                                        03748000
APCVZMJC EQU   0                                                        03749000
APCVZMJH EQU   0                                                        03750000
APCVZMJI EQU   0                                                        03751000
APCVZMMA EQU   0                                                        03752000
APCVZUAA EQU   0                                                        03753000
APCVZUAB EQU   0                                                        03754000
APCVZUAC EQU   0                                                        03755000
APCVZUAD EQU   0                                                        03756000
APCVZUAE EQU   0                                                        03757000
APCVZUAF EQU   0                                                        03758000
APCVZUAG EQU   0                                                        03759000
APCVZUBB EQU   0                                                        03760000
APCVZUFA EQU   0                                                        03761000
APCVZUHA EQU   0                                                        03762000
APCVZUHB EQU   0                                                        03763000
APCVZUJA EQU   0                                                        03764000
APCVZUKA EQU   0                                                        03765000
APCV1CMD EQU   0                                                        03766000
APCV1JAA EQU   0                                                        03767000
APCV1JBJ EQU   0                                                        03768000
APCV1JHC EQU   0                                                        03769000
APCV1JHL EQU   0                                                        03770000
APCV1JHT EQU   0                                                        03771000
APCV1MAB EQU   0                                                        03772000
APCV1MBD EQU   0                                                        03773000
APCV2JHC EQU   0                                                        03774000
APCV2JHL EQU   0                                                        03775000
APCV2MBD EQU   0                                                        03776000
APINACI  EQU   0                                                        03777000
APINACW  EQU   0                                                        03778000
APINAPRL EQU   0                                                        03779000
APINBIV  EQU   0                                                        03780000
APINBLB  EQU   0                                                        03781000
APINCHB  EQU   0                                                        03782000
APINCHC  EQU   0                                                        03783000
APINCHS  EQU   0                                                        03784000
APINCHX  EQU   0                                                        03785000
APINCXC  EQU   0                                                        03786000
APINCXS  EQU   0                                                        03787000
APINCXX  EQU   0                                                        03788000
APINDLB  EQU   0                                                        03789000
APINDSV  EQU   0                                                        03790000
APINERR  EQU   0                                                        03791000
APINFUNC EQU   0                                                        03792000
APINICI  EQU   0                                                        03793000
APINICW  EQU   0                                                        03794000
APINKYVF EQU   0                                                        03795000
APINKYVL EQU   0                                                        03796000
APINKYVP EQU   0                                                        03797000
APINKYWD EQU   0                                                        03798000
APINPXB  EQU   0                                                        03799000
APINPXC  EQU   0                                                        03800000
APINPXF  EQU   0                                                        03801000
APINPXP  EQU   0                                                        03802000
APINSTB  EQU   0                                                        03803000
APINSTD  EQU   0                                                        03804000
APINUNIT EQU   0                                                        03805000
APINUST  EQU   0                                                        03806000
APINXBS  EQU   0                                                        03807000
APINXBX  EQU   0                                                        03808000
APINXCD  EQU   0                                                        03809000
APINXCT  EQU   0                                                        03810000
APINXID  EQU   0                                                        03811000
APINXI1  EQU   0                                                        03812000
APINXI2  EQU   0                                                        03813000
APINXLB  EQU   0                                                        03814000
APINXST  EQU   0                                                        03815000
APINYST  EQU   0                                                        03816000
I001C    EQU   0                                                        03817000
I008P    EQU   0                                                        03818000
I015F    EQU   0                                                        03819000
I015P    EQU   0                                                        03820000
I031F    EQU   0                                                        03821000
I031P    EQU   0                                                        03822000
I256C    EQU   0                                                        03823000
DAPCW    EQU   0                                                        03824000
APCTZ    EQU   APCTZ@@@                                                 03825000
APCTZUAA EQU   APCTZ                                                    03826000
APCTZUAB EQU   APCTZ+4                                                  03827000
APCTZUAC EQU   APCTZ+8                                                  03828000
APCTZUAD EQU   APCTZ+12                                                 03829000
APCTZUAE EQU   APCTZ+16                                                 03830000
APCTZUBB EQU   APCTZ+24                                                 03831000
APCTZD10 EQU   APCTZ+28                                                 03832000
APCTZD20 EQU   APCTZ+32                                                 03833000
APCTZD40 EQU   APCTZ+36                                                 03834000
APCTZD41 EQU   APCTZ+40                                                 03835000
APCTZD42 EQU   APCTZ+44                                                 03836000
APCTZD43 EQU   APCTZ+48                                                 03837000
APCTZD44 EQU   APCTZ+52                                                 03838000
APCTZD45 EQU   APCTZ+56                                                 03839000
APCTZD46 EQU   APCTZ+60                                                 03840000
APCTZD47 EQU   APCTZ+64                                                 03841000
APCTZD48 EQU   APCTZ+68                                                 03842000
APCTZD49 EQU   APCTZ+72                                                 03843000
APCTZD60 EQU   APCTZ+76                                                 03844000
APCTZD80 EQU   APCTZ+80                                                 03845000
APCTZD4E EQU   APCTZ+84                                                 03846000
APCTZMBA EQU   APCTZ+88                                                 03847000
APCTZMBD EQU   APCTZ+92                                                 03848000
APCTZMBG EQU   APCTZ+96                                                 03849000
APCTZDX1 EQU   APCTZ+104                                                03850000
APCTZDX2 EQU   APCTZ+108                                                03851000
APCTZDX3 EQU   APCTZ+112                                                03852000
APCTZDX4 EQU   APCTZ+116                                                03853000
APCTZMBH EQU   APCTZ+120                                                03854000
APCTZMBK EQU   APCTZ+124                                                03855000
APCTZMBM EQU   APCTZ+128                                                03856000
APCTZMJB EQU   APCTZ+132                                                03857000
APCTZMJC EQU   APCTZ+136                                                03858000
APCTZMJH EQU   APCTZ+140                                                03859000
APCTZMMA EQU   APCTZ+144                                                03860000
APCTZDMD EQU   APCTZ+148                                                03861000
APCTZD81 EQU   APCTZ+152                                                03862000
APCTZDID EQU   APCTZ+156                                                03863000
APCTZDRI EQU   APCTZ+160                                                03864000
APCTZMJI EQU   APCTZ+164                                                03865000
APCTZDWT EQU   APCTZ+168                                                03866000
APCTZDMM EQU   APCTZ+172                                                03867000
APCTZDAL EQU   APCTZ+176                                                03868000
APCTZDBK EQU   APCTZ+180                                                03869000
APCTZDIP EQU   APCTZ+184                                                03870000
APCTZDDA EQU   APCTZ+188                                                03871000
APCTZDUL EQU   APCTZ+192                                                03872000
APCTZDEQ EQU   APCTZ+196                                                03873000
APCTZDDQ EQU   APCTZ+200                                                03874000
APCTZDUA EQU   APCTZ+204                                                03875000
APCTZUAF EQU   APCTZ+208                                                03876000
APCTZUAG EQU   APCTZ+212                                                03877000
APCTZDIO EQU   APCTZ+216                                                03878000
APCTZUHA EQU   APCTZ+220                                                03879000
APCTZUHB EQU   APCTZ+224                                                03880000
APCTZJAA EQU   APCTZ+232                                                03881000
APCTZJAD EQU   APCTZ+236                                                03882000
APCTZJAG EQU   APCTZ+240                                                03883000
APCTZJAJ EQU   APCTZ+244                                                03884000
APCTZJAM EQU   APCTZ+248                                                03885000
APCTZJAP EQU   APCTZ+252                                                03886000
APCTZJAY EQU   APCTZ+256                                                03887000
APCTZUFA EQU   APCTZ+260                                                03888000
APCTZUJA EQU   APCTZ+264                                                03889000
APCTZDAP EQU   APCTZ+268                                                03890000
APCTZKAA EQU   APCTZ+272                                                03891000
APCTZD82 EQU   APCTZ+276                                                03892000
APCTZMIB EQU   APCTZ+280                                                03893000
APCTZMIC EQU   APCTZ+284                                                03894000
APCTZD83 EQU   APCTZ+288                                                03895000
APCTZMIF EQU   APCTZ+296                                                03896000
APCTZJH0 EQU   APCTZ+300                                                03897000
APCTZJI0 EQU   APCTZ+304                                                03898000
APCTZJI3 EQU   APCTZ+308                                                03899000
APCTZJJ0 EQU   APCTZ+312                                                03900000
APCTZJBA EQU   APCTZ+316                                                03901000
APCTZJBD EQU   APCTZ+320                                                03902000
APCTZJBG EQU   APCTZ+324                                                03903000
APCTZJBJ EQU   APCTZ+328                                                03904000
APCTZJBM EQU   APCTZ+332                                                03905000
APCTZKCA EQU   APCTZ+340                                                03906000
APCTZKDA EQU   APCTZ+344                                                03907000
APCTZJDA EQU   APCTZ+356                                                03908000
APCTZJDJ EQU   APCTZ+360                                                03909000
APCTZJH6 EQU   APCTZ+364                                                03910000
APCTZJHO EQU   APCTZ+368                                                03911000
APCTZJHF EQU   APCTZ+372                                                03912000
APCTZJHE EQU   APCTZ+376                                                03913000
APCTZDQR EQU   APCTZ+380                                                03914000
APCTZJHR EQU   APCTZ+384                                                03915000
APCTZJHT EQU   APCTZ+388                                                03916000
APCTZJHW EQU   APCTZ+392                                                03917000
APCTZ1   EQU   APCTZ@@1                                                 03918000
APCTZKBA EQU   APCTZ1                                                   03919000
APCTZKBC EQU   APCTZ1+4                                                 03920000
APCTZKBB EQU   APCTZ1+8                                                 03921000
APCTZJHC EQU   APCTZ1+20                                                03922000
APCTZJHQ EQU   APCTZ1+24                                                03923000
APCTZKBD EQU   APCTZ1+28                                                03924000
APCTZKBE EQU   APCTZ1+40                                                03925000
APCTZUKA EQU   APCTZ1+56                                                03926000
APCTZKBF EQU   APCTZ1+60                                                03927000
APCTZJDD EQU   APCTZ1+64                                                03928000
APCTZJDG EQU   APCTZ1+68                                                03929000
APCTZJDM EQU   APCTZ1+72                                                03930000
APCTZLCA EQU   APCTZ1+76                                                03931000
APCTZLCB EQU   APCTZ1+80                                                03932000
APCTZDWI EQU   APCTZ1+84                                                03933000
APCTZJAX EQU   APCTZ1+88                                                03934000
APCTZKGA EQU   APCTZ1+92                                                03935000
APCTZKGB EQU   APCTZ1+96                                                03936000
APCTZKGC EQU   APCTZ1+100                                               03937000
APCTZKGD EQU   APCTZ1+104                                               03938000
APCTU    EQU   APCTU@@@                                                 03939000
APCT1MAB EQU   APCTU                                                    03940000
APCT1MBD EQU   APCTU+4                                                  03941000
APCT2MBD EQU   APCTU+8                                                  03942000
APCT1CMD EQU   APCTU+12                                                 03943000
APCT1JAA EQU   APCTU+20                                                 03944000
APCT1JHC EQU   APCTU+24                                                 03945000
APCT2JHC EQU   APCTU+28                                                 03946000
APCT1JHT EQU   APCTU+32                                                 03947000
APCT1JHL EQU   APCTU+36                                                 03948000
APCT2JHL EQU   APCTU+40                                                 03949000
APCT1JBJ EQU   APCTU+44                                                 03950000
APINFMT1 EQU   APINFMTS                                                 03951000
APINAERR EQU   APINFMT1                                                 03952000
@NM00069 EQU   APINFMT1+4                                               03953000
APINAKYW EQU   @NM00069                                                 03954000
APINAKYV EQU   @NM00069+4                                               03955000
APINFMT2 EQU   APINFMTS                                                 03956000
APINAAR  EQU   APINFMT2                                                 03957000
APINFMT3 EQU   APINFMTS                                                 03958000
APINASTB EQU   APINFMT3                                                 03959000
APINAACW EQU   APINFMT3+4                                               03960000
APINAICW EQU   APINFMT3+8                                               03961000
APINAACI EQU   APINFMT3+12                                              03962000
APINAICI EQU   APINFMT3+16                                              03963000
APINFMT4 EQU   APINFMTS                                                 03964000
APINAXI1 EQU   APINFMT4                                                 03965000
APINAXI2 EQU   APINFMT4+4                                               03966000
APINAXLB EQU   APINFMT4+8                                               03967000
APINAXCD EQU   APINFMT4+12                                              03968000
APINFMT5 EQU   APINFMTS                                                 03969000
APINADLB EQU   APINFMT5                                                 03970000
APINFMT6 EQU   APINFMTS                                                 03971000
APINABIV EQU   APINFMT6                                                 03972000
APINABLB EQU   APINFMT6+4                                               03973000
APINFMT7 EQU   APINFMTS                                                 03974000
APINACHS EQU   APINFMT7                                                 03975000
APINACHC EQU   APINFMT7+4                                               03976000
APINACHB EQU   APINFMT7+8                                               03977000
APINACHX EQU   APINFMT7+12                                              03978000
APINFMT8 EQU   APINFMTS                                                 03979000
APINACXS EQU   APINFMT8                                                 03980000
APINACXC EQU   APINFMT8+4                                               03981000
APINACXX EQU   APINFMT8+8                                               03982000
APINFMT9 EQU   APINFMTS                                                 03983000
APINASTD EQU   APINFMT9                                                 03984000
APINADSV EQU   APINFMT9+4                                               03985000
APINAYST EQU   APINFMT9+8                                               03986000
APINAXST EQU   APINFMT9+12                                              03987000
APINAUST EQU   APINFMT9+16                                              03988000
APINFM10 EQU   APINFMTS                                                 03989000
APINAXBS EQU   APINFM10                                                 03990000
APINAXCT EQU   APINFM10+4                                               03991000
APINAXBX EQU   APINFM10+8                                               03992000
APINAXID EQU   APINFM10+12                                              03993000
APINAPMS EQU   APIN                                                     03994000
APINAP1  EQU   APINAPMS                                                 03995000
APINAP1E EQU   APINAP1                                                  03996000
APINAP2  EQU   APINAPMS+4                                               03997000
APINAP2E EQU   APINAP2                                                  03998000
APINAP3  EQU   APINAPMS+8                                               03999000
APINAP4  EQU   APINAPMS+12                                              04000000
APALLGCL EQU   APALDATA                                                 04001000
APALLI1F EQU   APALLGCL+2                                               04002000
APALLI2F EQU   APALLGCL+3                                               04003000
APALIOXF EQU   APALDATA                                                 04004000
APALIOTP EQU   APALIOXF                                                 04005000
APALIOCH EQU   APALIOXF+1                                               04006000
@NM00103 EQU   APCI                                                     04007000
APCIOPID EQU   @NM00103                                                 04008000
APCIOPSZ EQU   @NM00103+2                                               04009000
APCIODTA EQU   @NM00103+4                                               04010000
APCIXDTA EQU   APCIODTA                                                 04011000
APCIXIMM EQU   APCIXDTA+4                                               04012000
APCIXCC  EQU   APCIXDTA+8                                               04013000
APCIIDTA EQU   APCIODTA                                                 04014000
APCIISZ  EQU   APCIIDTA+2                                               04015000
APCIADTA EQU   APCIODTA                                                 04016000
APCIASO  EQU   APCIADTA                                                 04017000
APCIASO0 EQU   APCIASO                                                  04018000
APCIASOV EQU   APCIASO0                                                 04019000
APCIASUF EQU   APCIASO0                                                 04020000
APCIASUD EQU   APCIASO0                                                 04021000
APCIASCE EQU   APCIASO0                                                 04022000
APCIASO1 EQU   APCIASO+1                                                04023000
APCIASSK EQU   APCIASO1                                                 04024000
APCIAVCT EQU   APCIADTA+4                                               04025000
APCIAFS  EQU   APCIAVCT+8                                               04026000
APCIAF0  EQU   APCIAFS                                                  04027000
APCIAF1  EQU   APCIAFS+1                                                04028000
@NM00110 EQU   APCIAVCT                                                 04029000
APCIAV1  EQU   @NM00110                                                 04030000
APCIABS1 EQU   APCIAV1                                                  04031000
APCIADL1 EQU   APCIAV1+4                                                04032000
APCIANB1 EQU   APCIAV1+6                                                04033000
APCIAFS1 EQU   APCIAV1+8                                                04034000
APCIAF01 EQU   APCIAFS1                                                 04035000
APCIARS1 EQU   APCIAF01                                                 04036000
APCIAFP1 EQU   APCIAF01                                                 04037000
APCIAFN1 EQU   APCIAF01                                                 04038000
APCIATC1 EQU   APCIAF01                                                 04039000
APCIAST1 EQU   APCIAF01                                                 04040000
APCIAF11 EQU   APCIAFS1+1                                               04041000
APCIAXB1 EQU   APCIAV1+10                                               04042000
APCIAXD1 EQU   APCIAV1+12                                               04043000
APCIAXN1 EQU   APCIAV1+14                                               04044000
APCIAV2  EQU   @NM00110+16                                              04045000
APCIABS2 EQU   APCIAV2                                                  04046000
APCIADL2 EQU   APCIAV2+4                                                04047000
APCIANB2 EQU   APCIAV2+6                                                04048000
APCIAFS2 EQU   APCIAV2+8                                                04049000
APCIAF02 EQU   APCIAFS2                                                 04050000
APCIARS2 EQU   APCIAF02                                                 04051000
APCIAFP2 EQU   APCIAF02                                                 04052000
APCIAFN2 EQU   APCIAF02                                                 04053000
APCIATC2 EQU   APCIAF02                                                 04054000
APCIAST2 EQU   APCIAF02                                                 04055000
APCIAF12 EQU   APCIAFS2+1                                               04056000
APCIAXB2 EQU   APCIAV2+10                                               04057000
APCIAXD2 EQU   APCIAV2+12                                               04058000
APCIAXN2 EQU   APCIAV2+14                                               04059000
APCIAV3  EQU   @NM00110+32                                              04060000
APCIABS3 EQU   APCIAV3                                                  04061000
APCIADL3 EQU   APCIAV3+4                                                04062000
APCIANB3 EQU   APCIAV3+6                                                04063000
APCIAFS3 EQU   APCIAV3+8                                                04064000
APCIAF03 EQU   APCIAFS3                                                 04065000
APCIARS3 EQU   APCIAF03                                                 04066000
APCIAFP3 EQU   APCIAF03                                                 04067000
APCIAFN3 EQU   APCIAF03                                                 04068000
APCIATC3 EQU   APCIAF03                                                 04069000
APCIAST3 EQU   APCIAF03                                                 04070000
APCIAF13 EQU   APCIAFS3+1                                               04071000
APCIAXB3 EQU   APCIAV3+10                                               04072000
APCIAXD3 EQU   APCIAV3+12                                               04073000
APCIAXN3 EQU   APCIAV3+14                                               04074000
APCIZDTA EQU   APCIODTA                                                 04075000
APCIZV1  EQU   APCIZDTA+4                                               04076000
APCIZFS1 EQU   APCIZV1+8                                                04077000
APCIZF01 EQU   APCIZFS1                                                 04078000
APCIZF11 EQU   APCIZFS1+1                                               04079000
APCIZV2  EQU   APCIZDTA+20                                              04080000
APCIZFS2 EQU   APCIZV2+8                                                04081000
APCIZF02 EQU   APCIZFS2                                                 04082000
APCIZF12 EQU   APCIZFS2+1                                               04083000
         AGO   .@UNREFD                START UNREFERENCED COMPONENTS    04084000
APCIZXN2 EQU   APCIZV2+14                                               04085000
APCIZXD2 EQU   APCIZV2+12                                               04086000
APCIZXB2 EQU   APCIZV2+10                                               04087000
@NM00125 EQU   APCIZF12                                                 04088000
@NM00124 EQU   APCIZF02                                                 04089000
APCIZST2 EQU   APCIZF02                                                 04090000
APCIZTC2 EQU   APCIZF02                                                 04091000
@NM00123 EQU   APCIZF02                                                 04092000
APCIZFN2 EQU   APCIZF02                                                 04093000
APCIZFP2 EQU   APCIZF02                                                 04094000
APCIZRS2 EQU   APCIZF02                                                 04095000
APCIZNB2 EQU   APCIZV2+6                                                04096000
APCIZDL2 EQU   APCIZV2+4                                                04097000
APCIZBS2 EQU   APCIZV2                                                  04098000
APCIZXN1 EQU   APCIZV1+14                                               04099000
APCIZXD1 EQU   APCIZV1+12                                               04100000
APCIZXB1 EQU   APCIZV1+10                                               04101000
@NM00122 EQU   APCIZF11                                                 04102000
@NM00121 EQU   APCIZF01                                                 04103000
APCIZST1 EQU   APCIZF01                                                 04104000
APCIZTC1 EQU   APCIZF01                                                 04105000
@NM00120 EQU   APCIZF01                                                 04106000
APCIZFN1 EQU   APCIZF01                                                 04107000
APCIZFP1 EQU   APCIZF01                                                 04108000
APCIZRS1 EQU   APCIZF01                                                 04109000
APCIZNB1 EQU   APCIZV1+6                                                04110000
APCIZDL1 EQU   APCIZV1+4                                                04111000
APCIZBS1 EQU   APCIZV1                                                  04112000
APCIZX2  EQU   APCIZDTA+2                                               04113000
APCIZX1  EQU   APCIZDTA                                                 04114000
@NM00119 EQU   APCIAF13                                                 04115000
@NM00118 EQU   APCIAF03                                                 04116000
@NM00117 EQU   APCIAF03                                                 04117000
@NM00116 EQU   APCIAF12                                                 04118000
@NM00115 EQU   APCIAF02                                                 04119000
@NM00114 EQU   APCIAF02                                                 04120000
@NM00113 EQU   APCIAF11                                                 04121000
@NM00112 EQU   APCIAF01                                                 04122000
@NM00111 EQU   APCIAF01                                                 04123000
@NM00109 EQU   APCIADTA+20                                              04124000
APCIAXN  EQU   APCIAVCT+14                                              04125000
APCIAXD  EQU   APCIAVCT+12                                              04126000
APCIAXB  EQU   APCIAVCT+10                                              04127000
@NM00108 EQU   APCIAF1                                                  04128000
@NM00107 EQU   APCIAF0                                                  04129000
APCIASTR EQU   APCIAF0                                                  04130000
APCIATCM EQU   APCIAF0                                                  04131000
@NM00106 EQU   APCIAF0                                                  04132000
APCIAFNG EQU   APCIAF0                                                  04133000
APCIAFPS EQU   APCIAF0                                                  04134000
APCIARSN EQU   APCIAF0                                                  04135000
APCIANBR EQU   APCIAVCT+6                                               04136000
APCIADLT EQU   APCIAVCT+4                                               04137000
APCIABSA EQU   APCIAVCT                                                 04138000
APCIADO  EQU   APCIADTA+2                                               04139000
@NM00105 EQU   APCIASO1                                                 04140000
@NM00104 EQU   APCIASO0                                                 04141000
APCIIBSA EQU   APCIIDTA+4                                               04142000
APCIIX2  EQU   APCIISZ                                                  04143000
APCIIX   EQU   APCIIDTA                                                 04144000
APCIXBRO EQU   APCIXDTA+10                                              04145000
APCIXBSX EQU   APCIXCC                                                  04146000
APCIXBSA EQU   APCIXIMM                                                 04147000
APCIXID2 EQU   APCIXDTA+2                                               04148000
APCIXID1 EQU   APCIXDTA                                                 04149000
APCIOPCD EQU   APCIOPID+1                                               04150000
APCIOPTP EQU   APCIOPID                                                 04151000
@NM00098 EQU   APALIOXF+8                                               04152000
@NM00097 EQU   APALIOXF+2                                               04153000
@NM00096 EQU   APALIOCH                                                 04154000
APALIOWR EQU   APALIOCH                                                 04155000
APALIORD EQU   APALIOCH                                                 04156000
@NM00095 EQU   APALIOTP                                                 04157000
APALIOX  EQU   APALIOTP                                                 04158000
APALIOBS EQU   APALIOTP                                                 04159000
@NM00094 EQU   APALLGCL+4                                               04160000
@NM00093 EQU   APALLI2F                                                 04161000
APALLI2S EQU   APALLI2F                                                 04162000
APALLI2I EQU   APALLI2F                                                 04163000
APALLI2X EQU   APALLI2F                                                 04164000
@NM00092 EQU   APALLI1F                                                 04165000
APALLI1S EQU   APALLI1F                                                 04166000
APALLI1I EQU   APALLI1F                                                 04167000
APALLI1X EQU   APALLI1F                                                 04168000
APALLTYP EQU   APALLGCL                                                 04169000
APINAP4P EQU   APINAP4+1                                                04170000
@NM00073 EQU   APINAP4                                                  04171000
APINAP4E EQU   APINAP4                                                  04172000
APINAP3P EQU   APINAP3+1                                                04173000
@NM00072 EQU   APINAP3                                                  04174000
APINAP3E EQU   APINAP3                                                  04175000
APINAP2P EQU   APINAP2+1                                                04176000
@NM00071 EQU   APINAP2                                                  04177000
APINAP1P EQU   APINAP1+1                                                04178000
@NM00070 EQU   APINAP1                                                  04179000
@NM00052 EQU   APCTU+48                                                 04180000
APCT1MBM EQU   APCTU+16                                                 04181000
@NM00051 EQU   APCTZ1+108                                               04182000
@NM00050 EQU   APCTZ1+52                                                04183000
@NM00049 EQU   APCTZ1+48                                                04184000
@NM00048 EQU   APCTZ1+44                                                04185000
@NM00047 EQU   APCTZ1+36                                                04186000
@NM00046 EQU   APCTZ1+32                                                04187000
@NM00045 EQU   APCTZ1+16                                                04188000
@NM00044 EQU   APCTZ1+12                                                04189000
@NM00043 EQU   APCTZ+396                                                04190000
@NM00042 EQU   APCTZ+352                                                04191000
@NM00041 EQU   APCTZ+348                                                04192000
@NM00040 EQU   APCTZ+336                                                04193000
@NM00039 EQU   APCTZ+292                                                04194000
APCTZJFA EQU   APCTZ+228                                                04195000
APCTZMBR EQU   APCTZ+100                                                04196000
@NM00038 EQU   APCTZ+20                                                 04197000
APSVWORK EQU   APSV+80                                                  04198000
@NM00126 EQU   APSV+80                                                  04199000
APSVFREE EQU   APSV+76                                                  04200000
APSVAPSM EQU   APSV+72                                                  04201000
APSVRG12 EQU   APSVREGS+56                                              04202000
APSVRG11 EQU   APSVREGS+52                                              04203000
APSVRG10 EQU   APSVREGS+48                                              04204000
APSVRG9  EQU   APSVREGS+44                                              04205000
APSVRG8  EQU   APSVREGS+40                                              04206000
APSVRG7  EQU   APSVREGS+36                                              04207000
APSVRG6  EQU   APSVREGS+32                                              04208000
APSVRG5  EQU   APSVREGS+28                                              04209000
APSVRG4  EQU   APSVREGS+24                                              04210000
APSVRG3  EQU   APSVREGS+20                                              04211000
APSVRG2  EQU   APSVREGS+16                                              04212000
APSVRG1  EQU   APSVREGS+12                                              04213000
APSVRG0  EQU   APSVREGS+8                                               04214000
APSVRG15 EQU   APSVREGS+4                                               04215000
APSVRG14 EQU   APSVREGS                                                 04216000
APSVNEXT EQU   APSV+8                                                   04217000
APSVPREV EQU   APSV+4                                                   04218000
APSVAPSC EQU   APSV                                                     04219000
APCIHELM EQU   APCI+4                                                   04220000
@NM00102 EQU   APCIHDR+4                                                04221000
@NM00101 EQU   APCIHFG1                                                 04222000
@NM00100 EQU   APCIHFG0                                                 04223000
@NM00099 EQU   APCIHDR                                                  04224000
@NM00091 EQU   APALU+5                                                  04225000
@NM00090 EQU   APALUFMT                                                 04226000
APALUFOP EQU   APALUFMT                                                 04227000
APALUFRQ EQU   APALUFMT                                                 04228000
@NM00089 EQU   APALUDL                                                  04229000
@NM00088 EQU   APALUCT                                                  04230000
@NM00087 EQU   APALUVS                                                  04231000
APALUFFL EQU   APALUFSW                                                 04232000
@NM00086 EQU   APALX+5                                                  04233000
@NM00085 EQU   APALXFMT                                                 04234000
APALXFOP EQU   APALXFMT                                                 04235000
APALXFRQ EQU   APALXFMT                                                 04236000
@NM00084 EQU   APALXDL                                                  04237000
@NM00083 EQU   APALXCT                                                  04238000
@NM00082 EQU   APALXVS                                                  04239000
APALXFFL EQU   APALXFSW                                                 04240000
@NM00081 EQU   APALY+5                                                  04241000
@NM00080 EQU   APALYFMT                                                 04242000
APALYFOP EQU   APALYFMT                                                 04243000
APALYFRQ EQU   APALYFMT                                                 04244000
@NM00079 EQU   APALYDL                                                  04245000
@NM00078 EQU   APALYCT                                                  04246000
@NM00077 EQU   APALYVS                                                  04247000
APALYVOP EQU   APALYVS                                                  04248000
APALYVRQ EQU   APALYVS                                                  04249000
APALYFFL EQU   APALYFSW                                                 04250000
@NM00076 EQU   APALALG+1                                                04251000
@NM00075 EQU   APALSTAT                                                 04252000
APALSDIV EQU   APALSTAT                                                 04253000
APALSCON EQU   APALSTAT                                                 04254000
APALSUNF EQU   APALSTAT                                                 04255000
APALSOVF EQU   APALSTAT                                                 04256000
@NM00074 EQU   APAL+6                                                   04257000
APALUSER EQU   APAL                                                     04258000
@NM00068 EQU   APEM+128                                                 04259000
APEMSSNM EQU   APEM+124                                                 04260000
APEMCM17 EQU   APEM+123                                                 04261000
APEMAPRL EQU   APEM+117                                                 04262000
APEMCM16 EQU   APEM+116                                                 04263000
APEMVALP EQU   APEMVALU                                                 04264000
APEMCM15 EQU   APEM+107                                                 04265000
@NM00067 EQU   APEMMSG+4                                                04266000
APEMCM13 EQU   APEM+91                                                  04267000
APEMCCWC EQU   APEM+85                                                  04268000
APEMCM12 EQU   APEM+84                                                  04269000
APEMDDN  EQU   APEM+76                                                  04270000
APEMCM11 EQU   APEM+75                                                  04271000
APEMDVTP EQU   APEM+73                                                  04272000
APEMCM10 EQU   APEM+72                                                  04273000
APEMUNIT EQU   APEM+69                                                  04274000
APEMCM09 EQU   APEM+68                                                  04275000
APEMSTEP EQU   APEM+60                                                  04276000
APEMCM08 EQU   APEM+59                                                  04277000
APEMJOB  EQU   APEM+51                                                  04278000
APEMCM07 EQU   APEM+50                                                  04279000
APEMCICT EQU   APEM+48                                                  04280000
APEMCM06 EQU   APEM+47                                                  04281000
APEMCIOP EQU   APEM+43                                                  04282000
APEMCM05 EQU   APEM+42                                                  04283000
APEMCINM EQU   APEM+38                                                  04284000
APEMCM04 EQU   APEM+37                                                  04285000
APEMNAME EQU   APEM+33                                                  04286000
APEMCM03 EQU   APEM+32                                                  04287000
APEMERCD EQU   APEM+26                                                  04288000
APEMCM02 EQU   APEM+25                                                  04289000
APEMTIME EQU   APEM+18                                                  04290000
APEMCM01 EQU   APEM+17                                                  04291000
APEMDATE EQU   APEM+12                                                  04292000
APEMREG1 EQU   APEM+8                                                   04293000
APEMZ2   EQU   APEM+6                                                   04294000
APEMSZ2  EQU   APEM+4                                                   04295000
APEMZ1   EQU   APEM+2                                                   04296000
APEMSZ1  EQU   APEM                                                     04297000
@NM00066 EQU   APCW+240                                                 04298000
@NM00065 EQU   APCW+112                                                 04299000
@NM00064 EQU   APCW+80                                                  04300000
@NM00063 EQU   APCW+76                                                  04301000
APCWZCNV EQU   APCWINT3                                                 04302000
APCWZFLO EQU   APCWINT3                                                 04303000
APCWZFLU EQU   APCWINT3                                                 04304000
APCWZFLD EQU   APCWINT3                                                 04305000
APCWZIDX EQU   APCWINT3                                                 04306000
APCWZFLN EQU   APCWINT3                                                 04307000
@NM00062 EQU   APCWINT3                                                 04308000
APCWZLGC EQU   APCWINT2                                                 04309000
APCWZHDW EQU   APCWINT2                                                 04310000
APCWZUKN EQU   APCWINT2                                                 04311000
@NM00061 EQU   APCWINT2                                                 04312000
@NM00060 EQU   APCWINT1                                                 04313000
@NM00059 EQU   APCWINT0                                                 04314000
APCWRC0  EQU   APCWRCDE                                                 04315000
APCWR15B EQU   APCWR15C+3                                               04316000
@NM00058 EQU   APCWR15C                                                 04317000
@NM00057 EQU   APCW+60                                                  04318000
APCWAPFN EQU   APCW+56                                                  04319000
@NM00056 EQU   APCW+52                                                  04320000
APCWNBRI EQU   APCW+48                                                  04321000
APCWSW1  EQU   APCWSWS+1                                                04322000
@NM00055 EQU   APCWSW0                                                  04323000
APCWSVAL EQU   APCWSW0                                                  04324000
APCWSIX  EQU   APCWSW0                                                  04325000
@NM00054 EQU   APCW+44                                                  04326000
@NM00053 EQU   APCW+36                                                  04327000
APCWAPCP EQU   APCW+32                                                  04328000
APCWAPIO EQU   APCW+28                                                  04329000
APCWAPRL EQU   APCW+24                                                  04330000
APCWACBF EQU   APCWACB                                                  04331000
APCWAPSV EQU   APCW+16                                                  04332000
APCWAPUT EQU   APCW+12                                                  04333000
APCWUSER EQU   APCW+4                                                   04334000
APCWID   EQU   APCW                                                     04335000
@NM00037 EQU   APCT+1556                                                04336000
APCTSVCT EQU   APCT+1552                                                04337000
APCTDAVT EQU   APCT+1548                                                04338000
APCTLOGL EQU   APCT+1544                                                04339000
@NM00036 EQU   APCT+1540                                                04340000
APCTDMPU EQU   APCT+1536                                                04341000
APCTDMPM EQU   APCT+1532                                                04342000
APCTNDMP EQU   APCT+1530                                                04343000
APCTASID EQU   APCT+1528                                                04344000
APCTLGPG EQU   APCT+1526                                                04345000
APCTLGLN EQU   APCT+1524                                                04346000
APCTAPVU EQU   APCT+1520                                                04347000
APCTABR  EQU   APCT+1116                                                04348000
APCTACTR EQU   APCT+1112                                                04349000
APCTLOGD EQU   APCT+1108                                                04350000
APCTDCLD EQU   APCT+1104                                                04351000
APCTIOAP EQU   APCT+1100                                                04352000
@NM00035 EQU   APCT+1080                                                04353000
@NM00034 EQU   APCT+1078                                                04354000
APCTKCAX EQU   APCT+1076                                                04355000
APCTABND EQU   APCT+1072                                                04356000
@NM00033 EQU   APCT+1068                                                04357000
APCTAPIO EQU   APCT+1064                                                04358000
APCTCSCT EQU   APCT+1060                                                04359000
APCTSTDF EQU   APCT+1056                                                04360000
APCTSTMX EQU   APCT+1052                                                04361000
APCTRGMX EQU   APCT+1048                                                04362000
APCTSIZE EQU   APCT+1046                                                04363000
APCTCTUB EQU   APCT+1045                                                04364000
APCTMFID EQU   APCT+1044                                                04365000
APCTMFSZ EQU   APCT+1040                                                04366000
APCTCRTN EQU   APCT+1036                                                04367000
APCTAPCP EQU   APCT+1032                                                04368000
APCTAMNA EQU   APCT+1028                                                04369000
APCTEMNA EQU   APCT+1024                                                04370000
APCTAALP EQU   APCT+1020                                                04371000
APCTEALP EQU   APCT+1016                                                04372000
@NM00032 EQU   APCT+1012                                                04373000
@NM00031 EQU   APCT+1008                                                04374000
@NM00030 EQU   APCT+1004                                                04375000
APCTEIPL EQU   APCT+1000                                                04376000
@NM00029 EQU   APCT+996                                                 04377000
@NM00028 EQU   APCT+992                                                 04378000
@NM00027 EQU   APCT+988                                                 04379000
@NM00026 EQU   APCT+984                                                 04380000
@NM00025 EQU   APCT+980                                                 04381000
APCTECPW EQU   APCT+976                                                 04382000
APCTEULD EQU   APCT+972                                                 04383000
APCTECPT EQU   APCT+968                                                 04384000
APCTEALC EQU   APCT+964                                                 04385000
APCTECBL EQU   APCT+960                                                 04386000
APCTECIT EQU   APCT+956                                                 04387000
APCTCQAF EQU   APCTCQAQ                                                 04388000
APCTCQL  EQU   APCTAPCQ+4                                               04389000
APCTCQF  EQU   APCTAPCQ                                                 04390000
APCTCQLK EQU   APCT+940                                                 04391000
@NM00024 EQU   @NM00020+2                                               04392000
@NM00023 EQU   APCTPRSW                                                 04393000
APCTAPST EQU   APCTPRSW                                                 04394000
@NM00022 EQU   APCTPRSW                                                 04395000
@NM00021 EQU   APCTSTAT                                                 04396000
APCTWARM EQU   APCTSTAT                                                 04397000
APCTTERM EQU   APCTSTAT                                                 04398000
APCTHALT EQU   APCTSTAT                                                 04399000
APCTQSCE EQU   APCTSTAT                                                 04400000
APCTSTRT EQU   APCTSTAT                                                 04401000
APCTACT  EQU   APCTSTAT                                                 04402000
APCTVUNX EQU   APCT+935                                                 04403000
APCTSOUT EQU   APCT+934                                                 04404000
APCTDAID EQU   APCT+933                                                 04405000
APCTSV34 EQU   APCT+932                                                 04406000
APCTMJOB EQU   APCT+928                                                 04407000
APCTTCB  EQU   APCT+924                                                 04408000
APCTASCB EQU   APCT+920                                                 04409000
APCTDCNW EQU   APCT+918                                                 04410000
APCTDCNR EQU   APCT+916                                                 04411000
@NM00019 EQU   APCT+912                                                 04412000
@NM00018 EQU   APCT+908                                                 04413000
@NM00017 EQU   APCT+904                                                 04414000
@NM00016 EQU   APCT+900                                                 04415000
@NM00015 EQU   APCTERRS+22                                              04416000
APCTERTJ EQU   APCTERRS+20                                              04417000
APCTERTD EQU   APCTERRS+18                                              04418000
APCTERTC EQU   APCTERRS+16                                              04419000
APCTERTB EQU   APCTERRS+14                                              04420000
APCTERTA EQU   APCTERRS+12                                              04421000
APCTERT9 EQU   APCTERRS+10                                              04422000
APCTERT3 EQU   APCTERRS+8                                               04423000
APCTERT2 EQU   APCTERRS+6                                               04424000
APCTERT1 EQU   APCTERRS+4                                               04425000
APCTERT0 EQU   APCTERRS+2                                               04426000
APCTERTT EQU   APCTERRS                                                 04427000
APCTDSAP EQU   APCT+872                                                 04428000
APCTISUB EQU   APCT+868                                                 04429000
APCTUBAP EQU   APCT+864                                                 04430000
APCTAPDS EQU   APCT+860                                                 04431000
APCTUBIC EQU   APCT+856                                                 04432000
APCTUBIS EQU   APCT+852                                                 04433000
APCTAPUB EQU   APCT+848                                                 04434000
APCTUBLK EQU   APCT+844                                                 04435000
APCTBR1A EQU   APCTBR14+2                                               04436000
@NM00014 EQU   APCTBR14                                                 04437000
APCTSMSZ EQU   APCTSMAD+2                                               04438000
@NM00013 EQU   APCTSMAD+1                                               04439000
@NM00012 EQU   APCTSMAD                                                 04440000
APCTSMIS EQU   APCTSMIN+2                                               04441000
@NM00011 EQU   APCTSMIN+1                                               04442000
APCTSMSP EQU   APCTSMIN                                                 04443000
@NM00010 EQU   APCT+30                                                  04444000
APCTLINE EQU   APCT+28                                                  04445000
APCTLBSZ EQU   APCT+24                                                  04446000
APCTREG  EQU   APCT+20                                                  04447000
APCTSSID EQU   APCTENQM+4                                               04448000
@NM00009 EQU   APCTENQM                                                 04449000
APCTSSVT EQU   APCT+8                                                   04450000
APCTUSER EQU   APCT+4                                                   04451000
APCTID   EQU   APCT                                                     04452000
@NM00008 EQU   PARMSIGN                                                 04453000
@NM00007 EQU   UARRV+1                                                  04454000
UARRVLIM EQU   UARRV                                                    04455000
@NM00006 EQU   IFMU                                                     04456000
@NM00005 EQU   XARRV+1                                                  04457000
XARRVLIM EQU   XARRV                                                    04458000
@NM00004 EQU   IFMX                                                     04459000
@NM00003 EQU   YARRV+1                                                  04460000
YARRVLIM EQU   YARRV                                                    04461000
@NM00002 EQU   IFMY                                                     04462000
RSVD     EQU   DESCRVEC                                                 04463000
@NM00001 EQU   ISTATE                                                   04464000
.@UNREFD ANOP                          END UNREFERENCED COMPONENTS      04465000
@RC00076 EQU   @RC00075                                                 04466000
@RC00125 EQU   @RC00124                                                 04467000
@RF00130 EQU   @RC00124                                                 04468000
@RC00150 EQU   @RC00099                                                 04469000
@RC00230 EQU   @RC00208                                                 04470000
@RF00208 EQU   OUTERR1                                                  04471000
@RF00236 EQU   OUTERR1                                                  04472000
@RC00236 EQU   @RC00235                                                 04473000
@RC00245 EQU   @RC00244                                                 04474000
@RC00251 EQU   @RC00244                                                 04475000
@RF00259 EQU   OUTERR1                                                  04476000
@RC00259 EQU   @RC00258                                                 04477000
@RC00268 EQU   @RC00267                                                 04478000
@RC00272 EQU   @RC00267                                                 04479000
@RF00278 EQU   OUTERR1                                                  04480000
@RC00278 EQU   @RC00277                                                 04481000
@RF00288 EQU   OUTERR1                                                  04482000
@RC00288 EQU   @RC00287                                                 04483000
@RF00298 EQU   OUTERR1                                                  04484000
@RC00298 EQU   @RC00297                                                 04485000
@RF00311 EQU   OUTERR1                                                  04486000
@RC00311 EQU   @RC00310                                                 04487000
@RC00344 EQU   @RC00337                                                 04488000
@RC00338 EQU   @RC00337                                                 04489000
@RC00370 EQU   @RC00337                                                 04490000
@RF00376 EQU   OUTERR1                                                  04491000
@RC00376 EQU   @RC00375                                                 04492000
@RC00385 EQU   @RC00384                                                 04493000
@RC00391 EQU   @RC00384                                                 04494000
@RF00399 EQU   OUTERR1                                                  04495000
@RC00399 EQU   @RC00398                                                 04496000
@RC00408 EQU   @RC00407                                                 04497000
@RF00425 EQU   OUTERR1                                                  04498000
@RC00418 EQU   @RC00417                                                 04499000
@RF00437 EQU   OUTERR1                                                  04500000
@RC00430 EQU   @RC00429                                                 04501000
@RF00449 EQU   OUTERR1                                                  04502000
@RC00441 EQU   @RC00307                                                 04503000
@RT00454 EQU   OUTERR1                                                  04504000
@RF00460 EQU   OUTERR1                                                  04505000
@RC00460 EQU   @RC00459                                                 04506000
@RC00493 EQU   @RC00486                                                 04507000
@RC00487 EQU   @RC00486                                                 04508000
@RC00519 EQU   @RC00486                                                 04509000
@RF00525 EQU   OUTERR1                                                  04510000
@RC00525 EQU   @RC00524                                                 04511000
@RC00534 EQU   @RC00533                                                 04512000
@RC00540 EQU   @RC00533                                                 04513000
@RF00548 EQU   OUTERR1                                                  04514000
@RC00548 EQU   @RC00547                                                 04515000
@RC00557 EQU   @RC00556                                                 04516000
@RF00574 EQU   OUTERR1                                                  04517000
@RC00567 EQU   @RC00566                                                 04518000
@RF00586 EQU   OUTERR1                                                  04519000
@RC00579 EQU   @RC00578                                                 04520000
@RF00598 EQU   OUTERR1                                                  04521000
@RC00590 EQU   @RC00456                                                 04522000
@RT00603 EQU   OUTERR1                                                  04523000
@RC00631 EQU   @RC00630                                                 04524000
@RC00636 EQU   @RC00635                                                 04525000
@RC00641 EQU   @RC00640                                                 04526000
@RC00646 EQU   @RC00645                                                 04527000
@RC00651 EQU   @RC00650                                                 04528000
@RC00661 EQU   @RC00660                                                 04529000
@RC00673 EQU   @RC00672                                                 04530000
@RC00685 EQU   @RC00684                                                 04531000
@RC00733 EQU   @RC00732                                                 04532000
@RC00738 EQU   @RC00737                                                 04533000
@RC00743 EQU   @RC00742                                                 04534000
@RC00748 EQU   @RC00747                                                 04535000
@RC00753 EQU   @RC00752                                                 04536000
@RC00763 EQU   @RC00762                                                 04537000
@RC00775 EQU   @RC00774                                                 04538000
@RC00787 EQU   @RC00786                                                 04539000
@RC00837 EQU   @RC00836                                                 04540000
@RC00842 EQU   @RC00841                                                 04541000
@RC00847 EQU   @RC00846                                                 04542000
@RC00852 EQU   @RC00851                                                 04543000
@RC00857 EQU   @RC00856                                                 04544000
@RC00867 EQU   @RC00866                                                 04545000
@RC00879 EQU   @RC00878                                                 04546000
@RC00891 EQU   @RC00890                                                 04547000
@RT00916 EQU   @EL00001                                                 04548000
@RC00151 EQU   @RC00150                                                 04549000
@RC00155 EQU   @RC00150                                                 04550000
@RC00239 EQU   @RC00236                                                 04551000
@RC00246 EQU   @RC00245                                                 04552000
@RC00262 EQU   @RC00259                                                 04553000
@RC00281 EQU   @RC00278                                                 04554000
@RC00291 EQU   @RC00288                                                 04555000
@RC00301 EQU   @RC00298                                                 04556000
@RC00332 EQU   @RC00311                                                 04557000
@RC00379 EQU   @RC00376                                                 04558000
@RC00386 EQU   @RC00385                                                 04559000
@RC00402 EQU   @RC00399                                                 04560000
@RC00411 EQU   @RC00408                                                 04561000
@RC00421 EQU   @RC00418                                                 04562000
@RC00433 EQU   @RC00430                                                 04563000
@RC00442 EQU   @RC00441                                                 04564000
@RC00481 EQU   @RC00460                                                 04565000
@RC00528 EQU   @RC00525                                                 04566000
@RC00535 EQU   @RC00534                                                 04567000
@RC00551 EQU   @RC00548                                                 04568000
@RC00560 EQU   @RC00557                                                 04569000
@RC00570 EQU   @RC00567                                                 04570000
@RC00582 EQU   @RC00579                                                 04571000
@RC00591 EQU   @RC00590                                                 04572000
@RC00662 EQU   @RC00661                                                 04573000
@RC00674 EQU   @RC00673                                                 04574000
@RC00686 EQU   @RC00685                                                 04575000
@RC00764 EQU   @RC00763                                                 04576000
@RC00776 EQU   @RC00775                                                 04577000
@RC00788 EQU   @RC00787                                                 04578000
@RC00868 EQU   @RC00867                                                 04579000
@RC00880 EQU   @RC00879                                                 04580000
@RC00892 EQU   @RC00891                                                 04581000
@RF00159 EQU   @RC00155                                                 04582000
@RC00445 EQU   @RC00442                                                 04583000
@RC00594 EQU   @RC00591                                                 04584000
@ENDDATA EQU   *                                                        04585000
         END   IGTMDA,(C'PLS1223',0701,77231)                           04586000
