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



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

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

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

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

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

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

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


назад далее