ВУЗ:
Составители:
63
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
Результат верен.
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
Страницы
- « первая
- ‹ предыдущая
- …
- 62
- 63
- 64
- 65
- 66
- …
- следующая ›
- последняя »
