Changes to the application programming interface

Language restrictions

When programming in assembler and planning to translate your program using the LEASM option, these restrictions are added to those which apply for all assembler programs.
  • Register 2 cannot be used as a code base register.
  • Register 12 is reserved by Language Environment® to point to the Language Environment common anchor area (CAA) and so cannot be used at all by the program without being saved and restored as appropriate.
  • Register 13 must be used as the one and only working storage base register.
  • The program cannot be a Global User Exit program (GLUE) or a Task-Related User Exit program (TRUE).
  • The program must not use, or depend on, any AMODE(24) code.

Translator options

A new translator option LEASM (valid only for assembler programs) allows you to specify that this program is to be translated using the macros that will make it a Language Environment-conforming program, ready for assembly as a MAIN program.

Specification of LEASM results in the setting of a new assembler global &DFHEILE. A fourth positional parameter LE has been added to the DFHEIGBL macro that the translator inserts at the top of every output file. DFHEIGBL changes to set &DFHEILE on if LEASM is specified.

The translator sets a value (X'12') for the language in ARG0 when LEASM has been specified. The output from the translator will be identical to that produced without specifying LEASM in every other way.

If &DFHEILE is set, the DFHEISTG, DFHEIENT, DFHEIRET and DFHEIEND macros expand differently to create an LE environment rather than a normal CICS® environment. This allows your programs that have used NOPROLOG and NOEPILOG and coded their own DFHEIENT and other macros to take advantage of Language Environment support without changing their program source. For example, all programs that require more than one code base register fall into this category because the translator does not support multiple code base registers.

DFHEISTG
If &DFHEILE is set, the statement CEEDSA SECTYPE=OS will be added at the top of DFHEISTG, immediately after the DSECT statement. This causes the standard Language Environment DSA to be included, without a DSECT statement.
DFHEIENT
DFHEIENT generates a Language Environment CEEENTRY macro that sets up code addressability and working storage, rather than using the standard CICS methods.
Code addressability
DFHEIENT has a CODEREG parameter that defaults to 3. When the translator option LEASM is specified, the CEEENTRY is generated by DFHEIENT with the BASE parameter a straight copy of the CODEREG value.

CEEENTRY does not allow the use of registers 2 or 12 for code addressability. Register 12 must always contain the address of the Language Environment CAA during execution of a Language Environment program. Register 2 is not generally used as a code base because it is modified by instructions such as TRT. DFHEIENT will generate an error message if Register 2 or Register 12 is specified on CODEREG in a program translated using the LEASM option.

Working storage addressability
DFHEIENT has a DATAREG parameter that defaults to 13. CEEENTRY doesn't allow anything other than R13 for working storage, and does not support multiple working storage registers. DFHEIENT disallows the use of anything other than 13 for DATAREG in a program translated using the LEASM option.
DFHEIRET
Generates CEETERM RC=0 for a program translated using the LEASM option.

EXAMPLE LEASM PROGRAM

Here is a simple CICS assembler program.
*ASM XOPTS(LEASM)                                                   
DFHEISTG DSECT                                                     
OUTAREA  DS    CL200               DATA OUTPUT AREA                
*                                                                  
EIASM    CSECT ,                                                   
         MVC  OUTAREA(40),MSG1                                     
         MVC  OUTAREA(4),EIBTRMID                                  
         EXEC CICS SEND TEXT FROM(OUTAREA) LENGTH(43) FREEKB ERASE 
         EXEC CICS RECEIVE                                         
         MVC  OUTAREA(13),MSG2                                     
         EXEC CICS SEND TEXT FROM(OUTAREA) LENGTH(13) FREEKB ERASE 
         EXEC CICS RETURN                                          
*                                                                  
MSG1     DC   C'xxxx: ASM program invoked. ENTER TO END.'          
MSG2     DC   C'PROGRAM ENDED'                                     
         END 
When translated and assembled, it becomes:
*ASM XOPTS(LEASM)
         DFHEIGBL ,,,LE            INSERTED BY TRANSLATOR
