MLA - 乘法累加

語法

MLA[ condition ] [S] dest, op1 , op2, op3

其中:

 condition

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

 S

更新條件程式碼標誌(位 [20])

 dest

目標暫存器

 op1

包含第一個運算元的暫存器

 op2

包含第二個運算元的暫存器

 op3

包含第三個運算元的暫存器

 

說明

MLA 指令執行有符號或無符號運算元 op1op2 的乘法。乘法的 32 位乘積加到第三個運算元 op3 上,結果寫入 destcondition 必須是有效值;否則將指令當作 NOP。

定址模式

無運算元

影響的標誌

N

Z

C

V

Q

S

I

F

T

TM

TM

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

0

0

0

1

S

dest

op3

op2

1

0

0

1

op1

示例

1                       @.text
2                       @.globl funcmla
3                       @.align 0
4
5                       @ * * * MLA * * *
6
7                       AREA example, CODE, READONLY
8
9    00000000    E3A00001    MOV   R0, #1
10   00000004    E3A01002    MOV   R1, #2
11   00000008    E3A03003    MOV   R3, #3
12   00000012    E0223190    MLA   R2, R0, R1, R3
13
14   00000016    E3A03004    MOV   R3, #4
15   00000020    E3A04005    MOV   R4, #5
16   00000024    E3A06004    MOV   R6, #4
17   00000028    E0356493    MLAS  R5, R3, R4, R6
18
19                           END