obtener la dirección a partir de una pila en la programación de ensamblaje
Pregunta
¿es posible obtener la dirección de inicio efectivo de una pila después de completar operaciones de pila como empuje y el pop en la programación de ensamblaje?
Solución
La convención es salvar (E) SP (E) de BP en el comienzo de su función, y el uso (E) BP para hacer frente a la variable local.
Otros consejos
caso más simple es sólo para ahorrar puntero de pila inicial a alguna variable para acceder a ella cuando sea necesario. Si no es el caso, API específica plataforma de uso, por ejemplo VirtualQuery en Windows, utilizando el valor SP actual como primer parámetro. dirección de base estará en campo BaseAddress de estructura MEMORY_BASIC_INFORMATION. En la tarea de POSIX se puede hacer uso de las funciones pthread