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



В нашем примере с сегментом data связан регистр ds, а с сегментом datal — регистр es. Такую связь необходимо задать, чтобы ассемблер знал, какой сегментный регистр ука­зать в соответствующей инструкции.

Возьмем, например, инструкцию mov dx, first, пересылающую число first в ре­гистр dx. Чтобы эта инструкция имела какой-то смысл, ассемблер должен знать, какой сегментный регистр «подпирает» сегмент data, где хранится число first

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

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

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

Меточные двоичные суммы (натуральные) вдобавок могут быть 2- и 64-разрядными. Наиболее старший (самый крайний) байт симптоматичного числа показывается как шифр этого значения: 0 - false, 1 - истина. Отрицательные суммы мыслятся в стандартном булевом прибавочном двоичном коде. Потому что больший разряд знакового значения используется для выражения символа, интервал представления 32-битных знаковых значений от - 128 до + 127. 64-битово натуральное значение описывается в охвате от - 24780 до + 24779. NULL представляется большим значением. Для меточных чисел могут осуществляться операции прибавления, вычета, умножения и деления.

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


назад далее