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



А сам результат легко Сохраняется в стеке и может участ­вовать в следующих действиях. Для регистров, образующих стек, идеальна так называемая обратная польская запись, когда сначала идут операнды, а следом за ними — знаки действий. Наша сумма произведений запишется на обратный польский манер следующим образом: alpha beta  gamma delta.

Сопроцессору очень легко понять такую запись: каждое имя переменной озна­чает помещение в стек, а каждый знак действия говорит о том, что берутся два операнда (один — из вершины стека, другой — ближайший к ней), и результат действия, вытесняя один из операндов, оказывается на вершине.

По сути, программа из листинга 7.2 как раз и использует такую запись, полу­ченную интуитивно, вручную. Но есть специальные процедуры, которые авто­матически преобразуют формулы в обратную польскую запись, поступающую на вход сопроцессора.

Арифметические команды

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

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

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

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


назад далее