Otevřít hlavní menu

Změny

IRET - návrat z přerušení

Přidány 2 bajty, 9. 11. 2012, 23:34
bez shrnutí editace
: V reálném adresním módu instrukce [[IRET]] vyzvedáva ze zásobníku [[IP]] ([[EIP]]), [[CS]] a [[FLAGS]] a ukončuje kód programu přerušení. V PM instrukce [[IRET]] závisí na nastavení příznaku [[NT]] (Nested Task flag):
:* [[NT]] = 1. Instrukce "obrací" efekt [[CALL]] nebo [[INT]], které vyvolaly přepnutí úloh. Kód provádejíci instrukci [[IRET]] má svůj stav uchován ve svém registru stavu ulohy (TS). Znamená to, že při opetovné aktivaci úlohy bude provedena jako první instrukce nasledujíci instrukcí [[IRET]].
:* [[NT]] = 0. Instrukce [[IRET]] vrací řízení z přerušovacího podprogramu, aniž se vyskytlo přepnutí úloh. Privilegovaná úroveň kódu, do nehož se řízení z přerušovacího podprogramu navrací, musí být stejná nebo menší než privilegovaná úroveň přerušovacího podprogramu.