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 :

Questions sur le tutoriel Assembleur


Sujet :

Assembleur

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Questions sur le tutoriel Assembleur
    Bonjour à tous

    Après lecture du tutoriel sur l'assembleur, je voudrais comprendre ce que signifie une telle ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mov dword ptr fs:[00000000] ,ecx
    Le terme ptr designe quoi ? et dword ?

    Le terme push permet de mettre une valeur dans la pile ?
    Pour la recuperer il suffit d'utiliser pop ?

    Pour vider entierement la pile, faut-il faire push 00000000 ?
    Combien de niveaux contient la pile ?

    En vous remerciant
    Fabrice

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 946
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 946
    Points : 59 539
    Points
    59 539
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue !
    Citation Envoyé par drenalyn
    je voudrais comprendre ce que signifie une telle ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mov dword ptr fs:[00000000],ecx
    Le terme ptr designe quoi ? et dword ?
    La directive dword ptr indique à l'assembleur (le compilateur) la taille de la donnée à transférer. Dans l'instruction que tu cites, cette directive est superflue car l'assembleur sait déjà qu'il a affaire à une donnée 32 bits, puisque le registre 32 bits ecx se trouve dans l'instruction.

    Par contre, la directive est indispensable dans une instruction comme celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mov fs:[00000000],dword ptr [ebx]
    qui signifie "copier à l'adresse fs:[00000000] la donnée se trouvant à l'adresse ds:[contenu du registre ebx]". Dans ce cas, l'assembleur ne peut savoir tout seul s'il doit copier 8, 16 ou 32 bits :
    - byte ptr --> 8 bits
    - word ptr --> 16 bits
    - dword ptr --> 32 bits

    Citation Envoyé par drenalyn
    Le terme push permet de mettre une valeur dans la pile ?
    Pour la recuperer il suffit d'utiliser pop ?
    Exact : push empile une valeur (sur le sommet de la pile) et pop la dépile.

    Citation Envoyé par drenalyn
    Pour vider entierement la pile, faut-il faire push 00000000 ?
    Combien de niveaux contient la pile ?
    "Vider la pile" n'a guère de sens et le "nombre de niveaux" dépend de la taille allouée à la pile.

    En fait, quelle est l'utilité de la pile ?
    - Un espace de stockage temporaire.
    - L'endroit où est stockée l'adresse de l'instruction suivante avant d'exécuter une procédure, pour reprendre le cours normal du programme lorsque la procédure est terminée.
    - L'endroit où sont généralement allouées les variables locales d'une procédure.


Discussions similaires

  1. Questions sur le tutoriel Flex/BlazeDS/Spring
    Par Jahz dans le forum Flex
    Réponses: 5
    Dernier message: 24/10/2010, 13h28
  2. Question sur le tutoriel WF ?
    Par LoDev dans le forum Windows Workflow Foundation
    Réponses: 3
    Dernier message: 08/02/2008, 13h59
  3. Réponses: 4
    Dernier message: 28/02/2007, 16h08
  4. Question sur un tutoriel : pong
    Par Mindiell dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 10/01/2007, 09h40
  5. Réponses: 11
    Dernier message: 21/09/2005, 03h56

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