Cтраница 2
Вычитание из сдвинутого частичного остатка делителя заменяется операцией сложения операндов в дополнительных кодах. [16]
Команда FPREM позволяет получить частичный остаток от деления чисел. Циклическое использование этой команды с запоминанием промежуточных значений частного позволяет получить точное значение частного с любой, наперед заданной, степенью точности. Признаком завершения команды ( получения нулевого частичного остатка) является значение флага С2 ( C2 - Q - команда завершена, С2 1 - команда не завершена), который позволяет управлять переходом на повторение цикла или завершение операции. [17]
Вычисление следующего коэффициента и нового частичного остатка: 24-битный операнд источника добавляется или вычитается из старших битов аккумулятора приемника и результат сохраняется в аккумуляторе приемника. Если результат операции исключающее ИЛИ равен 1, операнд источника добавляется к аккумулятору приемника. Если результат операции исключающее ИЛИ равен 0, операнд источника вычитается из аккумулятора. [18]
На выходах SM формируется двоичный код частичного остатка. БМУОп формирует сигнал на прерывание текущей программы. [19]
Если в результате вычитания выясняется, что делимое или очередной частичный остаток больше или равны делителю, то в очередной разряд частного записывается единица и полученный в результате вычитания частичный остаток сдвигается влево на один разряд. Если в результате вычитания выясняется, что делимое или очередной частичный остаток меньше делителя, то в очередной разряд частного записывается нуль, к полученной разности добавляется делитель, чтобы восстановить предыдущий частичный остаток, и результат сдвигается влево на один разряд. [20]
Делитель для каждой цифры частного вычитается из делимого или частичного остатка до тех пор, пока не возникнет отрицательный остаток. После этого остаток восстанавливается путем сложения его с делителем и сдвигается на одну тетраду. [21]
Если СТ2Т0 ( Ql), то БМУОп анализирует знак частичного остатка. [22]
Флаги СО-СЗ служат также для кодирования результатов выполнения команды FPREM получения частичного остатка. Эта команда позволяет определить точное значение частного от деления чисел. За одно обращение она выполняет 64 вычитания ( со сдвигом) делителя из делимого. [23]
Метод выполнения деления, когда в случае получения отрицательного остатка при вычитании ( частичный остаток меньше делимого) к нему прибавляется делитель, называется методом деления с восстановлением остатка. [24]
Если получен частичный остаток, то вычисление истинного остатка следует продолжить, используя частичный остаток делимого команды FPREM. [25]
Деление без восстановления остатка всегда требует для получения одной цифры частного только сложения или вычитания и сдвига частичного остатка. После завершения всех циклов деления выдается результат, при этом если остаток отрицателен, то он восстанавливается путем подсуммирования У. [26]
Деление без восстановления остатка всегда требует для получения одной цифры частного только сложения или вычитания и сдвига частичного остатка. [27]
Частичный остаток удваивается путем сдвига на один разряд влево, при этом в освобождающийся при сдвиге младший разряд частичного остатка заносится очередная цифра делимого. [28]
Поскольку мы условились, что старший разряд делителя содержит единицу, то результат будет получаться в прямом коде тогда, когда в старшем разряде частичного остатка в дополнительном коде будет находиться единица. Это делает возможным сдвиг частичного остатка и образование единиц в стольких разрядах частного, сколько единиц стоит подряд в дополнительном коде частичного остатка. [29]
Если в результате вычитания выясняется, что делимое или очередной частичный остаток больше или равны делителю, то в очередной разряд частного записывается единица и полученный в результате вычитания частичный остаток сдвигается влево на один разряд. Если в результате вычитания выясняется, что делимое или очередной частичный остаток меньше делителя, то в очередной разряд частного записывается нуль, к полученной разности добавляется делитель, чтобы восстановить предыдущий частичный остаток, и результат сдвигается влево на один разряд. [30]