cmp と je/jg がアセンブリでどのように機能するかを理解したいと思います。Google でいくつかの例を見ましたが、まだ少し混乱しています。以下に、C 言語に変換しようとしているアセンブリ コードの一部と、対応する C コードを示します。それは正しい方法で実装されていますか、それともcmpの仕組みについて間違った理解をしていますか?
cmp $0x3,%eax
je A
cmp $0x3,%eax
jg B
cmp $0x1,%eax
je C
int func(int x){
if(x == 3)
goto A;
if (x >3)
goto B;
if(x == 1)
goto C;
A:
......
B:
......
C:
......