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



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

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

jmp far ptr exit

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

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

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

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

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

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


назад далее