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



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

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

jmp far ptr exit

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

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

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

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

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

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


назад далее