22. November 2024, 03:02
Willkommen
Gast
. Bitte
einloggen
oder
registrieren
.
Hast du deine
Aktivierungs E-Mail
übersehen?
Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Lowlevel
»
Lowlevel
»
Lowlevel-Coding
»
Thema:
Jump in den Pmode funzt nich
« vorheriges
nächstes »
Drucken
Seiten: [
1
]
Autor
Thema: Jump in den Pmode funzt nich (Gelesen 5972 mal)
scales of justice
Beiträge: 228
Gespeichert
«
am:
16. June 2006, 15:32 »
Jump in den Pmode funzt nich
Ich hab mit Tee-Jays Tutorial probiert in den Pmode zu springen,
aber irgendwie funzts nich:
www.zeit-fuers-ich.de/pmode.txt
er kommt zwar in den Pmode, aber der Jump
Code:
[Auswählen]
db 0xea
dw pmode
dw 0x0008
springt daneben, deswegen kommt dann lock prefix unallowed
Bochs zeigt allerdings an, ich bin an 0x0008:0x00000067 (das ist die richtige Adresse)
das heißt eigentlich es muss etwas in der GDT falsch eingetragen sein,ich find den Fehler aber nicht
Jidder
Administrator
Beiträge: 1 625
Gespeichert
«
Antwort #1 am:
16. June 2006, 15:58 »
Jump in den Pmode funzt nich
An welche Adresse wurde der Code geladen? Bist du sicher, dass cs = 0x1000?
Dieser Text wird unter jedem Beitrag angezeigt.
scales of justice
Beiträge: 228
Gespeichert
«
Antwort #2 am:
16. June 2006, 16:25 »
Jump in den Pmode funzt nich
ja sollte, hat auch mit dem anderen Kernel im Rmode immer geklappt
hier mal der Bootloader code:
www.zeit-fuers-ich.de/boot.txt
aber der müsste eigentlich stimmen
Jidder
Administrator
Beiträge: 1 625
Gespeichert
«
Antwort #3 am:
16. June 2006, 16:41 »
Jump in den Pmode funzt nich
Der Jump springt nicht daneben. Das Rumgefrickel in der GDT geht allerdings daneben. Warum weiss ich nicht. Such dir ein anderes Tutorial, irgendwie sind TeeJays Tutorials unausgereift.
Dieser Text wird unter jedem Beitrag angezeigt.
scales of justice
Beiträge: 228
Gespeichert
«
Antwort #4 am:
16. June 2006, 18:52 »
Jump in den Pmode funzt nich
ich hab as ganze jetzt nochmal anhand eines anderen Tutorials gemacht
das ergebnis ist aber genau das Gleiche
hab das Ganze jetzt direkt als Bootloader gemacht:
www.zeit-fuers-ich.de/bootloader.txt
diesmal berechne ich das Zeug für die GDT auch nicht zur Laufzeit
EDIT:
hmm, darf vielleicht das org 0x7c00 nicht da oben hin, weil das dann auch für den 32 Bit code unten gelten würde?
wenn ja, wie bau ich den 16 Bit Teil dann so um, dass er auch ohne funktioniert?
Jidder
Administrator
Beiträge: 1 625
Gespeichert
«
Antwort #5 am:
16. June 2006, 18:55 »
Jump in den Pmode funzt nich
es muss:
Code:
[Auswählen]
lgdt [gdt_desc]
heissen.
außerdem empfehle ich xor ax, ax statt mov ax, cs.
edit: das org 0x7c00 muss da hin und gerade, dass es für den pmode teil auch gilt, sorgt dafür, dass es funktioniert.
Dieser Text wird unter jedem Beitrag angezeigt.
scales of justice
Beiträge: 228
Gespeichert
«
Antwort #6 am:
16. June 2006, 19:10 »
Jump in den Pmode funzt nich
ja stimmt das iwar falsch, das Ergebnis ist aber immernoch exakt das Gleiche
hab den neuen Code hochgeladen
ich installier mal die neue Version von Bochs, irgendwas stimmt da nicht...
Jidder
Administrator
Beiträge: 1 625
Gespeichert
«
Antwort #7 am:
16. June 2006, 19:14 »
Jump in den Pmode funzt nich
lol, an bochs liegts nicht. du musst die interrupts im protected mode deaktivieren.
Dieser Text wird unter jedem Beitrag angezeigt.
Drucken
Seiten: [
1
]
« vorheriges
nächstes »
Lowlevel
»
Lowlevel
»
Lowlevel-Coding
»
Thema:
Jump in den Pmode funzt nich
Einloggen
1 Stunde
1 Tag
1 Woche
1 Monat
Immer