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



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

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

jmp far ptr exit

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

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

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

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

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

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


назад далее