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



Чтобы лучше понять рекурсивные вызовы, попробуем вывести на экран число, хранимое в двухбайтовом регистре. Программируя под Windows, мы выводили число на экран, пользуясь стандартной процедурой Windows API wsprintf (см. раздел «Вывод чисел» главы 4). Но в системе DOS нет подходящей функ­ции, и приходится превращать число в символы самому.

Команды вычисления

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

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

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

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


назад далее