相关疑难解决方法(0)

在C中写入Bootloader

我是编写引导加载程序的新手.我在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"
);
}
Run Code Online (Sandbox Code Playgroud)

c linux assembly gcc bootloader

21
推荐指数
3
解决办法
3万
查看次数

标签 统计

assembly ×1

bootloader ×1

c ×1

gcc ×1

linux ×1