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



Фраг­мент программы, пересылающей 100 слов из одного сегмента в другой, может быть таким:

mov ах, north_sea

mov ds. ах

mov ах. south_sea

mov es, ax

mov si. offset src

mov di. offset dst

mov ex. 100

eld

rep movsw

Обратите внимание на инструкцию eld, которая опускает флаг направления, за­давая тем самым автоматическое увеличение адресов при передаче данных меж­ду сегментами.

Команды АЛУ

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

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

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

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


назад далее