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:
parent
1ba82ac77f
commit
8493002072
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user