Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Presentado por:
Br. Wilbert Amilcar Aguilar Renderos AR13026
OBJETIVOS
General.
Específicos.
Conocer las diversas instrucciones y directivas más utilizadas del macro-
ensamblador.
Tener conocimiento de las distintas directivas de lenguaje ensamblador para el
8086.
Aprender el proceso para ensamblar programas.
Aprender el proceso de enlace para crear el programa ejecutable.
Aplicar el formato de definición completa de segmentos en la elaboración de
programas en lenguaje ensamblador.
Conocer y aplicar algunos métodos utilizados para la lectura desde el teclado y
la impresión en pantalla, por medio de las interrupciones del sistema DOS.
MARCO TEORICO
MACROENSAMBLADORES Y EL MICROSOFT MACRO ASSEMBLER
Un Macroensamblador es un programa traductor de lenguajes de nivel autocodificador.
Se diferencia de un ensamblador tradicional en que las instrucciones que traduce son
macroinstrucciones o simplemente macros. Una macro es un conjunto de instrucciones
(macroinstrucciones) que son definidas con un nombre, y que serán sustituidas por el
macro cada vez que el compilador encuentre el nombre en el código fuente. Las
instrucciones de macros se pueden guardar en el programa mismo o en un archivo
separado que el programa pueda identificar.
Una macroinstrucción es una instrucción compleja, formada por otras instrucciones más
sencillas. Esto permite la automatización de tareas repetitivas. El término no se aplica a
una serie de instrucciones escritas en la línea de comandos enlazadas unas con otras por
redirección de sus resultados o para su ejecución consecutiva.
Las macros suelen almacenarse en el ámbito del propio programa que las utiliza y se
ejecutan pulsando una combinación especial de teclas o un botón especialmente creado
y asignado para tal efecto. La diferencia entre una macroinstrucción y un programa es
que en las macroinstrucciones la ejecución es secuencial y no existe otro concepto del
flujo de programa que por tanto, no puede bifurcarse.
Para utilizar una macro solo es necesario llamarla por su nombre, como si fuera una
instrucción más del ensamblador, ya no son necesarias las directivas como en el caso de
los procedimientos.
El Microsoft Macro Assembler (MASM) es un programa macroensamblador que
contiene un lenguaje de macro con características tales como lazos, procesamiento
aritmético y de cadenas de texto. También permite tener un mayor control del hardware
ya que soporta el set de instrucciones para los procesadores 80386, 80486, y la familia
Pentium. Requiere, por lo menos 128KB de memoria y un sistema operativos MS-DOS
v2.0 o superior. El MASM v4.0 está compuesto por los siguientes programas:
Microsoft Macro Assembler
Microsoft 8086 Object Linker
Microsoft Symbolic Debugger Utility
Microsoft Symbol File Generator
Microsoft Cross-Reference Utility
Microsoft Library Manager
Microsoft Program Maintenance Utility
Microsoft EXE File Compression Utility
Microsoft EXE File Header Utility
El MASM crea un programa ejecutable para los procesadores 8086, 8088, 80186,
80188, 80286, 8087 y 80287, así como también para los microprocesadores de la
familia Pentium; dependiendo de la versión del software.
DESARROLLO DE LA PRÁCTICA
APENDICE A
ASIGNACIONES.
EXPLIQUE EL PROCESO DE ENSAMBLE DE UN PROGRAMA DE MACRO
ASSEMBLER.
Al escribirse el código en un editor de textos, debe guardarse con la extensión .ASM en la
carpeta BIN del MASM. Luego ingresamos al sistema DOS. A partir de eso, debemos
ubicarnos en la carpeta BIN. Estando allí, se realiza la compilación del programa colocando
“un nombre del programa.ASM”.
Al presionar enter, se crea el archivo .OBJ y el archivo.EXE. Por último, solo se debe
colocar el nombre del programa con la extensión.EXE, presionar entre, y el programa
correrá.
INT 21H Función 01H: Entrada de Carácter con Eco (ó salida) LLAMADA:
AH = 01H
DEVUELVE:
AL = Código ASCII del Carácter leído y Echo a pantalla
(si AH =08H) es servicio sin Echo)
EFECTO: Se lee un carácter del dispositivo de entrada estándar, y se envía al dispositivo
estándar de salida. Si al llamar a la función no había ningún carácter disponible, se esperará
a que lo haya. Normalmente el dispositivo estándar de entrada es el teclado, y el dispositivo
estándar de salida es la pantalla.
Los códigos en un lenguaje de bajo nivel tal como el ensamblador, son mucho más
largos que en los lenguajes de alto nivel debido a que las instrucciones se hacen
directamente al microprocesador y debe buscarse estrategias para no perder los
datos con los que se trabaja.
Se aplicaron los conceptos que se han visto del lenguaje ensamblador, como lo son
el direccionamiento a memoria, offset, registros (de uso general, índice y de
segmento), bases y conversión numéricas, etc.
Los procedimientos son una clase de equivalente a las funciones en los lenguajes de
alto nivel y son bloques de código que ejecutan una tarea específica una o varias
veces de esta manera nos ahorramos escribirlas varias veces en el mismo código
además se pueden reutilizar ese código en otros programas o incluso crear nuestras
propia librerías. Las macros son útiles para simplificar y reducir la cantidad de
codificación repetitiva, también reduce los errores causados por la codificación
repetitiva.
BIBLIOGRAFIA:
[1]https://issuu.com/jorgjls/docs/manual_b__sico_para_ensamblador_f
[2]http://www.rinconsolidario.org/eps/asm8086/CAP6.html
[3]http://galia.fc.uaslp.mx/~cantocar/ARQUI_COM_II/LIBRO%20IBM-PC/05.htm
[4]http://moisesrbb.tripod.com/unidad5.htm
[6] Lenguaje Ensamblador para IBM PC y Compatibles, Peter Abel, tercera edición