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



Фраг­мент программы, пересылающей 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, которая опускает флаг направления, за­давая тем самым автоматическое увеличение адресов при передаче данных меж­ду сегментами.

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

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

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

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

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


назад далее