Assembly Language Help (alang.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
BOUND Instruction
 Detail Key                               Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
  Title:    Check Array Bounds                    Flags: O D I T S Z A P C
            80186-80486 Only                             ═════════════════
                                                              -none-
  Syntax:   BOUND dest,src
 
  See also: Int 05h, IRET, .186
 
  Description:
 
     Verifies that a signed index value is within the bounds of an
     array. The destination operand can be any 16-bit register
     containing the index to be checked. The source operand must then
     be a 32-bit memory operand in which the low and high words contain
     the starting and ending values, respectively, of the array.
 
     On the 80386/486 processors, the destination operand can be a
     32-bit register; in this case, the source operand must be a 64-bit
     operand made up of 32-bit bounds.
 
     If the source operand is less than the first bound or greater than
     the last bound, an interrupt 05h is generated. The instruction
     pointer pushed by the interrupt (and returned by IRET) points to
     the BOUND instruction rather than to the next instruction.
                                    -♦-