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



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

Команды ПЗУ

Числовые команды имеют возможность обрабатывать три типа сумм - без знака двоичные, меточныедвоичные, беззнаковые уложенные десятичные и беззнаковые распакованные десятичные . Бинарные числа могут быть 2- и 32-байтными. 10-тичные упакованные числа вмещают в байте 2 ступени, неупакованные - единственную.

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

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

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


назад далее