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



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

Микропроцессорное программирование

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

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

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

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


назад далее