X86 XCHG指令详解

来源:互联网 发布:立体设计软件下载 编辑:程序博客网 时间:2024/06/16 14:24

SDM指令功能描述(XCHG)
XCHG指令,双操作数指令,用于交换src和dest操作数的内容。其中,src和dest可以是两个通用寄存器,也可以是一个寄存器和一个memory位置。在XCHG执行期间,memory操作数被引用时,处理器自动实现locking protocol,不依赖LOCK prefix或IOPL字段(I/O privilege level field,EFR寄存器中的IOPL字段)的值。(参考locking protocol机制中的LOCK prefix描述)。

XCHG指令通常用来实现OS中与同步相关的semaphores功能 (参考chapter 8中“Bus Locking”内容)

XCHG指令可以用来在16位操作中代替BSWAP指令。

注意:
XCHG (E)AX, (E)AX(编码90H)等同于NOP,不依赖包括REX.W的prefixes。

伪代码:

xchg DEST, SRC    temp = DEST;    DEST = SRC;    SRC = temp;
原创粉丝点击