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



показаны инструкции ассемблера и (в комментариях) соответствующие им коды и адреса, видные в окне отладчика. Так, например, инструкция mov ах, 2 имеет смещение 0000 (относительно сегмента cs) и занимает три байта. Ее код Ь80200, очевидно, содержит признак операции (В8) и само прибавляемое число 0002, но только вывернутое на изнанку по законам процессора Intel.

Вычислительные команды

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

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

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

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


назад далее