Menu
Coddy logo textTech

Afficher deux chaînes

Fait partie de la section Fondamentaux du Journey Assembly de Coddy. Leçon 40 sur 45.

Tu sais déjà comment afficher une chaîne. Mais que faire si tu veux afficher deux chaînes distinctes ? Par exemple, "Hello " puis "World!" ?

Il suffit d’appeler deux fois l’appel système write, une fois pour chaque chaîne.

Comment cela fonctionne :

; Premier affichage
mov rax, 1
mov rdi, 1
mov rsi, firstMsg
mov rdx, firstLen
syscall

; Deuxième affichage
mov rax, 1
mov rdi, 1
mov rsi, secondMsg
mov rdx, secondLen
syscall

Exemple :

section .data
    first db 'Hello ', 0x0a
    firstLen equ $-first

    second db 'World!', 0x0a
    secondLen equ $-second

section .text
    global _start

_start:
    mov rax, 1
    mov rdi, 1
    mov rsi, first
    mov rdx, firstLen
    syscall

    mov rax, 1
    mov rdi, 1
    mov rsi, second
    mov rdx, secondLen
    syscall

    mov rax, 60
    mov rdi, 0
    syscall

Sortie :

Hello World!

Pourquoi afficher deux chaînes au lieu d’une seule ?

RaisonExemple
RéutilisabilitéAfficher le même message d’accueil avec différents noms
FlexibilitéAfficher différents messages selon les conditions
OrganisationConserver différents messages séparément en mémoire

Vous pouvez afficher autant de chaînes que vous le souhaitez :

Répétez simplement l’appel système write pour chaque chaîne.

challenge icon

Défi

On vous donne deux chaînes : partOne avec la valeur 'Good' et partTwo avec la valeur 'bye'. Elles possèdent déjà toutes deux un saut de ligne à la fin.

Écrivez le code pour afficher partOne, puis partTwo, afin que la sortie affiche :

Good

bye

La section de données et le syscall de sortie sont déjà fournis. Vous devez seulement écrire les deux syscalls write.

Essayez vous-même

section .data
    partOne db 'Good', 0x0a
    partOneLen equ $-partOne
    partTwo db 'bye', 0x0a
    partTwoLen equ $-partTwo

section .text
    global _start

_start:
    ; TODO: Afficher partOne en utilisant l'appel système write
    ; TODO: Afficher partTwo en utilisant l'appel système write

    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

Entraînez-vous par vous-même : Playground Assembly