Paul,
The CALL macro does NOT require that register 13 contain the address of
a save area.  It is a standard convention, that R13 point to a 72 byte
save area for the use by the called routine, but not a hard requirement.
For example, (using the Authorized Assembler Services Reference Volume
2), the description of IEANTRT is the same as you quote.  However, in
the same manual, under the description of service IEAVAPE (Allocate
Pause Element), under Input Register Information it is documented that
R13 MUST contain the address of a 72 byte register save area.  If the
called program is coded to use the linkage stack to save caller status,
no register save area has to be provided by the caller.

Wayne Driscoll
Product Developer
JME Software LLC
NOTE:  All opinions are strictly my own.



-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Paul Gilmartin
Sent: Tuesday, January 15, 2008 5:58 PM
To: [email protected]
Subject: Re: Rexx external assembler functions and reentrancy

On Tue, 15 Jan 2008 15:06:19 -0800, Schwarz, Barry A wrote:

>Not change is not the same as not use.  I would expect the routine to
>save and restore the registers rather than never use them.
>
>-----Original Message-----
>From: Victor Gil [mailto:snip]
>Sent: Tuesday, January 15, 2008 12:10 PM
>
>IEANTRT is documented to NOT change registers R2-R13, so their slots in
>the passed savearea can be used to format the required parameter list.
>
I'm confused; I see:

#13.1.4 "z/OS V1R7.0 MVS Assembler Services Reference IAR-XCT"
     ___________________________________________________________________
  13.1.4 Input Register Information

   Before issuing the IEANTRT callable service, the caller does not have
to
   place any information into any register ...

... but:

#13.1.7 "z/OS V1R7.0 MVS Assembler Services Reference IAR-XCT"
     ___________________________________________________________________
  13.1.7 Syntax

   Write the call as shown on the syntax diagram. You must code all
   parameters on the CALL statement in the order shown.

    CALL IEANTRT ,(level ,user_name ,user_token ,return_code)

... is this a special CALL that does not require that the
address of an available RSA be placed in R13, or is that
assumed even when the RM says it's unnecessary?

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to