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



Ведь программа в формате .com вовсе не ограничена одним сегментом, как многие думают. Система DOS выделяет ей всю доступную па­мять, и можно изменить сегменты так, "чтобы эту память использовать. Чтобы, например, выделить для инструкций только часть сегмента, можно прибавить к сегменту стека некое число (листинг 11.5):

Листинг 11.5. Перемещение сегмента стека в .corn-программе

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

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

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

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

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


назад далее