XCHG(交换数据)指令交换两个操作数内容。该指令有三种形式:
XCHG reg, reg
XCHG reg, mem
XCHG mem, reg
除了 XCHG 指令不使用立即数作操作数之外,XCHG 指令操作数的要求与《MOV指令》一节中介绍的 MOV 指令操作数要求是一样的。
在数组排序应用中,XCHG 指令提供了一种简单的方法来交换两个数组元素。下面是几个使用 XCHG 指令的例子。
xchg ax,bx ;交换 16 位寄存器内容 xchg ah,al ;交换 8 位寄存器内容 xchg var1,bx ;交换 16 位内存操作数与 BX 寄存器内容 xchg eax,ebx ;交换 32 位寄存器内容
如果要交换两个内存操作数,则用寄存器作为临时容器,把 MOV 指令与 XCHG 指令一起使用:
mov ax,val1 xchg ax,val2 mov val1,ax
全部加载完成