Opcode PACKUSWB


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

Instruction: PACKUSWB dest,src

Description:

dest[7..0] <- SaturateSignedWordToUnSignedByte dest[15..0]
dest[15..8] <- SaturateSignedWordToUnSignedByte dest[31..16]
dest[23..16] <- SaturateSignedWordToUnSignedByte dest[47..32]
dest[31..24] <- SaturateSignedWordToUnSignedByte dest[63..48]
dest[39..32] <- SaturateSignedWordToUnSignedByte src[15..0]
dest[47..40] <- SaturateSignedWordToUnSignedByte src[31..16]
dest[55..48] <- SaturateSignedWordToUnSignedByte src[47..32]
dest[63..56] <- SaturateSignedWordToUnSignedByte src[63..48]

Note: If signed value of word larger or smaller that the range of unsigned
byte, value is saturated (if overflow to FFh, if underflow to 0h).

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

++++++++++++++++++++++++++++++++++++++
COP & Times:

PACKUSWB mm,mm/m64 0FH 67H PostByte

P55C: n/a
future P6: n/a


Copyright by InternetNightmare 2005-2006