6 регистров – ссылаются на дескрипторы сегментов памяти:
· CS – дескриптор кодового сегмента
· SS – дескриптор сегмента стека
· DS, ES, FS, GS – дескрипторы сегментов данных
Все они, кроме первого, доступны программно (туда можно загрузить новое значение с помощью команды);
Каждый сегмент хранит в себе СЕЛЕКТОР – 16-разрядное число.
Структура селектора:
12 разрядов | 1 разряд | 3 разряда |
Индекс в таблице дескрипторов сегментов | Показывает, где находится дескриптор: - в GDT - в LDT | Поле RPL – уровень привилегий запроса к этому сегменту |
3. Указатель инструкций EIP – содержит смещение адреса текущей инструкции.
EIP + CS(из регистров сегментов) = виртуальный адрес инструкции.
4. Регистр флагов (EFLAGS) – содержит признаки, характеризующие результат выполнения операции:
- флаг знака
- флаг нуля
- флаг переполнения
- флаг паритета
- флаг переноса и тд
- флаг разрешения аппаратных прерываний (разрешение аппаратных прерываний IF)
5. Управляющие регистры:
5 управляющих регистров: CR0, CR1, CR2, CR3, CR4 – хранят данные об общем состоянии процессора.
CR0 – все основные признаки:
- реальный / защищенный режим
- вкл / выкл страничного механизма
- признаки, влияющие на работу кэша и выполнение команд с плавающей точкой