Vous êtes sur la page 1sur 22

UNIVERSIDAD NACIONAL DE PIURA

FACULTAD DE INGENIERA INDUSTRIAL


ESCUELA PROFESIONAL DE INGENIERA
INFORMTICA

ao de la Diversificacin Productiva y del Fortalecimiento de la Educacin

Informe de Laboratorio N2

Curso: Microcomputadoras I

Responsables:
Cierralta Gonsalez Jesus Miguel.
Marquez Rijalba Luigy Alexis.
Merino Hurtado Ana Irina.

Docente: Ing. Vctor Hugo Valle Ros

Semestre: 2015-I

Piura, Mayo del 2015


INDICE
INTRODUCCION................................................................................................... 4

Sesin de Laboratorio N 2
OBJETIVOS........................................................................................................... 5
Objetivo General.............................................................................................. 5
Objetivos Especficos....................................................................................... 5
MARCO TEORICO................................................................................................. 6
LENGUAJE ENSAMBLADOR DEL 8086...............................................................6
FUNCIONES DEL SISTEMA OPERATIVO DOS......................................................6
PROGRAMAS NECESARIOS PARA LA CREACION DE MODULOS FUENTES EN
ASSEMBLER...................................................................................................... 7
EDIT.............................................................................................................. 7
TASM.EXE...................................................................................................... 7
TLINK.EXE..................................................................................................... 7
PROCEDIMIENTOS............................................................................................ 8
PASOS PARA ESCRIBIR Y EJECUTAR NUESTRO CODIGO ASEMBLER..................9
DESARROLLO LABORATORIO N 02...................................................................13
Ejemplo N 01................................................................................................ 13
Ejemplo N 02................................................................................................ 15
Ejemplo N 03................................................................................................ 18
CONCLUSIONES................................................................................................. 21
BIBLIOGRAFIA.................................................................................................... 22

Sesin de Laboratorio N 2

Sesin de Laboratorio N 2
INTRODUCCION
El presente informe pretende dar a conocer los resultados obtenidos en la realizacin del segundo
laboratorio con respecto al tema de creacion, ensamblado y enlazado de modulos fuente en lenguaje
ensamblador desarrollado para el microprocesador 8086, teniendo como punto de partida todos los
conocimientos tericos impartidos durante las clases del curso de Microcomputadoras I.
Este laboratorio tiene como principal objetivo proporcionar a los estudiantes un esquema terico y
posteriormente guiarlos paso a paso en el proceso de ensamblado (creacin del archivo .obj) y
enlazado (creacin del archivo .exe) de los programas, adems mostrar los posibles errores ya sea
por carencia de archivos o una mala manipulacin en los procesos de manejo de dichos programas,
as mismo se constatara dichos cambios mostrando capturas de pantalla a cada cambio realizado ya
sea en la consola de comandos del DOS (CMD) o en la capeta creada.
Los materiales usados sern: la consola de comandos del DOS usando la instruccin EDIT para
convertirlo en un editor o procesador de textos, a fin de obtener el programa de texto de una manera
mas comprensible; un programa compilador para el microprocesador 8086, en este caso hemos
utilizado TASM.EXE y ASM.EXE; asi mismo, un programa enlazador o montador de modulos
objetos tal como TLINK.EXE, con el unico fin de facilitar la comprension ante la ejecucion y
conversion de programas a un formato ejecutable.

Sesin de Laboratorio N 2

OBJETIVOS
Objetivo General:
Brindar conocimiento acerca de la estructura y funcion de los pasos e instrucciones
realizados para la conversion de modulos fuente a un formato ejecutable, desarrollando
ejemplos para su facil comprension.
Objetivos Especficos:
Hacer uso de los conocimientos adquiridos acerca del manejo de las instrucciones del
lenguaje ensamblador para maquinas 8086.
Aprender el manejo basico del editor de texto del DOS para escribir los modulos
desarrollados en clase, asi como su respectivo guardado.
Utilizar los programas TASM.EXE y TLINK.EXE necesarios para el ensamblado y
enlazado respectivamente, en el proceso de ejecucion de los ejemplos vistos en clase.

Sesin de Laboratorio N 2

MARCO TEORICO
LENGUAJE ENSAMBLADOR DEL 8086:
Las instrucciones de un lenguaje de mquina se expresan en forma numrica por lo que resulta
complicado y tedioso el escribir programas en este lenguaje. Un lenguaje ensamblador nos permite
utilizar expresiones nemnicas para referirnos a las instrucciones de lenguaje de maquina y tambien
valernos de simbolos o nombres para designar datos, direcciones, variables, etc.
Para un mismo procesador pueden disponerse de varios lenguajes ensambladores. En esta
exposicion sobre el computador 8086 emplearemos los lenguajes ensambladores escritos por
microsoft que se ejecutan bajo control del sistema operativo de la misma firma.
FUNCIONES DEL SISTEMA OPERATIVO DOS:
El sistema operativo DOS tiene codificadas uun conjunto de funciones de servicios del sistema
denominadas funciones del DOS, por ejemplo:
Codigo de funcion (base 16)
01
02
05
09
2A
3D
40
4C

Efecto
Leer carcter de teclado con eco.
Imprimir carcter en pantalla.
Imprimir carcter en impresora.
Imprimir cadena en pantalla.
Obtener fecha.
Abrir archivo.
Escribir en archivo / dispositivo.
Terminar proceso.

Para usar una funcion se alamacena el codigo correspondiente en el registro AH y se ejecuta la


instruccin de interrupcion 21h: INT 21h.

PROGRAMAS NECESARIOS PARA LA CREACION DE MODULOS FUENTES EN


ASSEMBLER:
6

Sesin de Laboratorio N 2
EDIT:
Se va utilizar como sustituto del block de notas, ya que este nos permite conocer el nmero de
lneas que se van editando y eso nos ayuda a la identificacin de errores al momento de depurar, a
diferencia del block de notas.
Edit puede ser ejecutado, escribiendo en el cuadro de dilogo Ejecutar Comandos en Windows, y
escribiendo edit en el interfaz de lnea de comandos . Edit todava se incluye en las versiones
posteriores de Windows, como Windows XP , Windows Vista 32 bits, Windows 7 de 32 bits
y Windows 8 de 32 bits. Al ser una aplicacin de DOS de 16 bits, no se ejecutar directamente en
las versiones de Windows de 64 bits.
TASM.EXE:
El turbo Assembler es un paquete ensamblador principalmente destinado a la plataforma del IBM
PC y sus compatibles. Fue la oferta de Borland en el mercado de herramientas de programacin en
lenguaje ensamblador para la familia de los microprocesadores x86. Para que un programa pueda
ser interpretado por el ensamblador TASM, la condicin necesaria es que el archivo de este
programa lleve la extensin .asm y el nombre del arhivo no debe tener mas de 8 caracteres,
Tasm.exe permite ensamblar el modulo fuente.
TLINK.EXE:
Es el enlazador que permite combinar varios mdulos objeto, realizando las conexiones entre ellos
y, finalmente, los convierte en modulo ejecutable de tipo .exe. El enlazador permite el uso de
libreras de funciones y rutinas. TLINK a diferencia de LINK, permite generar un fichero de tipo
COM directamente de un .obj si se indica el parmetro /t. Incorpora un conjunto de rutinas
(FIGURA N1).

FIGURA N 01

Sesin de Laboratorio N 2

PROCEDIMIENTOS:
1. Un programa fuente en lenguaje ensamblador puede ser procesado ASM, se compone de
programas y termina con la directiva END.
La definicion de segmentos de programas se hace en la forma:
nombre SEGMENT
Instucciones (una por linea).
nombre ENDS
Y tiene por proposito formar un bloque de instrucciones o de variables (datos) reltivas a un mismo
tipo de segmento(CS, DS o SS).
2. Normalmente se emplea tres tipos de segmentos de programa:
(1) Para el codigo del programa (instrucciones), con direccion en el registro CS.
(2) Para los datos, con direccion en DS.
(3) Para la pila (stack), con direccion en SS.

La directiva ASSUME CS: CODIGO


Instruye al programa ensamblador para que las direcciones de las variables y etiquetas definidas
dentro del segmento de programa queden referidas al registro de segmento CS.
3. Una instruccin puede ser precedida por una etiqueta que es un nombre que represbta dicha
instruccin:
Etiqueta: Instruccin
En esta caso los dos puntos indican que se trata de una etiqueta cercana, respecto al segmento de
programa en donde se define.
4. Al lado de END se escribe la direccion de entrada al programa que en este caso esta dado por la
etiqueta.
5. Se utiliza ; para escribir comentarios en cada linea de programa el texto restante de dicha
linea es ignorado por el programa ensamblador.

Sesin de Laboratorio N 2
PASOS PARA ESCRIBIR Y EJECUTAR NUESTRO CODIGO ASEMBLER
Para editar nuestro programa ejecutable necesitamos realizar los siguientes pasos:
1. Nos ubicamos en el escritorio, luego seleccionamos mi PC, seleccionamos el disco C y
creamos una nueva carpeta donde guardaremos los archivos que vayamos editando, llamada
micro1 (FIGURA N2).

FIGURA N 02

2. Buscamos los archivos DPMILOAD.EXE, DPMIMEM.DLL, TASM.EXE y TLINK.EXE en la


carpeta BIN de la carpeta BorlandC.

Sesin de Laboratorio N 2

FIGURA N 03
3. Seleccionamos y copiamos los siguientes archivos:

FIGURA N 04

4. Pegamos los archivos seleccionados en la carpeta micro1

10

Sesin de Laboratorio N 2

FIGURA N 05
5. Abrimos el ejecutor de comandos y dijitamos lo siguiente:

FIGURA N 06

6. mostrando la siguiente pantalla

11

Sesin de Laboratorio N 2

FIGURA N 07
7. despues de haber escrito nuestro codigo seleccionamos la opcion File y luego SAVE nos abre la
ventana mostrada en la que ingresamos el nombre del archivo con la extension .asm para
posteriormente ser ejecutado (FIGURA N8).

FIGURA N 08
DESARROLLO LABORATORIO N 02
Ejemplo N 01: Elaborar una porcin de programa que permite colocar en pantalla las letras
del abecedario en maysculas.
Despues de haber seguido los pasos 1-6, escribimos el codigo de nuestro programa en el editor de
texto:

12

FIGURA N 07

Sesin de Laboratorio N 2

FIGURA N 09
Para saber si nuestro programa nos permite obtener el resultado esperado abrimos una consola de
comandos (cmd) y escrimos lo siguiente:

Donde cada operacin en FIGURA N10 significa:


FIGURA N 10
1: Acceder a la raiz (cd\).
2: Acceder a carpet micro1 en C (cd micro1).
3: Muestra el contenido de dicha carpeta (dir).

Escribimos el comando tasm para ensamblar el ejemplo e1.

13

Sesin de Laboratorio N 2

FIGURA N 11
Escribimos el comando tlink para enlazar el e1.
FIGURA N 11

FIGURA N 12
No stack: significa que no hemos definido el segmento de pila.
Ahora ejecutamos e1.exe escribiendo e1.

FIGURA N 13
Como podemos ver se obtiene el resultado deseado.

14

Sesin de Laboratorio N 2
Ejemplo N 02: Calcular la sucesin de Fibonacci para los 10 primeros trminos.
Despues de haber seguido los pasos 1-6, escribimos el codigo de nuestro programa en el editor de
texto:

http://en.wikipedia.org/wiki/MS-DOS_Editor

11

http://es.wikipedia.org/wiki/Turbo_Assembler

FIGURA N 14
15

Sesin de Laboratorio N 2
Para saber si nuestro programa nos permite obtener el resultado esperado abrimos una consola de
comandos (cmd) y escrimos lo siguiente:

FIGURA N 15
Donde cada operacin en la FIGURA N15 significa:
1: Acceder a la raiz (cd\).
2: Acceder a carpet micro1 en C (cd micro1).
3: Muestra el contenido de dicha carpeta (dir).

Escribimos el comando tasm para ensamblar el ejemplo fibo.

FIGURA N 16

16

Sesin de Laboratorio N 2
Escribimos el comando tlink para enlazar fibo.

FIGURA N 17
No stack: significa que no hemos definido el segmento de pila.
Ahora ejecutamos fibo.exe escribiendo fibo.

FIGURA N 18
Como podemos ver se obtiene el resultado deseado.

17

Sesin de Laboratorio N 2
Ejemplo N 03: Elaborar una porcin de cdigo en ASSEMBLER que reciba la nota de un
alumno y muestre un mensaje en pantalla que indique si el alumno est aprobado o
desaprobado.
Despues de haber seguido los pasos 1-6, escribimos el codigo de nuestro programa en el editor de
texto:

Para saber si nuestro programa nos permite obtener el resultado esperado abrimos una consola de FIGURA N 19
comandos (cmd) y escrimos lo siguiente:

18

Sesin de Laboratorio N 2

FIGURA N 20
Donde cada operacin en la FIGURA N20 significa:
1: Acceder a la raiz (cd\).
2: Acceder a carpet micro1 en C (cd micro1).
3: Muestra el contenido de dicha carpeta (dir).

Escribimos el comando tasm para ensamblar el ejemplo notas.

FIGURA N 21

Escribimos el comando tlink para enlazar notas.

19

Sesin de Laboratorio N 2

FIGURA N 22
No stack: significa que no hemos definido el segmento de pila.
Ahora ejecutamos notas.exe escribiendo notas.

FIGURA N 23

FIGURA N 24
Como podemos ver se obtiene el resultado deseado, para cuando la nota es menor o igual a 10
imprimeDESAPROBADO y para cuando la nota es mayor que 10, aparece APROBADO.

20

Sesin de Laboratorio N 2
CONCLUSIONES
1. Para una correcta ejecucin de los programas desarrollados en ASSEMBLER se necesita
tener los archivos: TLINK.EXE, TASM.EXE, DPMILOAD.EXE, DPMIMEM.DLL.
2. El editor de textos EDIT nos permite conocer la cantidad de lneas de cdigo, la cantidad de
columnas e incluso la lnea en la que estamos ubicados para hacer fcil la ubicacin de un
error cunado se compila el programa.
3. Cuando se necesita ejecutar una porcin de cdigo de un programa para verificar si esa
porcin de cdigo funciona correctamente se puede utilizar el turbo debugger.

4. Mediante la realizacion de este laboratorio se puede concluir que la utilidad de los archivos:
TLINK.EXE, TASM.EXE, DPMILOAD.EXE, DPMIMEM.DLL, es muy necesaria para la
compilacin y el enlazado de mdulos fuente, as mismo para la deteccin de errores.
5. Se debe tener un conocimiento previo para codificar algoritmos en assembler puesto que
con estas herramientas solo se podr compilar y enlazar, para poder crear un archivo
ejecutable
6. El editor de textos Edit del CMD permite ubicarnos fcilmente en la lnea y columna
donde aparezca un determinado error cuando se compila o enlaza el programa.
7. Permite a los estudiantes de la carrera de ingeniera informtica desarrollar aplicaciones
ejecutables por ende obtener un mejor entendimiento de las instrucciones mencionadas en
el curso de Microcomputadoras 1.
8. Como conclusin final cuando se pretenda ejecutar una porcin de cdigo de un programa
para verificar si funciona correctamente y analizarla paso a paso se puede utilizar el turbo
debugger para estas acciones.

21

Sesin de Laboratorio N 2
BIBLIOGRAFIA

Maynard Kong. Titulo del capitulo. Numero de edicin. Editorial, ao de edicin, p.


pag_inicial pag_final.

SlideShare. TLink.exe. 10 de marzo del 2011. [Consulta: 16 de mayo del 2015]. Disponible
en: http://es.slideshare.net/GerardoGonzalez1/tasm

Wikipedia. MS DOS. 8 de mayo del 2015. [Consulta: 16 de mayo del 2015]. Disponible
en: http://es.wikipedia.org/wiki/MS-DOS

Wikipedia. Turbo Assembler. 23 de enero del 2014. [Consulta: 16 de mayo del 2015].
Disponible en: http://es.wikipedia.org/wiki/Turbo_Assembler

22

Vous aimerez peut-être aussi