Macros
Macro is an identifier defined in preprocessor. It has a name and
it can contains one or more tokens. You can define new macro using
DEFINE directive. For example:
DEFINE WIDTH 640
Every identifier WIDTH in the source code below this
definition will be replaced by token 640. For example line:
MOV4i WIDTH AX
Will be expanded into:
MOV4i 640 AX
There can be many tokens defined inside a macro after its name. Macros don't affect namespaces. Macro names are case insensitive. Macros cannot be changed or redefined. There can be only one definition of macro with particular name in all the source code. Macro must be defined before it is used.
You can also define an empty macro - macro that has name, but doesn't have a content:
define MY_MACRO
These macros cannot be expanded in source code (you cannot use identifiers with the name of that macro), but they are useful in conditional compilation to check whether macro with given name is defined.