On Fri, 6 Apr 2012 08:45:06 -0700, Phil Smith <p...@voltage.com> wrote:

>Darn it, no matter what I've tried, I CANNOT get PL/I to handle a plist [what 
>I'd call] normally-marking the high bit on the last specified parameter. If I 
>use OPTIONAL, I get all the parameters, with zeroes for the ones that were 
>omitted. That's not right, because I can't tell whether they were omitted or 
>specified as zero.
>
>Ideas??

>From the FM (IBM PL/I for MVS & VM Programming Guide Release 1.1 Document 
>Number SC26-3113-01):
<quote>
15.2.1 PL/I Parameter Passing Conventions
 
PL/I passes arguments using two methods:
 
   By passing the address of the arguments in the argument list
   By imbedding the arguments in the argument list
 
This section discusses the first method.  For information on the second method, 
see "Options BYVALUE" in topic 15.2.3.
 
When arguments are passed by address between PL/I routines, register 1 points 
to a list of addresses that is called an argument list.  Each address in the 
argument list occupies a fullword in storage.  The last fullword in the list 
must have its high-order bit turned on for the last argument address to be 
recognized.  If a function reference is used, the address of the returned value 
or its control block is passed as an implicit last argument.  In this 
situation, the 
implicit last argument is marked as the last argument, using the high-order bit 
flagging.
 
If no arguments are passed in a CALL statement, register 1 is set to zero.

</quote>

Is this not true then?

Jantje.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN

Reply via email to