XLAT - převod podle převodní tabulky: Porovnání verzí

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání
m (1 revízia: Assembler pismeno T-X)
Řádek 39: Řádek 39:
  
  
Poznámka
+
ů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.
 
: 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:Assembler]]
 
[[Category:Instrukce mikroprocesoru 80386]]
 
[[Category:Instrukce mikroprocesoru 80386]]

Verze z 21. 1. 2013, 18:41

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.