Especially since in z/OS it is now documented to pass a 144-byte save area to the step-level "PGM=" executable. AFAIK, what size save area either the online TMP or the batch TMP's (IKJEFTxx, IRXJCL) pass to Rexx is not documented.
I don’t know what z/VSE documents as the program-level save area size these days; my last contact with VSE was VSE/SSX in the 1980's and VSE/SP in the early 1990's. Peter -----Original Message----- From: IBM Mainframe Assembler List <[email protected]> On Behalf Of Gary Weinhold Sent: Monday, January 24, 2022 3:37 PM To: [email protected] Subject: Re: Saving Caller's 64-bit Regsiters For both VSE and zOS, there is REXX documentation (VSE'sis at https://urldefense.com/v3/__https://www.ibm.com/docs/en/zvse/6.2?topic=packages-interface-writing-external-function-subroutine-code__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!a0PBz0tEROHBBSbMWczTByxVyibY8rfLa25PGXWyjFcOT9QI4Wz_Dfaz80YLJH1hrNo0gg$ that states that on entry to the called routine Register 13 contains the address of a register save area. What it doesn't say is how large that save area is. My assumption would be that it is 18 fullwords, just because it's not documented as being any different in VSE or z/OS and REXX is a 31-bit application. The fact that is not explicitly documented is troublesome, since as was pointed out, the writer of the routine sets the requirements for the users of the routine, and it would be reassuring to know that REXX always meets those requirements. On 2022-01-24 2:14 p.m., Dave Clark wrote: > "IBM Mainframe Assembler List"<[email protected]> wrote > on > 01/24/2022 02:01:29 PM: >> When I'm following save area chains in a dump, starting with R13, I >> look at the second word. If it is an address, I know that the save >> area at > that >> address is a standard 72-byte save area. If it is F4SA, F5SA, F7SA, >> or > F8SA, >> offset X'80' from R13 is the address of the save area, and I know >> what format it is. > > That is all well and good -- when you're looking at a dump. > But I'm given to understand that none of that information is helpful > when a called program receives control from a 2nd- or 3rd-party caller > (i.e., any caller not written on-site) in terms of being able to tell > how much storage the caller allocated for the savearea whose address > is passed to the called program. Now, if I've got that wrong, then > please enlighten me. Thanks. > > > Sincerely, > > Dave Clark Gary Weinhold -- This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by e-mail and delete the message and any attachments from your system.
