我想了解 cmp 和 je/jg 如何在汇编中工作。我在谷歌上看到了几个例子,但我还是有点困惑。下面我展示了我试图转换为 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:
......