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



Полученное число будет для процессора адресом переменной, с которой ему придется сделать то, что приказано.

Всего чудеснее в такой адресации возможность умножать регистры, стоящие во второй колонке, на 2, 4 или 8, что автоматически позволяет сформировать адрес нужного элемента массива, пользуясь регистром как индексом. Если переписать программу из листинга 10.9 для процессора 80386, то запись числа 3 в пятый элемент массива array выглядела бы так:

Работа с функциями АЛУ

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

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

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

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


назад далее