14h - ASM - Programmation
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 ?
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.
Marsh Posté le 31-07-2009 à 15:08:07
Glock 17Pro a écrit : salut, |
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)
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
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
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