On Tue, 6 Aug 2013 16:35:58 -0400, John Parke wrote: >The prolog code I am using is sample code from IBM... > >The sample code executes: > >LLILH 12,X'C6F4' >OILL 12,X'E2C1' >ST 12,4(,13) > >Which is IBM's way of marking savearea with "F4SA".
This may be the way that Metal C does it, but it is not the way it is documented in the Assembler Services Guide, which is the authoritative reference for linkage conventions. The above fragment might do the correct thing, depending upon when the above sequence is included in the code. I know that Metal C was doing it incorrectly a few years ago and it is my understanding that their code has since been changed, but I don't know when. "F4SA" must be stored in the new save area. In other words, the above sequence does the correct thing only if it is AFTER register 13 is loaded with the address of the new save area. If you store it in the caller's save area, you will cause a problem when your caller tries to return to its caller. -- Tom Marchant
