DFHECALL macro

The CICS® translator generates an invocation of this macro for each EXEC CICS command in an Assembler language CICS application program.

Syntax

Read syntax diagramSkip visual syntax diagramDFHECALL

Description

For an assembler language application program, when the CICS translator detects a CICS command, each command is replaced by an invocation of the DFHECALL macro. The DFHECALL macro sets up the command parameters and calls the initial CICS command processor to handle the command.

This macro expands to a system-standard call sequence that uses registers 15, 14, 0, and 1. The contents of these registers are as follows:
  • Register 15 contains the address of the entry point in the EXEC interface program.
  • Register 14 contains the address of the return point in your application program.
  • Register 0 is undefined.
  • Register 1 contains the address of the parameter list.
The entry point held in register 15 is resolved in the EXEC interface processor that must be link-edited with your application program.
  • For AMODE(24) and AMODE(31) applications, this EXEC interface processor is DFHEAI.
  • For AMODE(64) applications, this EXEC interface processor is DFHEAG.

You can specify the exit from the application program by an EXEC CICS RETURN command in your source program. Alternatively, you can use the DFHEIRET macro, which restores the registers and returns control to the address in register 14. The translator inserts the DFHEIRET macro, with no parameters specified, immediately before the END statement, unless you specify the NOEPILOG translator option. You can use this macro to return from a top-level program, but is not advisable from a lower-level program.

During assembly, the DFHECALL macro builds an argument list in dynamic storage, so that the application program is reentrant. Then the macro invokes the EXEC interface program DFHEIP for AMODE(24) or AMODE(31) applications, or DFHEIG for AMODE(64) applications. These programs also obey system standards, as previously described.

For AMODE(64) applications, although the application and the initial command processor run in 64-bit addressing mode, the parameters that the DFHECALL macro sets up and passes to the initial command processor contain 31-bit addresses. Therefore, the storage in which the call parameters are built, the DFHEISTG storage, must be 31-bit storage (above 16 MB but below 2 GB).

Operands

This macro does not have any operands.