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


von Peter B. (funkheld)


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 (prx) A. K. (prx)


Lesenswert?

Auf Verdacht, da mit MiSTer nichts sagt: https://www.digitalmars.com/

von C. O. (Gast)


Lesenswert?


von Peter B. (funkheld)


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)


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 (prx) A. K. (prx)


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)


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)


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. (Gast)


Lesenswert?

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

von cppbert3 (Gast)


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 (prx) A. K. (prx)


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. (Gast)


Lesenswert?

Ja, viele Jahre benutzt. V 2.x wimre.

von cppbert3 (Gast)


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)


Lesenswert?

Danke für die Hilfe.

Der Turbo C 2.0 ist wunderbar

Gruss

von Peter B. (funkheld)


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


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


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)


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)


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)


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)


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)


Lesenswert?

Danke für die Info.

Gruss

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.