Menu
Coddy logo textTech

MOV Immédiat

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

La forme la plus simple de MOV est MOV immédiat. « Immédiat » signifie que la valeur est écrite directement dans l'instruction elle-même.

Syntaxe :

mov register, value

La valeur est copiée dans le registre.

Exemples :

InstructionCe qu'elle fait
mov rax, 5Copie le nombre 5 dans rax
mov rbx, 100Copie le nombre 100 dans rbx
mov rcx, 0Copie le nombre 0 dans rcx

Ce code ne produit rien de visible (pas encore de sortie), mais il place avec succès des nombres dans les registres.

Remarque : Vous verrez l'effet de ces instructions MOV dans les leçons suivantes lorsque vous apprendrez à afficher ou à déboguer. Pour l'instant, sachez simplement que les nombres sont stockés dans les registres.

Règles importantes :

RègleExplication
La valeur doit tenir dans le registrerax peut contenir de très grands nombres (jusqu'à 2⁶⁴-1)
La valeur est copiée, pas déplacéeLe nombre d'origine existe toujours (c'est juste un nombre)
Les registres à gauchemov rax, 5 est correct. mov 5, rax est incorrect
challenge icon

Défi

Écrivez une ligne de code assembleur pour chaque tâche :

  1. Mettez le nombre 5 dans le registre rax.
  2. Mettez le nombre 7 dans le registre rbx.
  3. Mettez le nombre 3 dans le registre rcx.

Essayez vous-même

section .data
    msg_rax db 'rax = '
    msg_rax_len equ $ - msg_rax
    msg_rbx db 'rbx = '
    msg_rbx_len equ $ - msg_rbx
    msg_rcx db 'rcx = '
    msg_rcx_len equ $ - msg_rcx

section .bss
    digit resb 1

section .text
    global _start

_start:
    %include "solution.asm"
    
    ; Sauvegarder les valeurs
    mov r12, rax
    mov r13, rbx
    mov r14, rcx
    
    ; Afficher "rax = "
    mov rax, 1
    mov rdi, 1
    mov rsi, msg_rax
    mov rdx, msg_rax_len
    syscall
    
    ; Afficher la valeur de rax
    mov rax, r12
    add rax, 48
    mov [digit], al
    mov rax, 1
    mov rdi, 1
    mov rsi, digit
    mov rdx, 1
    syscall
    
    ; Afficher "rbx = "
    mov rax, 1
    mov rdi, 1
    mov rsi, msg_rbx
    mov rdx, msg_rbx_len
    syscall
    
    ; Afficher la valeur de rbx
    mov rax, r13
    add rax, 48
    mov [digit], al
    mov rax, 1
    mov rdi, 1
    mov rsi, digit
    mov rdx, 1
    syscall
    
    ; Afficher "rcx = "
    mov rax, 1
    mov rdi, 1
    mov rsi, msg_rcx
    mov rdx, msg_rcx_len
    syscall
    
    ; Afficher la valeur de rcx
    mov rax, r14
    add rax, 48
    mov [digit], al
    mov rax, 1
    mov rdi, 1
    mov rsi, digit
    mov rdx, 1
    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