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



stack segment stack BYTE 100 dup (?) stack ends

выделяют 100 байт для сегмента стека.

Следом за сегментом стека задаются два сегмента данных data и datal. В каждом из этих сегментов расположено по одному числу. Это, конечно, глупость, и мы спокойно могли бы обойтись в этой программе одним сегментом. Просто зада­ние двух сегментов данных позволяет лучше понять настройку сегментных ре­гистров и выбор программой сегмента по умолчанию.

Команды микропроцессора

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

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

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

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


назад далее