blx

Branch with Link and Exchange

BLX<c> <Rm>

Calls subroutine and optionally switches to Thumb state.

Details

The Branch with Link and Exchange instruction calls subroutine and optionally switches to Thumb state.

Pseudocode Operation

IF condition THEN PC ← target
// BL also stores return address in LR

Example

BLX r2

Encoding

Binary Layout
cond
0001
0010
1111
1111
1111
0011
Rm
 
Format Branch
Opcode 0x012FFF30
Extension A32 (Base)

Operands

  • Rm
    Target Reg