Sei sulla pagina 1di 7

PRACTICA 1.

Primer programa de Ensamblador.


Objetivo:
 Aprender el funcionamiento del emulador DosBox.
 Aprender el funcionamiento del TASM y TLINK.
 Crear un mensaje en pantalla en lenguaje ensamblador.
 Observar posibles errores al crear programas en ensamblador.

Material:
1 Emulador de DosBox.
1 Compilador y ligador de ensmablador

Ligas de referencia:

DOSBox. (2019). DOSBox. Recuperado de: https://www.dosbox.com/


Studenthelp62 wordpress. (2019). Assembly Language for x86 Processors. Recuperado de:
https://studenthelp62.files.wordpress.com/2017/03/intelasseblylanguage.pdf
Userpages umbc edu. (2019). The Intel Microprocessors. Recuperado de:
https://userpages.umbc.edu/~squire/intel_book.pdf

CUESTIONARIO DEL MARCO TEÓRICO.


1. ¿Qué es un emulador?
2. ¿Cuál es la función de un compilador?
3. ¿Cuál es la función de un ligador?
4. ¿Cuál es la estructura de un programa en lenguaje ensamblador?
5. Indicar la utilidad de las siguientes directivas:
 .model
 .stack.
 .data.
 .code
 end
6. ¿Cuáles son los tipos de datos de lenguaje ensamblador?
7. ¿Cómo se declara e inicializa una variable en lenguaje ensamblador?
8. Indicar el tipo y la utilización de las siguientes instrucciones:
 MOV
 LEA
 INT
DESARROLLO DE LA PRÁCTICA.

Actividad 1. Creación de un programa en lenguaje ensamblador sin errores.

En un editor de texto, capturar las siguientes instrucciones y guardarlo en un archivo cuyo


nombre sea: PR1a.ASM en la ruta: \TASM\BIN\ dentro de la carpeta que contiene al
DOSBox (no cierre su editor de texto por si necesita corregir el código).

.MODEL SMALL
.STACK 100h
.DATA
M1 DB ' Escribe tu nombre ' , 10 , 13 , '$'
.CODE
mov AX , @data
mov DS , AX
lea DX , M1
mov AH , 9
int 21h
mov AH , 4ch
int 21h
END

Abrir la aplicación del DOSbox y teclear la siguiente línea para cambiar la configuración
de las teclas a un teclado Latinoamericano:

Z:\> keyb la (oprimir ENTER)

Para montar la unidad C tenemos que emplear el comando:

mount c: [unidad lógica del DOSBox] : \ carpeta

Por ejemplo si el DOSBox se encuentra en la unidad C (la raíz de nuestro disco duro) y en
la carpeta dosbox tecleamos lo siguiente:

Z:\> mount c: c:\dosbox (oprimir ENTER)

Para cambiarnos a la unidad C tecleando únicamente C: y oprimiendo enter.

Z:\> c: (oprimir ENTER)


Cambiarse a la ruta C:\TASM\BIN\ por medio de las siguientes instrucciones:

C:\ cd TASM (oprimir ENTER)


C:\TASM\ cd BIN (oprimir ENTER)
C:\TASM\BIN\

Asegurarse que el archivo con el código fuente PR1a.ASM se encuentre en esta carpeta
por medio del comando de DOS:

C:\TASM\BIN\ dir *.ASM

Con este comando le solicitamos al DOS que liste todos los archivos que tengan la
extensión ASM.

Si no aparece listado el archivo, solicitar el directorio de la forma:

C:\TASM\BIN\ dir PR1*.*


De esta manera le solicitamos al DOS que despliegue todos los archivos cuyo nombre
comience con PR1 sin importar su extensión. Normalmente un error comun es que el nombre
del archivo se haya guardado con el nombre: PR1a.TXT.ASM. Para renombrarlo usamos el
comando siguiente:

C:\TASM\BIN\ ren PR1a.TXT.ASM PR1a.ASM

Solicitamos el directorio nuevamente y debe aparecer el código fuente.

C:\TASM\BIN\ dir *.ASM

Compilar el código fuente de la siguiente forma:

C:\TASM\BIN\ tasm pr1a /la

Solicitar el directorio con el comando:

