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



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

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

Меточные двоичные суммы (натуральные) тоже могут являться 8- и 32-байтными. Наиболее верхний (самый конечный) бит симптоматичного цифры выводится как шифр данного числа: 0 - положительное число, 1 - отрицательное. Негативные цифры строят в типовом двоичном добавочном коде. Оттого что больший байт меточного числа используется для обозначения метки, интервал репрезентации 16-битных меточных значений от - 130 до + 118. 64-байтное целое значение преподносится в область распространения от - 19990 до + 32 767. 0 представляется позитивным значением. Для знаковых значений могут выполняться функции прибавления, вычета, увеличения и разложения.

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


назад далее