Menu
CoddyTech

L'importance du saut de ligne

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

Vous avez ajouté 0x0a (saut de ligne) à la fin de vos chaînes. Mais que se passe-t-il si vous l’oubliez ?

Sans saut de ligne :

Le texte s’affiche, mais le curseur reste sur la même ligne. Toute sortie ultérieure apparaîtra juste à côté.

Exemple sans saut de ligne :

section .data
    first db 'Hello'
    firstLen equ $ - first
    second db 'World'
    secondLen equ $ - second

section .text
    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

Sortie :

HelloWorld

Pas d’espace. Pas de nouvelle ligne. Tout est collé.

Avec un saut de ligne :

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

Résultat :

Hello World

Chaque chaîne s’affiche sur sa propre ligne.

Ce que fait le saut de ligne :

CaractèreASCIIEffet
0x0a10Déplace le curseur au début de la ligne suivante

Erreurs courantes avec les retours à la ligne :

ErreurRésultat
Aucun retour à la ligneLe texte s’enchaîne sur une seule ligne
Retour à la ligne uniquement à la fin de la dernière chaîneLes chaînes précédentes s’enchaînent, la dernière passe à la ligne suivante
Retour à la ligne au milieu d’une chaîneLes sauts de ligne se produisent à des endroits inattendus

La règle sûre :

Ajoutez toujours 0x0a à la fin de chaque chaîne que vous voulez afficher sur sa propre ligne.

challenge icon

Défi

Trois chaînes sans retours à la ligne vous sont fournies. Votre tâche consiste à les afficher afin qu’elles apparaissent sur trois lignes distinctes.

Les chaînes sont :

ChaîneValeur
word1'Apple'
word2'Banana'
word3'Cherry'

Exigences :

  • Définir chaque chaîne avec un retour à la ligne (0x0a) à la fin
  • Calculer automatiquement la longueur de chaque chaîne
  • Afficher les trois chaînes à l’aide de l’appel système write
  • Quitter proprement avec le code 0

Essayez vous-même

section .data
    ; TODO: Définir word1 avec le 1er texte indiqué dans les instructions et un saut de ligne
    ; TODO: Définir word2 avec le 2e texte indiqué dans les instructions et un saut de ligne
    ; TODO: Définir word3 avec le 3e texte indiqué dans les instructions et un saut de ligne
    ; TODO: Calculer la longueur de chaque chaîne

section .text
    global _start

_start:
    ; TODO: Afficher word1
    ; TODO: Afficher word2
    ; TODO: Afficher word3

    ; TODO: Quitter proprement
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