4.14. ДЕЛЕНИЕ ЧИСЕЛ В ЭВМ СОВРЕМЕННЫХ МОДЕЛЕЙ
В моделях современных ЭВМ числа в естественной форме представляются с запятой, фиксированной после младшего разряда. Поэтому они в формате с фиксированной запятой делятся как целые,
В моделях
принят метод деления без восстановления остатков. В модели
делятся абсолютные значения делимого и делителя. Знак частного получается путем сложения по модулю 2 знаковых цифр операндов. Во всех моделях остаток имеет тот же знак, что и делимое. Нулевые частное и остаток всегда положительны.
Перед началом деления делимое и делитель проверяются на равенство нулю и если обнаруживается нулевой операнд, то деление не производится. Если делимое равно нулю, то на его месте в регистрах общего назначения остается нулевой результат, который представляет собой
-разрядный остаток и
-разрядное частное. В случае нулевого делителя вырабатывается требование прерывания программы.
В начале деления с фиксированной запятой производится проверка корректности деления, т. е. условие
Если числа делятся в прямом коде, то при первом вычитании делителя из старших разрядов делимого устанавливается возможность дальнейшего деления. Если первая цифра частного равна 1, то это указывает на некорректность деления (переполнение).
В моделях ЕС-1030 и ЕС-1050 операнды участвуют в делении в дополнительном коде, поэтому разряды частного определяются по следующему правилу: если знак очередного остатка совпадает со знаком делителя, то соответствующий шагу деления разряд частного равен 1, в противном случае — 0.
Во всех моделях очередная цифра частного заносится в младший разряд регистра, где вначале находилось делимое, а затем остатки. Этот разряд освобождается при сдвиге влево остатка и цифр частного, полученных на предыдущих шагах деления. Округление для учета отбрасываемых разрядов не производится. Корректируется только погрешность в определении последней цифры частного вследствие применения дополнительного кода для представления отрицательных операндов.
Особенностью деления в модели ЕС-1050 является то, что для сокращения времени его выполнения во всех определяемых остатках, кроме последнего, не производится полное распространение переносов. В ходе деления формируется
истинный код частного, а два условных кода: С — положительная составляющая и D — отрицательная составляющая. Частное
определяется в конце деления как
Такой способ деления максимально учитывает особенности функционировании схемы суммирования процессора ЕС-2050.
При делении чисел, представленных в нормальной форме, учитывается, что мантиссы являются правильными дробями и заданы в прямом коде. Поэтому мантиссы всегда делятся как положительные числа по способу деления без восстановления остатка. Знак частного определяется путем анализа знаков делимого и делителя. Результирующий знак заносится в нулевой разряд кода частного в конце операции.
Так же, как и в случае деления чисел в режиме фиксированной запятой, перед началом деления мантиссы операндов проверяются на равенстве нулю. По окончании деления производится сравнение характеристики частного с нулем, При обнаружении характеристики, равной или меньше 0, вырабатывается требование прерывания по причине исчезновения порядка.