Регистр-аккумулятор (ACC) CPU, регистры XT, P. Аккумулятор (ACC). Регистр множимого (XT). Регистр произведения (P)

Страницы работы

Содержание работы

20.Регистр-аккумулятор (ACC) CPU, регистры XT, P.

 Аккумулятор (ACC) – главный рабочий регистр CPU. Это - адресат для всех операций АЛУ кроме тех, которые работают прямо в памяти или регистрах. ACC поддерживает операции сдвига, суммирования, вычитания и сравнения с 32-разрядными данными. Он может также принимать 32-разрядный результат операции умножения. Можно обращаться к половинам и четвертям ACC. ACC может быть обработан как два независимых 16-разрядных регистра: АH (старших 16 битов) и AL (младших 16 битов). К байтам в пределах АH и AL можно также обращаться независимо. Специальные команды загружают и сохраняют байты АH.MSB, АH.LSB, AL.MSB, AL.LSB Это позволяет эффективно упаковывать и распаковывать байты.

Аккумулятор изменяет биты состояния регистра состояния ST0:

− бит режима расширения знака (SXM);

− бит режима переполнения (OVM);

− флаг тест/управление (TC);

− флаг переноса (C);

− флаг нуля (Z);

− флаг знака (N);

− запираемый флаг переполнения (V);

− биты счетчика переполнений (OVC, 6 бит).

Регистр множимого (XT)используется чаще всего для того чтобы сохранить 32-разрядное значение целого числа со знаком перед 32-битным умножением.

Младшая 16-разрядная часть регистра XT доступна как регистр TL, а старшая 16-разрядная часть - как регистр T.

Регистр T может использоваться, чтобы определить значение сдвига для некоторых операций  сдвига влево и вправо. В этом случае, в зависимости от команды, используется от 4 до 6 младших бит регистра T, которые кодируют количество сдвигов - от 0 до 32, если сдвиг производится в аккумуляторе, и от 0 до 64, если сдвиг производится в паре регистров ACC и P.

  Регистр произведения (P) типично используется для захвата 32-разрядного результата умножения. Он может также быть загружен прямо 16- или 32-разрядными данными из ячейки памяти; 16-разрядной константой, 32-разрядным аккумулятором; 16-разрядным или 32-разрядным адресуемым регистром модуля CPU. Регистр P может быть обработан как 32-разрядный регистр или как два независимых 16-разрядных регистра: PH (старших 16 битов) и PL (младших 16 битов).

Когда некоторые команды обращаются к P, PH, или PL, все 32 бита копируются в сдвигающее устройство АЛУ, которое может выполнять левый сдвиг, правый сдвиг или оставлять данные в исходном виде. Действие сдвигающего устройства для этих команд определено тремя битами режима сдвига (PM) регистра состояния ST0 и битом AMODE регистра состояния ST1:                 

Значение PM

Режим сдвига

000

Левый на 1

001

Нет

010

Правый на 1

011

Правый на 2

100

Правый на 3

101

Правый на 4 (если AMODE = 1, левый на 4)

110

Правый на 5

111

Правый на 6

Когда сдвигающее устройство исполняет левый сдвиг, младшие биты последовательно заполняются нулями. Команды, которые используют PH или PL как операнды, игнорируют режим сдвига.

Похожие материалы

Информация о работе