Jcc – условные переходы
77 cb | JA rel8 | переход, если выше (CF=0 и ZF=0) | |||
73 cb | JAE rel8
| переход, если выше или равно (CF=0) | |||
72 cb | JB rel8 | переход, если ниже (CF=1) | |||
76 cb | JBE rel8 | переход, если ниже или равно (CF=1 или ZF=1) | |||
72 cb | JC rel8 | переход, если есть перенос (CF=1) | |||
E3 cb | JCXZ rel8 | переход, если регистр CX содержит 0 | |||
74 cb | JE rel8 | переход, если равно (ZF=1) | |||
7F cb | JG rel8 | переход, если больше (ZF=0 и SF=OF) | |||
7D cb | JGE rel8 | переход, если больше или равно (SF=OF) | |||
7C cb | JL rel8 | переход, если меньше (SF?OF) | |||
7E cb | JLE rel8 | переход, если меньше или равно (ZF=1 или SF?OF) | |||
76 cb | JNA rel8 | переход, если не выше (CF=1 или ZF=1) | |||
72 cb | JNAE rel8 | переход, если не выше или равно (CF=1) | |||
73 cb | JNB rel8 | переход, если не ниже (CF=0) | |||
77 cb | JNBE rel8 | переход, если не ниже или равно (CF=0 и ZF=0) | |||
73 cb | JNC rel8 | переход, если переноса нет (CF=0) | |||
75 cb | JNE rel8 | переход, если не равно (ZF=0) | |||
7E cb | JNG rel8 | переход, если не больше (ZF=1 или SF?OF) | |||
7C cb | JNGE rel8 | переход, если не больше или равно (SF?OF) | |||
7D cb | JNL rel8 | переход, если не меньше (SF=OF) | |||
7F cb | JNLE rel8 | переход, если не меньше или равно (ZF=0 и SF=OF) | |||
71 cb | JNO rel8 | переход, если переполнения нет (OF=0) | |||
7B cb | JNP rel8 | переход, если результат нечётный (PF=0) | |||
79 cb | JNS rel8 | переход, если знака нет (SF=0) | |||
75 cb | JNZ rel8 | переход, если не нуль (ZF=0) | |||
70 cb | JO rel8 | переход, если есть переполнение (OF=1) | |||
7A cb | JP rel8 | переход, если результат чётный (PF=1) | |||
7A cb | JPE rel8 | переход, если результат чётный (PF=1) | |||
7B cb | JPO rel8 | переход, если результат нечётный (PF=0) | |||
78 cb | JS rel8 | переход, если есть знак (SF=1) | |||
74 cb | JZ rel8 | переход, если нуль (ZF=1) |
Описание.
Инструкции этого набора обеспечивают выполнение операций условных переходов. Условия, при которых осуществляется переход для той или иной инструкции, приведены в расположенной выше таблице.
Команды условных переходов используют относительную адресацию с 8-разрядным отклонением, что ограничивает длину перехода 127 байтами вперёд и 128 байтами назад относительно адреса команды, следующей за инструкцией условного перехода (так называемый короткий переход). Межсегментные переходы, как и переходы на более дальние расстояния внутри текущего сегмента, не обеспечиваются. Для этой цели должны использоваться пары инструкций условного и безусловного переходов.
Флажки не изменяются.