Section courante

A propos

Section administrative du site

Assembleur 80x86

MOVZX

INTEL 80386+ Move with Zero-Extend

Syntaxe

MOVZX operandedestination, operandesource

Paramètres

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

Description

Cette instruction permet de copier un registre de taille inférieur dans un registre de plus grande taille en remplissant les bits supplémentaires par des 0.

Remarques

Algorithme

MODULE MOVZX(operandedestination, operandesource)
   SI taille de l'opérande source = 8 bits ALORS
      SI taille de l'opérande destinataire = 16 bits ALORS
         operandedestination(15..8) ← 00h
         operandedestination(7..0) ← operandesource
      SINON
         operandedestination(31..8) ← 000000h
         operandedestination(7..0) ← operandesource
      FIN SI
   SINON
      operandedestination(31..16) ← 0000h
      operandedestination(15..0) ← operandesource
   FIN SI

Mnémonique

Instruction Opcode Description
MOVZX reg16, reg/mem8 0Fh B6h /r Copie le contenu d'une opérande de registre ou d'un emplacement mémoire 8 bits dans un registre 16 bits avec un extension des zéros.
MOVZX reg32, reg/mem8 0Fh B6h /r Copie le contenu d'une opérande de registre ou d'un emplacement mémoire 8 bits dans un registre 32 bits avec un extension des zéros.
MOVZX reg64, reg/mem8 0Fh B6h /r Copie le contenu d'une opérande de registre ou d'un emplacement mémoire 8 bits dans un registre 64 bits avec un extension des zéros.
MOVZX reg32, reg/mem16 0Fh B7h /r Copie le contenu d'une opérande de registre ou d'un emplacement mémoire 16 bits dans un registre 32 bits avec un extension des zéros.
MOVZX reg64, reg/mem16 0Fh B7h /r Copie le contenu d'une opérande de registre ou d'un emplacement mémoire 16 bits dans un registre 64 bits avec un extension des zéros.

Exceptions

Message Mode réel Virtuel 8086 Mode protégé Description
#SS(Pile non-canonique) 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
    X Un segment de données nulle est utilisé comme référence mémoire
#PF(Faute de page)   X X Une faute de page résultat de l'exécution de l'instruction
#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 MOVSXD
Instruction assembleur 80x86 - Instruction MOVSX

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 818 à 819.

Dernière mise à jour : Jeudi, le 23 juillet 2015