4.9.2. CBZ 和 CBNZ

比较,为零则跳转;比较,为非零则跳转。

语法


CBZ Rn, label

CBNZ Rn, label

其中:

Rn

是存放操作数的寄存器。

label

是跳转目标。

用法

您可以使用 CBZCBNZ 指令来保存与零比较指令和跳转代码序列。

除了不更改条件代码标记外,CBZ Rn, label 与下列指令序列功能相同:


    CMP     Rn, #0

    BEQ     label

除了不更改条件代码标记外,CBNZ Rn, label 与下列指令序列功能相同:


    CMP     Rn, #0

    BNE     label

限制

跳转目标必须在指令之后的 4 到 130 个字节之内。

这些指令一定不能在 IT 块内使用。

条件标记

这些指令不更改标记。

体系结构

这些 16 位 Thumb 指令可用于 ARMv6T2 和 ARMv7。

这些指令没有 ARM 或 32 位 Thumb 版本。

Copyright © 2002-2007 ARM Limited. All rights reserved. ARM DUI 0204HC
Non-Confidential