Add
add r/m8, reg8 | add r/m16, reg16 | add r/m32, reg32 | add r/m64, reg64 | add reg8, r/m8 | add reg16, r/m16 | add reg32, r/m32 | add reg64, r/m64 | add r/m16, imm8 | add r/m32, imm8 | add r/m64, imm8 | add al, imm8 | add ax, imm16 | add eax, imm32 | add rax, imm32 | add r/m8, imm8 | add r/m16, imm16 | add r/m32, imm32 | add r/m64, imm32 | add [reg8], reg8, r/m8 | add [reg16], reg16, r/m16 | add [reg32], reg32, r/m32 | add [reg64], reg64, r/m64 | add [reg8], r/m8, reg8 | add [reg16], r/m16, reg16 | add [reg32], r/m32, reg32 | add [reg64], r/m64, reg64 | add [reg16], r/m16, imm8 | add [reg32], r/m32, imm8 | add [reg64], r/m64, imm8 | add [reg8], r/m8, imm8 | add [reg16], r/m16, imm16 | add [reg32], r/m32, imm32 | add [reg64], r/m64, imm32 | add kreg8, kreg8, kreg8 | add kreg16, kreg16, kreg16 | add kreg32, kreg32, kreg32 | add kreg64, kreg64, kreg64 ADD performs integer addition: it adds its two operands
together, and leaves the result in its destination (first) operand.
The destination operand can be a register or a memory location.
The source operand can be a register, a memory location or an
immediate value.
The flags are set according to the result of the operation: in
particular, the carry flag is affected and can be used by a
subsequent ADC instruction.
In the forms with an 8-bit immediate second operand and a longer
first operand, the second operand is considered to be signed, and is
sign-extended to the length of the first operand. In these cases,
the BYTE qualifier is necessary to force NASM to generate this
form of the instruction.