| MONITOR |
| Активира хардуерния монитор |
| Общи форми: |
MONITOR |
| Форма |
КОП |
CPUID |
I8086 |
I80386 |
I80486 |
| 16 |
32 |
64 |
Alt |
B/ME |
I8086 |
I80386 |
I80486 |
| MONITOR |
0F 01 C8 |
0F 01 C8 |
0F 01 C8 |
48 DA |
|
|
|
|
|
| Действие: |
Активира мониторния хардуер с линейния адрес, зададен чрез DS:EAX (друг сегмент може да се укаже чрез префикс за замяна на сегмент). Запис в указаната област сигнализира мониторния хардуер. Този сигнал се използва от инструкция MWAIT.
Регистър ECX задава разширения за MONITOR. До момента не са дефинирани никакви разширения и ECX трябва да се зададе като 0; в противен случай се генерира #GP(0).
Регистър EDX задава допълнителни инструкции за MONITOR. До момента не са дефинирани никакви инструкции и стойността на EDX се игнорира.
Паметта, обхваната от зададената област, трябва да бъде с едновременен запис (в противен случай не се гарантира правилното сигнализиране на запис).
Размерът на областта, наблюдавана от MONITOR се получава от CPUID(5)
|
| Флагове |
| 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.
|
| Изключения |
| Реален режим |
| #GP |
Ако зададената за мониториране област излиза извън границите на сегмента |
| #GP |
Ако ECX ≠ 0 |
| #UD |
Ако са използвани префикси LOCK, REP, REPNE, 66 или 67. |
| Защитен режим |
| #GP(0) |
Ако зададената за мониториране област излиза извън границите на сегмента за DS, ES, CS, FS, GS |
| #SS(0) |
Ако зададената за мониториране област излиза извън границите на сегмента за SS |
| #GP(0) |
Ако ECX ≠ 0 |
| #PF(…) |
Страничен провал |
| #UD |
Ако са използвани префикси LOCK, REP, REPNE, 66 или 67. |
| Режим V86 |
| #GP(0) |
Ако зададената за мониториране област излиза извън границите на сегмента за DS, ES, CS, FS, GS |
| #SS(0) |
Ако зададената за мониториране област излиза извън границите на сегмента за SS |
| #GP(0) |
Ако ECX ≠ 0 |
| #PF(…) |
Страничен провал |
| #UD |
Ако са използвани префикси LOCK, REP, REPNE, 66 или 67. |
|