|
Одной из функций, в которой в наборе
команд микропроцессора 8088
уделено особое внимание, является
обработка строк.Строка символов
или чисел, с которыми программа работает,
как с группой, является
обычным типом данных.Программа пересылает строку из одного места
в другое, сравнивает ее с другими
строками, а также ищет в ней
заданное значение.Обычным типом данных является строка символов.
Программа представляет каждое слово,
предложение либо другую
структуру строкой символов в памяти.Функции редактирования,
например, в большой степени используют
операции поиска и пересылки.
Строковые команды микропроцессора 8088
выполняют эти операции с
минимальными программными затратами, а
также при минимальном
времени исполнения.
Сначала давайте обсудим принципы работы со
строками. Программа
может выполнять строковые операции как над
байтами, так и над
словами; отдельные элементы строк могут
иметь 8 либо 16 бит.
Строковые команды не используют способы
адресации, используемые
остальными командами обработки. Фактически
строковые команды очень
конкретны в адресации и не допускают
каких=либо вариаций. Строковые
команды адресуют операнды комбинациями
регистров DS:SI либо ES:DI.
Операнды источника используют регистровую
пару DS:SI, а операнды
результата регистровую пару ES:DI, откуда
и названия
индекс=регистров источника и результата.
Все строковые команды
имеют встроенную коррекцию адреса после
выполнения операции. Строка
состоит из многих элементов, но строковые
команды обработки строк
могут работать только с одним элементом в
каждый момент времени,
поэтому программа тоже работает со строкой
по одному элементу в
момент времени. Автоматическое увеличение
или уменьшение адреса
дает возможность быстрой обработки
строковых данных. Флаг
направления в регистре состояния управляет
направлением обработки.
Когда он установлен равным 1, адрес
уменьшается, если флаг сброшен
в 0, то увеличивается. Размер операнда
определяет количество
увеличений=уменьшений. Байтовые команды
обработки строк изменяют
адрес на 1 после каждой операции, а
команды обработки строк над
словами изменяют адрес на 2. Тем самым
после выполнения операции
указатель ссылается на следующий элемент
строки.
|