Assemblersprache
Was ist eine Assemblersprache?
Eine Assemblersprache ist eine Art von Programmiersprache auf niedriger Ebene, die direkt mit der Hardware eines Computers kommunizieren soll. Im Gegensatz zu Maschinensprache, die aus binären und hexadezimalen Zeichen besteht, sind Assemblersprachen so konzipiert, dass sie von Menschen gelesen werden können.
Low-Level-Programmiersprachen wie Assembler sind eine notwendige Brücke zwischen der zugrunde liegenden Hardware eines Computers und den höheren Programmiersprachen – wie Python oder JavaScript – in denen moderne Softwareprogramme geschrieben werden.
Die zentralen Thesen
- Eine Assemblersprache ist eine Programmiersprache, die Hochsprachen in Maschinensprache übersetzt.
- Es ist eine notwendige Brücke zwischen Softwareprogrammen und ihren zugrunde liegenden Hardwareplattformen.
- Assembler-Sprachen werden heute selten direkt geschrieben, obwohl sie immer noch in einigen Nischenanwendungen verwendet werden, beispielsweise wenn die Leistungsanforderungen besonders hoch sind.
Wie Assemblersprachen funktionieren
Grundsätzlich sind die grundlegendsten Befehle, die von einem Computer ausgeführt werden, Binärcodes, die aus Einsen und Nullen bestehen. Diese Codes werden direkt in die „Ein“- und „Aus“-Zustände der Elektrizität übersetzt, die sich durch die physischen Schaltkreise des Computers bewegt. Im Wesentlichen bilden diese einfachen Codes die Grundlage der „Maschinensprache“, der grundlegendsten Variante der Programmiersprache.
Natürlich wäre kein Mensch in der Lage, moderne Softwareprogramme zu konstruieren, indem er explizit Einsen und Nullen programmiert. Stattdessen müssen sich menschliche Programmierer auf verschiedene Abstraktionsebenen verlassen, die es ihnen ermöglichen, ihre Befehle in einem für Menschen intuitiveren Format zu artikulieren. Insbesondere geben moderne Programmierer Befehle in sogenannten „Hochsprachen“ aus, die eine intuitive Syntax wie ganze englische Wörter und Sätze sowie logische Operatoren wie „Und“, „Oder“ und „Sonst“ verwenden Alltag vertraut.
Letztendlich müssen diese High-Level-Befehle jedoch in Maschinensprache übersetzt werden. Anstatt dies manuell zu tun, verlassen sich Programmierer auf Assemblersprachen, deren Zweck es ist, automatisch zwischen diesen High-Level- und Low-Level-Sprachen zu übersetzen. Die ersten Assemblersprachen wurden in den 1940er Jahren entwickelt, und obwohl moderne Programmierer nur sehr wenig Zeit damit verbringen, sich mit Assemblersprachen zu beschäftigen, bleiben sie dennoch für die Gesamtfunktion eines Computers unerlässlich.
Reales Beispiel für eine Assemblersprache
Assemblersprachen werden auch heute noch von Informatikstudenten studiert, um zu verstehen, wie moderne Software mit den zugrunde liegenden Hardwareplattformen zusammenhängt. In manchen Fällen müssen Programmierer weiterhin in Assemblersprachen schreiben, etwa wenn die Anforderungen an die Performance besonders hoch sind oder die jeweilige Hardware nicht mit aktuellen Hochsprachen kompatibel ist.
Ein für das Finanzwesen relevantes Beispiel sind die Hochfrequenzhandelsplattformen (HFT), die von einigen Finanzunternehmen verwendet werden. Auf diesem Markt ist die Geschwindigkeit und Genauigkeit von Transaktionen von größter Bedeutung, damit sich die HFT-Handelsstrategien als rentabel erweisen. Um sich gegenüber den Mitbewerbern zu behaupten, haben einige HFT-Firmen ihre Handelssoftware direkt in Assemblersprachen geschrieben, sodass es nicht erforderlich ist, auf die Übersetzung der Befehle aus einer höheren Sprache in die Maschinensprache zu warten.