Основы арифметики цифровых процессоров. Вашкевич Н.П - 64 стр.

UptoLike

63
4.5.1. Алгоритм умножения целых беззнаковых чисел
в формате с ФТ
Рассмотрим алгоритм умножения целых беззнаковых чисел в
формате с ФТ.
Ша г 1. Множимое записывается в регистр Р1 (операция «посыл-
ка).
Ш а г 2. Множитель записывается в Р2 (операция «умножение на Y»).
Ш а г 3. Регистр сумматора и флаг CF обнуляются. В счетчик тактов
записывается значение, равное количеству разрядов регистра множителя.
Ш а г 4. Проверяется значение младшего бита регистра Р2. Если он
равен 1, то к регистру сумматора (РСМ) прибавляется содержимое Р1.
Шаг 5. Содержимое флага CF и РСМ циклически сдвигается
вправо на один разряд (младший разряд регистра сумматора заносит-
ся во флаг CF).
Шаг 6. Содержимое флага CF и регистра Р2 сдвигается логиче-
ски вправо на один разряд. Счетчик тактов уменьшается на 1.
Ша г 7. Значение счетчика тактов сравнивается с 0. Если значение
счетчика тактов не равно 0, то переход к шагу 4, иначе к шагу 8.
Ша г 8. Устанавливается значение регистра флагов. Значение
РСМ и Р2 последовательно переписываются в ОП.
Рассмотрим пример выполнения этого алгоритма.
Выполнить умножение операндов X и Y на восьмиразрядном про-
цессоре. X=270
(8)
, Y=71
(8)
(табл. 4.3). Обратите внимание, что при
рассмотрении примера двойной рамкой выделяется значение млад-
шего бита Р2, который анализируется на шаге 4.
Когда СЧТ=0, в регистрах РСМ и Р2 содержится произведение: в
РСМстаршая часть, а в Р2 – младшая часть. Выполним проверку:
X*Y=0010100011111000
(2)
=10100011111000
(2)
=24370
(8)
.
2
7
0
x
7
1
2
7
0
2
4
1
0
2
4
3
7
0
Результат верен.
     4.5.1. Алгоритм умножения целых беззнаковых чисел
                       в формате с ФТ
   Рассмотрим алгоритм умножения целых беззнаковых чисел в
формате с ФТ.
   Ш а г 1. Множимое записывается в регистр Р1 (операция «посыл-
ка X»).
   Ш а г 2. Множитель записывается в Р2 (операция «умножение на Y»).
   Ш а г 3. Регистр сумматора и флаг CF обнуляются. В счетчик тактов
записывается значение, равное количеству разрядов регистра множителя.
   Ш а г 4. Проверяется значение младшего бита регистра Р2. Если он
равен 1, то к регистру сумматора (РСМ) прибавляется содержимое Р1.
   Ш а г 5. Содержимое флага CF и РСМ циклически сдвигается
вправо на один разряд (младший разряд регистра сумматора заносит-
ся во флаг CF).
   Ш а г 6. Содержимое флага CF и регистра Р2 сдвигается логиче-
ски вправо на один разряд. Счетчик тактов уменьшается на 1.
   Ш а г 7. Значение счетчика тактов сравнивается с 0. Если значение
счетчика тактов не равно 0, то переход к шагу 4, иначе к шагу 8.
   Ш а г 8. Устанавливается значение регистра флагов. Значение
РСМ и Р2 последовательно переписываются в ОП.
   Рассмотрим пример выполнения этого алгоритма.
   Выполнить умножение операндов X и Y на восьмиразрядном про-
цессоре. X=270(8), Y=71(8) (табл. 4.3). Обратите внимание, что при
рассмотрении примера двойной рамкой выделяется значение млад-
шего бита Р2, который анализируется на шаге 4.
   Когда СЧТ=0, в регистрах РСМ и Р2 содержится произведение: в
РСМ – старшая часть, а в Р2 – младшая часть. Выполним проверку:
   X*Y=0010100011111000(2)=10100011111000(2)=24370(8).
                 2 7 0
            x        7 1
      — — — — —
                 2 7 0
      2 4 1 0
      — — — — —
      2 4 3 7 0
   Результат верен.

                                 63