Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Centro universitario de ciencias exactas e ingenierías Ingeniería en computación Traductores de lenguajes 1 Sección D05 José Luis Serna Serna Código: 218292327 Actividad 8, 2020A, Macro y Función 10/Mar/2020 Objetivo. Implementar un programa donde muestre el uso de MACRO Y FUNCION Código fuente. include emu8086.inc ;se incluye la libreria de emu8086 org 100h jmp start msg: db "Mostrar uso de macro y funcion",0Dh, 0Ah, 24h funcion1: mov ax,oAh push ax ;declaramos la funcion xor ax,ax ;instrucciones pop ax ret inicio macro var1,var2 ;declaramos la macro con 2 parametros push ax mov ax,var1 add ax,var2 ;intrucciones usando var1 y var2 pop ax endm start: gotoxy 10,5 ;se usa gotoxy para las coordenadas donde se va imprimir el mensaje print 'Probando la funcion' call funcion1 ;mandamos llamar a la funcion gotoxy 10,10 print 'Probando la macro' inicio 03h,04h ;llamamos la macro y le mandamos 2 parametros mov ah,0 int 16h ;interrupcion 16h ret Capturas de pantalla de la ejecución. Probando la función. Llamamos a la función mediante call. Al llamar la funcion vemos como salta a donde se encuentra la función y muestra las operaciones que tiene. Realiza la operaciones que tiene la funcion y sale de la misma. Probando la macro. Al probar la macro vemos que no realiza ningún salto y ya las operaciones están allí disponibles para usarse. Realiza las operaciones que están dentro de la macro y se sale y continúa con lo siguiente. Conclusión. Una diferencia entre una macro y una función es la forma de llamar a cada uno, para llamar a una función se requiere el uso de una directiva y se realiza el salto hacia donde se encuentre la Función, en cambio la llamada a las Macros se realiza como si se tratara de una instrucción propia del ensamblador, es decir, cuando el ensamblador procesa tal sentencia, reemplaza la sentencia por las líneas del texto asociadas a esa macro. Entonces, las procesa como si hubieran existido en el archivo del código fuente original. Entonces se puede decir que las macros son más rápidas para ejecutarse, tal vez en pocas instrucciones o en programas pequeños no se vea tanto la diferencia pero cuando ya es un código grande ya empieza a costar tantos saltos que se realizan al llamar a las funciones. Entonces ya dependiendo de las instrucciones que se necesiten hacer se puede elegir cual conviene más usar.
Compartir