"When control is returned to your control section from the called control section, registers 2-14 contain the same information they contained when control was passed, as long as system conventions are followed "
I see nothing wrong with BIC for returning from an AMODE 64 caller with an F4SA. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on behalf of Steve Smith [sasd...@gmail.com] Sent: Monday, November 29, 2021 4:59 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: Re: Base-less macros Using R14 as a temporary code base after a call isn't going to work in those cases. I'd never heard about using BIC to return (nor can I see much reason for it). And there are other bizarre ways to return without restoring R14, which is not actually required by documented conventions. For BASSM, I suppose you could just change it to USING *+1,R14, depending on how that suits your sensibilities. Anyway, thanks both for pointing those out. Nevertheless, there's hardly any reason to ban it entirely. Everything has caveats. Any suggested code is provided without any warranty, and it's up to a competent programmer to decide if & how it may or may not fit into his or her program. And you might want to test it once or twice. sas On Mon, Nov 29, 2021 at 3:58 PM Ngan, Robert (DXC Luxoft) < robert.n...@dxc.com> wrote: > The assembler services guide doesn't specify what is in (bottom half of) > R14 upon return. > Also, on return to an AMODE(64) routine via BASSM/BSM, R14 would have the > low-order bit set. > > Robert > >