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



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

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

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

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

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

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

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


назад далее