On Aug 11, 2010, at 08:37, Binyamin Dissen wrote: > On Wed, 11 Aug 2010 09:07:34 -0500 "McKown, John" wrote: > > :>This is just curiousity on my part. I was thinking about standard parameter > passing in z/OS. That's where R1 points to a list of fullwords containing > address of parameters, with the last address having the high order bit set > and all previous addresses having the high order bit unset. So I was > wondering the following: > > :>1) do you check to make sure that R1 actually points to a fullword boundry. > I.e. bits 30&31 are '0'b? Is this necessary or not? If R1 doesn't point to a > fullword boundry, is that actually an error? That is, do you feel that a > proper parameter list must be fullword aligned? > > When I complained to IBM (some years ago) that the USS SAF ROUTER exit (the > exit where you get no save area, must restore all registers and ARs except 0 & > 15 - but get a work area passed) did not always get a word aligned work area > and my STAM got an 0C6 they said that the work area was not documented to be > aligned. > No pride of craftsmanship.
And long ago, I was told that the OS/360 convention was that when the parameter value is preceded by a halfword count, the count should be on an _odd_ halfword boundary so the content began on a fullword boundary and could be moved by a LM; STM sequence. -- gil
