Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛК_МашЗавЯП_А4.doc
Скачиваний:
157
Добавлен:
10.06.2015
Размер:
19.94 Mб
Скачать
    1. Целочисленныйпроцессор

При работе в защищенном режиме процессоры семейства lA-32 могут адресовать до 4 Гбайт оперативной памяти. Такой диапазон адресов определяется разрядностью внутренних регистров процессора. Поскольку регистры 32-разрядные, в них могут храниться значения от 0 до 232-1.

Регистрами называют участки высокоскоростной памяти, расположенные внутри ЦП и предназначенные для оперативного хранения данных и быстрого доступа к ним со стороны внутренних компонентов процессора. Например, при выполнении оптимизации циклов программы по скорости, переменные, к которым выполняется доступ внутри цикла, располагают в регистрах процессора, а не в памяти.

Структура основных программных регистров (Program execution registers) процессора семейства IA-32 и их названия, определенные специалистами фирмы Intel.

Существуют:

  • 8 регистров общего назначения,

  • регистр состояния процессора (или регистр флагов EFLAGS),

  • регистр указателя команд (EIP).

  • 6 сегментных регистров,

  • Управляющие регистры

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

Регистры EAX, EBX, ECX, EDX называют рабочими регистрами. Так как эти регистры физически находятся в микропроцессоре внутри арифметико-логического устройства (АЛУ), то их еще называют регистрами АЛУ:

  • eax/ax/ah/al (Accumulator register)— аккумулятор.Применяется для хранения промежуточных данных. В некоторых командах использование этого регистра обязательно.

  • ebx/bx/bh/bl (Base register)— базовый регистр.Применяется для хранения базового адреса некоторого объекта в памяти.

  • ecx/cx/ch/cl (Count register) — регистр-счетчик. Применяется в командах, производящих некоторые повторяющиеся действия. Его использование зачастую неявно и скрыто в алгоритме работы соответствующей команды. К примеру, команда организации цикла loop кроме передачи управления команде, находящейся по некоторому адресу, анализирует и уменьшает на единицу значение регистра ecx/cx;

  • edx/dx/dh/dl (Data register)— регистр данных.Так же, как и регистр eax/ax/ah/al, он хранит промежуточные данные. В некоторых командах его использование обязательно; для некоторых команд это происходит неявно.

РОНы используются в основном для выполнения арифметических операций и пересылки данных. Как показано на рисунке, к каждому РОНу можно обратиться как к 32-разрядному или как к 16-разрядному регистру.

К некоторым 16-разрядным регистрам можно обращаться как к двум 8-разрядным регистрам. Например, регистр EAXявляется 32-разрядным, однако его младшие 16-разрядов находятся в регистре АХ. Старшие 8-разрядов регистра АХ находятся в регистре АН, а младшие 8-разрядов — в регистреAL.

В таблицах показаны особенности обращения к другим регистрам общего назначения, которые мы условно назвали основными и дополнительными

Особенности использования регистров. При выполнении команд процессором часть регистров общего назначения имеют особое значение.

  • Содержимое регистра ЕАХ автоматически используется при выполнении команд умножения и деления. Поскольку этот регистр обычно связан с выполнением арифметических команд, его часто называют расширенным регистром аккумулятора (extended accumulator).

  • Регистр ЕСХ автоматически используется процессором в качестве счетчика цикла.

Регистры EDI, ESI - индексные регистры, используются для поддержки так называемых цепочечных операций, то есть операций, производящих последовательную обработку цепочек элементов, каждый из которых может иметь длину 32, 16 или 8 бит:

  • esi/si (Source Index register)— индекс источника.Этот регистр в цепочечных операциях содержит текущий адрес элемента в цепочке-источнике;

  • edi/di (Destination Index register)— индекс приемника (получателя).Этот регистр в цепочечных операциях содержит текущий адрес в цепочке-приемнике.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]