Anda di halaman 1dari 16

INSTITUTO TECNOLOGICO SUPERIOR DE ALVARADO

INGENIERA EN SISTEMAS COMPUTACIONALES


EXAMEN GLOBAL DE LENGUAJE ENSAMBLADOR REPORTE DE PRACTICA No.1

INTRODUCCIN AL ENSAMBLADOR DEL 8086: TURBOASSEMBLER

GERSN CRUZ GARCA, 096Z0059

ING. OSCAR LUIS PEA VALERIO

H. Y G. ALVARADO, VER. DICIEMBRE 2013

OBJETIVO
Al terminar esta prctica, el alumno ser capaz de: Ensamblar un programa usando el ensamblador del 8086: Turbo Assembler. Conocer los diferentes archivos generados por el ensamblador y el ligador.

INTRODUCCION
El Microprocesador, es un dispositivo que procesa la informacin contenida en memoria. Esta informacin es una secuencia de nmeros binarios que el microprocesador interpreta como instrucciones codificadas y que en conjunto forman un programa. Este programa con las instrucciones codificadas se denomina programa en Lenguaje Mquina o archivo ejecutable. Si una persona quisiera desarrollar un programa para un microprocesador se le dificultara mucho pensar las instrucciones en trminos de nmeros ya que sta no es la forma natural del pensamiento humano, por lo que es ms conveniente pensar el programa en un lenguaje simblico llamado Ensamblador. En este lenguaje, una instruccin no est representada por un nmero, sino que se representa por una palabra corta que nos dan una idea muy clara de la instruccin que se trata, a esta palabra se le conoce como Mnemnico. Un programa escrito en el lenguaje ensamblador se llama programa fuente. Cada microprocesador tiene su propio lenguaje ensamblador. Para traducir un programa fuente escrito en lenguaje ensamblador a su correspondiente programa en lenguaje mquina se necesita un programa traductor llamado Ensamblador. El proceso de traduccin se conoce como ensamblado. Uno de los ensambladores comerciales para la familia de microprocesadores 80x86 es el programa Turbo Assembler de la compaa Borland International. Turbo Assembler es un macroensamblador ya que adicionalmente tiene un preprocesador que le permite ejecutar directivas de inclusin y expansin de macros.

Al ensamblar un programa, Turbo Assembler procesa el programa fuente y genera un archivo objeto el cual est formado por los cdigos de las instrucciones. Sin embargo, este programa an no est listo para correr, es decir, este archivo no es ejecutable ya que sus direcciones estn representadas en forma relativa. Este archivo es un archivo binario. Turbo Assembler adems de generar el archivo objeto, genera un archivo texto en el que aparece el listado del programa fuente y su equivalente en cdigos numricos o cdigo mquina. En este archivo podemos verificar la forma en que fue ensamblado el programa fuente. Una vez que se tiene el programa objeto este se puede convertir en programa ejecutable usando un programa ligador. Un programa ligador le agrega al cdigo objeto la informacin necesaria para que el programa sea ejecutable, asimismo si el programa consta de varios mdulos y/o contiene llamadas a subrutinas que se encuentren en una biblioteca, el ligador establece las ligas entre el cdigo de esos mdulos y bibliotecas. El programa ligador de Turbo Assembler se llama Tlink. Tlink tambin genera un archivo texto en el que se detallan las direcciones y tamaos que ocupan cada uno de los segmentos e instrucciones del programa ejecutable.

PASOS PARA EL DESARROLLO DE LA PRCTICA

1.- Abra una ventada de CMD oprimiendo las teclas ventana como la siguiente:

+ la tecla R, saldr una

Escriba CMD y presione enter o de clic en aceptar, despus de eso aparecer la siguiente ventana:

2.- Verifique que entre el listado de directorios reconocidos por el sistema se encuentren las direcciones C:\TC y C:\TASM escribiendo el comando PATH y tecleando enter

Inmediatamente aparecer la lista de directorios reconocidos por el sistema, si los dos directorios mencionados anteriormente se encuentran en la lista pase directamente al paso numero 8; de lo contrario contine con los pasos siguientes. 3.- Al no aparecer los directorios en la lista habr que aadirlos manualmente a la lista.

4.- Presione la tecla de inicio

+ la tecla PAUSA, aparecer la siguiente ventana:

Busque la opcin de Configuracin avanzada del sistema y dele clic:

5.- Presione el botn Variables de entorno, en la ventana que aparece, ubique la seccin de Variables del sistema, seleccione la variable path y presione el botn Editar.

6.- Valla al final del cuadro de texto Valor de la variable: y aada las siguientes rutas: C:\TASM\BIN; C:\TC\BIN;

Cierre todos los cuadros de dialogo presionando el botn aceptar de cada uno.

