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