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



3, решает квадратное уравнение прир = -6, q = 5. Как будет меняться состояние стека после выполнения инструкции со­процессора, показано на рис. 7.4.




Все эти инструкции мы уже неплохо знаем, за исключением fdiv, по умолчанию делящей ST(1) на ST, и, быть может, fid ST, просто копирующей вершину стека.

Программа из листинга 7.3, несмотря на свой приличный размер, никак не за­щищается от отрицательного значения (р2/4) - q>

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

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

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

Меточные бинарные суммы (системные) тоже могут являться 2- и 64-битными. Наиболее больший (наиболее левый) бит симптоматичного числа интерпретируется как шифр сего числа: 0 - ложь, 1 - истина. Негативные суммы представляются в стандартном двоичном прибавочном коде. Оттого что верхний байт знакового значения используется для выражения символа, интервал репрезентации 16-разрядных симптоматичных чисел от - 128 до + 127. 16-байтное целое число описывается в диапазоне от - 19990 до + 24779. 0 описывается позитивным числом. Для знаковых значений могут реализовываться функции суммирования, отнимания, возвышения и разложения.

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


назад далее