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

Reply via email to