| SYSEXIT |
| Бързо връщане към приложен код |
| Общи форми: |
SYSEXIT |
| |
| Форма |
КОП |
|
I8086 |
I80386 |
I80486 |
| SYSEXIT |
0F 35 |
|
|
|
|
|
| Действие: |
CS ← IA32_SYSEXIT_CS + 10h
CS.Base ← 00000000h
CS.Limit ← FFFFFh
CS.xAR ← 1100b (* лимит в страници, 32-битов код *)
CS.AR ← 11111011b (* код,четим,несъвместим,присъстващ,PL=3 *)
CS.RPL ← 0
SS ← IA32_SYSEXIT_CS + 18h
SS.Base ← 00000000h
SS.Limit ← FFFFFh
SS.xAR ← 1100b (* лимит в страници, 32-битов стек *)
SS.AR ← 11110011b (* данни, записваем, присъстващ, PL=0 *)
SS.RPL ← 0
EIP ← EDX
ESP ← ECX
|
|
Инструкцията изпълнява преход към код на ниво на привилегированост 3. Използват се единствено данни, предварително зададени в моделно-специфични универсални регистри без запазване на информация за адрес на връщане и без проверки за коректност на данните. Затова изпълнението на инструкцията е свръхбързо.
|
| Флагове |
| PE |
VM |
NT |
IOPL |
OF |
DF |
IF |
TF |
SF |
ZF |
AF |
PF |
CF |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| CPU |
| 8086 |
186 |
V20 |
286 |
386 |
486 |
P |
P-P |
P-II |
MMX |
SSE |
3D! |
E64 |
| |
|
|
|
|
|
|
|
• |
|
|
|
• |
Инструкцията се изпълнява, ако CPUID(1) връща:
(ECX{3} = 1) AND ((EAX{8..11} ≥ 6) OR (EAX{4..7} ≥ 3) OR (EAX{0..3} ≥ 3))
|
| Изключения |
| Реален и V86 режими |
| #GP |
|
| Защитен режим |
| #GP(0) |
CPL > 0 |
| #GP(0) |
IA32_SYSEXIT_CS = 0 |
|