英特爾 XScale(R) 技術主題STRD - DSP 指令

語法

STR[condition]D dest, addr_mode

其中:

 condition

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

 source

源暫存器,指定偶數編號的暫存器。

 addr_mode

定址模式 3:其它載入與儲存

 basereg

addr_mode 使用的基址暫存器

說明

STRD 指令將 ARM* 核心暫存器從 source 儲存到 addr_modesource 指定的偶數編號的暫存器的後面緊跟接著後續奇數編號的暫存器。儘管有比 2 暫存器 STM 更多的定址模式可以使用,但第一個字的地址必須雙字對齊;即可以被 8 整除。condition 必須是有效值;否則將指令當作 NOP。

備註

如果試圖進行無效的載入或儲存數據訪問,則產生數據終止異常。如果實現系統控制協處理器時啟用對齊檢查,並且存在位 [01:0] != 0b00 的地址,則產生對齊異常。如果實現系統控制協處理器時啟用對齊檢查,並且存在位 [02:0] != 0b100 的地址,則可能會產生對齊異常。儲存地址必須雙字對齊。

定址模式

請參閱“定址模式 3:其它載入與儲存”。

影響的標誌

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]!

更多資訊

請參閱定址模式 3:其它載入與儲存