| | 注意 | 虽然符号被双斜杠括起来,但双斜杠并非符号名的一部分。 |
| | 注意 | 为了保证表达式运算结果的正确,建议使用“()”来避免异义。 |
| 汇编操作符 | 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 |