英特爾 XScale(R) 技術主題MRA - 內部累加器訪問

語法

MRA[ condition ] op1 , op2 , acc0

其中:

 condition

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

 acc0

40 位累加器

 op1

指定內部累加器的低 32 位的暫存器

 op2

指定內部累加器的高八位的暫存器

說明

指令 MRA 執行以下操作:

if ConditionPassed ( condition ) then
 op1[31:0] = acc0[31:0]
 op2[31:0] = sign_extend (acc0 [39:32])

 

使用 MRA 指令將 40 位累加器的值移入兩個暫存器。累加器值的位 [31:0] 移入暫存器 op1。40 位累加器的值的位 [39:32] 按照符號擴充套件方式擴充套件成 32 位。隨後這些位移入暫存器 op2。指令中指定的條件必須與條件程式碼狀態匹配;否則不執行指令。此指令可以在任何處理器模式中執行。

影響的標誌

編碼

31

 

28

27

26

25

24

23

22

21

20

19

 

16

15

 

12

11

10

9

8

7

6

5

4

3

2

1

0

condition

1

1

0

0

0

1

0

1

op2

op1

0

0

0

0

0

0

0

0

0

0

0

0

示例

1                                ;@.text
2
3                                ;@.globl funcmra
4
5                                ;@.align 0
6
7                                ;@ * * * MRA * * *
8
9
10                   AREA example, CODE, READONLY
11
12   00000000   E3A0000A   MOV   R0, #10
13   00000004   E3A01001   MOV   R1, #1
14   00000008   E3A02001   MOV   R2, #1
15
16   00000012   E2A20001   ADC   R0, R2, #1
17
18   00000016   EC510000   MRA   R0, R1, acc0
19
20                         END

更多資訊

請參閱 MAR 指令