Explication asm

Résolu/Fermé
c moi - 28 févr. 2009 à 13:43
 c moi - 28 févr. 2009 à 16:16
Lu all,
je voudrais une petite explication pour le language assembleur,
je suis en train de lire un tuto et les registre sont de la forme ax, ah ect...
mais dans le mon livre il est que j'ai les registre sont de la forme eax, eah ect ...
c koi la difference??
merci et a ++ les amis

6 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
28 févr. 2009 à 16:05
EBP et EIP sont des registres spéciaux, tout comme ESP.
Lorsque tu programmes, tu as une pile dont sa base se trouve à l'adresse EBP et le haut à l'adresse ESP.
Si tu modifies ESP pour y mettre n'importe quoi, tu ne pourras plus utiliser ta pile, très gênant.
EIP ne peut pas être modifié directement. Il contient l'adresse de la prochaine instruction à exécuter (il pointe vers la prochaine instruction à exécuter, c'est pareil).
Donc si tu voulais t'en servir comme registre, ton programme aurait de fortes chances de planter car la prochaine adresse à exécuter serait bidon.

Mais tu peux modifier autant que tu le souhaites les registres, EAX, EBX, ECX, EDX.
1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
28 févr. 2009 à 13:57
Sur une machine 32 bits :
AX représente les 16 bits de poids faibles d'EAX.
AX est à son tour divisé en deux registres de 8 bits, AH (poids fords) et AL (poids faibles).
0
DONC si g bien compri : EAX != AX(bizar car dans dans un prog sa donne le meme resulta si je mais eax a la place de ax).
mais pk ya pas eip ebp ect
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 841
28 févr. 2009 à 15:18
Oui, c'est normal que dans certains cas ça donne le même résultat.
AX représente les bits de poids faibles d'EAX. Donc si par exemple tu fais :
mov eax,5

eax vaudra 5 et ax vaudra 5 également.

Je comprends pas ta dernière question ?
EIP ça pointe vers la prochaine instruction à exécuter. Et l'EBP pointe vers la base de la pile courante.
Cdlt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ha docor merci je compren mieu, ma derniere question etai pk on peut pas utiliser eip et ebp comme on le fai avec ax, mais comme tu la dit c normale car il pointe vers ...(mais en faite sa veut dire quoi pointe?).
0
ok merci g tou compri grace a toi merci et a +
0