| Команда | Jump if ... | Условие при сравнении cmp x, y | Условие перехода (состояние флагов) |
| ja jnbe | Above Not Below or Equal | x > y | CF = 0 and ZF = 0 |
| jae jnb jnc | Above or Equal Not Below Not Carry | x ≥ y | CF = 0 |
| jb jnae jc | Below Not Above or Equal Carry | x < y | CF = 1 |
| jbe jna | Below or Equal Not Above | x ≤ y | CF = 1 or ZF = 1 |
| je jz | Equal Zero | x = y | ZF = 1 |
| jne jnz | Not Equal Not Zero | x != y | ZF = 0 |
| jg jnle | Greater Not Less or Equal | x > y (знаки учитываются) | SF = OF and ZF = 0 |
| jge jnl | Greater or Equal Not Less | x ≥ y (знаки учитываются) | SF = OF |
| jl jnge | Less Not Greater or Equal | x < y (yзнаки учитываются) | SF != OF |
| jle jng | Less or Equal Not Greater | x ≤ y (знаки учитываются) | SF != OF or ZF = 1 |
| js | Signed | SF = 1 | |
| jns | Not Signed | SF = 0 | |
| jo | Overflow | OF = 1 | |
| jno | Not Overflow | OF = 0 | |
| jp jpe | Parity Parity Even | PF = 1 | |
| jnp jpo | Not Parity Parity Odd | PF = 0 | |
| jcxz | CX Zero | CX = 0 |
Многие условные переходы имеют по несколько имен. Например, ja (больше) и jnbe (не меньше и не равно) обозначают одно и то же. je и jz также являются одинаковыми командами. Обычно если, сравнивают два аргумента, используют je, чтобы показать, что переход произойдет, если аргументы равны. Если сравнивают аргумент с нулем, тогда используют jz.
Комментариев нет:
Отправить комментарий