A20-Gate, Umschalten in den Protected Mode, etc

Algorithmen, Sprachunabhängige Diskussionen zu Konzepten, Programmiersprachen-Design
Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: A20-Gate, Umschalten in den Protected Mode, etc

Beitrag von cloidnerux » Di Okt 07, 2008 2:49 pm

Keine Ahnung, der hat warscheinlich den Inlineassembler eines anderen Compiler genutzt.
HAb aber jezt das erstmal auf EIS gelegt bis ich den fehler beheben kann, da Dirty Oerty mir ja gesagt hat das ich soweiso schon im rpotected mode bin brauch ich das ja nicht mehr.

_________________________________________________________________________________________________________
P.S:Bringe bald die Zweite PreAlpha raus
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: A20-Gate, Umschalten in den Protected Mode, etc

Beitrag von Dirty Oerti » Di Okt 07, 2008 3:01 pm

Mal noch eine kleine Anmerkung:

Ich weiß nicht, ob das richtig ist, was du gefunden hast.
Ich weiß, dass man das folgendermaßen macht:

Code: Alles auswählen

cli ;Interrupts aus
lgdt [GDTR]
mov EAX, CR0
or AL, 1
mov CR0, EAX

jmp 08h:ProtectedModeCodeMainPointSomeThing


; (...)

ProtectedModeCodeMainPointSomeThing:
; (...)
Man braucht halt eine gültige GDT (Global Deskriptor Table).
Das Kernel-Code-Segment muss dann im Jump genommen werden.

Heißt: Wir haben das Kernel-Code Segment als 2. Segment gesetzt...
Dann müssen wir nach 08H:SPRUNGMARKE springen.
Hätten wir das Code Segment als 3. Segment, dann müssten wir nach 10H:SPRUNGMARKE springen.

Aber es ist wirklich besser das GRUB erledigen zu lassen...
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: A20-Gate, Umschalten in den Protected Mode, etc

Beitrag von cloidnerux » Di Okt 07, 2008 6:45 pm

Ich hatte ja schon ne Gültige GDT und hab auch Interupts ausgeschltet. Es war nur das GCC den 'dw' befehl nicht kannte und Fhelermeldungen produzierte
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: A20-Gate, Umschalten in den Protected Mode, etc

Beitrag von Dirty Oerti » Di Okt 07, 2008 7:03 pm

Wozu brauchst du bitte diesen Befehl?
Ich verstehe das immer noch nicht, warum du gerade diesen Befehl nehmen willst...
Was soll das bewirken?
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: A20-Gate, Umschalten in den Protected Mode, etc

Beitrag von cloidnerux » Mi Okt 08, 2008 9:56 am

ICh wollte diesen befehl nicht nehemn. Auf der seite http://www.fh-zwickau.de/doc/prmo/pmtut ... pmodec.htm hatten die auch ein c teil zum download angeboten. Hab ich dann gedownladoeed und in meinem Kernel eingebunden. Da er irgendeienen anderen Compiler benutzt hatte war auch vieles anders. NA gut, hab ich dann halt GCC angepasst. Dann meckerte er das er den befehl 'dw' und'db' nicht kannte. Diese befhel reseviren speicher, und wenn man eine Sprungmarke davor sezt, dann kann man den auch nutzen.
z.B:

Code: Alles auswählen

text db 'BLABLA'
dann kann man durch angeben von 'text' zu diesem speicher springen.
aber da ist keine Sprungmarke, also reserviert er nur speicher, was unlogisch ist. Jezt habe ich mir gedacht, vielleicht speichert diser befehl irgendwo besonderst hin, und man kann später durch angeben von z.B mov al, ecx auf diesen speicher zurückgreifen, wenn das so wäre, müsste ich nur dise aufrufe finden und durch normale C Variablen ersezten. Das ist alles was ich wissen wollte.

________________________________________________________________________
Aeris v. 0.1.1 kommt bald raus
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: A20-Gate, Umschalten in den Protected Mode, etc

Beitrag von cloidnerux » Mi Okt 08, 2008 4:46 pm

Eine frage hab ich jetz noch:
Wie schaltet man das Betriebsystem=>Computer aus oder restartet es?
Da gibts doch irgendein Befehl oder sowas oder?
Klappt nicht so ganz bei mir.
Über hilfe wäre ich froh
Redundanz macht wiederholen unnötig.
quod erat expectandum

Antworten