Может показаться удобным использовать команды LODS и STOS для пересылки данных из одного места в другое, но для этой цели существует другая команда, пересылка строки MOVS. Эта команда подобна комбинации команд LODS и STOS. Она берет данные из пары регистров [DS:SI], помещает их в пару регистров [ES:DI], и изменяет как регистр SI, так и регистр DI, чтобы они указывали на следующую ячейку в каждой строке. Команда MOVS делает это одна, и не загружает аккумулятор во время пересылки. Команда MOVS делает сочетание LODS и STOS более быстрым и дающим меньше побочных эффектов.
Команда MOVS указывает два операнда памяти. Только MOVS и еще одна строковая команда CMPS работают с двумя операндами памяти. Все остальные команды требуют, чтобы один или оба операнда находились в регистре микропроцессора. Как и команды LODS и STOS, команда MOVS работает как с байтами, так и со словами. Поскольку строковые команды имеют дело с жестко заданными адресами, для определения типов служат только операнды, написанные программистом. Команда должна иметь оба операнда, и оба они должны быть одинаковых типов, иначе программист может указать тип пересылки частью кода операции, т.е. команда MOVSB и случае байтовых строк или команда MOVSW для строк, состоящих из слов. Если в программе используется основная форма, команда MOVS, ассемблер проверяет переменные на правильность сегментной адресации, а также проверяет их типы.
Комбинация команды MOVS с префиксом REP дает эффективную команду пересылки блока. Имея счетчик в регистре CX и показывающий направление пересылки флаг направления, команда REP MOVS пересылает данные из одного места памяти в другое очень быстро. Микропроцессор, выполняющий команду REP MOVS, пересылает данные с максимально возможной скоростью. Он больше не выбирает никакие команды, поскольку единственное, что делается во время такой пересылки - это пересылка.Установка флага направления критична для правильной работы команды REP MOVS. Различные виды установки флага направления обсуждались в гл.3 именно на примере команды пересылки, и в программе необходимо придерживаться рекомендаций, данных в этой главе, особенно, если поля источника и результата перекрываются.