Dies ist eine alte Version des Dokuments!
Einführung Assembler
Das Hauptelement eines Computers ist der Mikroprozessor. Die Aufgabedes Mikroprozessors ist es, Daten zu manipulieren, also zu verändern.
Über ein Leitungssystem (Bus) kann der Prozessor Daten mit Speicher- und Peripheriebausteinen austauschen. Fur die Verarbeitung der Daten verfügt er über einige interne Speicherplätze, die sogenannten Register .
Jedes Programm, das auf einem Computer ausgeführt wird, wird in viele kleine Einzelschritte zerlegt, die der Prozessor dann ausführt, um Daten mit anderen Teilen des Rechners auszutauschen, zu manipulieren und wieder auszugeben. Wenn wir in einer „höheren“ Prögrammiersprache wie Java, C++ oder PHP programmieren, übernehmen Compiler und Interpreter die Übersetzung unserer Programme in diese kleinen Einzelschritte die der Prozessor verstehen kann.
Ein Prozessor verfügt über eine gegebene Menge an Aktionen, die er ausführen kann1), den Befehlssatz. Die Befehle des Befehlssatzes heißen Maschinenbefehle. Es gibt Maschinenbefehle für den Datenaustausch mit Speicherzellen, für das Ansprechen von Peripheriegeräten, für den Transport zwischen Registern, für Veränderung von Daten und für vieles mehr.
Maschinenbefehle sind letztlich nur binäre Bitmuster aus Nullen und Einsen, z.B.:
00010101 00000000 00101010 10001011 11011000 ...
Das kann man nun platzsparend Hexadezimal schreiben2)
A1 00 2A 8B D8 ...
Das ändert jedoch nichts am Umstand, dass die Darstellung für uns Menschen wenig intuitiv ist.
Es gibt jedoch Anwendungsfälle in denen man sehr nah an der Hardware programmieren möchte oder muss - wann immer man Kontrolle darüber erlangen möchte, was der Prozessor genau macht.
Die Assemblersprache ist eine fast vollständige 1:1 Repräsentation der Maschinenbefehle des Prozessors, der Assembler kann Assemblerbefehle also direkt in Maschinensprache übersetzen - auf diese Weise ist es auch für uns Menschen möglich, dem Prozessor direkte Anweisungen zu geben. Assemblerbefehle bestehen meist aus 3 Buchstaben, den sogenannten Mnemonics.
Die folgende Grafik veranschaulicht die Situation:
[n/a: Keine Treffer]