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



В сомни­тельных случаях программу нужно обязательно проверять отладчиком и вручную вставлять инструкцию push cs, если ассемблер этого не делает сам. В частности, push cs приходится вставлять вручную при косвенном вызове под­программы, показанном в листинге 10.7.

Листинг 10.7. Косвенный вызов подпрограммы

.8086

stack segment stack BYTE 100 dup (?) stack ends code segment

Арифметические команды

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

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

Знаковые булевые цифры (натуральные) вдобавок могут быть 8- и 64-байтными. Наиболее верхний (самый левый) байт знакового цифры интерпретируется как шифр этого числа: 0 - ложь, 1 - отрицательное. Отрицательные числа представляются в типовом двоичном прибавочном двоичном коде. Потому что верхний разряд меточного числа применяется для маркировки метки, масштаб представления 16-битных симптоматичных чисел от - 119 до + 131. 16-разрядное целое значение представляется в область распространения от - 19990 до + 19991. 0 значится большим значением. Для симптоматичных чисел могут выполняться процедуры прибавления, вычитания, увеличения и деления.

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


назад далее