Выполнение арифметических операций в АЛУ для чисел с фиксированной запятой. Часть I. Базарова С. Б-М - 34 стр.

UptoLike

67
Обычно в ЭВМ для деления используется другой
методделение без восстановления остатка.
Алгоритм деления с неподвижным делителем без
восстановления остатка можно разделить на следующие
этапы.
1. Берутся модули от делимого и делителя. В
счётчик циклов СчЦ устанавливается значение
разрядности регистров n.
2. Исходное значение частичного остатка полагается
равным старшим разрядам делимого двойной длины. Так
как число Ходинарной длины, то первоначально
примем, что в старших разрядах делимого – 0 ( РгB = 0 ), а
в младших разрядах делимого - число Х ( Рг2= Х).
Младшая и старшая части делимого содержатся в разных
регистрах одинарной длины.
3. Частичный остаток удваивается путём сдвига на 1
разряд влево. При этом в освобождающийся при сдвиге
младший разряд частичного остатка заносится очередная
цифра делимого из разрядов младшей половины делимого
(из нулевого разряда Рг2[0]).
4. Если остаток положителен (См[0] = 0), то из
сдвинутого частичного остатка вычитается делитель. Если
68
же остаток отрицателен (См[0] = 1), то к сдвинутому
частичному остатку прибавляется делитель.
5. Если результат вычитания положителен (См[0] = 0),
то очередная цифра модуля частного равна 1 (Рг2’[n-1]:=1).
Если же результат вычитания отрицателен (См[0] = 1), то
очередная цифра модуля частного равна 0 (Рг2’[n-1]:=0).
6. Этапы 3, 4 и 5 последовательно выполняются для
получения всех цифр модуля частного.
7. Знак частного положителен, если знаки делимого
и делителя одинаковы, в противном случае
отрицательный.
Алгоритм деления с восстановлением остатка
представлен на рис.2.21. Из алгоритма видно, что, пока не
определены все цифры частного (СчЦ 0), в зависимости от
знака частичного остатка либо подсуммируется делитель
(при См[0] = 1), либо вычитается делитель (при См[0] = 0). У
полученного нового частичного остатка анализируется знак
и по нему определяется цифра частного. По завершении
всех циклов деления (СчЦ = 0) выдаётся результат. При
этом, если остаток отрицателен (См[0] = 1), то он
восстанавливается путём подсуммирования делителя (см
блок 9 на рис. 2.21).
                                                              же остаток отрицателен (См[0] = 1), то к сдвинутому
         Обычно в ЭВМ для деления используется другой         частичному остатку прибавляется делитель.
метод – деление без восстановления остатка.                          5. Если результат вычитания положителен (См[0] = 0),
         Алгоритм деления с неподвижным делителем без         то очередная цифра модуля частного равна 1 (Рг2’[n-1]:=1).
восстановления остатка можно разделить на следующие           Если же результат вычитания отрицателен (См[0] = 1), то
этапы.                                                        очередная цифра модуля частного равна 0 (Рг2’[n-1]:=0).
         1. Берутся модули от делимого и делителя. В                 6. Этапы 3, 4 и 5 последовательно выполняются для
счётчик      циклов    СчЦ       устанавливается   значение   получения всех цифр модуля частного.
разрядности регистров n.                                             7. Знак частного положителен, если знаки делимого
                                                              и   делителя     одинаковы,       в    противном    случае   –
         2. Исходное значение частичного остатка полагается
                                                              отрицательный.
равным старшим разрядам делимого двойной длины. Так
                                                                     Алгоритм     деления   с       восстановлением   остатка
как      число Х – одинарной длины, то первоначально
                                                              представлен на рис.2.21. Из алгоритма видно, что, пока не
примем, что в старших разрядах делимого – 0 ( РгB = 0 ), а
                                                              определены все цифры частного (СчЦ ≠ 0), в зависимости от
в младших разрядах делимого - число Х ( Рг2= Х).
                                                              знака частичного остатка либо подсуммируется делитель
Младшая и старшая части делимого содержатся в разных
                                                              (при См[0] = 1), либо вычитается делитель (при См[0] = 0). У
регистрах одинарной длины.
                                                              полученного нового частичного остатка анализируется знак
         3. Частичный остаток удваивается путём сдвига на 1
                                                              и по нему определяется цифра частного. По завершении
разряд влево. При этом в освобождающийся при сдвиге
                                                              всех циклов деления (СчЦ = 0) выдаётся результат. При
младший разряд частичного остатка заносится очередная
                                                              этом, если остаток отрицателен (См[0] = 1), то он
цифра делимого из разрядов младшей половины делимого
                                                              восстанавливается путём подсуммирования делителя (см
(из нулевого разряда Рг2[0]).
                                                              блок 9 на рис. 2.21).
         4. Если остаток положителен (См[0] = 0), то из
сдвинутого частичного остатка вычитается делитель. Если



                                67                                                          68