DFHEIENT macro
Allocates working storage to hold any user variables and for CICS® use.
Syntax
Description
The translator inserts the DFHEIENT macro after the first CSECT or START instruction (unless you
specify the NOPROLOG translator option to prevent this). This macro performs prolog code to allocate
working storage to hold any user variables and for CICS use:
- It saves registers.
- It gets an initial allocation of the storage that is defined by DFHEISTG.
- It sets up a base register (default register 3).
- It sets up a dynamic storage register (default register 13).
- It sets up a register to address the EIB (default register 11).
AMODE(64) programs must use relative addressing, because only relative addressing is supported. Use the NOPROLOG translator option and specify the DFHEIENT macro with the appropriate parameters for relative addressing.
For relative addressing, you do not need any base registers to address your program instructions, but you must use the STATREG and STATIC parameters to set up at least one static register to address static data in your program.
Operands
- CODEREG
- Specify a value of 0 (the default) to specify relative addressing.
- DATAREG
- Specify one or more working storage registers for the application program. The default is register 13, and it is advisable to use register 13 as your first data dynamic-storage register. If you do not, the code generated by the DFHECALL macro adds extra instructions to manipulate register 13. The DFHECALL macro ensures that register 13 addresses the save area that DFHEISTG defined in dynamic storage.
- EIBREG
- Specify the register to use to address the EXEC interface block (EIB). The default is register 11.
- STATREG
- Specify one or more static registers for the application program to use. The default is register 3.
- STATIC
- Specify the assembler label of the start of the static area. You must specify a value; there is no default for this parameter.
