The MF operand determines the type of macro generation.
MF value | Meaning/effect |
MF=S | Default value; first generates the instruction part, then the data area. The data area does not contain any field names. The standard header is initialized. |
MF=D | Generates a data area with field names and explanatory equates. The formation of field names can be influenced by the PREFIX or MACID operands in the call. The data area begins with the DSECT statement. This type of macro expansion is referred to below as generation of a DSECT. |
MF=C | Generates a data area with field names and explanatory equates. The formation of field names can be influenced by the PREFIX or MACID operand in the call. |
MF=L | Generates only the data area. |
MF=E | Only the instructions necessary for calling the function module are generated. The instruction part usually ends with an SVC. The address of the data area with the parameter values must be specified in the macro call. MF=(E,addr) MF=E[,PARAM=addr] |
MF=M | The call generates instructions which supply all explicitly specified function operands in the existing operand list with the new values. |
Table 28: MF operand in macros
When the instruction part and operand list are generated separately, the values specified in the assembly parameters (VERSION, PARMOD) must be the same.
The use of a standard header is dependent on the assembly parameter VERSION. Without standard header, the SVC 133 is generated in the instruction part; with standard header, the SVC 190.
Parameter lists must be aligned on a word boundary.
The parameter list should be supplied with values only through the corresponding macro with the explicitly specified operands. Complex interdependencies often exist between the individual bits, especially in the case of CATJV. Direct amendment of the parameter list is therefore inadvisable.
During macro processing, the address of the parameter list is loaded into register R1 (with MF=E and MF=S).