英特爾 XScale(R) 技術主題STM(2) - 多重儲存

語法

STM[condition]addr_mode basereg!, reg {, reg }^

其中:

 condition

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

 addr_mode

定址模式 4:多重載入與儲存

 basereg

addr_mode 使用的基址暫存器

!

設定 W 位 [21]

 reg

要載入的有效暫存器

 ^

儲存“使用者”模式暫存器

說明

此格式的 STM 指令儲存 reg 指定的部分、甚至全部“使用者”模式的通用暫存器。reg 指定的暫存器按照升序從自低到高的記憶體地址進行載入。在特權模式時,此格式的 STM 指令可用於儲存“使用者”模式暫存器。condition 必須是有效值;否則將指令當作 NOP。

備註

如果試圖進行無效的載入或儲存數據訪問,則產生數據終止異常。如果實現系統控制協處理器時啟用對齊檢查,並且存在位 [01:0] != 0b00 的地址,則產生對齊異常。不得在執行此指令后立即訪問庫暫存器;隨後的 NOP 指令將阻止這樣做。在此格式中,指令不得用於使用者或系統模式。

定址模式

請參閱“定址模式 4 - 多重載入與儲存”。

影響的標誌

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

 

0

condition

1

0

0

P

U

1

0

0

basereg

reglist

示例

1                        ;@.text
2                        ;@.globl funstm
3                        ;@.align 0
4                        ;@ **** STM (Addressing Mode 4) ****
5                        ;
6                        ; Store multiple registers to memory
7                        ; from base address held in R10
8                        ; Decrement base address before each use
9                        ; Don't update R10.
10                       ; Stores from User Mode registers
11                       ;
12                   AREA example,CODE,READONLY
13
14                   label2
15   00000000   F3B4F678   MOV     R10, #OxA
16   00000004   E84000F9   STMDA   R10, {R0,R3,R4-R7}^

更多資訊

請參閱定址模式 4:多重載入與儲存