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) < [email protected]> 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 > >
