banner

Blog

Jul 27, 2023

Wer hat Angst vor Assemblersprache?

Diese Woche hat [Al Williams] einen tollen Gedankenbeitrag darüber geschrieben, ob und wann es sich überhaupt noch lohnt, eine Assemblersprache zu lernen. Die Kommentare strömten über uns, und wir wundern uns, dass so viele Leute uns grundsätzlich zustimmen: Ja. Natürlich ist es ein Hackaday-Publikum, aber ich habe trotzdem nicht damit gerechnet, dass die Liebe für die primitivste aller Sprachen so überschwänglich ist.

Assemblersprache ist jedoch nicht wirklich eine Sprache. Jeder Chip spricht seinen eigenen Dialekt. Natürlich gibt es Ähnlichkeiten: Jede CPU hat eine Add-Funktion, oder? Aber fast keine CPU hat nur ein Add – es gibt Varianten mit und ohne Carry, Speichern und Lesen aus Arbeitsregistern oder RAM. Und sobald man über direkten oder indirekten Speicherzugriff spricht, erfordern die einzelnen Architekturen der Chips unterschiedliche Assemblersprachen.

Aber auch wenn die Art und Weise, wie CPUs ihre Aufgaben erledigen, aus rein sprachlicher Sicht inkompatibel sein kann, sind sie sich im Hinblick auf die Programmiersprachen, die Sie im Laufe der Zeit lernen werden, viel ähnlicher. So wie Ihnen das Erlernen einer Reihe solider Algorithmen unabhängig davon, welche höhere Sprache Sie verwenden, von Nutzen sein wird, wird Ihnen das Erlernen der Konzepte hinter dem Erstellen von Schleifen und einfachen Speicherstrukturen aus roher Assemblersprache unabhängig davon, welche CPU Sie wählen, von Nutzen sein.

Ich habe nur für eine Handvoll CPUs Assemblersprache geschrieben, und zwar nicht viel davon, aber ich habe festgestellt, dass die Mikrocontroller am benutzerfreundlichsten sind. Wenn Sie also Ihre Zehen ins Wasser tauchen möchten, greifen Sie zu einem AVR oder einem MSP430. Oder vielleicht sogar die neue Hotness – ein RISC-V. Sie werden feststellen, dass die Befehlssätze so klein sind, dass Sie den Großteil der Arbeit selbst erledigen müssen. Und das ist schließlich der Sinn des Erlernens einer Assemblersprache: zu lernen, wie das Silizium zu denken. Wenn Sie es wie ein lustiges Rätsel betrachten, das es zu lösen gilt, werden Sie das Erlebnis wahrscheinlich sogar genießen.

[Al]s ursprüngliche Frage war, wann man eine Assemblersprache lernen sollte: vor oder nach einer höheren Sprache. Für 99 % unserer Leser würde ich sagen, dass die Antwort jetzt lautet.

AKTIE