popl %ebp It seems the %ebp is unnecessary because the pop operation of stack doesn't need a parameter.Why does it make sense?
3 Réponses :
Ce paramètre définit la destination. P>
Pour développer la réponse d'Andrey, en plus de l'incrémentation du pointeur de pile sur l'élément POPPED, l'élément POPPED est également copié à une adresse de destination ou à un registre.
L'instruction que vous avez donnée est plus ou moins équivalente aux deux instructions (Syntaxe Intel) p>
add $4, %esp mov -4(%esp), %ebp
de http://www.cs.virginia.edu/ ~ Evans / CS216 / Guides / x86.html P>
pop forte> - pile pop p> L'instruction POP supprime l'élément de données de 4 octets à partir du haut de la pile prise en charge du matériel dans l'opérande spécifié (c'est-à-dire un registre ou lieu de mémoire). Il déplace d'abord les 4 octets situés à la mémoire [SP] dans le registre ou l'emplacement de la mémoire spécifié, puis incrémente SP par 4. P>
syntaxe em>
POP
Popp> exemples em>
Pop Edi - Pop L'élément supérieur de la pile en EDI.
Pop [EBX] - Pop L'élément supérieur de la pile en mémoire sur les quatre octets à partir de l'emplacement EBX. P> blockQuote>Une autre bonne référence est http://fr.wikibooks.org/wiki/x86_assembly et Il est disponible dans formulaire PDF . P>