No.  LA (and all LA variations) are modal, in that LA will not affect the
high-half of the register, unless executing in AMODE 64.

Anyway, what's the point of clearing registers unless or until you need to
use them?

sas


On Wed, Feb 1, 2023 at 8:02 PM Paul Edwards <mutazi...@gmail.com> wrote:

> On Sun, 6 May 2018 18:34:35 -0500, Paul Edwards <mutazi...@gmail.com>
> wrote:
>
> Sorry for the necro ...
>
> >On Sun, 6 May 2018 16:11:57 -0700, Charles Mills <charl...@mcn.org>
> wrote:
> >
> >>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,
> >
> >The 32-bit program can clear all registers with
> >LMH if IBM can't guarantee high halves of 0.
> >It can do that once at startup and the rest of
> >the program doesn't need to change.
>
> I recently realized that I should be able to use "LA Rx,0"
> to clear the high 32-bits of undefined registers. (a separate
> LA for each register).
>
> This only uses S/370 instructions and future-proofs the
> code for if IBM produces a machine with 128-bit or 256-bit
> registers.
>
> I'm thinking undefined registers on program entry need to
> be cleared with LA, and whenever you call a z/OS service,
> any register documented as being trashed needs to be
> cleared (with LA) on return.
>
> I think that is sufficient?
>
> BFN. Paul.
>
> ----------------------------------------------------------------------
> 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