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



В процессорах 80386 и выше можно для этой же цели использовать регистры еах, ebx, есх, edx, esi, edi, ebp.


Но, несмотря на директиву assume, регистр dx, не «получит двойку», если явно не настроить сегмент ds инструкциями:

mov ах. data mov ds. ах

Обратите внимание, в программах из листингов 9.2, 9.3 начальные значения присваиваются только сегментным регистрам ds и es

Программирование ППЗУ

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

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

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

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


назад далее