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



Сегменты

Пожалуй, самое важное отличие программы, написанной для DOS, от консоль­ного приложения Windows — в способах обращения с памятью. Строка mov dx, offset hello

из листинга 9.1 кажется нам знакомой: по-видимому, в ней адрес начала после­довательности символов Не могу молчать! записывается в регистр dx.

Но ведь dx — 16-битовый регистр и может содержать всего 216 = 65 536 различ­ных адресов, что очень мало даже для такой старой системы как DOS

Команды АЛУ

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

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

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

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


назад далее