Команда CMP позволяет сравнивать между собой любые два числа, находящиеся в регистрах или ячейках памяти. В зависимости от результатов сравнения чисел, процессором выставляются определенные значения регистра флагов.

 

Команда CMP
Синтаксис: CMP op1,op2
Операнды: op1 - r/m8, r/m16, r/m32
op2 - r/m8, r/m16, r/m32, i8, i16, i32
Назначение: Сравнение
Процессор: 8086+
Флаги: Флаги OF, SF, ZF, AF, PF и CF устанавливаются в соответствии с результатом.
Комментарий: Команда CMP вычитает значение второго операнда из первого, но в отличие от команды SUB, она не записывает результат, а только изменяет флаги.
Ограничения: Не допускается сравнения значений двух ячеек памяти. Такое сравнение должно производиться через какой-нибудь регистр.
Примеры:
cmp	ax,0012h
cmp	cx,dx
cmp	byte ptr [bx],09h