ARM Instruction Reference

4.6.2BX

Branch, and optionally exchange instruction set.

Syntax

BX{cond} Rm

where:

 

cond

is an optional condition code (see Conditional execution on page 4-4).

Rm

is an ARM register containing the address to branch to.

 

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

ARM DUI 0068B

Copyright © 2000, 2001 ARM Limited. All rights reserved.

4-59

Page 169
Image 169
ARM VERSION 1.2 manual 2 BX