9 lines
1.5 KiB
Markdown
9 lines
1.5 KiB
Markdown
| Opcode/Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
|
|
| ---------------------------------- | ----- | ----------- | --------------- | ----------------------------------------------------------------------------------------------------------------- |
|
|
| 0F B0/r CMPXCHG r/m8, r8 | MR | Valid | Valid | Compare AL with r/m8. If equal, ZF is set and r8 is loaded into r/m8. Else, clear ZF and load r/m8 into AL. |
|
|
| REX + 0F B0/r CMPXCHG r/m8*,r8 | MR | Valid | N.E. | Compare AL with r/m8. If equal, ZF is set and r8 is loaded into r/m8. Else, clear ZF and load r/m8 into AL. |
|
|
| 0F B1/r CMPXCHG r/m16, r16 | MR | Valid | Valid | Compare AX with r/m16. If equal, ZF is set and r16 is loaded into r/m16. Else, clear ZF and load r/m16 into AX. |
|
|
| 0F B1/r CMPXCHG r/m32, r32 | MR | Valid | Valid | Compare EAX with r/m32. If equal, ZF is set and r32 is loaded into r/m32. Else, clear ZF and load r/m32 into EAX. |
|
|
| REX.W + 0F B1/r CMPXCHG r/m64, r64 | MR | Valid | N.E. | Compare RAX with r/m64. If equal, ZF is set and r64 is loaded into r/m64. Else, clear ZF and load r/m64 into RAX. |
|
|
|
|
> * In 64-bit mode, r/m8 can not be encoded to access the following byte registers if a REX prefix is used: AH, BH, CH, DH. |