This commit is contained in:
nub31
2025-08-23 19:20:42 +02:00
parent 257f1d08f5
commit 624c90ce88
7 changed files with 32 additions and 59 deletions

27
src/boot.asm Normal file
View File

@@ -0,0 +1,27 @@
extern kernel_main
%define MAGIC 0x1BADB002
%define FLAGS 0x0
%define CHECKSUM -(MAGIC + FLAGS)
section .multiboot
align 4
dd MAGIC
dd FLAGS
dd CHECKSUM
section .bss
align 16
stack_bottom:
resb 16384
stack_top:
section .text
global _start
_start:
mov esp, stack_top
call kernel_main
cli
hang:
hlt
jmp hang

View File

@@ -1,21 +0,0 @@
extern kernel_init
section .multiboot
align 4
dd 0x1BADB002 ; multiboot magic number
dd 0x0 ; flags
dd -(0x1BADB002+0x0) ; checksum
section .text
global _start
_start:
cli
mov esp, stack_top
call kernel_init
.hang:
hlt
jmp .hang
section .bss
resb 8192
stack_top:

View File

@@ -1,6 +1,6 @@
#include "print.h"
void kernel_init(void)
void kernel_main(void)
{
print("Starting nub-os\n");
}

View File

@@ -1,26 +0,0 @@
#include "mem.h"
void* memcpy(void* dest, const void* src, long n)
{
char* d = dest;
const char* s = src;
for (long i = 0; i < n; i++)
d[i] = s[i];
return dest;
}
void* memset(void* dest, int val, long n)
{
char* d = dest;
for (long i = 0; i < n; i++)
d[i] = val;
return dest;
}
long strlen(const char* str)
{
long len = 0;
while (str[len])
len++;
return len;
}

View File

@@ -1,3 +0,0 @@
void* memcpy(void* dest, const void* src, long n);
void* memset(void* dest, int val, long n);
long strlen(const char* str);