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
Флаги Не изменяются.

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