SGDT/SIDT - uschovej registr GDT/IDT do paměti

Z Delphi & Pascal (česká wiki)
Verze z 18. 1. 2013, 16:09, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky)
(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
SGDT/SIDT - uschovej registr GDT/IDT do paměti
Časování
11 (80286), 9 (80386)
Popis
Instrukce SGDT i SIDT zavádí obsah registru tabulky deskriptorů do šesti paměťových bytů na než ukazuje cílový operand. Pole LIMIT tohoto registru je umístěno v prvním slove další tři byte jsou naplněny polem BASE a poslední ze šestice bytů je nedefinován.


Syntaxe
SGDT destination
SIDT destination


Ovlivňuje příznaky
žádné


Nedefinované příznaky
žádné


Výjimky v privilegovaném módu
Je-li cílový operand registrem je generována výjimka "nedefinovaný operační kód". Jestliže registry CS, DS nebo ES obsahují neplatné efektívní adresy operandu je generována všeobecná výjimka porušení ochrany paměti. Jestliže SS obsahuje neplatnou adresu je generována výjimka "chyba zásobníku".


Výjimky v reálnem módu
Je-li cílový operand registrem je generována výjimka "nedefinovaný operační kód". Jestliže je slovní operand na offsetu 0FFFFH je generováno přerušení INT 13.


Příklad
SGDT MEMORY_WORD
SIDT MEMORY_WORD