Menu
Coddy logo textTech

Riepilogo: creare data.asm

Fa parte della sezione Fondamenti del percorso Assembly di Coddy. Lezione 30 di 45.

challenge icon

Sfida

Hai imparato diversi modi per definire i dati nella sezione .data:

LezioneCosa hai imparato
3.1La sezione .data, dove vanno inseriti i dati
3.2db: definire un byte (1 byte)
3.3dw: definire una word (2 byte)
3.4dd: definire una double word (4 byte)
3.5dq: definire una quad word (8 byte)
3.6Stringhe con db: creare testo
3.7Il simbolo $: calcolare automaticamente la lunghezza delle stringhe

Ora è il momento di mettere tutto insieme e creare un file data.asm completo.

Cosa creerai in questa sfida:

Un file data.asm che contiene:

  • Una stringa con calcolo automatico della lunghezza
  • Un valore byte
  • Un valore word
  • Un valore double word
  • Un valore quad word

Tutto organizzato correttamente nella sezione .data.

Esempio di un file <strong>data.asm</strong> completo:

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

Perché è importante:

Nei prossimi capitoli, userai file data.asm come questo per memorizzare i dati necessari ai tuoi programmi. Il file main.asm includerà il tuo file data.asm e utilizzerà le etichette e le lunghezze che hai definito.

Sfida

Crea un file data.asm completo con quanto segue:

  1. Una stringa chiamata welcome con il valore 'Welcome!' seguito da un carattere di nuova riga (0x0a)
  2. Una costante chiamata welcomeLen che calcola automaticamente la lunghezza usando $ - welcome
  3. Un byte chiamato score con il valore 99
  4. Una word chiamata year con il valore 2025
  5. Una double word chiamata population con il valore 8500000
  6. Una quad word chiamata stars con il valore 100000000000

Tutto all'interno della sezione .data.

Provalo tu

%include "data.asm"

section .text
    global _start

_start:
    ; Stampa la stringa di benvenuto
    mov rax, 1
    mov rdi, 1
    mov rsi, welcome
    mov rdx, welcomeLen
    syscall
    
    ; Esci
    mov rax, 60
    mov rdi, 0
    syscall

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Assembly