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/