语法:
IF 逻辑表达式
指令序列1
ELSE
指令序列2
ENDIF
备注:
IF 也可以使用 [ 代替, ELSE 也可以使用 | 代替, ENDIF 也可以使用 ] 代替;
当 IF 后面的逻辑表达式为真,则执行指令序列1,否则执行 指令序列2;
ELSE 及 指令序列2 也可以没有,当 IF 后面的逻辑表达式为真,则执行 指令序列1 ,否则继续执行后面的 指令序列2 ;
IF 、ELSE 、ENDIF伪指令可以嵌套使用;
功能:
IF、ELSE、ENDIF伪指令能根据条件的成立与否决定是否执行某个指令序列。
例1:
GBLL SofTool ;声明一个全局的逻辑变量,变量名为 SofTool, 默认值为 FALSE
IF SofTool = TRUE
指令序列1
ELSE
指令序列2
ENDIF
上面也可以写成:
GBLL SofTool ;声明一个全局的逻辑变量,变量名为 SofTool, 默认值为 FALSE
[ SofTool = TRUE
指令序列1
|
指令序列2
]
例2:
此例主要想说明一下 {CONFIG} 是ADS内置变量。
注:
关于更多内置变量和常量,可参阅: https://www.softool.cn/blog-231.html
如果是 ADS1.2 ,则由以下选项控制:
如果是 ADS2 ,则由以下选项控制:
GBLL THUMBCODE
;//注: [ 前面必须有空格,否则ADS编译的时候会报错(Error : All67E: Invalid line start)
[ {CONFIG} = 16
THUMBCODE SETL {TRUE}
CODE32
|
;注意此行必须顶格写,否则ADS1提示: A1163E:Unknown opcode ,ADS2提示:Unknown opcode THUMBCODE , expecting opcode or Macro
THUMBCODE SETL {FALSE}
]