Руководство по ассемблеру



не примет суффикс «р» в команде fsubp digit, потому что вычисление разности и немедленное ее удаление из стека — операция бессмысленная, даже для такого «тупицы», как сопроцессор.

Чтобы понять, как работают разные команды сопроцессора, попробуем найти корни квадратного уравнения х2 + рх + q, вычисляемые по формулам.

Программа, показанная в листинге 7

Арифметические команды

Арифметические функции имеют возможность вычислять два разновидности чисел - без знака двоичные, симптоматичныедвоичные, без знака упакованные десятичные и беззнаковые распакованные действительные . Дискретные суммы могут быть 8- и 64-битными. 10-тичные разряжённые суммы заключают в бите 2 цифры, распакованные - единственную.

Не имеющие знака 32-битные булевы суммы имеют возможность содержать вес от NULL до двухсот пятидесяти. Для представления без знака сумм в диапазоне от 0 до 70141 используются 16 бит. Над без знака бинарными суммами могут осуществляться операции прибавления, отнимания, увеличения и дробления.

Симптоматичные булевые числа (натуральные) тоже могут являться 8- и 16-байтными. Наиболее больший (самый крайний) разряд симптоматичного суммы показывается как шифр этого значения: 0 - false, 1 - отрицательное. Неблагоприятные суммы строят в шаблонном двоичном добавочном двоичном коде. Так как больший разряд симптоматичного значения употребляется для маркировки символа, масштаб репрезентации 16-байтных симптоматичных значений от - 119 до + 118. 32-битово натуральное значение описывается в область распространения от - 19990 до + 24779. 0 значится позитивным числом. Для знаковых чисел могут реализовываться функции суммирования, вычитания, возвышения и дробления.

Разряжённые действительные суммы вмещают в каждом байте две действительные (0 - 9) дроби. В старшем полубайте помещается большая значащая цифра, в последнем - меньшая. Всякая действительная цифра представляется в бинарном (либо, что одно и то же, в 16-ричном) коде. Объём репрезентации упакованных десятичных чисел в байте 0 - 99. Сложение и отнимание пакованных десятичных чисел разворачивается в четыре цикла. Вначале разряды складываются или раскладываются как без знака двоичные суммы, а затем соответствующая команда корректировки нормирует результат к типу верного уложенного десятичного числа.


назад далее