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 :

Différence de procédures FASM/TASM


Sujet :

Assembleur

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Points : 251
    Points
    251
    Par défaut Différence de procédures FASM/TASM
    Bonjour à tou(te)s,

    je programme depuis quelque temps avec FASM,et je voudrais savoir s'il y a une différence entre les CALL [...] RET de FASM et les PROC [...] ENDPROC deTASM.

    Merci !

  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,

    CALL et RET sont des instructions des processeurs x86, tandis que PROC en ENDPROC sont des constructions haut niveau (ou "directives" pour employer un autre terme) propre à un assembleur, ici TASM.

    CALL permet d'appeler une procédure ou un label tandis que RET permet de sortir d'une procédure.

    PROC et ENDPROC permettent respectivement de construire le prologue (pour simplifier : ENTER ou PUSH EBP ; MOV EBP, ESP ) et l'épilogue de fonction (POP s'il y a lieu et RET ou RETN).

    CALL et RET n'ont donc pas les mêmes fonctions que PROC / ENDPROC (ceci dit, dans certains cas, ENPROC peut générer un simple RET).

    Citation Envoyé par CP / M Voir le message
    Bonjour à tou(te)s,

    je programme depuis quelque temps avec FASM,et je voudrais savoir s'il y a une différence entre les CALL [...] RET de FASM et les PROC [...] ENDPROC deTASM.

    Merci !

  3. #3
    Membre confirmé Avatar de dapounet
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 469
    Points : 567
    Points
    567
    Par défaut
    À la base il suffit de déclarer un label pour utiliser une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    f:
      ret
     
    ; Plus loin
      call f
    MASM/TASM fournissent des directives en plus :
    Avec TASM je ne sais pas mais MASM n'ajoute aucun code dans ce cas-là, c'est juste pour plus de clarté. Après il y a des utilisations plus avancées où l'assembleur gère tout seul les paramètres et les sauvegardes de registres.
    FASM a aussi des macros dans ce style-là, c'est expliqué ici au 1.3 : http://flatassembler.net/docs.php?article=win32
    :wq

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Points : 251
    Points
    251
    Par défaut
    OK.

    Merci à vous !

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

Discussions similaires

  1. [C#][Linq]Différence de procédure
    Par ClaudeBg dans le forum Linq
    Réponses: 18
    Dernier message: 21/04/2009, 10h04
  2. Procédure et fonction : les différences et les usages de chacune ?
    Par cpattin dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 06/08/2007, 00h28
  3. Différence entre macros et procédures ?
    Par noubigh dans le forum Assembleur
    Réponses: 7
    Dernier message: 11/02/2007, 00h12
  4. Mysql5: différences entre procédures et fonctions
    Par El Riiico dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 25/11/2005, 05h43
  5. Différence, exemple procédural, événementiel, objet ?
    Par ludophil dans le forum Débuter
    Réponses: 3
    Dernier message: 26/10/2005, 08h35

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