IA-32

IA-32 Assembly Language Reference Manual

cmpxchg
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)

https://docs.oracle.com/cd/E19455-01/806-3773/6jct9o0b0/index.html

cmpxchg

CMPXCHG SOURCE, DESTINATION

如果destination和EAX/AX/AL相等,把source加载到destination;
否则,把destination加载到EAX/AX/AL中

mov
mov{bwl}		imm[8|16|32], r/m[8|16|32]
mov{bwl}		reg[8|16|32], r/m[8|16|32]
mov{bwl}		r/m[8|16|32], reg[8|16|32]
Operation
SRC -> DEST
 movl %cr3, %ebp
 movl %db7, %ebp
 movl %ebp, %cr3
 movl %ebp, %db7
 movl %tr7, %ebp
 movl %ebp, %tr7

https://docs.oracle.com/cd/E19455-01/806-3773/6jct9o0b6/index.html