Two parameter lists are available in the XCTL macro: a control parameter list and an optional user parameter list. The control parameter list can be either inline or remote (that is, in an area you specifically obtained); the user parameter list must be remote.
The execute form of the XCTL macro is written as follows:
Syntax | Description |
---|---|
name | name: Symbol. Begin name in column 1. |
␢ | One or more blanks must precede XCTL. |
XCTL |
|
␢ | One or more blanks must follow XCTL. |
(reg1), |
reg1 and reg2: Decimal digits or RX-type addresses, and in the order 2 through 12. |
EP=entry name, | entry name: Symbol. |
EPLOC=entry name addr, | entry name addr: RX-type address or register (2) - (12). |
DE=list entry addr, | list entry addr: RX-type address, or register (2) - (12). |
,DCB=dcb addr, | dcb addr: RX-type address, or register (2) - (12). |
,PARAM=(parm), | parm: RX-type address, or register (2) - (12). |
,PARAM=(parm),VL=1, | parm is one or more addresses, separated by commas. For example, PARAM=(parm,parm,parm) |
,LSEARCH=NO, | Default: LSEARCH=NO |
,LSEARCH=YES, | |
,MF=(E,user area) | user area: RX-type address, or register (1) or (2) - (12). |
,SF=(E,ctrl area) | ctrl area: RX-type address, or register (2) - (12) or (15). |
,MF=(E,user area),SF=(E,ctrl | |
area) | |
The parameters are explained under the standard form of the XCTL macro, with the following exceptions:
Use VL=1 if you are passing the target module a variable number of parameters. VL=1 causes the high-order bit of the last address parameter to be set to 1; the target module can check the last bit to find the end of the list.
Use MF=(E,user area) to specify the address of data you want the target module to receive in register 1. If you specify PARAM, MF=(E,user area) is required and identifies the remote location where you want XCTL to build the parameter list.
Use SF=(E,ctrl area) to point to a remote control parameter list. If you do not specify SF, XCTL builds the control parameter list inline.