Anda di halaman 1dari 3

1er LABORATORIO DE ARQUITECTURA Y ORGANIZACION DEL COMPUTADOR

Objetivo del Laboratorio: Este laboratorio consiste en familiarizarse con la herramienta


1
que se va utilizar para trabajar con el Lenguaje Ensamblador. Para ello se utilizar los
siguientes programas del Turbo C:
- Turbo.exe - Tasm.exe
- Tlinx.exe - Td.exe

Por otro lado el alumno conocer la estructura de un programa en ensamblador, realizar la


definicin de segmentos: datos, pila, cdigo. Adems la inicializacin y termino de un
programa.

Introduccin Terica :

La estructura de un programa en ensamblador es la siguiente:

Pila segment stack ; Declara el segmento de pila


...
pila ends
Datos segment ; Declara el segmento de datos
...
datos ends
Codigo segment ; Declara el segmento de codigo
inicio proc far
assume cs:codigo, ds:datos, ss:pila
...
inicio endp
codigo ends
end inicio

Como vemos bsicamente esta conformado por tres segmentos que son: pila, datos, cdigo.
Un programa ensamblador contiene dos tipos de sentencias: Instrucciones y Directivas.
Las instrucciones son representaciones simblicas del juego de instrucciones del
microprocesador. En el programa modelo se tiene las siguientes instrucciones:
Mov.- Transfiere un byte o palabra desde el operando fuente al operando destino.
Lea.- Transfiere el desplazamiento del operando fuente al operando destino.
Int.- Activa el procedimiento de instruccin especificado por el operando.
Ret.-Retorna de un procedimiento.
Push.- pone una palabra en la pila.
Las directivas indica al ensamblador que hacer con las instrucciones y datos. En el programa
modelo se tiene las siguientes directivas:
Assume.- Indica al ensamblador el registro del segmento que se va ha utilizar para
direccionar cada segmento dentro del mdulo, para al segmento de cdigo: cs, para el de
datos: ds, para el de pila: ss .
Segment.- indica el inicio del segmento nombre. El final del segmento se indica
mediante ends.
Db.- reserva memoria para una variable tipo byte (8 bit), inicializando o no dicho byte y
los posteriores.

Inicio de trabajo:

1. Llamar al Redactor Turbo.Exe y escriba un programa (llamado EJEMPLO con


extensin .ASM, del programa modelo)
2. Compile el programa modelo con el TASM.EXE con el fin de generar un dos archivos
un listing y un Object (el listing contiene mayor informacin, resultado de la compilacin).
Ejemplo:
D:\TA\BIN> Tasm EJEMPLO.ASM/L

1 Ing.Sally Torres Arquitectura y organizacin del computador


Se crea los archivos: EJEMPLO. OBJ EJEMPLO. LST
3. Con el redactor se puede ver nuestro EJEMPLO. LST el cual contiene mayor
informacin de cmo esta nuestro programa.
4. Cree el ejecutable .EJEMPLO.EXE de nuestro programa con la ayuda de Tlink.EXE

D:\TA\BIN>Tlink ejemplo.obj
(verificar en el directorio si se encuentra)

5. Verificar paso a paso el funcionamiento de nuestro programa con ayuda del Turbo
Debugger
D:\TA\BIN>TD ejemplo.exe

Conceptos fundamentales:

Tasm es el compilador del Lenguaje Ensamblador, este complilador permite hacer el anlisis
de la sintaxis del programa (comprobar si est correctamente escrito nuestro programa) y
emitir los errores indicando la lnea de error. E2l compilador da por resultado el archivo. Obj el
cual sirve para crear el ejecutable. EXE y adems da un archivo de texto .LST cuando se pone
la opcin /L, este nuevo archivo contiene informacin de la compilacin del programa. Para ver
las opciones de estos dos programas se utiliza:

D:\TA\BIN\>TASM Y D:\TA\BIN>TLINK

Estos dos archivos se generan cuando no hay errores en la sintaxis del programa.

-En la pantalla del TD se puede ver:

CS:000 B8C953 MOV AX,53C9 AX 53C9 C=0


Registro de .
Uso comn .
.
D=0
DS 53B7 B
PROGRAMA Registros de A
Segmentacin N
D
E
R
A
S
DS: 0012 SS: 0102
SEGMENTO DE DATOS PILA

Orden de Realizacin del Laboratorio

1.- Modificar el programa modelo de acuerdo a sus datos personales.


2.- Escribir el programa modificado en el editor turbo.exe.
3.- Compilar el programa *.asm con el compilador tasm.exe y obtener los archivos: *.obj,
*.lst.
4.- En el caso de que surgan errores corregirlos.
5.- Crear el programa ejecutable *.exe con el montador tlink.exe
6.- Correr el programa generado y comprobar su correcta ejecucin.
7.- Comprobar paso a paso la ejecucin del programa con el turbo Debugger.

2 Ing.Sally Torres Arquitectura y organizacin del computador


Resultados del laboratorio

Documentar los siguientes resultados:

1.- El listing.
2.- Resultados de la ejecucin del programa.
3.- Resultados transitorios del programa en el TD, que demuestren su correcto
3
funcionamiento.

Programa Modelo

Pila segment stack ;Declara del segmento de pila


db 128 dup('pila')
pila ends
Datos segment ;Declara segmento de datos
universidad db 'Universidad nacional del Callao',13,10,'$'
facultad db 'nombre de la facultad', 13, 10, '$'
escuela db 'Escuela profesional', 13, 10, '$'
cod db 'codigo del estudiante ', 13, 10, '$'
nombre db 'nombres del estudiante', 13, 10, '$'
apellido db 'Apellidos del estudiante', 13, 10, '$'
datos ends
Codigo segment ;Declara segmento de codigo
inicio proc far
assume cs:codigo, ds:datos, ss:pila
;Poner en la pila la dirreccion de retorno al DOS
push ds
sub ax,ax
push ax
;inicializa el segmento de datos con su registro de segmentacin
mov ax,datos
mov ds,ax
lea dx,universidad ;Poner en dx la dirreccin de
;los datos "universidad"
mov ah,09h ;Mover a ah el codigo de la funcin de
;salida de una linea de caracteres en la pantalla
;para la interrupcin del DOS
int 21h ;Llama a la interrupcin 21h
lea dx,facultad
mov ah,09h
int 21h
lea dx,escuela
mov ah,09h
int 21h
lea dx,cod
mov ah,09h
int 21h
lea dx,nombre
mov ah,09h
int 21h
lea dx,apellido
mov ah,09h
int 21h
ret ;retorno al DOS
inicio endp
codigo ends
end inicio

3 Ing.Sally Torres Arquitectura y organizacin del computador

Anda mungkin juga menyukai