On Tue, 15 May 2018 08:33:13 -0700, Charles Mills <charl...@mcn.org> wrote:

>I should know better than to poke this thing again but I just do not see how 
>it makes sense.
>
>- If the code runs AM=31 then 32-bit addresses will not work.
>- If the code runs AM=64 then the high words of the registers are significant. 
>One cannot count on them being zero -- trust me on this, been there and got 
>the S0C4 tee shirt* -- so you now have to at least be cognizant of high halves 
>of registers, which defeats the OP's idea of pretending that bits 0-31 don't 
>exist. You have to save those high halves (if you want to be well-behaved) and 
>you have to zero or LLGF into them. And by running AM=64 aren't you getting 
>away from this (silly IMHO) concept of portability back to s/370?
>
>Does that not make the case for this fall apart?

If you assume nothing changes, then indeed can be no AM32 for the very reasons 
you cite.   But if you make certain assumptions and restrictions, you can have 
it without too much effort.  But those restrictions are a bummer.   You can't 
reliably CALL a 31-bit interface with 32-bit storage addresses, even if it has 
a fixed number of parameters.  The called code isn't going to be assured to be 
"AM32-clean".  I remember when we had to XA-ize CMS and all of the AMODE 
switching internally to deal with new programs calling old interfaces.  It 
wasn't free.

But as an intellectual exercise on how to write "old" code in an AM64 
environment and get some of the benefits for free, it's been interesting.  As 
you point out, not worth IBM's effort to accommodate such a small group of 
beneficiaries, but interesting nonetheless.

Alan Altmark
IBM

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