№ п/п | Наименование МО, условия ее выполнения и представление в операторах присваивания | Признаки, вырабатываемые в результате выполнения МО и комментарии | |
8 | Вычитание из счетчика тактов единицы СчТ:=СчТ-1 | Вычитание единицы из счет-чика тактов выполняется после каждого такта умно-жения | Признаки вырабатываемые в результате выполнения МО и комментарии |
9 | Коррекция произведения для чисел в дополнительном коде производится для отрицательного множителя после n-го сдвига путем вычитания из суммы частичных произведений величины [x]2 2n | Такая коррекция возникает в связи с представлением отрицательного множителя в дополнительном коде |
Таблица 4
№п/п | Наименование МО, условия ее выполнения и представление в операторах присваивания | Признаки, вырабатываемые в результате выполнения МО и комментарии |
1 | Запись исходных чисел в регистры: - числа в прямом коде Р1м:=|Mx| Р2м:=|My|; РСМp:=|Px|2 Р1n:=|Py|2 ; - числа в дополнительном коде Р1м:=[Mx]2 Р2м:=[My]2; РСМp:=[Px]2; Р1p:= [Py]2 | Для чисел в прямом коде в знаковые разряды регистров устанавливаются нули |
Продолжение табл. 4
№п/п | Наименование МО, условия ее выполнения и представление в операторах присваивания | Признаки, вырабатываемые в результате выполнения МО и комментарии |
2 | Проверка исходных чисел на нуль | Осуществляется так же как и для чисел с фиксированной точкой |
3 | Установка регистров РСм и РСМм в нуль РСм:=0; РСМм:=0 | |
4 | Другие микрооперации, связанные с умножением мантисс сомножителей, выполняются так же как и для чисел с фиксированной точкой для p=0 | Мантисса произведения Mz может быть получена с нарушением нормализации вправо. Сигнал нарушения нормализации вправо HR=1 вырабатывается при z0=z1 |
5 | Определение порядка результата умножения Pz=Px+Py РСМp:=РСМp+Р1p | Возможны особые случаи: - при Pz>Pmax.доп. вырабатывается сигнал переполнения порядка OV=1; - при Pz<Pmin.доп. вырабатывается сигнал антипереполнения, Uп=1 |
6 | Нормализация результата умножения влево при HR=1: Mz:=ALS (Mz,1); Pz:=Pz-1; РСМм:=ALS(РСМм,1); Р2м:=LS(Р2м,1); РСМp:=РСМp+(2n-1) | Возможны особые случаи, как в п.5 |
№ п/п | Наименование МО, условия ее выполнения и представление в операторах присваивания | Признаки, вырабатываемые в результате выполнения МО и комментарии |
1 | Запись исходных чисел в регистры ОА: - числа в прямом коде (модули чисел) РСМ(0/n):=|x(0/n)|; Р2(0/n-1):=|x(n+1/2n)|; Р1:=|y|; - числа в дополнительном коде РСМ(0/n):=[x(0/n)]2; Р2(0/n-1):=[x(n+1/2n)]2; Р1:=[y]2 | Для целых чисел делимое располагается так, чтобы младший разряд делимого был в (n-1)-м разряде Р2. Для простых дробей делимое располагается так, чтобы старший разряд делимого располагался в старшем разряде РСМ после кода знака делимого. Для чисел в прямом коде в знаковом разряде регистров устанавливаются нули |
2 | Проверка исходных чисел на нуль | В результате проверки исходных чисел на нуль вырабатываются сигналы: - сигнал нулевого результата при x=0, y 0; - сигнал деления на нуль при x 0, y=0; - сигнал вещественной неопределенности при x=y=0 |
3 | Запись в счетчик тактов числа тактов деления СчТ:=n |
Продолжение табл. 5
№ п/п | Наименование МО, условия ее выполнения и представление в операторах присваивания | Признаки, вырабатываемые в результате выполнения МО и комментарии |
4 | Пробное вычитание (сложение) для анализа на переполнение: - для чисел в прямом коде анализ на переполнение выполняется вычитанием делителя из делимого ; - для чисел в дополнительном коде для этой цели выполняется вычитание при x0=y0 , а при x0 y0 сложение в сумматоре РСМ:=РСМ+Р1 | Сигнал переполнения вырабатывается: - для чисел в прямом коде при С=1 (остаток положительный); - для чисел в дополнительном коде при РСМ(0)1=x0. При наличии переполнения операция деления прекращается. При отсутствии переполнения осуществляется сдвиг влево в РСМ и Р2 после чего начинаются такты деления, для чисел в дополнительном коде формируется код знака частного z0 (см. п.5) |
Продолжение табл. 5
№ п/п | Наименование МО, условия ее выполнения и представление в операторах присваивания | Признаки, вырабатываемые в результате выполнения МО и комментарии | ||
5 | Определение кода знака частного и его запись в регистр частного: - для чисел в прямом коде код знака частного определяется по формуле z0=x0Åy0. Р2(n):=z0; - для чисел в дополнительном коде код знака частного определяется по результату пробного вычитания (сложения) таким образом: для y0=1 ; для y0=0 z0=C0; - код знака частного заносится в младший разряд регистра Р2 перед выполнением тактов деления | Для чисел в прямом коде код знака частного формируется комбинационной схемой, реализующей сложение по модулю 2 кодов знаков делимого и делителя. Для чисел в дополнительном коде код знака частного формируется автоматически в результате анализа на переполнение | ||
6 | Сдвиг влево в регистрах РСМ и Р2 выполняется: - после пробного вычитания (сложения) в сумматоре; - после вычитания или сложения в сумматоре в каждом такте деления РСМ:=ALS(РСМ,1); Р2:=ALS(Р2,1) |
Продолжение табл. 5
№ п/п | Наименование МО, условия ее выполнения и представление в операторах присваивания | Признаки, вырабатываемые в результате выполнения МО и комментарии |
7 | Сложение или вычитание в сумматоре после анализа на переполнение для чисел в прямом коде: - при С=0 выполняется сложение РСМ:=РСМ+Р1; - при С=1 выполняется вычитание | После каждого сложения или вычитания вырабатывается сигнал С, по которому определяется значение очередной цифры частного: zi=Ci |
8 | Сложение или вычитание в сумматоре после анализа на переполнение для чисел в дополнительном коде: - при РСМ(0)=y0 выполняется вычитание ; - при РСМ(0) y0 выполняется сложение РСМ:=РСМ+Р1 | После каждого сложения или вычитания вырабатывается сигнал С, по которому определяется в зависимости от знака делителя очередная цифра частного: zi=Ci при y0 =0; при y0=1 |
9 | Вычитание из счетчика тактов единицы СчТ:=СчТ-1 | Вычитание единицы из счетчика тактов выполняется после каждого такта деления. При СчТ=0 вырабатывается сигнал окончания тактов деления |
Продолжение табл. 5
№ п/п | Наименование МО, условия ее выполнения и представление в операторах присваивания | Признаки, вырабатываемые в результате выполнения МО и комментарии |
10 | Коррекция частного при делении чисел в дополнительном коде производится после окончания тактов деления путем прибавления единицы к содержимому регистра частного в следующих случаях: - при делении ненацело для z0=1; - при делении нацело для y0 = 1 P2 := P2 + 1 | Коррекция частного при делении чисел в прямом коде не требуется |
Продолжение табл. 5
№ п/п | Наименование МО, условия ее выполнения и представление в операторах присваивания | Признаки, вырабатываемые в результате выполнения МО и комментарии | ||
11 | Восстановление последнего остатка делимого для чисел в дополнительном коде производится, если знаки остатка и делимого не совпадают. Для этой цели: - при РСМ(0) y0 выполняется сложение в сумматоре РСМ:=РСМ+Р1; - при РСМ(0)=y0 выполняется вычитание в сумматоре . Для чисел в прямом коде восстановление последнего остатка производится, если он отрицательный, выполнением операции сложения в сумматоре РСМ:=РСМ+Р1 | Признаком отрицательного остатка делимого для прямого кода является появление нуля в регистре C |
Деление чисел c плавающей точкой