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 immediate. « Immediate » 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 fait rien de visible (aucune sortie pour le moment), mais il place bien les nombres dans les registres.

Remarque : Tu verras l’effet de ces instructions MOV dans les leçons suivantes, lorsque tu apprendras à afficher ou à déboguer. Pour l’instant, retiens 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 simplement un nombre)
Les registres à gauchemov rax, 5 est correct. mov 5, rax est incorrect
challenge icon

Défi

Écrivez une ligne de code d’assemblage pour chaque tâche :

  1. Placez le nombre 5 dans le registre rax.
  2. Placez le nombre 7 dans le registre rbx.
  3. Placez 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

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