On Tue, 8 May 2018 07:24:55 -0500, Tom Marchant <m42tom-ibmm...@yahoo.com> 
wrote:

>On Tue, 8 May 2018 05:47:03 -0500, Paul Edwards wrote:
>
>>extra baggage of 64-bit programming, with
>>64-bit addresses stored in memory instead
>>of 32-bit addresses.
>
>This is 2018. Conserving memory isn't nearly as important as it was in 1970. 
>Storing 64-bit addresses isn't a big deal.

It potentially defeats the cache. We should
have the option of producing both 32-bit
and 64-bit applications.

>>It's about making 32-bit programs the best
>>they can be in theory. That means producing
>>a *single load module* that works as AM24
>>on MVS 3.8j, works as AM31 on MVS/XA and
>>above, and works as AM64 on z/OS.
>
>>32-bit load modules should be constructed
>>in a manner that still works on S/370.
>
>>This has nothing to do with MVS/380. It has
>>to do with making beautiful 32-bit load
>>modules that work anywhere. I already have
>>that, but when my load modules run on z/OS
>>they can only get 2 GiB of memory and I
>>would like to be able to bump that up to
>>4 GiB.
>
>You are contradicting yourself. You say that your programs should be 
>constructed in such a way that they work on System/370, yet you 
>need to be able to allocate 3 GB of contiguous storage.

There is no contradiction. If I have a 32-bit
program that is trimodal, I expect that if I
have an application that e.g. reads a whole
file into memory in one chunk, that the file
size can be 16 MiB on S/370, 2 GiB on
MVS/XA, and 4 GiB on z/OS. Since there
appear to be technical reasons preventing
a 4 GiB file on z/OS, I will have to run on
MVS/380 instead if I want to edit a file that
is greater than 2 GiB.

However, if I have a *different* application
that doesn't doing a single allocate, then I
would hope that I can get 4 GiB even from
z/OS, just not in a single chunk.

>You are not being truthful when you say that this has nothing to do 
>with MVS/380.

It doesn't have anything to do with MVS/380.
I am trying to get 32-bit load modules to work
as best as possible on all IBM systems, MVS 3.8j,
MVS/XA, OS/390, z/OS. Yes, I also intend to
run on MVS/380, but that is irrelevant.

I am interested in "rerunning history" and coming
up with S/370 "best programming practices" that
people *could* have written their code to, and
then fast-forward to z/OS and we have the best
32-bit load modules possible. "best programming
practices" mean that you don't use the high bit
of a 32-bit address as a flag etc. Basically if
around the time that MVS/XA was introduced, it
would have been good if IBM could have predicted
that one day we will have 4 GiB of memory, so
we can start preparing for that day by having
programmers code LOC=32 if their program is
32-bit clean. All 32-bit programs could have an
attribute saying "AMODE-infinity" in the spot that
is now called "AMODE 64". And we only write
AMODE infinity programs, both 32-bit and
64-bit flavors. No extra flag is needed when we
start having 128-bit registers or 256-bit registers.

BFN. Paul.

----------------------------------------------------------------------
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