Bonjour,
Je suis nouveau, et je n'ai malheureusement jamais fait d'Assembleur.
Je dois regarder un programme de chargement de DLL dynamique, et je n'y comprends rien, normal.
J'appelle ce programme ensuite dans un programme C qui ne fonctionne pas. Je voulais donc vérifier cette partie.
Voilà le code, j'espère que vous pourrez me dire si ce code est correct :
Pourriez-vous me décrire un peu le principe de ce programme.
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 _AppelDLL: push ebp ; passage par cdecl mov ebp, esp ; donc sauvegarde de la pile mov eax, [ebp+8] ; 1er argument tabEntree type void ** mov ecx, [ebp+12] ; 2eme argument nbparam dec ecx js appel boucle: mov ebx, [ebp+24] ;nombre d'elts de type DOUBLE dec ebx js finboucle2 boucle2: mov edx,[ebp+20] ;tableau de position des DOUBLE cmp ecx, [edx+ebx*4] jne suite2 mov edx,[eax+ecx*4] push dword [edx+4] push dword [edx] jmp fin suite2: dec ebx jns boucle2 finboucle2: push dword [eax+ecx*4] fin: dec ecx jns boucle appel: mov ebx, [ebp+16] ;adresse de la fonction call ebx mov esp,ebp pop ebp ; restauration de la pile ret ; retour
Merci beaucoup en tout cas pour vos futures contributions.
A très bientôt,
Partager