neg
Two's complement negation
Replaces the operand with its two's complement, which inverts every bit and then adds one.
8086 and latertakes lock
CFPFAFZFSFDFOF ●●●●●–●
- ● set from the result
- – not changed
Forms
Operands
r/m- A general-purpose register or memory location matching the operation’s size, for example
raxorqword [rbp-8]. The byte registersah,bh,chanddhcannot be used with a REX prefix, including when the memory address usesr8–r15.
NOT, similarly, performs one's complement (inverts all
the bits).
global _start
section .text
_start:
mov rax, 12
mov rbx, 5
mov rcx, 3
mov rsi, 9
neg rax
mov rax, 60 ; syscall 60: exit
xor rdi, rdi
syscall