Einfachen C-Compiler für den 8086 unter Win10.

#6132262
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.
#6132295
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.
#6132343
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
#6132380
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.
Gast #6132666
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 von einem Moderator gelöscht.
Gast #6133728
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).
Gast #6134444
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)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren