Assembler lernen

Ein Kurs für Einsteiger, der mit dem Debugger arbeitet: Jedes Programm läuft Schritt für Schritt, und du siehst, was die CPU tut. Er beginnt bei den Registern und führt über Sprünge, Speicher und Funktionen bis zur Windows-API.

Alle Beispiele gibt es für vier Architekturen: i386 und x64 (Intel und AMD) sowie ARM 32 (ARM32, Thumb-2) und ARM 64 (AArch64). Auf jeder Lektion wählst du oben die Architektur, die dich interessiert; die Wahl bleibt für alle Lektionen gespeichert. Die Konzepte sind in allen gleich – nur die Namen der Befehle und der Register ändern sich. Wer zwei Architekturen nebeneinander liest, versteht beide besser.

Was du brauchst

Die Lektionen

  1. Register und der erste Befehl
  2. Hello, World! mit printf und Formaten
  3. Sprünge, Flags und bedingte Sprünge
  4. Schleifen und Zählen
  5. Rechnen: add, sub, mul, div (folgt)
  6. Zahlensysteme und Bits (folgt)
  7. Daten im Speicher: .data und Adressen (folgt)
  8. Arrays und Strings (folgt)
  9. Der Stack: push und pop (folgt)
  10. Funktionen: call und ret (folgt)
  11. Argumente und Aufrufkonventionen (folgt)
  12. Rekursion: die Fakultät (folgt)
  13. Die Windows-API (folgt)
  14. Dateien lesen und schreiben (folgt)
  15. Mit 64-Bit-Zahlen rechnen (folgt)
  16. Interrupts: Timer und DOS (folgt)
  17. Fremden Code lesen mit Dismonite (folgt)
  18. Schneller und kürzer (folgt)
  19. x64 im Detail (folgt)
  20. ARM im Detail: Bedingungen, Thumb-2, ARM64 (folgt)

Weitere Lektionen kommen nach und nach hinzu. Zu jeder gehören Beispielprogramme für alle vier Architekturen, Übungen mit Lösungen und ein kurzes Video.