On 2019-11-17 5:40 PM, Joseph Reichman wrote:
I normally do all I/O in amode 24 because of the EODAD of AL3 the open
having an AL3 for the DCB
Unless you have an old ESA or even older XA system, there's no need to
do I/O in amode24 these days. Just use amode31.
The AL3 pointers will restrict you to rmode24, but that's a different story.
If the only DCB exits you use are EODAD and/or SYNAD, and you want to go
rmode31 (or rmodeany if you prefer) then you can supply their 4-byte
address in the DCBE macro. But you do not need 4-byte pointers to them
to use amode31.
About the only amode24 code for z/OS I write these days is for exits
where only amode24 is supported. DCB exits pointed to by DCBEXLST may
be in this boat, as are the SYSIN and SYSPRINT (and other DD ??) exits
used for supplying data to and consuming data from calls to the IDCAMS
program.
Sometimes in rmode31 programs I GETMAIN BTL storage and load the code
for DCB exits, but this technique is not required for EODAD and SYNAD
exits due to their DCBE support.
Cheers,
Greg
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN