aadd

Atomically Add

AADD m32, r32

Atomically adds a value to a remote memory location.

Details

Atomically adds a 32-bit register value to a memory location without acquiring a lock and without returning the old value. This is a remote atomic operation that guarantees atomicity at the hardware level via cache coherency; the instruction does not serialize the entire pipeline but may have store ordering implications. No flags are modified; this is a write-only operation to memory.

Pseudocode Operation

atomic_add([dest], src);
// Semantically: [dest] ← [dest] + src

Example

AADD [rbp-4], eax

Encoding

Binary Layout
66
+0
0F
+1
38
+2
FC
+3
 
Format VEX
Opcode NP 0F 38 FC !(11):rrr:bbb
Extension RAO-INT

Operands

  • dest
    Mem
  • src
    Reg

Related

More in RAO-INT