*,&DFHEIDL; SETB 0  1 MEANS EXEC DLI IN PROGRAM                          01-DFHEI
*,&DFHEIDB; SETB 0  1 MEANS BATCH PROGRAM                                01-DFHEI
*,&DFHEIRS; SETB 0  1 MEANS RSECT                                        01-DFHEI
*,&DFHEILE; SETB 1  1 MEANS LE MAIN                                      01-DFHEI
DFHEISTG DSECT
         DFHEISTG                  INSERTED BY TRANSLATOR
***********************************************************************
*              EXEC INTERFACE DYNAMIC STORAGE                         *
***********************************************************************
DFHEISTG DSECT                     EXEC INTERFACE STORAGE      @BBAC81A 01-DFHEI
         USING *,DFHEIPLR          ESTABLISH ADDRESSABILITY    @BBAC81A 01-DFHEI
*
**********************************************************************
*   D Y N A M I C   S T O R A G E   A R E A    ( D S A )             *
**********************************************************************
*
CEEDSA   DS    0D         Just keep the same label for formulae         02-CEEDS
*
CEEDSAFLAGS DS XL2                  DSA flags                           02-CEEDS
CEEDSALNGC EQU X'1000'                C library DSA                     02-CEEDS
CEEDSALNGP EQU X'0800'                PL/I library DSA                  02-CEEDS
CEEDSAEXIT EQU X'0008'                An Exit DSA                       02-CEEDS
CEEDSAMEMD DS  XL2                  Member defined                      02-CEEDS
CEEDSABKC DS   A                    Addr of DSA of caller               02-CEEDS
CEEDSAFWC DS   A                    Addr of DSA of last called rtn      02-CEEDS 
***********************************************************************
*                                                                     *
* CONTROL BLOCK NAME = DFHEIBLK                                       *
*                                                                     *
* NAME OF MATCHING PL/AS CONTROL BLOCK = None                         *
*                                                                     *
* DESCRIPTIVE NAME = %PRODUCT EXEC Interface Block.                   *
*                                                                     *
*    @BANNER_START                           02                       *
*    Licensed Materials - Property of IBM                             *
*                                                                     *
*    "Restricted Materials of IBM"                                    *
*                                                                     *
*    5697-E93                                                         *
*                                                                     *
*    (C) Copyright IBM Corp. 1990, 1993                               *
*                                                                     *
*                                                                     *
*                                                                     *
*                                                                     *
*    @BANNER_END                                                      *
*                                                                     *
* STATUS = %XA20                                                      *
*                                                                     *
* FUNCTION = EXEC Interface Block.                                    *
*                                                                     *
*        The exec interface block contains information on the         *
*        transaction identifier, the time and date, and the cursor    *
*        position on a display device. Some of the other fields are   *
*        set indicating the next action that a program should take    *
*        in certain circumstances.                                    *
*        DFHEIBLK also contains information that will be helpful      *
*        when a dump is being used to debug a program.                *
*        This control block is included automatically by an           *
*        application program using the command-level interface.       *
*        EISEIBA in the EIS addresses the EIB.                        *
*                                                                     *
*                                                                     *
*                                                                     *
* NOTES :                                                             *
*    DEPENDENCIES = S/370                                             *
*    MODULE TYPE = Control block definition                           *
*    PROCESSOR = Assembler                                            *
*                                                                     *
*-------------------------------------------------------------------- *
*                                                                     *
* CHANGE ACTIVITY :                                                   *
*   £SEG(DFHEIBLK),COMP(COMMAND),PROD(%PRODUCT) :                     *
*                                                                     *
*     PN= REASON REL YYMMDD HDXXIII : REMARKS                         *
*    £L1= 550    %0G 900515 HDFSPC  : Add an EIB length equate        *
*    £D1= I05119 %B1 930226 HDDHDMA : Correct comments for date field *
*    £P1= M60581 %B0 900116 HDAEGB  : Change for PLXMAP to data areas *
*                                                                     *
***********************************************************************
*              EXEC INTERFACE BLOCK                                   *
***********************************************************************
DFHEIBLK DSECT                     EXEC INTERFACE BLOCK        @BBAC81A 01-DFHEI
         USING *,DFHEIBR                                       @BBAC81A 01-DFHEI
EIBTIME  DS    PL4                 TIME IN 0HHMMSS FORMAT      @BBAC81A 01-DFHEI
EIBDATE  DS    PL4                 DATE IN 0CYYDDD+ FORMAT,        @D1C 01-DFHEI
*                                  where C is the century          @D1A
*                                  indicator (0=1900, 1=2000),     @D1A
*                                  YY is the year, DDD is the      @D1A
*                                  day number and '+' is the       @D1A
*                                  sign byte (positive)            @D1A
EIBTRNID DS    CL4                 TRANSACTION IDENTIFIER      @BBAC81A 01-DFHEI
EIBTASKN DS    PL4                 TASK NUMBER                 @BBAC81A 01-DFHEI
EIBTRMID DS    CL4                 TERMINAL IDENTIFIER         @BBAC81A 01-DFHEI
EIBRSVD1 DS    H                   RESERVED                    @BBAC81A 01-DFHEI
EIBCPOSN DS    H                   CURSOR POSITION             @BBAC81A 01-DFHEI
EIBCALEN DS    H                   COMMAREA LENGTH             @BBAC81A 01-DFHEI
EIBAID   DS    CL1                 ATTENTION IDENTIFIER        @BBAC81A 01-DFHEI
EIBFN    DS    CL2                 FUNCTION CODE               @BBAC81A 01-DFHEI
EIBRCODE DS    CL6                 RESPONSE CODE               @BBAC81A 01-DFHEI
EIBDS    DS    CL8                 DATASET NAME                @BBAC81A 01-DFHEI
EIBREQID DS    CL8                 REQUEST IDENTIFIER          @BBAC81A 01-DFHEI
EIBRSRCE DS    CL8                 RESOURCE NAME               @BBDIA0U 01-DFHEI
EIBSYNC  DS    C                   X'FF' SYNCPOINT REQUESTED   @BBDIA0U 01-DFHEI
EIBFREE  DS    C                   X'FF' FREE REQUESTED        @BBDIA0U 01-DFHEI
EIBRECV  DS    C                   X'FF' RECEIVE REQUIRED      @BBDIA0U 01-DFHEI
EIBSEND  DS    C                   RESERVED                    @BM13417 01-DFHEI
EIBATT   DS    C                   X'FF' ATTACH RECEIVED       @BBDIA0U 01-DFHEI
EIBEOC   DS    C                   X'FF' EOC RECEIVED          @BBDIA0U 01-DFHEI
EIBFMH   DS    C                   X'FF' FMHS RECEIVED         @BBDIA0U 01-DFHEI
EIBCOMPL DS    C                   X'FF' DATA COMPLETE                  01-DFHEI
EIBSIG   DS    C                   X'FF' SIGNAL RECEIVED                01-DFHEI
EIBCONF  DS    C                   X'FF' CONFIRM REQUESTED              01-DFHEI
EIBERR   DS    C                   X'FF' ERROR RECEIVED                 01-DFHEI
EIBERRCD DS    CL4                 ERROR CODE RECEIVED                  01-DFHEI
EIBSYNRB DS    C                   X'FF' SYNC ROLLBACK REQ'D            01-DFHEI
EIBNODAT DS    C                   X'FF' NO APPL DATA RECEIVED          01-DFHEI
EIBRESP  DS    F                   INTERNAL CONDITION NUMBER            01-DFHEI
EIBRESP2 DS    F                   MORE DETAILS ON SOME RESPONSES       01-DFHEI
EIBRLDBK DS    CL1                 ROLLED BACK                          01-DFHEI
*
EIBLENG  EQU   *-EIBTIME           Length of EIB                   @L1A 01-DFHEI
***********************************************************************
*              END OF EXEC INTERFACE BLOCK                            *
***********************************************************************
DFHEIBR  EQU   11                  EIB REGISTER                @BA02936 01-DFHEI
                                                                  @01A  02-CEEEN
