Menu
CoddyTech

Zusammenfassung: data.asm erstellen

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

challenge icon

Aufgabe

Du hast mehrere Möglichkeiten kennengelernt, Daten im Abschnitt .data zu definieren:

LektionWas du gelernt hast
3.1Der Abschnitt .data, in dem Daten abgelegt werden
3.2db: Byte definieren (1 Byte)
3.3dw: Word definieren (2 Byte)
3.4dd: Double Word definieren (4 Byte)
3.5dq: Quad Word definieren (8 Byte)
3.6Strings mit db: Text erstellen
3.7Das Symbol $: Stringlängen automatisch berechnen

Jetzt ist es an der Zeit, alles zusammenzufügen und eine vollständige Datei data.asm zu erstellen.

Was du in dieser Challenge erstellen wirst:

Eine Datei data.asm, die Folgendes enthält:

  • Einen String mit automatischer Längenberechnung
  • Einen Byte-Wert
  • Einen Word-Wert
  • Einen Double-Word-Wert
  • Einen Quad-Word-Wert

Alles übersichtlich im Abschnitt .data angeordnet.

Beispiel für eine vollständige data.asm:

section .data
    ; String with automatic length
    msg db 'Hello', 0x0a
    msgLen equ $ - msg
    
    ; Numbers of different sizes
    smallNum db 100
    mediumNum dw 5000
    largeNum dd 100000
    veryLarge dq 5000000000

Warum das wichtig ist:

In den nächsten Kapiteln wirst du Dateien wie diese data.asm verwenden, um die Daten zu speichern, die deine Programme benötigen. Die Datei main.asm bindet deine Datei data.asm ein und verwendet die Labels und Längen, die du definiert hast.

Challenge

Erstelle eine vollständige Datei data.asm mit Folgendem:

  1. Einen String namens welcome mit dem Wert 'Welcome!', gefolgt von einem Zeilenumbruch (0x0a)
  2. Eine Konstante namens welcomeLen, die die Länge automatisch mit $ - welcome berechnet
  3. Ein Byte namens score mit dem Wert 99
  4. Ein Word namens year mit dem Wert 2025
  5. Ein Double Word namens population mit dem Wert 8500000
  6. Ein Quad Word namens stars mit dem Wert 100000000000

Alles im Abschnitt .data.

Probier es selbst

%include "data.asm"

section .text
    global _start

_start:
    ; Gib die Begrüßungszeichenfolge aus
    mov rax, 1
    mov rdi, 1
    mov rsi, welcome
    mov rdx, welcomeLen
    syscall
    
    ; Beenden
    mov rax, 60
    mov rdi, 0
    syscall

Alle Lektionen in Grundlagen

Übe selbstständig: Assembly-Playground