Frage

Ich arbeite an der Portierung von uc / OS-II von DOS auf x86 (Realmodus).Ich brauche:

  1. Ein Compiler zum Generieren einer 16-Bit-x86-Assembly im Realmodus

  2. Ein Assembler zum Zusammenstellen der generierten Assembly zu einer Objektdatei

  3. Ein Linker, um die Objektdateien miteinander zu verknüpfen und eine ausführbare Datei auszugeben (raw binary, COFF, PE oder ELF-Formate sind in Ordnung)

  4. Eine Standardbibliothek ohne Aufruf von DOS-Diensten (int 21h), hängen nur vom BIOS-Dienst ab.

Ich frage mich, ob es eine Werkzeugkette gibt, die das tun könnte.

War es hilfreich?

Lösung

Schauen Sie sich die FreeDOS Projekt.Sie haben Entwicklertools dazu gehören Compiler, Assembler und Linker.Sie müssen jedoch wahrscheinlich die Standardbibliothek so ändern, dass sie BIOS-Aufrufe anstelle von int 21h verwendet.

Andere Tipps

16-Bit-Compiler?Einige von ihnen werden hier erwähnt:

Gibt es einen C-Compiler, der auf den 8086 abzielt?

Im Allgemeinen werden sie für akademische Übungen verwendet, Wenn Sie also auf eine Bildungseinrichtung abzielen, finden Sie auch viele Beispiele:

http://www.google.com.sg/search?q=site%3Aedu+C+compiler+8086

Bei einem früheren Job hatten wir ein Projekt, das auf uc / OS basierte und auf einer Real-Mode-x86-Plattform lief.Wir haben TopSpeed C anstelle der bekannteren Borland- oder Microsoft-Compiler verwendet, da TopSpeed C der einzige verfügbare und brauchbare Satz war, der zu der Zeit verfügbar war volatile Recht.Was Sie beim Aufbau von uc / OS dringend benötigen.Sowohl Turbo C als auch Microsoft C (und ich denke, es ist auch QuickC) haben falsch kompilierte Zugriffe auf volatile variablen - normalerweise Zwischenspeichern von Werten in Registern und ähnlichen Fehlern.

Sie würden es jedoch schwer haben, TopSpeed C zu erreichen.Und seine Assembler-Syntax ist...einzigartig.(Ich denke, es basiert auf Modula-2 oder so;es ist am Ende sehr anders als MASM / TASM / nasm, mit dem Sie vielleicht 100-mal vertrauter sind.)

Schauen Sie sich jedes Bootloader-Projekt an, z. B. GRUB.Es sollte leicht ersichtlich sein, dass sie auch alles brauchen, was Sie erwähnt haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top