***********************************************************************
*              PROLOG CODE FOR EXEC INTERFACE                         *
***********************************************************************
*&DFHEICS; CEEENTRY PPA=DFHPPA,MAIN=YES,PLIST=OS,
*               BASE=&CODEREG;,
*               AUTO=(DFHEIEND-DFHEISTG)
TESTLE  CSECT ,                                                         02-CEEEN
TESTLE  RMODE ANY                                                       02-CEEEN
TESTLE  AMODE ANY                                                       02-CEEEN
           ENTRY TESTLE                                                 02-CEEEN
         PUSH  USING                                                    02-CEEEN
         DROP  ,                                                  @02A  02-CEEEN
         USING *,15                                                     02-CEEEN
         B     CEEZ0007                                                 02-CEEEN
         DC    X'00C3C5C5'                                              02-CEEEN
CEEY0007      DC    A((((DFHEIEND-DFHEISTG)+7)/8)*8)                   X02-CEEEN
                                        . Size of automatic storage.
         DC    A(DFHPPA-TESTLE)   . Address of PPA for this program     02-CEEEN
         B     1(,15)                                                   02-CEEEN
CEEZ0007    EQU *                                                       02-CEEEN
         STM   14,12,CEEDSAR14-CEEDSA(13)                               02-CEEEN
         L     2,CEEINPL0007                                5@01D @01C  02-CEEEN
         L     15,CEEINT0007                                      @01C  02-CEEEN
         DROP  15                                                 @01A  02-CEEEN
         BALR  14,15                                                    02-CEEEN
         LR    2,1                                                      02-CEEEN
         L     14,752(,12)                                              02-CEEEN
         OI    8(14),X'80'                                              02-CEEEN
         BALR  3,0                                                @01A  02-CEEEN
         USING *,3   
         L     3,CEEOEPV0007                                      @01A  02-CEEEN
         POP   USING                                              @01A  02-CEEEN
         USING TESTLE,3                                           @01A  02-CEEEN
         L     1,CEEDSANAB-CEEDSA(,13)  Get the current NAB             02-CEEEN
         L     0,CEEY0007                                               02-CEEEN
         ALR   0,1                     Compute new value.               02-CEEEN
         CL    0,CEECAAEOS-CEECAA(,12)  Compare with EOS.               02-CEEEN
         BNH   CEEX0007                                                 02-CEEEN
         L     15,CEECAAGETS-CEECAA(,12) Get address overflow routine   02-CEEEN
         BALR  14,15                   Get another stack segment.       02-CEEEN
         LR    1,15                                                     02-CEEEN
         B     CEEX0007                Branch around statics      @01A  02-CEEEN
CEEINPL0007    DC    A(CEEINPL)                                   @01A  02-CEEEN
CEEINT0007     DC    V(CEEINT)                                    @01A  02-CEEEN
CEEOEPV0007    DC    A(TESTLE)                                    @01A  02-CEEEN
CEEX0007    EQU *                                                       02-CEEEN
         ST    13,CEEDSABKC-CEEDSA(,1)  Set back chain.                 02-CEEEN
         ST    0,CEEDSANAB-CEEDSA(,1)   Set new NAB value               02-CEEEN
         XC    CEEDSAFLAGS-CEEDSA(,1),CEEDSAFLAGS-CEEDSA(1) . Clear     02-CEEEN
         ST    1,CEEDSAFWC-CEEDSA(,13)  Set forward chain.              02-CEEEN
         LR    13,1                    Set save area address            02-CEEEN
         USING CEEDSA,13               Addresability to SF     V1R2M0   02-CEEEN
         MVC   CEEDSALWS,CEECAALWS-CEECAA(12) Get LWS addr     V1R2M0   02-CEEEN
         LR    1,2                                                      02-CEEEN
         BAL   1,*+8                                               @L2A 01-DFHEI    
