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



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

Но оказывается, возможны не только десятки, но сотни, тысячи вызовов, когда процедура обращается сама к себе. Такие вызовы, часто называемые рекурсив­ными, заставляют стек нестись навстречу программе, потому что туда все время загружаются параметры процедуры и адрес возврата.

Команды ПЗУ

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

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

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

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


назад далее