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 :

Macro (déclaration des variables ?)


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Macro (déclaration des variables ?)
    Bonjour, je débute l'asm avec le tuto de benoit-m (au passage sympa, mais dommage que les codes écrits ne soient pas copiables).
    J'ai déja recherché
    -> sur le web, pas grand chose.
    ->sur le forum, mais y'a pas de système de recherche (où je suis aveugle )

    J'utilise un proco x86 et TASM.
    J'ai vérifié et revérifié d'avoir bien recopié le code qu'il donne en exemple, avec un même appel, mais pas moyen, le programme plante à l'affichage du texte. Pleins de caractères s'affichent et de bips sortent de la carte mère.

    J'ai bien mis le caractère '$' en fin de chaine.
    Peut-être que son exemple sortait d'un fichier .com et non d'un .exe
    Mais Je pense que ca doit venir de la déclaration du texte:
    " text db text?, '$' "
    Les variables ne doivent pas être déclarée entre
    "data segment use16" et "data ends" ?

    J'ai essayé en dehors dans le code, de déclarer une variable et ensuiçte de l'afficher, ca fait la même chose.

    Merci de vos réponses.

  2. #2
    Responsable Pascal, Lazarus et Assembleur


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

    De quel exemple s'agit-il exactement ?

    As-tu regardé les exercices corrigés fournis avec le tutoriel ?
    ftp://ftp-developpez.com/benoit-m/ExercicesASM.doc.zip

    Et il existe bien une fonction de recherche sur le forum :
    http://www.developpez.net/forums/search.php?f=20
    C'est le dernier bouton à droite dans la barre de titre des discussions du forum.


  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    pas doué...
    L'exemple était ici:http://benoit-m.developpez.com/assem.../Partie3-2.php

    Pour les exercices, merci, j'avais pas vu. Par contre, dedans je crois que y'a pas d'exemple de déclaration de variables dans une macro.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 41
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par Nok's
    pas doué...
    L'exemple était ici:http://benoit-m.developpez.com/assem.../Partie3-2.php

    Pour les exercices, merci, j'avais pas vu. Par contre, dedans je crois que y'a pas d'exemple de déclaration de variables dans une macro.
    Ah tiens, j'apprends aussi l'assembleur à partir de ce tuto, vraiment complet même si je n'y comprends pas grand chose au début.

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 963
    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 963
    Points : 59 655
    Points
    59 655
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Nok's
    Pour les exercices, merci, j'avais pas vu. Par contre, dedans je crois que y'a pas d'exemple de déclaration de variables dans une macro.
    Si : la macro qui écrit un entier à l'écran.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Désolé, mais tu peux préciser la ligne s'il te plait?
    Comme je débute, je dois avoir une définition un peu moins large de la déclaration de variable.
    Ce ne serait pas le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mov dx, 0BEBEh
    push dx
    ?
    Si c'est le cas, n'y a t'il pas un moyen de le faire comme dans le tuto, ca me parait quand même beaucoup plus puissant
    tapez pas ^^

  7. #7
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 963
    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 963
    Points : 59 655
    Points
    59 655
    Billets dans le blog
    2
    Par défaut
    Aargh, "déclaration de variable dans une macro", j'ai zappé une partie de la phrase : il n'y a en effet pas d'exemple de cela dans les exercices. Désolé !

    Mais la déclaration de variable dans une macro n'est pas compliquée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    AffMsg  macro
              local Fin,Msg
     
              push ds        ; Sauvegarde ds
              push cs
              pop  ds        ; DS = CS
              lea  dx,Msg
              mov  ah,09h
              int  21h       
              pop  ds        ; Restauration ds
              jmp  short Fin
     
    Msg       db   'Salut$'
     
    Fin:
            endm
    Il faut juste penser que la variable est déclarée dans le segment de code au lieu du segment de données.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ah, j'aurais du me douter qu'il fallait faire pointer ds vers le segment code.
    En tout cas merci

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

Discussions similaires

  1. Déclaration des variables et rapidité
    Par vladvad dans le forum Windows Forms
    Réponses: 8
    Dernier message: 26/06/2007, 12h28
  2. déclaration des Variables
    Par aityahia dans le forum Coldfusion
    Réponses: 3
    Dernier message: 02/10/2006, 08h42
  3. Déclaration des variables
    Par pierrot10 dans le forum Langage
    Réponses: 1
    Dernier message: 30/08/2006, 14h47
  4. [MASM32] Déclaration des variables
    Par mrousse dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 30/09/2005, 14h30
  5. [DB2] Ordre de déclaration des variables
    Par Fatah93 dans le forum DB2
    Réponses: 1
    Dernier message: 04/05/2005, 17h18

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