LAR - zaveď byte přístupových oprávnení (access rights)

Z Delphi & Pascal (česká wiki)
Verze z 7. 12. 2012, 18:10, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (1 revízia: Assembler pismeno L)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání
Instrukce
LAR - zaveď byte přístupových oprávnení (access rights)
Časování
14-16 (80286), 15-16(80386)
Popis
Druhý operand instrukce LAR obsahuje selektor. Jestliže je příslušný deskriptor na aktuální privilegované úrovni viditelný a selektor je RPL, je byte přístupových oprávnení (access rights byte) zaveden do horního byte prvního (registrového) operandu instrukce LAR a nižší byte je nastaven na 0. Bylo-li zavedení dokončeno, má ZF hodnotu 1; jinak je nulován.


Syntaxe
LAR access_rights_byte, selector


Ovlivňuje příznaky
ZF


Nedefinované příznaky
žádné


Výjimky v privilegovaném módu
Jestliže registry CS, DS nebo ES obsahují neplatné efektívni adresy operandu, je generována všeobecná výjimka ochrany pameti. Jestliže SS obsahuje neplatnou adresu, je generována výjimka chyba zásobniku.


Výjimky v reálnem módu
Je generováno přerušení INT 6. V reálnem módu není instrukce LAR rozpoznána.


Příklad
LAR ARB, SELECTR