条件编译 预处理指令¶
语法¶
#if condition | #ifdef name | #ifndef name
...
{#elif condition
...}
{#elif condition
...}
{#else
...}
#endif
描述¶
条件编译。条件为真则编译相应代码。兼容C语言条件编译。
范例¶
//----------------------------------------------------------
//xxx.inc
#ifndef XXX_INC //禁止文件重导入
#define XXX_INC //禁止文件重导入
#define STATUS 0x04 //宏定义
#define ACC 0x05 //宏定义
#define TEST_I 2 //宏定义
#endif //XXX_INC //禁止文件重导入
//----------------------------------------------------------
//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 //条件结束
...