* remove "\r" nonsense
[mascara-docs.git] / i386 / i386.reference / NEG.htm
blob2b0aa3a32a30f03424598adc37eab232d7fe7f1c
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
2 <HTML>
3 <HEAD>
4 <TITLE>80386 Programmer's Reference Manual -- Opcode NEG</TITLE>
5 </HEAD>
6 <BODY>
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>
11 <P>
12 <HR>
13 <P>
14 <H1>NEG -- Two's Complement Negation</H1>
16 <PRE>
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
22 </PRE>
24 <H2>Operation</H2>
26 <PRE>
27 IF r/m = 0 THEN CF := 0 ELSE CF := 1; FI;
28 r/m := - r/m;
29 </PRE>
31 <H2>Description</H2>
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
35 in the operand.
36 <P>
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)
49 for a page fault
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
59 fault
62 <P>
63 <HR>
64 <P>
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>
69 </BODY>