* The following gives an assembler message if DFHEISTG is too big  @P7A
         DS    0S((DFHEISTG+65264-DFHEIEND-4096)/4096)             @04C 01-DFHEI
         DC    AL2(DFHEIEND-DFHEISTG)  LENGTH OF STORAGE           @L2A 01-DFHEI
         DC    H'0'                Parameter list version number   @P6C 01-DFHEI
***********************************************************************
*              ESTABLISH DATA ADDRESSIBILITY                          *
***********************************************************************
DFHEIPLR EQU   13                  PARAMETER LIST REGISTER     @BBAC81A 01-DFHEI
         LR    DFHEIPLR,15                                     @BBAC81A 01-DFHEI
         USING DFHEISTG,13                                     @BBAC81A 01-DFHEI
         MVC   DFHEIBP(L'DFHEIBP+L'DFHEICAP),0(1)                  @D3AX01-DFHEI
                                        COPY EIB AND CA PTRS       @D3A
***********************************************************************
*              ESTABLISH EIB ADDRESSIBILITY                           *
***********************************************************************
         L     DFHEIBR,DFHEIBP                                 @BBAC81A 01-DFHEI
         USING DFHEIBLK,DFHEIBR                                @BBAC81A 01-DFHEI
***********************************************************************
*              END OF PROLOG CODE FOR EXEC INTERFACE                  *
***********************************************************************
         MVC  OUTAREA(40),MSG1
         MVC  OUTAREA(4),EIBTRMID
*        EXEC CICS SEND TEXT FROM(OUTAREA) LENGTH(43) FREEKB ERASE
         DFHECALL =X'180660000800C20000082204000020',,(______RF,OUTAREA*
               ),(FB_2,=Y(43))
***********************************************************************
         DS    0H                                                       01-DFHEC
         LA    1,DFHEIPL                                                01-DFHEC
         LA    14,=X'180660000800C20000082204000020'                    01-DFHEC
         SR    15,15                                                    01-DFHEC
         LA    0,OUTAREA                                                01-DFHEC
         STM   14,0,0(1)                                                01-DFHEC
         LA    14,=Y(43)                                                01-DFHEC
         ST    14,12(,1)                                                01-DFHEC
         OI    12(1),X'80'         LAST ARGUMENT                        01-DFHEC
         L     15,=V(DFHEI1)                                            01-DFHEC
         BALR  14,15               INVOKE EXEC INTERFACE                01-DFHEC
***********************************************************************
*        EXEC CICS RECEIVE
         DFHECALL =X'040200000800000014000040000000'
***********************************************************************
         DS    0H                                                       01-DFHEC
         LA    1,DFHEIPL                                                01-DFHEC
         LA    14,=X'040200000800000014000040000000'                    01-DFHEC
         ST    14,0(,1)                                                 01-DFHEC
         OI    0(1),X'80'          LAST ARGUMENT                        01-DFHEC
         L     15,=V(DFHEI1)                                            01-DFHEC
         BALR  14,15               INVOKE EXEC INTERFACE                01-DFHEC
***********************************************************************
         MVC  OUTAREA(13),MSG2
*        EXEC CICS SEND TEXT FROM(OUTAREA) LENGTH(13) FREEKB ERASE
         DFHECALL =X'180660000800C20000082204000020',,(______RF,OUTAREA*
               ),(FB_2,=Y(13))
***********************************************************************
         DS    0H                                                       01-DFHEC
         LA    1,DFHEIPL                                                01-DFHEC
         LA    14,=X'180660000800C20000082204000020'                    01-DFHEC
         SR    15,15                                                    01-DFHEC
         LA    0,OUTAREA                                                01-DFHEC
         STM   14,0,0(1)                                                01-DFHEC
         LA    14,=Y(13)                                                01-DFHEC
         ST    14,12(,1)                                                01-DFHEC
         OI    12(1),X'80'         LAST ARGUMENT                        01-DFHEC
         L     15,=V(DFHEI1)                                            01-DFHEC
         BALR  14,15               INVOKE EXEC INTERFACE                01-DFHEC
