アセンブリ言語を勉強しています。
C言語の中にasm文で命令をかく練習をしています。
C
1#include <stdio.h> 2int test(int x) 3{ 4 __asm__(" \n\ 5 movl %esp,%ebp \n\ 6 movl x,%eax \n\ 7"); 8} 9main(){ 10 int x; 11 printf("整数を入力してください"); 12 scanf("%d",&x); 13 printf("%d\n",test(x)); 14}
上のプログラムは、まだ書き途中なのですが、すでにエラーが出てしまっているので、質問させてください。
test関数では、xを引数としています。main関数で引数を渡します。
この引数xをasm文でレジスタに格納するにはどのようにしたら良いかわかりません。
上のプログラムだと、[movl x, %eax]の部分で、「xは定義されていません」とエラーが出てしまいます。
まだ、勉強を始めたばかりで、基本的な質問ですが、どうしても分からないので教えてほしいです。よろしくお願いします。
回答4件
あなたの回答
tips
プレビュー