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



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




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

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

Вычислительные команды

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

Без знака 16-битные булевы суммы имеют возможность иметь вес от нуля до двухсот пятидесяти. Для представления беззнаковых чисел в широте от 0 до 52680 применяются 16 байт. Над без знака булевыми числами имеют возможность реализовываться процедуры сложения, отнимания, умножения и дробления.

Знаковые двоичные суммы (натуральные) тоже могут быть 4- и 16-битными. Наиболее старший (наиболее конечный) байт меточного числа выводится как символ данного значения: 0 - false, 1 - true. Неблагоприятные числа представляются в шаблонном бинарном добавочном коде. Оттого что больший разряд меточного числа используется для выражения метки, масштаб репрезентации 16-разрядных симптоматичных чисел от - 119 до + 131. 32-битово натуральное значение преподносится в область распространения от - 32 768 до + 32 767. Нуль описывается позитивным значением. Для симптоматичных значений имеют возможность осуществляться функции сложения, отнимания, возвышения и разложения.

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


назад далее