Definition und Funktion:
Assembler ist eine maschinennahe Programmiersprache, die eine direkte, meist 1:1-Zuordnung von mnemonischen Befehlen (z.B. MOV, ADD, JMP) zu den elementaren Anweisungen des Prozessors (CPU) bietet. Sie ist die niedrigste Programmiersprache, die direkt vom Menschen lesbar ist, und liegt nur eine Abstraktionsstufe über dem eigentlichen Maschinencode.
Ein Assembler-Programm wird von einem Assembler (einem Übersetzungsprogramm) in Maschinencode übersetzt, der dann direkt von der CPU ausgeführt wird.
Relevanz in der Automatisierung:
- AWL-Basis: Die Anweisungsliste (AWL), eine der IEC 61131-3-Sprachen, ist konzeptionell stark an Assembler angelehnt und bietet ebenfalls einen direkten, maschinennahen Zugriff auf die SPS-Funktionalität.
- System- und Kernel-Entwicklung: Für die Entwicklung von Betriebssystem (OS)-Komponenten, Treiber und zeitkritischen Kernel-Funktionen in Echtzeitbetriebssystemen (z.B. für SPS oder Industrie-PC (IPC)) wird oft Assembler oder C/C++ mit Assembler-Einschüben verwendet.
- Performance-Optimierung: In sehr zeitkritischen Systemen kann Assembler für die Optimierung von Codeabschnitten genutzt werden, um maximale Performance und minimale Latenz zu erzielen.
- Kompaktheit: Assembler-Code ist extrem kompakt und speichereffizient.
In der modernen SPS-Programmierung wird Assembler (und auch AWL) zugunsten von lesbareren und besser wartbaren Hochsprachen wie ST (Structured Text) meist vermieden. Es bleibt jedoch ein fundamentales Konzept für das Verständnis der maschinennahen Arbeitsweise von Steuerungen.
→ Siehe auch: SPS, ST (Structured Text), Compiler, Betriebssystem (OS), Latenz

