Реализация операции умножения младшими разрядами вперёд с анализом двух разрядов
При выполнении операции С = А × В с анализом двух разрядов младшимим разрядами вперёд, мантисса А загружается в регистр RMA, мантисса В загружается в регистр RMB, сумматор SM и сумматор порядков SР обнуляются, в счетчик загружается число разрядов мантисы уменьшенное на 1 и делённое на два — СT=(N-2)/2. При выполнении операции умножения порядки операндов должны складываться: SР = RPA + RPB. Перенос устанавливается в ноль.
Реализация умножения:
1) Анализируются два младших разряда регистра RMA и перенос и выполняется операиция на суммаотре и устанавливается значение переноса. Выполняемые операции приведены в таблице 1 и таблице 2.
Таблица 1 — Выполняемые операции при переносе равному 0
Значение младших |
Операции |
|
разрядов RMA |
|
|
|
|
|
0 0 |
P=0 |
|
|
|
|
0 1 |
SM+=RMB; P=0 |
|
|
|
|
1 0 |
SM+=2RMB; P=0 |
|
|
|
|
1 1 |
SM-=RMB; P=1 |
|
|
|
|
Таблица 2 — Выполняемые операции при переносе равному 1 |
|
|
Значение младших Операции |
разрядов RMA |
|
|
0 0 |
SM+=RMB; P=0 |
|
|
|
0 1 |
SM+=2RMB; P=0 |
|
|
|
1 0 |
SM-=RMB; P=1 |
|
|
|
1 1 |
P=1 |
2)Выполняется сдвиг вправо на два разряда SM и RG1;
3)Содержимое счётчика уменьшается на единицу CT-=1, и если не СТ=0 перейти к 1;
4)Если перенос равен 1, то производится операция SM+=RMB;
5)Если последний разряд RMA равен 1, то производится операция на сумматоре манитс SM-=RMB;
6)Выполняется округление SM+=2^-(N+2)
7)Проверка на нормализацию числа и при необходимости число свидагается влево и значение сумматора порядков уменьшается на единицу;
Округление, реализуемое путем прибавления единицы к младшему дополнительному разряду сумматора.
По окончании указанных действий на сумматоре должен находиться результат.