void kprintstr(char* str); void khang(); /* HACK. kmain has to come first because of flat binary */ void kmain(void) { char* k_msg = "Hello world from 32-bit C kernel!"; kprintstr(k_msg); khang(); } void kprintstr(char* str) { /* last line of 80x25 */ char* ch = (char*)0xb8000 + 2 * 80 * 22; while(*str) { *ch = *str; ch++; *ch = 0xf; /* white character */ ch++; str++; } return; } void khang() { while(1) { } }