Разделы:


Best links:

Команды обработки строк данных

Строкой называют последовательность байтов или слов, размещаемую в смежных ячейках памяти. Примером может служить строка, которая вводится с терминала в ВМ. Операции со строками выполняются над каждым элементом строки (байтом или словом), так что время их выполнения пропорционально числу элементов в строке. В ЦП имеется несколько однобайтных команд, выполняющих простые операции над строками. Эти команды значительно ускоряют манипуляции над строками благодаря уменьшению времени, затрачиваемого на обработку каждого элемента и на вспомогательные действия, которые необходимо выполнять между обработкой последовательных элементов. К вспомогательным действиям относятся: переадресация   элемента строки, уменьшение на единицу счетчика числа обрабатываемых элементов и проверка достижения счетчиком нуля.

Для иллюстрации временных затрат на обработку одного элемента строки рассмотрим процесс пересылки строки из одной области памяти в другую. Для указания начального адреса первого элемента исходной строки и строки результата используются регистры SI(индекс источника) и DI (индекс места назначения) соответственно, число пересылаемых элементов задается в регистре-счетчике СХ. Пересылка строки заключается в выполнении следующих шагов (при описании каждого шага указана соответствующая команда):

   1:        JCXZ          Exit            ; если СХ=0, то пересылка закончена

       2:        MOV          AL, [SI]      ; переслать байт из в AL

         3:      MOV          [DI], AL     ; запомнить содержимое AL в памяти

   4:        INC            SI               ; увеличить SI на «1»

   5:        INC            DI               ; увеличить DI на «1»

   6:        DEC          СХ             ; уменьшить СХ на «1»

предыдущаяследующая