Concepto de procedimiento anidado PP PROGRAMA call A PROC A Se trata de un procedimiento que es ejecutado dentro de otro procedimiento En el ejemplo de la figura, B se encuentra anidado en A call B ret PROC B ret Universidad de Oviedo / Dpto. de Informática Arquitectura de Computadores Marco de pila en los procedimientos anidados (I) (1) (2) (3) Otros usos de la pila (PROC B) Marco de pila (PROC B) Datos locales PROC B EBPA EBPB dir_retA Parámetros PROC B Otros usos de la pila (PROC A) Datos locales PROC A EBPpp Marco de pila (PROC A) EBPA Pila en el ámbito de PROC A dir_retpp Parámetros PROC A Pila en el ámbito del PP Pila en el ámbito del PP Ejecución del PP Pila en el ámbito del PP Ejecución de PROC A Universidad de Oviedo / Dpto. de Informática Ejecución de PROC B Arquitectura de Computadores Marco de pila en los procedimientos anidados (II) (4) (5) Otros usos de la pila (PROC A) Marco de pila (PROC A) Datos locales PROC A EBPpp EBPA dir_retpp Parámetros PROC A Pila en el ámbito del PP Pila en el ámbito del PP Retorno a la ejecución de PROC A Universidad de Oviedo / Dpto. de Informática Retorno a la ejecución del PP Arquitectura de Computadores Aspectos a resaltar de los procedimientos anidados El anidamiento de procedimientos es una técnica fundamental utilizada en todo tipo de lenguajes de programación (ensamblador, C, C++, Ada, Java, etc.), ya que permite que unos procedimientos utilicen las funcionalidades proporcionadas por otros, sin límite alguno. El uso estandarizado del marco de pila garantiza el correcto funcionamiento de los procedimientos anidados. El número de procedimientos que se pueden anidar queda limitado exclusivamente por el tamaño reservado para la pila. Universidad de Oviedo / Dpto. de Informática Arquitectura de Computadores