我是编写引导加载程序的新手。我已经用 asm 编写了一个 helloworld 引导加载程序,现在我正在尝试用 C 编写一个。我已经用 C 编写了一个 helloworld 引导加载程序,但我无法编译它。
这是我的代码。我究竟做错了什么?为什么编译不出来?
void print_char();
int main(void){
char *MSG = "Hello World!";
int i;
__asm__(
"mov %0, %%SI;"
:
:"g"(MSG)
);
for(i=0;i<12;i++){
__asm__(
"mov %0, %%AL;"
:
:"g"(MSG[i])
);
print_char();
}
return 0;
}
void print_char(){
__asm__(
"mov $0X0E, %AH;"
"mov $0x00, %BH;"
"mov $0x04, %BL;"
"int $0x10"
);
}