ХАНДЫФАР
Инструкция CMP
Сравнение
CMP AL, imm8 - Сравнить imm8 с AL.
CMP AX, imm16 - Сравнить imm16 с AX.
CMP reg/mem8, imm8 - Сравнить imm8 с reg/mem8.
CMP reg/mem16, imm16 - Сравнить imm16 с reg/mem16.
CMP reg/mem16, imm8 - Сравнить imm8 с reg/mem16.
CMP reg/mem8, reg8 - Сравнить reg8 с reg/mem8.
CMP reg/mem16, reg16 - Сравнить reg16 с reg/mem16.
CMP reg8, reg/mem8 - Сравнить reg/mem8 с reg8.
CMP reg16, reg/mem16 - Сравнить reg/mem16 с reg16.
Сравнивает первый исходный операнд со вторым исходным операндом и устанавливает флаги состояния в регистре FLAGS в соответствии с результатами. Сравнение выполняется путём вычитания второго операнда из первого операнда, а затем установки флагов состояния таким же образом, как и в инструкции sub. Когда в качестве операнда используется непосредственное значение, оно расширяется по знаку до длины первого операнда.
Коды условий, используемые инструкциями Jcc, основаны на результатах выполнения инструкции cmp.
Флаги CF, OF, SF, ZF, AF и PF устанавливаются в соответствии с результатом.
Рассмотрим случай, когда регистр al содержит (AA16), регистр bl содержит (AA16). После выполнения инструкции cmp al, bl регистр al по-прежнему будет содержать (AA16), регистр bl по-прежнему будет содержать (AA16), но флаги будут изменены. Рассмотрим второй случай, когда регистр ax содержит (DDFF16), регистр bx содержит (DBFF16). После выполнения инструкции cmp ax, bx регистр ax по-прежнему будет содержать (DDFF16), регистр bx по-прежнему будет содержать (DBFF16), но флаги будут изменены.
Инструкция CMP
Сравнение
__________________________CMP AL, imm8 - Сравнить imm8 с AL.
__________________________CMP AX, imm16 - Сравнить imm16 с AX.
__________________________CMP reg/mem8, imm8 - Сравнить imm8 с reg/mem8.
__________________________CMP reg/mem16, imm16 - Сравнить imm16 с reg/mem16.
__________________________CMP reg/mem16, imm8 - Сравнить imm8 с reg/mem16.
__________________________CMP reg/mem8, reg8 - Сравнить reg8 с reg/mem8.
__________________________CMP reg/mem16, reg16 - Сравнить reg16 с reg/mem16.
__________________________CMP reg8, reg/mem8 - Сравнить reg/mem8 с reg8.
__________________________CMP reg16, reg/mem16 - Сравнить reg/mem16 с reg16.
Сравнивает первый исходный операнд со вторым исходным операндом и устанавливает флаги состояния в регистре FLAGS в соответствии с результатами. Сравнение выполняется путём вычитания второго операнда из первого операнда, а затем установки флагов состояния таким же образом, как и в инструкции sub. Когда в качестве операнда используется непосредственное значение, оно расширяется по знаку до длины первого операнда.
Коды условий, используемые инструкциями Jcc, основаны на результатах выполнения инструкции cmp.
Флаги CF, OF, SF, ZF, AF и PF устанавливаются в соответствии с результатом.
Рассмотрим случай, когда регистр al содержит (AA16), регистр bl содержит (AA16). После выполнения инструкции cmp al, bl регистр al по-прежнему будет содержать (AA16), регистр bl по-прежнему будет содержать (AA16), но флаги будут изменены. Рассмотрим второй случай, когда регистр ax содержит (DDFF16), регистр bx содержит (DBFF16). После выполнения инструкции cmp ax, bx регистр ax по-прежнему будет содержать (DDFF16), регистр bx по-прежнему будет содержать (DBFF16), но флаги будут изменены.