***********************************************************************
*        EXEC CICS RETURN
         DFHECALL =X'0E0800000800001000'
***********************************************************************
         DS    0H                                                       01-DFHEC
         LA    1,DFHEIPL                                                01-DFHEC
         LA    14,=X'0E0800000800001000'                                01-DFHEC
         ST    14,0(,1)                                                 01-DFHEC
         OI    0(1),X'80'          LAST ARGUMENT                        01-DFHEC
         L     15,=V(DFHEI1)                                            01-DFHEC
         BALR  14,15               INVOKE EXEC INTERFACE                01-DFHEC
***********************************************************************
*
MSG1     DC   C'xxxx: ASM program invoked. ENTER TO END.'
MSG2     DC   C'PROGRAM ENDED'
         DFHEIRET                  INSERTED BY TRANSLATOR
***********************************************************************
*              EPILOG CODE FOR EXEC INTERFACE                         *
***********************************************************************
         DS    0H                                              @BBAC81A 01-DFHEI
         LA   1,CEET0014                Get address of termination list 02-CEETE
         L    15,=V(CEETREC)            Get address of termination rtn  02-CEETE
         BALR 14,15                     Call termination routine.       02-CEETE

CEET0014 DC   A(*+8)               Parm 1                               02-CEETE
         DC   A(*+8+X'80000000')   Parm 2                               02-CEETE
         DC   A(0)                 Enc_Modifier                         02-CEETE
         DC   A(0)                 Return code.                         02-CEETE
CEEMAIN  CSECT                                                          02-CEETE
CEEMAIN  RMODE ANY                                                      02-CEETE
CEEMAIN  AMODE ANY                                                      02-CEETE
         DC    A(TESTLE)                                          @04A  02-CEETE
         DC    F'0'                                                     02-CEETE
TESTLE     CSECT                                                        02-CEETE
***********************************************************************
*              END OF EPILOG CODE FOR EXEC INTERFACE                  *
***********************************************************************
         LTORG ,                                               @BBAC81A 01-DFHEI
               =V(DFHEI1)
               =V(CEETREC)
               =Y(43)
               =Y(13)
               =X'180660000800C20000082204000020'
               =X'040200000800000014000040000000'
               =X'0E0800000800001000'
         DS    0H                                           @F8E1S @L1C 01-DFHEI
         DFHEISTG                  INSERTED BY TRANSLATOR
         DFHEIEND                  INSERTED BY TRANSLATOR
*
**********************************************************************
*        P R O G R A M  P R O L O G  A R E A 1   ( P P A 1)          *
**********************************************************************
*
PPA10018    DS    0F                                                    02-CEEPP
DFHPPA   DS    0F                                                       02-CEEPP
         DC    AL1(PPANL0018-*) Offset to the entry name length         02-CEEPP
         DC    X'CE'            Language Environment Indicator.         02-CEEPP
         DC    B'10100000'                             . PPA flags      02-CEEPP
*                     Bit 0   0 = Internal Procedure
*                             1 = External Procedure
*                     Bit 1   0 = Primary Entry Point
*                             1 = Secondary Entry Point
*                     Bit 2   0 = Block doesn't have a DSA
*                             1 = Block has a DSA
*                     Bit 3   0 = compiled object
*                             1 = library object
*                     Bit 4   0 = sampling interrupts to library
*                             1 = sampling interrupts to code
*                     Bit 5   0 = not an exit DSA
*                             1 = Exit DSA
*                     Bit 6   0 = own exception model
*                             1 = inherited (callers) exception model
*                     Bit 7       Reserved
         DC    X'00'            Member flags                            02-CEEPP
         DC    A(PPA20018)      Addr of Compile Unit Block (PPA2)       02-CEEPP
         DC    A(0)                                                     02-CEEPP
         DC    A(0)             Data Descriptors for this entry point   02-CEEPP
         DS    0H                                                       02-CEEPP
