CBZ和CBNZ指令使用说明《realview编译工具》
(2015-06-03 21:45:25)
标签:
股票 |
CBZ 和 CBNZ
比较,为零则跳转;比较,为非零则跳转。
语法
CBZ Rn, label
CBNZ Rn, label
其中:
Rn 是存放操作数的寄存器。
label 是跳转目标。
用法
可以使用 CBZ 或 CBNZ 指令避免更改条件代码标记并减少指令数目。
除了不更改条件代码标记外,CBZ Rn, label 与下列指令序列功能相同:
CMP Rn, #0
BEQ label
除了不更改条件代码标记外,CBNZ Rn, label 与下列指令序列功能相同:
CMP Rn, #0
BNE label
限制
跳转目标必须在指令之后的 4 到 130 个字节之内。
这些指令一定不能在 IT 块内使用。
条件标记
这些指令不更改标记。
体系结构
这些 16 位 Thumb 指令可用于 ARMv6T2 及更高版本。
这些指令没有 ARM 或 32 位 Thumb 版本。
比较,为零则跳转;比较,为非零则跳转。
语法
CBZ Rn, label
CBNZ Rn, label
其中:
Rn 是存放操作数的寄存器。
label 是跳转目标。
用法
可以使用 CBZ 或 CBNZ 指令避免更改条件代码标记并减少指令数目。
除了不更改条件代码标记外,CBZ Rn, label 与下列指令序列功能相同:
CMP Rn, #0
BEQ label
除了不更改条件代码标记外,CBNZ Rn, label 与下列指令序列功能相同:
CMP Rn, #0
BNE label
限制
跳转目标必须在指令之后的 4 到 130 个字节之内。
这些指令一定不能在 IT 块内使用。
条件标记
这些指令不更改标记。
体系结构
这些 16 位 Thumb 指令可用于 ARMv6T2 及更高版本。
这些指令没有 ARM 或 32 位 Thumb 版本。
前一篇:栈祯和栈祯指针寄存器