Menu
Coddy logo textTech

Assembler le tout

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

Vous avez appris les quatre éléments de l'appel système write :

RegistreCe qu'il contientValeur pour la sortie écran
raxNuméro de l'appel système1 (write)
rdiDescripteur de fichier1 (stdout)
rsiAdresse du bufferAdresse de votre chaîne
rdxNombre d'octetsLongueur de votre chaîne

Il est maintenant temps de tout mettre ensemble.

Le modèle complet de l'appel système write :

mov rax, 1          ; numéro de l'appel système pour write
mov rdi, 1          ; descripteur de fichier (stdout)
mov rsi, msg        ; adresse de la chaîne
mov rdx, msgLen     ; nombre d'octets à imprimer
syscall             ; demander à l'OS d'imprimer

Un programme complet et fonctionnel :

section .data
    msg db 'Hello, World!', 0x0a
    msgLen equ $ - msg

section .text
    global _start

_start:
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msgLen
    syscall

    mov rax, 60
    mov rdi, 0
    syscall

Ce que fait ce programme :

ÉtapeCe qui se passe
1Affiche "Hello, World!" à l'écran
2Passe à une nouvelle ligne
3Se termine proprement avec le code 0

L'ordre est important :

Vous devez configurer les registres avant d'exécuter syscall. L'ordre des instructions mov n'a pas d'importance tant que les quatre sont configurés avant syscall.

challenge icon

Défi

Écrivez un programme complet qui affiche le message "Assembly is fun" suivi d'un saut de ligne, puis se termine proprement.

La chaîne et sa longueur sont déjà définies. Vous avez seulement besoin d'écrire le code à l'intérieur de _start:.

Essayez vous-même

section .data
    msg db 'Assembly is fun', 0x0a
    msgLen equ $ - msg

section .text
    global _start

_start:
    ; À FAIRE : Configurer et appeler l'appel système write
    ; Utiliser rax=1, rdi=1, rsi=msg, rdx=msgLen

    ; À FAIRE : Quitter proprement avec le code 0
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