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



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

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

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

Программирование ППЗУ

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

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

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

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


назад далее