diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2016-09-30 16:02:16 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2016-09-30 16:02:16 -0400 |
commit | 543b5096164a704aa7167fe0b9b23494237a297d (patch) | |
tree | 63fb43f100a61c6f874ba81412b09343a12055d9 /boot.asm | |
download | kernel-fun-543b5096164a704aa7167fe0b9b23494237a297d.tar.gz |
Initial commit
Diffstat (limited to 'boot.asm')
-rw-r--r-- | boot.asm | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/boot.asm b/boot.asm new file mode 100644 index 0000000..66009e8 --- /dev/null +++ b/boot.asm @@ -0,0 +1,41 @@ +bits 32 + +section .text + align 4 + dd 0x1BADB002 + dd 0x00 + dd - (0x1BADB002 + 0x00) + +global start +extern kmain + +start: + cli + mov esp, stack_top + call marker_begin + call kmain + call marker_done +.hltloop: + hlt +jmp .hltloop + +marker_begin: + mov word [VIDEO_RAM + CONSOLE_SIZE - 2], \ + 0x4F << 8 | 'B' ; END OF MAIN MARKER + ret + +marker_done: + mov word [VIDEO_RAM + CONSOLE_SIZE - 2], \ + 0x4F << 8 | 'H' ; END OF MAIN MARKER + ret + +section .data + +%include 'constants.asm' + +section .bss +align 4 +stack_bottom: + resb 8192 +stack_top: +EOK: |