Система команд процессоров IA-32. Функциональная классификация машинных команд. Понятие о формате машинных команд, страница 3

SETNE/SETNZ    Установка байта, если не равно/Установка байта, если не ноль

SETA/SETNBE    Установка байта, если выше/Установка байта, если не ниже или равно

SETAE/SETNB/SETNC Установка байта, если выше или равно/Установка байта, если          не ниже/установка байта, если CF=0

SETB/SETNAE/SETC Установка байта, если ниже/Установка байта, если не выше или равно/Установка байта, если CF=1

SETBE/SETNA    Установка байта, если ниже или равно/Установка байта, если не выше

SETG/SETNLE    Установка байта, если больше/Установка байта, если не меньше или равно

SETGE/SETNL    Установка байта, если больше или равно/Установка байта, если не меньше

SETL/SETNGE    Установка байта, если меньше/Установка байта, если не больше или равно

SETLE/SETNG    Установка байта, если меньше или равно/Установка байта, если не больше

SETS                    Установка байта, если SF=1

SETNS                 Установка байта, если SF=0

SETO                   Установка байта, если OF=1

SETNO                Установка байта, если OF=0

SETPE/SETP       Установка байта, если PF=1

SETPO/SETNP    Установка байта, если PF=0

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

3.1.1.7. Команды управления программным потоком

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

JMP                      Безусловный переход

JE/JZ                             Переход, если равно/Переход, если ноль

JNE/JNZ              Переход, если не равно/Переход, если не ноль

JA/JNBE              Переход, если выше/Переход, если не ниже или не равно

JAE/JNB              Переход, если выше или равно/Переход, если не ниже

JB/JNAE              Переход, если ниже/Переход, если не выше или равно

JBE/JNA              Переход, если ниже или равно/Переход, если не выше

JG/JNLE              Переход, если больше/Переход, если не меньше или не равно

JGE/JNL              Переход, если больше или равно/Переход, если не меньше

JL/JNGE              Переход, если меньше/Переход, если не больше или равно

JLE/JNG              Переход, если меньше или равно/Переход, если не больше

JC                         Переход, если CF=1

JNC                      Переход, если CF=0

JO                        Переход, если OF=1

JNO                      Переход, если OF=0

JS                         Переход, если SF=1

JNS                      Переход, если SF=0

JPO/JNP               Переход, если PF=0

JPE/JP                  Переход, если PF=1

JCXZ/JECXZ       Переход, если CX=0/ Переход, если ECX=0

LOOP                   Цикл со счетчиком в регистре ECX (CX)

LOOPZ/LOOPE   Цикл со счетчиком ECX и ZF=1/Цикл со счетчиком ECX и равно

LOOPNZ/LOOPNE       Цикл со счетчиком ECX и ZF=0/Цикл со счетчиком ECX и не равно

CALL                   Вызов процедуры

RET                     Возврат из процедуры

IRET                    Возврат из обработчика прерываний

INT                      Программное прерывание

INTO                    Прерывание при OF=1

BOUND               Проверка выхода индекса за границу массива

ENTER                Высокоуровневое начало процедуры

LEAVE                Высокоуровневый конец процедуры

3.1.1.8. Цепочечные (строковые) команды

Цепочечные команды работают с цепочками байт, слов или двойных слов.

MOVS/MOVSB   Перемещение цепочки/Перемещение цепочки байт

MOVS/MOVSW  Перемещение цепочки/Перемещение цепочки слов

MOVS/MOVS     Перемещение цепочки/Перемещение цепочки двойных слов

CMPS/CMPSB    Сравнение цепочек/ Сравнение цепочки байт

CMPS/CMPSW   Сравнение цепочек/ Сравнение цепочки слов

CMPS/CMPSD    Сравнение цепочек/ Сравнение цепочки двойных слов