Since z/OS 2.3 you have been able to identify modules as wanting to be 
RMODE 64, via what Ed Jaffe mentioned (including RMODEX=64TRUE).
Just about the only thing that is guaranteed for an RMODE 64 module is 
that your module will survive being undispatched and redispatched (such as 
on a time slice).

VERY FEW system services officially support invocation in RMODE 64. If 
they don't say that they do, then do not assume that they do. In practice 
services that are SVC-entered or PC-entered might well work enough for 
your purposes (and I intentionally used the word "enough" because there 
might be things that you do not notice that are not fully supported, 
particularly with respect to diagnostic data). Things that are 
branch-entered might "get there" but might well not "get back". Be careful 
about referencing parameters that are within your module for a service 
that does not document that it accepts parameter data above 2G. Any 
service that has a "SAM31" (or SAM24) as part of its expansion will of 
course not work in RMODE 64. Many things cannot be RMODE 64. including 
IRBs, SRBs, recovery routines, retry points. All of these relate to there 
being only a 4-byte area to capture the initial address. Obviously after 
getting control you can branch elsewhere. For recovery routine retry, one 
way to accomplish retrying to an area in an RMODE 64 module is to set up 
64-bit retry register 15 with the pointer-defined address of where you 
"really want to go" and retry to CVTBSM0F. You might also need SETRP 
RETRY15=YES so that your retry register 15 is honored.

If your RMODE 64 module calls no services (and of course is AMODE 64) it 
will work if correctly written. 

There has been no proven need for RMODE 64 for modules (despite the 
abominable code bloat of some application approaches).  Applications have 
been moving their data above 2G for many years. 

The eventual intent is for LE to support your RMODE 64 modules via the LE 
services that you can call. The LE services will pay attention to whether 
the underlying system service supports RMODE 64 or not. I've lost track of 
whether this is available or not, and, if not available, when it might be.

Peter Relson
z/OS Core Technology Design


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to