Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1|P á g i n a
Objetivos Generales
Material
Introducción Teórica
El ensamblador y enlazador
Ejemplo 7.1
C:/ MASM611/FILES>ml/Flnew.lst new.asm
Microsoft ® Macro Assambler Versión 6.11
Copyright © Microsoft Corp 1981-1993. All rights reserved
Assembling: new.asm
Microsoft ® Segmented Executable Linker Version 5.31.009 July 13 1992
Copyright © Microsoft Corp 1984-1992. All rights reserved.
2|P á g i n a
Object Modules (.obj) : new.obj
Run File (new.exe) : “new.exe”
List File (nul.map) : NUL
Libraries (.lib):
Definitions File (nil.def) :
C: /MASM611/FILES >
El programa ensamblador (ML) requiere que el nombre del archive siga a ML. En el
ejemplo, se emplea el modificador /F1 para crear un listado del archivo llamado
NEW.LST. Aunque esto es opcional, es recomendable hacerlo para que el resultado
del ensamblador puede ser visualizado del archivo fuente y sus equivalentes en
lenguaje máquina hexadecimal. El archivo de referencia cruzada (. CRF)- que no es
generando en este ejemplo- muestra todas las etiquetas y la información pertinente
requerida para hacer referencia cruzada.
El programa enlazador que se ejecuta como la segunda parte de ML lee los
archivos objeto que crea el programa ensamblador y los une un archivo ejecutable.
Un archivo ejecutable se crea con la extensión del archivo EXE. Los archivos
ejecutables son seleccionados al introducir el nombre correspondiente en la
solicitud de comando del Dos (A:/). Un ejemplo de archivo ejecutable es FROG.EXE,
el cual se ejecuta al escribir “FROG” en la línea de comandos del DOS.
Si el archivo es suficiente pequeño (de menos de 64KB) puede convertirse de
archivo ejecutable a archivo de comando (.COM). El archivo de comando difiere
ligeramente de uno ejecutable, dado que el programa debe comenzar en la localidad
100H antes de poder ser ejecutado. Esto significa que el programa debe tener una
longitud de menor a 64K-100H. El programa ML genera un archivo de comando
cuando se emplea el modelo TINY con la dirección de inicio 100H. Observe que
Programmer´s WorkBench también puede configurarse para generar un archivo de
comando. La ventaja principal de un archivo de comando es que se carga del disco
a la computadora mucho más rápidamente que un archivo ejecutable. También
requiere un espacio de almacenamiento en disco menor que su equivalente
ejecutable.
El ejemplo 7-2 muestra el protocolo del programa enlazador cuando se utiliza para
enlazar los archivos NEW,WHAT Y DONUT. El enlazador también enlaza archivos
de biblioteca (LIBS), de manera que los procedimientos ubicados dentro de los LIBS
pueden ser utilizados con el archivo ejecutable enlazado. Para llamar al enlazador,
escriba LINK en la línea de comandos del DOS, como se muestra en el ejemplo 7-
2. Observe que antes de que los archivos sean enlazados, primeros deben ser
3|P á g i n a
ensamblados y estar libres de errores. ML no sólo enlaza archivo, sino que también
los ensambla antes de enlazarlos.
Ejemplo 7-2
Assembling: new.asm
Assembling: what.asm
Assembling: donut.asm
En este ejemplo, después de escribir ML, el programa enlazador pide los “módulos
de objetos” creados por el ensamblador. En este ejemplo, tenemos tres módulos
objeto: NEW, WHAT y DONUT. Si existe más de un archivo objeto, primero se
escribe el nombre del archivo del programa principal (en este ejemplo NEW),
seguido por los demás módulos.
Los archivos de biblioteca se escriben después del nombre del archivo y después
del modificador /LINK. En este ejemplo, no escribimos un nombre de archivo de
biblioteca. Si deseara utilizar una biblioteca llamada NUMB.LIB durante el
4|P á g i n a
ensamblado de un programa llamado NEW.ASM, tendría que escribir ML
NEW.ASM/LINK NUMB.LIB.
Historia de MPLAB
5|P á g i n a
Desarrollo de la Práctica
Experimento #1 MPLAB
6|P á g i n a
3. Abrí el programa MLAB y genere mi proyecto en donde dice Proyect y cree
un Project Wizard, donde seleccione el PIC18F4550 le di continuar,
seleccione la herramienta que dice MPASM Assambler (mpasmwin.exe) v
5.51.
7|P á g i n a
5. Aparece una ventana muy pequeña con un monto de carpetas y dentro de la
carpeta de source files dice practica 2, le doy doble clic y me abre una
plantilla donde, voy a poder ingresar las instrucciones que yo quiera, o mejor
dicho el código que quiera realizar, como se muestra a continuación:
8|P á g i n a
7. En este caso generaremos un diagrama de flujo que realice un
direccionamiento directo para leer de un área de memoria que inicia en la
dirección 0050H, con cinco datos almacenados en código BCD, realizar una
conversión correspondiente para código ASCII y los almacene en la misma
memoria. A continuación, se muestra el diagrama de flujo, que se realiza:
Movf Mover
9|P á g i n a
En esta imagen, se muestra
la edición del programa,
respecto al diagrama de
flujo, que realizamos. Y
podemos observar la
secuencia de instrucciones
realizadas.
10 | P á g i n a
10. Después de haber compilado el programo procedemos a realizar la
activación de los registros, donde selecciona la opción que diga View y
damos clic a la opción watch, nos aparecerá una tabla, como se mostrará a
continuación:
11. Me dirijo opción que diga view y se me desplegará una ventana donde le
seleccionare file registers y me desplegará una tabla de registros de
memoria y me permitirá introducir datos BCD a 5 diferentes localidades en
dirección 50H (hexadecimal), como a continuación, se muestra:
11 | P á g i n a
Dirección Código Instrucción PCL W 50 51 52 53 54
12 | P á g i n a
Cuestionario
Evidencia de la práctica
13 | P á g i n a
Conclusiones
Bibliografía
14 | P á g i n a