Реализация процессором арифметических операций. Будько М.Б - 41 стр.

UptoLike

40
знака полученного на этом шаге остатка. В том случае, когда образуется
положительный остаток, значение текущего разряда частного равно еди-
нице. Если получился отрицательный остаток, в текущий разряд частного
записывается нуль, при этом следует восстановить текущий положитель-
ный остаток. Если остаток положителен, то для получения следующей
цифры частного последний остаток сдвигается на
1 разряд влево и из него
вычитается делитель и т.д. Если остаток отрицательный, то путем прибав-
ления к нему делителя восстанавливается предыдущий положительный
остаток. Восстановленный остаток необходимо сдвинуть влево на 1 разряд
и вычесть из него делитель.
В зависимости от значения разряда результата C, полученного на
предыдущем шаге, происходит либо сложение
полученного на текущем
шаге остатка с делителем (если значение разряда C, полученного на
предыдущем шаге, равно нулю), либо вычитание делителя из текущего
остатка (если значение разряда C, полученного на предыдущем шаге, рав-
но единице).
Расписанный выше алгоритм деления получил название алгоритма
деления с восстановлением остатка.
Пусть Aделимое, Bделитель, С
частное, Dостаток от деле-
ния.
На 1 шаге: A
1
= AB × 2
3
. Пусть A
1
> 0, тогда C
1
= 1. Процесс деле-
ния продолжается дальше: A
2
= A
1
B × 2
2
. Пусть A
2
< 0, тогда C
2
= 0 и
производится восстановление остатка A
1
: A
2
= A
2
+ B × 2
2
.
Этот остаток принимается за A
2
и деление продолжается дальше
следующим образом: A
3
= A
2
B × 2
1
. Т.е. алгоритм деления можно опи-
сать в общем виде на i-м шаге:
A
i
= A
i – 1
B × 2
4 – i
Если A >= 0, то C
i
= 1 и переход к следующему шагу. Если A < 0, то
C
i
= 0 и восстановление остатка: A
i – 1
= A
i
+ B × 2
4 – i
.
К недостаткам этого метода можно отнести необходимость коррек-
ции остатка на каждом шаге деления, где вычисляемый разряд частного
равен нулю. Этого можно избежать, если математическую формулу этого
метода несколько модифицировать:
D = AB × 2
3
B × 2
2
+ B × 2
2
B × 2
1
B × 2
0
= AB × 2
3
B × 2
2
+ B ×
(2
2
– 2
1
) – B × 2
0
=AB×2
3
B × 2
2
+ B×2
1
B × 2
0
Такой вариант называется делением без коррекции остатка.
4.2.3 Особенности используемого метода деления
Используемый в данном задании метод деления базируется на пред-
ставлении положительных операндов в прямом, а отрицательныхв до-
полнительном кодах.