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



Программа, показанная в листинге 10.1, — одна из самых глупых в этой книге. Чтобы сложить два числа, незачем тащиться в чужой сегмент. Но она служит хорошим пособием по дальним переходам, а большего нам и не надо.

Подумаем, например, над тем, всегда ли нужно указывать ассемблеру, что пред­стоит дальний переход. Очевидно, строка:

jmp far ptr exit

необходима, потому что ассемблер, встретив ее, еще не знает, что метка exit на­ходится в другом сегменте

Логические команды

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

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

Симптоматичные двоичные числа (натуральные) вдобавок могут быть 8- и 16-байтными. Самый верхний (наиболее конечный) разряд меточного цифры интерпретируется как знак сего значения: 0 - false, 1 - true. Негативные числа представляются в типовом бинарном добавочном шифре. Так как верхний разряд знакового числа применяется для выражения знака, масштаб индикации 32-разрядных симптоматичных чисел от - 119 до + 118. 32-разрядное натуральное значение преподносится в охвате от - 32 768 до + 32 767. NULL представляется положительным значением. Для симптоматичных значений имеют возможность реализовываться процедуры прибавления, вычитания, умножения и дробления.

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


назад далее