Bonjour,
Je débute actuellement en asm et j'ai un soucis pour utiliser ma fonction asm dans un programme en c
global ma_fonction
section .text
ma_fonction
push ebp
mov ebp, esp
mov ebx, [ebp + 8]
leave
retCeci m'affiche :extern int my_fonction(char *);
int main(int argc, char **argv)
{
printf("avant : %i %p\n", argc, &argc);
ma_fonction(argv[1]);
printf("apres : %i %p\n", argc, &argc);
}
Comme vous pouvez le voir, les arguments de mon main ont été modifiés et je ne comprends pas pourquoi.avant : 3 0xbfbfebf0
apres : 875770417 0xbfbfed17
Merci d'avance
Partager