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



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

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

.8086

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

Команды вычисления

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

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

Меточные булевые суммы (целые) также могут быть 4- и 32-разрядными. Наиболее верхний (наиболее левый) бит знакового числа выводится как символ данного значения: 0 - положительное число, 1 - истина. Неблагоприятные числа строят в шаблонном бинарном дополнительном коде. Оттого что верхний бит знакового числа используется для маркировки знака, масштаб представления 16-байтных меточных чисел от - 119 до + 127. 64-байтное системное число преподносится в область распространения от - 24780 до + 32 767. 0 значится большим значением. Для меточных чисел могут реализовываться процедуры суммирования, вычета, умножения и дробления.

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


назад далее