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



Чтобы проверить этот бит, достаточно прочитать слово со­стояния в обычное 2-байтовое слово и затем проверить младший бит старшего байта. Все это проделывают инструкции, показанные в листинге 7.4.


Инструкция ftst проверяет слово на вершине стека, а инструкция ftstw ах, пере­писывает слово состояния, содержащее результат проверки в регистр ах. Сдвиг регистра ah на шаг вправо shr ah, 1 помещает восьмой бит слова состояния во флаг переноса, а инструкция jc exit отправляет процессор к метке exit, когда этот флаг поднят. Если же флаг опущен, число на вершине стека не отрицатель­но, и к нему применима операция извлечения корня fsqrt.

Команды АЛУ

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

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

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

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


назад далее