On Thu, 8 Dec 2011 08:23:26 -0700, Paul Gilmartin wrote: >On Dec 8, 2011, at 08:00, Bodoh John Robert wrote: > >> No save area? GET and PUT need a save area. >> >Well, since he doesn't modify R13, they'll user his caller's >save area. That shouldn't cause any problems. Until he tries >to return from his program.
As others have noted, he uses BAKR to save the registers and PR to restore them, so there will be no problem upon return either. As Ed noted, he should still allocate a save area with the characters "F1SA" at offset 4 and put its address in register 13. The code will work fine without doing that, since his program didn't use the save area whose address was passed in register 13. Establishing the save area is important in the event of an abend if someone needs to follow the save area chain. It is difficult to determine from a dump where he saved his registers without following the conventions as they are documented in the Assembler Services Guide. This is especially true if there are multiple linkage stack entries used If you are going to look up the save area conventions, make sure that you have the Assembler Services Guide for z/OS 1.12 or higher. The linkage conventions chapter was extensively modified with that release to clarify the conventions. -- Tom Marchant
