Sure, there are lots of solutions (assuming the shop is not mortally afraid of 
touching 1993 assembler code, has a budget and staff to do so, and can find the 
source).

My thought is why would the shop expect a problem? Why would a routine that has 
been working since 1993 be a suspect in an obscure high-halves-in-compiled-code 
problem?

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of John McKown
Sent: Monday, November 11, 2019 6:13 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: High halves, ARs and old vs. new expectations (Was "WTO")

On Mon, Nov 11, 2019 at 7:52 AM Charles Mills <charl...@mcn.org> 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 lists...@listserv.ua.edu 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.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to