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 :

[NASM/WIN32] Problème envoi de variables à une fonction de l'API Win32


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 15
    Points
    15
    Par défaut [NASM/WIN32] Problème envoi de variables à une fonction de l'API Win32
    Bonjour,

    J'essaye de faire un petit programme en x86 qui affiche un rectangle dans une fenêtre windows.

    J'appelle donc la fonction Rectangle de l'API Win32 : BOOL Rectangle(_In_ HDC hdc, _In_ int nLeftRect, _In_ int nTopRect, _In_ int nRightRect, _In_ int nBottomRect).

    Si je donne les paramètres 'en dur' : invoke Rectangle, [DessinHDC], 0x0A, 0x0A, 0x03C, 0x06E pas de problème mon rectangle s'affiche.

    Si je passe par des variables (xx1 dw 0x0A, yy1 dw 0x0A, ...) et que je fasse invoke Rectangle, [DessinHDC], xx1, yy1, xx2, yy2 le rectangle ne s'affiche pas.

    Quelqu'un pourrait-il m'éclairer ?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Points : 15
    Points
    15
    Par défaut
    Désolé, c'est moi qui suis un âne.

    J'avais déclaré mes variables (xx1,...) en resw.
    En les déclarant en resd cela a corrigé le problème.

    C'est sensible l'assembleur quand même !

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 389
    Points : 23 713
    Points
    23 713
    Par défaut
    Bonjour et bienvenue,

    Citation Envoyé par veryellow Voir le message
    Désolé, c'est moi qui suis un âne.

    J'avais déclaré mes variables (xx1,...) en resw.
    En les déclarant en resd cela a corrigé le problème.
    Merci d'avoir pensé à apporter la solution et marqué ta discussion comme résolue.

    C'est sensible l'assembleur quand même !
    En fait, l'assembleur n'est pas lié du tout à l'API Win32, ni même à Windows ! Et pour être tout-à-fait exhaustif, chaque assembleur est lié à un type de processeur donné et varie donc d'une famille à l'autre même si la manière de le pratiquer reste sensiblement identique.

    Ça veut dire que tu travailles « en dessous » du framework habituel et d'une éventuelle couche objet, et que c'est donc à toi de faire le travail habituellement accompli par ces structures. :-)

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

Discussions similaires

  1. Envoi de variables à une fonction
    Par caleiste dans le forum jQuery
    Réponses: 2
    Dernier message: 13/01/2013, 14h26
  2. problème de passage de variables à une fonction
    Par franklin626 dans le forum Langage
    Réponses: 2
    Dernier message: 16/12/2007, 14h22
  3. Problème de passage de variable à une fonction
    Par PunkMetal dans le forum Langage
    Réponses: 2
    Dernier message: 26/04/2007, 23h56
  4. [PL SQL] Problème avec 'case' dans une fonction
    Par divail dans le forum Oracle
    Réponses: 14
    Dernier message: 13/03/2006, 15h50
  5. Réponses: 7
    Dernier message: 12/03/2006, 21h18

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