Assembler
For CICS® to load your assembler programs in the ERDSA, assemble and link-edit them with the following options: the RENT assembler option; the link-edit RENT attribute; the RMODE(ANY) residency mode.
If you specify these options, ensure that the program is truly read-only (for example, it does not write to static storage), otherwise storage exceptions occur. The program must also be written to 31-bit or 64-bit addressing standards. For possible causes of storage protection exceptions in programs that are resident in the ERDSA, see Causes of protection exceptions.
AMODE(31) programs
The CICS-supplied procedure for AMODE (31) application programs, DFHEITAL, has a LNKPARM parameter that specifies the XREF and LIST options only. To link-edit an ERDSA-eligible program, override LNKPARM from the calling job, specifying the RENT and RMODE(ANY) options in addition to any others you require.
//ASMPROG JOB
1,user_name,MSGCLASS=A,CLASS=A,NOTIFY=userid
//EITAL EXEC DFHEITAL,
.
(other parameters as necessary)
.
// LNKPARM='LIST,XREF,RMODE(ANY),RENT'
The CICS EXEC interface module for assembler programs (DFHEAI) specifies AMODE(ANY) and RMODE(ANY). However, because the assembler defaults your application to AMODE(24) and RMODE(24), the resulting load module also becomes AMODE(24) and RMODE(24).
MYPROG CSECT
MYPROG AMODE 31
MYPROG RMODE ANY
-
You can set the required AMODE and RMODE specification by using
link-edit (or binder) control information in the JCL PARM keyword.
For example:
//EITAL EXEC DFHEITAL, LNKPARM='LIST,XREF,RENT,AMODE(31),RMODE(ANY)'
- Alternatively, you can use the MODE control statement in the SYSIN data set in the link-edit, or the binder, step in your JCL.
AMODE(64) programs
The CICS-supplied procedure for AMODE(64) application programs, DFHEGTAL, has a LNKPARM parameter that specifies the XREF and LIST options only. To link-edit an ERDSA-eligible program, override LNKPARM from the calling job, specifying the RENT and RMODE(ANY) options in addition to any others you require.
//ASMPROG JOB
1,user_name,MSGCLASS=A,CLASS=A,NOTIFY=userid
//EGTAL EXEC DFHEGTAL,
.
(other parameters as necessary)
.
// LNKPARM='LIST,XREF,RMODE(ANY),RENT'
The CICS EXEC interface module for AMODE(64) assembler programs (DFHEAG) specifies AMODE(64) and RMODE(ANY). However, because the assembler defaults your application to AMODE(24) and RMODE(24), the resulting load module also becomes AMODE(24) and RMODE(24).
MYPROG CSECT
MYPROG AMODE 64
MYPROG RMODE ANY
-
You can set the required AMODE and RMODE specification by using
link-edit (or binder) control information in the JCL PARM keyword.
For example:
//EITAL EXEC DFHEGTAL, LNKPARM='LIST,XREF,RENT,AMODE(64),RMODE(ANY)'
- Alternatively, you can use the MODE control statement in the SYSIN data set in the link-edit, or the binder, step in your JCL.