Assembleur en ligne dans une dll managée

cs_victorieuse Messages postés 1 Date d'inscription mercredi 22 juillet 2009 Statut Membre Dernière intervention 12 août 2009 - 12 août 2009 à 18:33
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 15 août 2009 à 11:00
je suis Victorieuse , j'aimerais creer un dll manager en c++ me permettant d'integrer du code asssembleur la dans, comment faire svp, donne moi un exemple
Merci

4 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
12 août 2009 à 19:20
Pas très utile de coder en ASM dans du code managé !
Pour inclure de l'asm dans du C, tu fais ça (exemple) :
//convention d'appel cdecl
int __declspec(naked) additionne(int a, int b)
{
__asm
{
mov eax,[ESP+4]
add eax,[ESP+8]
ret
};
}

//convention d'appel stdcall
int __declspec(naked) __stdcall additionne(int a, int b)
{
__asm
{
mov eax,[ESP+4]
add eax,[ESP+8]
ret 4
}
}

---
VB.NET is good ... VB6 is better
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
13 août 2009 à 14:38
Bonjour,

Merci de donner un titre plus explicite la prochaine fois.

Ca marche __asm dans du C++ managé. Pour le mix managé/pas-managé regarde ici et là.

__asm en fonctionnera que dans une partie non managée.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 août 2009 à 10:14
rectif:
ret 8
pour l'exemple stdcall.

ciao...BruNews, MVP VC++
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
15 août 2009 à 11:00
C'est juste, grosse erreur de ma part !

---
VB.NET is good ... VB6 is better
0
Rejoignez-nous