6 Preprocessor
The AVRASM2 preprocessor is modeled after the C preprocessor, with some exceptions:
- It recognizes all integer
formats used by AVRASM2, i.e.,
$abcdand0b011001are recognized as valid integers by the preprocessor and can be used in expressions in#ifdirectives. '.'and'@'are allowed in identifiers.'.'is required to allow preprocessor directives like'.dw'to be used in preprocessor macros,'@'is required to handle assembler macro arguments correctly.- It recognizes assembler-style
comment delimiters (
';') as well as C-style comments. Using';'as a comment delimiter is in conflict with the C use of';', and it is therefore not recommended to use assembler-style comments in conjunction with preprocessor directives. - The
#linedirective is not implemented - Variadic macros (i.e., macros with variable number of arguments) are not implemented
- The
#warningand#messagedirectives are not specified in the ANSI C standard
