Example: Program prolog areas
The following example shows LIST output
for the program prolog area. The Program Prologue Area (PPA) is comprised
of several sections that contain information about the compiled program.
There is a PPA1 for every
procedure in your program, including procedures generated by the compiler.
The offset to its corresponding PPA1 is recorded
at offset 12 (X'C') from the start of each procedure. The PPA1 contains
information about the procedure as well as offsets to the PPA2 and PPA3 sections.
For details on how to use the program prolog areas to locate information in the listing file, see z/OS® Language Environment® Vendor Interfaces.
DATA VALIDATION AND UPDATE PROGRAM IGYTCARA Date
03/18/2016
Time 10:48:16
1 2 3 4
PPA1: Entry Point Constants
0081E0 1CCEA506 =F'483304710' Flags
0081E4 00008310 =A(PPA2-IGYTCARA)
0081E8 00008378 =A(PPA3-IGYTCARA)
0081EC 00000000 =F'0' No EPD
0081F0 FFFE0000 =F'-131072' Register Save Mask
0081F4 40000000 =F'1073741824' Member Flags
0081F8 90 =AL1(144) Flags
0081F9 000978 =AL3(2424) Callee's DSA use/8
0081FC 0000 =AL1(0) Flags
0081FE 0012 =H'18' Offset/2 to CDL
008200 D00006D0 =F'-805304624' State variable location
008204 00000000 =F'0' CDL function length/2
008208 00000000 =F'0' CDL function EP offset
00820C 00000000 =F'0' CDL prolog
008210 00000000 =F'0' CDL epilog
008214 00000000 =F'0' CDL end
008218 0008 **** AL2(8),C'IGYTCARA'
PPA1 End
There is one PPA2 for each program.
The offset to the PPA2 is recorded in each PPA1.
The PPA2 contains offsets to the Time Stamp
and Version Information section of the listing as well as
to the PPA4 section.
If the TEST option
is not in effect, the PPA2 section looks like this: PPA2: Entry Point Constants
000800 04002203 =F'67117571' Flags
000804 FFFFF800 =A(CEESTART-PPA2)
000808 00000058 =F'88' A(PPA4-PPA2)
00080C FFFFFFB0 =A(TIMESTMP-PPA2)
000810 FFFFF800 =A(PrimaryEntryPoint-PPA2)
000814 02200000 =F'35651584' Flags
PPA2 End
If the TEST option
is in effect, the PPA2 section looks like this: PPA2: Entry Point Constants
000830 04002203 =F'67117571' Flags
000834 FFFFF7D0 =A(CEESTART-PPA2)
000838 00000058 =F'88' A(PPA4-PPA2)
00083C FFFFFFB0 =A(TIMESTMP-PPA2)
000840 FFFFF7D0 =A(PrimaryEntryPoint-PPA2)
000844 02600000 =F'39845888' Flags
PPA2 End
There
is one PPA3 for each program (including each nested
program) in a COBOL source file. Each entry contains offsets, relative
to the PPA3 itself, to the base locator table and
to the special register table. The PPA3 also contains
an offset from the start of the program to the first COBOL statement.
PPA3: Entry Point Constants
0014D8 00000000 =F'0' Flags
0014DC 000000C0 =F'192' A(Base_Locator_Table-PPA3)
0014E0 000000D8 =F'216' A(Special_Register_Table-PPA3)
0014E0 00000184 =X'184' A(User_Entry-CUEntry)
PPA3 End
There is one PPA4 for
each program. It has offsets to various compiler generated tables,
such as the writable static area ( the Static Map and WSA24 sections).
The offset to the PPA4 is recorded in a field of
the PPA2.

PPA4: Entry Point Constants
008340 08000000 =F'134217728' Flags 1
008344 00020100 =F'131328' Flags 2
008348 00000000 =F'0' A(NORENTstatic)
00834C 00000000 =F'0' Q(RENTstatic)
008350 00000000 =F'0'
A(DATA24_31_address_cell-RENTstatic)
008354 FFFF7CC0 =F'-33600' A(Code-PPA4)
008358 00008398 =F'33688' Code Length
00835C 00000000 =F'0' Length NORENTstatic
008360 00002204 =F'8708' Length RENTstatic
008364 00000000 =F'0'
Length DATA24_31
008368 002A =X'2A' A(CUName-PPA4)
008372 00000090 =X'90' Offset UsrWrkStrg
008376 0000000B =X'B' Length UsrWrkStrg
00837A 00 =X'0' Has Externals
PPA4 End
- 1
- Relative location, in hexadecimal format, of the PPA field in the object module
- 2
- The contents of the field, in hexadecimal
- 3
- An assembler-like syntax defining the field
- 4
- A description of the contents of the field.
z/OS Language Environment Vendor Interfaces
WORKING-STORAGE SECTION changes
(Enterprise COBOL for z/OS Migration Guide)