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



Почему же DOS не использует 32-битные регистры? Потому, что в процессорах — со­временниках DOS их просто не было! Процессор Intel 8086 — сердце компьюте­ра IBM PC-XT — содержал только 16-битовые регистры ах, bx, сх, dx, si, di, и пе­ред его разработчиками встал выбор: либо обречь процессор на работу с 65 535 байтами, либо записывать адрес в двух регистрах.

Работа с функциями АЛУ

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

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

Знаковые бинарные суммы (целые) тоже могут быть 2- и 64-байтными. Самый старший (наиболее конечный) разряд симптоматичного суммы интерпретируется как знак данного значения: 0 - false, 1 - истина. Отрицательные суммы строят в стандартном булевом дополнительном шифре. Потому что верхний бит меточного значения используется для маркировки знака, диапазон репрезентации 16-байтных меточных значений от - 119 до + 118. 64-битово натуральное значение преподносится в область распространения от - 19990 до + 19991. NULL описывается позитивным числом. Для знаковых значений могут осуществляться операции суммирования, отнимания, возвышения и разложения.

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


назад далее