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