![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() |
![]() Hallo!
Ich hätte mal eine eher allgemeine Frage zum Programmieren: Man sagt ja das Assembler am maschinennächsten ist, weil dort eder Befehl 1:1 umgesetzt wird. Kann man also auch noch *.exe Dateien mit ASM erstellen für den PC?(wäre mir neu!) Ich habe zwar schon ein bisschen C programmiert(aber nur in Turbo C++, also nix Windows), aber übers compilieren hab ich mir noch nicht so Gedanken gemacht. Eine in C geschriebene Datei wird also dann in ASM Code umgewandelt, oder? Könnte ich also theoretisch diesen Code auch händisch eintippen und dann kompilieren??? Ich frage nur interessehalber, weil man bei meinem Taschenrechner auch ASM Programme verwenden kann, erst seit kurzem gibts auch eine C IDE dazu. C muss also auf ASM aufbauen...also deswegen kam mir der Gedanke dass man eben auch einfache Anwendungen für den PC direkt so schreiben kann oder??? Vor allem wenn auf Hardwarenähe zu achten ist wird man wohl ASM der Sprache C vorziehen(wenn ich mir ansehe wie hardwarenahe da gerechnet wird)??? Und noch was: Man könnte also theoretisch für jede Hardware C aufbauend auf ASM machen. Also könnte man auch für kleine Prozessoren , die man normalerweise in ASM programmiert, ein C Kompilierungsprogramm schreiben, so dass man auch diese Bauteile in C programmieren kann? Wie schon gesagt, die Fragen sind eher theoretisch, würde mich aber trotzdem über Antworten freuen. Viele Grüße, Harri |
![]() |
![]() |
![]() |
#2 |
Quantensingularität
![]() |
![]() Wenn du einen entsprechenden Compiler hast kannst du jede Programmiersprache für jede Plattform verwenden, bzw mittels des Compilers in den Maschienencode umwandeln. Assembler ist im Prinzip ja auch eine Programmiersprache, nur dass diese sehr Prozessornahe ist. C hingegen ist eine Hochspache, d.h. sie ist nicht sehr Hardwarenahe. Die Umsetzung erfolgt eben vom Compiler.
Der Compiler erzeugt allerdings keinen Assemblercode sondern Maschienencode direkt. Genauso wie das gleiche Assemblerprogramm eben den Maschinencode erzeugt. Dass aus C Assemblercode erzeugt wird habe ich allerdings noch nicht gehört, was aber nicht heist dass es unmöglich ist. Da ja Assembler und Maschienencode sich sehr nahe stehen ist durchaus ein Compiler vorstellbar der Assemblercode erzeugt. Nur würde das nichts bringen, da der Assemblercode ja auch wiederum compiliert werden müsste.
____________________________________
Was ist klein, grün und dreieckig? Ein kleines grünes Dreieck! Bahnübergänge sind die härtesten Drogen der Welt! Ein Zug und du bist weg! |
![]() |
![]() |
![]() |
#3 |
Inventar
![]() Registriert seit: 24.01.2001
Beiträge: 5.631
|
![]() Zu Deinem Anliegen habe ich etwas passendes:
LCC Win32 C IDE (=Shell =Arbeitsumgebung =Entwicklungsumgebung) LCC Win32 besteht aus der GUI Shell (Graphical user interface Zentrale) und den Programmen Compiler, Linker, Resourcedesigner Unter anderem kann man sich mit diesem Compilersystem ASM Dateien aus den C Dateien erzeugen lassen ... Einstellen kann man die Erzeugung von ASM Quelldateien im Menü Compiler > Settings -> Compiler settings Beispiel: Hello World |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() |
![]() Danke für Eure Antworten!
@Tarjan: Stimmt, es wird gleich Maschinencode erzeugt. Wäre ja sinnlos zuerst ASM Code erstellen, den eh keiner liest, und daraus dann erst Maschinencode zu erzeugen! Viele Grüße, Harri |
![]() |
![]() |
![]() |
#5 |
Inventar
![]() Registriert seit: 24.01.2001
Beiträge: 5.631
|
![]() Kleine Korrektur dazu: Es werden bei der Compilierung - ! im Speicher ! - Memnonics (=u.a. und hauptsächlich Assembleranweisungen) angelegt (vor allen Dingen wegen Optimierungen ist dies unter allen Umständen unbedingt NOTWENDIG).
Erst diese Memnonics - eben auch und fundamental Assembleranweisungen - werden in Maschinencode umgewandelt ![]() |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|