Se trata de una estructura de datos de tipo LIFO (Last In First Out, el último en entrar es el primero en salir), permite almacenar y recuperar datos usando dos operaciones:
PUSH (apilar) y POP (desapilar).
2. OPERACIONES DE PILA
Docente: René Guamán-Quinche
Facultadde la Energía, las Industrias y los RecursosNaturalesNo Renovables
Carrera de Ingeniería en Sistemas/Computación
Junio, 2020
Loja, Ecuador
Estudiantes:
•Angel Favian Minga Medina
•Danny Vinicio Vasquez Calderón
•Alexis David Quizhpe Mendoza
•Danny Michael Jaramillo Jumbo
•Alex Santiago Nole Reyes
3. 3
Agenda:
1. ¿Qué es una pila?
2. Características
3. Aplicaciones
4. Operaciones de una pila
5. Ejemplos
6. Preguntas
7. Conclusiones y Recomendaciones
8. Bibliografía
4. 4
PILA
• En un computador se implementa utilizando los siguientes
elementos: memoria y un registro.
• La memoria se utiliza para almacenar los elementos que se
vayan introduciendo en la pila y el registro para apuntar a la
dirección del último elemento introducido en la pila
• Es una zona de memoria que se utiliza para almacenar
información de manera temporal.
• Se requiere de arreglos o listas para representarlas
5. 5
PILA
• Se trata de una estructura de datos de tipo LIFO
• Los datos introducidos solo se pueden extraer en el sentido
contrario al que fueron introducidos
• La pila crece hacia direcciones más pequeñas
• La dirección de memoria del tope de la pila se guarda en un
registro (puntero de pila) SP.
6. 6
PILA
• Se utiliza el registro RSP como apuntador a la cima de la pila
• Los elementos se introducen y se sacan de la pila utilizando
instrucciones específicas
7. 7
Se trata de una estructura de
datos de tipo LIFO
(Last In First Out, el último en
entrar es el primero en salir),
permite almacenar y recuperar
datos usando dos operaciones:
PUSH (apilar) y POP
(desapilar).
CARACTERISTICAS
9. SP (Puntero Pilas)
Puntero pila = Stack Pointer. Apunta a la cima de la pila, al último elemento almacenado
BP (Puntero base)
Puntero base = Base Pointer. Apunta al inicio de la pila, al primer elemento guardado.
Inicialmente, cuando la pila está vacía, los punteros SP y BP apuntan al mismo sitio, al inicio de
la memoria donde comienza la pila.
La principal característica de la pila, es que tiene dos índices (punteros) que sirven para llevar un
control de cómo está siendo utilizada esta pila.
Normalmente estos punteros son dos registros especiales:
10. 10
Aplicacionesde las pilas.
Hay varios usos importantes para las pilas en tiempo de ejecución en los
programas:
• Una pila es un área de almacenamiento temporal conveniente para los
registros.
• Pueden usarse para invertir cadenas.
• Se pueden extraer, los datos para operaciones .
• Al llamar a un procedimiento, es común que se le pasen valores de entrada
llamados argumentos, los cuales se meten en la pila.
• La pila proporciona un área de almacenamiento temporal para las variables
locales, dentro de los procedimientos.
11. 11
Operaciones de una pila.
Push:
Esta instrucción permite almacenar el
contenido del operando dentro de la
última posición de la pila.
Ejemplo:
Push ax. El valor contenido en ax es
almacenado en el último espacio de la
pila.
12. 12
Operaciones de una pila.
Pop:
Esta instrucción toma el último dato
almacenado en la pila y lo carga al
operando.
Ejemplo:
Pop bx. El valor contenido en el último
espacio de la pila se almacena en el
registro
13. 13
Funcionamiento de una pila.
• La pila se llena desde valores más
altos de la memoria hacia valores
bajos.
• Cuando se realiza un push, el valor
de SP decrementa una unidad.
• Cuando se realiza un pop, el valor de
SP incrementa un unidad.
16. .
• Para poder controlar la pila el microprocesador cuenta con dos instrucciones
básicas(Push y Pop) que son utilizadas para agregar y obtener datos de la
pila.
• La pila es una sección estática de memoria es usada para almacenar
parámetros de funciones, cuenta con punteros de pila que apuntan a un
área actual de la pila.
Conclusiones
17. • Se recomienda usar la pila para evitar inconvenientes del
paso de parámetros por medio de subrutinas
• Para el uso de la pila se debe garantizar que la cima de la pila
contenga la dirección de retorno en el momento de realizar el
retorno de la subrutina.
• La pila se puede usar como un almacén de datos temporal
muy conveniente. También se usa para el llamado a
subprogramas, pasando parámetros y variables locales.
Recomendaciones.
18. 18
Créditos
• Transparencias basadas por:
• Irvine, K. R. (2008). Lenguaje ensamblador para computadoras
basadas en Intel. Pearson Educación.
• Orenga, M. A., & Manonellas, G. E. (2011). Estructura de
computadores. Universitat Oberta de Catalunya.
• Peinador, J. F., & Ruiz, D. S. (1998). ENSAMBLADOR DEL
8086/88.