All 64 bits of general registers 14, 15, 0, and 1, and the
corresponding ARs are volatile across any call or service.
Actually, the linkage convention is that AR14 and the high half of GR14
are not volatile. That matches what the PR instruction accomplishes
(having saved all the regs via
Thanks Steve, Charles, Tony, Robin & especially "Retired".
The application is spread out across 6000+ modules, and some are out of
registers. Floating point would probably work, but I've never worked with them
either. I'm already using the high half of Reg2, and it appears to be working
All 64 bits of general registers 14, 15, 0, and 1, and the
corresponding ARs are volatile across any call or service. This is
just an extension of the ancient rule.
No IBM service will modify any other register*, and called programs
should certainly return all other registers unmodified, too.
*:
On 27 October 2017 at 21:26, Robin Vowels wrote:
> From: "Tony Harminc"
> Sent: Saturday, October 28, 2017 11:13 AM
>
> Add Immediate High (AIH). But when was it introduced...? There are no
>> change bars in the -10 edition of the PofO, so before then.
>>
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Using the High Halfs of registers
According to the 2004 POO (SA22-7832-03), which I believe predates z9, you can:
Simulate an LA to clear the high half contents of a register with ICMH
Rx,15,=XL4(00) or NG Rx,=XL8()
Simulate an LA
@LISTSERV.UGA.EDU
Subject: Re: Using the High Halfs of registers
According to the 2004 POO (SA22-7832-03), which I believe predates z9, you can:
Simulate an LA to clear the high half contents of a register with ICMH
Rx,15,=XL4(00) or NG Rx,=XL8()
Simulate an LA to increment
ISTSERV.UGA.EDU
> Subject: Using the High Halfs of registers
>
> Hello,
>
> I've inherited a large (31-bit) application with little documentation and
> lots and lots of
> BASRs to subprograms. I can't tell how deep the calls can go, but I've seen
> over 20 levels
> d
Well, depending on his exact logic, quite possibly yes.
Charles
-Original Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On
Behalf Of Robin Vowels
Sent: Friday, October 27, 2017 6:26 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Using the High
From: "Tony Harminc"
Sent: Saturday, October 28, 2017 11:13 AM
On 27 October 2017 at 19:31, Wendell Lovewell
wrote:
...
Sorry for all the background. What I'm looking for are "high-half"
versions of LA and BCTR commands, so that the incrementing
On 27 October 2017 at 20:12, Charles Mills wrote:
> Unfortunately, a lot of the high half instructions come along (not
> surprisingly) with the "high-word facility" which is z196 and above. I've
> never used it, but Add Immediate High (AIH) looks like what you are looking
> for
On 27 October 2017 at 19:31, Wendell Lovewell
wrote:
> ...
> Sorry for all the background. What I'm looking for are "high-half"
> versions of LA and BCTR commands, so that the incrementing and
> decrementing could be done with 2 statements per CSECT--without affecting
al Message-
From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On
Behalf Of Wendell Lovewell
Sent: Friday, October 27, 2017 4:32 PM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Using the High Halfs of registers
Hello,
I've inherited a large (31-bit) application with little doc
Hello,
I've inherited a large (31-bit) application with little documentation and lots
and lots of BASRs to subprograms. I can't tell how deep the calls can go, but
I've seen over 20 levels deep. I'm looking for a way to keep track of the
stack level of a routine that doesn't add much code.
13 matches
Mail list logo