MACRO            Initiate Macro Definition                     MASM Directive

name      MACRO     [dummyparameter,,,]
statements
ENDM

Initiates the definition of a macro, containing the name and
statements within the macro.

Notes:     The name must be valid and unique.

Any number of dummy parameters may be declared, provided
they all fit on one line. These dummy parameters act as
place holders; on expansion they are replaced by actual
parameters passed in the macro call.

Macros may be nested to any depth, may call other
macros, and may call themselves. They may also be
redefined.

Macros generate code when they are called, not when
defined.  All addresses generated are relative to the
position of where the macro is called, not where it is
defined.

Be careful in using the word MACRO in TITLE, SUBTTL, and
NAME directives.  Since MACRO will override these
directives, using MACRO with these directives could
cause the user to have macros called TITLE, SUBTTL, and
NAME.

See also: ENDM
See also: TITLE
See also: SUBTTL
See also: NAME

MACRO Initiate Macro Definition