Maschinensprache
Maschinensprache oder Maschinencode ist eine hardwarenahe Sprache, die aus Binärziffern (Einsen und Nullen) besteht. Höhere Programmiersprachen wie Swift und C++ müssen in Maschinensprache kompiliert werden, bevor der Code auf einem Computer ausgeführt wird.
Da Computer digitale Geräte sind, erkennen sie nur Binärdaten. Jedes Programm, jedes Video, jedes Bild und jedes Textzeichen wird binär dargestellt. Diese Binärdaten oder dieser Maschinencode werden als Eingabe vom CPU verarbeitet. Die daraus entstehende Ausgabe wird an das Betriebssystem oder eine Anwendung gesendet, die die Daten visuell darstellt. Der ASCII-Wert für den Buchstaben "A" lautet im Maschinencode beispielsweise 01000001, aber diese Daten werden auf dem Bildschirm als "A" angezeigt. Ein Bild kann Tausende oder sogar Millionen von Binärwerten enthalten, die die Farbe jedes Pixels bestimmen.
Obwohl Maschinencode aus Einsen und Nullen besteht, verwenden unterschiedliche Prozessorarchitekturen unterschiedlichen Maschinencode. Ein PowerPC-Prozessor mit einer RISC-Architektur benötigt beispielsweise anderen Code als ein Intel-x86-Prozessor mit einer CISC-Architektur. Ein Compiler muss den Quellcode einer höheren Programmiersprache für die richtige Prozessorarchitektur kompilieren, damit ein Programm korrekt ausgeführt werden kann.
Maschinensprache im Vergleich zu Assemblersprache
Maschinensprache und Assemblersprache sind beide hardwarenahe Sprachen, aber Maschinencode steht in der Hierarchie der Computersprachen unterhalb der Assemblersprache. Die Assemblersprache enthält für Menschen lesbare Befehle wie mov, add und sub, während Maschinensprache keine Wörter oder auch nur Buchstaben enthält. Einige Entwickler schreiben Assemblersprache manuell, um ein Programm zu optimieren, aber sie schreiben keinen Maschinencode. Nur Entwickler, die Software-Compiler schreiben, müssen sich mit Maschinensprache beschäftigen.
NOTE: Maschinencode besteht zwar technisch aus Binärdaten, kann aber auch als Hexadezimalwerte dargestellt werden. Der Buchstabe "Z", der binär 01011010 lautet, kann beispielsweise als 5A im Hexadezimalcode angezeigt werden.
Testen Sie Ihr Wissen