Forum: PC-Programmierung Einfachen C-Compiler für den 8086 unter Win10.


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Peter B. (funkheld)


Bewertung
0 lesenswert
nicht lesenswert
Hallo, guten Tag.

Ich suche bitte einen einfachen C-Compiler für den 8086 unter Win10 für 
meine experimente unter dem MiSTer.

Danke.
Gruss

von A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Auf Verdacht, da mit MiSTer nichts sagt: https://www.digitalmars.com/

von C. O. (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von Peter B. (funkheld)


Bewertung
0 lesenswert
nicht lesenswert
Das ist der MiSTer mit dem x86 Core.
Den Core darauf hatte ich mal ausgewählt zum spielen.

https://github.com/MiSTer-devel/Main_MiSTer/wiki

Gruss

von S. R. (svenska)


Bewertung
0 lesenswert
nicht lesenswert
Für den 8086 gibt es kaum noch gebrauchbare C-Compiler.
OpenWatcom ist da noch eine der besseren Wahlmöglichkeiten.

Darüber hinaus gibt es eigentlich nur die Klassiker wie z.B. Borland 
oder Turbo C. Die laufen in DOSBox recht gut, auch unter Windows 10. Ob 
es den bcc ("Bruce's C Compiler") auch für Windows gibt, weiß ich nicht. 
Aber das ist alles K&R oder maximal ANSI-C.

von A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
S. R. schrieb:
> OpenWatcom ist da noch eine der besseren Wahlmöglichkeiten.

Der von Walter Bright / Digital Mars ist es auch. War neben einem C 
Compiler damals der erste C++ Compiler mit x86-Code statt C-Code als 
Ergebnis, unter dem Namen Zortech. Walter interessiert sich zwar seit 
langem mehr für sein Kind D, als für C/C++, aber die ganze Historie von 
16-Bit DOS über 32-Bit DOS, 16-Bit Windows bis Win32 ist noch dabei.

Man darf bei Compilern für 16-Bit x86 natürlich keine Sprachstandards 
erwarten, die nicht existierten, als diese Plattform relevant war. Als 
sie existierten, brauchte niemand mehr modernes C auf 16-Bit x86. Aber 
ANSI C gibts natürlich, und eben C++, i.W. auf Stroustrup-Stand.

: Bearbeitet durch User
von Thomas Z. (usbman)


Bewertung
0 lesenswert
nicht lesenswert
Ich werfe Mal den BCC in die Runde 5.0 oder so kann man kostenlos als 
Comandline Version runterladen. Solange man nicht cpp als Endung 
verwendet ist das ein reiner C Compiler, es sei denn man setzt den 
entsprechenden Switch.
V5 war wohl die letzte Version.
Ich benutzt das immer noch für kleine Cmdline Tools.

Turbo C würde ja schon genannt kann aber nur DOS Code was unter W10 
etwas umständlich ist, da das Ergebnis nur in der DOS Box funktioniert.

Thomas

von S. R. (svenska)


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Man darf bei Compilern für 16-Bit x86 natürlich keine Sprachstandards
> erwarten, die nicht existierten, als diese Plattform relevant war.

Naja, für den Z80 gibt es mit SDCC durchaus einen modernen, 
optimierenden Compiler. Nur für die 16-bittigen x86er hat sich (leider) 
niemand die Mühe gemacht.

Thomas Z. schrieb:
> Turbo C würde ja schon genannt kann aber nur DOS Code was unter W10
> etwas umständlich ist, da das Ergebnis nur in der DOS Box funktioniert.

Das betrifft jeden anderen 8086-Code auch.
Aber dem TO ging es auch um eine FPGA-Plattform, da ist das eher egal.

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
Die Intel Compiler? Wüsste jetzt allerdings nicht wo man die noch 
bekommt.

von cppbert3 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
GCC IA 16: https://github.com/tkchia/gcc-ia16

GCC 6.3 der echten 16Bit code erzeugen, ansonsten OpenWatcomV2 oder eben 
Digitalmars DMC - mit allen drei gute Erfahrungen gemacht

von A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Johannes S. schrieb:
> Die Intel Compiler? Wüsste jetzt allerdings nicht wo man die noch
> bekommt.

Hat es tatsächlich einen Intel C Compiler für 16 Bit x86 gegeben?

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
Ja, viele Jahre benutzt. V 2.x wimre.

von cppbert3 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Johannes S. schrieb:
>> Die Intel Compiler? Wüsste jetzt allerdings nicht wo man die noch
>> bekommt.
>
> Hat es tatsächlich einen Intel C Compiler für 16 Bit x86 gegeben?

Ja

https://software.intel.com/en-us/forums/intel-c-compiler/topic/672355

Der Watcom oder Dmc von Digitalmars sind aber uptodate und gibt es auch 
als x64 versionen mit denen man immer noch 16BIT DOS exen bauen kann

Beitrag #6133208 wurde vom Autor gelöscht.
von Peter B. (funkheld)


Bewertung
0 lesenswert
nicht lesenswert
Danke für die Hilfe.

Der Turbo C 2.0 ist wunderbar

Gruss

von Peter B. (funkheld)


Bewertung
-1 lesenswert
nicht lesenswert
Jetzt suche ich einen ASM um eine Obj zu erzeugen.

Habe zwar den NASM, sehe aber nicht aus der Hilfe , wie ich nun eine OBJ 
erzeuge von der ASM.

Danke.
GRuss

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Peter B. schrieb:
> Jetzt suche ich einen ASM um eine Obj zu erzeugen.

Ich erinnere mich irgendwie dran, dass es auch einen TASM (Turbo 
Assembler) gab. Weiß aber gerade nicht mehr, ob er Bestandteil von Turbo 
C war oder separat … hatte jedenfalls eine andere Syntax als der 
Microsoft-Assembler.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
S. R. schrieb:
> Ob es den bcc ("Bruce's C Compiler") auch für Windows gibt, weiß ich
> nicht.

Zeit, für Bruce Evans eine Gedenkminute einzulegen: er ist in der 
Weihnachtszeit 2019 verstorben.

von Thomas Z. (usbman)


Bewertung
0 lesenswert
nicht lesenswert
Peter B. schrieb:
> Jetzt suche ich einen ASM um eine Obj zu erzeugen.

Da wäre ja dann TASM zu erwähnen.  Die letzte Version 5.0 geht auch 
direkt unter W10. Ältere Versionen genau wie TurboC via Dosbox.
TASM versteht auch Masm Syntax  Handbücher sind online als PDF verfügbar 
und wie alle alten Borland Docs sehr gut.

Thomas

von jjflash (Gast)


Bewertung
0 lesenswert
nicht lesenswert
TASM hatte ich damals im Paket mit Turbo Pascal 6.0 erhalten ... und als 
ich dann Borland C++ auch erstanden hatte, hatte ich den TASM dann 
gleich 2 mal.

In der letzten Version war der TASM sogar "objektorientiert" (was mir 
damals schon sehr an den Haaren herbeigezogen vorkam).

Also: einmal nach TASM suchen (oder nach dem MASM von Microsoft, wobei 
die Kombination von Turbo C und dem TASM wohl die bessere sein dürfte).

von Peter B. (funkheld)


Bewertung
0 lesenswert
nicht lesenswert
Danke habe ich gefunden.

Ich  in ein bisschen 8086 süchtig geworden durch den MiSTer und durch 
den 8086/486-Core.

Gruss

von rbx (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Peter B. schrieb:
> Ich  in ein bisschen 8086 süchtig geworden durch den MiSTer und durch
> den 8086/486-Core.

Schau dir am besten auch noch FreeDos an (für die VM z.B) und besorge 
dir nach Möglichkeit noch einen Rechner, mit dem du sinnvollerweise von 
Dosdisketten (o.ä) booten kannst.
Mit dem .com Format kann man einfach im Hexeditor seinen Code 
abspeichern und das läuft dann, falls fehlerfrei. Besser aber (!) vorher 
in einer VM den Code testen und optimieren.


( https://en.wikipedia.org/wiki/COM_file )
( https://www.freedos.org/ )
( https://thestarman.pcministry.com/asm/debug/debug.htm )
( https://math.berkeley.edu/~vojta/ ) (debugx für 32 Bit)

von Peter B. (funkheld)


Bewertung
0 lesenswert
nicht lesenswert
Danke für die Info.

Gruss

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.