Forum
Wann gilt der Begriff Übersetzen? - Mnemonik (Elektronik)
Hallo Thomas,
» Da ist mir auch nie etwas ganz klar geworden. Wenn man im
» Assemblerprogramm z.B. den move-Befehl eingibt, dann erzeugt das Programm
» den entsprechenden Maschinen-Befehlscode. Es wird also übersetzt...
»
»
» Worin liegt genau der Unterschied zwischen dem Übersetzen eines
» Hochsprache-C-Befehles und den eines Assemblerbefehles?
»
» Falls in Assembler nicht übersetzt wird, was passiert dann?
»
Auch der Assembler übersetzt, aber anders.....
» BTW.: Es gibt Leute die wehren sich dagegen C als Hochsprache zu
» bezeichnen, wogegen C++ würdig genug für diesen Titel ist...
ähmmm, naja....
--->>>
Meiner Meinung nach hat hws da einen kleinen Flüchtigkeitsfehler.
Der Maschinenbefehl ist die Sprache des Prozessors, folglich dann auch des Controllers.
Der Assembler ist ein Interpreter.
Er interprediert die Syntax der Befehls-Mnemonik und setzt sie in die Prozessor Sprache um.
---> Aus den definierten Buchstaben entstehen die Zahlen, welche den Befehl für den geforderten Prozess ergeben.
""1:1"" Übersetzung" .. irretiert hier..
Bei einem 8bit Prozessor können es bis zu 256 Befehle sein.
Praktisch wird dieser Zahlenvorrat (Befehlsvorrat) nicht voll verwendet.
Beispiel mit dem Microprocessor 6502:
http://www.c64-wiki.de/index.php/%C3%9Cbersicht_6502-Assemblerbefehle
LDA - load accumulator immediate -- lade den Akku unmittelbar mit einem Zahlenwert --> A9 #$nn
http://www.c64-wiki.de/index.php/LDA_(RAUTE)$nn
http://translate.google.de/#en|de|immediate
http://de.wikipedia.org/wiki/Maschinensprache
==> Den Prozessor 6502 nehme ich deshalb ganz gern als Taschentuchknoten,
abgesehen davon, dass ich den komplett durchkaute -- damit fasst ausschließlich arbeitete,
weil er sehr einfach zu verstehen ist, und daher auch für MicroCONTROLLER als Referenz dienen kann.
-- ist meine Meinung...
Na, der Controller hat halt seinen Prozessor im Häubchen,
inklusive der Peripherie - Sätze von Register und Ports.
Der Prozessor hat sie halt draussen, mit Daten und Adressbussleitungen verbunden,
-- lange Leitungen, im Gegensatz zu den kurzen Controller-Interne_Leitungen.
---=>>
Assembler - Programmier 1.Ebene, Interpreter
Basic - 2.Ebene, Interpeter (in der Urform - jetzt ist es auch auf einen Comiler hochgewachsen)
Compiler - 3.Ebene
Die Interpreter und Compiler sind meiner Ansicht nach immer Sparingpartner ...
... "Übersetzer" im Überbegriff, bis runter zum Assembler, der den Befehlszahlen"Salat" richtig einordnet.
Früher musste ich vom C compilieren, dann interpredieren,
"händich" mit eben diesen zwei Programmtypen.
--- > ERGO --- der Assmebler kann auch ein Mensch sein, der die Mnemonik und Prozessorbefehle kennt,
eben diesen Zahlensalat im ROM /Befehlsspeicher/ lesen kann.
-- Genau das trainierte ich mit dem 6502 und 8080, 8085 ausgiebigst.
Mit den Programmiersprachen in in den höheren Ebenen ist das um ein Vielfaches schwieriger.
Grüße
Gerald
---
--
...und täglich grüßt der PC:
"Drück' ENTER! Feigling!"
Gesamter Thread:











