miércoles, 20 de abril de 2016

Lenguaje de interfaz (Unidad 3)

Macro 

Una macro es un conjunto de instrucciones que se almacenan para que cuando se necesiten puedan ser ejecutadas de manera secuencial mediante una sola llamada

Se podría decir que es una mini-instrucción que es parte de una instrucción mas compleja formada por otras instrucciones mas sencillas.

Características

- Las macros se almacenan de forma propia al programa que las utiliza .

- Por la general las hacen funcionar con un conjunto de combinaciones en las teclas establecidas.

- La diferencia de un macroinstruccion y un programa es que estos se ejecutan de forma secuencia y    no maneja ningún estilo de flujo de programa.

Ejemplo en EXCEL

La macro es encargada de ahorrarnos pasos en los trabajos que llevamos acabo un ejemplo que se puede dar es en el software excel.

En este ejemplo buscamos establecer aplicar una macro en la cual nos muestre una gráfica ya desarrollada al momento de ser requerida


Ya que activamos la macro automáticamente podemos ver los valores escritos en los cuadro representados como una gráfica.




Macros dentro de el lenguaje ensamblador  

Funciones de una Macro

Ahorrar código cuando se quiere hacer un proceso repetitivo.

- Menos errores al momento de realizar código repetitivo.

- Permite hacer uso de variables que son pasados como parámetros.

- Mayor seguridad en el código, se pueden invocar desde un archivo externo al programas ASM.


Ejemplo de Macros en lenguaje ensamblador 


Ejemplo 1 

en este ejemplo mostramos una macro que cargue un mensaje del segmento de datos a AX, así nos ahorramos 3 lineas de código al momento de imprimir una cadena.

inicio macro   ;declaramos la macro, le damos el nombre de inicio

  mov ax,@data   ;Cargamos el segmento de datos.

  mov ds,ax

  mov dx,ax

endm



.model small

.stack 64

.data

  msj db 'Este es mi primer macro', 10,13,'$'


.code
  inicio  ;Llamamos al macro, lo único que hace es cargar msj del segmento de datos.
  mov ah,09h
  lea dx,msj ;puede ser mov dx,offset msj
  int 21h
  mov ax,4c00h ;Sale del programa
  int 21h
  end

Programa corriendo

Macro multiplicación

La siguiente macro establece
una multiplicación entre un numero y un exponente