Portée d'un TEXTEQU ...

Gillesthi Messages postés 3 Date d'inscription jeudi 28 juillet 2005 Statut Membre Dernière intervention 14 août 2005 - 12 août 2005 à 11:22
Gillesthi Messages postés 3 Date d'inscription jeudi 28 juillet 2005 Statut Membre Dernière intervention 14 août 2005 - 14 août 2005 à 20:54
Je suis un nouveau sur ce Forum.Bonjour à tous donc

Ma question est la suivante :
Existe t-il un moyen, dans MASM , d'utiliser un equate qui ne soit opérationnel que dans le module courant.
Par exemple
Module A
wParam TEXTEQU <DWORD PTR [esp + 12]>
Module B
Si j'ai une variable aMessage de type MSG
(aMessage MSG <>)
Si je met
mov eax,aMessage.wParam

Gloups
Masm me remplace wParam par l'equate ci-dessus, au lieu de considérer wParam comme un champs de la structure MSG ...

4 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
12 août 2005 à 12:56
salut,


PURGE macroname [[, macroname]]...


Deletes the specified macros from memory.

@++
0
Gillesthi Messages postés 3 Date d'inscription jeudi 28 juillet 2005 Statut Membre Dernière intervention 14 août 2005
12 août 2005 à 22:07
Ben non !
PURGE c'est pour les macros.
Pour les equates ,je viens d'essayer, ça n'a pas l'air de marcher .
[J'ai fait
wParam TEXTEQU
PURGE wParam
Dans l'expression même de PURGE,MASM me remplace wParam par azertyuiop , ce qui donne :
PURGE azertyuiop !
(error A2006: undefined symbol : azertyuiop et patati et patata)]

De toutes façons, je suis pas sûr que ce que je demande est faisable. Pourtant MASM le fait bien dans une PROC pour les equates de paramètres (wParam = [esp + 12] par ex) qui ne sont valables que dans la procedure.

Merci quand même pour ta réponse.
Si d'autre ont des lumières...
0
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
14 août 2005 à 18:26
Salut,
Il ne faut pas tout confondre,les déclarations ne générant aucun code et les définitions locales ,mises en pile.


Ce qui met mit en pile , en data peut être modifié.Pour ce qui est des déclarations,masm est dépourvu de l'instruction #undef du C et .....On ne peut pas redéfinir des equ.
Par contre on peut redefinir des TEXTEQU
zut TEXTEQU <loupe>
zut TEXTEQU <machin>
fonctionnent....


ToutEnMasm
0
Gillesthi Messages postés 3 Date d'inscription jeudi 28 juillet 2005 Statut Membre Dernière intervention 14 août 2005
14 août 2005 à 20:54
ToutEnMasm dit
> masm est dépourvu de l'instruction #undef du C
C'est bien ce qui me semblait : dommage

>Par contre on peut redefinir des TEXTEQU
>zut TEXTEQU <loupe>
>zut TEXTEQU <machin>
>fonctionnent....
Ben moi, j'avais même essayé :
zut TEXTEQU <zut>
Il aime pas ...
0
Rejoignez-nous