英特爾 XScale(R) 技術主題MSR - 從 ARM* 核心暫存器移動到狀態暫存器

語法

MSR[condition] CPSR_bit, #value
MSR[condition] CPSR_bit, source
MSR[condition] SPSR_bit, #value
MSR[condition] SPSR_bit, source

其中:

 condition

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

 bit

有效的掩碼位:
c - 控制欄位掩碼位 [16]
x - 擴充套件欄位掩碼位 [17]
s - 狀態欄位掩碼位 [18]
f - 標誌欄位掩碼位 [19]

 value

8 位立即數
請參閱定址模式 1:數據處理運算元

 source

源暫存器

說明

MSR 指令將 value 或是 source 中包含的值移動到 CPSR 或 SPSR。
MSR 指令可用於更新處理器模式、條件程式碼標誌或啟用中斷。要選擇 CPSR,位 [22] 需要設定為 0。要選擇 SPSR,位 [22] 需要設定為 1。
condition
必須是有效值;否則將指令當作 NOP。

備註

SPSR 不應在“系統”或“使用者”模式中訪問。CSPR 的 T 位不得更改。

定址模式

請參閱“定址模式 1 - 數據處理運算元 - 立即數”

影響的標誌

N

Z

C

V

Q

S

I

F

T

TM

TM

TM

TM

 

 

 

 

 

編碼 - 立即數運算元

31

 

28

27

26

25

24

23

22

21

20

19

 

16

15

 

12

11

 

8

7

 

0

condition

0

0

1

1

0

R

1

0

bitmask

SBO

rotate_ value

value

編碼 - 暫存器運算元

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

R

1

0

bitmask

SBO

SBZ

0

0

0

0

source

示例

1                         ;@.text
2
3                         ;@.globl funcmsr
4
5                         ;@.align 0
6
7                         ;@ * * * MSR (Adressing Mode 1) * * *
8
9
10                   AREA example, CODE, READONLY
11
12                   CPSR
13                         @ Select CPSR - set bit 22 to 0
14   00000000   E10F1000   MRS   R1, CPSR
15   00000004   E2011000   AND   R1, R1, #0xFFDFFFFF
16
17                         @ Select flag field mask bit
18   00000008   E320F001   MSR   CPSR_F, #1
19
20   00000012   E3A02001   MOV   R2, #1
21
22                         @ Select extension field mask bit
23   00000016   E3811B40   ORR   R1, R1, #0x10000
24   00000020   E120F000   MSR   CPSR_X, R1
25
26                   SPSR
27                         @ Select SPSR - set bit 22 to 1
28   00000024   E14F1000   MRS   R1, SPSR
29   00000028   E3811980   ORR   R1, R1, #0x200000
30
31                         @ Select flag field mask bit
32   00000032   E360F001   MSR   SPSR_F, #1
33
34   00000036   E3A02001   MOV   R2, #1
35
36                         @ Select extension field mask bit
37   00000040   E3811B40   ORR   R1, R1, #0x10000
38   00000044   E160F000   MSR   SPSR_X, R1
39
40                         END

更多資訊

請參閱定址模式 1:數據處理運算元