Exactly. There was a post here lamenting a lack of standards enforcement at IBM that I have unfortunately deleted.
At some early point a group of wise men and women at IBM should have sat down and said "okay, 18 words off R13 is inadequate. Let's poll all of the groups and design a single new linkage convention for everyone for the future." Instead we have XPLINK and CICS linkage and 64-bit register save areas and LE linkage and ... Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of John Gilmore Sent: Wednesday, June 26, 2013 9:35 AM To: [email protected] Subject: Re: z/OS subroutine in assembler, used in both batch & CICS , making re-entrant Tom Marchant wrote: <begin extract> That is one way to save the caller's registers, not the only documented Linkage convention. </end extract> and this is formally correct. There is, however, something of an obligation to use a caller-/invoker-supplied save area when one is in fact supplied. There may even be an obligation to adhere to SA back- and forward-chaining conventions. (Some statement-level languages use them not only for error handling but in implementing language features, e.g., long jumps, out-of-block GOTOs, and condition handling.) My own view is that the original---in their way admirable---linkage conventions of OS/360 were inadequate. They failed to encompass, among other things, machinery for ensuring that code could be reentrant, invoked recursively, the [optional] use of descriptors, and for the management of stack-based automatic/scratch/local storage. The unfortunate consequences of this minimality were many. Different SLPLs constructed their run-time environments very differently, and too much detailed lore must now be mastered before successful ILC is possible. It is posslble to rail against some of the design elements of the LE, but the babel we now makes it clear that something very like it was needed early on. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
