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



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

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

Меточные бинарные числа (целые) вдобавок могут являться 4- и 16-разрядными. Самый больший (наиболее конечный) байт знакового цифры выводится как шифр данного значения: 0 - положительное число, 1 - истина. Неблагоприятные цифры представляются в стандартном двоичном прибавочном коде. Оттого что больший бит симптоматичного числа употребляется для выражения знака, диапазон индикации 32-байтных знаковых чисел от - 119 до + 131. 32-разрядное системное значение описывается в охвате от - 32 768 до + 19991. 0 представляется позитивным числом. Для симптоматичных значений могут осуществляться функции прибавления, вычета, умножения и разложения.

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


назад далее