Sorry, I read "top half" as top half of the SA rather than top halves of the 
registers.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


________________________________________
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
Binyamin Dissen <bdis...@dissensoftware.com>
Sent: Sunday, October 24, 2021 2:14 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Question about negative indexes

Not necessarily.

An A64 routine can step down to call an A31 routine which will not save top
halves and will only provide an 18 word save area.

On Sun, 24 Oct 2021 17:23:31 +0000 Seymour J Metz <sme...@gmu.edu> wrote:

:>?
:>
:>If R13 points to an 18-word save area, then there is no top half to save. R13 
must point to an appropriate save area before calling the A64 routine.
:>
:>
:>--
:>Shmuel (Seymour J.) Metz
:>http://mason.gmu.edu/~smetz3
:>
:>
:>________________________________________
:>From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
Binyamin Dissen <bdis...@dissensoftware.com>
:>Sent: Sunday, October 24, 2021 5:58 AM
:>To: IBM-MAIN@LISTSERV.UA.EDU
:>Subject: Re: Question about negative indexes
:>
:>Well ........
:>
:>Your only serious issue would be when the calling chain includes a 64bit which
:>steps down to 31bit which then invokes your 64bit code, as the passed save
:>area will only have room for the bottom halves. You would need to store the
:>top halves in a local work area before initializing them.
:>
:>If you know that your calling chain is all 24/31 bit, you would not need to
:>save the top-halves.
:>
:>On Sun, 24 Oct 2021 10:55:32 +0200 Bernd Oppolzer <bernd.oppol...@t-online.de>
:>wrote:
:>
:>:>Thanks a lot.
:>:>
:>:>I have found new important (for me) insights from this discussion, that is:
:>:>similar to the AMODE 24 to AMODE 31 transition, we will face serious
:>:>problems
:>:>with existing programs, because such logic as below, which will work
:>:>correctly
:>:>with AMODE 24/31, is simply plain wrong with AMODE 64.
:>:>
:>:>Even if we make sure that the left half of all general registers is
:>:>zero, when
:>:>entering some legacy code which worked correctly in the AMODE 24/31 case.
:>:>(This is new to me).
:>:>
:>:>Is there already some sort of paper which contains all the codings to
:>:>look for,
:>:>in the same way as we had it when doing the transition from AMODE 24 to 31?
:>:>Or: is it assumed that hand-crafted ASSEMBLER code doesn't exist any more
:>:>with AMODE 64, and that the AMODE is set to 31, before such legacy
:>:>hand-crafted
:>:>code is executed?
:>:>
:>:>Thanks, kind regards
:>:>
:>:>Bernd
:>:>
:>:>
:>:>Am 24.10.2021 um 01:35 schrieb Paul Gilmartin:
:>:>> On Sun, 24 Oct 2021 00:57:53 +0200, Bernd Oppolzer wrote:
:>:>>
:>:>>> So this means that
:>:>>>
:>:>>> LA   2,ITEM+10
:>:>>> LH   3,=H'-5'
:>:>>> LA   2,0(2,3)
:>:>>>
:>:>>> will put the address ITEM+5 in register 2, at least in AMODE 24/31?
:>:>>>
:>:>> I believe so.  BTW, the HLASM Ref. says the address operand of a USING
:>:>> must be non-negative, but I've tried negative values and they work with no
:>:>> error.
:>:>>
:>:>>> With AMODE 64, this will be a problem, because the LH instruction only
:>:>>> fills the right half
:>:>>> of the 64 bit register 3, right?
:>:>>>
:>:>>> Is there a way to do this right in all AMODEs?
:>:>>>
:>:>> Does LGH do that for you?  (I can no longer make sense of the PoOps.)
:>:>> (But not on hardware levels lacking LGH.)
:>:>>
:>:>>> For positive indexes? (only, if we assume the left half to be zero?)
:>:>> -- gil
:>:>>
:>:>> ----------------------------------------------------------------------
:>:>> For IBM-MAIN subscribe / signoff / archive access instructions,
:>:>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
:>:>
:>:>----------------------------------------------------------------------
:>:>For IBM-MAIN subscribe / signoff / archive access instructions,
:>:>send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
Binyamin Dissen <bdis...@dissensoftware.com>
http://secure-web.cisco.com/1R2HrTaNCBJt20V-31_QAMX3oiX0069dW9Kmtjll6mJdCoLsLjIQqjkMwDKIMvy-6To2l7D2zLPtnoYyFpoNBhWSYCkBd_4VGnBPlwNpnPJM4EsuJagtqe-sIPH4FAToyutjpHvynABXkrEcM0XGAy53neIhM9slf_7CnQwbA8YXle-F4tyk5RfSKFc9ZNL05hML7qssKoH4ACcZdqJivOMwYkvJsu_YSHZYMmSLWP_uZm1YmBRgHMhXezR_r8aOrb6LLdwRhZ0JjuGNqEyZT8OKarOxe29NloqbmHKpkc15BPUr177Eu5ZFn4Caxu6B0ZdSsJx9nwLdXDXvUjVoCMD3qhBmrigohQ-dGTjDLOthUBfKoygRaWEFJjEgwwrC9_JUhh0odvqrupW0L87UN0jLg2qmDcMQOZjlX0L6Rtfd-ZqQV9NtM4dhGdVK4kF4n/http%3A%2F%2Fwww.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


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