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



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

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

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

Команды АЛУ

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

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

Меточные двоичные числа (системные) также могут быть 4- и 32-битными. Наиболее больший (самый левый) разряд меточного суммы интерпретируется как шифр данного значения: 0 - положительное число, 1 - true. Негативные числа строят в шаблонном булевом дополнительном двоичном коде. Оттого что больший разряд меточного значения используется для выражения знака, диапазон представления 16-разрядных знаковых чисел от - 128 до + 118. 16-байтное целое значение описывается в охвате от - 24780 до + 19991. NULL описывается позитивным числом. Для симптоматичных чисел могут выполняться операции прибавления, отнимания, возвышения и разложения.

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


назад далее