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



Поэто­му мой рассказ коснется только самого главного. Но даже если вас не интере­сует DOS, эту и следующую главы все равно стоит прочитать. Потому что, говоря о DOS, мы узнаем много нового об инструкциях процессора и устройстве Windows.

А начнем с программы дли DOS, выводящей на экран уже знакомую фразу Не могу молчать! (листинг 9.1).

Команды ПЗУ

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

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

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

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


назад далее