OS-Programmierung: Sprung von Assembler auf C/C++
-
Hallo,
Ich versuche gerade ein eigenes mini "Betriebssystem" auf Diskette
zum laufen zu kriegen.
Mit Assembler hab ich den Bootloader geschrieben, also die ersten 512 Bytes.
Wie kann ich jetzt mit C bzw C++ Weiterprogrammieren?
Mit Assembler geht das ja indem ich eine kernel.bin erstell und die dann
als image zusammen mit dem Bootloader auf die Diskette schreib.Wie kann ich aber mit welchem Compiler auch immer (hab z.B. gcc unter Windows)
.bin Dateien erstellen?Über einen Beispielcode würde ich mich total freuen!!
-
Schau mal hier:
http://www.nondot.org/sabre/os/files/Booting/CompilingBinaryFilesUsingACompiler.pdf:xmas1:
-
echt vielen Dank für die Site,
ich muss sie mir erst mal durchlesen und hoff das ich darin Hilfe finde.
So eine ausführliche Beschreibung hab ich nicht ausgoogeln können!
-
entweder musst du im Compiler das tinymodell einschalten oder halt nen eigenenes simples Memorymodel bauen.
Danach brauchst du den Code nur noch an die Ensprende Stelle im Segment laden und nen call drauf.Ich hab das wie folgt gelöst:
extern "C" void start();start ist eine c funktion von mir die mir erstens die ganzen normalen header erspaart und später die main aufruft.
-
Kann man das auch mit Visual C++ machen oder braucht man dieses gcc?
-
hat zufällig jemand ein reinfaches programm als code,
das sowas tut? Also von asm auf c wechselt?
Ich würde mir das gern mal anschauen