<snip>
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?
</snip>

Let's be precise. Neither C nor COBOL expects exactly what you wrote. They 
expect what the linkage conventions say they can expect. So, for example, 
they expect that high halves 2-14 and ARs 2-14 to be preserved (and they 
expect that low halves 2-13 are preserved).

The z/OS function, whatever it is, will conform to its documentation which 
in turn relies on the base being what the linkage conventions say.

I think that by "alter" you mean both that it alters and also that it does 
not restore.

No function would change to do so. That would be incompatible. New 
functionality could choose to do so (and document so). Then it would be up 
to the exploiter of that new function to accommodate that. Here too no 
harm is done to code that is ignorant of high halves (in this case, code 
using the new function cannot be considered to be ignorant). 

Peter Relson
z/OS Core Technology Design


----------------------------------------------------------------------
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