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



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

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

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

Команды вычисления

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

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

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

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


назад далее