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.
| 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 |