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

Instruction: PADDSW dest,src


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

Note: This instruction adds the signed words of the source to the words of
the destination and writes the results to the MMX register.
If the result is larger or smaller than the range of a signed word,
the value is saturated (in the case of a overflow - to 7FFFH, and in
the case of an underflow - to 8000H).

Flags affected: None


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:

PADDSW mm,mm/m64 0FH EDH PostByte

P55C: n/a
future P6: n/a

Copyright by InternetNightmare 2005-2006