Bonjour a tous,
Voilà, je débute en ASM, j'ai suivi 3 TP avec un prof mais j'ai un problème que voici :
J'essaye de récupérer dans le main l'adresse de mon **argv, juste après avoir écrit les 2 lignes du enter, et de le mettre dans un registre...
Je sais que mon **argv se trouve à 12(%ebp) mais je sais également que le code ci-dessus est faux lorsque je le mov dans %ebx et que je mov ensuite %ebx dans 8(%esp). Je suis un peu perdu en fait avec le référencement et le déréférencement; on m'a dit que c'était comme les pointeurs en C mais je n'arrive quand même pas à comprendre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 movl 12(%ebp), %ebx movl %ebx, 8(%esp)
Je pense que, quand on tape %ebx, on parle de l'adresse de ebx alors que quand on tape (%ebx), on parle de la valeur pointée par l'adresse de ebx dans la pile...
Bref ça ne résoud pas mon problème ci dessus lol. Si quelqu'un pouvait me venir en aide !!! Merci
Partager