x86 Assembly Language Reference Manual

Exchange Instructions

Compare and Exchange (cmpxchg)[486]

cmpxchg{bwl}			reg[8|16|32], r/m[8|16|32]
Example
cmpxchgb %cl, 1(%esi)
 cmpxchgl %edx, 4(%edi)