Explication asm
Résolu
c moi
-
c moi -
c moi -
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
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
A voir également:
- Explication asm
- Foyer netflix explication - Accueil - Guide streaming
- Paris multiple 2/6 explication ✓ - Forum Loisirs / Divertissements
- Another earth explication fin - Forum Cinéma / Télé
- La blague des trois nains explication ✓ - Forum Loisirs / Divertissements
- Chambre 1408 explication fin ✓ - Forum Cinéma / Télé
6 réponses
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.
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.
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).
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).
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
mais pk ya pas eip ebp ect
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 :
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question