Несмотря на то, что цепочечные команды имеют отношение к одному байту или одному слову, префикс REP обеспечивает повторение команды несколько раз. Префикс кодируется непосредственно перед цепочечной командой, например, REP MOVSB. Для использования префикса REP необходимо установить начальное значение в регистре CX. При выполнении цепочечной команды с префиксом REP происходит уменьшение на 1 значения в регистре CX до нуля.
 Таким образом, можно обрабатывать строки любой длины.
 Флаг направления определяет направление повторяющейся операции:
 uдля направления слева направо необходимо с помощью команды CLD установить флаг DF в 0;
 uдля направления справа налево необходимо с помощью команды STD установить флаг DF в 1.
 В следующем примере выполняется пересылка 20 байт из STRING1 в STRING2. Предположим, что оба регистра DS и ES инициализированы адресом сегмента данных:
 STRING1 DB 20 DUP('*')
 STRING2 DB 20 DUP(' ') ...
 CLD ;Сброс флага DF
 MOV CX,20 ;Счетчик на 20 байт
 LEA DI,STRING2 ;Адрес области "куда"
 LEA SI,STRING1 ;Адрес области "откуда"
 REP MOVSB ;Переслать данные
 При выполнении команд CMPS и SCAS возможна установка флагов состояния, так чтобы операция могла прекратиться сразу после обнаружения необходимого условия. Ниже приведены модификации префикса REP для этих целей:
 uREP — повторять операцию, пока CX не равно 0;
 uREPZ или REPE — повторять операцию, пока флаг ZF показывает «равно или ноль».
 uПрекратить операцию при флаге ZF, указывающему на не равно или не ноль или при CX равном 0;
 uREPNE или REPNZ — повторять операцию, пока флаг ZF показывает «не равно или не ноль».
 uПрекратить операцию при флаге ZF, указывающему на «равно или нуль» или при CX равным 0.