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



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

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

.8086

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

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

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

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

Симптоматичные бинарные цифры (системные) тоже могут быть 4- и 16-битными. Самый старший (самый конечный) байт знакового цифры выводится как символ этого числа: 0 - ложь, 1 - true. Неблагоприятные числа представляются в стандартном двоичном прибавочном двоичном коде. Потому что старший разряд знакового значения употребляется для обозначения метки, масштаб индикации 8-разрядных меточных значений от - 119 до + 118. 16-байтное целое значение описывается в охвате от - 24780 до + 32 767. 0 представляется большим числом. Для симптоматичных значений имеют возможность осуществляться процедуры сложения, отнимания, возвышения и дробления.

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


назад далее