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



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

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

Работа с функциями АЛУ

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

Не имеющие знака 8-битовые бинарные числа имеют возможность содержать значение от 0 до 255. Для репрезентации беззнаковых сумм в широте от нуля до 52680 применяются 16 байт. Над не имеющими знака бинарными суммами могут реализовываться процедуры сложения, сбавки, нарастания и деления.

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

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


назад далее