Assembler Directives and
.MACRO Directive
.MACRO Directive
The .MACRO directive marks the beginning of a macro definition. An
.ENDM directive must be used to end the macro definition.
Syntax
label .MACRO [ formal_parameter[,formal_parameter]...]
Parameters
label | The name of the macro. |
formal_parameter | Specifies a string of characters |
| treated as a positional parameter. |
| The ith actual parameter in a macro |
| invocation is substituted for the ith |
| formal parameter in the macro |
| declaration wherever the formal |
| parameter appears in the body of the |
| macro definition. |
Discussion
Normal Assembler syntax is observed within macro definitions, except that text substitution is assumed for formal parameters. The following line is an example of a macro declaration:
DECR | .MACRO LAB,VAL |
LAB and VAL are formal parameters. Their actual values are determined by the first and second parameters on any invocation of the macro DECR. On the macro invocation, the parameters are delimited by commas.
Successive commas indicate a null parameter, causing the expanded macro to substitute null for one of its formal parameters. When the number of formal parameters exceeds the number of actual parameters, null parameters are inserted for the excess parameter positions. When the number of actual parameters exceeds the number of formal parameters, a warning is issued and the excess parameters are ignored.
98 | Chapter 4 |