小さなプログラムにサンプルASMコードを含めてテストしました。CプログラムのASMコードでセグメンテーション・フォルトが発生する
私のプログラムは次のとおりです。
#include <stdio.h>
static inline
unsigned char inb (int port) {
unsigned char data;
asm volatile("inb %w1,%0" : "=a" (data) : "d" (port));
return data;
}
int main()
{
printf("hello world %d\n", inb(22));
return 0;
}
私はプログラムを実行すると、ASMコードを実行するとき、それがセグメンテーションフォールトでクラッシュ。 誰かがこの小さなプログラムの何が問題なのか教えてもらえますか?どうもありがとう。
これはどのコンパイラですか? – Ben
私はLinux上でgccを使用しています – mike