jueves, 9 de mayo de 2013

Procedimientos y Macros

PROCEDIMIENTO


Un procedimiento es una colección de instrucciones relacionadas que realiza una
tarea específica. También un procedimiento puede contener un conjunto de instrucciones que
deseamos que se ejecuten en varias partes del programa. Los procedimientos del lenguaje
ensamblador tienen su contra parte en los lenguajes de alto nivel, por ejemplo, en el lenguaje C estos
procedimientos se llaman funciones. Aunque en los lenguajes de alto nivel, el mecanismo empleado
por los procedimientos para implementar su llamada, ejecución y regreso es transparente para el
usuario, en ensamblador se requiere entender ese mecanismo. Un componente indispensable
empleado por ese mecanismo es la pila del programa.


Definición de un procedimiento
La sintaxis de la definición de un procedimiento es la siguiente:
 proc nomProc
 proposición
 [proposición]
 ...
 endp [nomProc]
Las directivas proc y endp marcan el inicio y el final del procedimiento. No generan código.
nomProc es el nombre del procedimiento y etiqueta la primera instrucción del procedimiento.
Al menos una de las proposiciones de un procedimiento es la instrucción ret, la cual se describe
más adelante.


Llamada a un procedimiento
La llamada a un procedimiento normalmente tiene la siguiente forma:
 call nomProc
La instrucción call se describe más adelante. nomProc es el nombre que se le dio al procedimiento
al definirlo.


  • Ejemplo sobre procedimientos:










Macros:


Una macro es un conjunto de instrucciones asociadas a un identificador: el nombre de la macro.
Este conjunto de instrucciones es invocado como una sola instrucción o macro instrucción.
Normalmente las instrucciones de una macro se repiten varias veces en un programa o aparecen
frecuentemente en los programas. Para emplear una macro en un programa debemos de hacer dos
cosas: Definir la macro e invocar la macro.



La definición de una macro establece el nombre al que se asocia la macro, el número y nombre de
sus parámetros formales y qué instrucciones contiene la macro instrucción. La sintaxis de la
definición de una macro es la siguiente:


macro nomMacro [parForm[, parForm]...]
proposición
 [proposición]
 ...
endm [nomMacro]
donde las directivas macro y endm marcan el inicio y el final de la definición de la macro. No
generan código.
nomMacro es el nombre de la macro y se emplea al invocar la macro.
parForm es cada uno de los parámetros formales de la macro. Los parámetros permiten que una
misma macro opere sobre datos distintos.
proposición son cada una de las instrucciones que forman la macroinstrucción.
Aunque la definición de una macro puede ir en cualquier parte de un programa, el lugar más
recomendable para su localización es al principio de un archivo, antes de los segmentos de datos y
de código.
Al encontrar una invocación de una macro el macroensamblador, Turbo Assembler por ejemplo,
substituye la línea con la invocación por las proposiciones que contiene la definición de la macro.
Este proceso de substitución se conoce expansión de la macro. La sintaxis de la invocación de la
macro es similar a cualquier instrucción:
 nomMacro [parReal[, parReal]...]
donde cada parReal es conocido como un parámetro real de la macro. Al expandirse la macro
cada una de las ocurrencias de un parámetro formal en la definición de la macro se substituye por su
correspondiente parámetro real.
Los parámetros reales pueden ser símbolos, mnemónicos, directivas, palabras reservadas,
expresiones y números.


  • Ejemplo:











3 comentarios:

  1. Oye haz pensado en poner el procedimiento CI Y DEJAR COPIAR??.. LA TAREA URGE

    ResponderEliminar
    Respuestas
    1. solo dale print y de ahi lo copeas si no te deja guardalo en pdf

      Eliminar
  2. Chicos para que puedan copiar Solo den en la opción de su navegador imprimir y en la hoja de copean la informacion que necesitan

    ResponderEliminar