Отладка приложений

       

Сравнение и проверка


  • СМР  сравнить два операнда

Инструкция СМР сравнивает первый и второй операнды, вычитая второй из первого, сбрасывая результаты и устанавливая соответствующие флаги в регистре EFLAGS. Можно представлять инструкцию СМР как условную часть С-оператора if. В табл. 6.4 приведены различные флаги и значения, которым они соответствуют при выполнении инструкции СМР.

Таблица 6.4. Результирующие значения и установки флажков инструкции СМР

Результат (сравнения первого операнда со вторым)



Установки флажков регистра EFLAGS

Установки флажков руководства Intel

Равно 

Меньше чем

ZR = 1 

PL != OV

ZF=1 

SF != OF

Больше чем

ZR = 0 and PL = 0V

ZF = 0 и SF = OF

Не равно

ZR = 0

ZF = 0

Больше чем или равно

PL = OV

SF = OF

Меньше чем или равно

ZR = 1 или PL != 0V

ZF = 1 или SF != OF

  •  TEST  логическое сравнение

Инструкция TEST выполняет поразрядную операцию "логическое И" над своими операндами и устанавливает флажки PL, ZR и РЕ (SF, ZF и PF для руководств Intel) соответственно. Инструкция TEST проверяет, было ли установлено разрядное значение.



Содержание раздела