         TITLE ' IKJEFE04 - EXEC MESSAGE MODULE'                        00010000
* GEN(TITLE  'IKJEFE04 - EXEC MESSAGE MODULE');                         00020000
         TITLE  'IKJEFE04 - EXEC MESSAGE MODULE'                        00030000
* IKJEFE04: PROC (DUMPARM) OPTIONS (DONTSAVE(1,15),REENTRANT);          00040000
         LCLA  &T,&SPN                                            0002  00050000
.@001    ANOP                                                     0002  00060000
IKJEFE04 CSECT ,                                                  0002  00070000
         ST    @E,12(0,@D)                                        0002  00080000
         ST    @0,20(0,@D)                                        0002  00090000
         STM   @2,@C,28(@D)                                       0002  00100000
         BALR  @B,0                                               0002  00110000
@PSTART  DS    0H                                                 0002  00120000
         USING @PSTART+00000,@B                                   0002  00130000
         LR    @C,@1                                              0002  00140000
         L     @0,@SIZ001                                         0002  00150000
         GETMAIN  R,LV=(0)                                        0002  00160000
         XR    @C,@1                                              0002  00170000
         XR    @1,@C                                              0002  00180000
         XR    @C,@1                                              0002  00190000
         USING @DATD+00000,@C                                     0002  00200000
         L     @0,20(0,@D)                                        0002  00210000
         XC    @TEMPS(@L),@TEMPS                                  0002  00220000
         ST    @D,@SAV001+4                                       0002  00230000
         LA    @F,@SAV001                                         0002  00240000
         ST    @F,8(0,@D)                                         0002  00250000
         LR    @D,@F                                              0002  00260000
