Запись загрузчика на C

Я новичок в написании загрузчиков. Я написал загрузчик helloworld в asm, и Сейчас я пытаюсь написать его на C. Я написал загрузчик helloworld на C, но я не могу его скомпилировать.

Это мой код. Что я делаю не так? Я принимаю полностью неправильный подход?

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"
);
}
20
задан Michael Myers 16 August 2011 в 15:31
поделиться