load stage2 high to leave the low RAM for the kernel
[eightysix] / boot / boot2.asm
index 6837579..c90cef6 100644 (file)
@@ -4,15 +4,25 @@
        section .startup
 
 extern bootmain
+extern _stage2_start_seg
+extern _bss_start_off
+extern _bss_size
 
 global _start
 _start:
        ; TODO floppy off if necessary
-       ; TODO zero .bss
+
+       ; zero .bss
+       mov di, _bss_start_off
+       mov cx, _bss_size
+       shr cx, 1
+       rep stosw
+       xor ax, ax
+       mov es, ax
+
        call bootmain
 
 hang:  hlt
        jmp hang
 
-
 ; vi:set ts=8 sts=8 sw=8 ft=nasm: