ここでもう少し広い答えをします。
x86には、一般的に2種類の条件付きジャンプがあります。
算術ジャンプ-JZ(ゼロの場合はジャンプ)、JC(キャリーの場合はジャンプ)、JNC(キャリーでない場合はジャンプ)など。
比較ジャンプ-JE(等しい場合はジャンプ)、JB(下の場合はジャンプ)、JAE(上または等しい場合はジャンプ)など。
したがって、最初のタイプは、算術命令または論理命令の後にのみ使用してください。
sub eax, ebx
jnz .result_is_not_zero
and ecx, edx
jz .the_bit_is_not_set
2番目のグループは、CMP命令の後にのみ使用してください。
cmp eax, ebx
jne .eax_is_not_equal_to_ebx
cmp ecx, edx
ja .ecx_is_above_than_edx
このようにして、プログラムがより読みやすくなり、混乱することはありません。
これらの命令が実際には同義語である場合があることに注意してください。JZ == JE; JC == JB; JNC==JAEなど。完全な表は次のとおりです。ご覧のとおり、条件付きジャンプ命令は16個しかありませんが、ニーモニックは30個あります。これらは、より読みやすいソースコードを作成できるようにするために提供されています。
Mnemonic Condition tested Description
jo OF = 1 overflow
jno OF = 0 not overflow
jc, jb, jnae CF = 1 carry / below / not above nor equal
jnc, jae, jnb CF = 0 not carry / above or equal / not below
je, jz ZF = 1 equal / zero
jne, jnz ZF = 0 not equal / not zero
jbe, jna CF or ZF = 1 below or equal / not above
ja, jnbe CF and ZF = 0 above / not below or equal
js SF = 1 sign
jns SF = 0 not sign
jp, jpe PF = 1 parity / parity even
jnp, jpo PF = 0 not parity / parity odd
jl, jnge SF xor OF = 1 less / not greater nor equal
jge, jnl SF xor OF = 0 greater or equal / not less
jle, jng (SF xor OF) or ZF = 1 less or equal / not greater
jg, jnle (SF xor OF) or ZF = 0 greater / not less nor equal