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 как операнды, игнорируют режим сдвига.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.