Extensions to dynamic storage
You can extend dynamic storage to provide extra storage for user variables by defining these variables in your source program in a DSECT called DFHEISTG.
24-bit and 31-bit addressing mode
For AMODE(24)
and AMODE(31) programs, the maximum amount of dynamic storage obtainable
using the DFHEISTG DSECT is 65 264 bytes. DFHEISTG is a reserved name.
This storage is initialized to X'00'. At translation, the translator
inserts the DFHEISTG macro immediately following your DFHEISTG DSECT
instruction. In this way, the DSECT describes dynamic storage needed
for the parameter list, for the command-level interface, and for any
user variables. At link-edit time, use the STORAGE option of the CEEXOPT
macro to ensure that the DFHEISTG storage is initialized to x'00',
for example, CEEXOPT STORAGE=(,,00)
. Make sure that
your application propagates or initializes any constants that are
defined in the user DFHEISTG area.
64-bit addressing mode
For non-Language Environment® AMODE(64) assembler language programs, the DFHEISTG macro generates an AMODE(64) DSECT. DFHEISTG storage is obtained from 31-bit storage (above 16 MB but below 2 GB), not from 64-bit storage. The maximum amount of dynamic storage obtainable using the DFHEISTG DSECT is 65 264 bytes. This storage is initialized to X'00'.
At translation, the translator inserts the DFHEISTG macro immediately following your DFHEISTG DSECT instruction. In this way, the DSECT describes dynamic storage needed for the parameter list, for the command-level interface, and for any user variables.
CICS® defines the front portion of DFHEISTG storage.
The EIB pointer, DFHEIBP, and the COMMAREA pointer, DFHEICAP, are set up before the DFHEIENT macro returns control to the application program. These pointers are 64-bit pointers in 24-bit or 31-bit storage.