Таненбаум Э.- Архитектура компьютера. стр.543

В других регистрах содержатся данные или указатели на данные, размещенные в основной памяти. Ассемблерные программы обращаются к этим регистрам напрямую. Помимо регистров, процессор содержит другое аппаратное обеспечение, необходимое для работы, но программисту эти компоненты доступны только посредством команд.

Цикл процессора

Работа процессора 8088 (равно как и всех других вычислительных машин) сводится к выполнению команд в определенной последовательности. Процесс выполнения отдельной команды делится на несколько этапов:

1. С помощью регистра РС команда выбирается из кодового сегмента памяти.

2. К текущему значению счетчика команд прибавляется единица.

3. Выбранная команда декодируется.

4. Все необходимые для выполнения команды данные выбираются из памяти и (или) регистров процессора.

5. Команда выполняется.

6. Результаты выполнения команды сохраняются в памяти и (или) регистрах.

7. Начинается процесс выполнения следующей команды (переход к шагу 1).

Выполнение команды похоже на выполнение очень маленькой программы. Более того, в некоторых машинах для выполнения команд действительно предусмотрена небольшая программа (так называемая микропрограмма). Микропрограммы в подробностях рассматриваются в главе 4.

С точки зрения программиста, пишущего на ассемблере, в процессоре 8088 предусмотрено 14 регистров. Эти регистры выполняют функцию сверхоперативной памяти, с которой работают многочисленные команды; результаты, сохраняемые в них, меняются с очень большой частотой. Все эти регистры изображены на рис. В.2. Совершенно очевидно сходство между этим рисунком и окном трассера, приведенным на рис. В.1.

Таненбаум Э.- Архитектура компьютера.

Рис. В.2. Регистры процессора 8088

Разрядность регистров процессора 8088 составляет 16 бит. Не существует ни одной пары полностью функционально идентичных регистров. В то же время некоторые из них близки по некоторым своим характеристикам, в связи с чем их подразделяют не несколько групп, что также отражено на рис. В.2. Эти группы мы сейчас и обсудим.

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

Регистры АХ, ВХ, СХ и DX входят в группу регистров общего назначения. Первый регистр в этой группе, АХ, называется регистром-сумматором. Он применяется для накапливания результатов вычислений и часто выступает в роли приемника результатов выполнения различных команд. Хотя каждый регистр способен решать множество разнообразных задач, результаты выполнения некоторых команд (в частности, команд умножения) отправляются в регистр АХ по умолчанию.

Второй регистр этой группы, ВХ, называется базовым регистром. По назначению он во многом аналогичен регистру АХ, но есть и одно существенное отличие. В ВХ можно записать адрес памяти, а затем выполнить команду, операнд которой располагается по этому адресу памяти. Другими словами, ВХ может содержать указатель на область памяти, а АХ — не может. Чтобы проиллюстрировать это утверждение, сравним две команды. Первая команда:

MOV АХ.ВХ

Эта команда копирует содержимое ВХ в АХ. Вторая команда:

M0V АХ,(ВХ)

Эта команда копирует в АХ содержимое слова памяти, адрес которого содержится в ВХ. В первом примере исходный операнд содержится в регистре ВХ; во втором примере фигурирует указатель на исходный операнд. В обоих примерах, как видите, для команды M0V заданы оба операнда: исходный (источник) и целевой (приемник). При этом целевой операнд указывается перед исходным.


⇐ Предыдущая страница| |Следующая страница ⇒