当前文档版本为 v0.0.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

条件编译 预处理指令

语法

#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                              //条件结束
        ...