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



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

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

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

Команды ПЗУ

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

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

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

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


назад далее