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




К этой группе относятся следующие 8 регистров:

  • АХ accumulator, аккумулятор;
  • ВХ base, база;
  • СХ counter, счетчик;
  • DX data, данные;

Хотя названия многих из этих регистров малоосмысленны, все же приведем расшифровку этих названий:

  • SI source index, индекс источника;
  • DI destination index, индекс приемника;
  • ВР base pointer, указатель базы;
  • SP stack pointer, указатель стека.

Особенностью всех этих регистров является то, что их можно использовать в любых арифметических, логических и т. п. машинных операциях. Например, можно сложить число из регистра DI с числом из регистра SP или вычесть из содержимого регистра ВР содержимое регистра СХ.

В то же время каждый из этих регистров имеет определенную специализацию: некоторые команды требуют, чтобы их операнд или операнды обязательно находились в определенных регистрах. Например, команда деления требует, чтобы первый операнд (делимое) находился в регистре АХ или в регистрах АХ и DX (в зависимости от размера операнда), а команды управления циклом используют регистр СХ в качестве счетчика цикла. Такая специализация регистров будет рассматриваться по ходу дела, при описании команд, а пока расскажем о других специализациях этих регистров.

Сегментные регистры

Вторую группу регистров образуют следующие 4 регистра:

названия которых расшифровываются так:

  • CS code segment, сегмент команд;
  • DS data segment, сегмент данных;
  • SS stack segment, сегмент стека;
  • ES extra segment, дополнительный сегмент.

Ни в каких арифметических, логических и т. п. операциях эти регистры не могут участвовать. Можно только записывать в них и считывать из них, да и то здесь есть определенные ограничения.

Эти регистры используются для сегментирования адресов, которое является разновидностью модификации адресов и которое используется для сокращения размера команд.

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

Еще один регистр ПК - это регистр IP (instruction pointer, указатель команд):

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

Регистр флагов

И, наконец, в ПК имеется регистр флагов. Флаг - это бит, принимающий значение 1 ("флаг установлен"), если выполнено некоторое условие, и значение О ("флаг сброшен") в противном случае. В ПК используется 9 флагов, причем конструктивно они собраны в один 16-разрядный регистр, называемый регистром флагов и обозначаемый как Flags. Каждый флаг - это один из разрядов данного регистра (некоторые разряды регистра не заняты):

Некоторые флаги принято называть флагами условий; они автоматически меняются при выполнении команд и фиксируют те или иные свойства их результата (например, равен ли он нулю); проверка этих флагов позволяет проанализировать результаты команд. Другие флаги называются флагами состояний; сами по себе они не меняются и менять их должна программа; состояние этих флагов оказывает влияние на дальнейшее поведение процессора.

Лекция 3

Тема: Представление данных

Содержание: Представление целых чисел. Целые числа без знакаю. Целые числа со знаком Двоично-десятичные числа. О вещественных числах. Представление символьных данных.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: