La pila es un grupo de localidades de memoria que se
reservan para contar con un espacio de almacenamiento temporal cuando el
programa se está ejecutando.
La pila es una estructura de datos del tipo LIFO (Last In
First Out), esto quiere decir que el último dato que es introducido en ella es
el primero que saldrá al sacar datos de la pila.
Para la manipulación de la pila ensamblador cuenta con dos
instrucciones específicas, las cuales son las siguientes:
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.
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
El siguiente ejemplo muestra como implementar la
instrucción XCHG por medio de las instrucciones Push y Pop. Recuerde que la
instrucción XCHG intercambia el contenido de sus dos operandos.
.COMMENT
Programa: PushPop.ASM
Descripción: Este programa demuestra el uso de las instrucciones para el manejo de la pila, implementando la instrucción XCHG con Push y Pop
MODEL tiny
.CODE
Inicio: ;Punto de entrada al programa
Mov AX,5 ;AX=5
Mov BX,10 ;BX=10
Push AX ;Pila=5
Mov AX,BX ;AX=10
Pop BX ;BX=5
Mov AX,4C00h ;Terminar programa y salir al DOS
Int 21h ;
END Inicio
END
Programa: PushPop.ASM
Descripción: Este programa demuestra el uso de las instrucciones para el manejo de la pila, implementando la instrucción XCHG con Push y Pop
MODEL tiny
.CODE
Inicio: ;Punto de entrada al programa
Mov AX,5 ;AX=5
Mov BX,10 ;BX=10
Push AX ;Pila=5
Mov AX,BX ;AX=10
Pop BX ;BX=5
Mov AX,4C00h ;Terminar programa y salir al DOS
Int 21h ;
END Inicio
END
No hay comentarios.:
Publicar un comentario