Maschinensprache
Unter Maschinensprache (auch Maschinencode) versteht man die Sprache, die ein Prozessor direkt ausführen kann, sozusagen seine Muttersprache. Im Gegensatz zur maschinennahen Assemblersprache oder Hochsprachen handelt es sich um eine für den Menschen kaum lesbare Sprache, die allenfalls von Experten mit einem sogenannten Maschinensprachemonitor bearbeitet werden kann.
Table of contents |
2 Überblick über die typische Funktionalität einer Maschinensprache 3 Programmerstellung 4 Verwandte Artikel |
Unterschiede zu den Hochsprachen
Überblick über die typische Funktionalität einer Maschinensprache
Die Maschinensprache enthält die direkt vom Prozessor verstandenen Befehle.
Das Programmiermodell eines Computers beschreibt die für die Programmierung relevanten Hardware-Details.
Typischerweise hat ein Computer einige Register, also Speicher in die 8, 16, 32 oder 64 Bit Daten gespeichert werden können. Der Prozessor kann über den Adressbus und Datenbus seinen angeschlossenen Hauptspeicher, sowie Schnittstellen zu externen Geräten ansprechen.
Grundlegende Maschinen-Befehle lassen sich in folgende Kategorien unterteilen:
- Arithmetische Operationen
- Führen Berechnungen durch
- Speicheroperationen
- Übertragen Daten zwichen Prozessor und Speicher
- Vergleiches Operationen
- Vergleich von Werten
- Steueroperationen
- Verzweigungen, die den Ablauf des Programms beeinflussen
- Verzweigungen, die den Ablauf des Programms beeinflussen
Programmerstellung
Intern ist jeder Befehl der Maschinensprache durch ein oder mehrere Zahlenwerte codiert. Diese Zahlenwerte bestehen aus dem Opcode, der die Art des Befehls festlegt, eventuell gefolgt von mehrere Bytes an Daten zu diesem Befehl. Eine sinnvolle Folge von solchen Zahlencodes im Hauptspeicher bzw. als Datei gespeichert bildet demnach ein Programm. Es gibt nun verschiedene Arten, solche Programme zu erstellen:- Über einen Hex-Editor direkt den Zahlen-Code schreiben. (sehr kryptisch und unpraktisch)
- Mit einem Assembler: Assemblersprachen formulieren die Prozessorbefehle in einer einfachen, lesbaren Syntax. Dieser Quelltext wird danach vom Assembler, einem speziellen Compiler, in den Maschinencode konvertiert.
- Ein Programm wird in einer relativ abstrakten Hochsprache geschrieben, danach von einem Compiler in Maschinencode übersetzt (kompiliert).
- Alternativ können Programme in einer Hochsprache auch in einen Zwischencode übersetzt oder auch direkt durch einen Interpreter abgearbeitet werden.
Manche Architekturen verfügen nicht über Register, die Datenverarbeitung läuft in diesen Fällen in einem Stapel-, einem Variablen-Kontext und dem Hauptspeicher ab.
Verwandte Artikel