英特爾 XScale(R) 技術主題LDM(3) - 多重載入

語法

LDM[condition] addr_mode basereg[!], reg [,{ reg }]^,...

其中:

 condition

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

 addr_mode

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

 basereg

addr_mode 使用的基址暫存器

 !

設定 W 位 [21]

 reg

要載入的有效暫存器

說明

此格式的 LDM 指令載入 reg 指定的部分或甚至全部通用暫存器。在此格式中,PC 被當作地址,它必須載入。目前 SPSR 將複製到 CPSR,後者中的 T 位確定執行是在 ARM* 還是在 Thumb* 狀態繼續。reg 指定的暫存器按照升序從自低到高的記憶體地址進行載入。在此格式下,LDM 指令可能用於從異常返回。
condition
必須是有效值;否則將指令當作 NOP。

備註

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

定址模式

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

影響的標誌

N

Z

C

V

Q

S

I

F

T

T

T

T

T

 

 

 

 

T

編碼

31

 

28

27

26

25

24

23

22

21

20

19

 

16

15

14

 

0

condition

1

0

0

P

U

1

W

1

basereg

1

reglist

示例

1                 @.text
2                 @.globl funldm
3                 @.align 0
4                 @ **** LDM (Addressing Mode 4) ****
5                 ;
6                 ; Load multiple registers from base
7                 ; address held in R13, which is the
8                 ; stack pointer,using a Full Descending
9                 ; Stack arrangement
10                ; Also loads SPSR into CPSR
11                ; Note!PC must be in reg list
12                ;
13                  AREA example,CODE,READONLY
14
15                  label3
16
17   0000000   E8FD80E0   LDMFD   R13!, {R5-R7,PC}^

更多資訊

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