On 6/30/2012 10:04 AM, Alex Kodat wrote:

Storage for all data areas and control blocks can be backed above the 2 GB bar
even if your program is running in 24-bit mode. This means that you can code
either of the following:
* LOC=(BELOW,ANY)
* LOC=(BELOW,64)
on the GETMAIN or STORAGE macro.
Recommendation: Code the second value as 64.
Note: Code LOC=(BELOW,ANY) or LOC=(BELOW,24) when using tape devices
that do not support 64-bit IDAWs.

This recommendation assumes the AMODE(24)/RMODE(24) program is coded using
re-entrant programming techniques and is actively being maintained by someone
with enough "smarts" to seek out all eligible GETMAINs, specify a backing
location other than the default, and test to be sure everything works as
expected. Note that many older programs are not re-entrant and have no control
over the backing of the storage into which they are loaded. (The system has no
choice but to use 24-bit backing.)

IMO, anyone doing active development in the 21st century should be writing
interface macros and services that support RMODE 31 calling programs. Enhancing
existing 24-bit-only services to support 31-bit-resident callers seems to me to
be a much better use of programmer resources than spending time 'enhancing'
those 24-bit interfaces to detect RMODE 31 callers at assembly time only to
issue an error MNOTE.

--
Edward E Jaffe
Phoenix Software International, Inc
831 Parkview Drive North
El Segundo, CA 90245
310-338-0400 x318
edja...@phoenixsoftware.com
http://www.phoenixsoftware.com/

Reply via email to