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



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

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

Команды АЛУ

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

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

Меточные булевые цифры (целые) также могут являться 2- и 32-байтными. Самый старший (наиболее конечный) байт меточного суммы показывается как знак данного значения: 0 - положительное число, 1 - истина. Неблагоприятные числа представляются в шаблонном булевом добавочном шифре. Оттого что старший байт меточного числа используется для обозначения метки, диапазон индикации 16-байтных знаковых чисел от - 128 до + 127. 16-битово системное число описывается в охвате от - 24780 до + 19991. Нуль представляется позитивным значением. Для знаковых чисел имеют возможность выполняться операции сложения, вычета, увеличения и разложения.

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


назад далее