micro1mod-1

Upload: cristina-palacios-sanchez

Post on 06-Jan-2016

216 views

Category:

Documents


0 download

DESCRIPTION

micro

TRANSCRIPT

Sesin de Laboratorio N 2

UNIVERSIDAD NACIONAL DE PIURAFACULTAD DE INGENIERA INDUSTRIAL ESCUELA PROFESIONAL DE INGENIERAINFORMTICA

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 2015INDICEINTRODUCCION4OBJETIVOS5Objetivo General5Objetivos Especficos5MARCO TEORICO6LENGUAJE ENSAMBLADOR DEL 80866FUNCIONES DEL SISTEMA OPERATIVO DOS6PROGRAMAS NECESARIOS PARA LA CREACION DE MODULOS FUENTES EN ASSEMBLER7EDIT7TASM.EXE7TLINK.EXE7PROCEDIMIENTOS8PASOS PARA ESCRIBIR Y EJECUTAR NUESTRO CODIGO ASEMBLER9DESARROLLO LABORATORIO N 0213Ejemplo N 0113Ejemplo N 0215Ejemplo N 0318CONCLUSIONES21BIBLIOGRAFIA22

INTRODUCCIONEl 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.

OBJETIVOSObjetivo 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.

MARCO TEORICOLENGUAJE 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)Efecto

01Leer carcter de teclado con eco.

02Imprimir carcter en pantalla.

05Imprimir carcter en impresora.

09Imprimir cadena en pantalla.

2AObtener fecha.

3DAbrir archivo.

40Escribir en archivo / dispositivo.

4CTerminar 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: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 elcuadro de dilogo Ejecutar Comandosen Windows, y escribiendoediten el interfaz de lnea de comandos.Edit todava se incluye en las versiones posteriores de Windows, comoWindows XP,Windows Vista32 bits,Windows 7de 32 bits yWindows 8de 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

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:nombreSEGMENTInstucciones (una por linea).nombre ENDSY 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: CODIGOInstruye 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: InstruccinEn 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.PASOS PARA ESCRIBIR Y EJECUTAR NUESTRO CODIGO ASEMBLERPara 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.FIGURA N 03

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

4. Pegamos los archivos seleccionados en la carpeta micro1FIGURA N 05

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

6. mostrando la siguiente pantalla

FIGURA N 07

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 02Ejemplo 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:FIGURA N 09

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

Donde cada operacin en FIGURA N10 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 e1.

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.

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_Editor11http://es.wikipedia.org/wiki/Turbo_Assembler1

FIGURA N 14

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

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.

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: FIGURA N 19

Para saber si nuestro programa nos permite obtener el resultado esperado abrimos una consola de comandos (cmd) y escrimos lo siguiente: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.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.

CONCLUSIONES1. 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.

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