80386 Programmer's Reference Manual -- Opcode DEC

DEC -- Decrement by 1

OpcodeInstructionClocks DescriptionExample
FE /1decb r/m82/6 Decrement r/m byte by 1decb %dl
decb (%ebx,1)
decb m8(%ebx,1)
decb m8(%ebx,%ebp,1)
FF /1decw r/m162/6 Decrement r/m word by 1 Decrement r/m dword by 1decw %cx
decw (%ebx,1)
decw (%ebx,2)
decw (%ebx,%ebp,1)
48+rwdecw r162 Decrement word register by 1decw %bx
48+rwdecl r322 Decrement dword register by 1decl %ebx


DEST := DEST - 1;


DEC subtracts 1 from the operand. DEC does not change the carry flag. To affect the carry flag, use the SUB instruction with an immediate operand of 1.

Flags Affected

OF, SF, ZF, AF, and PF as described in Appendix C.

Protected Mode Exceptions

#GP(0) if the result is 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 Exceptions

Interrupt 13 if any part of the operand would lie outside of the effective address space from 0 to 0FFFFH

Virtual 8086 Mode Exceptions

Same exceptions as in Real Address Mode; #PF(fault-code) for a page fault

[Home Page dell'ITIS "Fermi"] [80386 Programmer's Reference Manual Index] [Previous] [Next]