Assembleur 80x86 |
EMMS |
INTEL Pentium-MMX |
Empty MMX State |
Syntaxe
Description
Les registres MMX (8 registres de 64 bits mm0 à mm7) et MPU (8 registres de 80 bits ST(0) à ST(7) partagent
les mêmes registres. Cela pose problème lorsque les instructions MPU et MMX sont appelées par le même programme. En effet, lorsque le CPU entre
dans le mode MMX, il affecte des valeurs invalides aux 16 bits non utilisés de chacun des registres du MPU. Ceci rend les calculs en
virgule flottante effectués par le MPU invalides, étranges et imprévisibles.
Faire entrer le CPU en mode MMX est chose simple : il suffit d'exécuter une simple instruction MMX. Sortir du mode MMX est
un peu moins simple et se fait en exécutant l'instruction EMMS.
Remarque
- Si vous souhaitez utiliser cette instruction avec le Free Pascal, vous devez avoir la directive de compilation $MMX d'activé.
Si vous souhaitez utiliser directement les possibilités de ces instructions, ainsi il faudra utiliser le mot réservé «ASM» pour arriver à cet objectif.
Algorithme
MODULE EMMS
FloatPointTagWord ← FFFFh
|
Mnémonique
Instruction |
Opcode |
Description |
EMMS |
0Fh 77h |
Cette instruction permet de retourner au mode MPU après usage du mode MMX. |
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 381 à 383.
Dernière mise à jour : Vendredi, le 5 septembre 2014