英特爾 XScale(R) 技術主題BX - 分支與交換

語法

BX[condition] dest

其中:

 condition

16 個條件之一。請參閱條件程式碼狀態

 dest

目標暫存器

說明

BX 指令分支到指定的 dest(包含 ARM* 或 Thumb* 指令),並可選擇執行它。要選擇 ARM 指令,目標暫存器的位 [0] 需要設定為 0。要選擇 Thumb 指令,目標暫存器的位 [0] 需要設定為 1。condition 必須是有效值;否則將指令當作 NOP。

定址模式

無運算元。

影響的標誌

N

Z

C

V

Q

S

I

F

T

T

T

T

T

 

 

 

 

M

編碼

31

 

28

27

26

25

24

23

22

21

20

19

 

16

15

 

12

11

 

8

7

6

5

4

3

 

0

condition

0

0

0

1

0

0

1

0

SBO

SBO

SBO

0

0

0

1

dest_ addr

示例

1                          ;@.text
2
3                          ;@.globl funcbx
4
5                          ;@.align 0
6
7                          ;@ * * * BX * * *
8
9
10                     AREA example, CODE, READONLY
11                     label1
12   00000000   E3A0B001   MOV   R11, #1
13   00000004   E2AB0001   ADC   R0, R11, #1
14   00000008   E4107000   LDR   R7, label2
15
16   00000012   E12FFF17   BX    R7
17
18   00000016   E3A0B001   MOV   R11, #1
19   00000020   E21B0001   ANDS  R0, R11, #1
20
21                     label2
22                         DCD   0xdeadbeef
23                         DCB   "string"
24
25                         END   26