Programmation Assembleur/x86/Copie entre registres et mémoire

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche
Programmation Assembleur x86

Modifier ce modèle


Move[modifier | modifier le wikicode]

Exemple :

 .data
 
 valeur:
         .long   2
 
 .text
         .global _start
 
 _start:
         movl    $6, %eax
         # %eax = 6
 
         movw    %ax, valeur
         # valeur = 6
 
         movl    $0, %ebx
         # %ebx = 0
 
         movb    %al, %bl
         # %ebx = 6
 
         movl    valeur, %ebx
         # %ebx = 6
 
         movl    $valeur, %esi
         # %esi = l’address de valeur
 
         xorl    %ebx, %ebx
         # %ebx = 0
 
         movw    valeur(, %ebx, 1), %bx
         # %ebx = 6
 
 # Linux sys_exit
         mov     $1, %eax
         xorl    %ebx, %ebx
         int     $0x80