Intel XScale(R) technology topicBL/BLX(1) (Thumb*) - Branch with Link, Branch with Link and Exchange

Syntax

BL target
BLX target

where:

target

Target address

Description

The BL instruction branches to the specified target containing a Thumb* subroutine. The return from subroutine needs to be defined explicitly. The BLX instruction in this format branches to the specified target containing an ARM* subroutine. The return from subroutine needs to be defined explicitly.

Addressing Mode

No operands.

Flags Affected

N

Z

C

>V

Q

S

I

F

T

 

 

 

 

 

 

 

 

M

Encoding

>15

14

13

12

11

10

 

0

1

1

1

H

target

Example

1                                  ;@.text
2                                  ;@.globl funblx
3                                  ;@.align 0
4                                  ;
5                                 AREA example,CODE,READONLY
6                                 CODE16
7
8                                 label1
9                                  ; Unconditional call to another
10                                 ; Thumb subroutine, within 4M bytes
11                                 ; Load return address to LR and
12                                 ; branch to subroutine dashed
13    00000000    F800DF00    BL   dashed
14
15
16                                 ; start of subroutine dashed
17                                  dashed
18
19
20
21                                 ; Unconditional call to an ARM
22                                 ; (32-bit) subroutine, within 4M bytes
23                                 ; Load return address to LR and
24                                 ; branch to subroutine dotted, which
25                                 ; is in 32-bit ARM code
26    00000002    E800F000    BLX   dotted
27
28                                 ; start of subroutine dotted
29                                  dotted

Further Information

See B(1) Instruction
See B(2) Instruction

See BLX(2) Instruction

See BX Instruction

See TST Instruction