Я считаю, что стандартный способ реализации переходов в x86 - это сравнение с чем-то вроде:
cmpl %ebx, %eax
Который сохраняет результат в регистре eflags, а затем следующая команда перехода использует этот регистр eflags:
je some_label
Но что, если я хочу сохранить результат сравнения, чтобы выполнить прыжок позже? Я думал сделать что-то вроде:
cmpl %eax, %ebx
je storetrue
storefalse:
pushl $0
jmp done
storetrue:
pushl $1
done:
...
Нужно ли мне делать это так или есть более прямой способ, который не требует дополнительных прыжков?