The addresses, names, numbers, and options required with subparameters
in GENCB, MODCB, SHOWCB, and TESTCB can be expressed in a variety
of ways:
- An absolute numeric expression, for example,
STRNO=3 and COPIES=10.
- A code or a list of codes separated by commas
and enclosed in parentheses, for example, OPTCD=KEY or OPTCD=(KEY,DIR,IN).
- A character string, for example, DDNAME=DATASET.
- A register from 2 through 12 that contains an
address or numeric value, for example, SYNAD=(3); equated labels
can be used to designate a register, for example, SYNAD=(ERR), where
the following equate statement has been included in the program: ERR
EQU 3.
- An expression of the form (S,scon), where
scon is an expression valid for an S-type address constant, including
the base-displacement form. The contents of the base register are
added to the displacement to obtain the value of the keyword. For
example, if the value of the keyword being represented is a numeric
value (that is, COPIES, LENGTH, RECLEN), the contents of the base
register are added to the displacement to determine the numeric value.
If the value of the keyword being represented is an address constant
(that is, WAREA, EXLST, EODAD, ACB), the contents of the base register
are added to the displacement to determine the value of the address
constant.
- An expression of the form (*,scon), where
scon is an expression valid for an S-type address constant, including
the base-displacement form.
The address specified by scon is indirect,
that is, it is the address of an area that contains the value of the
keyword. The contents of the base register are added to the displacement
to determine the address of the fullword of storage that contains
the value of the keyword.
If an indirect S-type address constant
is used, the value it points to must meet the following criteria:
- If it is a numeric quantity or an address, it must occupy a fullword
of storage.
- If it is an alphanumeric character string, it must occupy two
words of storage, be left aligned, and be filled on the right with
blanks.
- An expression valid for a relocatable A-type
address constant, for example, AREA=MYAREA+4.
The specified keyword determines the type of expressions that can
be used. Also, register and S-type address constants cannot be used
when MF=L is specified.