проверяется логическое выражение, стоящее после иф. Если он истинно, выполняется условие, в противеом случае выполняется условие в ветке else если есть
cmp [че] , че?
jne qwerty ; для if(че == че? )
je qwerty ; для if(че != че? )
jge qwerty ; для if(че < че? )
jle qwerty ; для if(че > че?).. . и т. д.
; код
qwerty:
Ну, для начала оптимизатор разбивает логическое выражение на части. Затем эти части считаются по одной. Если на каком-то этапе явно видно, что условие выполнено не будет, выполняется следующая после if команда или секция else если она есть. Если видно, что условие выполняется, то выполняется команда в if.
Например:
if (a==b && c==d) Beep();
Если a не равно b, то проверка равенства c и d выполняться уже не будет. Поэтому надо с осторожностью использовать в if функции - их вызов не гарантирован.