Professional Documents
Culture Documents
materia
Lenguaje
ensamblador
Nombre de la
Licenciatura
Ingeniera en
Sistemas
c
Computacionales
Nombre del
alumno
Mara Fernanda
Brcenas Enciso
Matrcula
000015772
Nombre de la
Tarea
Tarea 6
Unidad #
Macros y
procedimientos
Nombre del
Tutor
Miriam Armenta
Gonzlez
Fecha
21/10/15
MACROS Y PROCEDIMIENTOS
Introduccin:
En lenguaje ensamblador se denomina macro al conjunto de instrucciones que se agrupan bajo
un nombre descriptivo, despus de que la macro ha sido declarada, slo es necesario indicar su
nombre en el cuerpo del programa y el ensamblador se encargara de reemplazarla por las
instrucciones de dicha. Las instrucciones de macros se pueden guardar en el mismo programa
o en un archivo separado que el programa pueda identificar y se ejecutan pulsando una
combinacin especial de teclas o un botn creado para esa accin.
Una de las ventajas que brinda el uso de las macros es la creacin de bibliotecas, las cuales
son grupos de macros que pueden ser incluidas en un programa desde un archivo diferente.
Para la creacin de estas bibliotecas, solo tenemos que escribir un archivo con todas las
macros que se necesitarn y guardarlo como archivo de texto y posteriormente se pueden
integrar para su ejecucin.
Un procedimiento es un conjunto de instrucciones en el cual podemos dirigir el flujo de nuestro
programa, al finalizar la ejecucin de dichas instrucciones se restablece el control a la siguiente
linea a procesar del cdigo que mando llamar al procedimiento. Los procedimientos nos ayudan
a crear programas legibles y fciles de modificar. Al momento de invocar a un procedimiento se
guarda en la pila la direccin de la siguiente instruccin del programa para que, una vez
transferido el flujo del programa y terminado el procedimiento, se pueda regresar a la linea
siguiente del programa original.
Desarrollo:
Ejercicios de programacin:
Escriba los siguientes programas en ensamblador de 16 bits con comentarios y estructura
estndar. Para ello puede utilizar todos los programas que se han realizado con anterioridad.
Puede reutilizar cdigo de las clases y libros, pero no copiarlos en su totalidad. Todos los
procedimientos y macros deben localizarse en una librera aparte con extensin *.lib
1) Escriba SOLO UNA de las siguientes macros (El resultado se deja en DX):
Macro para elevar a la potencia n-sima un nmero entero.
Macro para calcular la suma de los enteros que hay entre n1 y n2 (incluyndolos).
2) Escriba una macro que reciba los coeficientes (enteros) de una ecuacin cuadrtica y
determine el valor de las races, si stas son enteras.
3 ; a*x^2 + b*x + c = 0
4 ; Prototipo de C:
5 ; int quadratic( double a, double b, double c,
6 ; double * root1, double *root2 )
7 ; Parametros:
8 ; a, b, c - Coeficientes de la ecuacion cuadratica (ver arriba)
9 ; root1 - Apuntador al double que almacena la primera raz
III) recibe: procedimiento que recibe un entero de varias cifras por teclado y lo coloca en
la pila
4) Escriba UNO SOLO de los siguientes procedimientos (el resultado se deja en DX):
Determine el mayor, menor de n valores enteros guardados en la pila.
Calcule el promedio con dos decimales de n valores enteros en la pila.:
.Model Small
.Stack 64
.Data
msj Db 0ah,0dh, ' Digita las 3 calificaciones: ','$'
msj2 Db ' Aprobado','$'
msj3 Db ' Reprobado','$'
msj4 Db 0ah,0dh, ' Desea capturar otro alumno? 1.-Si, 2.-No','$'
num db 0
sum db 0
prom db 0
.Code
inicio:
mov cx,03h ;numero de calificaciones a pedir
mov bl,0000h
mov al,0000h
mov ax,@data
mov ds,ax
mov ah,09
mov dx,offset msj
int 21h
Pedir: ;Pide 3 calificaciones, contador asignado en CX
mov ah,01h
int 21h
Conclusin:
Los macros son una herramienta muy importante, ya que nos facilitan la manera de simplificar
el cdigo de los programas, al llamar la macro en determinada seccin del cdigo para realizar
una tarea especfica, de igual manera los procedimientos nos ayudan a crear programas
legibles, precisos y fciles de modificar.
Bibliografa:
Scribd (2010) Ensamblador. En Scribd. Consultado el 20 de octubre del 2015. Disponible en:
https://es.scribd.com/doc/23105148/Unidad-III-Ensamblador