Invoke et Call [Résolu]

Signaler
Messages postés
43
Date d'inscription
dimanche 26 mars 2006
Statut
Membre
Dernière intervention
1 août 2009
-
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
-
Bonjour



Voilà je débute en asm(masm32) et j'expérimente, mais là je flanche :-)
Pourquoi ces 2 codes ne donnent -il pas la mêm chose?
1er code
.code
invoke Beep,100,100

2eme code
.data
lol dd 100, 0
.code
debut:
mov eax, offset lol
push eax
push 100
call Beep

Merci !



Did you know?


In York, it is perfectly legal to shoot a Scotsman with a bow and arrow (except on Sundays).









<center> 

</center>
A voir également:

4 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
mov  eax, lol


mais pas son adresse qui n'intéresse pas la fonction.

ciao...
BruNews, MVP VC++
Messages postés
43
Date d'inscription
dimanche 26 mars 2006
Statut
Membre
Dernière intervention
1 août 2009

A pour précision , le premier code s'execute normalement , il invoke un beep pdt 100 ms de 100 hz,
le 2eme code  invoque un beep de 100hz indéfiniment et je ne comprend pas pourquoi
<center> 
</center>
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
La 2eme méthode est totalement erronée, Beep() ne demande pas l'adresse d'un DWORD mais une valeur directe.

push 100
push 100
call Beep

ciao...
BruNews, MVP VC++
Messages postés
43
Date d'inscription
dimanche 26 mars 2006
Statut
Membre
Dernière intervention
1 août 2009

Ah oui bien sur,comme ça cela fonctionne !
Mais je pense qu'il est possible de le faire avec avec une variable non?
Sinon comment différencier une fonction n'acceptant pas les adresses?
Car en fait mon but est de supprimer les fonctions de haut niveau d'un serveur telnet pour "justifier" le non emploi du C.
Merci d'avance
<center> 

</center>