removed jump at start symbol since the bootloader starts after the multiboot header anyway; added diagnostic characters "a", "b"

git-svn-id: svn://anubis/hos/trunk@16 5b3e749e-e535-0410-8002-a9bb6afbdfca
This commit is contained in:
josh 2009-06-25 15:16:01 +00:00
parent 1ba82ac77f
commit 8493002072

View File

@ -15,12 +15,12 @@
; Get these symbols from the linker ; Get these symbols from the linker
extern _end, _bss extern _end, _bss
[section .text]
;************************************************************************** ;**************************************************************************
;* Begin execution from the bootloader here * ;* This is the first symbol in the .text section *
;************************************************************************** ;**************************************************************************
[global start] [global start]
start: start:
jmp multiboot_entry ; jump over the multiboot header block
;************************************************************************** ;**************************************************************************
@ -43,9 +43,13 @@ multiboot_header:
;* Resume execution * ;* Resume execution *
;************************************************************************** ;**************************************************************************
multiboot_entry: multiboot_entry:
mov ax, 0x0700 + 'a'
mov [0xB8000+160*8+0*2], ax
lgdt [gdtr_tmp32-VIRTUAL_OFFSET] ; load temporary GDTR lgdt [gdtr_tmp32-VIRTUAL_OFFSET] ; load temporary GDTR
jmp KERNEL_CODE_32_TMP_SEG:segmented_start jmp KERNEL_CODE_32_TMP_SEG:segmented_start
;************************************************************************** ;**************************************************************************
;* At this point address 0xE000_0000 is mapped to physical address 0x0 * ;* At this point address 0xE000_0000 is mapped to physical address 0x0 *
;************************************************************************** ;**************************************************************************
@ -58,8 +62,8 @@ segmented_start:
mov fs, cx mov fs, cx
mov esp, TEMPORARY_STACK_VIRTUAL-4 ; set up temporary stack space mov esp, TEMPORARY_STACK_VIRTUAL-4 ; set up temporary stack space
mov ax, 0x0700 + 'J' mov ax, 0x0700 + 'b'
mov [VIRTUAL_OFFSET+0xB8000+160*8+4*2], ax mov [VIRTUAL_OFFSET+0xB8000+160*8+1*2], ax
idle_loop: idle_loop:
hlt hlt