You are on page 1of 11

Sesin de Laboratorio N 02

UNIVERSIDAD NACIONAL DE PIURA


FACULTAD DE INGENIERA INDUSTRIAL
ESCUELA PROFESIONAL DE INGENIERA
INFORMTICA

Ao de la Promocin de la Industria Responsable y del Compromiso


Climtico

Informe de Laboratorio N2

Curso: Microcomputadoras I
Responsables:
Castillo Berr, Htalo
Merino Jurez, Manuel Antonio
Snchez Portocarrero, Gustavo
Docente: Ing. Vctor Hugo Valle Ros
Semestre: 2014-II

Piura, octubre del 2014


1

Sesin de Laboratorio N 02

INDICE
1.

INTRODUCCIN............................................................................................................... 3

2. OBJETIVOS ............................................................................................................................ 3

3.

4.

2.1.

Objetivo General ......................................................................................................... 3

2.2.

Objetivos Especficos................................................................................................... 3

MARCO TEORICO ........................................................................................................... 3


3.1.

Lenguaje ensamblador ................................................................................................ 3

3.2.

El procesador Intel 8086 ............................................................................................. 4

3.3.

Tasm.exe ....................................................................................................................... 4

3.4.

Tlink.exe ....................................................................................................................... 5

PROGRAMAS DESARROLLADOS EN LABORATORIO .......................................... 5


4.1.

Primer Programa : Hola Mundo ............................................................................... 6

4.2.

Segundo Programa: Letras de la A-Z........................................................................ 7

4.3.

Tercer Programa: Suma de los primeros n nmeros naturales .............................. 8

5.

CONCLUSIONES ............................................................................................................. 10

6.

RECOMENDACIONES ................................................................................................... 10

7.

REFERENCIAS ................................................................................................................ 11

Sesin de Laboratorio N 02
1. INTRODUCCIN
En este informe se detallar lo realizado en uno de los laboratorios de cmputo
de la Facultad de Ingeniera Industrial, el cual consista en realizar programas en
bajo nivel mediante el lenguaje Assembler que se realizaron en las sesiones de
clase del curso de Microcomputadoras I usando un entorno de desarrollo.
En este caso se desarroll programas bsicos en Assembler que se hicieron en
las sesiones de aula y que se probaron en el laboratorio.
2. OBJETIVOS
2.1. Objetivo General
Desarrollar ejercicios en Assembler a partir de los conocimientos adquiridos en
clase.
2.2. Objetivos Especficos
Hacer uso de las herramientas de programacin en bajo nivel para
compilar nuestros programas fuente.
Entender

el

funcionamiento

de

los

archivos

tasm.exe

(ensamblador) y tlink.exe (enlazador).


Comprobar que los ejercicios desarrollados en clase funcionan
satisfactoriamente en laboratorio.

3. MARCO TEORICO
3.1.Lenguaje ensamblador
El lenguaje ensamblador o Assembler, es un lenguaje de programacin de bajo
nivel para las computadoras, microprocesadores, microcontroladores, y otros
circuitos programables. Implementa una representacin simblica de los cdigos
de

mquina binarios

otras

constantes

necesarias

para

programar

una arquitectura dada de CPU y constituye la representacin ms directa


del cdigo

mquina especfico

para

cada arquitectura

legible

por

un

programador. Esta representacin es usualmente definida por el fabricante


de hardware, y est basada en los mnemnicos que simbolizan los pasos de
procesamiento (las instrucciones), los registros del procesador, las posiciones de
3

Sesin de Laboratorio N 02
memoria y otras caractersticas del lenguaje. Un lenguaje ensamblador es por lo
tanto especfico de cierta arquitectura de computador fsica (o virtual). Esto est
en contraste con la mayora de los lenguajes de programacin de alto nivel, que
idealmente son porttiles.
3.2. El procesador Intel 8086
El 8086 es procesador diseado para trabajar con lenguajes de alto y bajo nivel,
disponiendo de un soporte hardware con el que programas escritos en dichos
lenguajes ocupan un pequeo espacio de cdigo y pueden ejecutarse a gran
velocidad.
Algunas caractersticas del 8086:
El 8086 dispone de instrucciones especiales para el tratamiento de
cadenas de caracteres.
Dispone de un conjunto de registros, denominados cola de
instrucciones, en el cual se van almacenando de forma anticipada los
cdigos de las instrucciones, consiguiendo que este aumente su
velocidad de trabajo.
Los registros del 8086 tienen una misin especfica, por lo que se podra
decir que cada uno de ellos tiene su propia personalidad, aunque varios
comparten tareas comunes.
Las 20 lneas del bus de direcciones solo permiten direccionar una
memoria de 1 Megabyte.

3.3.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 fichero
de este programa lleve la extensin .asm y el nombre del fichero no debe ser
mayor a 8 caracteres.

Sesin de Laboratorio N 02
3.4.Tlink.exe
Es el enlazador o linkeador que permite combinar varios mdulos objeto,
realizando las conexiones entre ellos y, finalmente, los convierte en modulo
ejecutable de tipo .exe. El linkeador 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, lo que agiliza an ms el
proceso.

