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



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

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

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

Команды ПЗУ

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

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

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

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


назад далее