On Mon, Nov 11, 2019 at 7:52 AM Charles Mills <[email protected]> wrote:

> > The interesting scenario is the case of the "know something" caller
> > calling a "know nothing" target which in turn calls a "know something"
> > target.
>
> I've been thinking about that one for a couple of days. My scenario is
> this:
> a recently-compiled C or COBOL program calling a homegrown assembler
> function untouched since 1993 calling an MVS service, which now of course
> is
> a z/OS V2R4 service.
>
> The C or COBOL expects high halves and ARs to be preserved. The assembler
> routine is ignorant of them. It calls a z/OS function which alters some
> high
> halves. Is there a problem?
>
> I am tending to think not. The z/OS function (hopefully!) does not alter
> anything that the modern C or COBOL expects to be preserved. Am I right?
>
> Charles
> to [email protected] with the message: INFO IBM-MAIN
>

IMO, don't do a static "call" to the assembler. I don't know off hand if it
is possible, but I'd try to make the HLASM's calling code use the
equivalent of a z/OS LINK macro. If that's not possible, then I'd make a
slight change to the z/OS HLASM to save the 64 bit GRs and the ARs.


-- 
People in sleeping bags are the soft tacos of the bear world.
Maranatha! <><
John McKown

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to