Section courante

A propos

Section administrative du site

Assembleur 80x86

MOVD

INTEL Pentium MMX+ Move Doubleword or Quadword

Syntaxe

MOVD dest, source

Paramètres

Nom Description
dest Ce paramètre permet d'indiquer l'opérande recevant la valeur.
source Ce paramètre permet d'indiquer l'opérande contenant la valeur à copier.

Description

Cette instruction permet de copier l'opérande dans un registre XMM ou vice-verça.

Remarque

Algorithme

MODULE MOVD(dest,source)
   SI l'opérande de destination est un registre MMX ALORS
      dest(31..0) ← source
      dest(63..32) ← 00000000h
   SINON
      dest(31..0) ← source
      dest(127..32) ← 000000000000000000000000h
   FIN SI
   SI l'opérande source est un registre MMX ou XXM ALORS
      destsource(31..0)
   FIN SI

Mnémonique

Instruction Opcode Description
MOVD xmm, reg/mem32 66h 0Fh 6Eh /r Copie une valeur 32 bits de l'emplacement mémoire ou registre 32 bits dans un registre XMM.
MOVD xmm, reg/mem64 66h 0Fh 6Eh /r Copie une valeur 64 bits de l'emplacement mémoire ou registre 64 bits dans un registre XMM.
MOVD reg/mem32, xmm 66h 0Fh 7Eh /r Copie une valeur 32 bits du registre XMM dans l'emplacement mémoire ou registre 32 bits.
MOVD reg/mem64, xmm 66h 0Fh 7Eh /r Copie une valeur 64 bits du registre XMM dans l'emplacement mémoire ou registre 64 bits.
MOVD mmx, reg/mem32 0Fh 6Eh /r Copie une valeur 32 bits de l'emplacement mémoire ou registre 32 bits dans le registre MMX
MOVD mmx, reg/mem64 0Fh 6Eh /r Copie une valeur 64 bits de l'emplacement mémoire ou registre 64 bits dans le registre MMX
MOVD reg/mem32, mmx 0Fh 7Eh /r Copie une valeur 32 bits du registre MMX dans l'emplacement mémoire ou registre 32 bits
MOVD reg/mem64, mmx 0Fh 7Eh /r Copie une valeur 64 bits du registre MMX dans l'emplacement mémoire ou registre 64 bits

Exceptions

Message Mode réel Virtuel 8086 Mode protégé Description
#UD(Opcode invalide) X X X Cette instruction n'est pas supporté, comme indiqué par le bit 23 du registre EDX de la fonction 0000_00001h de l'instruction CPUID.
X X X Les ensembles d'instructions SSE2 ne sont pas supporté, comme indiqué par le bit 26 du registre EDX de la fonction 0000_0001h de l'instruction CPUID.
X X X Le bit d'émulation (EM) du registre CR0 est fixé à 1.
X X X L'instruction utilise les registres XMM avec le registre CR4.OSFXSR=0.
#NM(Périphérique non disponible) X X X Le bit d'échangeur de tâche (TS) du registre CR0 est fixé à 1.
#SS(Pile) X X X Une adresse mémoire dépasse la limite du segment de pile ou n'est pas canonique
#GP(Protection général) X X X Une adresse mémoire dépasse la limite du segment de données ou n'est pas canonique
#PF(Faute de page)   X X Une faute de page résultat de l'exécution de l'instruction
#MF(x87 virgule flottante) X X X Un exception de nombre réel x87 s'est produite et l'instruction référence un registre MMX.
#AC(Vérifie l'alignement)   X X Un désalignement de la référence mémoire est effectué quand une vérification d'alignement est activé

Voir également

Instruction assembleur 80x86 - Instruction MOVDQA
Instruction assembleur 80x86 - Instruction MOVDQU
Instruction assembleur 80x86 - Instruction MOVDQ2Q
Instruction assembleur 80x86 - Instruction MOVQ
Instruction assembleur 80x86 - Instruction MOVQ2DQ

Références

Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M, Edition Intel, Mars 2010, Publication No. 253666-034US, page 735 à 737.

Dernière mise à jour : Vendredi, le 5 septembre 2014