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



call WToAscii-

pop dx

Done: <запись очередного символа> ret

WtoAscii endp

Рис. 11.4. Процедура вызывает сама себя

Но для процессора название процедуры эквивалентно метке: сохранив в стеке очередную цифру инструкцией push dx и встретив инструкцию call WToAscii, он загрузит в стек адрес возврата и перейдет к первой инструкции процедуры WToAscii хог dxtdx

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

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

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

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

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


назад далее