Die Assemblerprogrammierung ist oft ein entscheidender Ausgangspunkt, wenn Computerprogrammierer ihr Handwerk erlernen. Die Assemblersprache (auch bekannt als ASM) ist eine Programmiersprache für Computer und andere Geräte und wird im Vergleich zu fortgeschritteneren Sprachen, die zusätzliche Funktionen bieten, im Allgemeinen als Low-Level-Variante angesehen. Nachdem Sie den Code geschrieben haben, wandelt ein Assembler ihn in Maschinencode (1s und 0s) um. Während die Anwendungen für die Assemblerprogrammierung angesichts der zunehmenden Komplexität der Prozessoren begrenzter geworden sind, bleibt Assembly für eine Reihe von Zwecken nützlich, einschließlich des Schreibens von Code für eigenständige ausführbare Dateien oder Gerätetreiber.
Schritte
Teil 1 von 3: Sich mit der Assemblersprache vertraut machen
Schritt 1. Informieren Sie sich über die Assemblersprache
Bevor Sie versuchen, Code zu schreiben, ist es immer eine gute Idee, zuerst die Sprache selbst zu verstehen. Es gibt eine Reihe von verfügbaren Ressourcen, die von Lehrbüchern bis hin zu Online-Leitfäden reichen.
Schritt 2. Lernen Sie grundlegende Begriffe
Sie möchten beispielsweise wissen, dass eine IDE (integrierte Entwicklungsumgebung) eine Programmierschnittstelle bietet, die Dinge wie Textbearbeitung, Debugging und Kompilierung behandelt. Vielleicht möchten Sie auch besser verstehen, wie die Assemblierung tatsächlich funktioniert, beispielsweise die Tatsache, dass "Register" die Zahlen speichern, die dem Programmcode zugeordnet sind. Ein besseres Verständnis der Terminologie erleichtert das Erlernen des Code-Schreibprozesses selbst.
Schritt 3. Entscheiden Sie, ob Assembler für Sie geeignet sind
Denken Sie daran, dass es eine Reihe von Programmiersprachen gibt, darunter auch einige, die weit mehr Funktionalität als Assembler bieten. Es gibt jedoch noch eine Reihe von Anwendungen, für die die Assemblierung nützlich ist – von der Erstellung eigenständiger ausführbarer Dateien für Telefon-Firmware und Klimaanlagensteuerungssysteme bis hin zur Entwicklung bestimmter prozessorspezifischer Anweisungen.
Schritt 4. Bestimmen Sie, welchen Assembler Sie verwenden möchten
Assembler wie A86, NASM oder GNU führen im Allgemeinen weniger komplexe Funktionen aus und können für Anfänger geeignete Ausgangspunkte sein. Jeder Assembler funktioniert ein wenig anders, daher funktionieren nachfolgende Anweisungen unter der Annahme, dass Sie MASM (Microsoft Macro Assembler) verwenden – einen einfachen Assembler, der mit Windows-Betriebssystemen funktioniert. Es verwendet x86-Assemblersprache und Intel-Syntax.
Teil 2 von 3: Herunterladen und Installieren des Assemblers und der IDE
Schritt 1. Laden Sie den Assembler selbst herunter
Sie finden die neueste Version von MASM in Visual Studio Enterprise 2015 (eine umfassende IDE mit einer Reihe von Tools), jedoch die einfachere Originalversion (MASM 8.0). MASM 8.0 kann kostenlos heruntergeladen werden. Beachten Sie, dass einige Assembler - wie Flat Assembler - auf mehreren Betriebssystemen verwendet werden können, einschließlich Windows, DOS und Linux. Andere Assembler – einschließlich Netwide Assembler (NASM) oder GNU Assembler (GAS) – funktionieren mit Mac-Betriebssystemen.
- Um MASM 8.0 herunterzuladen, klicken Sie einfach auf die Schaltfläche Download oben auf der Seite, auf die in diesem Schritt verwiesen wird.
- Die Systemanforderungen variieren je nach ausgewähltem Assembler, aber MASM 8.0 erfordert Windows 2000 Service Pack 3, Windows Server 2003 oder Windows XP Service Pack 2.
- Die Installation von MASM 8.0 erfordert außerdem, dass Sie zuvor Visual C++ 2005 Express Edition heruntergeladen und installiert haben.
Schritt 2. Laden Sie eine IDE herunter
Führen Sie einfach eine Suche nach "WinAsm download" durch, um die WinAsm-IDE zu finden und zu installieren, die im Allgemeinen gut mit MASM funktioniert. Andere IDEs sind möglicherweise besser geeignet, je nachdem, welche Programmiersprache Sie verwenden. Eine beliebte Alternative ist RadAsm.
Schritt 3. Installieren Sie MASM 8.0
Sie können die Installation sofort starten, indem Sie nach dem Download des Programms auf Ausführen klicken. Alternativ können Sie es zu einem späteren Zeitpunkt installieren. Klicken Sie in diesem Fall einfach auf Speichern. Wenn Sie auf Ausführen klicken, wird MASM 8.0 in Ihrem Verzeichnis „[Visual C++ Express]\bin“mit der Bezeichnung ml.exe installiert.
Schritt 4. Installieren Sie Ihre IDE
Nachdem WinAsm heruntergeladen wurde, entpacken Sie einfach die Dateien und kopieren sie in Ihren Ordner "c:\Programme\". Sie können auch eine Verknüpfung auf Ihrem Desktop platzieren, um den Zugriff zu erleichtern.
Schritt 5. Konfigurieren Sie Ihre IDE
Starten Sie zuerst das WinAsm-Programm. Wenn Sie eine Verknüpfung auf Ihrem Desktop platziert haben, doppelklicken Sie einfach darauf. Beachten Sie, dass sich dieser Vorgang unterscheidet, wenn Sie einen anderen Assembler oder eine andere IDE verwenden.
Schritt 6. Integrieren Sie WinAsm in MASM 8.0
Beginnen Sie, indem Sie auf die Registerkarte Tools von WinAsm klicken, Optionen von dieser Registerkarte auswählen und schließlich die Registerkarte Dateien und Pfade auswählen. Ändern Sie dann die ersten drei Einträge (verweisende Pfade) in Ihren MASM-Installationsordner. Wenn Sie fertig sind, klicken Sie auf OK.
Beim Anpassen der Informationen auf der Registerkarte Dateien und Pfade sollten die ersten drei Einträge wie folgt lauten. Der Binärpfad sollte C:\Masm32\Bin lauten; der Include-Pfad sollte C:\Masm32\Include sein; und der Bibliothekspfad sollte C:\Masm32\Bin sein
Teil 3 von 3: Code schreiben
Schritt 1. Beginnen Sie mit dem Schreiben von Code
Beginnen Sie, indem Sie WinAsm starten und auf die Registerkarte Datei klicken. Wählen Sie dann Neue Projekte aus, und Sie sehen mehrere Optionen. Zu diesen Optionen gehören Konsolenanwendung und Standard-EXE. Wenn Sie beispielsweise versuchen, eine GUI-basierte (grafische Benutzeroberfläche) Anwendung zu erstellen, würden Sie letztere auswählen.
Schritt 2. Verwenden Sie die Assembler-Programmstruktur
Eine typische Struktur könnte eine zeilendefinierende Architektur, einen Datenabschnitt (section.data) mit initialisierten Daten oder Konstanten, einen bss-Abschnitt (section.bss), der Variablen deklariert, und einen Textabschnitt (section.text) enthalten, in dem Sie Ihre aktuellen Daten platzieren Programmcode. Dieser letzte Abschnitt beginnt immer mit einer globalen _start-Deklaration. Jede Sequenz wird als Codeblock bezeichnet.
Schritt 3. Grundlegende Befehle verstehen
Es gibt drei Arten von Anweisungen in der Assemblersprache: ausführbare Anweisungen oder Anweisungen (diese sagen den Prozessoren, was sie über den Operationscode tun sollen), Assembler-Direktiven oder Pseudo-Ops (diese beschreiben Assembler-Prozesse für den Assembler) und Makros (diese dienen als Text- Substitutionsmechanismus).
Tipps
- Das Schreiben von effektivem Code in Assemblersprache (oder einer anderen) erfordert im Allgemeinen ein ziemlich umfangreiches Studium. Sie werden insbesondere die erforderliche Syntax für Assembler-Anweisungen lernen und ein Assemblerprogramm kompilieren und verknüpfen.
- Wenn Sie beim Versuch, einen bestimmten Assembler einzurichten, Schwierigkeiten haben, kann es ratsam sein, einem Forum beizutreten, in dem bestimmte Fragen behandelt werden können.
- Einige Programmiersprachen verfügen über Möglichkeiten zum Mischen von Assembler, wie zum Beispiel die Funktion ASM ("") in C und C++. Dies ist ein guter Anfang.
- Wenn Sie an einer IDE interessiert sind, die mit neueren MASM-Versionen funktioniert, sehen Sie sich Visual MASM unter www.visualmasm.com/ an.