Hardwarenahe Sprachen (Niedrigsprachen)
Hardwarenahe oder Niedrig-Level-Sprachen ermöglichen eine direkte Kommunikation mit der Hardware eines Computers. Sie sind eng mit dem Maschinencode verbunden und werden oft in Bereichen verwendet, in denen direkter Hardwarezugriff oder hohe Effizienz erforderlich ist. Es gibt zwei Haupttypen von Niedrig-Level-Sprachen: Maschinencode und Assemblersprache.
Maschinencode
Maschinencode ist die niedrigste Ebene der Programmiersprachen und wird direkt von der Hardware eines Computers verstanden. Jede Anweisung in Maschinencode entspricht genau einer Operation, die der Computer ausführen kann. Maschinencode wird in Binärform dargestellt und ist daher für Menschen sehr schwer zu lesen und zu schreiben.
Beispiel eines Maschinencodes (in Binär und Hexadezimal):
- Binär: 10111000 00000101
- Hexadezimal: B8 05
Diese Maschinencode-Anweisung würde z.B. den Wert 5 in das ‚eax‘ Register laden. Mit dieser Zahl könnte dann beispielsweise weiter gerechnet werden.
Assembler
Assemblersprache ist ein Schritt über dem Maschinencode und verwendet symbolische Repräsentationen für Maschinencode-Anweisungen. Jede Anweisung in Assemblersprache entspricht genau einer Anweisung in Maschinencode. Das macht den Code lesbarer und schreibbarer für Menschen, ohne die direkte Kontrolle über die Hardware zu verlieren.
Ein Assembler-Programm (genannt Assembler) wird verwendet, um Assemblersprache in Maschinencode zu übersetzen.
Beispiel eines Assembler-Codes:
- mov eax, 5
Diese Assembler-Anweisung würde ebenfalls den Wert 5 in das ‚eax‘ Register laden. Der Vorteil ist, dass die Anweisung in Assemblersprache für Menschen verständlicher ist.

In diesem Beispiel wird eine einfache Rechnung (5+3-2) dargestellt. Der Wert 5 wird in das Register (Das ‚eax‘-Register ist ein bestimmter Speicherbereich innerhalb des Prozessors, der für verschiedene Rechenoperationen genutzt wird) geladen, dann wird 3 addiert und schließlich 2 subtrahiert. Die resultierende Zahl (6) bleibt im ‚eax‘-Register. Diese Art von Operationen ist typisch für die Arbeitsweise eines Prozessors auf niedrigster Ebene.
Verwendung von Niedrig-Level-Sprachen
Obwohl Niedrig-Level-Sprachen schwieriger zu lesen und zu schreiben sind als Hochsprachen, haben sie ihre Vorteile. Sie ermöglichen eine direkte Kontrolle über die Hardware und können effizienter sein, da es keinen Übersetzungsprozess gibt. Sie werden oft in kritischen Systemen oder in eingebetteten Systemen verwendet, wo Effizienz entscheidend ist.
Dennoch sind Niedrig-Level-Sprachen nicht so verbreitet wie Hochsprachen, da die Entwicklung in Hochsprachen schneller und einfacher ist und weniger spezifisches Hardwarewissen erfordert. Hochsprachen bieten auch bessere Möglichkeiten für Wiederverwendung und Wartung von Code.