WAIT
Operation
Waits while a memory value equals the expected register value.
Assembler Syntax
WAIT.{B|W|L|Q}(z) Rn(x), <ea>(e)
Privilege
Unprivileged
Required CPUID flags
WAIT
WAIT performs an acquire-ordered read of the selected-width memory operand. The comparison read and monitor arm are indivisible. If the value differs from the expected register value, the instruction returns without blocking. If the values are equal, the logical processor may block until a matching WAKE or a spurious return. Software therefore rechecks the condition after every return.
The monitor is identified by the resolved physical start address of the memory operand. WAIT does not modify the memory value, the expected register, or FLAGS. Ordinary stores are not required to make the instruction return.
2.75in
Encodings
WAIT.{B|W|L|Q}(z) Rn(x), <ea>(e)
Format: Instruction format for WAIT.{B|W|L|Q}(z) Rn(x), <ea>(e)
memory — excluded: immediate [memory_operand_required]