7.- Ejecute nuevamente la ventana de CMD, y teclee de nuevo el comando: Path Deben de aparecer las rutas que se capturaron anteriormente y para verificar que el acceso a los programas es correcto, teclee lo que se muestra a continuacin:

Escriba en la ventana ms-Dos tcc y pulse enter, el resultado debe ser el siguiente.

Escriba en la ventana ms-Dos tasm y pulse enter, el resultado debe ser el siguiente.

8.- Cree una carpeta de trabajo en la unidad disco C: con el nombre de cls , en esta carpeta irs creando otras segn los nombres de los ejercicios que se vayan realizando: 9.- Cree una carpeta con el nombre de Primer dentro de la carpeta Prog_Ensamblador, y abra una ventana CMD y cambie la ubicacin del directorio a esa carpeta aplicando el siguiente comando: cd C:\Prog_Ensamblador\Primer y teclee enter, el cambio se notara, despus de eso teclee: tc, pulse enter

10.- Teclee el siguiente programa fuente en el lenguaje ensamblador y grbelo en su carpeta de trabajo con el nombre PRIMER.ASM:

;********************************************************** ; PRIMER.ASM. ; ; Este programa ilustra la estructura de un programa en ; ensamblador. Tambin muestra las principales directivas ; para el ensamblador. ;********************************************************** ;****** CDIGO DE INICIO ********************************** ideal model small stack 256 ;****** DECLARACIN DE CONSTANTES SIMBLICAS ************** cte equ 10 ;****** VARIABLES DEL PROGRAMA **************************** dataseg codsal db 0 dato1 db ? dato2 db ? resul db ? ;****** CDIGO DEL PROGRAMA ******************************* codeseg inicio: mov ax, @data ; Inicializa el mov ds, ax ; segmento de datos mov al, [dato1] ; resul = dato1 + dato2 + add al, [dato2] ; cte add al, cte mov [resul], al

salir: mov ah, 04Ch mov al, [codsal] int 21h ;****** CDIGO DE TERMINACIN ***************************** end inicio

11.- Salga del programa Turbo C12.- Ensamble el programa PRIMER.ASM tecleando: tasm /l /zi PRIMER.ASM Turbo Assembler comenzar a ensamblar al programa desplegando:

13.- Use el comando DIR para observar los archivos generados por el programa Turbo Assembler, tecleando: dir Estos son: primer.obj primer.lst

Utilice el editor de Turbo C para examinar el contenido del archivo PRIMER.LST. En la pantalla del editor aparecer lo siguiente:

Observe que del lado derecho de la pantalla aparece el cdigo fuente. El nmero de lnea aparece a la izquierda seguido de la direccin relativa donde estar almacenada la instruccin o dato y posteriormente el cdigo de la instruccin. Por ejemplo, la lnea 24: 17 0001 ?? dato1 db ?

Aqu la directiva db reserva un byte de memoria en la localidad 0001h del segmento de datos y se le ha asignado el smbolo dato1. El nmero 17 es el nmero de lnea en la que se encuentra esta directiva en el programa fuente. El valor de 0001 es la direccin reservada para la variable dato1, ?? significa que la variable no ha sido inicializada. Compare esta lnea con la lnea 23 en la que la variable codesal est inicializada a 0. La lnea: 25 0005 A0 0001r mov al, [dato1] ; resul = dato1 + dato2 +

Muestra el formato generado por el ensamblador para una instruccin. El primer nmero corresponde a la lnea en la que se encuentra esta instruccin en el programa fuente. Enseguida aparece la direccin en la que ser almacenado el cdigo. Despus aparece el cdigo de la instruccin. Note que los comentarios al final de la lnea no producen cdigo. 14.- Salga del editor de Turbo C. 15.- Para convertir el programa objeto en un programa ejecutable usaremos el programa TLINK.EXE, tecleando: tlink /v /m /s /l primer TLink empezar a convertir el programa desplegando lo siguiente:

16. Use el comando DIR para observar los archivos generados por el programa TLink, tecleando: dir Estos son: primer.map primer.exe

17.- Utilice el editor de Turbo C para examinar el contenido del archivo PRIMER.MAP. En la pantalla del editor aparecer lo siguiente:

Este archivo nos muestra cmo estn distribuidos los segmentos a lo largo del mapa de memoria. Este archivo es utilizado por algunos depuradores para mostrar las etiquetas y nombres simblicos al depurar un programa. De otra manera slo mostrara sus valores numricos. 18.- Cargue en el editor de Turbo C el programa fuente PRIMER.ASM y modifique la lnea 30 para que en lugar de tener la instruccin: mov al, [dato1] ; resul = dato1 + dato2 + cte se tenga un error de sintaxis: mob al, [dato1] ; resul = dato1 + dato2 + cte Grabe el programa y salga del editor.

Anda mungkin juga menyukai