Sunteți pe pagina 1din 16

UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA

FACULTAD DE SISTEMAS Y TELECOMUNICACIONES


CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

CARRERA CICLO CODIGO NOMBRE DE LA


ASIGNATURA
Electronica y 2017-1 EL075 Microprocesadores
Telecomunicaciones

PRACTICAS Microprocesadores DURACION


NOMBRE DE LA PRACTICA Lenguaje Ensamblador 2h

PRACTICA 3

1 OBJETIVOS

 Identificar y familiarizarse con DEBUG que forma parte del sistema operativo MS-DOS bajo
Windows, además de Emu8086
 Aprender a usarlo para examinar y alterar el contenido del programa a ejecutar en notepad,
textpad.
 Practicar para reforzar los conocimientos aprendidos.

2 FUNDAMENTO TEORICO

INTRODUCCION: El Macro Assembler de Microsoft, se encuentra instalado en el directorio C:\8086>, en la


plataforma

Windows → dosbox → cmd mode

Para editar el programa fuente usar cualquier editor de texto: EDIT, NOTEPAD, NOTEPAD2, TEXTPAD. Una
vez editado guardarlo con extensión .ASM, por ejemplo P1.ASM, donde P1 representa el nombre del
programa fuente.
Para ensamblar en modo real, use el comando masm. Antes de ejecutar el comando asegúrese de tener una
copia de masm.exe en su directorio de trabajo. El comando para ensamblar es:
C:\8086\>masm P1.asm enter
Antes verifique que el archive se encuentre en la carpeta 8086

C:\8086> dir *.asm


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

