4.6.2. BX

Branch, and optionally exchange instruction set.

Syntax

BX{cond} Rm

where:

cond

is an optional condition code (see Conditional execution).

Rm

is an ARM register containing the address to branchto.

Bit 0 of Rm is not used as part of the address.

If bit 0 of Rm is set, the instruction sets the T flag in the CPSR, and the code at the destination is interpreted as Thumb code.

If bit 0 of Rm is clear, bit 1 must not be set.

Usage

The BX instruction causes a branch to the address held in Rm, and changes instruction set to Thumb if bit 0 of Rm is set.

Architectures

This instruction is available in all T variants of the ARM architecture, and ARM architecture v5 and above.

Examples

    BX      r7
    BXVS    r0
Copyright © 2000, 2001 ARM Limited. All rights reserved.ARM DUI 0068B
Non-Confidential