Kurz: Direkt mit dem Prozessor sprechen.
Genauer: Assembler (x86-64) wird eingesetzt für Betriebssysteme, Treiber, Compiler, Reverse Engineering, Sicherheitsforschung und das Verständnis, wie Computer wirklich rechnen. Ein Prozessor versteht nur Maschinencode: Zahlen, die Befehle darstellen. Assembler ist die lesbare Schreibweise dafür. Jede Zeile entspricht fast immer genau einem Prozessorbefehl, zum Beispiel mov (kopieren) oder add (addieren). Ein Assembler (das Programm, z. B. NASM) übersetzt den Text in Maschinencode.
Steckbrief
| Eigenschaft | Wert |
|---|---|
| Erschienen | 1949 |
| Entwickelt von | u. a. Maurice Wilkes (EDSAC) |
| Paradigmen | maschinennah, imperativ |
| Typisierung | keine |
| Ausführung | Assembler erzeugt Maschinencode |
| Paketverwaltung | — |
| Dateiendung | .asm, .s |
| Sprachfamilie | Klassiker (Fortran bis Ada) |
Einsatzgebiete
Betriebssysteme, Treiber, Compiler, Reverse Engineering, Sicherheitsforschung und das Verständnis, wie Computer wirklich rechnen.
So führst du Code aus
Datei hallo.asm speichern, mit nasm -f elf64 hallo.asm übersetzen und mit ld hallo.o -o hallo binden, dann ./hallo (Linux, NASM-Syntax).
Das erste Programm
section .data
text db "Hallo, Welt!", 10 ; 10 = Zeilenumbruch
laenge equ $ - text ; Länge berechnen
section .text
global _start
_start:
mov rax, 1 ; Systemaufruf Nr. 1: write
mov rdi, 1 ; Ziel: Dateideskriptor 1 = stdout
mov rsi, text ; Adresse des Textes
mov rdx, laenge ; Anzahl der Bytes
syscall ; Kernel aufrufen
mov rax, 60 ; Systemaufruf Nr. 60: exit
xor rdi, rdi ; Rückgabewert 0
syscallAusgabe:
Hallo, Welt!Der Kurs: 8 Kapitel
Jedes Kapitel enthält geprüfte Beispiele mit echter Ausgabe, Merksätze, eine Übungsaufgabe und ein Quiz. Zum Üben mit Fortschrittsanzeige, Abzeichen und Zertifikat: Assembler (x86-64)-Kurs auf der Lernseite.
Kapitel
Speicher
Funktionen
Betriebssystem
Fortgeschritten
Nachschlagen
Ähnliche Sprachen
- C: Nah an der Hardware: schnell, klein, die Grundlage vieler Systeme
- Zig: Einfach, explizit und nah an der Maschine
- Fortran: Die älteste Hochsprache, bis heute König der Zahlen
Siehe auch
Programmiersprachen im Überblick, Sprachen im Vergleich, Zeitstrahl der Programmiersprachen, Programmierparadigmen, Kompiliert oder interpretiert?