IBTS - vlož bity do registru nebo paměťové lokace

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání
Instrukce
IBTS - vlož bity do registru nebo paměťové lokace
Časování
2-4
Popis
Instrukce IBTS vkláda nižší bity registru do jiného registru nebo paměťové lokace bez porušení sousedicích bitů. IBTS má 4 operandy:
  • bázová adresa bitového řetezce
  • bitový offset začátku podřetězce který má být uložen
  • jeho délku
  • registr jenž má obdržet vkládanou hodnotu


Bázová adresa může být registrem nebo adresou v paměti. Offset je uložený v registru EAX (v AX pri 16-tibitových operandech). Délka pole je daná registrem CL a poslední operand instrukce specifikuje všeobecný registr který má obdržet hodnotu.


Syntaxe
IBTS base, offset, length, source
IBTS reg/mem, (E)AX, CL, reg


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


Nedefinované příznaky
CF


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


Výjimky v reálnem módu
Všeobecná výjimka přivilegovaného módu je generovaná v případe že operand nemůže být použit kvůli umístění mimo limit segmentu (offset 0FFFFH).


Příklad
IBTS BX, AX, CL, DX