J(COND)

Синтаксис J(COND) метка
Машинный
код
70 cb — JO rel8
71 cb — JNO rel8
72 cb — JC/JNAE/JB rel8
73 cb — JNC/JAE/JNB rel8
74 cb — JZ/JE rel8
75 cb — JNZ/JNE rel8
76 cb — JNA/JBE rel8
77 cb — JA/JNBE rel8
78 cb — JS rel8
79 cb — JNS rel8
7A cb — JP rel8
7B cb — JNP rel8
7C cb — JL/JNGE rel8
7D cb — JGE/JNL rel8
7E cb — JLE/JNG rel8
7F cb — JG/JNLE rel8
E3 cb — JCXZ/JECXZ rel8
0F 80 cw/cd — JO rel16/32
0F 81 cw/cd — JNO rel16/32
0F 82 cw/cd — JC/JNAE/JB rel16/32
0F 83 cw/cd — JNC/JAE/JNB rel16/32
0F 84 cw/cd — JZ/JE rel16/32
0F 85 cw/cd — JNZ/JNE rel16/32
0F 86 cw/cd — JNA/JBE rel16/32
0F 87 cw/cd — JA/JNBE rel16/32
0F 88 cw/cd — JS rel16/32
0F 89 cw/cd — JNS rel16/32
0F 8A cw/cd — JP rel16/32
0F 8B cw/cd — JNP rel16/32
0F 8C cw/cd — JL/JNGE rel16/32
0F 8D cw/cd — JGE/JNL rel16/32
0F 8E cw/cd — JLE/JNG rel16/32
0F 8F cw/cd — JG/JNLE rel16/32
Описание Условный переход.
Действие

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

Идентификатор метка преобразуется ассемблером в непосредственные значения rel8(use16) и rel16/rel32 (use32), которые во время выполнения добавляются к текущему значению IP/EIP. Мнемоника команд условного перехода показана в таблице (логические условия «больше» и «меньше» относятся к сравнениям целочисленных значений со знаком, а «выше» и «ниже» — к сравнениям целочисленных значений без знака).

Команда Переход, если Условие перехода
JZ/JE нуль или равно ZF=1
JNZ/JNE не нуль или не равно ZF=0
JC/JNAE/JB есть переполнение/не выше и не равно/ниже CF=1
JNC/JAE/JNB нет переполнения/выше или равно/не ниже CF=0
JP число единичных бит чётное PF=1
JNP число единичных бит нечётное PF=0
JS знак равен 1 SF=1
JNS знак равен 0 SF=0
JO есть переполнение OF=1
JNO нет переполнения OF=0
JA/JNBE выше/не ниже и не равно CF=0 и ZF=0
JNA/JBE не выше/ниже или равно CF=1 или ZF=1
JG/JNLE больше/не меньше и не равно ZF=0 и SF=OF
JGE/JNL больше или равно/не меньше SF=OF
JL/JNGE меньше/не больше и не равно SF≠OF
JLE/JNG меньше или равно/не больше ZF=1 или SF≠OF
JCXZ/JECXZ содержимое CX/ECX равно нулю CX/ECX=0
Флаги Не изменяются.

К списку команд