XBTS - extrahuj bitový řetezec

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání
Instrukce
XBTS - extrahuj bitový řetezec
Časování
6-13
Popis
Instrukce XBTS extrahuje bitový řetezec a tento řetezec je uložen zarovnaný doprava a rozšírený (t.j. s horními bity nastavenými do nuly) ve specifikovaném registru. Instrukce XBTS má 4 operandy
  • bázovou adresu bitového řetezce
  • bitový offset začátku podřetezce
  • jenž má být extrahován
  • délku extrahovaného podřetezce
  • registr kam má být extrahovaný podřetezec umísten
Bázová adresa může být umístena v registru nebo v paměťovém operandu. Offset je uložen v registru EAX (resp. AX u 16-bitových operandu). Délka pole je daná hodnotou registru CL. Poslední pole instrukce specifikuje všeobecný registr který obsahuje extrahovanou hodnotu.


Syntaxe
XBTS dest, base, offset, length
XBTS reg, reg/mem, (E)AX, CL


Ovlivňuje příznaky
OF, SF, AF, ZF, PF


Nedefinované příznaky
CF


Výjimky v privilegovaném módu
Jestliže operand nemůže být použit v instrukci kvůli porušení limitu segmentu nebo porušení přístupových práv pak je generovaná výjimka INT 13.


Výjimky v reálnem módu
Jestliže operand leží mimo limit segmentu (0FFFFH) je generovaná všeobecná výjimka porušení ochrany paměti.


Příklad
XBTS AX, BX, AX, CL