Přidáno 1 492 bajtů,
21. 1. 2013, 17:13 ;Instrukce
: XLAT - převod podle převodní tabulky
;Časování
: 5
;Popis
: Instrukce [[XLAT]] provádí translaci byte v [[AL]] pomoci převodní tabulky (lookup table). Ukazatel na 256 bytovou převodní tabulku je zaveden do [[BX]]. Byte který má být převeden je umístěn v [[AL]] slouží jako index do převodní tabulky. Po provedení instrukce [[XLAT]] je byte v [[AL]] nahrazen bytem který odpovídá bytu vzdálenému [[AL]]-bytu od začátku převodní tabulky.
;Syntaxe
: XLAT translation_table
;Ovlivňuje příznaky
: žádné
;Nedefinované příznaky
: žádné
;Výjimky v privilegovaném módu
: Jestliže registry [[CS]], [[DS]] nebo [[ES]] obsahují neplatné efektivní adresy operandu je generovaná všeobecná výjimka porušení ochrany paměti. Jestliže [[SS]] obsahuje neplatnou adresu je generovaná výjimka "[[chyba zásobníku]]".
;Výjimky v reálnem módu
: Jestliže je slovní operand umístěn na offsetu 0FFFFH je generováno přerušení [[INT 13]].
;Poznámka pro 80386
: Šírka slova je 32 bitů.
;Příklad
LEA BX, MYTABLE ; umisteni tabulky
MOV AL, INDEX ; offset do tabulky
XLAT MYTABLE ; hodnota z tabulky vracena v AL
Poznámka
: Delka translacni tabulky muze byt i mensi nez 256 bytu. Operand translation_table je nepovinny, protoze registr BX musi byt pred provedenim instrukce XLAT stejne naplnen ukazatelem na tabulku.
[[Category:Assembler]]
[[Category:Instrukce mikroprocesoru 80386]]