Menu
Coddy logo textTech

Zwei-Dateien-Muster

Teil des Abschnitts Grundlagen der Assembly-Journey von Coddy — Lektion 5 von 45.

Im Laufe dieses Kurses werden Sie jedes Programm mit zwei separaten Dateien schreiben:

DateiZweck
data.asmSpeichert alle Daten (Strings, Zahlen, Variablen)
main.asmSpeichert den gesamten Code (Anweisungen, Logik, Ablauf)

Dies wird vom Assembler nicht verlangt. Sie könnten alles in einer Datei unterbringen. Aber die Trennung von Code und Daten macht Ihre Programme übersichtlicher, leichter lesbar und einfacher zu debuggen.

Warum zwei Dateien?

  • Organisation — Daten und Code haben unterschiedliche Zwecke. Sie getrennt zu halten, hilft Ihnen, klar zu denken.
  • Wiederverwendbarkeit — Sie können dieselbe data.asm mit verschiedenen main.asm-Dateien verwenden.
  • Lesbarkeit — Sie müssen nie durch lange Zeichenfolgen scrollen, um Ihren Code zu finden.
  • Branchenübliche Praxis — Echte Projekte trennen Code und Daten (wenn auch oft auf komplexere Weise).

Wie es funktioniert:

Die Datei main.asm bindet die Datei data.asm mithilfe der %include-Direktive ein. Dies weist den Assembler an: „füge den gesamten Inhalt von data.asm genau hier vor dem Assemblieren ein.“

Die beiden Dateien nebeneinander:

data.asmmain.asm
section .data%include "data.asm"
(Variablen kommen hierhin)section .text
 global _start
 _start:
 (Anweisungen kommen hierhin)

Was jeder Abschnitt macht:

AbschnittZweckWelche Datei?
section .dataEnthält Daten, die im Speicher vorhanden sind, wenn das Programm ausgeführt wirddata.asm
section .textEnthält die ausführbaren Anweisungen (Code)main.asm
global _startMacht den Einstiegspunkt für den Linker sichtbarmain.asm
_start:Label, an dem die Programmausführung beginntmain.asm

Sie müssen sich section .data, section .text, global _start oder _start: im Moment nicht merken. Wir werden jeden dieser Befehle in den folgenden Lektionen im Detail behandeln. Schauen Sie sich vorerst nur das Gesamtbild an und verstehen Sie die Struktur der beiden Dateien.

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen