Команда замены XCHG просто меняет местами содержимое двух ячеек.  Эта команда может поменять местами содержимое двух регистров, или  регистра и памяти.  При этом в качестве операндов не могут  использоваться сегментные регистры.

Команда XCHG заменяет три команды пересылки и не требует  промежуточной ячейки памяти. Если бы команда замены не существовала, программе потребовалось бы три пересылки, чтобы  обменять значения в регистре AX и в регистре BX. Сначала она должна  была бы переслать содержимое регистра AX в рабочую ячейку, затем  переслать содержимое регистра BX в регистр AX, и наконец, переслать содержимое рабочей ячейки в регистр BX. Команда XCHG одна выполняет  эту операцию.