Переключение между реальным и защищенным режимами

Переключение процессора в защищенный режим из реального осуществляется загрузкой в системный регистр CR0 слова с единичным значением бита РЕ (Protect Enable). До переключения в памяти должны быть проинициализированы необходимые таблицы дескрипторов IDT и GDT. Переключение процессора из защищенного режима в реальный возможно не только через аппаратный сброс, как это было у 80286, но и с помощью сброса бита РЕ в CR0. До этого переключения также необходимо загрузить в сегментные регистры селекторы дескрипторов, описывающие свойства сегментов стандартного реального режима. Однако вместо этого можно создать и «нереальный» режим типа Big Real Mode, отличающийся от реального возможностью доступа к сегментам большого (до 4 Гбайт) размера. Правда, у процессоров 80286 и 80386 лимит кодового сегмента принудительно ограничивается размером 64 Кбайт, но у более новых процессоров большой размер допустим для всех сегментов. «Нереальный режим» часто используется менеджерами памяти для DOS и игровыми программами, требующими большого объема памяти.
загрузка...