BOUND - Konroluj index pole vzhledem k jeho hranicím
Skočit na navigaci
Skočit na vyhledávání
- 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)