XCHG
MEM0:rw:b REG0=GPR8_R():rw MEM0:rw:b REG0=GPR8_R():rw
x86_64 X86_LEGACY DATAXFER I86 source: xed
XED_XCHG_X86_LEGACY_ONEBYTE_86_964998
Encoding
| encoding_kind | X86_LEGACY |
| opcode_bytes | 86 86 |
| opcode_map | ONEBYTE |
| mandatory_prefix | - |
| has_modrm | True |
| attributes | BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE |
| cpl | 3 |
| raw_encoding | 0x86 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix 0x86 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 | b | RW | EXPLICIT | MODRM_RM | |
| 1 | REG0 | REG | RW | EXPLICIT | MODRM_REG | ||
| 2 | MEM1 | MEM | b | 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.