Retq instruction, d'où vient-il de retour

Je suis incapable de comprendre où l'instruction de montage retq revient à.

Je comprends que quand mon code s'exécute, puis retourner à l'adresse indiquée dans la pile. Mais comment sait-il où dans la pile l'adresse de retour se trouve?

En bref, faut-il utiliser rbp ou esp pour trouver l'adresse sur la pile?

Si vous voulez expérimenter, essayer de remplacer retq avec addq $8, %rsp; jmpq -8(%rsp). Fonctionnellement équivalent (pas en terme de performance).

OriginalL'auteur Kaushal Shah | 2013-08-19