14h

14h - ASM - Programmation

Marsh Posté le 31-07-2009 à 10:08:59    

salut,
 
sous windows , ça siginifie quoi cette ligne  
 
add esp,14h  
14h c'est quelle interruption ?
 
Merci

Reply

Marsh Posté le 31-07-2009 à 10:08:59   

Reply

Marsh Posté le 31-07-2009 à 10:24:15    

Ca veut juste dire que tu ajoutes la valeur héxa 14 aux données de ESP non ?

Reply

Marsh Posté le 31-07-2009 à 10:43:26    

ah oui lol c'est peut être simplement ça  effectivement

Reply

Marsh Posté le 31-07-2009 à 13:49:32    

Complément : il faut se demander pourquoi on ajoute 14 à ESP.
En général, cela fait suite a une réservation de la mémoire via un SUB ESP fait en amont.

Reply

Marsh Posté le 31-07-2009 à 15:08:07    

Glock 17Pro a écrit :

salut,
 
sous windows , ça siginifie quoi cette ligne  
 
add esp,14h  
14h c'est quelle interruption ?
 
Merci


C'est pas une interruption, c'est une correction de ESP de 20 octets.
Ce code fait surement partie de la fin d'une procédure (juste avant un RET), et permet de libérer la pile de toutes les variables locales allouées en début de procédure, via un "SUB ESP, 14h" par exemple (on soustrait pour allouer, car il ne faut pas oublier que la pile grandit vers le bas sur x86)


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 27-08-2009 à 10:47:52    

il ne faut pas oublier que la pile grandit vers le bas sur x86, ça veut dire quoi ça ? tu aurais un exmple stp


---------------
.
Reply

Marsh Posté le 27-08-2009 à 11:36:35    

ca veut dire que ce n'est pas ce à quoi on s'attend intuitivement et que sur d'autres architectures, on alloue sur la pile en ajoutant la taille à allouer au pointeur de pile, mais c'est juste une convention, y'a rien de magique à expliquer, et l'exemple, il te le donne clairement. Eventuellement, regarde ce qui se passe quand tu rentres dans une fonction en assembleur dans Visual Studio et tu devrais avoir ton exemple précis :)
 
Edit : typo


Message édité par theShOcKwAvE le 27-08-2009 à 14:05:16

---------------
last.fm
Reply

Marsh Posté le 27-08-2009 à 14:00:00    

ça roule ma , euh merci :D


---------------
.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed