Пример: Глобальная сеть INTERNET
Я ищу:
На главную  |  Добавить в избранное  

Главная/

Радиоэлектроника, компьютеры и периферийные устройства. /

80386 процессор

←предыдущая следующая→
1 2 3 4 5 6 7 8 

32-разрядном двойном слове, 16-разрядном слове или 8-разрядном

байте. Все операции предполагают представление чисел в допол-

нительном коде. Знаковый бит расположен в бите 7 в байте, в

бите 15 в слове и в бите 31 в двойном слове. Он равен нулю для

положительных чисел и единице для отрицательных. Поскольку

этот старший бит используется как знаковый, то 8-разрядное

(байт) целое число может изменяться в диапазоне от -128 до

+127, 16-разрядное (слово) целое число в диапазоне от -32768

до +32767, а 32-разрядное (двойное слово) целое число в диапа-

зоне от -2Е31 до +2Е31-1. Нулевое значение имеет положительный

знак.

Обычный тип - беззнаковое двоичное значение, содержащееся

- 4 -

в 32-разрядном двойном слове, 16-разрядном слове или 8-разряд-

ном байте. Все биты определяют величину числа.

Строка - непрерывная последовательность байтов, слов или

двойных слов. Строка может содержать от 0 до 2Е32 -1 байтов

или 4 Гбайтов.

4. Регистры

Регистр является устройством временного хранения данных и

используется с целью облегчения арифметических, логических и

пересылочных операций. Регистры МП 80386 являются расширением

регистров прежних МП 8086, 80186, 80286. Все 16-разрядные ре-

гистры МП предыдущих поколений содержатся внутри 32-разрядной

архитектуры.

Микропроцессор 80386 включает шесть непосредственно

доступных программисту регистров селекторов сегментов, которые

содержат указатели сегментов. Значения этих селекторов могут

быть загружены при исполнении программы и являются специфичны-

ми для задачи. Это значит, что регистры сегментов перезагружа-

ются автоматически при переключении МП 80386 на другую задачу.

За регистрами селекторов сегментов стоят реальные регистры

кэш-памяти сегментов, которые содержат описания сегментов,

указываемых селектором. Это сделано на аппаратном уровне для

того, чтобы избежать дополнительной выборки из памяти в слу-

чае, когда требуется описание сегмента.

4.1. Регистры общего назначения

Восемь регистров общего назначения имеют длину в 32 бит и

содержат адреса или данные. Они поддерживают операнды-данные

длиной 1, 8, 16, 32 и 64 бит; битовые поля от 1 до 32 бит:

операнды-адреса длиной 16 и 32 бит. Эти регистры называются

EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP.

Доступ к младшим 16 бит этих регистров выполняется неза-

висимо. Это делается в большинстве ассемблеров при использова-

нии 16-разрядных имен регистров: AX, BX, CX, DX, SI, DI, BP,

SP.

4.2. Регистр системных флагов

Регистр EFLAGS управляет вводом-выводом, маскируемыми

прерываниями, отладкой, переключением задач и включением

- 5 -

исполнения в режиме виртуального МП 8086 в защищенной многоза-

дачной среде - все это в дополнение к флагам состояния, кото-

рые отражают результат исполнения команды. Младшие 16 бит его

представляют собой 16-разрядный регистр флагов и состояния МП

80286, называемый FLAGS, который наиболее полезен при исполне-

нии программ для МП 8086 и 80286.

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

Шесть 16-разрядных регистров содержат значения селекторов

сегментов, которые указывают на текущие адресуемые сегменты

памяти. Ниже перечислены эти регистры.

Регистр сегмента программы (CS) - указывает на сегмент,

который содержит текущую последовательность исполняемых ко-

манд. Процессор выбирает все команды из этого сегмента,

используя содержимое счетчика команд как относительный адрес.

Содержимое CS изменяется в результате выполнения внутрисег-

ментных команд управления потоком, прерываний и исключений. Он

не может быть загружен явным способом.

Регистр сегмента стека (SS). Вызовы подпрограмм, записи

параметров и активизация процедур обычно требуют области памя-

ти, резервируемой под стек. Все операции со стеком используют

регистр SS при обращении к стеку. В отличие от регистра CS ре-

гистр SS может быть загружен явно с помощью команды программы.

Остальные четыре регистра являются регистрами сегментов

данных (DS, ES, FS, GS), каждый из которых адресуется текущей

исполняемой программой. Доступ к четырем раздельным областям

данных имеет целью повысить эффективность программ, позволяя

им обращаться к различным типам структур данных. Содержимое

этих регистров может быть заменено под управлением программы.

При использовании регистров сегментов МП 80386 с каждым

выбранным сегментом связывает базовый адрес. При адресации

единицы данных внутри сегмента к базовому адресу сегмента до-

бавляется 32-разрядный относительный адрес. Если сегмент выб-

ран загрузкой селектора сегмента в регистр сегмента, то коман-

дам манипуляции данными нужен только этот относительный адрес.

4.3. Регистры управления сегментированной памятью

Регистр таблицы глобальных дескрипторов (GDTR). Содержит

32-разрядный линейный адрес и 16-разрядную границу таблицы

глобальных дескрипторов.

- 6 -

Регистр таблицы локальных дескрипторов (LDTR). Содержит

16-разрядный селектор для таблицы локальных дескрипторов. Так

как эта таблица является специфичным для задачи сегментом, то

она определяется значением селектора, хранимым в регистрах

системного сегмента. Регистр дескриптора сегмента, связанный с

этой таблицей, програмно недоступен.

Регистр таблицы дескрипторов прерываний (IDTR). Указывает

на таблицу точек входа в программы обработки прерываний. Ре-

гистр содержит 32-разрядный линейный базовый адрес и 16-раз-

рядную границу таблицы дескрипторов прерываний (IDT).

Регистр задачи (TR). Указывает на информацию, необходимую

процессору для определения текущей задачи. Регистр TR содержит

16-разрядный селектор дескриптора сегмента состояния задачи.

Поскольку этот сегмент специфичен для задачи, то он определя-

ется значениями селекторов, хранящихся в регистрах системного

сегмента. Заметим, что с каждым регистром системных сегментов

связан программно недоступный регистр дескриптора сегмента.

4.5. Указатель команд

Расширенный указатель команд (EIP) является 32-разрядным

регистром. Он содержит относительный адрес следующей команды,

подлежащей выполнению. Относительный адрес отсчитывается от

начала сегмента текущей программы. Указатель команд не-

посредственно не доступен программисту, но он управляется явно

командами управления потоком, прерываниями и исключениями.

Младшие 16 бит регистра EIP называются IP и могут быть

использованы процессором независимо. Это свойство полезно при

исполнении команд МП 8086 и 80286, которые имеют только ре-

гистр IP.

4.6. Регистры управления

МП 80386 имеет три 32-разрядных регистра управления (CR0,

CR2 и CR3, а CR1 зарезервирован фирмой Intel), в которых хра-

нятся состояния машины или глобальные состояния. Глобальное

состояние - это такое состояние, к которому может получить

доступ любой

←предыдущая следующая→
1 2 3 4 5 6 7 8 


Copyright © 2005—2007 «RefStore.Ru»