IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

x86 32-bits / 64-bits Assembleur Discussion :

Juste une question "ouverte" : registres mmx.


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Membre habitué Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Points : 170
    Points
    170
    Par défaut Juste une question "ouverte" : registres mmx.
    Avez-vous déjà utilisé les registres mmx, non pas dans le cadre de calculs sous le contrôle du fpu... mais simplement en registres temporaires permettant de manipuler un qword en une seule fois. Save et restore du contexte du fpu avant et après bien entendu. Autrement dit, avez-vous déjà utillisé les reg mmx pour tout autres choses que leur but premier ?
    Merci de faire partager votre expérience, merci pour vos réponses.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    Les registres mmx sont utilisés dans certaines optimisation de copie de mémoire.

  3. #3
    Membre habitué Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Points : 170
    Points
    170
    Par défaut
    Merci Blustuff pour ta réponse.
    Aucune autres expériences à ce sujet pour les autres ?

  4. #4
    Membre habitué Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Points : 170
    Points
    170
    Par défaut
    Non, apparemment, aucune autres expériences dans ce domaine.
    Personnellement, j'ai déjà utiisé avec succès les registres mmx pour modifier un descripteur (64 bits) en "une seule fois". L'utilisation de registres 32 bits classiques auraient provoqués un état intermédiaire instable. Je clôture donc ce sujet, sans trop de réponses ... un peu particulier, il est vrai ... et remercie Blustuff d'y avoir participé.

  5. #5
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Qu'entends-tu par descripteur 64 bits ?
    Ca peut être intéressant, j'avais songé à me servir de ces registres, et des SSE et SSE2 éventuellement présents (c'est mon cas) pour accélérer des traitement mémoires.
    En clair, les utiliser pour faire du stockage quand ils ne servent pas à faire du calcul.
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  6. #6
    Membre habitué Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Points : 170
    Points
    170
    Par défaut
    Par exemple modifier un descripteur dans l' IDT. Tu charges l'original dans un registre mmx (movq), tu le mofifies suivant tes besoins, et tu le replaces, par une seule instruction, à sa place, dans l'IDT. L'utilisation de mov 32 bits, placerait le descripteur dans un état semi-modifié ... pas possible ça ! Avant de faire ce genre de manip, je sauvegarde l'état du FPU (fsave) ... et retour de l'état initial ensuite (frstor). Avant d'utiliser "frstor", utiliser "emms" ! Et comme il s'agit de manip critiques, par prudence, je place un "mfence" avant. Ca tourne top, stable, aucun soucis. Oui, tu peux te servir des registres mmx comme registres temporaires, si tu n'utilises pas l'unité de calculs ... juste comme j'ai dit, qq précautions ... fsave, emms, frstor.

  7. #7
    Inactif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 160
    Points
    160
    Par défaut
    Bravo Robby, bien vu et pertinent
    bon code @+

    La saturation de ces registres est utilisable pour éviter certains repliements intempestifs sans test lourds et pas seulement dans le domaine du multimédia...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Juste une question
    Par sambzh24 dans le forum ASP
    Réponses: 2
    Dernier message: 06/02/2008, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo