diff --git a/.gitignore b/.gitignore index 90ed266..f3ac583 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -boot.bin \ No newline at end of file +*.bin \ No newline at end of file diff --git a/makefile b/makefile index 9713e73..78c3f6c 100644 --- a/makefile +++ b/makefile @@ -1,6 +1,11 @@ +build: src/boot.bin src/kernel_entry.bin + src/boot.bin: src/boot.asm nasm -o src/boot.bin src/boot.asm +src/kernel_entry.bin: src/kernel_entry.asm + nasm -felf -o src/kernel_entry.bin src/kernel_entry.asm + run: src/boot.bin qemu-system-x86_64 -drive file=src/boot.bin,format=raw,index=0,media=disk diff --git a/src/boot.asm b/src/boot.asm index abd5548..56a84b7 100644 --- a/src/boot.asm +++ b/src/boot.asm @@ -28,6 +28,7 @@ mov al, 0x3 int 0x10 CODE_SEG equ gdt_code - gdt_start +DATA_SEG equ gdt_data - gdt_start cli lgdt [gdt_descriptor] @@ -37,6 +38,8 @@ mov cr0, eax jmp CODE_SEG:start_protected_mode jmp $ +BOOT_DISK: db 0 + gdt_start: gdt_null: dd 0x0