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



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

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

jmp far ptr exit

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

Команды АЛУ

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

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

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

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


назад далее