STR[condition]D dest, addr_mode
其中:
condition |
16 個條件之一。請參閱條件程式碼狀態。 |
source |
源暫存器,指定偶數編號的暫存器。 |
addr_mode |
定址模式 3:其它載入與儲存 |
basereg |
addr_mode 使用的基址暫存器 |
STRD 指令將 ARM* 核心暫存器從 source 儲存到 addr_mode。source 指定的偶數編號的暫存器的後面緊跟接著後續奇數編號的暫存器。儘管有比 2 暫存器 STM 更多的定址模式可以使用,但第一個字的地址必須雙字對齊;即可以被 8 整除。condition 必須是有效值;否則將指令當作 NOP。
N |
Z |
C |
V |
Q |
S |
I |
F |
T |
T |
T |
T |
T |
|
|
|
|
|
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 |
P |
U |
I |
W |
0 |
basereg |
dest |
addr_ mode |
1 |
1 |
1 |
1 |
addr_ mode |
1 ;@.text
2 ;@.globl funstr
3 ;@.align 0
4 ;@ **** STRD (Addressing Mode 3) ****
5 ;
6 AREA example,CODE,READONLY
7
8 label1
9 ; Store two 32-bit words from R8 & R9 to 2 consecutive
10 ; addresses starting 28 bytes above that held in R10
11 00000000 E14A81FC STRD R8, [R10,#28]
12
13 ; Store two 32-bit words from R1 & R2 to 2 consecutive
14 ; addresses starting at address held in R4,
15 ; then increment R4 by an offset given by R2
16 00000004 E0C410F2 STRD R1, [R4], R2
17
18 ; Store two 32-bit words from R0 & R1 to 2 consecutive
19 ; addresses starting at address given by R3 minus
20 ; an offset held in R2
21 ; Write final address back to R3
22 00000008 E1A300F2 STRD R0, [R3,R2]!