saftmeister
Nutze den Saft!
Hallo,
versuch mal das hier:
versuch mal das hier:
Code:
align 4
FLAGS equ 0
MAGIC equ 0x1BADB002 ; Magicnumber - Erkennungsmerkmal für GRUB
CHECKSUM equ -(MAGIC + FLAGS) ; Checksum
[BITS 32]
[EXTERN code] ; Start of the '.text' section.
[EXTERN bss] ; Start of the .bss section.
[EXTERN kernel_end] ; End of the last loadable section.
MultiBootHeader:
dd MAGIC ; Magic number
dd FLAGS ; Flags
dd CHECKSUM ; Checksum
dd MuliBootHeader ; Wo sich der Multiboot-Descriptor (also das hier gerade) befindet
dd code ; Wo der Code (also die .text-Sektion) anfängt
dd bss ; Wo die Daten (also die .data-Sektion) anfängt
dd kernel_end ; Ende des Kernels
dd start ; Kernel-Einstiegspunkt (Initialer EIP)
[GLOBAL] start ; Kernel-Einstiegspunkt
[EXTERN main] ; Einstiegspunkt im C-Code
start:
push ebx ; Multiboot-Header auf den Stack legen
cli ; Interrupts anhalten
call main ; Einstiegspunkt im C-Code anspringen und ausführen
jmp $ ; endless loop