Académique Documents
Professionnel Documents
Culture Documents
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
PRACTICA 4
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
Introducción
La instrucción LOOP.
Acabamos de usar la instrucción LOOP que es el reemplazo de DEC y JNZ. LOOP
primero decremento (CX ← CX – 1) y luego salta a etiqueta si CX ≠ 0, con CX = 0
sale del lazo.
La instrucción CMP.
El ejemplo anterior implementa un bucle con contador decreciente hasta cero. Se
puede implementar bucles con contador creciente, en cuyo caso se necesita
verificar si CX ha alcanzado un valor particular (distinto de cero).
Multiplicación y Divisió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.
Instrucciones lógicas:
AND: es útil para encerar bits en un operando (‘0’ Φ = ‘0’). Por ejemplo, la
operación: AND AL, 0FH encera los bits b7b6b5b4 pero no afecta los bits
b3b2b1b0.
OR: es útil para encender bits en un operando (‘1’ v Φ =’1’). Por ejemplo, la
operación: OR AL, 0FH enciende los bits b3b2b1b0 pero no afecta los bits
b7b6b5b4.
XOR: es útil para complementar bits en un operando (‘1’ ⊕ Φ = NOT Φ). Por
ejemplo, la operación: XOR AL, 0FH complementa los bits b3b2b1b0 pero no
afecta los bits b7b6b5b4. La operación XOR también puede usarse para
limpiar registros – la operación XOR AX, AX encera el registro AX. Las
instrucciones de desplazamiento y rotación se usan para manipular cantidades
binarias a nivel de bits dentro de registros o localidades de memoria.
Instrucciones de desplazamiento:
SHL: desplazamiento lógico a la izquierda, por la derecha siempre ingresa un
cero.
SHR: desplazamiento lógico a la derecha, por la izquierda siempre ingresa un
cero.
Investigar funcionamiento de SAL y SAR.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
0
SHL CF Registro o Memoria
0
SAL CF Registro o Memoria
0
SHR Registro o Memoria CF
Instrucciones de rotación:
Posicionan datos binarios rotando registros o localidades de memoria, de un
extremo al otro ó a través de la bandera de acarreo CF. Las cuatro
instrucciones de rotación son las siguientes:
ROR
Registro o Memoria CF
3 PROCEDIMIENTO
3.1 EQUIPO
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 02:
1. Analice P3.ASM. Modifique CX con 10. Reemplace DEC CX y JNZ LZO por LOOP
LZO. Ensamble.
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 03:
1. Modifique el programa P3.ASM de tal forma que se visualice un carácter por línea
de texto, en primera línea la negrita en segunda el trébol, así sucesivamente.
2. Use los caracteres de control avance de cursor y retorno de cursor, consulte tabla
ASCII.
3. Observe que se usa una función de BIOS y otra de MSDOS.
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. Imprima resultados.
EJERCICIO # 04:
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
INT 21H
LOOP LZO
MOV AX, 4C00H
INT 21H
PRINCIPAL ENDP
END PRINCIPAL
EJERCICIO # 05:
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
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.
EJERCICIO # 06:
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
.MODEL SMALL
.STACK 100H
.DATA
MENSA DB "LOS DIGITOS HEXADECIMALES: ","$"
DIGHEX DB "0 1 2 3 4 5 6 7 8 9 A B C D E F"
.CODE
PRINCIPAL PROC
MOV AX, @DATA
MOV DS, AX
MOV DX, OFFSET MENSA
MOV AH, 9
INT 21H
MOV CX, 0; contador = 0
MOV BX, OFFSET DIGHEX
LZ0: MOV AL, [BX]
MOV AH, 0EH; imprime carácter en pantalla
INT 10H
INC BX; incrementa puntero
INC CX; incrementa contador
CMP CX, 19
JNZ LZ0
MOV AX, 4C00H
INT 21H
PRINCIPAL ENDP
END PRINCIPAL
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 07:
MODEL SMALL
.STACK 100H
.DATA
CADENA1 DB 'Olé a los BUCLES', 10, 13,'$'
CADENA2 DB 'COPIA:', 30 DUP (?)
.CODE
PRINCIPAL PROC
MOV AX, @DATA
MOV DS, AX
MOV DX, OFFSET CADENA1
MOV AH, 9
INT 21H
MOV BX, OFFSET CADENA1
MOV SI, OFFSET CADENA2
MOV AL, [BX] ; lee byte desde CADENA1
MOV [SI+7], AL ; escribe byte en CADENA2
MOV AL, [BX+1]
MOV [SI+8], AL
MOV AL, [BX+2]
MOV [SI+9], AL
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
Ensamble y ejecute.
OlÚ a los BUCLES
COPIA: OÚ a los BUCLES
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
Nota: Bucle con contador decreciente: edite el programa anterior pero con nombre
P5_1.ASM y modifíquelo implementando un bucle para copiar CADENA1 en
CADENA2. El bucle necesita la longitud de la CADENA1, use la instrucción LOOP.
Mantenga las tres instrucciones INT 21H.
EJERCICIO # 08:
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
.MODEL SMALL
.STACK 100H
.DATA
CADENA1 DB 'Olé a los BUCLES', 10, 13,'$'
CADENA2 DB 'COPIA:', 30 DUP (?)
.CODE
PRINCIPAL PROC
MOV AX, @DATA
MOV DS, AX
MOV DX, OFFSET CADENA1
MOV AH, 9
INT 21H
MOV BX, OFFSET CADENA1
MOV SI, OFFSET CADENA2
MOV AH,8
MOV CX,20
LAZO:
MOV AL,[BX]
MOV [SI+BX+7],AL
INC AH
INC BX
LOOP LAZO
MOV DX, OFFSET CADENA2
MOV AH, 9
INT 21H
MOV AX, 4C00H
INT 21H
PRINCIPAL ENDP
END PRINCIPAL
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 09:
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
3. Contenido de variables:
PROMEDIO =2250 hex, RESIDUO= 0002 hex
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 10:
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 11:
.MODEL SMALL
.STACK 100
.DATA
NUM DB 11010101B
MSJE DB "NUMERO BINARIO: ","$"
.CODE
PRINCIPAL PROC
MOV AX, @DATA
MOV DS, AX
MOV DX, OFFSET MSJE
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
MOV AH, 9
INT 21H
;********************************
MOV BL, NUM
MOV CX, 8
LAZO1: SHR BL, 1
JC ESUNO
MOV DL, 30H
JMP DISPLAY
ESUNO: MOV DL, 31H
DISPLAY:MOV AH, 2
INT 21H
LOOP LAZO1
.EXIT
PRINCIPAL ENDP
END PRINCIPAL
EJERCICIO # 12:
2. Haga los cambios para que el número se imprima en el orden normal, es decir
del bit más significativo al bit menos significativo.
.MODEL SMALL
.STACK 100
.DATA
NUM DB 11010101B
MSJE DB "NUMERO BINARIO: ","$"
.CODE
PRINCIPAL PROC
MOV AX, @DATA
MOV DS, AX
MOV DX, OFFSET MSJE
MOV AH, 9
INT 21H
;********************************
MOV BL, NUM
MOV CX, 8
LAZO1: SHL BL, 1
JC ESUNO
MOV DL, 30H
JMP DISPLAY
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 13:
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
.MODEL SMALL
.STACK 100
.DATA
NUM DW 0DA5CH
MSJE DB "NUMERO BINARIO: ","$"
.CODE
PRINCIPAL PROC
MOV AX, @DATA
MOV DS, AX
MOV DX, OFFSET MSJE
MOV AH, 9
INT 21H
;********************************
MOV BX, NUM
MOV CX, 10H
LAZO1: SHL BX, 1
JC ESUNO
MOV DL, 30H
JMP DISPLAY
ESUNO: MOV DL, 31H
DISPLAY:MOV AH, 2
INT 21H
LOOP LAZO1
.EXIT
PRINCIPAL ENDP
UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE LECTRONICA Y TELECOMUNICACIONES
PRACTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
END PRINCIPAL
5 Conclusiones y Bibliografia
6.1 Conclusiones
EN ESTA PRACTICA PUDIMOS GENERAR ARREGLOS CON SUS RESPECTIVAS INSTRUCCIONES
PARA QUE AL MOMENTO DE EJECUTAR IMPRIMA EMOTICONES EN UN ARREGLO EN
DIFERENTES LUGARES O POSICIONES, CADA LINEA DE CODIGO NOS AYUDA A VISUALIZAR
DICHO ARREGLO DONDE TENDRAN UN INICIO Y UNN FINAL DONDE SE VA A GENERAR EL
BLUCLE
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