-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||3C ib CMP AL,imm8 1 Сравнение непосредственного || байта с AL ||3D iw CMP AX,imm16 1 Сравнение непосредственного || слова с AX ||3D id CMP EAX,imm32 1 Сравнение непосредственного || двойного слова с EAX ||80 /7 ib CMP r/m8,imm8 1/2 Сравнение непосредственного || байта с байтом в r/m ||81 /7 iw CMP r/m16,imm16 1/2 Сравнение непосредственного || слова со словом в r/m ||81 /7 id CMP r/m32,imm32 1/2 Сравнение непосредственного || двойного слова с двойным словом|| в r/m |----------------------------------------------------------------- Работа команды LeftSRC - SignExtend(RightSRC);(* CMP не выполняет запись результата; ее назначение - установка флагов *) ОписаниеКоманда CMP вычитает второй операнд из первого, но в отличие от командыSUB, не записывает результат: она изменяет только состояния флагов.Команда CMP обычно используется в сочетании с условными переходами икомандами SETcc. (Список имеющихся проверок флагов, со знаком и безфлагов, приводится в Приложении D). Если операнд превышает один байт исравнивается с непосредственным байтом, то этот байт сначала расширяетсязнаком. Изменяемые флагиФлаги OF, SF, ZF, AF, PF и CF устанавливаются в соответствии с результатом. Исключения защищенного режима#GP(0) в случае недопустимого исполнительного адреса операнда памяти всегментах CS, DS, ES, FS или GS; #SS(0) в случае недопустимого адреса всегменте SS; #PF(код сбоя) в случае страничного сбоя; #AC дляневыравненной ссылки к памяти при текущем уровне привилегированности,равном 3. Исключения режима реальных адресовПрерывание 13, если какая-либо часть операнда лежит вне пространстваисполнительных адресов от 0 до 0FFFFH. Исключения виртуального режима 8086Те же исключения, что и для режима реальных адресов: #PF (код сбоя) длястраничных сбоев; #AC для невыравненной ссылки к памяти при текущем уровнепривилегированности, равном 3.