Přidáno 1 405 bajtů,
4. 11. 2012, 00:29 ;Instrukce
: BOUND - Konroluj index pole vzhledem k jeho hranicím
;Časování
: 13 (80286), 10 (80386)
;Popis
: Operace BOUND je používaná k zajištění toho, že index pole je v mezích definovaných dvouslovním blokem v paměti. První operand (registr) musí být větší nebo roven prvnímu slovu v paměti, a menší než nebo roven druhému slovu v paměti. Nejsou-li tyto podmínky splneny, generuje se INT 5.
;Syntaxe
: BOUND destination, source
;Ovlivňuje příznaky
: žádne
;Nedefinované příznaky
: žádne
;Výjimky v reálnem módu
: Jestliže test na hranice pole neuspeje (t.j. index prvku pole leží mimo meze pole), je generováno přerušení INT 5. Je-li daný operand na offsetu 0FFFDH či vyšším, je generováno přerušení INT 13. Je-li druhý operand registr, je generováno přerušení INT 6.
;Výjimky v privilegovaném módu
: Jestliže test na hranice pole neuspeje, je generováno přerušení INT 5. Pro neplatnou efektívni adresu operandu v registrech CS, DS a ES je generována všeobecná výjimka privilegovaného módu. Při neplatné adrese v SS je generována výjimka "[[chyba zásobniku]]".
;Poznámka pro 80386
: Šírka slova je 32 bitů.
;Příklad:
BOUND AX,MEM_WRD
BOUND EBX,NEW_WORD ; (jen pro 80386)
[[Category:Assembler]]
[[Category:Instrukce mikroprocesoru 80386]]