The effort would be on the part of "service" writers -- primarily IBM developers.
This is a new sort of-AMODE. Storage that you can reference but cannot pass to the unwary, cannot use with standard MVS VL=1 linkage, cannot branch to, ... > So long as the top 32 bits of 64-bit registers remain as zero (a 32-bit > program is never going to change that), AM64 is just as good as an AM32 Au contraire. 1. A 31/32 bit program can do 64-bit arithmetic. As a writer of mixed mode programs, I can tell you this is a real gotcha. In an AMODE 31 program you can use some register for 64 bit arithmetic, and a little while later load a 31-bit address into it and use it as a pointer -- and that all works. In AMODE 64, suddenly those 64-bit high order leftovers byte you in the butt. 2. A 31/32-bit program cannot count on the high halves being zero in any event. There is no guarantee that you are entered with the high halves equal to zero, and no guarantee they stay that way -- they theoretically should, but there are no guarantees, if you call some service. I'm not going to be as blunt as @Tony but IMHO there is so little chance of this happening that I think this discussion is moot. Lord knows I have been wrong before. Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Paul Edwards Sent: Sunday, May 6, 2018 3:16 PM To: [email protected] Subject: Re: GETMAIN LOC=32 On Sun, 6 May 2018 15:08:24 -0700, Charles Mills <[email protected]> wrote: >What exactly would the benefit be? Any 32-bit program currently coming up against the 2 GiB barrier can have its life extended by bumping the limit up to 4 GiB. > Currently, if one wants to address more than > 2GiB of memory one has to be a full AMODE 64 > program. Executing in AMODE 64 is fine. Rewriting a 32-bit program to be 64-bit, using 64-bit data pointers, is *not*. > This would let a program address 4GiB while only > using 32-bit registers and addresses in storage -- > is that the point? Yes, this is the point. > Or am I confused? Is that the whole point? The point is that 32-bit programs can access 4 GiB of memory as programmers would normally hope is possible. > If so, I see the benefit, but not the benefit to > effort ratio. What effort? Depending on how the existing 32-bit code is written, all you need to do is change a LOC=31 to LOC=32. > Or putting it differently, aren't three addressing > modes enough for a system service to have to > deal with? 3 is fine. I'm not asking for a new addressing mode. AM64 is fine. So long as the top 32 bits of 64-bit registers remain as zero (a 32-bit program is never going to change that), AM64 is just as good as an AM32, so there's no need to create an AM32, so there's very little effort involved. BFN. Paul. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
