LGDT/LIDT - zaveď registr tabulky globálních deskriptorů, zaveď registr tabulky deskriptorů přerušení: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
m (1 revízia: Assembler) |
m (1 revízia: Assembler pismeno L,M) |
(Žádný rozdíl)
|
Aktuální verze z 4. 1. 2013, 18:02
- Instrukce
- LGDT/LIDT - zaveď registr tabulky globálních deskriptorů, zaveď registr tabulky deskriptorů přerušení
- Časování
- 11-12
- Popis
- Instrukce LGDT nebo LIDT zavádi 6 byte paměti referované efektívni adresou operandu do tabulky globálních deskriptorů nebo do tabulky deskriptorů přerušení. Pole LIMIT registru tabulky deskriptoru je zaváděno z prvního slova. Další tři byte jsou zavedeny do pole BASE uvedeného registru a poslední byte je ignorován. Tyto instrukce jsou určeny pro systémové software (OS) a v aplikačních programech nejsou používany.
- Syntaxe
- LGDT memory_operand
- Ovlivňuje příznaky
- žádné
- Nedefinované příznaky
- žádné
- Výjimky v privilegovaném módu
- V případe, že aktuálni privilegovaná úroveň není nulová, je generována všeobecná výjimka privilegovaného módu. Jestliže obsahuje registr SS neplatnou adresu, je generována výjimka chyba zásobníku. Jestliže je zdrojový operand registrem, je generována výjimka nedefinovaný operační kód. Jestliže registry CS, DS nebo ES obsahují neplatnou efektívni adresu operandu, je generována všeobecná výjimka přivilegovaného módu.
- Výjimky v reálnem módu
- Jestliže leží operand na offsetu OFFFFH, je generováno přerušení INT 13.
- Příklad
LGDT MEM_WRD LIDT MEM_WRD