80386 Programmer's Reference Manual -- Opcode NEG
NEG -- Two's Complement Negation
IF r/m = 0 THEN CF := 0 ELSE CF := 1; FI; r/m := - r/m;
DescriptionNEG replaces the value of a register or memory operand with its two's complement. The operand is subtracted from zero, and the result is placed in the operand.
The carry flag is set to 1, unless the operand is zero, in which case the carry flag is cleared to 0.
Flags AffectedCF as described above; OF, SF, ZF, and PF as described in Appendix C
Protected Mode Exceptions#GP(0) if the result is in a nonwritable segment; #GP(0) for an illegal memory operand effective address in the CS, DS, ES, FS, or GS segments; #SS(0) for an illegal address in the SS segment; #PF(fault-code) for a page fault
Real Address Mode ExceptionsInterrupt 13 if any part of the operand would lie outside of the effective address space from 0 to 0FFFFH
Virtual 8086 Mode ExceptionsSame exceptions as in real-address mode; #PF(fault-code) for a page fault