Может показаться удобным использовать команды 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 именно на примере команды пересылки, и в  программе необходимо придерживаться рекомендаций, данных в этой  главе, особенно, если поля источника и результата перекрываются.