Vol. 2A 3-457
INSTRUCTION SET REFERENCE, A-M
IMUL—Signed Multiply
IMUL—Signed Multiply
Opcode Instruction 64-Bit
Mode
Compat/
Leg Mode
Description
F6 /5 IMUL r/m8* Valid Valid AX← AL ∗ r/m byte.
F7 /5 IMUL r/m16 Valid Valid DX:AX ← AX ∗ r/m word.
F7 /5 IMUL r/m32 Valid Valid EDX:EAX ← EAX ∗ r/m32.
REX.W + F7 /5 IMUL r/m64 Valid N.E. RDX:RAX ← RAX ∗ r/m64.
0F AF /r IMUL r16, r/m16 Valid Valid word register ← word register ∗
r/m16.
0F AF /r IMUL r32, r/m32 Valid Valid doubleword register ←
doubleword register ∗ r/m32.
REX.W + 0F AF /r IMUL r64, r/m64 Valid N.E. Quadword register ← Quadword
register ∗ r/m64.
6B /r ib IMUL r16, r/m16,
imm8
Valid Valid word register ← r/m16 ∗ sign-
extended immediate byte.
6B /r ib IMUL r32, r/m32,
imm8
Valid Valid doubleword register ← r/m32 ∗
sign-extended immediate byte.
REX.W + 6B /r ib IMUL r64, r/m64,
imm8
Valid N.E. Quadword register ← r/m64 ∗
sign-extended immediate byte.
6B /r ib IMUL r16, imm8 Valid Valid word register ← word register ∗
sign-extended immediate byte.
6B /r ib IMUL r32, imm8 Valid Valid doubleword register ←
doubleword register ∗ sign-
extended immediate byte.
REX.W + 6B /r ib IMUL r64, imm8 Valid N.E. Quadword register ← Quadword
register ∗ sign-extended
immediate byte.
69 /r iw IMUL r16, r/m16,
imm16
Valid Valid word register ← r/m16 ∗
immediate word.
69 /r id IMUL r32, r/m32,
imm32
Valid Valid doubleword register ← r/m32 ∗
immediate doubleword.
REX.W + 69 /r id IMUL r64, r/m64,
imm32
Valid N.E. Quadword register ← r/m64 ∗
immediate doubleword.
69 /r iw IMUL r16, imm16 Valid Valid word register ← r/m16 ∗
immediate word.