⚙️PROCEDIMIENTOS
Los procedimientos o subrutinas son muy importantes , ya que los programas tienden a ser grandes. Los procedimientos se identifican con un nombre. A continuacion de este nombre, se escribe el cuerpo del procedimiento que realiza un trabajo bien definido:
El procedimiento se llama desde otra funcion utilizando la instruccion CALL. La instruccion CALL debe tener el nombre del procedimiento llamado como argumento:
El procedimiento llamado devuelve el control al procedimiento de llamada mediante la instruccion RET.
EJEMPLO:
Escribamos un procedimiento muy simple llamado sum
que suma las variables almacenadas en el registro ECX y EDX y devuelve la suma en el registro EAX:
Estructura de Datos de Pilas
Una pila es una estructura de datos similar a una matriz en la mamoria en la que los datos se pueden almacenar y eliminar de una ubicacion llamada 'Parte Superor' de la pila. Los datos que deben almacenarse se 'empujan' en la pila y los datos que se deben recuperar se 'sacan' de la pila. Stack es una estructura de datos LIFO, es decir, los datos almacenados primero se recuperan en ultimo lugar.
El lenguaje asm proporciona dos instrucciones para las operaciones de pila: PUSH y POP
. Estas instrucciones tienen sintaxis:
El espacio de memoria reservado en el segmento de la pila se utiliza para implementar la pila. Los registros SS y ESP (o SP) se utilizan para implementar la pila. La parte superior de la pila, que apunta al ultima elemento de datos insertado en la pila, es apuntada por el registro SS:ESP, donde el registro SS apunta al comienzo del segmento de pil y el SP (o ESP) da el desplazamiento en el segmento de la pila.
La implementacion de la pila tiene las siguientes caracteristicas:
Solo se puede guardar strings o dobles en la pila, no un byte.
La pila crece en la direccion inversa es decir, hacia la direccion de memoria inferior,
La parte superior de la pila apunta al ultimo elemento elemento insertado en la pila, apunta al byte inferior de la ultima palabra insertada.
Como discutimos sobre almacenar los valores de los registros en la pila antes de usarlos para algun uso; se puede hacer de la siguiente manera:
EJEMPLO:
El siguiente programa muestra todo el juego de caracteres ASCII. El programa principal llama a un procedimiento denominado display
, que muestra el juego de caracteres ASCII.
Última actualización