Quick navigation: [ Jump to body ]

Quick navigation: [ Jump to menu ]

Intel Pentium Instruction Set Reference

XADD - Exchange and Add

Code Mnemonic Description
0F C0/r XADD r/m8, r8 Exchange r8 and r/m8; load sum into r/m8.
0F C1/r XADD r/m16, r16 Exchange r16 and r/m16; load sum into r/m16.
0F C1/r XADD r/m32, r32 Exchange r32 and r/m32; load sum into r/m32.

Description

Exchanges the first operand (destination operand) with the second operand (source operand), then loads the sum of the two values into the destination operand. The destination operand can be a register or a memory location; the source operand is a register.

This instruction can be used with a LOCK prefix.

Operands Bytes Clocks
reg, reg 3 3 NP
mem, reg 3 + d(0 - 2) 4 NP

Flags

ID unaffected DF unaffected
VIP unaffected IF unaffected
VIF unaffected TF unaffected
AC unaffected SF sets according to the result of the addition, which is stored in the destination operand
VM unaffected ZF sets according to the result of the addition, which is stored in the destination operand
RF unaffected AF sets according to the result of the addition, which is stored in the destination operand
NT unaffected PF sets according to the result of the addition, which is stored in the destination operand
IOPL unaffected CF sets according to the result of the addition, which is stored in the destination operand
OF sets according to the result of the addition, which is stored in the destination operand