4.3 Parámetros

 

 

Existen dos tipos básicos de parámetros de subrutinas: los parámetros de registro y los parámetros de pila.

 

Las bibliotecas Irvine32 e Irvine16 utilizan parámetros de registro. En esta sección le mostraremos cómo declarar y utilizar parámetros de pila.

 

Los valores que un programa pasa a una subrutina que llama se conocen como argumentos. Cuando la subrutina a la que se llamó recibe los valores, se les llama parámetros.

 

 

La subrutina que se llamó accede a los argumentos que se meten en la pila al momento de su llamada. Los parámetros de registro están optimizados para la velocidad de ejecución del programa. Por desgracia, tienden a crear amontonamiento de código en los programas que hacen llamadas. A menudo hay que guardar el contenido existente de los registros antes de que se puedan cargar con los valores de los argumentos. Tal es el caso de cuando se hace una llamada a DumpMem, por ejemplo:

 

pushad

mov esi,OFFSET arreglo             ; desplazamiento (OFFSET) inicial

mov ecx,LENGTHOF arreglo        ; tamaño, en unidades

mov ebx,TYPE arreglo                ; formato de doble palabra

call DumpMem                          ; muestra la memoria

popad

 

Los parámetros de pila ofrecen un método más flexible. Justo antes de la llamada a la subrutina, los argumentos se meten en la pila. Por ejemplo, si DumpMem utilizara parámetros de pila, lo llamaríamos usando el siguiente código:

 

push TYPE arreglo

push LENGTHOF arreglo

push OFFSET arreglo

call DumpMem

 




Inicio