NEG replaces the contents of its operand by the two's complement
negation (invert all the bits and then add one) of the original
value. NOT, similarly, performs one's complement (inverts all
the bits).
not
8086 and laterOne's Complement Negation
not r/m8 | not r/m16 | not r/m32 | not r/m64 | not [reg8], r/m8 | not [reg16], r/m16 | not [reg32], r/m32 | not [reg64], r/m64 | not kreg8, kreg8 | not kreg16, kreg16 | not kreg32, kreg32 | not kreg64, kreg64Loading...
Forms
Every form of not the assembler accepts, from NASM's own instruction table.
The second column is the processor that introduced the form; a badge marks a form that needs
an extension, that is lockable, or that long mode dropped.
| Form | Since | Notes |
|---|---|---|
| not r/m8 | 8086 | lock |
| not r/m16 | 8086 | lock |
| not r/m32 | 386 | lock |
| not r/m64 | x86-64 | locklong |
| not [reg8], r/m8 | x86-64 | apxlocklong |
| not [reg16], r/m16 | x86-64 | apxlocklong |
| not [reg32], r/m32 | x86-64 | apxlocklong |
| not [reg64], r/m64 | x86-64 | apxlocklong |
| not kreg8, kreg8 | recent | avx512dq |
| not kreg16, kreg16 | recent | avx512f |
| not kreg32, kreg32 | recent | avx512bw |
| not kreg64, kreg64 | recent | avx512bw |