Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
V_ostavsheysya_chasti_etoy_glavy_opisyvaetsya_organizatsia_pamyati_i_adresnogo_prostranstva.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
44.3 Кб
Скачать

3.4.3.3 Системные флаги и поле iopl

 Системные флаги и поле IOPL в операционной системе регистрации регистров EFLAGS или исполнительных операциях. Они не должны модифицироваться прикладными программами. Функции системных флагов следующие:

 TF (бит 8) Флаг ловушки - установить для включения одношагового режима для отладки; чтобы отключить одношаговый режим.

 IF (бит 9) Флаг включения прерывания - управляет ответом процессора на маскируемые запросы прерываний. Установите для ответа на маскируемые прерывания; очищается для блокировки маскируемых прерываний.

IOPL (бит 12 и 13) Поле уровня привилегий ввода-вывода - указывает уровень привилегий ввода-вывода для текущей программы или задачи. Текущий уровень привилегий (CPL) текущей выполняемой программы или задачи должен быть меньше или равен уровню привилегий ввода-вывода для доступа к адресному пространству ввода-вывода. Инструкции POPF и IRET могут изменять это поле только при работе с CPL 0.

NT (бит 14) Вложенный флаг задачи - управляет цепочкой прерываний и вызываемых задач. Установить, когда текущая задача связана с ранее выполненной задачей; очищается, когда текущая задача не связана с другой задачей.

RF (бит 16) Возобновить флаг - управляет ответом процессора на исключения отладки. VM (бит 17) Флаг режима Virtual-8086 - включить режим виртуального 8086; чтобы вернуться в защищенный режим без семантики режима виртуального 8086.

AC (бит 18). Флаг проверки выравнивания (или контроля доступа). Если бит AM установлен в регистре CR0, проверка выравнивания доступа к данным в режиме пользователя разрешена тогда и только тогда, когда этот флаг равен 1. Если бит SMAP установлен в регистре CR4 допускаются явные режимы доступа к данным на страницах пользовательского режима, если и только если этот бит равен 1. См. раздел 4.6 «Права доступа» в Руководстве разработчика программного обеспечения Intel® 64 и IA-32, Том 3А.

VIF (бит 19). Виртуальный флаг прерывания - виртуальное изображение флага IF. Используется вместе с флагом VIP. (Чтобы использовать этот флаг и флаг VIP, расширения виртуального режима активируются установкой флага VME в управляющий регистр CR4.)

VIP (бит 20) Флаг ожидающего ожидания виртуального прерывания - установить, чтобы указать, что прерывание ожидает; очистить, когда прерывание не ожидается. (Программное обеспечение устанавливает и очищает этот флаг, процессор читает его только.) Используется вместе с флагом VIF.

ID (бит 21). Идентификационный флаг. Способность программы устанавливать или очищать этот флаг означает поддержку инструкции CPUID.

3.7.2 Операнды регистров

 Исходными и целевыми операндами могут быть любые из следующих регистров, в зависимости от выполняемой команды:

• 32-разрядные регистры общего назначения (EAX, EBX, ECX, EDX, ESI, EDI, ESP или EBP)

 • 16-разрядные регистры общего назначения (AX, BX, CX, DX, SI, DI, SP или BP)

• 8-битные регистры общего назначения (AH, BH, CH, DH, AL, BL, CL или DL)

• регистры сегментов (CS, DS, SS, ES, FS и GS)

• Регистр EFLAGS

 • регистры FQU x87 (ST0 - ST7, слово состояния, управляющее слово, слово тега, указатель операнда данных и указатель команд)

• Регистры MMX (от MM0 до MM7)

 • Регистры XMM (от XMM0 до XMM7) и регистр MXCSR

 • регистры управления (CR0, CR2, CR3 и CR4) и регистры указателей системной таблицы (GDTR, LDTR, IDTR и регистр задач)

• регистры отладки (DR0, DR1, DR2, DR3, DR6 и DR7)

• Регистры MSR

В некоторых инструкциях (например, в инструкциях DIV и MUL) используются операнды quadword, содержащиеся в паре 32-разрядных регистров. Регистровые пары представлены двоеточием, разделяющим их. Например, в паре регистров EDX: EAX, EDX содержит биты высокого порядка, а EAX содержит младшие биты четверного операнда.

Для загрузки и хранения содержимого регистра EFLAGS предусмотрено несколько инструкций (например, инструкции PUSHFD и POPFD) или для установки или очистки отдельных флагов в этом регистре. Другие инструкции (например, инструкции Jcc) используют состояние флагов состояния в регистре EFLAGS в качестве кодов условий для ветвления или других операций принятия решений.

Процессор содержит набор системных регистров, которые используются для управления памятью, обработки прерываний и исключений, управления задачами, управления процессорами и отладочных действий. Некоторые из этих системных регистров доступны с помощью прикладной программы, операционной системы или исполнительной власти с помощью набора системных инструкций. При обращении к системному регистру с системной инструкцией регистр обычно является подразумеваемым операндом команды.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]