<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