테스트를 수행하기 위해 작은 프로그램에 샘플 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
리눅스에서 gcc를 사용하고 있습니다. – mike