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



Адресация


В программе из листинга 10.9 показано, как можно использовать новую адреса­цию для записи чисел в одномерный массив array.

Листинг 10.9. Адресация с помощью двух регистров

.8086

ARRSIZE equ 20 stack segment stack BYTE 100 dup (?) stack ends code segment

assume cs:code. ds:code. ss:stack start:

mov bx. offset array mov si. 5 shl si. 1

Команды АЛУ

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

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

Знаковые двоичные числа (натуральные) вдобавок могут быть 8- и 64-разрядными. Наиболее больший (самый левый) байт знакового цифры показывается как знак этого значения: 0 - false, 1 - отрицательное. Негативные числа представляются в стандартном булевом дополнительном шифре. Так как верхний разряд симптоматичного числа используется для маркировки знака, диапазон репрезентации 8-байтных знаковых значений от - 119 до + 127. 64-байтное натуральное значение преподносится в область распространения от - 19990 до + 24779. Нуль представляется позитивным значением. Для меточных значений имеют возможность выполняться процедуры сложения, отнимания, увеличения и разложения.

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


назад далее