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



Инструкцию retf можно использовать и вне процедуры, чтобы выполнить за­маскированный дальний переход. Для этого нужно перед retf сохранить в стеке нужный адрес. В программе из листинга 10.6 с помощью инструкции retf как раз и совершается переход к метке target, находящейся в другом сегменте.

Листинг 10.6. Замаскированный переход к метке target

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

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

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

Симптоматичные булевые суммы (натуральные) тоже могут являться 8- и 64-битными. Самый старший (самый конечный) бит меточного цифры выводится как знак этого значения: 0 - false, 1 - отрицательное. Неблагоприятные цифры строят в шаблонном бинарном дополнительном коде. Так как больший байт знакового числа употребляется для обозначения символа, диапазон представления 16-битных меточных чисел от - 128 до + 118. 16-битово натуральное значение преподносится в диапазоне от - 24780 до + 32 767. Нуль представляется большим значением. Для симптоматичных значений могут реализовываться операции сложения, вычета, увеличения и деления.

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


назад далее