-
Notifications
You must be signed in to change notification settings - Fork 98
BNDCL
BNDCL — Check Lower Bound
Opcode/ Instruction | Op/En | 64/32 bit Mode Support | CPUID Feature Flag | Description |
F3 0F 1A /r BNDCL bnd, r/m32 | RM | NE/V | MPX | Generate a #BR if the address in r/m32 is lower than the lower bound in bnd.LB. |
F3 0F 1A /r BNDCL bnd, r/m64 | RM | V/NE | MPX | Generate a #BR if the address in r/m64 is lower than the lower bound in bnd.LB. |
Op/En | Operand 1 | Operand 2 | Operand 3 |
RM | ModRM:reg (w) | ModRM:r/m (r) | NA |
Compare the address in the second operand with the lower bound in bnd. The second operand can be either a register or memory operand. If the address is lower than the lower bound in bnd.LB, it will set BNDSTATUS to 01H and signal a #BR exception.
This instruction does not cause any memory access, and does not read or write any flags.
IF reg < BND.LB Then
BNDSTATUS ← 01H;
#BR;
FI;
TEMP ← LEA(mem);
IF TEMP < BND.LB Then
BNDSTATUS ← 01H;
#BR;
FI;
BNDCL void _bnd_chk_ptr_lbounds(const void *q)
None
#BR If lower bound check fails.
#UD If the LOCK prefix is used. If ModRM.r/m encodes BND4-BND7 when Intel MPX is enabled. If 67H prefix is not used and CS.D=0. If 67H prefix is used and CS.D=1.
#BR If lower bound check fails.
#UD If the LOCK prefix is used. If ModRM.r/m encodes BND4-BND7 when Intel MPX is enabled. If 16-bit addressing is used.
#BR If lower bound check fails.
#UD If the LOCK prefix is used. If ModRM.r/m encodes BND4-BND7 when Intel MPX is enabled. If 16-bit addressing is used.
Same exceptions as in protected mode.
#UD If ModRM.r/m and REX encodes BND4-BND15 when Intel MPX is enabled. Same exceptions as in protected mode.
Source: Intel® Architecture Software Developer's Manual (May 2018)
Generated: 5-6-2018