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



Оставшаяся часть процедуры, показанной в листинге 8.1, не требует поясне­ний. Пожалуй, стоит только сказать об инструкции fcompp, которая сравнивает два значения ST(0) и ST(1) и затем выталкивает их из стека. Мы используем эту инструкцию только для удаления лишних чисел, результат их сравнения нам не нужен.

Написав процедуру, можно переходить

Работа с функциями АЛУ

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

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

Знаковые бинарные суммы (целые) тоже могут быть 2- и 64-байтными. Самый старший (наиболее конечный) разряд симптоматичного суммы интерпретируется как знак данного значения: 0 - false, 1 - истина. Отрицательные суммы строят в стандартном булевом дополнительном шифре. Потому что верхний бит меточного значения используется для маркировки знака, диапазон репрезентации 16-байтных меточных значений от - 119 до + 118. 64-битово натуральное значение преподносится в область распространения от - 19990 до + 19991. NULL описывается позитивным числом. Для знаковых значений могут осуществляться операции суммирования, отнимания, возвышения и разложения.

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


назад далее