| |
Signed Multiply
86/88 |
Y |
186 |
Y |
286 |
Y |
386 |
Y |
486 |
Y |
IMUL source |
Ovfl |
Y |
Dir |
N |
Int |
N |
Trap |
N |
Sign |
? |
Zero |
? |
Aux |
? |
Prty |
? |
Carry |
Y |
IMUL performs signed multiplication. If source is a byte, IMUL
multiplies source by AL, returning the product in AX. If source is a
word, IMUL multiplies source by AX, returning the product in DX:AX.
The Carry Flag and Overflow Flag are set if the upper half of the
result (AH for a byte source, DX for a word source) contains any
significant digits of the product, otherwise they are cleared.
------------------------------------ Timing ----------------------------------
OpCode Instruction 386 286 86
F6/5 IMUL r/m8 14/17 13/16 98/104+EA
F7/5 IMUL r/m16 22/25 21/24 154/160+EA
F7/5 IMUL r/m32 38/41
0F AF/r IMUL r16, r/m16 22/25
0F AF/r IMUL r32, r/m32 38/41
6B/r IMUL r16, r/m16, imm8 14/17 21/24
6B/r IMUL r32, r/m32, imm8 14/17
6B/r IMUL r16, imm8 14/17 21/24
6B/r IMUL r32, imm8 14/17
69/r IMUL r16, r/m16, imm16 22/25 21/24
69/r IMUL r32, r/mm16, imm16 38/41
69/r IMUL r16, imm16 22/25
69/r IMUL r32, imm32 38/41
------------------------------------ Logic -----------------------------------
AX = AL * source
or
DX:AX = AX * source
See Also MUL AAM Flags |