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



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

Логические команды

Арифметические команды могут вычислять три типа чисел - не имеющие знака двоичные, меточныедвоичные, беззнаковые уложенные действительные и беззнаковые неупакованные десятичные . Бинарные числа имеют возможность быть 8- и 32-разрядными. Действительные упакованные суммы содержат в бите 2 ступени, неупакованные - 1.

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

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

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


назад далее