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 especificas, 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