Opcode PMAGW


CPU: Cyrix with Extended MMX Instruction Set
Type of Instruction: User

Instruction: PMAGW dest, src

Description:
IF abs(src[15..0]) > abs(dest[15..0]) THEN dest[15..] <-src[15..0]
IF abs(src[31..16]) > abs(dest[31..16]) THEN dest[31..16]<-src[31..16]
IF abs(src[47..32]) > abs(dest[47..32]) THEN dest[47..32]<-src[47..32]
IF abs(src[63..56]) > abs(dest[63..56]) THEN dest[63..56]<-src[63..56]

Notes: The PMAGW instruction compares the absolute value of the
packed words in the destination operand and sets the destination words
to the value that has the larger magnitude. The PMAGW instruction
does not change the sign of the value with the larger magnitude and
it does not saturate.
The DEST must be an MMX register. The SRC can be either an MMX
register or a 64-bit memory operand.

Flags Affected: None

Exceptions:

RM PM VM SMM Description
#GP(0) If Illegal memory operands EA in CS,DS,ES,FS,GS
#SS(0) If Illegal memory operands 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 operand lies outside of the
EA space from 0 to FFFFH
++++++++++++++++++++++++++++++++++
COP & Times:

PMAGW mm,mm/m64 0FH 52H PostByte


Copyright by InternetNightmare 2005-2006