XCHG

MEM0:rw:v REG0=GPRv_R():rw MEM0:rw:v REG0=GPRv_R():rw

x86_64 X86_LEGACY DATAXFER I86 source: xed

XED_XCHG_X86_LEGACY_ONEBYTE_87_256512

Encoding

encoding_kindX86_LEGACY
opcode_bytes87 87
opcode_mapONEBYTE
mandatory_prefix-
has_modrmTrue
attributesLOCKED HLE_ACQ_ABLE HLE_REL_ABLE
cpl3
raw_encoding0x87 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix 0x87 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix

Operands (4)

# Role Kind Class / Reg Width Access Visibility Encoded in
0 MEM0 MEM v RW EXPLICIT MODRM_RM
1 REG0 REG RW EXPLICIT MODRM_REG
2 MEM1 MEM v RW EXPLICIT MODRM_RM
3 REG1 REG RW EXPLICIT MODRM_REG

Micro-ops sequence (0)

No micro-ops authored for this encoding. Emulator semantics not yet defined — decoder still works.