Otevřít hlavní menu

Změny

BOUND - Konroluj index pole vzhledem k jeho hranicím

Přidáno 1 405 bajtů, 4. 11. 2012, 01:29
Vytvorená stránka „;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, ž...“
;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]]