SMLAWy - DSP 指令

語法

SMLAW y[condition] dest, op1, op2, op3

其中:

 y

B:
x==0
使用 op2 的位 [15:0]

T:
x==0
使用 op2 的位 [31:16]

 condition

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

 dest

目標暫存器

 op1

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

 op2

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

 op3

包含累加運算元的暫存器

說明

SMLAWy 指令使用有符號 32 位運算元 op1 與有符號 16 位運算元 op2 執行乘法。乘法的 64 位結果的高 32 位加到 op3 中包含的 32 位值。和寫入 dest。如果相加時發生上溢,則 Q 標誌置位。condition 必須是有效值;否則將指令當作 NOP。

定址模式

無運算元

影響的標誌

N

Z

C

V

Q

S

I

F

T

T

T

T

T

M

 

 

 

 

編碼

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

0

1

0

dest

op3

op2

1

y

0

0

op1

示例

1                          @.text
2                          @.globl funcsmlawy
3                          @.align 0
4
5                          @ * * * SMLAWy * * *
6
7                    AREA example, CODE, READONLY
8
9    00000000   E3A00000   MOV      R0, #0xF00D
10   00000004   E3A01000   MOV      R1, #0xBEEF
11   00000008   E3A02000   MOV      R2, #0xE667A579
12
13   00000012   E5678280   SMLAWB   R4, R0, R2, R1
14   00000016   E12512C0   SMLAWT   R5, R0, R2, R1
15                         END