Opcode PMULHW


CPU: all which supported IA MMX:
Pentium (P55C only), Pentium (tm) Pro (P6) future models
Type of Instruction: User

Instruction: PMULHW dest,src

Description:

dest[15..0] <- (dest[15..0] * src[15..0]) (31..16)
dest[31..16] <- (dest[31..16] * src[31..16]) (31..16)
dest[47..32] <- (dest[47..32] * src[47..32]) (31..16)
dest[63..48] <- (dest[63..48] * src[63..48]) (31..16)

Note: Multiply the signed packed word in MMX register with the signed
packed word in MMXregister/memory, then store the high-order 16 bits of
the results in MMX register.

Flags affected: None

Exceptions:

RM PM VM SMM Description
#GP(0) If Illegal memory operand's EA in CS,DS,ES,FS,GS
#SS(0) If illegal memory operand's EA in SS
#PF(fcode) If page fault
#AC #AC If unaligned memory reference then alignment
check enabled and in ring 3.
#UD #UD #UD #UD If CR0.EM = 1
#NM #NM #NM #NM If CR0.TS = 1
#MF #MF #MF #MF If pending FPU Exception
#13 #13 If any part of the the operand lies outside of
the EA space from 0 to FFFFH
++++++++++++++++++++++++++++++++++++++
COP & Times:

PMULHW mm,mm/m64 0FH E5H PostByte

P55C: n/a
future P6: n/a


Copyright by InternetNightmare 2005-2006