Autor Thema: Kernel  (Gelesen 2740 mal)

zacK

  • Beiträge: 216
    • Profil anzeigen
    • http://www.domae.ch
Gespeichert
« am: 27. September 2004, 15:27 »
hm

ich lade mit meinem bootloader den kernel an die stelle 0x8E00.

was muss ich nun alles machen damit ich weitercoden kann.

muss ich mit:
org 0x8E00

oder muss ich:
mov      ax, 0x8E00
mov      ds, ax
mov      cs, ax
.......

und was mit dem stack? Ich würde gerne den alten überschreiben da ich den nicht mehr brauche.


thx 4 helping

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 27. September 2004, 16:52 »
Im Lowlevel #1 Bootloader kann man das relativ gut sehen, mit den Bios-Ints...wenn dein Bootloader erst in den Pmode schaltet wird das schwer soweit ich weiß brauchst du das erst einen Floppytreiber ;)

zacK

  • Beiträge: 216
    • Profil anzeigen
    • http://www.domae.ch
Gespeichert
« Antwort #2 am: 27. September 2004, 22:47 »
also mein derzeitiger bootloader lädt den kernel an die stell 0x8e00 und sonst macht er nix. in pmode schalten a20gate aktivieren etc. macht alles der kernel. der kernel besteh aus drei teilen wie bei teejays tutorial.

nun habe ich mich nur gefragt, wass der unterschied ist:
Mache leute schreiben org etc und ander machen das irgendwie mit jmp 0x8e00:start mov ax,cs oder so.

was muss ich nun schreiben das ich im kernel16.asm weiter coden kann?

 

Einloggen