x86_64 - cmpxchg。返回值

时间:2015-08-01 09:59:58

标签: assembly x86-64 compare-and-swap

我正在阅读英特尔手册,第一卷。 2A。

  

将AL,AX,EAX或RAX寄存器中的值与第一个操作数(目标操作数)进行比较。如果两个值相等,则将第二个操作数(源操作数)加载到目标操作数中。 否则,目标操作数将加载到AL,AX,EAX或RAX寄存器。 RAX寄存器仅在64位模式下可用。

如果发生故障,在蓄电池中加载目的地的目的是什么?

1 个答案:

答案 0 :(得分:4)

这是一个方便,所以你不必自己做。您通常在循环中使用cmpxchg,在此循环中,您可以根据当前值计算新值。如果失败,您可能需要重新计算当前值并重试。