1 <!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML 2.0//EN">
4 <TITLE>80386 Programmer's Reference Manual -- Opcode NEG
</TITLE>
7 <B>up:
</B> <A HREF=
"c17.htm">
8 Chapter
17 --
80386 Instruction Set
</A><BR>
9 <B>prev:
</B><A HREF=
"MUL.htm"> MUL Unsigned Multiplication of AL or AX
</A><BR>
10 <B>next:
</B><A HREF=
"NOP.htm"> NOP No Operation
</A>
14 <H1>NEG -- Two's Complement Negation
</H1>
17 Opcode Instruction Clocks Description
19 F6 /
3 NEG r/m8
2/
6 Two's complement negate r/m byte
20 F7 /
3 NEG r/m16
2/
6 Two's complement negate r/m word
21 F7 /
3 NEG r/m32
2/
6 Two's complement negate r/m dword
27 IF r/m =
0 THEN CF :=
0 ELSE CF :=
1; FI;
33 NEG replaces the value of a register or memory operand with its two's
34 complement. The operand is subtracted from zero, and the result is placed
37 The carry flag is set to
1, unless the operand is zero, in which case the
38 carry flag is cleared to
0.
40 <H2>Flags Affected
</H2>
42 CF as described above; OF, SF, ZF, and PF as described in
<A HREF=
"appc.htm">Appendix C
</A>
44 <H2>Protected Mode Exceptions
</H2>
46 #GP(
0) if the result is in a nonwritable segment; #GP(
0) for an illegal
47 memory operand effective address in the CS, DS, ES, FS, or GS
48 segments; #SS(
0) for an illegal address in the SS segment; #PF(fault-code)
51 <H2>Real Address Mode Exceptions
</H2>
53 Interrupt
13 if any part of the operand would lie outside of the effective
54 address space from
0 to
0FFFFH
56 <H2>Virtual
8086 Mode Exceptions
</H2>
58 Same exceptions as in real-address mode; #PF(fault-code) for a page
65 <B>up:
</B> <A HREF=
"c17.htm">
66 Chapter
17 --
80386 Instruction Set
</A><BR>
67 <B>prev:
</B><A HREF=
"MUL.htm"> MUL Unsigned Multiplication of AL or AX
</A><BR>
68 <B>next:
</B><A HREF=
"NOP.htm"> NOP No Operation
</A>