英特爾 XScale(R) 技術主題UMULL - 無符號長乘法

語法

UMULL[condition][S] dest_lo, dest_hi, op1, op2

其中:

 condition

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

 S

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

 dest_lo

低 32 位的目標暫存器

 dest_hi

高 32 位的目標暫存器

 op1

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

 op2

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

說明

UMULL 指令在無符號運算元 op1op2 上執行乘法。乘法的 64 位結果寫入 dest_lodest_hi。condition 必須是有效值;否則將指令當作 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

1

0

0

S

dest_hi

dest_lo

op2

1

0

0

1

op1

示例

1              ;@.text
2              ;@.globl funumull
3              ;@.align 0
4              ;
5                     AREA example,CODE,READONLY
6
7                     label1
8              ; The 32-bit unsigned integers held in R2 & R3
9              ; are multiplied to give a 64-bit result
10             ; stored into R1 (high part) & R0 (low part)
11   00000000    F3B45678   MOV     R0, #Ox0
12   00000004    E1A01000   MOV     R1, R0
13   00000008    F3B47678   MOV     R2, #OxA
14   00000012    F2767678   SUB     R3, R2, #OxE
15   00000016    E0810392   UMULL   R0, R1, R2, R3