assume cs:code,ds:data
data segment
opr1 dw 1144h
opr2 dw 3322h
result db 02 dup(?)
data ends
code segment
org 0100h ;nos colocamos en un segmento de memoria
start: mov ax,data ; cualquier dato que este en 100h lo pasamos a ax
mov ds,ax ; datos de ax van a ds
mov ax,opr1 ; la variable opr1 pasa a ax
mov bx,opr2 ; igual que ax
add ax,bx ; sumamos bx y ax
mov si,offset result;
mov [si],ax
mov ah,4ch
int 21h
code ends
end start
1. Guarde el código anterior en un archive de notas con extensión .asm
2. Ejecute dentro del directorio C:\8086\> dir *.asm
3. Ejecute C:\8086\>masm nombre_de_archivo.asm enter (con esto crea el archivo objeto.
4. Luego ejecute C:\8086\> link nombre_de_archivo.obj enter (con esto crea el archivo .exe
5. Luego ejecute C:\8086\> debug nombre_de_archivo.exe
6. Para terminar, ejecute –u (desensambla), -d (direcciona), -e (guarda un valor en un registro).

Solución:
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

El programa EMU8086 es mucho más amigable que DEBUG, permite fácilmente hacer el seguimiento a la
ejecución de instrucciones y los cambios que ocurren tanto en el segmento de datos como en el grupo de
registros de trabajo del microprocesador.

Emu8086 muestra una ventana de código, una ventana de comandos, una ventana de memoria 1 y una
ventana de registros. Si no aparecen todas las ventanas deseadas use el menú de la pestaña Windows y
habilite la ventana requerida.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

3 PROCEDIMIENTO
3.1 EQUIPO
EQUIPO NECESARIO MATERIAL DE APOYO
 Computadora.  Practica digital
 Software DosBox  Pizarron
 Software emu8086.  Marcadores
 Proyector
3.2 DESARROLLO DE LA PRACTICA
*********************************************************************
SUMA DE ENTEROS DE 16 BITS.
**********************************************************************
EJERCICIO # 01: Edite P1.ASM y luego ensamble con MAKE16 P1. Las líneas de código de P1 son:
TITLE Operaciones. ; Titulo del programa
.MODEL SMALL
.STACK 64
.DATA ; segmento de datos
FLDA DW 250
FLDB DW 125
FLDC DW ?
.CODE ; segmento de código
MOV AX, @DATA
MOV DS, AX
MOV AX, FLDA
MOV AX, FLDB
MOV FLDC, AX
MOV AX, 4C00H
MOV 21H
END; Fin del programa fuente.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

Cargar P1 en EMU8086 para su análisis. Con F10 ejecute paso a paso y conteste las preguntas.

1. ¿Cuál es la dirección lógica inicial de FLDA?

2. ¿Cuál es la dirección lógica inicial de FLDB?

3. ¿Durante la ejecución del programa con qué valor se cargó el registro DS?
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

4. ¿Inicialmente con qué valor se carga AX?

5. ¿Este valor en AX qué representa?

7. Visualice luego escriba el código de máquina de MOV FLDC, AX.

8. ¿Cuál es el modo de direccionamiento asociado con el operando destino en la instrucción MOV


AX, FLDA?
Modo de Direccionamiento Inmediato
9. Incluya en su reporte el archivo P1.ASM.

EJERCICIO # 02: Edite P2.ASM y luego ensamble con masm P2. Las líneas de código de P1 son:
TITLE Suma de cuatro números enteros residentes en memoria.
.MODEL SMALL
.STACK 200
.DATA ; segmento de datos
ARREGLO DW 1234, 5678,9876, 5432, 1023, 4567
CNT DW 4
STOTAL DW ?
.CODE ; segmento de código
MOV AX, @DATA
MOV DS, AX
MOV CX, CNT
MOV BX, OFFSET ARREGLO
MOV AX, 0
OTRO: ADD AX, WORD PTR [BX]
INC BX
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

INC BX
DEC CX
JNZ OTRO
MOV STOTAL, AX
MOV AX, 4C00H
INT 21H
END; Fin del programa fuente.

Cargar P2 en EMU8086 para su análisis. Con F10 ejecute paso a paso y conteste las preguntas.

1. ¿Cuál es la dirección lógica inicial de ARREGLO?

2. ¿Cuál es la dirección lógica inicial de CNT?

3. ¿Durante la ejecución del programa con qué valor se cargó el registro DS?

071D

4. ¿Inicialmente con qué valor se carga BX?

5. ¿Este valor en BX qué representa?


Representa
6. Visualice luego escriba el código de máquina de MOV STOTAL, AX.

7. ¿Cuál es el modo de direccionamiento asociado con el operando destino en la instrucción MOV


STOTAL, AX?
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

8. Visualice luego escriba el código de máquina de MOV AX, WORD PTR [BX].

9. ¿Cuál es el efecto después de la ejecución de MOV AX, 4C00H e INT 21H?

10. Incluya en su reporte el archivo P2.ASM.

*******************************************************************
ARITMETICA ASCII.
*******************************************************************
EJERCICIO # 03: Edite P3.ASM cuyo listado es el siguiente:
.MODEL SMALL
.STACK
.DATA
OPERANDO1 DB 39h ; 39h codigo ascii del 9 decimal
OPERANDO2 DB 39h
RESULTADOASCII DB 2 DUP (?) ;reserva dos byte para el resultado
.CODE
MOV AX, @DATA ;indica donde estan los datos que se van a operar
MOV DS, AX
MOV AX, 0
MOV AL, OPERANDO1
ADD AL, OPERANDO2
AAA ; ajuste ascii después de sumar 2 bytes ascii
ADD AX, 3030H
MOV RESULTADOASCII, AH
MOV RESULTADOASCII+1, AL
MOV AX, 4C00H
INT 21H
END
1. Ensamble con DEBUG.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

2. En EMU8086.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

3. Corra el programa paso a paso hasta antes de ejecutar la instrucción de ajuste AAA, observe el
estado de
AX =
AF =
4. Ejecute la instrucción de ajuste y observe el estado de:
AX =
CF =
AF =
5. Ejecute todo el programa y observe el contenido de la variable:
resultadoascii =
6. Modifique el programa anterior poniendo como operandos los números 34h y 32h.
7. Repita los pasos anteriores del 1 al 5 y describa las diferencias en los estados del acumulador AX,
banderas AF y CF y de la variable resultadoascii.
8. ¿Para qué se realiza la instrucción ADD AX, 3030h?
9. ¿En qué formato de decimal (empaquetado o no empaquetado) se obtiene el resultado, después
del ajuste AAA en AX?

Nota: Incluya en su reporte los archivos P3.ASM.

********************************************************************
ARITMETICA BCD.
********************************************************************
EJERCICIO # 04: Edite P4.ASM cuyo listado es el siguiente:
.MODEL SMALL
.STACK
.DATA
OPERANDO1 DB 95h; dos digitos BCD el 9 y el 5
OPERANDO2 DB 98h; dos digitos BCD el 9 y el 8
RESULTADOBCD DW 0
.CODE
MOV AX, @DATA; indica donde están los datos que se van a operar
MOV DS, AX
MOV AH, 00
MOV AL, OPERANDO11
MOV BL, OPERANDO2
ADD AL, BL
DAA ; ajuste decimal después de sumar dos dígitos BCD
ADC AH, 00
MOV resultadoBCD, AX
MOV AX, 4C00H
INT 21H
END
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

1. Ensamble con DEBUG.


UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

2. En EMU8086.
3. Corra el programa paso a paso hasta antes de ejecutar la instrucción DAA, observe el estado de:
AX =
AF =
CF =
4. Ejecute la instrucción de ajuste DAA y observe el estado de
AX =
AF =
CF =
5. ¿Cuál es el propósito de la suma del acumulador AH con 00h? (ADC AH, 00H)
6. Ejecute todo el programa.
7. Observe el contenido de la variable
resultadoBCD =
8. Cambie los operandos por 45h y 67h respectivamente y repita los pasos 1 a 7. Compruebe los
resultados de la suma BCD.
Nota: Incluya en su reporte los archivos P4.ASM y P4.LST.

5 Conclusiones y Bibliografia
6.1 Conclusiones

6.2 Bibliografia
 THE INTEL MICROPROCESSORS, Architecture, Programming and Interfacing. Barry B.
Brey. Prentice Hall.
 IBM PC ASSEMBLY LANGUAGE AND PROGRAMMING. Peter Abel. Prentice Hall.
 www.unitec.edu.ve/materiasenlinea/upload/T368-1-1.ppt
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES

PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.

S-ar putea să vă placă și