PPANL0018 DC   AL2(6)        .  Length of Entry Point Name              02-CEEPP
         DC    CL6'TESTLE'   .  Entry Point Name                        02-CEEPP
CEEINPL  DS    0D                                                       02-CEEPP
         DC    A(PPA2M0018)                                             02-CEEPP
         DC    A(CEEINPLSTST-CEEINPL)                                   02-CEEPP
CEEINPLSTST DS 0F                                                       02-CEEPP
         DC    X'00'            Control Level                     @01A  02-CEEPP
         DC    X'00'            ENCLAVE=NO                        @01A  02-CEEPP
         DC    X'00'                                              @01A  02-CEEPP
         DC    X'07'            Number of items.                  @01C  02-CEEPP
         DC    A(PPA2M0018)   . A of A(first entry point in comp unit)  02-CEEPP
         DC    V(CEESTART)   . A(Address of CEESTART)                   02-CEEPP
         DC    V(CEEBETBL)                                              02-CEEPP
         DC    A(15)         . Memeber id                               02-CEEPP
         DC    A(0)                                                     02-CEEPP
         DC    XL4'00070000'          . EXECOPS(ON), PLIST              02-CEEPP
         DS    0H                                                       02-CEEPP
*
**********************************************************************
*        P R O G R A M  P R O L O G  A R E A 2   ( P P A 2)          *
**********************************************************************
*
         EXTRN CEESTART                                                 02-CEEPP
PPA20018    DS    0F                                                    02-CEEPP
         DC    AL1(15)          Member ID                               02-CEEPP
         DC    AL1(0)           Sub ID                                  02-CEEPP
         DC    AL1(0)           Member defined                          02-CEEPP
         DC    AL1(1)           Level of PPAx control blocks            02-CEEPP
PPA2S0018   DC    A(CEESTART)      A(CEESTART for this load module)     02-CEEPP
         DC    A(0)             A(Compile Debug Information (CDI) )     02-CEEPP
         DC    A(CEETIMES-PPA20018)   A(Offset to time stamp)           02-CEEPP
PPA2M0018   DC    A(TESTLE)      . A(first entry point in comp. unit)   02-CEEPP
*
**********************************************************************
*                 T I M E    S T A M P                               *
**********************************************************************
*
*        Time Stamp
*,Time Stamp = 2004/06/17 08:51:00                                      02-CEEPP
*,Version 1 Release 1 Modification 0                                    02-CEEPP
CEETIMES DS    0F                                                       02-CEEPP
         DC    CL4'2004'          Year                                  02-CEEPP
         DC    CL2'06'            Month                                 02-CEEPP
         DC    CL2'17'            Day                                   02-CEEPP
         DC    CL2'08'            Hours                                 02-CEEPP
         DC    CL2'51'            Minutes                               02-CEEPP
         DC    CL2'00'            Seconds                               02-CEEPP
         DC    CL2'1'             Version                               02-CEEPP
         DC    CL2'1'             Release                               02-CEEPP
         DC    CL2'0'             Modification                          02-CEEPP
***********************************************************************
*  C O M M O N   A N C H O R   A R E A   ( C A A )                    *
***********************************************************************
***********************************************************************
***********************************************************************
LEPTRLEN EQU    4                                                       03-CEEDN
*
CEECAA      DSECT ,                 CAA mapping                         02-CEECA

    (Definition of LE CAA removed)

*              TERMINATE DEFINITION OF DYNAMIC STORAGE                *
DFHEISTG DSECT                                                 @BBAC81A 01-DFHEI
         ORG                                                            01-DFHEI
DFHEIEND DS    0X                  END OF DYNAMIC STORAGE      @BBAC81A 01-DFHEI
         END