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



Но лучше использовать в программах для DOS «классический» способ задания сегментов с помощью директивы segment. В листинге 9.2 показана программа, скла­дывающая два числа, расположенных в разных сегментах данных data и datal.

Листинг 9.2. Сложение двух чисел, расположенных в разных сегментах

.8086

stack segment stack BYTE 100 dup (?) stack ends data segment

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

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

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

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

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


назад далее