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



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

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

Программирование ППЗУ

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

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

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

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


назад далее