指令助记符 CMPXCHG
含义: 比较并交换指令
用法:目的操作数和累加操作数(AH、AL、EAX)进行比较,如果相等(ZF=1),则将源操作数复制到目的操作数中,否则将目的操作数复制到累加器中。
指令格式:
CMPXCHG reg reg
CMPXCHG mem reg
例子详解:
CMPXCHG CX,DX
1.指令执行前:(AX)=00FFH,(CX)=00FFH,(DX)=00EFH;
指令执行后:(AX)=00FFH,(CX)=00EFH,(DX)=00EFH,ZF=1;
2.指令执行前:(AX)=00EEH,(CX)=00FFH,(DX)=00EFH;
指令执行后:(AX)=00FFH,(CX)=00EFH,(DX)=00EFH,ZF=0;
流程图详解: