Procedimientos anidados

Anuncio
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
Descargar