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

Assembleur Discussion :

Le registre ST


Sujet :

Assembleur

  1. #1
    Invité
    Invité(e)
    Par défaut Le registre ST
    Je n'arrive pas à mettre la valeur de BH dans le registre ST qui est le registre du coprocesseur mathématique 387(je crois).
    J'ai d'abord éssayé avec MOV ST,BH
    Puis FILD BH
    Puis FLD BH
    rien n'y fait, FASM marque toujours Illegal operande ou un truc du genre !
    Pourriez vous m'aider ?
    Et au fait j'ai Windows XP

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,
    Tout vos essais sont en effet impossible. Reportez vous au manuel intel pour plus de précisions. Attention FILD et FLD ne fonctionne pas de la même façon.

    DF /0 FILD m16int Push m16int onto the FPU register stack.
    DB /0 FILD m32int Push m32int onto the FPU register stack.
    DF /5 FILD m64int Push m64int onto the FPU register stack.
    m16 signifie "opérande mémoire de 16 octets" (je vous fait grâce de m32 et m64).

    D9 /0 FLD m32real Push m32real onto the FPU register stack.
    DD /0 FLD m64real Push m64real onto the FPU register stack.
    DB /5 FLD m80real Push m80real onto the FPU register stack.
    D9 C0+i FLD ST(i) Push ST(i) onto the FPU register stack.
    syntaxe MASM:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    .data 
    Neuf WORD 9
    Dix_Float REAL4 10.0
     
    .code
     
    FILD Neuf ; ST (0) = 9.0
    FLD Dix_Float ; ST(0) = 10.0 et ST(1) = 9.0
    Neitsa.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Je vous remerci de votre réponse mais je ne connais rien à la syntaxe MASM, que veut dire .data et .code ?
    Et ne peut t'on alors pas passez directement un registre dans ST ?
    Et vous avez parlé du manuel Intel.
    J'en ai déjà entendu parler, ou pourrais je me le procurer, s'il vous plaît ?
    Merci beaucoup.

  4. #4
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    je ne connais rien à la syntaxe MASM, que veut dire .data et .code ?
    Je suis allez faire un petit tour sur le net à la recherche de tut sur FASM. Ce dernier utilise aussi ces directives. on met dans .data les données qui vont servir au programme, et dans .code les instructions du programme.

    Et ne peut t'on alors pas passez directement un registre dans ST ?
    Non, comme spécifié dans le premier message, les opérandes pour FLD et FILD sont uniquement des opérandes mémoire. (m16, m32,etc.) ou alors un registre ST (donc co-processeur) pour FLD. Ces instructions ne supporte pas un registre ALU (entier, tel que EAX, BX,etc.).

    J'en ai déjà entendu parler, ou pourrais je me le procurer, s'il vous plaît ?
    Les manuels INTEL sont disponibles ici:

    http://www.intel.com/design/Pentium4...on.htm#manuals

    les instructions sont dans le 2A et le 2B.

    Si vous avez d'autres questions, n'hésitez pas.

    Amicalement, Neitsa.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci, beaucoup de votre réponse.

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

Discussions similaires

  1. [Windows]accès base de registre windows
    Par Greg01 dans le forum API standards et tierces
    Réponses: 27
    Dernier message: 05/06/2007, 15h14
  2. Accès à la base de registre windows à distance
    Par xavame dans le forum Sécurité
    Réponses: 4
    Dernier message: 13/07/2005, 15h23
  3. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25
  4. registre de connexion windows internet
    Par lafaryan dans le forum Web & réseau
    Réponses: 2
    Dernier message: 21/08/2002, 12h52
  5. Utilisez vous la base de registres ?
    Par gRRosminet dans le forum C++Builder
    Réponses: 8
    Dernier message: 04/06/2002, 13h55

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