At 19:50 -0500 on 09/22/2009, Paul Gilmartin wrote about Re: Long parms ... again (was: Reading DD card information):

For a good example of how your primary mode programs
   can pass parameters, consider the way the system uses
   a register to pass information in the PARM field of an
   EXEC statement to your program.
       ...
   When your program receives control from the system, register 1
   contains the address of a fullword on a fullword boundary in
   your program's address space (see Figure 2-4). The high-order
   bit (bit 0) of this word is set to 1. The system uses this
   convention to indicate the last word in a variable-length
   parameter list. Bits 1-31 of the fullword contain the address
   of a two-byte length field on a halfword boundary.  ...

This provides a way to support PARMX while staying compatible with PARM (and programs that use it). If PARMX is not supplied in the JCL, act as now. If there is a PARMX pass a 2 FW list in R1 (with the second FW flagged as end-of-list).

FW 1 points at a HW containing 0 (as currently occurs now in the absence of a PARM), while FW 2 points to a HW and the PARMX contents. If both PARM and PARMX are supplied, pass both.

----------------------------------------------------------------------
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