Instituto de Estudios Superiores de Chiapas Salazar Narváez
LENGUAJE ENSAMBLADOR
Alumna:
Chacón Aguirre Paulina Yanneth
Ing. en Sistemas Computacionales
Catedrático:
Lic. Enrique Martínez Gutiérrez
Tapachula, Chiapas a 28 de noviembre del 2008.
Introducción. Los procedimientos son conjuntos de instrucciones al que se le puede dirigir un flujo de nuestro programa. Los procedimientos nos ayudan a crear programas legibles y fáciles de modificar. Los procedimientos se pueden mandar a llamar varias veces en cualquier lugar del programa para así evitar estar escribiendo el código.
PROCEDIMIENTOS Los procedimientos son un conjunto de instrucciones que se pueden ejecutar desde muchos lugares diferentes de un programa, en vez de tener que repetir muchas veces el mismo conjunto de instrucciones cada vez que se necesitan. Los procedimientos se llaman mediante la instrucción
CALL. La última instrucción de un procedimiento es la instrucción RET. La dirección de retorno de un procedimiento (y en ciertos casos, procedimiento tipo FAR, el segmento al que pertenece) se almacena en la pila. Para delimitar el conjunto de instrucciones que forman un procedimiento se emplean las palabras clave: PROC (comienzo del procedimiento) y ENDP (final del procedimiento). Tipos de procedimientos A los procedimientos se les asignan dos atributos FAR (si se le va a llamar desde otro segmento) y NEAR (si se le llama desde el mismo segmento) El procedimiento principal de un programa siempre es FAR Sintaxis de un procedimiento Existen dos tipos de procedimientos, los intrasegmentos, que se encuentran en el mismo segmento de instrucciones y los intersegmentos que pueden ser almacenados en diferentes segmentos de memoria. Cuando se utilizan los procedimientos intrasegmentos se almacena en la pila el valor de IP y cuando se utilizan los intersegmentos se almacena el valor CS:IP Para desviar el flujo a un procedimiento (llamarlo) se utiliza la directiva: CALL NombreDelProcedimiento
Las partes que componen a un procedimiento son: • • • •
Declaración del procedimiento código del procedimiento Directiva de regreso Terminación del procedimiento
Ejemplo de definición de un procedimiento ImprimeTira PROC FAR llama MOV AH, 09h imprimir. INT 21h en DS:DX RET ImprimeTira ENDP
; es un procedimiento que ; a la función 9h del DOS para ; una cadena de caracteres dadas ; retorno de procedimiento
Diferencias entre las macros y los procedimientos Procedimientos El código asociado es único
Macros El código se repite cada vez que se llama ya que el ensamblador lo expande. Más lentos Más rápidas Al finalizar el procedimiento Después de la ejecución de se vuelve a la instrucción la macro se ejecuta la siguiente instrucción siguiente. a la que la llamó Menos flexible por con los Más flexible con lo parámetros parámetros Cuando se utiliza un Cuando queremos usar una procedimiento se debe de macro solo se pone su usar la instrucción CALL nombre sin necesidad de instrucción. Se declaran al final del Se declaran al comienzo del mismo junto con las código
variables. Podemos utilizar la pila (stack) o cualquier registro de propósito general para pasar parámetros a un procedimiento.
Para pasar parámetros a una macro, simplemente los escribimos a continuación del nombre de la macro.
Conclusión. Como conclusión nos damos cuenta que los procedimientos son iguales a las macros pero son más lentas y necesitan de una instrucción al ser llamadas. Igual que las macros son conjuntos de instrucciones.
Bibliografía. http://atc2.aut.uah.es/~avicente/asignaturas/lec/pdf/lec_t7. pdf http://www.cebem.net/Parte%2011.htm