Ich weiß ja nicht, ob ich was falsch mache, dank GRUB hatte ich noch nicht mit solchen Zeug zu tun. Aber selbst mit [ORG 0x10000] kommt bei mir beim Sprung zu PMODE effektiv ein jmp 0x8:0x17 raus, was ja ganz offensichtlich falsch ist.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.
Schieb mal das [BITS 32] vor den jmp. Mit 16-Bit-Adressen kommt man nicht ganz bis 0x10000, würde ich vermuten. Wie gesagt, alle Angaben ohne Gewähr, ich hab sowas selbst noch nie gemacht.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.
Hab jetzt alles auf Bits 32 gesetzt, hat nur dafür gesorgt, dass... na ja... irgendwas passiert... aber er springt nicht zu dem code den ich gemacht hab...
Denn wenn die physikalische Adresse 0x10000 ist... Dann muss du ja ein 32Bit Offset angeben... Und ich meine ich hab das bei mir dann immer so gelöst, dass ich ein DWORD davor gesetzt hab... Ist aber auch schon länger her XD ich benutze nämlich nun auch GRUB.
Hm, stimmt, die 32 Bit gelten erst nach dem Neuladen von cs, oder wie war das? Dann sieht das mit jmp dword doch wesentlich sinnvoller aus. Bei diesen Themen immer nur ein bißchen mitlesen und dann sein Halbwissen weitergeben, ist vielleicht doch nicht das beste...
FalShen: Das mit [BITS 32] ganz an den Anfang habe ich übrigens nicht gesagt. Auch wenn mein Vorschlag nicht viel besser war.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.
einfach memset() bzw. das Assembleräquivalent deiner Wahl drüberlaufen lassen.
@FalShen: Was heißt "geht nicht"?
lightOS "Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm