To add 31-bit DAT-off code to the DAT-off nucleus, and execute
the code, follow these steps:
- Create a separate module containing the code that runs with DAT-off,
as follows:
- Use entry point IEAVEURn, where n is a number from 1 to 4. MVS™ reserves four
entry points in the DAT-off nucleus for AMODE 31 user code.
- Give the module AMODE 31 and RMODE ANY attributes.
- Make sure the DAT-off code does not alter register 0; it contains
the return address to the routine that issues the DATOFF macro.
- Use BSM 0,14 as the return instruction.
- Linkedit your DAT-off module (IEAVEURn) into SYS1.NUCLEUS. The
member names are IEAVEDAT and IEAV2DAT; input to the linkage editor
must include an ORDER and ENTRY control statement for entry point
IEAVEDAT in both modules.
- Within a DAT-on routine, code a DATOFF macro to invoke the module
created in step 1:
DATOFF INDEX=INDUSRn
The
suffix of the index (n) is the same as the suffix of the DAT-off module‘s
entry point, IEAVEURn. See z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN for
details on coding the DATOFF macro.
Note: You will need to re-linkedit your IEAVEURn module(s)
into the DAT-off nucleus if you re-install the MVS base control program.
To add 64-bit DAT-off code to the DAT-off nucleus, and execute
the code, follow these steps:
- Create a separate module containing the code that runs with DAT-off,
as follows:
- Use entry point IEAV64Un, where n is a number from 1 to 4. MVS reserves four
entry points in the DAT-off nucleus for AMODE 64 user code. Give the
module AMODE 64 and RMODE ANY attributes.
- Give the module AMODE 31 and RMODE ANY attributes.
- Make sure the DAT-off code does not alter register 0; it contains
the return address to the routine that issues the DATOFF macro.
- Use BR 14 as the return instruction.
- Linkedit your DAT-off module (IEAVEURn) into SYS1.NUCLEUS. The
member name is IEAV2DAT; input to the linkage editor must include
an ORDER and ENTRY control statement for entry point IEAVEDAT.
- Within a DAT-on routine, code a DATOFF macro to invoke the module
created in step 1:
DATOFF INDEX=INDUSR64n
The
suffix of the index (n) is the same as the suffix of the DAT-off module‘s
entry point, IEAV64Un. See z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN for
details on coding the DATOFF macro.
Note: You will need to re-linkedit your IEAV64Un module(s)
into the DAT-off nucleus if you re-install the MVS base control program.