A.5.331 XADD: Exchange and Add
XADD r/m8,reg8 ; 0F C0 /r [486]
XADD r/m16,reg16 ; o16 0F C1 /r [486]
XADD r/m32,reg32 ; o32 0F C1 /r [486]
XADD exchanges the values in its two operands, and then adds them
together and writes the result into the destination (first) operand.
This instruction can be used with a LOCK prefix for multi-processor
synchronisation purposes.