|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2010 Messages : 92 ![]() |
Bonjour,
Je demande humblement vos lumières pour une explication sur les jump. Je sais à quoi cela sert. Cela dit je ne comprends pas comment ils sont codés. Lorsque je regarde gdb, à une certaine adresse, un jump comme jae prend 2 octets. A coté (en légende), il est affiché l'adresse vers le jump (censée faire 4 octets). Un jump en général, c'est de la forme xy c3, (xy le premier octet). Je voudrais savoir si l'adresse où jumper est spécifiée par le xy (je ne crois pas); ou alors elle est sur la pile et c'est le c3 qui la pop? J'espère que c'est clair ;p Merci pour votre attention et votre aide. |
|
|
00
|
|
|
#2 | ||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2010 Messages : 92 ![]() |
Je sais que c'est la base de la base mais j'ai vraiment besoin de comprendre.
J'ai regardé un bout de code mais je n'ai pas vu un push de l'adresse où jumper avant l'intruction jae. Je vous montre ce que je vois avec objdump: Code :
Moi pas comprendre Un autre code que j'ai tapé: Code :
|
||||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2010 Messages : 92 ![]() |
50 vues et pas de réponse. Pourtant j'ai pas bu en écrivant ce post.
|
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() être humain Inscription : décembre 2007 Messages : 465 ![]() |
le premier est un jump conditionel 8 bits.
donc, c3 est une valeur negative 8 bits. le second est un jump conditionel 32 bits. donc, un offset signé 32 bits rien de bien compliqué. il faut revoir les bases de la numeration et les addressages. |
|
|
10
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2010 Messages : 92 ![]() |
Le c3 m'avait fait penser à autre chose.
Merci . |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com