Změny

Skočit na navigaci Skočit na vyhledávání
Vytvorená stránka „;Instrukce : INT/INTO - generování přerušení - voláná přerušovací procedury ;Časování : 23-167 (80286), 33-287 (80386) ;Popis : Instrukce INT generuj...“
;Instrukce
: INT/INTO - generování přerušení - voláná přerušovací procedury

;Časování
: 23-167 (80286), 33-287 (80386)

;Popis
: Instrukce [[INT]] generuje volání přerušovací procedury pomocí softwareového přepínače. Bezprostrední operand instrukce, který obsahuje hodnotu mezi 0 až 255 včetne, udáva číslo přerušení, jež je indexem do tabulky deskriptorů přerušení (IDT - Interrupt Descriptor Table) přerušovací procedury. V privilegovaném módu sestava tabulka deskriptoru z osmibytových deskriptorů. Deskriptor pro vyvolání přerušení musí specifikovat místo přerušení (interrupt gate), místo pro výjimku (trap gate) a popřípade místo úlohy (task gate). V RM je tabulka deskriptoru polem 4-bytových ukazatelů alokována na fixní adrese 00000H. Instrukce [[INTO]] je identická instrukci [[INT]] s tou výjimkou, že číslo přerušení je implicitne 4. Toto přerušení je tedy aktivovatelné jen v případe, že příznak [[OF]] je nastaven. V RM instrukce [[INT]] ukláda do zásobníku příznaky a registr [[CS]] a návratový [[IP]] ([[EIP]]) (v uvedeném poradí). Užíva přitom ukazatele, který je indexován číslem přerušení.


;Syntaxe
: INT interrupt_type
: INTO (žádné operandy)


;Ovlivňuje příznaky
: Při přepnutí úlohy (task switching) jsou ovlivneny všechny příznaky; jinak instrukce INT/INTO neovlivňují žádné příznaky.


;Nedefinované příznaky
: žádné


;Výjimky v privilegovaném módu
: Mohou byt generovýny výjimky porušení ochrany paměti, výjimka "deskriptor nenalezen", výjimka "[[chyba zásobniku]]", výjimka "neplatný stavový segment úlohy".


;Poznámka pro 80386
: Šírka operandu nemá žádný význam. Hodnoty registru EIP, ESP a FLAGS jsou zavadeny z místa přerušení (gate).


;Příklad:
INT 21H
INTO

[[Category:Assembler]]
[[Category:Instrukce mikroprocesoru 80386]]

Navigační menu