CMPXCHG16B_LOCK
MEM0:rcw:dq REG0=XED_REG_RDX:rcw:SUPP REG1=XED_REG_RAX:rcw:SUPP REG2=XED_REG_RCX:r:SUPP REG3=XED_REG_RBX:r:SUPP
x86_64 X86_LEGACY SEMAPHORE CMPXCHG16B source: xed
XED_CMPXCHG16B_LOCK_X86_LEGACY_0F_C7_985146
Encoding
| encoding_kind | X86_LEGACY |
| opcode_bytes | C7 |
| opcode_map | 0F |
| mandatory_prefix | - |
| has_modrm | True |
| modrm.reg = /1 | /1 |
| rex_w | 1 |
| requires_mode | long |
| attributes | REQUIRES_ALIGNMENT LOCKED |
| cpl | 3 |
| raw_encoding | 0x0F 0xC7 MOD[mm] MOD!=3 REG[0b001] RM[nnn] mode64 rexw_prefix IMMUNE66() MODRM() lock_prefix |
Operands (5)
| # | Role | Kind | Class / Reg | Width | Access | Visibility | Encoded in |
|---|---|---|---|---|---|---|---|
| 0 | MEM0 | MEM | R | EXPLICIT | MODRM_RM | ||
| 1 | REG0 | REG | (=RDX) | R | SUPPRESSED | MODRM_REG | |
| 2 | REG1 | REG | (=RAX) | R | SUPPRESSED | MODRM_REG | |
| 3 | REG2 | REG | (=RCX) | R | SUPPRESSED | MODRM_REG | |
| 4 | REG3 | REG | (=RBX) | R | SUPPRESSED | MODRM_REG |
Flag effects (1)
ZF = WRITE
Micro-ops sequence (0)
No micro-ops authored for this encoding. Emulator semantics not yet defined — decoder still works.