CICS® supports
assembler programs that have been compiled by the supported compilers
listed in the CICS
Release Guide. All assembler programs are executed under
the runtime support provided by Language Environment®.
Note the following Assembler language programming considerations:
When using BAKR instructions (branch and stack) to provide linkage between assembler programs, take care that the linked-to program does not issue EXEC CICS requests. If CICS receives control and performs a task switch before the linked-to program returns by a PR instruction (program return), then other tasks might be dispatched and issue further BAKR / PR calls. These modify the linkage-stack and result in the wrong environment being restored when the original task issues its PR instruction.
Working storage is allocated either above or below the 16MB line, according to the value of the DATALOCATION parameter on the PROGRAM definition in the CSD.
The following restriction applies to an assembler language application program executing in 31-bit mode:
The following restrictions apply to an assembler language application program that uses access registers to exploit the extended addressability of ESA/370 processors:
For more guidance information about using access registers, see the z/OS®: MVS Programming: Extended Addressability Guide.
The following restriction applies to an assembler language application program that uses 64-bit registers to exploit 64-bit addressing mode or 64-bit binary operations:
For more guidance information about using 64-bit addressing mode and 64-bit binary operations, see the z/OS: MVS Programming: Assembler Services Guide.