Re: Using the High Halfs of registers

2017-11-07 Thread Peter Relson
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

Re: Using the High Halfs of registers

2017-10-30 Thread Wendell Lovewell
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

Re: Using the High Halfs of registers

2017-10-30 Thread Steve Smith
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. *:

Re: Using the High Halfs of registers

2017-10-28 Thread Tony Harminc
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. >>

Re: Using the High Halfs of registers

2017-10-28 Thread Charles Mills
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

Re: Using the High Halfs of registers

2017-10-28 Thread Charles Mills
@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

Re: Using the High Halfs of registers

2017-10-28 Thread retired mainframer
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

Re: Using the High Halfs of registers

2017-10-27 Thread Charles Mills
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

Re: Using the High Halfs of registers

2017-10-27 Thread Robin Vowels
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

Re: Using the High Halfs of registers

2017-10-27 Thread Tony Harminc
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

Re: Using the High Halfs of registers

2017-10-27 Thread Tony Harminc
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

Re: Using the High Halfs of registers

2017-10-27 Thread Charles Mills
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

Using the High Halfs of registers

2017-10-27 Thread Wendell Lovewell
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.