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



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

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

.8086

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

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

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

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

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

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


назад далее