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



Model flat для DOS .сом

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

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

Арифметические операции могут вычислять три разновидности сумм - без знака двоичные, меточныедвоичные, беззнаковые упакованные 10-тичные и беззнаковые распакованные десятичные . Дискретные тысячи могут быть 8- и 32-байтными. 10-тичные уложенные числа содержат в бите две ступени, неупакованные - одну.

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

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

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


назад далее