条件编译 预处理指令¶
语法¶
#if condition | #ifdef name | #ifndef name
...
{#elif condition
...}
{#elif condition
...}
{#else
...}
#endif
描述¶
条件编译。条件为真则编译相应代码。兼容C语言条件编译。
范例¶
1 2 3 4 5 6 7 8 9 10 11 | //---------------------------------------------------------- //xxx.inc #ifndef XXX_INC //禁止文件重导入 #define XXX_INC //禁止文件重导入 #define STATUS 0x04 //宏定义 #define ACC 0x05 //宏定义 #define TEST_I 2 //宏定义 #endif //XXX_INC //禁止文件重导入 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | //---------------------------------------------------------- //xxx.asm #include "xxx.inc" //源文件包含 cseg //声明代码段 example: //标号 #if !defined(TEST_I) || TEST_I == 0 //条件为假 mov A, #0 //指令不会被编译 #elif TEST_I == 1 //条件为假 mov A, #1 //指令不会被编译 #elif TEST_I == 2 //条件为真 mov A, #2 //指令将被编译 #else //其他 mov A, #3 //指令不会被编译 #endif //条件结束 ... |