Menu
Coddy logo textTech

Récapitulatif : Construire data.asm

Fait partie de la section Fondamentaux du Journey Assembly de Coddy — leçon 30 sur 45.

challenge icon

Défi

Vous avez appris plusieurs façons de définir des données dans la section .data :

LeçonCe que vous avez appris
3.1La section .data — où vont les données
3.2db — Define Byte (1 octet)
3.3dw — Define Word (2 octets)
3.4dd — Define Double Word (4 octets)
3.5dq — Define Quad Word (8 octets)
3.6Les chaînes de caractères avec db — créer du texte
3.7Le symbole $ — calculer automatiquement la longueur des chaînes

Il est maintenant temps de tout mettre ensemble et de construire un fichier data.asm complet.

Ce que vous allez créer dans ce défi :

Un fichier data.asm qui contient :

  • Une chaîne de caractères avec calcul automatique de la longueur
  • Une valeur d'un octet (byte)
  • Une valeur d'un mot (word)
  • Une valeur d'un double mot (double word)
  • Une valeur d'un quadruple mot (quad word)

Le tout correctement organisé dans la section .data.

Exemple d'un fichier <strong>data.asm</strong> complet :

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

Pourquoi c'est important :

Dans les prochains chapitres, vous utiliserez des fichiers data.asm comme celui-ci pour stocker les données dont vos programmes ont besoin. Le fichier main.asm inclura votre data.asm et utilisera les étiquettes (labels) et les longueurs que vous avez définies.

Défi

Créez un fichier data.asm complet avec les éléments suivants :

  1. Une chaîne de caractères appelée welcome avec la valeur 'Welcome!' suivie d'un saut de ligne (0x0a)
  2. Une constante appelée welcomeLen qui calcule automatiquement la longueur en utilisant $ - welcome
  3. Un octet (byte) appelé score avec la valeur 99
  4. Un mot (word) appelé year avec la valeur 2025
  5. Un double mot (double word) appelé population avec la valeur 8500000
  6. Un quadruple mot (quad word) appelé stars avec la valeur 100000000000

Le tout à l'intérieur de la section .data.

Essayez vous-même

%include "data.asm"

section .text
    global _start

_start:
    ; Afficher la chaîne de bienvenue
    mov rax, 1
    mov rdi, 1
    mov rsi, welcome
    mov rdx, welcomeLen
    syscall
    
    ; Quitter
    mov rax, 60
    mov rdi, 0
    syscall

Toutes les leçons de Fondamentaux