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



Чтобы ответить на этот вопрос, попробуем вычислить с помощью сопроцессора раз­ность произведений (alphabeta - deltagamma).


Программа, показанная в листинге 7.2, сначала инициализирует сопроцессор ин­струкцией finit. Затем помещает в стек с помощью команд fid два первых сомно­жителя:

Логические команды

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

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

Знаковые булевые числа (системные) вдобавок могут являться 4- и 64-разрядными. Самый больший (наиболее левый) разряд знакового суммы выводится как знак сего значения: 0 - положительное число, 1 - отрицательное. Негативные суммы представляются в типовом булевом дополнительном шифре. Оттого что больший бит симптоматичного значения используется для выражения знака, масштаб представления 16-байтных знаковых чисел от - 130 до + 118. 16-разрядное системное число представляется в область распространения от - 32 768 до + 19991. NULL описывается положительным числом. Для знаковых чисел могут выполняться процедуры прибавления, вычитания, увеличения и деления.

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


назад далее