<<<    Index    >>>
3-454
INSTRUCTION SET REFERENCE
NEG—Two's Complement Negation
Description
This instruction replaces the value of operand (the destination operand) with its two’s comple-
ment. (This operation is equivalent to subtracting the operand from 0.) The destination operand
is located in a general-purpose register or a memory location.
Operation
IF DEST = 0 
THEN CF 
<
 0 
ELSE CF 
<
 1; 
FI;
DEST 
<
 
– (DEST)
Flags Affected
The CF flag cleared to 0 if the source operand is 0; otherwise it is set to 1. The OF, SF, ZF, AF,
and PF flags are set according to the result. 
Protected Mode Exceptions
#GP(0)
If the destination is located in a nonwritable segment.
If a memory operand effective address is outside the CS, DS, ES, FS, or
GS segment limit.
If the DS, ES, FS, or GS register contains a null segment selector.
#SS(0)
If a memory operand effective address is outside the SS segment limit.
#PF(fault-code)If a page fault occurs.
#AC(0)
If alignment checking is enabled and an unaligned memory reference is
made while the current privilege level is 3.
Real-Address Mode Exceptions
#GP
If a memory operand effective address is outside the CS, DS, ES, FS, or
GS segment limit.
#SS
If a memory operand effective address is outside the SS segment limit.
Opcode
Instruction
Description
F6 /3
NEG r/m8
Two’s complement negate r/m8
F7 /3
NEG r/m16
Two’s complement negate r/m16
F7 /3
NEG r/m32
Two’s complement negate r/m32
<<<    Index    >>>