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



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

Мы уже хорошо знаем, что все это делается с помощью инструкций cal 1 и ret. Правда, в случае DOS приходится думать, какой вызов (далекий или близкий) нужен, процедуре и какой возврат. Программа, показанная в листинге 10.5, вы­зывает дальнюю процедуру, расположенную в «чужом» сегменте codel.

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

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

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

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

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


назад далее