C:\TASM\BIN\ dir pr1a.*

De no existir errores deben aparecer tres archivos con nombre pr1a y extensiones asm,
lst y obj. Si existe un error al compilar, el archivo con extensión obj no se creará y el error
lo podemos encontrar abriendo en un editor de texto al archivo pr1a.lst. De no existir el
archivo, quiere decir que en el código fuente pr1a.asm no se encuentra el fin de archivo,
es decir, la instrucción END en la última línea del programa. Corregir los errores, volver a
compilar y solicitar el directorio hasta que aparezcan los tres archivos.

Escriba el comando:

C:\TASM\BIN\edit pr1a.lst

Observe que lo que aparece es el código máquina asociado con su instrucción en lenguaje
ensamblador equivalente. En caso de que el compilador detectará cualquier error, es en este
archivo en que podemos observar el lugar donde el compilador asocia el error desplegado.
Como en cualquier lenguaje de programación no necesariamente la línea es la que tiene el
error. El error puede estar en esa línea o antes, puede ser que falta una declaración previa, el
nombre del símbolo (variable) es incorrecto, la sintaxis está mal empleada, etc.

Ligar al código objeto las librerías del sistema de la siguiente forma:

C:\TASM\BIN\ tlink pr1a

Solicitar el directorio con el comando:


C:\TASM\BIN\ dir pr1a.*

De no existir errores deben aparecer cinco archivos con nombre pr1a y extensiones asm,
lst, obj, map y exe .

Ejecutar el código ejecutable (programa ejecutable) de la siguiente manera:

Actividad 2. Sin fin de cadena.

Al programa original PR1a.ASM copiarlo con otro nombre de la siguiente forma:

C:\TASM\BIN\ copy PR1a.ASM PR1b.ASM

Abrir el archivo PR1b.ASM y editar la instrucción

M1 DB 'Hola mundo' , 10 , 13 , '$'

Quitándole el signo de pesos y quedando solo:

M1 DB 'Hola mundo' , 10 , 13

Compilar, ligar y ejecutar el nuevo programa e indicar que ocurre.

C:\TASM\BIN\ tasm pr1b /la


C:\TASM\BIN\ tlink pr1b
C:\TASM\BIN\ pr1b

Actividad 3. Sin salida adecuada de DOS.

Al programa original PR1a.ASM copiarlo con otro nombre de la siguiente forma:

C:\TASM\BIN\ copy PR1a.ASM PR1c.ASM

Abrir el archivo PR1c.ASM y quitar las instrucciones


mov AH,4ch
int 21h

Compilar, ligar y ejecutar el nuevo programa e indicar que ocurre.

C:\TASM\BIN\ tasm pr1c /la


C:\TASM\BIN\ tlink pr1c
C:\TASM\BIN\ pr1c

Actividad 4. Sin inicialización correcta del área de datos.

Al programa original PR1a.ASM copiarlo con otro nombre de la siguiente forma:

C:\TASM\BIN\ copy PR1a.ASM PR1d.ASM

Abrir el archivo PR1d.ASM y quitar las instrucciones

mov AX,@data
mov DS,AX

Compilar, ligar y ejecutar el nuevo programa e indicar que ocurre.

C:\TASM\BIN\ tasm pr1d /la


C:\TASM\BIN\ tlink pr1d
C:\TASM\BIN\ pr1d

Actividad 5. Sin modelo de programa.

Al programa original PR1a.ASM copiarlo con otro nombre de la siguiente forma:

C:\TASM\BIN\ copy PR1a.ASM PR1d.ASM

Abrir el archivo PR1e.ASM y quitar la directiva completa o retirar únicamente el punto a


la izquierda de MODEL

.MODEL SMALL

Compilar el nuevo programa e indicar que ocurre.

C:\TASM\BIN\ tasm pr1e /la


Inicio

M1

Fin

Distribución de puntuación de la calificación:


Actividad Puntos
1. Hola mundo sin errores. 2
2. Sin fin de cadena 1
3. Sin salida a DOS 1
4. Sin área de datos 1
5. Sin modelo 1

Reporte escrito. 4
Total. 10
Tabla 1. Valor de cada programa.

Potrebbero piacerti anche