Системное программное обеспечение. Особенности программирования 32-разрядных процессоров. Рощин А.В. - 48 стр.

UptoLike

Составители: 

48
памяти), а в поле DPL нужно установить максимальный уровень привилегий
(значение 00). Бит расширения вниз ED для сегментов данных имеет значение
0 (в отличие от стековых сегментов, для которых ED=1). Бит разрешения
записи W следует установить в единицу, чтобы можно было не только
считывать, но и записывать информацию в сегмент. Бит А фиксирует
обращение к сегменту и автоматически устанавливается в единицу всякий раз,
когда процессор производит операции считывания или записи с сегментом,
описываемым данным дескриптором. При инициализации регистра бит А
можно сбросить в 0.
Рисунок 2.4 – Формат управляющего регистра CR0
Осуществить загрузку теневых регистров можно только в защищенном
режиме. Для переключения режимов работы процессора используется
регистр управления CR0, формат которого показан на рисунке 2.4 [7]. Регистр
CR0 содержит флаги, отражающие состояние процессора и управляющие
режимами его работы. Назначение флагов следующее.
РЕ (Protection Enable) —разрешение защиты Установка этого флага
инструкцией LMSW или LOAD CR0 переводит процессор в
защищенный режим. Сброс флага (возврат в реальный режим)
возможет только по инструкции LOAD CR0. Сброс бита РЕ
является частью довольно длинной последовательности
инструкций, подготавливающих корректное переключение в
реальный режим.
МР (Monitor Processor Extension) — мониторинг математического
сопроцессора. Позволяет вызывать исключение #NM по каждой
команде WAIT при TS=1. При выполнении программ для
памяти), а в поле DPL нужно установить максимальный уровень привилегий
(значение 00). Бит расширения вниз ED для сегментов данных имеет значение
0 (в отличие от стековых сегментов, для которых ED=1). Бит разрешения
записи W следует установить в единицу, чтобы можно было не только
считывать, но и записывать информацию в сегмент. Бит А фиксирует
обращение к сегменту и автоматически устанавливается в единицу всякий раз,
когда процессор производит операции считывания или записи с сегментом,
описываемым данным дескриптором. При инициализации регистра бит А
можно сбросить в 0.




               Рисунок 2.4 – Формат управляющего регистра CR0

     Осуществить загрузку теневых регистров можно только в защищенном
режиме. Для переключения режимов работы процессора используется
регистр управления CR0, формат которого показан на рисунке 2.4 [7]. Регистр
CR0 содержит флаги, отражающие состояние процессора и управляющие
режимами его работы. Назначение флагов следующее.
      − РЕ (Protection Enable) —разрешение защиты Установка этого флага
        инструкцией LMSW или LOAD CR0 переводит процессор в
        защищенный режим. Сброс флага (возврат         в реальный режим)
        возможет только по инструкции LOAD CR0.             Сброс бита РЕ
        является      частью   довольно     длинной      последовательности
        инструкций,     подготавливающих    корректное    переключение    в
        реальный режим.
      − МР (Monitor Processor Extension) — мониторинг математического
        сопроцессора. Позволяет вызывать исключение #NM по каждой
        команде WAIT при TS=1. При выполнении программ для


                                       48