bound{wl} reg[16|32], r/m[16|32]
r/m[16|32] bound reg[16|32] -> CC is unchanged
Ensures that a signed array index (16- or 32-bit register) value falls within the upper and lower bounds of a block of memory. The upper and lower bounds are specified by a 16- or 32-bit register or memory value. If the signed array index value is not within the bounds, an Interrupt 5 occurs; the return EIP points to the bound instruction.
Check the 16-bit signed array index value in the AX register against the doubleword with the upper and lower bounds specified by DX:
boundw %ax, %dx
Check the 32-bit signed array index value in the EAX register against the doubleword with the upper and lower bounds specified by EDX:
boundl %eax, %edx