The lower nibble (bits 0-3) contains the info related to the macroinstruction that is currently being declared, while the higher nibble (bits 4-7) contain the status of processing the macro.
The values of lower nibble can be:
- 0 - no macro is being declared currently, default value;
- 1 - the declaration of macro has started, but no { - macro contents opening character has been found yet;
- 2 - the contents of macro declaration is being preprocessed;
The higher nibble consist of flags, currently only two are defined:
- bit 4 (value 10h) - some macro is currently processed;
- bit 5 (value 20h) - internal flag of macro preprocessor, used to determine whether we are in the place where some macro directive might be used
Note that both higher and lower nibble can have non-zero value at the same time, since macro can define some other macro.