4. PROGRAMAS DESARROLLADOS EN LABORATORIO


Antes que nada debemos tener en cuenta ciertos aspectos:
Nuestros programas en Assembler solo corrern en plataformas de 32
bits. Si se tiene un sistema operativo de 64 bits se optara por instalar una
mquina virtual de 32 bits o un programa emulador del 8086.
Se deber crear una carpeta en el disco C (Ejm. C:\Micro1\) donde se
guardaran los archivos que se generen.
Se debe tener en la carpeta que almacena nuestros programas 4 archivos
muy importantes: TASM.EXE, TLINK.EXE, DPMILOAD.EXE y
DPMIMEM.DLL. Estos archivos los podemos encontrar dentro del
paquete de Borlan C.

Al guardar nuestro programa el nombre no debe exceder 8 caracteres.

Sesin de Laboratorio N 02
4.1.Primer Programa : Hola Mundo
Se desarroll un programa en Assembler que imprima en pantalla la
frase: Hola Mundo

datos segment
cad db "Hola Mundo$"
datos ends
codigo segment
assume cs:codigo, ds:datos
inicio:
mov ax,datos
mov ds,ax
mov ah,09h
mov dx,offset cad
int 21h
fin:
mov ah,4ch
int 21h
codigo ends
end inicio

Guardamos el archivo con extensin .ASM

Compilamos el programa para detectar errores de sintaxis con el archivo TASM.


(Aqu se genera un archivo prog.obj)

Sesin de Laboratorio N 02
Ahora enlazamos el archivo para generar el archivo .exe con el archivo
TLINK.(Aqu se generan dos archivos prog.map y prog.exe )

Ejecutamos el archivo prog.exe obteniendo:

4.2.Segundo Programa: Letras de la A-Z


Se pide hacer un programa en Assembler que muestre en pantalla las
letras de la A a la Z en maysculas
codigo segment
assume cs:codigo
inicio:
mov ah,02h
mov dl,41h
comp:
cmp dl,5Ah
ja fin
int 21h
inc dl
jmp comp
fin:
mov ah,4Ch
int 21h
codigo ends
end inicio

De la misma manera guardamos el archivo con extensin .ASM


Compilamos el programa para detectar errores de sintaxis con el archivo
TASM.
Ahora enlazamos el archivo para generar el archivo .exe con el archivo
TLINK
7

Sesin de Laboratorio N 02
Ejecutamos el archivo letras.exe obteniendo:

4.3.Tercer Programa: Suma de los primeros n nmeros naturales


Se pide hacer un programa en Assembler que muestre en pantalla la
suma de los n primeros nmeros naturales (En este caso sern los 50
primeros nmeros)

datos segment
msje db "La suma es",0Ah,0Dh,'$'
datos ends
codigo segment
assume cs:codigo, ds:datos
inicio:
mov ax,datos
mov ds,ax
mov si,0
mov ax,0
mov cx,1
comp:
cmp cx,50
ja dividir
add ax,cx
inc cx
jmp comp
dividir:
mov cx,10
mov dx,0
div cx
mov [si],dl
inc si
cmp ax,0
ja dividir
mov ah, 09h
mov dx, offset msje
int 21h

Sesin de Laboratorio N 02
imprimir:
dec si
mov ah,02h
mov dl,[si]
add dl,30h
int 21h
cmp si,0
ja imprimir
fin:
mov ah,4ch
int 21h
codigo ends
end inicio

De la misma manera guardamos el archivo con extensin .ASM


Compilamos el programa para detectar errores de sintaxis con el archivo
TASM.
Ahora enlazamos el archivo para generar el archivo .exe con el archivo
TLINK.
Ejecutamos el archivo .exe obteniendo:

Sesin de Laboratorio N 02
5. CONCLUSIONES
Se verific que los programas en Assembler realizados en clase y en papel se
compilaban y ejecutaba correctamente en un entorno de desarrollo apropiado
para realizar programas en bajo nivel.
La programacin en bajo nivel suele ser muy tediosa dado que no existen
estructuras de programacin, pero nos sirve para entender cmo se manejan los
archivos internos de la computadora.

6. RECOMENDACIONES
Dado que en la mayora de computadoras de la actualidad no se puede usar el
compilador y enlazador de las versiones de Borland, se recomienda utilizar
programas emuladores del 8086 alternativos, tales como: DOS Box 0.74,
Emu8086 y otros emuladores muy fciles de utilizar. Tambin se puede optar
por instalar una mquina virtual de 32 bits capaz de trabajar bajo esta
plataforma.

10

Sesin de Laboratorio N 02
7. REFERENCIAS
http://www.slideshare.net/GerardoGonzalez1/tasm.

Conceptos

sobre

tasm.exe y tlink.exe, Pginas 4, 5, 8 y 9


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

Definicin

de

Lenguaje ensamblador
http://es.slideshare.net/MCRBTALLER/procesador-intel-8086

El

Procesador Intel 8086, Pginas 1 y 2

11

You might also like