| Opcode | Instruction | Op/En | 64-bit | Description |
|---|---|---|---|---|
| FE /1 | DEC r/m8 | M | Valid | Decrement r/m8 by 1 |
| FF /1 | DEC r/m16 | M | Valid | Decrement r/m16 by 1 |
| FF /1 | DEC r/m32 | M | Valid | Decrement r/m32 by 1 |
| REX.W + FF /1 | DEC r/m64 | M | Valid | Decrement r/m64 by 1 |
| Flag | Status | Detail |
|---|---|---|
| CF | not affected | DEC deliberately does not touch CF. This distinguishes it from SUB r/m, 1 which would set CF on underflow. |
| OF | modified | Set if signed overflow occurred (DEST was INT_MIN before the decrement). |
| SF | modified | Set to the MSB of the result. |
| ZF | modified | Set if result == 0. |
| AF | modified | Set if borrow from bit 3 to bit 4. |
| PF | modified | Set if low byte of result has even parity. |