Menu
Coddy logo textTech

Chaînes de caractères avec db

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

Vous savez déjà que db définit un seul octet. Mais db peut également définir une chaîne de caractères — plusieurs octets à la suite.

Syntaxe :

label db 'text here'

Exemple :

section .data
    message db 'Hello'

Cela crée 5 octets en mémoire : 'H', 'e', 'l', 'l', 'o'

Ce qui se passe en mémoire :

AdresseOctetValeur ASCII
message'H'72
message+1'e'101
message+2'l'108
message+3'l'108
message+4'o'111

Ajouter un saut de ligne :

Pour afficher une chaîne et passer à la ligne suivante, ajoutez 0x0a (caractère de saut de ligne) :

section .data
    message db 'Hello', 0x0a

Maintenant, la chaîne contient 6 octets : 'H','e','l','l','o', saut de ligne

Plusieurs chaînes :

section .data
    hello db 'Hello', 0x0a
    goodbye db 'Goodbye', 0x0a

Pourquoi c'est important :

Les chaînes de caractères sont les données les plus courantes que vous utiliserez en assembleur. L'appel système write (que vous apprendrez au chapitre 5) affiche des chaînes de caractères en lisant des octets de la mémoire jusqu'à ce qu'il atteigne la longueur que vous lui donnez.

Note importante :

Les chaînes de caractères ne sont que des octets. Le processeur ne sait pas et ne se soucie pas du fait que 'H' soit une lettre. C'est simplement le nombre 72. L'appel système write interprète ces nombres comme des caractères lors de l'affichage.

challenge icon

Défi

Facile

Créez une chaîne de caractères nommée greeting avec la valeur 'Hi' suivie d'un saut de ligne (0x0a) dans la section .data.

Essayez vous-même

%include "data.asm"

section .text
    global _start

_start:
    ; Afficher la chaîne en utilisant l'appel système write
    mov rax, 1
    mov rdi, 1
    mov rsi, greeting
    mov rdx, 3           ; 'H', 'i', saut de ligne = 3 octets
    syscall
    
    ; Quitter
    mov rax, 60
    mov rdi, 0
    syscall
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux