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 :

Erreur ou pas? Procédure


Sujet :

Assembleur

  1. #1
    Membre habitué

    Inscrit en
    Février 2006
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 61
    Points : 142
    Points
    142
    Par défaut Erreur ou pas? Procédure
    Bonjour,
    j'étais en pleine lecture de mon livre d'assembleur, quand je suis arrivé au chapitre des procédures et du passage de paramètre par la pile.

    J'ai donc ceci qui me semble incorrecte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    PUSH Par_1
    PUSH Par_2
    CALL NEAR ProcTest1
    POP Resultat
    Jusque la je suis d'accord...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ProcTest1 PROC NEAR
    PUSH BP
    MOV BP,SP; BP pointe maintenant sur le haut de la pile
    MOV AX,[BP+4]; =Par_1?
    ADD AX,[BP+6]; =Par_2?
    SHR AX,1
    MOV [BP+6],AX; resultat dans Par_2???
    POP BP
    RETN 2; <- ça je comprend pas... 
    ProcTest1 ENDP
    Je suis visualise dans la pile elle est comme ça apr!s le push BP

    BP
    Par_2
    Par_1

    non? Ce code là ne fait rien il est faux non?
    Vous êtes passionné de nouvelles technologies?
    - Visitez : http://www.loicbar.com
    - Abonnez-vous : http://feeds.feedburner.com/Loicbarcom

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 939
    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 939
    Points : 59 409
    Points
    59 409
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    Normalement, après le PUSH BP l'état de la pile est le suivant :
    Car le CALL NEAR implique que le registre IP soit poussé sur la pile.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

Discussions similaires

  1. Pas de déclenchement d'erreur dans ma procédure
    Par diblasio dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 06/05/2014, 22h46
  2. pas d'erreur mais ma procédure ne fait pas ce qui est demandé
    Par mennou dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 15/06/2008, 16h14
  3. Réponses: 5
    Dernier message: 22/11/2005, 14h16
  4. Comment lancer une erreur dans une procédure stockée
    Par borgfabr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/05/2005, 17h06
  5. Réponses: 4
    Dernier message: 14/06/2004, 16h18

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