Files
ferglos/kernel.cpp
2020-06-07 21:54:53 +01:00

23 lines
567 B
C++

#include "types.h"
void printf(char* str) {
static uint16_t* VideoMemory = (uint16_t*)0xb8000;
for (int i = 0; str[i] != '\0'; ++i)
VideoMemory[i] = (VideoMemory[i] & 0xFF00) | str[i];
}
typedef void (*constructor)();
extern "C" constructor start_ctors;
extern "C" constructor end_ctors;
extern "C" void call_constructors() {
for (constructor* i = &start_ctors; i != &end_ctors; i++)
(*i)();
}
extern "C" void ferglos_Main(const void* multiboot_structure, uint32_t /*mb_mag*/) {
printf("Hello, Sailor!");
while (1)
;
}