Формат общей команды: MOVS цепочка-приёмник, цепочка-источник
Дополнительные команды:
MOVSB
MOVSW
MOVSD
В команде MOVS операнды нужны только для того, чтобы ассемблер узнал, что нужно пересылать байты или слова, так как смещение цепочки-приёмника предварительно должно быть загружено в регистр DI, а смещение цепочки-источника в регистр SI. Ассемблер преобразует команду MOVS в одну из команд MOVSB, MOVSW или MOVSD, следовательно, можно сразу их употреблять в программе.
Примеры:
MEMW1 DW 10 DUP (1), 5 DUP (0)
MEMW2 DW 15 DUP (?)
MOV AX, @DATA
MOV DS, AX
MOV ES, AX
CLD
MOV SI, OFFSET MEMW1
MOV DI, OFFSET MEMW2
MOV CX, 15
REP MOVS MEMW2, MEMW1; Û REP MOVSW
2.5.5.2.Команды сравнения цепочек.
Формат общей команды: CMPS цепочка-приёмник, цепочка-источник
Дополнительные команды:
CMPSB
CMPSW
CMPSD
Подобна CMP, однако CMPS производит обратное по отношению с CMP вычитание, вычитает из источника приёмник, а CMP, наоборот - из приёмника источник. CMPSB и CMPSW - соответствующие версии команды сравнения строк байтов или строк слов. Если мы используем префиксы повторения REPE / REPZ или REPNE / REPNZ, то операция сравнения может завершиться в двух случаях: CX=0 или ZF=0 для REPE (ZF=1 для REPNE). Для того чтобы узнать, какая ситуация имела место, следует указать после CMPS команду условной передачи управления, проверяющую флаг ZF, а именно JE (JZ) или JNE (JNZ).
Пример:
CLD
MOV CX, 100
REPNE CMPS DEST, SOURCE
JNE NOT_FOUND; Переход к метке NOT_FOUND, если нет ни одной совпадающей пары.
...
NOT_FOUND:
...