| 注意 | 虽然符号被双斜杠括起来,但双斜杠并非符号名的一部分。 |
| 注意 | 为了保证表达式运算结果的正确,建议使用“()”来避免异义。 |
汇编操作符 | C语言运算符 |
单目运算 | 单目运算 |
* / :MOD: | * / % |
字符串操作 | n/a |
:SHL::SHR::ROR::ROL: | << >> |
+ - :AND: :OR: :EOR: | + - $ | |
= > >= < <= /= <> | == > >= < <= != |
:LAND: :LOR: :LEOR: | && || |
| 说明 | 表10.3是按操作符的优先级从上到下排列的。 |
操 作 符 | 使 用 | 描 述 |
:CHR: | :CHR:A | 返回字母A的ASCII码 |
:LOWERCASE | :LOWERCASE:string | 将给定字符串中的所有大写字母变成小写 |
REVERSE_CC | :REVERSE_CC:cond_code | 对条件码取反 |
:STR: | :STR:A | 将一个数字量或逻辑表达式转换成串 |
:UPPERCASE: | :UPPERCASE:string | 将给定字符串中的所有小写字母变成大写 |
? | ?A | 返回定义符号A的代码行所生产代码行的字节数 |
操 作 符 | 使 用 | 描 述 |
+和- | +A和-A | 单目加和单目减,操作数为数学或程序相关表达式 |
:BASE: | :BASE:A | 如果A是程序或寄存器相关表达式,:BASE:返回基址寄存器的编号 |
:CC_ENCODING: | :CC_ENCODING:cond_code | 返回条件码中的数字值 |
:DEF: | :DEF:A | 判断A是否被定义,如果被定义返回{TRUE};如果没有定义返回{FALSE} |
:INDEX: | :INDEX:A | 如果A是寄存器相关表达式,:INDEX:返回A相对于寄存器的偏移量,常用在宏操作中 |
:LEN: | :LEN:A | 字符串A的长 |
:LNOT: | :LNOT:A | 逻辑表达式A的值取反 |
:NOT: | :NOT:A ~A | A的值按位取反 |
:RCONT: | :RCONT:Rn | 返回寄存器编号,0~15对应寄存器r0~r15 |
| 注意 | 操作符的优先级与C语言中操作符优先级顺序略有不同,详见单目运算一节。 |
操 作 符 | 别 名 | 使 用 | 说 明 |
* | | A*B | 乘法操作 |
/ | | A/B | 除法操作 |
:MOD: | % | A:MOD:B | 以B为除数对A取模 |
操 作 符 | 使 用 | 说 明 |
:CC: | A:CC:B | 连接两个字符串 |
:LEFT: | A:LEFT:B | 返回字符串A最左端B长度的字符,操作数A必须为字符串,B必须为整数表达式 |
:RIGHT: | A:RIGHT:B | 返回字符串A最右端B长度的字符,操作数A必须为字符串,B必须为整数表达式 |
操 作 符 | 别 名 | 使 用 | 说 明 |
:ROL: | | A:ROL:B | A循环左移B位 |
:ROR: | | A:ROR:B | A循环右移B位 |
:SHL: | << | A:SHL:B | A左移B位 |
:SHR: | >> | A:SHR:B | A右移B位 |
| 注意 | SHR是逻辑右移,不影响符号位。 |
操 作 符 | 别 名 | 使 用 | 说 明 |
+ | | A+B | A加上B |
− | | A−B | 从B中减去A |
:AND: | && | A:AND:B | A和B按位与 |
:EOR: | ^ | A:EOR:B | A和B按位异或 |
:OR: | || | A:OR:B | A和B按位或 |
操 作 符 | 别 名 | 使 用 | 说 明 |
= | = = | A=B | 判断A是否等于B |
> | | A>B | 判断A是否大于B |
>= | | A>=B | 判断A是否大于等于B |
< | | A<B | 判断A是否小于B |
<= | | A<=B | 判断A是否小于等于B |
/= | <> != | A/=B | 判断A是否不等于B |
操 作 符 | 使 用 | 说 明 |
:LAND: | A:LAND:B | A和B做逻辑与 |
操 作 符 | 使 用 | 说 明 |
:LEOR: | A:LEOR:B | A和B做逻辑异或 |
:LOR: | A:LOR:B | A和B做逻辑或 |
| 注意 | FPA的寄存器f0~f7和F0~F7已不再使用。 |
| 注意 | 不同编译器编译的代码间的相互调用,要遵循AAPCS(ARM Architecture)。详见ARM编译工具手册。 |
欢迎光临 DIY编程器网 (http://diybcq.com./) | Powered by Discuz! X3.2 |