このコードは大学の教授から入手したので、コードが機能することはかなり確信していますが、私の場合、出力は常に 0 です。
Windows と仮想 Ubuntu マシンで試してみましたが、それでも同じでした。
私はmingwを使ってコンパイルしています:
gcc test.c test.s
これはCコードです:
#include <stdio.h>
int func(int a, int b);
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d\n", func(a, b));
return 0;
}
そして、これはアセンブリです:
.intel_syntax noprefix
.text
.globl _func
_func:
enter 0,0
mov eax, edi
add eax, esi
leave
ret
入力 2 と 3 の場合、5 を出力する必要がありますが、常に 0 です。