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