z/OS Language Environment Customization
SA38-0685-00
The abnormal termination exit must be written in assembler. If
you write an abnormal termination exit in Language Environment-enabled
assembler, be sure to specify MAIN=NO in the CEENTRY macro.
The abnormal termination exit cannot call any HLL programs.
The abnormal termination exit cannot create a Language Environment enclave.
The abnormal termination exit can use the following Language Environment callable
services if the feedback code is passed as a parameter:
Date and time callable services
Dynamic storage callable services
Message handling callable services
National language support callable services
A subset of the general callable services: CEE3DMP, CEE3GRC, CEE3PRM
A subset of the condition handling callable services: CEE3GRN,
CEEDCOD, CEEGPID, CEEGQDT, CEEITOK, CEENCOD
Language Environment issues
a system-dependent LOAD for one of the names contained in CEEEXTAN.
If the load is successful, the abnormal termination exit is invoked.
Upon return from the abnormal termination exit, Language Environment deletes
the routine. A return code is not provided, because Language Environment takes
no action (beyond deleting the routine) for a nonzero return code.
If Language Environment intercepts
a program check, an ABEND, or a CEESGL while an abnormal termination
exit is in control, Language Environment issues
an ABEND to terminate the enclave with the abend code 4087 reason
code 10.
Entry conditions into the abnormal termination exit:
Register 1
Has a standard OS parameter list as described above.
Register 12
Points to the CAA.
Register 13
Points to a Language Environment DSA with
a valid NAB. (You can use it as a standard 18-fullword save area.)
Register 14
Contains the return address.
Register 15
Contains the entry point address.
AMODE
Is 31.
Exit conditions from the abnormal termination exit: