Code: Select all
[BITS 32]
global _etry, _multi_b, _halt, _kernel_stack,_do_16v,_RealModeCS,_do_rm , _ke , _unrealmode
extern _linkd,_linkb, _linkt,_kernel
MULTIBOOT_PAGE_ALIGN equ 1<<0
MULTIBOOT_AOUT_KLUDGE equ 1<<16
MULTIBOOT_HEADER_MAGIC equ 0x1BADB002
MULTIBOOT_HEADER_FLAGS equ MULTIBOOT_PAGE_ALIGN | MULTIBOOT_AOUT_KLUDGE
MULTIBOOT_CHECKSUM equ -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
STACKSZ equ 0x4000
[SECTION .text]
_RealModeCS:
dw 0
_etry:
jmp short _startup
align 4
_multi_b:
dd MULTIBOOT_HEADER_MAGIC
dd MULTIBOOT_HEADER_FLAGS
dd MULTIBOOT_CHECKSUM
dd _multi_b
dd _etry
dd _linkd
dd _linkb
dd _linkt
_startup:
mov esp, _kernel_stack+STACKSZ
push eax
push ebx
;call _kernel
_unrealmode:
mov eax, cr0
and al, 0xFE
mov cr0, eax
jmp _ke
_ke :
mov ax, 1234h
int 3
_halt:
hlt
[SECTION .bss]
resb STACKSZ
_kernel_stack:
Any thing i got Wrong ??
thx for future help