汇编语言指令集之CMPXCHG讲解

指令助记符 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;

流程图详解:

Created with Raphaël 2.1.2 开始 CMPXCHG CX,DX (AX) = (CX) ? (CX)=(DX) 结束 (AX)=(CX) yes no

你可能感兴趣的:(汇编语言)