Por lo que entendi quieres una funcion que determine el tamaño de la pila no? O el espacio que gasta cada funcion?
Si es el primero, lo puedes implementar con codigo muy simple, que es mas o menos lo que dijiste, pero no tiene por que ser ebp, puede ser cualquier registro que apunte a una direccion anterior a esp.
Como se trata de un x64 los pushq restan 8 bytes en teoria la pila estaria en 16 bytes, tendrias 16 en rbp "o en cualquier otro registro" pero tambien puedes guardar datos en la pila sin decrementar esta, y ese metodo no valdria.
Un saludo.
Si es el primero, lo puedes implementar con codigo muy simple, que es mas o menos lo que dijiste, pero no tiene por que ser ebp, puede ser cualquier registro que apunte a una direccion anterior a esp.
Código (asm) [Seleccionar]
.section .text
.globl _start
movq %rsp, %rbp
pushq %rax
pushq %rax ;------> imaginate que esos push son una llamada a una funcion
sub %rsp, %rbp
Como se trata de un x64 los pushq restan 8 bytes en teoria la pila estaria en 16 bytes, tendrias 16 en rbp "o en cualquier otro registro" pero tambien puedes guardar datos en la pila sin decrementar esta, y ese metodo no valdria.
Un saludo.