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



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

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

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

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

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

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

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


назад далее