Prinzipiell versteht der Controller nur seine binären
Maschinencodes. In den Anfängen der Computertechnik mussten
Programme direkt mit den Binär- bzw. Hexcodes in die Systeme
einprogrammiert werden. Man kann sich vorstellen, dass dies
ein sehr mühsames Geschäft war, da die Maschinencodes
für uns Menschen nur sehr schwer zu merken sind und der
zusammenhängende Sinn hinter langen Zahlenreihen nicht
erfasst werden kann. Beispiel eines Intel-Hex-Files zur Übertragung
von Maschinencodes in den Zielrechner:
Die ersten "brauchbaren" Programmiersprachen waren
daher die sogenannten
Assemblersprachen. Der Assembler (engl. to assembly =
zusammenbauen) übersetzt dabei sogenannte mnemonische
Befehlsworte (Duden: Mnemonik = die Kunst, das Gedächnis
durch Hilfsmittel zu unterstützen), welche auf den Sinn
eines Befehls hinweisen, in den entsprechenden Maschinencode.
Da jede Prozessorarchitektur ihre eigenen Maschinenbefehle
besitzt, gibt es auch eine Vielzahl unterschiedlicher Assemblersprachen,
die eine Portierung von Code auf eine andere Prozessorarchitektur
in der Regel nicht gestatten. Ebenso ist der Code bei großen
Assembler-Projekten nur schwer zu warten. Aus diesen Gründen
wurden nach und nach die höheren Programmiersprachen (Basic,
Pascal, C,...) entwickelt. Deren Quellcode ist leicht lesbar
und lässt sich in der Regel mit wenigen Änderungen
für die unterschiedlichsten Systemen übersetzen.
Die Befehle einer Assemblersprachen sind grundsätzlich
in vier Befehlsgruppen unterteilt:
- Datentransportbefehle
- Arithmetische
Operationen
- Logische
Operationen
- Programmsteuerbefehle