You are on page 1of 4
INSTITUTO TECNOLÓGICO DE COLIMA ING. EN SISTEMAS COMPUTACIONALES

INSTITUTO TECNOLÓGICO DE COLIMA ING. EN SISTEMAS COMPUTACIONALES

INSTITUTO TECNOLÓGICO DE COLIMA ING. EN SISTEMAS COMPUTACIONALES

MATERIA:

UNIDAD:

PRÁCTICA:

 

Lenguaje

1

4

Ensamblador

 

NOMBRE DE LA PRACTICA: Uso del MACROENSAMBLADOR

 

OBJETIVO: Utilizar correctamente la herramienta MASM6.0 para crear y ejecutar programas en lenguaje ensamblador.

MATERIAL Y EQUIPO NECESARIO:

HARDWARE: IBM PC o Compatible . SOFTWARE: S.O MS-DOS y EDIT, MASM6.0, Memoria USB o Disco de 3 ½.

Actividades de aprendizaje:

1) Abre una sesión de MS-DOS, haciendo clic en “Inicio”, “Todos los programas”, “Accesorios” y seleccionando “Símbolo del sistema”.

2)Pulsar las teclas ALT y ENTER de forma simultánea. ¿Qué sucede?

3)Repetir de nuevo la pulsación de ALT + ENTER

4) Ya en el ambiente DOS usa el comando CD C:\MASM60 para llegar al subdirectorio “MASM60”. NOTA: (\ = ALT+92 o Alt Gr + \ )

5) Usando el comando DIR, verifica que en el subdirectorio se encuentran los archivos: MASM.EXE y LINK.EXE, que son imprescindibles para desarrollar esta práctica.

6) Activa el editor de texto del DOS usando el comando EDIT

7) Escribir un programa que realice la suma de dos datos inmediatos (el 10h y el 20h) que se encuentran en los registros AX y DX del procesador. El resultado lo almacenará en AX. Al terminar guárdalo con el nombre “PRIMASM.ASM”. No olvidar escribir la extensión .ASM

8) En el menú Archivo selecciona “salir” para regresar al ambiente DOS.

9) Usando el comando DIR verifica la existencia de tu archivo y anota

cuantos bytes

contiene.

_______

10) Ahora se va a convertir el código fuente (ASM) en objeto (OBJ) usando el ensamblador (archivo MASM), escribiendo la siguiente línea:

C:\MASM60>MASM PRIMASM

NOTA: NO ES NECESARIO ESCRIBIR LA EXTENSION .ASM

PRIMER PROGRAMA

DX = 20H INICIO FIN AX=AX+DX AX = 10H

DX = 20H

INICIO

FIN

DX = 20H INICIO FIN AX=AX+DX AX = 10H
DX = 20H INICIO FIN AX=AX+DX AX = 10H
DX = 20H INICIO FIN AX=AX+DX AX = 10H
DX = 20H INICIO FIN AX=AX+DX AX = 10H
AX=AX+DX
AX=AX+DX
AX = 10H
AX = 10H
;Se define el segmento de código ;Almacena suma en AX ;Inicializa los registros de ;Fin de
;Se define el segmento de código
;Almacena suma en AX
;Inicializa los registros de
;Fin de programa
;Mover 20H a DX
;Mover 10H a AX
.MODEL SMALL
MOV DX, 20H
MOV AX, 10H
ADD AX,DX
.STACK 64
segmentos
.STARTUP
;Salida al
.CODE
.DATA
.EXIT
DOS
END

11) Para terminar se te indica si se han encontrado errores en el código, de no ser así se ha terminado el proceso de ensamble.

12) Para comprobarlo emplea el comando DIR para buscar los archivos con nombre: PRIMASM.*

13) Anota el nombre y tamaño de cada uno

_____________________________

¿Son más o menos del mismo tamaño? ________

14) Borra el archivo .OBJ y a partir del .ASM genera los archivos con extensiones .OBJ, .LST, .SBR . Para ello utiliza el comando

C:\MASM60>MASM PRIMASM , , ,

15) Usa el comando Dir para ver si los creo.

16) Ahora procede a convertir el código objeto (OBJ) en auto ejecutable (EXE) usando el enlazador (archivo LINK), escribiendo la línea: C:\MASM60>LINK PRIMASM

NOTA: COMO EN EL CASO ANTERIOR,NO ES NECESARIO ESCRIBIR LA EXTENSION .OBJ

17) Observaras el siguiente mensaje:

Run File [PRIMASM.EXE]:

Así como al ensamblar, te indica que el nombre por default del archivo ejecutable será el mismo que el objeto, puedes cambiarlo si lo deseas. Por el momento presiona solo ENTER.

18) A continuación aparece otro mensaje:

List File [NUL.MAP]:

Consulta si deseas crear el archivo MAPA que indica la ubicación relativa y el tamaño de cada segmento, así como mensajes si hay errores. Por el momento solo presiona ENTER.

19) Ahora veras otro mensaje:

Libraries [.LIB]:

Consulta si vas a utilizar un archivo librería para enlazarlo con el programa. Por el momento solo presiona ENTER.

20) Por ultimo veras el mensaje Definitions File [ NUL.DEF]:

Nuevamente presiona ENTER.

21) En este momento debes tener tres archivos llamados PRIMASM con extensiones ASM, OBJ y EXE(aparte de los .LST y .SBR). Verifica su existencia con el comando DIR y compara el tamaño de cada archivo.

22) Para estudiar el programa escribe la siguiente línea de comando:

C:\MASM60>DEBUG PRIMASM.EXE

23) Para observar el segmento de código del programa que ha cargado en memoria escriba el siguiente comando:

-U 0

24) Ubique la dirección de inicio y de fin del segmento

Nota que el último código hexadecimal es CD 21, que corresponde a la instrucción INT 21

25) Ejecute el programa con el comando “G”.

26) Observe que funcionó y que se ha desplegado un mensaje

El programa ha terminado de forma normal

27) Salga del DEBUG con el comando Q. 28.Cambiar la operación aritmética. En vez de sumar se desea restar. Para ello, cambiar la instrucción ADD AX, DX por SUB AX, DX en el código.

29) Tomando como guía los pasos anteriores que correspondan ensambla y enlaza el nuevo código fuente.

30) Usa el Debug para verificar su buen funcionamiento.

31) Borra los archivos PRIMASM .OBJ y PRIMASM .EXE

y a partir

del archivo PRIMASM.ASM genéralos nuevamente utilizando solo

el siguiente

comando.

C:\MASM60>ML PRIMASM.ASM