* /******************************************************************** 00270000
* /*                                                                  * 00280000
* /*  STATUS --                                                       * 00290000
* /*     CHANGE LEVEL 000                                             * 00300000
* /*    D305000-355500,245000-245500,247000-249000              Y01676* 00310000
* /*    D243000-243500,257500,259500,261500-265000              Y01676* 00320000
* /*    C097000,200000,368500                                   Y01676* 00330000
* /*    A304000-304500,097100-097200,200100-200200              Y01676* 00340000
* /*    A253600,253700,368600                                   Y01676* 00350000
* /*                                                            20035 * 00360000
* /*                                                                  * 00370000
* /*  FUNCTION --                                                     * 00380000
* /*     MODULE IKJEFE04 IS INVOKED BY ONE OF THE OTHER MODULES       * 00390000
* /*     OF EXEC TO INVOKE THE PUTLINE SERVICE ROUTINE TO PUT A       * 00400000
* /*     MESSAGE TO THE TERMINAL.                                     * 00410000
* /*                                                                  * 00420000
* /*     UPON ENTRY TO E04 A CHECK IS MADE TO DETERMINE IF THERE      * 00430000
* /*     IS A DYNAMIC PORTION OF THE MESSAGE. IF THERE IS, THE        * 00440000
* /*     SEGMENT COUNT FIELD OF THE PUTLINE PARM BLOCK IS SET TO      * 00450000
* /*     TWO. OTHERWISE THE SEGMENT COUNT IS SET TO ONE. A CHECK      * 00460000
* /*     IS MADE TO SEE IF THERE ARE TO BE TWO LEVELS OF MESSAGES.    * 00470000
* /*     IF THERE ARE THE PUTLINE PARM BLOCK IS SET TO INDICATE       * 00480000
* /*     THIS. THEN IF THERE IS A DYNAMIC PORTION IT IS MOVED TO      * 00490000
* /*     A WORK AREA WHOSE ADDRESS AND OFFSET ARE JOINED IN THE       * 00500000
* /*     PUTLINE PARM BLOCK. THE TOTAL LENGTH OF THE FIRST LEVEL      * 00510000
* /*     MESSAGE IS THEN EXAMINED TO FIND IF IT EXCEEDS 256 BYTES.    * 00520000
* /*     IF IT DOES THE DYNAMIC PORTION IS TRUNCATED SO THAT THE      * 00530000
* /*     LENGTH WILL BE 256 CHARACTERS.                               * 00540000
* /*                                                                  * 00550000
* /*     NEXT THE ADDRESS OF THE SECOND LEVEL MESSAGE, IF ANY, IS     * 00560000
* /*     PLACED IN THE PUTLINE PARM BLOCK. THE PUTLINE SERVICE        * 00570000
* /*     ROUTINE IS THEN LINKED TO. ON RETURN FROM THE SERVICE        * 00580000
* /*     ROUTINE WE EXAMINE REG15 TO FIND IF AN ERROR OCCURRED.       * 00590000
* /*     IF ONE HAS OCCURRED AN ERROR CODE IS SET IN RETCDAR IN       * 00600000
* /*     IN E01DATDF(SEE 'TABLES/WORK-AREAS').                        * 00610000
* /*     IN EITHER CASE RETURN IS MADE TO THE MODULE                  * 00620000
* /*     WHICH CALLED US.                                             * 00630000
* /*                                                                  * 00640000
* /*  ENTRY POINTS --                                                 * 00650000
* /*     IKJEFE04 - ONLY ENTRY POINT.                                 * 00660000
* /*                                                                  * 00670000
* /*  INPUT --                                                        * 00680000
* /*     REGISTER ONE CONTAINS A POINTER TO THE STRUCTURE E01DATDF.   * 00690000
* /*     (SEE 'TABLES/WORK-AREAS')                                    * 00700000
* /*                                                                  * 00710000
* /*  OUTPUT --                                                       * 00720000
* /*     RETCDAR(A FIELD IN E01DATDF) IS SET TO 16 IF PUTLINE WAS     * 00730000
* /*     UNABLE TO PUT OUT THE LINE.                                  * 00740000
* /*                                                                  * 00750000
* /*  EXTERNAL REFERENCES --                                          * 00760000
* /*     THE STRUCTURE E01DATDF IS USED BY ALL FOUR MODULES FOR COM-  * 00770000
* /*     MUNICATION.                                                  * 00780000
* /*     PUTLINE IS AN I/O SERVICE ROUTINE CALLED TO WRITE A          * 00790000
* /*     MESSAGE TO THE TERMINAL.                                     * 00800000
* /*                                                                  * 00810000
* /*  EXITS, NORMAL --                                                * 00820000
* /*     ALL EXITS ARE RETURNS TO THE CALLER.  RETURN CODES ARE DES-  * 00830000
* /*     CRIBED UNDER OUTPUT.                                         * 00840000
* /*                                                                  * 00850000
* /*  EXITS, ERROR --                                                 * 00860000
* /*     SAME AS NORMAL EXITS WITH ERROR INDICATION SET IN RETURN     * 00870000
* /*     CODE.                                                        * 00880000
* /*                                                                  * 00890000
* /*  TABLES/WORKAREAS --                                             * 00900000
* /*     M1TAB - A TABLE CONTAINING ALL THE FIRST LEVEL MESSAGES TO   * 00910000
* /*             BE SENT TO THE TERMINAL.                             * 00920000
* /*     M2TAB - A TABLE CONTAINING ALL THE SECOND LEVEL MESSAGES TO  * 00930000
* /*             BE SENT TO THE TERMINAL.                             * 00940000
* /*     ADTAB1 - TABLE OF ADDRESSES OF FIRST LEVEL MESSAGES.         * 00950000
* /*     ADTAB2 - TABLE OF ADDRESSES OF SECOND LEVEL MESSAGES.        * 00960000
* /*                                                                  * 00970000
* /*    E01DATDF (DOUBLE WORD BOUNDARY)                               * 00980000
* /*      |---------------------------------------------------------| * 00990000
* /*   +0 |DCB FOR DATA SET CONTAINING COMMAND PROCEDURE            | * 01000000
* /*      |---------------------------------------------------------| * 01010000
* /*   +88|POINTER USED FOR INDIRECT ADDRESSING                     | * 01020000
* /*      |---------------------------------------------------------| * 01030000
* /*   +92|POINTER USED FOR INDIRECT ADDRESSING                     | * 01040000
* /*      |---------------------------------------------------------| * 01050000
* /*   +96|NAME OF PDS MEMBER WHICH CONTAINS THE PROC               | * 01060000
* /*      |---------------------------------------------------------| * 01070000
* /*  +104|DECB FOR THE READ MACRO                                  | * 01080000
* /*      |---------------------------------------------------------| * 01090000
* /*  +124|POINTER TO INPUT RECORD FROM PROC                        | * 01100000
* /*      |---------------------------------------------------------| * 01110000
* /*  +128|NO. OF BYTES ON INPUT RCD WHICH HAVE NOT BEEN PROCESSED  | * 01120000
* /*      |---------------------------------------------------------| * 01130000
* /*  +132|NO. OF POSITIONAL PARAMETERS FOUND ON THE PROC STATEMENT | * 01140000
* /*      |---------------------------------------------------------| * 01150000
* /*  +136|WORK AREA - ALSO USED TO PASS ADDRESS OF CORE TO BE FREED| * 01160000
* /*      |  BY MODULE E03                                          | * 01170000
* /*      |---------------------------------------------------------| * 01180000
* /*  +140|MINIMUM AMOUNT OF CORE NEEDED FROM A GETMAIN             | * 01190000
* /*      |---------------------------------------------------------| * 01200000
* /*  +144|MAXIMUM AMOUNT OF CORE NEEDED FROM A GETMAIN             | * 01210000
* /*      |---------------------------------------------------------| * 01220000
* /*  +148|ADDRESS OF CORE OBTAINED VIA GETMAIN                     | * 01230000
* /*      |---------------------------------------------------------| * 01240000
* /*  +152|AMOUNT OF CORE OBTAINED VIA GETMAIN                      | * 01250000
* /*      |---------------------------------------------------------| * 01260000
* /*  +156|ADDRESS OF SUBPOOL 78 CORE WHICH BELONGS TO US           | * 01270000
* /*      |---------------------------------------------------------| * 01280000
* /*  +160|LENGTH OF SUBPOOL 78 CORE WHICH BELONGS TO US            | * 01290000
* /*      |---------------------------------------------------------| * 01300000
* /*  +164|WORK AREA                                                | * 01310000
* /*      |---------------------------------------------------------| * 01320000
* /*  +168|NO. OF POSITIONAL PARMS SPECIFIED ON THE PROC STMT       | * 01330000
* /*      |---------------------------------------------------------| * 01340000
* /*  +172|POINTER TO CURRENT BLOCK OF ATAB                         | * 01350000
* /*      |---------------------------------------------------------| * 01360000
* /*  +176|POINTER TO CURRENT ELEMENT OF ATAB                       | * 01370000
* /*      |---------------------------------------------------------| * 01380000
* /*  +180|POINTER TO CURRENT BLOCK OF FTAB                         | * 01390000
* /*      |---------------------------------------------------------| * 01400000
* /*  +184|POINTER TO CURRENT ELEMENT OF FTAB                       | * 01410000
* /*      |---------------------------------------------------------| * 01420000
* /*  +188|NO. OF BYTES IN VALUE PART OF KEYWORD WITH VALUE         | * 01430000
* /*      |---------------------------------------------------------| * 01440000
* /*  +192|NO. OF KEYWORD W/O VALUE PARMS DEFINED IN PROC STMT      | * 01450000
* /*      |---------------------------------------------------------| * 01460000
* /*  +194|NO. OF KEYWORD WITH VALUE PARMS DEFINED IN PROC STMT     | * 01470000
* /*      |---------------------------------------------------------| * 01480000
* /*  +196|TOTAL BYTES IN ALL KEYWORD W/O VALUE PARMS               | * 01490000
* /*      |---------------------------------------------------------| * 01500000
* /*  +198|TOTAL BYTES IN ALL KEYWORD WITH VALUE PARMS              | * 01510000
* /*      |---------------------------------------------------------| * 01520000
* /*  +200|WORK AREA                                                | * 01530000
* /*      |---------------------------------------------------------| * 01540000
* /*  +202|SWITCHES                                                 | * 01550000
* /*      |  BIT 0 - SET TO ONE WHEN PROCEESING IMPLICIT EXEC       | * 01560000
* /*      |  BIT 1 - SET TO ONE WHEN E03 IS CALLED TO READ FIRST    | * 01570000
* /*      |          LINE OF PROC                                   | * 01580000
* /*      | BIT 2 -  SET TO ONE IF PROCEDURE HAS NO PROC STATEMENT  | * 01590000
* /*      | BIT 3  - SET TO ONE IF NO PROC STMT AND FIRST LINE OF   | * 01600000
* /*      |          PROC IS NOT EMPTY                              | * 01610000
* /*      | BIT 4 - SET TO ONE WHEN AN ABEND HAS OCCURRED           | * 01620000
* /*      | BIT 5 - SET TO ONE WHEN THE PROMPT OPTION WAS           | * 01630000
* /*      |         SPECIFIED ON THE INVOCATION STATEMENT           | * 01640000
* /*      | BIT 6 - SET TO ONE WHEN E03 IS CALLED TO READ A RCD     | * 01650000
* /*      |         OTHER THAN THE FIRST                            | * 01660000
* /*      | BIT 7 - SET TO ONE IF RECORD FORMAT IS VARIABLE         | * 01670000
* /*      | BIT 8 - TERMINATION SWITCH (SET TO ONE IF PROC IS       | * 01680000
* /*      |         NON-EXECUTABLE)                                 | * 01690000
* /*      | BIT 9 - SET TO ONE IF E03 HAS BEEN CALLED FOR A GETMAIN | * 01700000
* /*      | BIT 10 - SET TO ONE WHEN DATA SET  IS NULL              | * 01710000
* /*      | BIT 11 - SET TO ONE WHEN CORE HAS BEEN OBTAINED FROM    | * 01720000
* /*      |          SUBPOOL 78                                     | * 01730000
* /*      | BIT 12 - SET TO ONE WHEN E03 HAS BEEN CALLED TO DO A    | * 01740000
* /*      |          FREEMAIN                                       | * 01750000
* /*      | BIT 13 - UNUSED                                         | * 01760000
* /*      | BIT 14 - SET TO ONE WHEN THE MINIMUM AMOUNT OF CORE     | * 01770000
* /*      |          NEEDED COULD NOT BE OBTAINED                   | * 01780000
* /*      | BIT 15 - SET TO ONE WHEN THE LIST OPTION WAS SPECIFIED  | * 01790000
* /*      |          ON THE INVOCATION STATEMENT                    | * 01800000
* /*      |---------------------------------------------------------| * 01810000
* /*  +204|WORK AREA                                                | * 01820000
* /*      |---------------------------------------------------------| * 01830000
* /*  +216|POINTER TO CURRENT ATAB ELEMENT - 1                      | * 01840000
* /*      |---------------------------------------------------------| * 01850000
* /*  +220|POINTER TO FTAB ELEMENT - 1                              | * 01860000
* /*      |---------------------------------------------------------| * 01870000
* /*  +224|POINTER TO FIRST INPUT BUFFER                            | * 01880000
* /*      |---------------------------------------------------------| * 01890000
* /*  +228|POINTER TO SECOND INPUT BUFFER                           | * 01900000
* /*      |---------------------------------------------------------| * 01910000
* /*  +232|POINTER TO CMD PROCESSOR PARAMETER LIST                  | * 01920000
* /*      |---------------------------------------------------------| * 01930000
* /*  +236|PARAMETERS TO BE PASSED TO STAE EXIT ROUTINE             | * 01940000
* /*      |---------------------------------------------------------| * 01950000
* /*  +248|POINTER TO PARSE CONTROL LIST                            | * 01960000
* /*      |---------------------------------------------------------| * 01970000
* /*  +252|STORAGE FOR SERVICE ROUTINE CONTROL BLOCK                | * 01980000
* /*      |---------------------------------------------------------| * 01990000
* /*  +276|ECB FOR SERVICE ROUTINES                                 | * 02000000
* /*      |---------------------------------------------------------| * 02010000
* /*  +280|AREA FOR HOLDING RETURN CODES INTERNAL TO EXEC           | * 02020000
* /*      |---------------------------------------------------------| * 02030000
* /*  +284|POINTER TO FIRST BLOCK OF ATAB                           | * 02040000
* /*      |---------------------------------------------------------| * 02050000
* /*  +288|END OF CURRENT INPUT BLOCK + 1                           | * 02060000
* /*      |---------------------------------------------------------| * 02070000
* /*  +292|POINTER TO START OF RECORD CURRENTLY BEING PROCESSED     | * 02080000
* /*      |---------------------------------------------------------| * 02090000
* /*  +296|LENGTH OF DYNAMIC PORTION OF MSG TO BE PUT TO TERMINAL   | * 02100000
* /*      |---------------------------------------------------------| * 02110000
* /*  +297|ADDRESS OF DYNAMIC PORTION OF MSG TO BE PUT TO TERMINAL  | * 02120000
* /*      |---------------------------------------------------------| * 02130000
* /*  +300|NUMBER OF FIRST LEVEL MSG TO BE PUT TO TERMINAL          | * 02140000
* /*      |---------------------------------------------------------| * 02150000
* /*  +302|NUMBER OF SECOND LEVEL MSG TO BE PUT TO TERMINAL         | * 02160000
* /*      |---------------------------------------------------------| * 02170000
* /*  +304|POINTER TO THE PARSE DESCRIPTOR LIST                     | * 02180000
* /*      |---------------------------------------------------------| * 02190000
* /*  +308|AREA FOR SAVING THE ORIGINAL LENGTH OF THE COMMAND BUFFER| * 02200000
* /*      |---------------------------------------------------------| * 02210000
* /*  +310|TOTAL BYTES IN ALL POSITIONAL PARAMETERS                 | * 02220000
* /*      |---------------------------------------------------------| * 02230000
* /*  +312||                                                          * 02240000
* /*                                                                  * 02250000
* /*  ATTRIBUTES --                                                   * 02260000
* /*     REENTRANT                                                    * 02270000
* /*                                                                  * 02280000
* /*  NOTES --                                                        * 02290000
* /*     CONSTANTS BEGIN WITH THE LETTERS 'KON' FOLLOWED BY THE VALUE * 02300000
* /*     OF THE CONSTANT IF IT IS EITHER A DECIMAL OR EBCDIC CONSTANT * 02310000
* /*     IF IT IS A HEX CONSTANT THE 'KON' IS FOLLOWED BY 'X' AND     * 02320000
* /*     THEN THE VALUE OF THE CONSTANT.                              * 02330000
* /*     CHARACTER CODE DEPENDENCIES --                               * 02340000
* /*        MODULE WAS ASSEMBLED USING EBCIDIC CHARACTER CODE.        * 02350000
* /*        MODULE MUST BE MODIFIED IF A DIFFERENT CHARACTER          * 02360000
* /*        SET IS USED. DEPENDENCIES EXIST FOR FOLLOWING             * 02370000
* /*        CHARACTERISTICS OF EBCIDIC:                               * 02380000
* /*           1.ZONED DECIMALS HAVE 'F'X IN THE HIGH ORDER           * 02390000
* /*                  HALF BYTE                                       * 02400000
* /*           2.CONVERSION FROM 'FA'X-'FF'X TO 'A'-'F' CAN BE        * 02410000
* /*                  EFFECTED VIA SUBTRACTION OF 57.                 * 02420000
* /*        STATEMENTS WHICH CONTAIN THESE DEPENDENCIES WILL HAVE     * 02430000
* /*        ASTERISKS IN THEIR COMMENT FIELDS.                        * 02440000
* /******************************************************************** 02450000
*         GEN;                                                          02460000
&SPN     SETA  1                                                        02470000
         DS    0H                                                       02480000
*         DCL   DUMPARM        FIXED(31);      /* DUMMY PARM DECLARED * 02490000
*                                              /* SO BSL WILL NOT USE * 02500000
*                                              /*  REGISTER 1         * 02510000
*         DCL   R1   REG(1)    PTR(31);        /*  REGISTER 1         * 02520000
*         DCL   R2   REG(2)    PTR(31);        /*  REGISTER 2         * 02530000
*         DCL   R3   REG(3)    PTR(31);        /*  REGISTER 3         * 02540000
*          DCL   R5   REG(5)    PTR(31);      /*   REGISTER 5         * 02550000
*         DCL   R6   REG(6)    PTR(31);        /*  REGISTER 6         * 02560000
*         DCL   R15  REG(15)   PTR(31);        /*  REGISTER 15        * 02570000
*         DCL 1  E01DATDF  BDY(DWORD)         /* MAJOR STRUCTURE OF   * 02580000
*                            BASED(R6),       /*   USED BY ALL FOUR   * 02590000
*                                             /*   MODULES            * 02600000
*                2 DCBAR     CHAR(88)  BDY(DWORD),                      02610000
*                                                  /* LIVE DCB AREA   * 02620000
*                                                                       02630000
*                2 ADPTR1    PTR(31),              /* PTR USED FOR      02640000
*                                                      INDIRECT ADDRS * 02650000
*                2 ADPTR2    PTR(31),               /* FOR INDIRECT     02660000
*                                                         ADDRESSING  * 02670000
*                2 MMNAMAR   BDY(WORD) CHAR(8),                         02680000
*                                                  /* MEMBER NAME     * 02690000
*                2  RDECB   BDY(WORD) CHAR(20),                         02700000
*                                                  /* STORAGE FOR DECB* 02710000
*                   3 *        CHAR(6),        /* FILLER              * 02720000
*                   3 DECLNGTH FIXED(15),      /* LENGTH OF BLOCK READ* 02730000
*                   3 *        CHAR(8),        /* FILLER              * 02740000
*                   3 DECIOBPT PTR(31),        /* POINTER TO THE IOB  * 02750000
*                2 LINPTR1   PTR(31),              /* ADDR OF INPUT   * 02760000
*                2 EOLCNT    FIXED(31),            /* BYTES REMAINING   02770000
*                                                       IN   LINE     * 02780000
*                2 POSCNT    FIXED(31),      /* NUMBER OF POSITIONAL    02790000
*                                                PARAMETERS FOUND     * 02800000
*                2 TSTLNG    FIXED(31),      /* WORK AREA - USED FOR */ 02810000
*                  3 TSTLNGC   CHAR(4),       /*  ALIGNING TABLE ENTRY* 02820000
*                2 GMNMIN    FIXED(31),      /* MINIMUM AMOUNT OF CORE  02830000
*                                                 TO BE GOTTEN        * 02840000
*                2 GMNMAX    FIXED(31),      /* MAXIMUM AMOUNT OF CORE  02850000
*                                                 TO BE GOTTEN        * 02860000
*                2 ADDGMN    PTR(31),        /* ADDRESS OF GOTTEN CORE* 02870000
*                2 AMTGMN    FIXED(31),      /*  AMOUNT OF CORE GOTTEN* 02880000
*                2 SP78ADDR  PTR(31),        /* PTR TO SUBPOOL78 CORE*/ 02890000
*                2 SP78LNGT  PTR(31),        /* LENGTH OF SUBPOOL78  */ 02900000
*                                            /*   CORE               */ 02910000
*                2 RDXCNV  FIXED(31),        /* WORK AREA FOR        */ 02920000
*                  3  *              CHAR(3),      /*  CONVERTING BASE* 02930000
*                  3  DDIG           CHAR(1),      /* OF NO. PARMS    * 02940000
*                2 POSSPC    FIXED(31),      /* NUMBER OF POSITIONAL    02950000
*                                                  PARAMERS SPECIFIED * 02960000
*                2 ATABIND   PTR(31),        /*  PTR TO START OF        02970000
*                                                      CURRENT BLOCK OF 02980000
*                                                      ATAB           * 02990000
*                2 ATABCUR   PTR(31),        /*  PTR TO CURRENT         03000000
*                                                      ELEMENT OF ATAB* 03010000
*                2 FTABIND   PTR(31),        /*  PTR TO START OF        03020000
*                                                     CURRENT BLOCK OF  03030000
*                                                     FTAB            * 03040000
*                2 FTABCUR   PTR(31),        /*  PTR TO CURRENT         03050000
*                                                     ELEMENT OF ATAB * 03060000
*                2 VALCNT    FIXED(31),      /*     NUMBER OF BYTES IN  03070000
*                                                     VALUE OF KEYWORD  03080000
*                                                     WITH VALUE      * 03090000
*                2 KWOCNT    FIXED(15),       /* NUMBER OF KWRD W/O   * 03100000
*                                             /*   VALUE PARMS        * 03110000
*                2 KWWCNT    FIXED(15),       /* NUMBER OF KWRD WITH  * 03120000
*                                             /*   VALUE PARMS        * 03130000
*                2 KWOBYT    FIXED(15),       /*   SIZE OF KWRD W/O   * 03140000
*                                             /*   VALUE PARMS        * 03150000
*                2 KWWBYT    FIXED(15),       /*   SIZE OF KWRD W/O   * 03160000
*                                             /*   VALUE PARMS        * 03170000
*                2 CNVA   FIXED(15),          /*WORKAREA FOR UNALIGNED* 03180000
*                  3 CNVC   CHAR(2),          /*  ARITHMETIC ITEMS    * 03190000
*                2 E01BINSW BDY(HWORD),       /*  BINARY SWITCHES     * 03200000
*                  3 E01SW1 BIT(1),           /* SWITCH 1             * 03210000
*                                             /* SET TO ONE WHEN        03220000
*                                                      PROCESSING       03230000
*                                                       IMPLICIT EXEC * 03240000
*                  3 E01SW2 BIT(1),            /* SWITCH 2            * 03250000
*                                              /* SET TO ONE WHEN       03260000
*                                                      IKJEFE03 IS CALL 03270000
*                                                       ED TO READ 1ST  03280000
*                                                        LINE         * 03290000
*                  3 E01SW3 BIT(1),             /* SWITCH 3           * 03300000
*                                               /*SET TO ONE IF THE     03310000
*                                                     PROCEDURE DOES    03320000
*                                                      NOT HAVE A PROC  03330000
*                                                       STATEMENT     * 03340000
*                  3 E01SW4 BIT(1),              /* SWITCH 4          * 03350000
*                                                /*SET TO ONE IF 1ST    03360000
*                                                     LINE IS NOT EMPTY 03370000
*                                                                     * 03380000
*                  3 E01SW5 BIT(1),              /* SWITCH 5          * 03390000
*                                                /*SET TO ONE ON AN     03400000
*                                                     ABEND           * 03410000
*                  3 E01SW6 BIT(1),              /* SWITCH 6          * 03420000
*                                                /*SET TO ONE WHEN      03430000
*                                                     THE PROMPT OPTION 03440000
*                                                      WAS SPECIFIED ON 03450000
*                                                      THE INVOCATION   03460000
*                                                       STATEMENT     * 03470000
*                  3 E01SW7 BIT(1),              /* SWITCH 7          * 03480000
*                                                /*SET TO ONE WHEN      03490000
*                                                   IKJEFE03 IS CALL-   03500000
*                                                      ED TO READ LINE  03510000
*                                                       OTHER THAN 1ST* 03520000
*                  3 E01SW8 BIT(1),              /* SWITCH 8          * 03530000
*                                                /*SET TO ONE IF RCD    03540000
*                                                     FMT IS VARIABLE * 03550000
*                  3 E01SW9 BIT(1),              /* SWITCH 9          * 03560000
*                                                /*SET TO ONE IF PROC   03570000
*                                                     CANNOT BE EXECUT- 03580000
*                                                      ED             * 03590000
*                  3 E01SW10 BIT(1),             /* SWITCH 10         * 03600000
*                                                /* SET TO ONE WHEN     03610000
*                                                     IKFEFE03 HAS BEEN 03620000
*                                                     CALLED TO DO A    03630000
*                                                     GETMAIN         * 03640000
*                  3 E01SW11 BIT(1),             /* SWITCH 11         * 03650000
*                                                /*SET TO ONE WHEN      03660000
*                                                     DATA SET HAS BEEN 03670000
*                                                        CLOSED       * 03680000
*                  3 E01SW12 BIT(1),             /* SWITCH 12         * 03690000
*                                                /*SET TO ONE WHEN      03700000
*                                                     CORE HAS BEEN     03710000
*                                                      OBTAINED FROM SP 03720000
*                                                       78            * 03730000
*                  3 E01SW13 BIT(1),             /* SWITCH 13         * 03740000
*                                                /* SET TO ONE WHEN     03750000
*                                                     IKFEFE03 HAS BEEN 03760000
*                                                     CALLED TO DO A    03770000
*                                                     FREEMAIN        * 03780000
*                  3 E01SW14 BIT(1),             /* SWITCH 14         * 03790000
*                                                /*SET TO ONE WHEN      03800000
*                                                     SP78 OVFLOW HAS   03810000
*                                                      CAUSED SP0 TO BE 03820000
*                                                        OBTAINED     * 03830000
*                  3 E01SW15 BIT(1),          /* SET TO ONE WHEN THE  * 03840000
*                                             /* MINIMUM AMT OF CORE  * 03850000
*                                             /*   COULD NOT BE GOTTEN* 03860000
*                  3 E01SW16 BIT(1),             /* SWITCH 16         * 03870000
*                2 REGSAV(3) FIXED(31),          /* SAVE AREA         * 03880000
*                2 LATAB   PTR(31),              /* PTR TO PREVIOUS ATA 03890000
*                                                ELEMENT              * 03900000
*                2 LFTAB   PTR(31),           /* PTR TO PREVIOUS FTAB   03910000
*                                                ELEMENT              * 03920000
*                2 BFAPTR  FIXED(31),         /* POINTER TO INPUT BFR * 03930000
*                2 BFBPTR  PTR(31),           /* POINTER TO INPUT BFR * 03940000
*                2 CPPLPTR   PTR(31),         /*  ADDRESS OF CPPL     * 03950000
*                2 STPRM(3)  FIXED(31),                                 03960000
*                2 PPLPTR PTR(31),            /* POINTER TO CONTROL   * 03970000
*                2 CBCOR CHAR(24),            /* STORAGE FOR SERVICE  * 03980000
*                                             /*  ROUTINE CONTROL BLCK* 03990000
*                                             /*   BLOCK FOR SERVICE  * 04000000
*                                             /*   ROUTINES           * 04010000
*                                             /*     TOR LIST         * 04020000
*                2 SRECB  FIXED(31),          /*   SERV ROUT ECB      * 04030000
*                2 RETCDAR   FIXED(31),       /*    AREA FOR RETURN   * 04040000
*                                             /*      CODE            * 04050000
*               2 ABLK1     PTR(31),         /* PTR TO FIRST BLOCK    * 04060000
*                                            /*   OF ATAB            */ 04070000
*                2 EOB       PTR(31),         /* END OF CURRENT INPUT * 04080000
*                                             /*   BLOCK + 1          * 04090000
*                2 RCDST     PTR(31),         /* PTR TO START OF CUR- * 04100000
*                                             /*   RENT RECORD        * 04110000
*                2 VARSGLNG  CHAR(1),         /* LENGTH OF VARIABLE   * 04120000
*                2 VARSGADR  PTR(24),         /* ADDRESS OF VARIABLE  * 04130000
*                2 VARSGLN2  CHAR(1),         /*  LENGTH OF VARIABLE  * 04140000
*                                             /*    PART OF MSG TO BE * 04150000
*                                             /*    PUT OUT           * 04160000
*                2 VARSGAD2  PTR(24),         /*  ADDRESS OF VARIABLE * 04170000
*                                             /*    PART OF MSG TO BE * 04180000
*                                             /*    PUT OUT           * 04190000
*                2 LVL1NO    FIXED(15),       /* NUMBER OF FIRST LEVEL* 04200000
*                                             /*   MESSAGE            * 04210000
*                2 LVL2NO    FIXED(15),       /*NUMBER OF SECOND LEVEL* 04220000
*                                             /*    MESSAGE           * 04230000
*                2 PDLPTR    PTR(31),         /* POINTER TO THE PARSE * 04240000
*                                             /*   DESCRIPTOR LIST    * 04250000
*               2 DRDNPTR BDY(WORD),          /* AREA FOR DSNAME      * 04260000
*                 3 DSNARLNG FIXED(15),       /* LENGTH OF DSNAME     * 04270000
*                   4 DSNARLCH CHAR(2),       /*                      * 04280000
*                 3 DSNAMAR  CHAR(44),        /* DSNAME               * 04290000
*                2 CBUFLSAV  FIXED(15),       /* SAVE AREA FOR CMD BFR* 04300000
*                 3 CBUFLSAC CHAR(2),         /*    LENGTH      Y01676* 04310000
*               2 POSBYT FIXED(15);           /* SIZE OF POSITIONAL     04320000
*                                                PARAMETERS     Y01676* 04330000
*         DCL   PTLNBLCK  CHAR(32)  BDY(WORD);/* AREA FOR PUTLINE     * 04340000
*                                             /*   PARAMETER BLOCK    * 04350000
*         DCL   PBPTR   PTR(31);              /* POINTER TO PUTLINE   * 04360000
*                                             /*   PARAMETER BLOCK    * 04370000
*         DCL   1   MSGCHN   BDY(WORD)   BASED(PBPTR),                  04380000
*                                             /* MAPPING OF PUTLINE   * 04390000
*                                             /*   PARAMETER BLOCK    * 04400000
*                 2 NXTLVLAD  PTR(31),        /* CONTAINS ADDRESS OF  * 04410000
*                                             /*  2ND LEVEL OF CHAIN  * 04420000
*                 2 SEGCNT    FIXED(31),      /* NUMBER OF SEGMENTS IN* 04430000
*                                             /*   THIS LEVEL         * 04440000
*                 2 SEG1ADR   PTR(31),        /* ADDRESS OF 1ST       * 04450000
*                                             /*   SEGMENT            * 04460000
*                 2 SEG2ADR   PTR(31),        /* ADDRESS OF 2ND       * 04470000
*                 2 SEG3ADR   PTR(31);        /* ADDRESS OF 3RD       * 04480000
*         DCL   ADTABPTR  PTR(31);            /* POINTER USED IN      * 04490000
*                                             /*  REFERENCING THE     * 04500000
*                                             /*   ADDRESS TABLES     * 04510000
*         DCL   1   ADTABDUM BDY(WORD)   BASED(ADTABPTR),               04520000
*                                             /* MAPPING OF AN ELEMENT* 04530000
*                                             /*   OF AN ADDRESS TABLE* 04540000
*                 2 MSGN02    CHAR(1),        /* NUMBER OF THE ENTRY  * 04550000
*                                             /*  IN THE TABLE OF 2ND * 04560000
*                                             /*  LEVEL MSGS WHICH IS * 04570000
*                                             /*  THE FIRST POSSIBLE  * 04580000
*                                             /*  FOR THIS 1ST LEVEL  * 04590000
*                                             /*  MESSAGE             * 04600000
*                 2 MSGPTR    PTR(24);        /* ADDRESS OF THE       * 04610000
*                                             /*  MESSAGE FOR THIS    * 04620000
*                                             /*   ENTRY              * 04630000
*         DCL   DYNMSG1 CHAR(260);            /* 1ST LEVEL DYN SGMT   * 04640000
*         DCL   DYNMSG2 CHAR(260) BDY(DWORD); /* 2ND LEVEL DYN SGMT   * 04650000
*         DCL   DYNMSGPT  PTR(31);            /* PTR TO DYN MSG AREA  * 04660000
*         DCL   1 DYNMSGAR BASED(DYNMSGPT),   /* AREA USED FOR HOLDING* 04670000
*                                             /*  THE DYNAMIC SEGMENT * 04680000
*                                             /*  OF THE MESSAGE      * 04690000
*                 2 DYNLNG    FIXED(15),      /* LENGTH OF THE SEGMENT* 04700000
*                   3 DYNLNGC1    CHAR(1),    /*REDEFINITION OF LENGTH* 04710000
*                   3 DYNLNGC2    CHAR(1),    /*   FOR ALIGNMENT      * 04720000
*                 2 DYNOFF    FIXED(15),      /* OFFSET OF THE SEGMENT* 04730000
*                                                                       04740000
*                   3 DYNOFFCH    CHAR(2),    /* REDEFINITION AS CHARS* 04750000
*                 2 DYNTXT    CHAR(256);      /* STORAGE FOR THE      * 04760000
*                                             /*   ACTUAL TEXT        * 04770000
*         DCL   1 MSGTXDUM      BASED(SEG1ADR),                         04780000
*                                             /* MAPPING OF A MESSAGE * 04790000
*                                             /*   SEGMENT            * 04800000
*                 2 MSGTXLNG  CHAR(2),        /* LENGTH OF THE SEGMENT* 04810000
*                 2 *         CHAR(2),        /* OFFSET OF THE SEGMENT* 04820000
*                 2 MSGTX     CHAR(1);        /* DUMMY OF TEXT        * 04830000
*         DCL   1 MAXMSGLN  FIXED(15)   AUTO, /* WORK AREA FOR CALC.  * 04840000
*                 2 MAXMSGCH  CHAR(2);        /*  MAX SIZE OF DYNAMIC * 04850000
*                                             /*  PORTION OF MESSAGE  * 04860000
*         DCL   1 HOLNG     FIXED(15)   AUTO, /* WORK AREA FOR CALC.  * 04870000
*                 2 HOLNGC    CHAR(2);        /*  OFFSETS  OF DYNAMIC * 04880000
*                                             /*  PORTION OF MESSAGE  * 04890000
*         DCL   1 KONFF0  FIXED(31)  STATIC,  /* CONSTANT USED IN PUT-* 04900000
*                 2 KONFFC  CHAR(4)           /*  LINE PARM BLOCK     * 04910000
*                              INIT('FF000000'X);                       04920000
*         DCL   VARSEG    CHAR(256)  BASED(VARSGADR);                   04930000
*                                             /* DSECT OF DYNAMIC PART* 04940000
*                                             /*  OF MSG AS PASSED TO * 04950000
*                                             /*  THIS MODULE         * 04960000
*         DCL   DAPLPTR   PTR(31)   BASED(ADDR(PPLPTR));                04970000
*                                             /* POINTER TO THE SERVICE 04980000
*                                                ROUTINE PARM BLOCK   * 04990000
** /* *************************************************************** * 05000000
** /* THE DYNAMIC ALLOCATION INTERFACE ROUTINE (DAIR) PARAMETER LIST  * 05010000
** /* (DAPL) IS A LIST OF ADDRESSES PASSED FROM THE INVOKER TO DAIR   * 05020000
** /* VIA REGISTER 1                                                  * 05030000
** /* *************************************************************** * 05040000
** DECLARE                                                              05050000
**   1 DAPL      BASED(DAPLPTR),                                        05060000
**                                                                      05070000
**                                                                      05080000
**                                                                      05090000
**                                                                      05100000
**                                                                      05110000
**                                                                      05120000
**                                                                      05130000
**                                                                      05140000
**                                                                      05150000
**                                                                      05160000
**    2 DAPLUPT  PTR(31),             /* PTR TO UPT                   * 05170000
**    2 DAPLECT  PTR(31),             /* PTR TO ECT                   * 05180000
**    2 DAPLECB  PTR(31),             /* PTR TO CP'S ECB              * 05190000
**    2 DAPLPSCB PTR(31),             /* PTR TO PSCB                  * 05200000
**    2 DAPLDAPB PTR(31);             /* PTR TO DAIR PARAMETER BLOCK  * 05210000
*         DCL   DAPB0PTR  PTR(31)   BASED(ADDR(DAPLDAPB));              05220000
*                                             /* POINTER TO DAIR PARM   05230000
*                                                BLOCK                * 05240000
** DECLARE                                                              05250000
**   1 DAPB08    BASED(DAPB0PTR),                                       05260000
** /* *************************************************************** * 05270000
** /* S OPERATION CODE CAUSES ALLOCATION OF A DATA SET. IT CAN ALLOC. * 05280000
** /* HER A NEW OR OLD SET.                                           * 05290000
** /* *************************************************************** * 05300000
**    2 DA08CD   CHAR(2),             /* DAIR ENTRY CODE              * 05310000
**    2 DA08FLG  CHAR(2),            /* FUNCTIONS PERFORMED WHEN        05320000
**                                       RETURN CODE= 0               * 05330000
**     3 DA08FPE  BIT(1),             /* FUNCT PERFORMED BUT ERROR      05340000
**                                       INDICATED BY RETCD           * 05350000
**     3 *        BIT(1),             /* RESERVED                     * 05360000
**     3 *        BIT(1),             /* RESERVED                     * 05370000
**     3 *        BIT(1),             /* RESERVED                     * 05380000
**     3 *        BIT(1),             /* RESERVED                     * 05390000
**     3 *        BIT(1),             /* RESERVED                     * 05400000
**     3 *        BIT(1),             /* RESERVED                     * 05410000
**     3 *        BIT(1),             /* RESERVED                     * 05420000
**    2 DA08DARC FIXED(15),           /*DYN  ALLOC                    * 05430000
**    2 DA08CTRC FIXED(15),           /* CATALOG RETURN CODE          * 05440000
**    2 DA08PDSN PTR(31),             /* POINTER TO DSNAME TO BE        05450000
**                                       SEARCHED IN DSE              * 05460000
**    2 DA08DDN  CHAR(8),             /* DDNAME TO BE SEARCHED IN DSE * 05470000
**    2 DA08UNIT CHAR(8),             /* UNITNAME REQUESTED           * 05480000
**    2 DA08SER  CHAR(8),             /* VOLUME SERIAL NUMBER-PADDED    05490000
**                                       W/BLANKS                     * 05500000
**    2 DA08BLK  CHAR(4),             /* DATA SET                     * 05510000
**    2 DA08PQTY CHAR(4),             /* PRIMARY SPACE QUANTITY       * 05520000
**    2 DA08SQTY CHAR(4),             /* SECONDARY SPACE QUANTITY     * 05530000
**    2 DA08DQTY CHAR(4),             /* DIRECTORY BLOCK QUANTITY     * 05540000
**    2 DA08MNM  CHAR(8),             /* MEMBER NAME                  * 05550000
**    2 DA08PSWD CHAR(8),             /* PASSWORD                     * 05560000
**    2 DA08DSP1 CHAR(1),             /* DATA SET STATUS FLGS(IF=0      05570000
**                                       OLD ASSUMED)                 * 05580000
**     3 *        BIT(1),             /* RESERVED                     * 05590000
**     3 *        BIT(1),             /* RESERVED                     * 05600000
**     3 *        BIT(1),             /* RESERVED                     * 05610000
**     3 *        BIT(1),             /* RESERVED                     * 05620000
**     3 DA08SHR  BIT(1),             /* DATA SET IS SHR              * 05630000
**     3 DA08NEW  BIT(1),             /* DATA SET IS NEW              * 05640000
**     3 DA08MOD  BIT(1),             /* DATA SET IS MOD              * 05650000
**     3 DA08OLD  BIT(1),             /* DATA SET IS OLD              * 05660000
**    2 DA08DPS2 CHAR(1),             /* DATA SET DISPOSITION(IF=0      05670000
**                                       KEEP ASSUMED)                * 05680000
**     3 *        BIT(1),             /* RESERVED                     * 05690000
**     3 *        BIT(1),             /* RESERVED                     * 05700000
**     3 *        BIT(1),             /* RESERVED                     * 05710000
**     3 *        BIT(1),             /* RESERVED                     * 05720000
**     3 DA08KEEP BIT(1),             /* DS DISP IS KEEP              * 05730000
**     3 DA08DEL  BIT(1),             /* DS DISP IS DELETE            * 05740000
**     3 DA08CAT  BIT(1),             /* DS DISP IS CATLG             * 05750000
**     3 DA08UCAT BIT(1),             /* DS DISP IS UNCATALOG         * 05760000
**    2 DA08DPS3 CHAR(1),             /* DATA SET CONDITIONAL           05770000
**                                       DISPOSITION                  * 05780000
**     3 *        BIT(1),             /* RESERVED                     * 05790000
**     3 *        BIT(1),             /* RESERVED                     * 05800000
**     3 *        BIT(1),             /* RESERVED                     * 05810000
**     3 *        BIT(1),             /* RESERVED                     * 05820000
**     3 DA08KEP  BIT(1),             /* DS DISP OF KEEP DESIRED      * 05830000
**     3 DA08DELE  BIT(1),                                              05840000
**     3 DA08CATL  BIT(1),                                              05850000
**     3 DA08UNCT  BIT(1),                                              05860000
**    2 DA08CTL  CHAR(1),             /* FLAGS TO CONTROL ACTIONS       05870000
**                                       TAKEN BY DAIR                * 05880000
**     3  DA08TRKS  BIT(1),             /*SPACE UNITS REQUESTED       * 05890000
**     3  DA08ABKL  BIT(1),                                             05900000
**     3  DA08UID  BIT(1),                                              05910000
**     3  DA08RLSE BIT(1),                                              05920000
**     3  DA08PERM BIT(1),                                              05930000
**     3  DA08DMMY BIT(1),                                              05940000
**     3  DA08ATRL BIT(1),              /*ATTR LIST SUPPLIED    C99236* 05950000
**     3  *  BIT(1),                    /*                      C99236* 05960000
**    2 *        CHAR(3),             /* RESERVED                     * 05970000
**    2 DA08DSO  CHAR(1),             /* DSORG                  C99236* 05980000
**    2 DA08ALN  CHAR(8);             /* ATTR-LIST-NAME         C99236* 05990000
**                                                                      06000000
*         DCL   KON0      FIXED(15)   STATIC  INIT(0);                  06010000
*                                             /* CONSTANT OF ZERO     * 06020000
*         DCL   KON1      FIXED(15)   STATIC  INIT(1);                  06030000
*                                             /* CONSTANT OF ONE      * 06040000
*         DCL   KON2      FIXED(15)   STATIC  INIT(2);                  06050000
*                                             /* CONSTANT OF TWO      * 06060000
*          DCL   KON3      FIXED(15)   STATIC  INIT(3);                 06070000
*                                             /* CONSTANT OF 3        * 06080000
*         DCL   KON4      FIXED(15)   STATIC  INIT(4);                  06090000
*                                             /* CONSTANT OF FOUR     * 06100000
*          DCL   KON5      FIXED(15)   STATIC  INIT(5);                 06110000
*                                             /* CONSTANT OF 5        * 06120000
*         DCL   KON8      FIXED(15)   STATIC  INIT(8);                  06130000
*                                             /* CONSTANT OF ONE      * 06140000
*         DCL   KON12      FIXED(15)   STATIC  INIT(12);                06150000
*                                             /* CONSTANT OF TWELVE   * 06160000
*         DCL   KON16     FIXED(15)   STATIC  INIT(16);                 06170000
*                                             /* CONSTANT OF SIXTEEN  * 06180000
*         DCL   KON20     FIXED(15)   STATIC  INIT(20);                 06190000
*                                             /* CONSTANT OF TWENTY     06200000
*         DCL   KON21     FIXED(15)   STATIC  INIT(21);                 06210000
*                                             /* CONSTANT OF SIXTEEN  * 06220000
*         DCL   KON24     FIXED(15)   STATIC  INIT(24);                 06230000
*                                             /* CONSTANT OF 24       * 06240000
*         DCL   KON25     FIXED(15)   STATIC  INIT(25);                 06250000
*                                             /* CONSTANT OF 25       * 06260000
*         DCL   KON27     FIXED(15)   STATIC  INIT(27); /* CONSTANT     06270000
*                                                OF  DECIMAL 27 Y01676* 06280000
*         DCL   KON57  FIXED(15)  STATIC  INIT(57);                     06290000
*         DCL   KON256    FIXED(15)   STATIC  INIT(256);                06300000
*                                             /* CONSTANT OF 256      * 06310000
*         DCL   KONX00    CHAR(2)     STATIC  INIT('0000'X);            06320000
*                                             /* CONSTANT OF ZERO     * 06330000
*         DCL   KONX06    CHAR(1)     STATIC  INIT('06'X);              06340000
*                                             /* CONSTANT OF SIX      * 06350000
*         DCL   KONXF0    CHAR(1)     STATIC  INIT('F0'X);              06360000
*                                             /* CONSTANT OF HEX F0   * 06370000
*         DCL   KONXF9    CHAR(1)     STATIC  INIT('F9'X);              06380000
*                                             /* CONSTANT OF HEX F9   * 06390000
*         DCL   APLN  GEND  CHAR(256);        /* PUTLINE PARM LIST    * 06400000
*      DCL IKJEFE06  ENTRY;                                             06410000
*      DCL ADTAB1 NONLOCAL EXTERNAL;                                    06420000
*      DCL ADTAB2 NONLOCAL EXTERNAL;                                    06430000
*         /************************************************************ 06440000
*         /*                                                          * 06450000
*         /*                   RUNNING CODE                           * 06460000
*         /*                                                          * 06470000
*         /************************************************************ 06480000
**/*IKJEFE04: CHART */                                                  06490000
**/*HEADER                                                              06500000
**/*IKJEFE04                                                            06510000
**/*                                                                  * 06520000
**/*START: E START */                                                   06530000
* /******************************************************************** 06540000
* /******************************************************************** 06550000
**/* D (YES,,NO,%D2) DOES MESSAGE HAVE VARIABLE PART? */                06560000
**/* P (,%D3) SET SEGMENT COUNT = 2 */                                  06570000
**/*%D2: P SET SEGMENT COUNT = 1 */                                     06580000
**/*%D3:  P SET NEXT LEVEL ADDR IF MORE THAN ONE LEVEL MSG */           06590000
**/* D (YES,,NO,E04PBS10:RT) DOES MSG HAVE DYNAMIC TERMS? */            06600000
**/* P MOVE DYNAMIC PORTION OF MESSAGE TO OUTPUT AREA */                06610000
**/*E04PBS05: P TRUNCATE DYNAMIC PART OF MESSAGE IF LINE LENGTH > MAX   06620000
**/*ALLOWED*/                                                           06630000
* /******************************************************************** 06640000
*                                                                       06650000
*         /************************************************************ 06660000
*         /*               THE FOLLOWING CODE SETS UP POINTERS        * 06670000
*         /************************************************************ 06680000
*         RESTRICT  (R6);                                               06690000
*         DYNMSGPT = ADDR(DYNMSG1);           /* SET ADDR FOR 1ST LVL * 06700000
         LA    @F,DYNMSG1                                         0055  06710000
         ST    @F,DYNMSGPT                                        0055  06720000
*         R6  = R1;                           /* SET REG6 POINTING TO   06730000
*                                                NON-LOCAL DATA       * 06740000
         LR    @6,@1                                              0056  06750000
* E04MDR05:  ;                                                          06760000
*         IF LVL1NO = KON24                   /* CHECK IF THIS IS THE * 06770000
*           THEN                              /* SYSTEM ERROR MESSAGE * 06780000
E04MDR05 LH    @F,KON24                                           0058  06790000
         CH    @F,304(0,@6)                                       0058  06800000
         BC    07,@9FF                                            0058  06810000
*             DO;                             /* IF SO - INDICATE THE * 06820000
*               VARSGLN2 = KONX06;            /* DYNAMIC PORTION'S    * 06830000
         MVC   300(1,@6),KONX06                                   0060  06840000
*               VARSGAD2 = ADDR(CNVA);        /* LENGTH AND ADDRESS   * 06850000
         LA    @F,200(0,@6)                                       0061  06860000
         ST    @F,@TEMP4                                          0061  06870000
         MVC   301(3,@6),@TEMP4+1                                 0061  06880000
*               VARSGLNG = KONX00;            /* NO 1ST LVL VAR PART  * 06890000
         MVC   296(1,@6),KONX00                                   0062  06900000
*               GOTO E04MIS10;                /* AND GO TO CONVERT THE* 06910000
         BC    15,E04MIS10                                        0063  06920000
*             END;                            /* RET. CODE TO EBCIDIC * 06930000
*         IF LVL1NO ^= KON0  &                /* IF THE MESSAGE SHOULD* 06940000
*            LVL1NO ^= KON20 &                /* NOT HAVE THE MEMBER  * 06950000
*            LVL1NO ^= KON21                  /* NAME INSERTED INTO   * 06960000
*           THEN                              /* ITS TEXT THEN BYPASS * 06970000
@9FF     LH    @F,KON0                                            0065  06980000
         CH    @F,304(0,@6)                                       0065  06990000
         BC    08,@9FE                                            0065  07000000
         LH    @F,KON20                                           0065  07010000
         CH    @F,304(0,@6)                                       0065  07020000
         BC    08,@9FD                                            0065  07030000
         LH    @F,KON21                                           0065  07040000
         CH    @F,304(0,@6)                                       0065  07050000
*             GOTO E04MDR10;                  /* CODE FOR DOING SO    * 07060000
         BC    07,E04MDR10                                        0066  07070000
*         VARSGADR = ADDR(MMNAMAR);           /* SAVE ADDRESS OF MEM. * 07080000
@9FC     EQU   *                                                  0067  07090000
@9FD     EQU   *                                                  0067  07100000
@9FE     LA    @F,96(0,@6)                                        0067  07110000
         ST    @F,@TEMP4                                          0067  07120000
         MVC   297(3,@6),@TEMP4+1                                 0067  07130000
*         VARSGLNG = '0C'X;                   /* NAME AND LENGTH      * 07140000
         MVI   296(@6),X'0C'                                      0068  07150000
*         IF LVL1NO ^= KON0                   /* IF THERE SHOULD ALSO * 07160000
*           THEN                              /* BE A DATA SET NAME   * 07170000
         LH    @F,KON0                                            0069  07180000
         CH    @F,304(0,@6)                                       0069  07190000
         BC    08,@9FB                                            0069  07200000
*             DO;                             /* IN THE MESSAGE SAVE  * 07210000
*               VARSGAD2 = ADDR(DSNAMAR);     /* ITS ADDRESS AND      * 07220000
         LA    @F,314(0,@6)                                       0071  07230000
         ST    @F,@TEMP4                                          0071  07240000
         MVC   301(3,@6),@TEMP4+1                                 0071  07250000
*               VARSGLN2 = DSNARLNG + KON4;   /* LENGTH               * 07260000
         LH    @F,KON4                                            0072  07270000
         AH    @F,312(0,@6)                                       0072  07280000
         STC   @F,300(0,@6)                                       0072  07290000
*             END;                                                      07300000
*         GOTO E04PBS02;                      /* BYPASS MSG. NUMBER     07310000
*                                                DETERMINATION CODE   * 07320000
         BC    15,E04PBS02                                        0074  07330000
* E04MDR10:   ;                                                         07340000
*         IF LVL1NO ^< KON5 & LVL1NO ^= KON25 /* IF MESSAGE NO. HAS   * 07350000
*           THEN                              /* ALREADY BEEN FINALLY * 07360000
E04MDR10 LH    @F,KON5                                            0076  07370000
         CH    @F,304(0,@6)                                       0076  07380000
         BC    02,@9FA                                            0076  07390000
         LH    @F,KON25                                           0076  07400000
         CH    @F,304(0,@6)                                       0076  07410000
*             GOTO E04PBS02;                  /* DETERMINED - BYPASS    07420000
*                                                THE MESSAGE NUMBER     07430000
*                                                DETERMINATION CODE   * 07440000
         BC    07,E04PBS02                                        0077  07450000
*         IF LVL1NO = KON2 |                  /* IF THIS IS A MESSAGE * 07460000
*            LVL1NO = KON3                    /* CONCERNING DATA SET  * 07470000
*           THEN                              /* PROCESSING AND IT IS * 07480000
@9F9     EQU   *                                                  0078  07490000
@9FA     LH    @F,KON2                                            0078  07500000
         CH    @F,304(0,@6)                                       0078  07510000
         BC    08,@9F8                                            0078  07520000
         LH    @F,KON3                                            0078  07530000
         CH    @F,304(0,@6)                                       0078  07540000
         BC    07,@9F7                                            0078  07550000
*             IF E01SW1 = '1'B                /* AN IMPLICIT EXEC THEN* 07560000
*               THEN                          /* ALTER THE NUMBER OF  * 07570000
@9F8     TM    202(@6),B'10000000'                                0079  07580000
         BC    12,@9F6                                            0079  07590000
*                 DO;                         /* THE MESSAGE SO THAT  * 07600000
*                   LVL1NO = LVL1NO + KON20;  /* 'FILE' WILL BE       * 07610000
         LH    @F,KON20                                           0081  07620000
         AH    @F,304(0,@6)                                       0081  07630000
         STH   @F,304(0,@6)                                       0081  07640000
*                   VARSGLNG = KONX00;        /*(NO 1ST LVL VAR PART) * 07650000
         MVC   296(1,@6),KONX00                                   0082  07660000
*                   GOTO E04PBS02;            /* PRINTED AND BYPASS   * 07670000
         BC    15,E04PBS02                                        0083  07680000
*                 END;                        /* MSG. NO. DETERMINATION 07690000
*                                                CODE                 * 07700000
*         VARSGADR = ADDR(DSNAMAR);           /* POINT TO DSNAME TO BE* 07710000
@9F6     EQU   *                                                  0085  07720000
@9F7     LA    @F,314(0,@6)                                       0085  07730000
         ST    @F,@TEMP4                                          0085  07740000
         MVC   297(3,@6),@TEMP4+1                                 0085  07750000
*         VARSGLNG = DSNARLNG + KON4;         /* INSERTED AND SAVE IT'S 07760000
*                                                LENGTH               * 07770000
         LH    @F,KON4                                            0086  07780000
         AH    @F,312(0,@6)                                       0086  07790000
         STC   @F,296(0,@6)                                       0086  07800000
*         GO TO E04PBS02;                     /* BYPASS DECIMAL CONV. * 07810000
         BC    15,E04PBS02                                        0087  07820000
* E04MIS10:           ;                                                 07830000
*          RESTRICT (R2);                                               07840000
*          R2 = CNVA;                         /* PUT NO. TO BE CONVERTE 07850000
*                                                INTO REG. 2          * 07860000
E04MIS10 LH    @2,200(0,@6)                                       0090  07870000
*          GEN;                                                         07880000
          CVD   R2,DYNMSG2          CHANGE RADIX TO 10                  07890000
          UNPK  DYNMSG2+4(2),DYNMSG2+6(2)  CHANGE TO ZONED DEC.         07900000
         DS    0H                                                       07910000
*          DYNMSG2(6) = DYNMSG2(6) | KONXF0;  /************************ 07920000
         OC    DYNMSG2+5(1),KONXF0                                0092  07930000
*          VARSGAD2 = ADDR(DYNMSG2) + KON4;                             07940000
         LH    @F,KON4                                            0093  07950000
         LA    @0,DYNMSG2                                         0093  07960000
         AR    @F,@0                                              0093  07970000
         ST    @F,@TEMP4                                          0093  07980000
         MVC   301(3,@6),@TEMP4+1                                 0093  07990000
*          RELEASE (R2,R5);                                             08000000
*         /************************************************************ 08010000
*         /*              THE FOLLOWING CODE INITIALIZES              * 08020000
*         /*              THE PUTLINE PARAMETER BLOCK FOR             * 08030000
*         /*              THE FIRST LEVEL MESSAGE                     * 08040000
*         /*              IT ALSO DETERMINES WHICH SECOND             * 08050000
*         /*              LEVEL MSG SHOULD BE PUT OUT IF THE          * 08060000
*         /*              CAUSE OF THE MSG IS ALLOCATION FAILURE      * 08070000
*         /************************************************************ 08080000
* E04PBS02: PBPTR = ADDR(PTLNBLCK);           /* INITIALIZE PTR TO      08090000
*                                                PUTLINE PARM BLOCK   * 08100000
E04PBS02 LA    @F,PTLNBLCK                                        0095  08110000
         ST    @F,PBPTR                                           0095  08120000
*         IF  VARSGLNG = KONX00               /* IF THERE IS NO VAR-  * 08130000
*           THEN                              /*  PORTION - SET NO. OF* 08140000
         CLC   296(1,@6),KONX00                                   0096  08150000
         BC    07,@9F5                                            0096  08160000
*             SEGCNT = KON1;                  /*  SEGMENTS TO 1       * 08170000
         LH    @F,KON1                                            0097  08180000
         L     @7,PBPTR                                           0097  08190000
         ST    @F,4(0,@7)                                         0097  08200000
         BC    15,@9F4                                            0098  08210000
*           ELSE                              /*  OTHERWISE CHECK IF  * 08220000
*             IF LVL1NO = KON20 |             /*  THIS IS A MESSAGE   * 08230000
*                LVL1NO = KON21 |             /*  WHICH HAS TWO Y01676* 08240000
*                LVL1NO = KON27               /* DYNAMIC        Y01676* 08250000
*               THEN                          /*  PORTIONS IN 1ST LVL * 08260000
@9F5     LH    @F,KON20                                           0098  08270000
         CH    @F,304(0,@6)                                       0098  08280000
         BC    08,@9F3                                            0098  08290000
         LH    @F,KON21                                           0098  08300000
         CH    @F,304(0,@6)                                       0098  08310000
         BC    08,@9F2                                            0098  08320000
         LH    @F,KON27                                           0098  08330000
         CH    @F,304(0,@6)                                       0098  08340000
         BC    07,@9F1                                            0098  08350000
*                 SEGCNT = KON3;              /*  IF SO SET COUNT = 3 * 08360000
@9F2     EQU   *                                                  0099  08370000
@9F3     LH    @F,KON3                                            0099  08380000
         L     @7,PBPTR                                           0099  08390000
         ST    @F,4(0,@7)                                         0099  08400000
         BC    15,@9F0                                            0100  08410000
*               ELSE                          /*  OTHERWISE SET THE   * 08420000
*                 SEGCNT = KON2;              /*   COUNT TO 2         * 08430000
@9F1     LH    @F,KON2                                            0100  08440000
         L     @7,PBPTR                                           0100  08450000
         ST    @F,4(0,@7)                                         0100  08460000
*         IF  LVL2NO ^= KON0                  /* IF THERE IS A SECOND * 08470000
*           THEN                              /*  LEVEL MSG SET SECOND* 08480000
@9F0     EQU   *                                                  0101  08490000
@9F4     LH    @F,KON0                                            0101  08500000
         CH    @F,306(0,@6)                                       0101  08510000
         BC    08,@9EF                                            0101  08520000
*             DO;                             /*  LEVEL PTR IN PARM   * 08530000
*               NXTLVLAD = ADDR(PTLNBLCK) + KON8 + KON4 * SEGCNT;       08540000
         L     @7,PBPTR                                           0103  08550000
         L     @E,4(0,@7)                                         0103  08560000
         MH    @E,KON4                                            0103  08570000
         AH    @E,KON8                                            0103  08580000
         LA    @0,PTLNBLCK                                        0103  08590000
         AR    @E,@0                                              0103  08600000
         ST    @E,0(0,@7)                                         0103  08610000
*                                             /*  LEVEL PTR IN PARM     08620000
*                                                 BLOCK               * 08630000
*               IF VARSGLN2 = KONX00          /* IF THERE IS NO VARIA-* 08640000
*                 THEN                        /* ABLE PORTION - SET # * 08650000
         CLC   300(1,@6),KONX00                                   0104  08660000
         BC    07,@9EE                                            0104  08670000
*                   NXTLVLAD -> SEGCNT = KON1;                          08680000
         LH    @F,KON1                                            0105  08690000
         L     @8,PBPTR                                           0105  08700000
         L     @8,0(0,@8)          MSGCHN                         0105  08710000
         ST    @F,4(0,@8)                                         0105  08720000
         BC    15,@9ED                                            0106  08730000
*                 ELSE                        /* OF SEGMNTS TO 1; ELSE* 08740000
*                   NXTLVLAD -> SEGCNT = KON2;                          08750000
@9EE     LH    @F,KON2                                            0106  08760000
         L     @8,PBPTR                                           0106  08770000
         L     @8,0(0,@8)          MSGCHN                         0106  08780000
         ST    @F,4(0,@8)                                         0106  08790000
*             END;                            /* NO. OF SEGNENTS TO 2 * 08800000
         BC    15,@9EC                                            0108  08810000
*           ELSE                              /* OTHERWISE SET PTR TO * 08820000
*             NXTLVLAD = KONFF0;              /*  INDICATE NO MORE      08830000
*                                                 LEVELS              * 08840000
@9EF     L     @7,PBPTR                                           0108  08850000
         MVC   0(4,@7),KONFF0                                     0108  08860000
*         ADTABPTR  = ADDR(ADTAB1) + KON4 * LVL1NO;                     08870000
@9EC     LH    @E,304(0,@6)                                       0109  08880000
         MH    @E,KON4                                            0109  08890000
         L     @7,@A1              ADDRESS OF ADTAB1              0109  08900000
         AR    @E,@7                                              0109  08910000
         ST    @E,ADTABPTR                                        0109  08920000
*                                             /* INITIALIZE PTR TO THE  08930000
*                                                PROPER ENTRY IN THE    08940000
*                                                LVL 1 ADDRESS TABLE  * 08950000
*         SEG1ADR  = MSGPTR;                  /* PUT ADDRESS OF MSG IN  08960000
*                                                PARM BLOCK           * 08970000
         L     @8,ADTABPTR                                        0110  08980000
         L     @9,PBPTR                                           0110  08990000
         MVC   9(3,@9),1(@8)                                      0110  09000000
         MVI   8(@9),X'00'                                        0110  09010000
*         IF  SEGCNT = KON1                   /* IF THERE IS NO DYNAM-* 09020000
*           THEN                              /*  IC PORTION - BYPASS * 09030000
         LH    @F,KON1                                            0111  09040000
         C     @F,4(0,@9)                                         0111  09050000
*             GOTO E04PBS10;                  /*  CODE FOR SEGMENT 2  * 09060000
         BC    08,E04PBS10                                        0112  09070000
* E04PBS03:  ;                                                          09080000
*         SEG2ADR  = ADDR(DYNMSGAR);          /* PUT ADDRESS OF AREA    09090000
*                                                WHICH WILL CONTAIN     09100000
*                                                DYNAMIC PORTION INTO   09110000
*                                                PARM BLOCK           * 09120000
E04PBS03 L     @7,DYNMSGPT                                        0114  09130000
         L     @8,PBPTR                                           0114  09140000
         ST    @7,12(0,@8)                                        0114  09150000
*         DYNLNG  = KON0;                     /* CLEAR LENGTH FIELD   * 09160000
         MVC   0(2,@7),KON0                                       0115  09170000
*         DYNLNGC2  = VARSGLNG;               /* INSERT LENGTH OF DYN   09180000
*                                                AMIC PORTION         * 09190000
         MVC   1(1,@7),296(@6)                                    0116  09200000
*         DYNTXT(1:DYNLNG)  = VARSEG;         /* MOVE TEXT TO OUR AREA* 09210000
         L     @9,296(0,@6)                                       0117  09220000
         LR    @E,@9                                              0117  09230000
         LH    @4,0(0,@7)                                         0117  09240000
         BCTR  @4,0                                               0117  09250000
         LA    @A,4(0,@7)                                         0117  09260000
         EX    @4,@MVC                                            0117  09270000
*         HOLNGC = MSGTXLNG;                  /* ALIGN LENGTH OF MSG. * 09280000
         L     @4,PBPTR                                           0118  09290000
         L     @4,8(0,@4)          MSGCHN                         0118  09300000
         MVC   HOLNG(2),0(@4)                                     0118  09310000
*         DYNOFF = KON0;                      /* INITIALIZE OFFSET    * 09320000
         MVC   2(2,@7),KON0                                       0119  09330000
*         DYNOFFCH(2) = MSGTX(HOLNG - 3);     /* SET OFFSET TO START    09340000
*                                                THIS SEGMENT         * 09350000
         LH    @5,@D1                                             0120  09360000
         AH    @5,HOLNG                                           0120  09370000
         LA    @E,3(@5,@4)                                        0120  09380000
         MVC   3(1,@7),0(@E)                                      0120  09390000
*         IF SEGCNT ^= KON3                   /* IF THIS MSG DOES NOT * 09400000
*           THEN                              /* HAVE THREE SEGMENTS  * 09410000
         LH    @F,KON3                                            0121  09420000
         C     @F,4(0,@8)                                         0121  09430000
*             GOTO E04PBS05;                  /* BYPASS THIS CODE     * 09440000
         BC    07,E04PBS05                                        0122  09450000
*         DYNMSGPT = ADDR(DYNMSG2);           /* INITIALIZE PTR TO      09460000
*                                                DYNAMIC HOLD AREA    * 09470000
         LA    @F,DYNMSG2                                         0123  09480000
         ST    @F,DYNMSGPT                                        0123  09490000
*         SEG3ADR = ADDR(DYNMSGAR);           /* STORE POINTER IN       09500000
*                                                PUTLINE PARM BLOCK   * 09510000
         LR    @7,@F                                              0124  09520000
         ST    @7,16(0,@8)                                        0124  09530000
*         DYNLNG = KON0;                      /* CLEAR LENGTH FIELD   * 09540000
         MVC   0(2,@7),KON0                                       0125  09550000
*         DYNLNGC2 = VARSGLN2;                /* INSERT LENGTH OF       09560000
*                                                DYNAMIC PORTION      * 09570000
         MVC   1(1,@7),300(@6)                                    0126  09580000
*         DYNTXT(1:DYNLNG) = VARSGAD2 -> VARSEG;                        09590000
         L     @4,300(0,@6)                                       0127  09600000
         LR    @E,@4                                              0127  09610000
         LH    @2,0(0,@7)                                         0127  09620000
         BCTR  @2,0                                               0127  09630000
         LA    @A,4(0,@7)                                         0127  09640000
         EX    @2,@MVC                                            0127  09650000
*                                             /* MOVE TEXT TO OUR AREA* 09660000
*         DYNOFF = KON0;                      /* CLEAR OFFSET FIELD   * 09670000
         MVC   2(2,@7),KON0                                       0128  09680000
*         DYNOFFCH(2) = MSGTX(HOLNG - 2);     /* AND STORE OFFSET     * 09690000
         LH    @2,@D2                                             0129  09700000
         AH    @2,HOLNG                                           0129  09710000
         L     @3,PBPTR                                           0129  09720000
         L     @3,8(0,@3)          MSGCHN                         0129  09730000
         LA    @E,3(@2,@3)                                        0129  09740000
         MVC   3(1,@7),0(@E)                                      0129  09750000
* E04PBS05:   ;                                                         09760000
*         MAXMSGLN = KON256 - HOLNG;          /* FIND MAX LENGTH DYNAM  09770000
*                                                PART OF MSG CAN BE   * 09780000
E04PBS05 LH    @F,KON256                                          0131  09790000
         SH    @F,HOLNG                                           0131  09800000
         STH   @F,MAXMSGLN                                        0131  09810000
*         IF SEGCNT = KON3                    /* IF MSG HAS THREE     * 09820000
*           THEN                              /* SEGMENTS THEN MUST   * 09830000
         LH    @F,KON3                                            0132  09840000
         L     @7,PBPTR                                           0132  09850000
         C     @F,4(0,@7)                                         0132  09860000
         BC    07,@9EB                                            0132  09870000
*              DO;                            /* ALIGN LENGTH OF 3RD  * 09880000
*                HOLNGC = SEG3ADR -> MSGTXLNG;/* SEGMENT AND INCLUDE  * 09890000
         L     @8,PBPTR                                           0134  09900000
         L     @8,16(0,@8)         MSGCHN                         0134  09910000
         MVC   HOLNG(2),0(@8)                                     0134  09920000
*                MAXMSGLN = MAXMSGLN - HOLNG; /* THE LENGTH OF THE 3RD  09930000
*                                                SEGMENT IN THE CALC-   09940000
*                                                ULATIONS             * 09950000
         LH    @F,MAXMSGLN                                        0135  09960000
         SH    @F,HOLNG                                           0135  09970000
         STH   @F,MAXMSGLN                                        0135  09980000
*              END;                                                     09990000
*         HOLNGC = SEG2ADR -> MSGTXLNG;       /* ALIGN LENGTH OF 2ND    10000000
*                                                SEGMENT              * 10010000
@9EB     L     @7,PBPTR                                           0137  10020000
         L     @7,12(0,@7)         MSGCHN                         0137  10030000
         MVC   HOLNG(2),0(@7)                                     0137  10040000
*         IF SEGCNT > KON1 &                  /* IF THERE IS A DYNAMIC* 10050000
*           HOLNG > MAXMSGLN                  /*  PART AND ITS LENGTH * 10060000
*           THEN                              /*  IS GREATER THAN     * 10070000
         LH    @F,KON1                                            0138  10080000
         L     @8,PBPTR                                           0138  10090000
         C     @F,4(0,@8)                                         0138  10100000
         BC    10,@9EA                                            0138  10110000
         LH    @F,MAXMSGLN                                        0138  10120000
         CH    @F,HOLNG                                           0138  10130000
         BC    10,@9E9                                            0138  10140000
*             SEG2ADR -> MSGTXLNG = MAXMSGCH; /*  ALLOWABLE  - RESET    10150000
*                                                 LENGTH TO MAX         10160000
*                                                 ALLOWED             * 10170000
         MVC   0(2,@7),MAXMSGLN                                   0139  10180000
* /******************************************************************** 10190000
**/*E04PBS10: D (YES,,NO,E04PLL10:LL) IS THERE A 2ND LEVEL MESSAGE? */  10200000
**/* P INITIALIZE PUTLINE PARM BLOCK FOR 2ND LEVEL MSG */               10210000
* /******************************************************************** 10220000
*                                                                       10230000
*         /************************************************************ 10240000
*         /*              THE FOLLOWING CODE INITIALIZES              * 10250000
*         /*              THE PUTLINE PARAMETER BLOCK FOR             * 10260000
*         /*              THE SECOND LEVEL MESSAGE                    * 10270000
*         /************************************************************ 10280000
* E04PBS10: IF NXTLVLAD < KON0                /* IF A SECOND LEVEL MSG* 10290000
*             THEN                            /*  WAS NOT CALLED FOR  * 10300000
@9E9     EQU   *                                                  0140  10310000
@9EA     EQU   *                                                  0140  10320000
E04PBS10 LH    @F,KON0                                            0140  10330000
         L     @7,PBPTR                                           0140  10340000
         C     @F,0(0,@7)                                         0140  10350000
*               GOTO E04PLL10;                /*  BYPASS CODE FOR IT  * 10360000
         BC    02,E04PLL10                                        0141  10370000
*         NXTLVLAD  -> NXTLVLAD = KONFF0;     /* INDICATE THAT THERE    10380000
*                                                ARE NO FURTHER         10390000
*                                                LEVELS               * 10400000
         L     @8,PBPTR                                           0142  10410000
         L     @8,0(0,@8)          MSGCHN                         0142  10420000
         MVC   0(4,@8),KONFF0                                     0142  10430000
*         CNVA  = KON0;                       /* CLEAR ALIGNMENT AREA * 10440000
         MVC   200(2,@6),KON0                                     0143  10450000
*         CNVC(2)  = MSGN02;                  /* ALIGN INDICATOR OF     10460000
*                                                START OF POSSIBLE      10470000
*                                                2ND LEVEL MESSAGES   * 10480000
         L     @9,ADTABPTR                                        0144  10490000
         MVC   201(1,@6),0(@9)                                    0144  10500000
*         ADTABPTR  = ADDR(ADTAB2) + KON4 * CNVA;                       10510000
         LH    @E,200(0,@6)                                       0145  10520000
         MH    @E,KON4                                            0145  10530000
         L     @4,@A2              ADDRESS OF ADTAB2              0145  10540000
         AR    @E,@4                                              0145  10550000
         ST    @E,ADTABPTR                                        0145  10560000
*                                             /* SET PTR TO ENTRY FOR   10570000
*                                                1ST POSSIBLE 2ND       10580000
*                                                LEVEL MESSAGE        * 10590000
*         ADTABPTR  = ADTABPTR + KON4 * (LVL2NO - KON1);                10600000
         LH    @F,KON1                                            0146  10610000
         LCR   @F,@F                                              0146  10620000
         AH    @F,306(0,@6)                                       0146  10630000
         MH    @F,KON4                                            0146  10640000
         A     @F,ADTABPTR                                        0146  10650000
         ST    @F,ADTABPTR                                        0146  10660000
*                                             /* SET PTR TO PROPER      10670000
*                                                ENTRY FOR 2ND LEVEL    10680000
*                                                MESSAGE              * 10690000
*         NXTLVLAD  -> SEG1ADR = MSGPTR;      /* PLACE ADDRESS OF MSG   10700000
*                                                INTO PARM BLOCK      * 10710000
         LR    @5,@F                                              0147  10720000
         MVC   9(3,@8),1(@5)                                      0147  10730000
         MVI   8(@8),X'00'                                        0147  10740000
*         IF NXTLVLAD -> SEGCNT = KON2        /* IF THERE IS VARIABLE * 10750000
*           THEN                              /* PORTION IN 2ND LEVEL,* 10760000
         LH    @F,KON2                                            0148  10770000
         C     @F,4(0,@8)                                         0148  10780000
         BC    07,@9E8                                            0148  10790000
*             DO;                             /* CHANGE ADDRS FOR DY- * 10800000
*               PBPTR = NXTLVLAD;             /* NAMIC PORTION IN SRT * 10810000
         MVC   PBPTR(4),0(@7)                                     0150  10820000
*               VARSGADR = VARSGAD2;          /* TURES AND GO TO RECYC* 10830000
         MVC   297(3,@6),301(@6)                                  0151  10840000
*               VARSGLNG = VARSGLN2;          /* LE TO SET UP SAME AS * 10850000
         MVC   296(1,@6),300(@6)                                  0152  10860000
*               DYNMSGPT = ADDR(DYNMSG2);     /* FIRST LEVEL VARIABLE * 10870000
         LA    @F,DYNMSG2                                         0153  10880000
         ST    @F,DYNMSGPT                                        0153  10890000
*               GO TO E04PBS03;               /* PORTION              * 10900000
         BC    15,E04PBS03                                        0154  10910000
*             END;                                                      10920000
* /******************************************************************** 10930000
**/*E04PLL10: S PUTLINE: SET POINTERS AND PUT OUT INFORMATION */        10940000
**/* D (NO,%D11:BT,YES,%D1:RT) WAS PUTLINE SUCCESSFUL ? */              10950000
**/*%D11: P SET ERROR RETURN CODE */                                    10960000
**/*%D1: R RETURN */                                                    10970000
* /******************************************************************** 10980000
*                                                                       10990000
*         /************************************************************ 11000000
*         /*              THE FOLLOWING CODE SETS UP                  * 11010000
*         /*              THE LINKAGE FOR AND INVOKES                 * 11020000
*         /*              PUTLINE                                     * 11030000
*         /************************************************************ 11040000
* E04PLL10: ;                                                           11050000
@9E8     EQU   *                                                  0156  11060000
*         GEN(  MVC   APLN,LPLN           MOVE LIST TO GOTTEN CORE);    11070000
E04PLL10   MVC   APLN,LPLN           MOVE LIST TO GOTTEN CORE           11080000
         DS    0H                                                       11090000
*         RESTRICT  (R2,R3);                                            11100000
*         R2  = ADDR(APLN);                   /* REG2 POINTS TO LIST    11110000
*                                                FORM OF PUTLINE      * 11120000
         LA    @2,APLN                                            0159  11130000
*         R3  = ADDR(PTLNBLCK);               /* REG3 POINTS TO OUTPUT  11140000
*                                                MESSAGE BLOCK        * 11150000
         LA    @3,PTLNBLCK                                        0160  11160000
*         R1  = PPLPTR;                       /* REG1 POINTS TO         11170000
*                                                SERVICE ROUTINE        11180000
*                                                CONTROL BLOCK        * 11190000
         L     @1,248(0,@6)                                       0161  11200000
*         GEN( PUTLINE  PARM=(R2),OUTPUT=((R3),MULTLVL),MF=(E,(1)));    11210000
          PUTLINE  PARM=(R2),OUTPUT=((R3),MULTLVL),MF=(E,(1))           11220000
         DS    0H                                                       11230000
*                                             /* EXECUTE FORM OF        11240000
*                                                PUTLINE              * 11250000
*         RELEASE  (R2,R3);                                             11260000
*         IF  R15 ^= KON0                     /* IF THE PUTLINE WAS   * 11270000
*           THEN                              /*   UNSUCCESSFUL AND   * 11280000
         CH    @F,KON0                                            0164  11290000
         BC    08,@9E7                                            0164  11300000
*             IF RETCDAR ^= KON12             /*   IF A DRASTIC ERROR * 11310000
*               THEN                          /*   HAS NOT ALREADY    * 11320000
         LH    @F,KON12                                           0165  11330000
         C     @F,280(0,@6)                                       0165  11340000
         BC    08,@9E6                                            0165  11350000
*                 RETCDAR = KON16;            /*   OCCURRED INDICATE    11360000
*                                                  THE PUTLINE ERROR  * 11370000
         LH    @F,KON16                                           0166  11380000
         ST    @F,280(0,@6)                                       0166  11390000
**/*IKJEFE04: END */                                                    11400000
*         RETURN;                             /* RETURN TO CALLER     * 11410000
         BC    15,@EL01                                           0167  11420000
*         GEN;                                                          11430000
SPLL      EQU   *                                                       11440000
LPLN      PUTLINE MF=L              GO TO PUT OUT LINE                  11450000
EPLL      EQU   *                                                       11460000
         DS    0H                                                       11470000
*         GENERATE DATA;                                                11480000
*         END                                                           11490000
* /* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM.       11500000
* /*%INCLUDE SYSLIB  (IKJDAPL )                                         11510000
* /*%INCLUDE SYSLIB  (IKJDAP08)                                         11520000
* ;                                                                     11530000
@EL01    L     @D,4(0,@D)                                         0170  11540000
         LR    @1,@C                                              0170  11550000
         L     @0,@SIZ001                                         0170  11560000
         FREEMAIN R,LV=(0),A=(1)                                  0170  11570000
         L     @E,12(0,@D)                                        0170  11580000
         L     @0,20(0,@D)                                        0170  11590000
         LM    @2,@C,28(@D)                                       0170  11600000
         BCR   15,@E                                              0170  11610000
@DATA1   EQU   *                                                        11620000
@0       EQU   00                  EQUATES FOR REGISTERS 0-15           11630000
@1       EQU   01                                                       11640000
@2       EQU   02                                                       11650000
@3       EQU   03                                                       11660000
@4       EQU   04                                                       11670000
@5       EQU   05                                                       11680000
@6       EQU   06                                                       11690000
@7       EQU   07                                                       11700000
@8       EQU   08                                                       11710000
@9       EQU   09                                                       11720000
@A       EQU   10                                                       11730000
@B       EQU   11                                                       11740000
@C       EQU   12                                                       11750000
@D       EQU   13                                                       11760000
@E       EQU   14                                                       11770000
@F       EQU   15                                                       11780000
@D1      DC    H'-3'                                                    11790000
@D2      DC    H'-2'                                                    11800000
@MVC     MVC   0(1,@A),0(@E)                                            11810000
@A1      DC    A(ADTAB1)                                                11820000
@A2      DC    A(ADTAB2)                                                11830000
         DS    0F                                                       11840000
@SIZ001  DC    AL1(&SPN)                                                11850000
         DC    AL3(@DATEND-@DATD)                                       11860000
         DS    0F                                                       11870000
         DS    0D                                                       11880000
@DATA    EQU   *                                                        11890000
DUMPARM  EQU   00000000            FULLWORD INTEGER                     11900000
R1       EQU   00000001            FULLWORD POINTER REGISTER            11910000
R2       EQU   00000002            FULLWORD POINTER REGISTER            11920000
R3       EQU   00000003            FULLWORD POINTER REGISTER            11930000
R5       EQU   00000005            FULLWORD POINTER REGISTER            11940000
R6       EQU   00000006            FULLWORD POINTER REGISTER            11950000
R15      EQU   00000015            FULLWORD POINTER REGISTER            11960000
E01DATDF EQU   00000000            362 BYTE(S) ON DWORD                 11970000
DCBAR    EQU   E01DATDF+00000000   88 BYTE(S) ON DWORD                  11980000
ADPTR1   EQU   E01DATDF+00000088   FULLWORD POINTER                     11990000
ADPTR2   EQU   E01DATDF+00000092   FULLWORD POINTER                     12000000
MMNAMAR  EQU   E01DATDF+00000096   8 BYTE(S) ON WORD                    12010000
RDECB    EQU   E01DATDF+00000104   20 BYTE(S) ON WORD                   12020000
A00000   EQU   E01DATDF+00000104   6 BYTE(S)                            12030000
DECLNGTH EQU   E01DATDF+00000110   HALFWORD INTEGER                     12040000
A00001   EQU   E01DATDF+00000112   8 BYTE(S)                            12050000
DECIOBPT EQU   E01DATDF+00000120   FULLWORD POINTER                     12060000
LINPTR1  EQU   E01DATDF+00000124   FULLWORD POINTER                     12070000
EOLCNT   EQU   E01DATDF+00000128   FULLWORD INTEGER                     12080000
POSCNT   EQU   E01DATDF+00000132   FULLWORD INTEGER                     12090000
TSTLNG   EQU   E01DATDF+00000136   FULLWORD INTEGER                     12100000
TSTLNGC  EQU   E01DATDF+00000136   4 BYTE(S)                            12110000
GMNMIN   EQU   E01DATDF+00000140   FULLWORD INTEGER                     12120000
GMNMAX   EQU   E01DATDF+00000144   FULLWORD INTEGER                     12130000
ADDGMN   EQU   E01DATDF+00000148   FULLWORD POINTER                     12140000
AMTGMN   EQU   E01DATDF+00000152   FULLWORD INTEGER                     12150000
SP78ADDR EQU   E01DATDF+00000156   FULLWORD POINTER                     12160000
SP78LNGT EQU   E01DATDF+00000160   FULLWORD POINTER                     12170000
RDXCNV   EQU   E01DATDF+00000164   FULLWORD INTEGER                     12180000
A00002   EQU   E01DATDF+00000164   3 BYTE(S)                            12190000
DDIG     EQU   E01DATDF+00000167   1 BYTE(S)                            12200000
POSSPC   EQU   E01DATDF+00000168   FULLWORD INTEGER                     12210000
ATABIND  EQU   E01DATDF+00000172   FULLWORD POINTER                     12220000
ATABCUR  EQU   E01DATDF+00000176   FULLWORD POINTER                     12230000
FTABIND  EQU   E01DATDF+00000180   FULLWORD POINTER                     12240000
FTABCUR  EQU   E01DATDF+00000184   FULLWORD POINTER                     12250000
VALCNT   EQU   E01DATDF+00000188   FULLWORD INTEGER                     12260000
KWOCNT   EQU   E01DATDF+00000192   HALFWORD INTEGER                     12270000
KWWCNT   EQU   E01DATDF+00000194   HALFWORD INTEGER                     12280000
KWOBYT   EQU   E01DATDF+00000196   HALFWORD INTEGER                     12290000
KWWBYT   EQU   E01DATDF+00000198   HALFWORD INTEGER                     12300000
CNVA     EQU   E01DATDF+00000200   HALFWORD INTEGER                     12310000
CNVC     EQU   E01DATDF+00000200   2 BYTE(S)                            12320000
E01BINSW EQU   E01DATDF+00000202   2 BYTE(S) ON HWORD                   12330000
E01SW1   EQU   E01DATDF+00000202   1 BIT(S)                             12340000
E01SW2   EQU   E01DATDF+00000202   1 BIT(S)                             12350000
E01SW3   EQU   E01DATDF+00000202   1 BIT(S)                             12360000
E01SW4   EQU   E01DATDF+00000202   1 BIT(S)                             12370000
E01SW5   EQU   E01DATDF+00000202   1 BIT(S)                             12380000
E01SW6   EQU   E01DATDF+00000202   1 BIT(S)                             12390000
E01SW7   EQU   E01DATDF+00000202   1 BIT(S)                             12400000
E01SW8   EQU   E01DATDF+00000202   1 BIT(S)                             12410000
E01SW9   EQU   E01DATDF+00000203   1 BIT(S)                             12420000
E01SW10  EQU   E01DATDF+00000203   1 BIT(S)                             12430000
E01SW11  EQU   E01DATDF+00000203   1 BIT(S)                             12440000
E01SW12  EQU   E01DATDF+00000203   1 BIT(S)                             12450000
E01SW13  EQU   E01DATDF+00000203   1 BIT(S)                             12460000
E01SW14  EQU   E01DATDF+00000203   1 BIT(S)                             12470000
E01SW15  EQU   E01DATDF+00000203   1 BIT(S)                             12480000
E01SW16  EQU   E01DATDF+00000203   1 BIT(S)                             12490000
REGSAV   EQU   E01DATDF+00000204   3*FULLWORD INTEGER                   12500000
LATAB    EQU   E01DATDF+00000216   FULLWORD POINTER                     12510000
LFTAB    EQU   E01DATDF+00000220   FULLWORD POINTER                     12520000
BFAPTR   EQU   E01DATDF+00000224   FULLWORD INTEGER                     12530000
BFBPTR   EQU   E01DATDF+00000228   FULLWORD POINTER                     12540000
CPPLPTR  EQU   E01DATDF+00000232   FULLWORD POINTER                     12550000
STPRM    EQU   E01DATDF+00000236   3*FULLWORD INTEGER                   12560000
PPLPTR   EQU   E01DATDF+00000248   FULLWORD POINTER                     12570000
CBCOR    EQU   E01DATDF+00000252   24 BYTE(S)                           12580000
SRECB    EQU   E01DATDF+00000276   FULLWORD INTEGER                     12590000
RETCDAR  EQU   E01DATDF+00000280   FULLWORD INTEGER                     12600000
ABLK1    EQU   E01DATDF+00000284   FULLWORD POINTER                     12610000
EOB      EQU   E01DATDF+00000288   FULLWORD POINTER                     12620000
RCDST    EQU   E01DATDF+00000292   FULLWORD POINTER                     12630000
VARSGLNG EQU   E01DATDF+00000296   1 BYTE(S)                            12640000
VARSGADR EQU   E01DATDF+00000297   3  BYTE  POINTER ON WORD+1           12650000
VARSGLN2 EQU   E01DATDF+00000300   1 BYTE(S)                            12660000
VARSGAD2 EQU   E01DATDF+00000301   3  BYTE  POINTER ON WORD+1           12670000
LVL1NO   EQU   E01DATDF+00000304   HALFWORD INTEGER                     12680000
LVL2NO   EQU   E01DATDF+00000306   HALFWORD INTEGER                     12690000
PDLPTR   EQU   E01DATDF+00000308   FULLWORD POINTER                     12700000
DRDNPTR  EQU   E01DATDF+00000312   46 BYTE(S) ON WORD                   12710000
DSNARLNG EQU   E01DATDF+00000312   HALFWORD INTEGER                     12720000
DSNARLCH EQU   E01DATDF+00000312   2 BYTE(S)                            12730000
DSNAMAR  EQU   E01DATDF+00000314   44 BYTE(S)                           12740000
CBUFLSAV EQU   E01DATDF+00000358   HALFWORD INTEGER                     12750000
CBUFLSAC EQU   E01DATDF+00000358   2 BYTE(S)                            12760000
POSBYT   EQU   E01DATDF+00000360   HALFWORD INTEGER                     12770000
MSGCHN   EQU   00000000            20 BYTE(S) ON WORD                   12780000
NXTLVLAD EQU   MSGCHN+00000000     FULLWORD POINTER                     12790000
SEGCNT   EQU   MSGCHN+00000004     FULLWORD INTEGER                     12800000
SEG1ADR  EQU   MSGCHN+00000008     FULLWORD POINTER                     12810000
SEG2ADR  EQU   MSGCHN+00000012     FULLWORD POINTER                     12820000
SEG3ADR  EQU   MSGCHN+00000016     FULLWORD POINTER                     12830000
ADTABDUM EQU   00000000            4 BYTE(S) ON WORD                    12840000
MSGN02   EQU   ADTABDUM+00000000   1 BYTE(S)                            12850000
MSGPTR   EQU   ADTABDUM+00000001   3  BYTE  POINTER ON WORD+1           12860000
DYNMSGAR EQU   00000000            260 BYTE(S) ON WORD                  12870000
DYNLNG   EQU   DYNMSGAR+00000000   HALFWORD INTEGER                     12880000
DYNLNGC1 EQU   DYNMSGAR+00000000   1 BYTE(S)                            12890000
DYNLNGC2 EQU   DYNMSGAR+00000001   1 BYTE(S)                            12900000
DYNOFF   EQU   DYNMSGAR+00000002   HALFWORD INTEGER                     12910000
DYNOFFCH EQU   DYNMSGAR+00000002   2 BYTE(S)                            12920000
DYNTXT   EQU   DYNMSGAR+00000004   256 BYTE(S)                          12930000
MSGTXDUM EQU   00000000            5 BYTE(S) ON WORD                    12940000
MSGTXLNG EQU   MSGTXDUM+00000000   2 BYTE(S)                            12950000
A00003   EQU   MSGTXDUM+00000002   2 BYTE(S)                            12960000
MSGTX    EQU   MSGTXDUM+00000004   1 BYTE(S)                            12970000
KONFF0   EQU   @DATA+00000000      FULLWORD INTEGER                     12980000
KONFFC   EQU   *                   4 BYTE(S)                            12990000
         DC    X'FF000000'                                              13000000
VARSEG   EQU   00000000            256 BYTE(S)                          13010000
DAPLPTR  EQU   00000248            FULLWORD POINTER                     13020000
DAPL     EQU   00000000            20 BYTE(S) ON WORD                   13030000
DAPLUPT  EQU   DAPL+00000000       FULLWORD POINTER                     13040000
DAPLECT  EQU   DAPL+00000004       FULLWORD POINTER                     13050000
DAPLECB  EQU   DAPL+00000008       FULLWORD POINTER                     13060000
DAPLPSCB EQU   DAPL+00000012       FULLWORD POINTER                     13070000
DAPLDAPB EQU   DAPL+00000016       FULLWORD POINTER                     13080000
DAPB0PTR EQU   00000016            FULLWORD POINTER                     13090000
DAPB08   EQU   00000000            84 BYTE(S) ON WORD                   13100000
DA08CD   EQU   DAPB08+00000000     2 BYTE(S)                            13110000
DA08FLG  EQU   DAPB08+00000002     2 BYTE(S)                            13120000
DA08FPE  EQU   DAPB08+00000002     1 BIT(S)                             13130000
A00004   EQU   DAPB08+00000002     1 BIT(S)                             13140000
A00005   EQU   DAPB08+00000002     1 BIT(S)                             13150000
A00006   EQU   DAPB08+00000002     1 BIT(S)                             13160000
A00007   EQU   DAPB08+00000002     1 BIT(S)                             13170000
A00008   EQU   DAPB08+00000002     1 BIT(S)                             13180000
A00009   EQU   DAPB08+00000002     1 BIT(S)                             13190000
A00010   EQU   DAPB08+00000002     1 BIT(S)                             13200000
DA08DARC EQU   DAPB08+00000004     HALFWORD INTEGER                     13210000
DA08CTRC EQU   DAPB08+00000006     HALFWORD INTEGER                     13220000
DA08PDSN EQU   DAPB08+00000008     FULLWORD POINTER                     13230000
DA08DDN  EQU   DAPB08+00000012     8 BYTE(S)                            13240000
DA08UNIT EQU   DAPB08+00000020     8 BYTE(S)                            13250000
DA08SER  EQU   DAPB08+00000028     8 BYTE(S)                            13260000
DA08BLK  EQU   DAPB08+00000036     4 BYTE(S)                            13270000
DA08PQTY EQU   DAPB08+00000040     4 BYTE(S)                            13280000
DA08SQTY EQU   DAPB08+00000044     4 BYTE(S)                            13290000
DA08DQTY EQU   DAPB08+00000048     4 BYTE(S)                            13300000
DA08MNM  EQU   DAPB08+00000052     8 BYTE(S)                            13310000
DA08PSWD EQU   DAPB08+00000060     8 BYTE(S)                            13320000
DA08DSP1 EQU   DAPB08+00000068     1 BYTE(S)                            13330000
A00011   EQU   DAPB08+00000068     1 BIT(S)                             13340000
A00012   EQU   DAPB08+00000068     1 BIT(S)                             13350000
A00013   EQU   DAPB08+00000068     1 BIT(S)                             13360000
A00014   EQU   DAPB08+00000068     1 BIT(S)                             13370000
DA08SHR  EQU   DAPB08+00000068     1 BIT(S)                             13380000
DA08NEW  EQU   DAPB08+00000068     1 BIT(S)                             13390000
DA08MOD  EQU   DAPB08+00000068     1 BIT(S)                             13400000
DA08OLD  EQU   DAPB08+00000068     1 BIT(S)                             13410000
DA08DPS2 EQU   DAPB08+00000069     1 BYTE(S)                            13420000
A00015   EQU   DAPB08+00000069     1 BIT(S)                             13430000
A00016   EQU   DAPB08+00000069     1 BIT(S)                             13440000
A00017   EQU   DAPB08+00000069     1 BIT(S)                             13450000
A00018   EQU   DAPB08+00000069     1 BIT(S)                             13460000
DA08KEEP EQU   DAPB08+00000069     1 BIT(S)                             13470000
DA08DEL  EQU   DAPB08+00000069     1 BIT(S)                             13480000
DA08CAT  EQU   DAPB08+00000069     1 BIT(S)                             13490000
DA08UCAT EQU   DAPB08+00000069     1 BIT(S)                             13500000
DA08DPS3 EQU   DAPB08+00000070     1 BYTE(S)                            13510000
A00019   EQU   DAPB08+00000070     1 BIT(S)                             13520000
A00020   EQU   DAPB08+00000070     1 BIT(S)                             13530000
A00021   EQU   DAPB08+00000070     1 BIT(S)                             13540000
A00022   EQU   DAPB08+00000070     1 BIT(S)                             13550000
DA08KEP  EQU   DAPB08+00000070     1 BIT(S)                             13560000
DA08DELE EQU   DAPB08+00000070     1 BIT(S)                             13570000
DA08CATL EQU   DAPB08+00000070     1 BIT(S)                             13580000
DA08UNCT EQU   DAPB08+00000070     1 BIT(S)                             13590000
DA08CTL  EQU   DAPB08+00000071     1 BYTE(S)                            13600000
DA08TRKS EQU   DAPB08+00000071     1 BIT(S)                             13610000
DA08ABKL EQU   DAPB08+00000071     1 BIT(S)                             13620000
DA08UID  EQU   DAPB08+00000071     1 BIT(S)                             13630000
DA08RLSE EQU   DAPB08+00000071     1 BIT(S)                             13640000
DA08PERM EQU   DAPB08+00000071     1 BIT(S)                             13650000
DA08DMMY EQU   DAPB08+00000071     1 BIT(S)                             13660000
DA08ATRL EQU   DAPB08+00000071     1 BIT(S)                             13670000
A00023   EQU   DAPB08+00000071     1 BIT(S)                             13680000
A00024   EQU   DAPB08+00000072     3 BYTE(S)                            13690000
DA08DSO  EQU   DAPB08+00000075     1 BYTE(S)                            13700000
DA08ALN  EQU   DAPB08+00000076     8 BYTE(S)                            13710000
KON0     EQU   *                   HALFWORD INTEGER                     13720000
         DC    FL2'0'                                                   13730000
KON1     EQU   *                   HALFWORD INTEGER                     13740000
         DC    FL2'1'                                                   13750000
KON2     EQU   *                   HALFWORD INTEGER                     13760000
         DC    FL2'2'                                                   13770000
KON3     EQU   *                   HALFWORD INTEGER                     13780000
         DC    FL2'3'                                                   13790000
KON4     EQU   *                   HALFWORD INTEGER                     13800000
         DC    FL2'4'                                                   13810000
KON5     EQU   *                   HALFWORD INTEGER                     13820000
         DC    FL2'5'                                                   13830000
KON8     EQU   *                   HALFWORD INTEGER                     13840000
         DC    FL2'8'                                                   13850000
KON12    EQU   *                   HALFWORD INTEGER                     13860000
         DC    FL2'12'                                                  13870000
KON16    EQU   *                   HALFWORD INTEGER                     13880000
         DC    FL2'16'                                                  13890000
KON20    EQU   *                   HALFWORD INTEGER                     13900000
         DC    FL2'20'                                                  13910000
KON21    EQU   *                   HALFWORD INTEGER                     13920000
         DC    FL2'21'                                                  13930000
KON24    EQU   *                   HALFWORD INTEGER                     13940000
         DC    FL2'24'                                                  13950000
KON25    EQU   *                   HALFWORD INTEGER                     13960000
         DC    FL2'25'                                                  13970000
KON27    EQU   *                   HALFWORD INTEGER                     13980000
         DC    FL2'27'                                                  13990000
KON57    EQU   *                   HALFWORD INTEGER                     14000000
         DC    FL2'57'                                                  14010000
KON256   EQU   *                   HALFWORD INTEGER                     14020000
         DC    FL2'256'                                                 14030000
KONX00   EQU   *                   2 BYTE(S)                            14040000
         DC    X'0000'                                                  14050000
KONX06   EQU   *                   1 BYTE(S)                            14060000
         DC    X'06'                                                    14070000
KONXF0   EQU   *                   1 BYTE(S)                            14080000
         DC    X'F0'                                                    14090000
KONXF9   EQU   *                   1 BYTE(S)                            14100000
         DC    X'F9'                                                    14110000
         EXTRN ADTAB1                                                   14120000
         EXTRN ADTAB2                                                   14130000
         ORG   @DATA                                                    14140000
         DS    00000041C                                                14150000
@L       EQU   1                                                        14160000
@DATD    DSECT                                                          14170000
@SAV001  EQU   @DATD+00000000      72 BYTE(S) ON WORD                   14180000
PTLNBLCK EQU   @DATD+00000072      32 BYTE(S) ON WORD                   14190000
PBPTR    EQU   @DATD+00000104      FULLWORD POINTER                     14200000
ADTABPTR EQU   @DATD+00000108      FULLWORD POINTER                     14210000
DYNMSG1  EQU   @DATD+00000112      260 BYTE(S)                          14220000
DYNMSG2  EQU   @DATD+00000376      260 BYTE(S) ON DWORD                 14230000
DYNMSGPT EQU   @DATD+00000636      FULLWORD POINTER                     14240000
MAXMSGLN EQU   @DATD+00000640      HALFWORD INTEGER                     14250000
MAXMSGCH EQU   MAXMSGLN+00000000   2 BYTE(S)                            14260000
HOLNG    EQU   @DATD+00000642      HALFWORD INTEGER                     14270000
HOLNGC   EQU   HOLNG+00000000      2 BYTE(S)                            14280000
         DS    00000644C                                                14290000
@TEMPS   DS    0F                                                       14300000
@TEMP4   DC    F'0'                                                     14310000
         CNOP  0,4                                                      14320000
APLN      DS    CL(EPLL-SPLL)                                           14330000
@DATD    DSECT                                                          14340000
@DATEND  EQU   *                                                        14350000
IKJEFE04 CSECT ,                                                        14360000
@9FB     EQU   E04PBS02                                                 14370000
@9ED     EQU   @9EC                                                     14380000
@9E7     EQU   @EL01                                                    14390000
@9E6     EQU   @EL01                                                    14400000
         END                                                            14410000
