wie z. B. BASIC, Pascal, JavaScript oder C++ geschrieben sind. Jeder dieser Befehle einer Hochsprache ist letztlich nur ein Platzhalter für eine meist recht große Anzahl von Maschinenbefehlen. Eine spezielle Software (der Compiler
) übersetzt die Befehle der Hochsprache in Maschinencode, damit das Programm ausgeführt werden kann. Wenn man z. B. einen Text am Bildschirm anzeigen lassen möchte, dann lautet der entsprechende Befehl in der Programmiersprache BASIC: PRINT "Hello, World!". Ein Programm in Maschinensprache muß dagegen zunächst vergleichsweise umständlich dafür sorgen, daß jeweils ein Zeichen nach dem anderen in den Speicher der Grafikkarte kopiert wird. Darüber hinaus wird man nicht einen MOV-Befehl für jedes einzelne Zeichen eingeben, sondern eine Automatik verwenden, die einen einzigen MOV solange wiederholt, bis das Ende der Zeichenkette erreicht ist. Wer schon Erfahrungen mit der einen oder anderen Hochsprache hast, wird sich vielleicht fragen, was Assemblerprogrammierung denn überhaupt bringt; die Antwort leuchtet sofort ein: Man kann damit Core War spielen. Ganz im Ernst: Maschinenprogramme werden von Menschen geschrieben und können dadurch besonders gut optimiert werden. Sie nutzen so die Möglichkeiten der Hardware besser, als es ein Programm tun könnte, das von einem Compiler übersetzt oder gar von einem Interpreter
ausgeführt wird (z. B. JavaScript). Assemblerprogramme werden für den PC nur noch in zeitkritischen Abschnitten von Betriebsystemen, Treibern und 3D-Grafikprogrammen (Spiele, 3D-Studio
) geschrieben. Moderne Hochsprachen erlauben es, Assembler-Abschnitte direkt in den Quellcode einzubinden (Inline Assembler
).