Регистры сегментов

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 – все основные признаки:

- реальный / защищенный режим

- вкл / выкл страничного механизма

- признаки, влияющие на работу кэша и выполнение команд с плавающей точкой


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: