Opcode PAVEB
CPU: Cyrix with Extended MMX Instruction Set
Type of Instruction: User
Instruction: PAVEB dest, src
Description:
dest[7..0] <- (dest[7..0] + src[7..0]) >> 1
dest[15..8] <- (dest[15..8] + src[15..8]) >> 1
dest[23..16] <- (dest[23..16] + src[23..16]) >> 1
dest[31..24] <- (dest[31..24] + src[31..24]) >> 1
dest[39..32] <- (dest[39..32] + src[39..32]) >> 1
dest[47..40] <- (dest[47..40] + src[47..40]) >> 1
dest[55..48] <- (dest[55..48] + src[55..48]) >> 1
dest[63..56] <- (dest[63..56] + src[63..56]) >> 1
Notes: The PAVEB insruction calculates the average of the unsigned
bytes of the source operand and the unsigned bytes of the destination
operand and writes the result to the MMX register. The PAVEB
instruction cannot overflow.
M2 hardware versions before v1.3 interpret values as signed
bytes on this instruction.
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:
PAVEB mm,mm/m64 0FH 50H PostByte
Copyright by InternetNightmare 2005-2006