ADD
Operation
Adds the source operand to the destination operand.
Assembler Syntax
ADD.Q 8, SP
ADD.{L|Q}(z) Rn(s), Rn(d)
ADD.Q imm8(i), SP
ADD.Q <imm16s>, SP
ADD.Q <imm32s>, SP
ADD.{B|W|L|Q}(z) Rn(s), <ea>(e)
ADD.{B|W|L|Q}(z) <ea>(e), Rn(d)
ADD.{B|W|L|Q}(z) <imm8s>, <ea>(e)
ADD.{W|L|Q}(z) <imm16s>, <ea>(e)
ADD.{L|Q}(z) <imm32s>, <ea>(e)
ADD.Q <imm64>, <ea>(e)
Privilege
Unprivileged
Repeat eligibility
REP eligible; REPcc observes dst
ADD reads the source and destination operands at the selected integer width, adds their values modulo that width, and writes the low result bits to the destination. The common integer result-extension rule defines the upper bits of an Rn destination. The operation leaves FLAGS unchanged.
2.75in
Encodings
ADD.Q 8, SP
Format: Instruction format for ADD.Q 8, SP
2.75in ADD.{L|Q}(z) Rn(s), Rn(d)
Format: Instruction format for ADD.{L|Q}(z) Rn(s), Rn(d)
2.75in ADD.Q imm8(i), SP
Format: Instruction format for ADD.Q imm8(i), SP
2.75in ADD.Q <imm16s>, SP
Format: Instruction format for ADD.Q <imm16s>, SP
2.75in ADD.Q <imm32s>, SP
Format: Instruction format for ADD.Q <imm32s>, SP
2.75in ADD.{B|W|L|Q}(z) Rn(s), <ea>(e)
Format: Instruction format for ADD.{B|W|L|Q}(z) Rn(s), <ea>(e)
dst — excluded: immediate [invalid_destination]
2.75in ADD.{B|W|L|Q}(z) <ea>(e), Rn(d)
Format: Instruction format for ADD.{B|W|L|Q}(z) <ea>(e), Rn(d)
2.75in ADD.{B|W|L|Q}(z) <imm8s>, <ea>(e)
Format: Instruction format for ADD.{B|W|L|Q}(z) <imm8s>, <ea>(e)
dst — excluded: immediate [invalid_destination]
2.75in ADD.{W|L|Q}(z) <imm16s>, <ea>(e)
Format: Instruction format for ADD.{W|L|Q}(z) <imm16s>, <ea>(e)
size — allowed: 0x1..0x3 [immediate_wider_than_operation_size]
dst — excluded: immediate [invalid_destination]
2.75in ADD.{L|Q}(z) <imm32s>, <ea>(e)
Format: Instruction format for ADD.{L|Q}(z) <imm32s>, <ea>(e)
dst — excluded: immediate [invalid_destination]
2.75in ADD.Q <imm64>, <ea>(e)
Format: Instruction format for ADD.Q <imm64>, <ea>(e)
dst — excluded: immediate [invalid_destination]