* remove "\r" nonsense
[mascara-docs.git] / i386 / i386.reference / INC.htm
blobe6e65d95bf5b1ee20591f6bf953d96fd7aea23de
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
2 <HTML>
3 <HEAD>
4 <TITLE>80386 Programmer's Reference Manual -- Opcode INC</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="IN.htm"> IN Input from Port</A><BR>
10 <B>next:</B><A HREF="INS.htm"> INS/INSB/INSW/INSD Input from Port to String</A>
11 <P>
12 <HR>
13 <P>
14 <H1>INC -- Increment by 1</H1>
16 <PRE>
17 Opcode Instruction Clocks Description
19 FE /0 INC r/m8 Increment r/m byte by 1
20 FF /0 INC r/m16 Increment r/m word by 1
21 FF /6 INC r/m32 Increment r/m dword by 1
22 40 + rw INC r16 Increment word register by 1
23 40 + rd INC r32 Increment dword register by 1
24 </PRE>
26 <H2>Operation</H2>
28 <PRE>
29 DEST := DEST + 1;
30 </PRE>
32 <H2>Description</H2>
34 INC adds 1 to the operand. It does not change the carry flag. To affect
35 the carry flag, use the
36 <A HREF="ADD.htm">ADD</A> instruction with a second operand of 1.
38 <H2>Flags Affected</H2>
40 OF, SF, ZF, AF, and PF as described in <A HREF="appc.htm">Appendix C</A>
42 <H2>Protected Mode Exceptions</H2>
44 #GP(0) if the operand is in a nonwritable segment; #GP(0) for an illegal
45 memory operand effective address in the CS, DS, ES, FS, or GS
46 segments; #SS(0) for an illegal address in the SS segment; #PF(fault-code)
47 for a page fault
49 <H2>Real Address Mode Exceptions</H2>
51 Interrupt 13 if any part of the operand would lie outside of the effective
52 address space from 0 to 0FFFFH
54 <H2>Virtual 8086 Mode Exceptions</H2>
56 Same exceptions as in Real Address Mode; #PF(fault-code) for a page
57 fault
60 <P>
61 <HR>
62 <P>
63 <B>up:</B> <A HREF="c17.htm">
64 Chapter 17 -- 80386 Instruction Set</A><BR>
65 <B>prev:</B><A HREF="IN.htm"> IN Input from Port</A><BR>
66 <B>next:</B><A HREF="INS.htm"> INS/INSB/INSW/INSD Input from Port to String</A>
67 </BODY>