Documente Academic
Documente Profesional
Documente Cultură
PRÁCTICA 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
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
La instrucción LOOP.
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.
En las operaciones de multiplicación y división, los microprocesadores de
INTEL usan los registros AX, AL, AH, EAX, DX y EDX como se ilustra en las
dos tablas siguientes:
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA 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.
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA 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
EQUIPO NECESARIO MATERIAL DE APOYO
Computadora. Practica digital
Software DosBox Pizarron
Software emu8086. Marcadores
Proyector
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
PRÁCTICA 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.
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 03:
.MODEL SMALL
.STACK 100H
.DATA
.CODE
PRINCIPAL PROC
MOV AX, @DATA
MOV DS, AX
MOV CX, 10
LZO: MOV AL, 02H; ASCII de cara negrita ?
MOV AH, 0EH; función de BIOS
INT 10H
MOV AL,10
INT 10H
MOV AL,13
INT 10H
MOV DL, 05H; ASCII de trébol ?
MOV AH, 2; función de MSDOS
INT 21H
MOV DL,10
MOV AH,2
INT 21H
MOV DL,13
MOV AH,2
INT 21H
LOOP LZO
MOV AX, 4C00H
INT 21H
PRINCIPAL ENDP
END PRINCIPAL
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 04:
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.
Con estas controles podemos ir visualizando paso a paso como se cumplen cada
una de las instrucciones para entender cada una de ellas ya que necesitamos
como se salen las filas y las columnas
3. Observe que se usa una función de BIOS y otra de MSDOS.
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 05:
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 06:
.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
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
PRÁCTICA 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
MOV AL, [BX+3]
MOV [SI+10], AL
MOV AL, [BX+4]
MOV [SI+11], AL
MOV AL, [BX+5]
MOV [SI+12], AL
MOV AL, [BX+6]
MOV [SI+13], AL
MOV AL, [BX+7]
MOV [SI+14], AL
MOV AL, [BX+8]
MOV [SI+15], AL
MOV AL, [BX+9]
MOV [SI+16], AL
MOV AL, [BX+10]
MOV [SI+17], AL
MOV AL, [BX+11]
MOV [SI+18], AL
MOV AL, [BX+12]
MOV [SI+19], AL
MOV AL, [BX+13]
MOV [SI+20], AL
MOV AL, [BX+14]
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
MOV [SI+21], AL
MOV AL, [BX+15]
MOV [SI+22], AL
MOV AL, [BX+16]
MOV [SI+23], AL
MOV AL, [BX+17]
MOV [SI+24], AL
MOV AL, [BX+18]
MOV [SI+25], AL
MOV DX, OFFSET CADENA2
MOV AH, 9
INT 21H
MOV AX, 4C00H
INT 21H
PRINCIPAL ENDP
END PRINCIPAL
Ensamble y ejecute.
OlÚ a los BUCLES
COPIA: OÚ a los BUCLES
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:
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA 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 PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 09:
EJERCICIO # 10:
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
EJERCICIO # 11:
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
.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: 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:
1. Haga los cambios para que el número se imprima en el orden normal, es
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.
.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
ESUNO: MOV DL, 31H
DISPLAY:MOV AH, 2
INT 21H
LOOP LAZO1
.EXIT
PRINCIPAL ENDP
END PRINCIPAL
EJERCICIO # 13:
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA 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
END PRINCIPAL
5 Conclusiones y Bibliografia
6.1 Conclusiones
6.2 Bibliografia
THE INTEL MICROPROCESSORS, Architecture, Programming and Interfacing. Barry B.
UNIVERSIDAD ESTATAL PENÍNSULA DE SANTA ELENA
FACULTAD DE SISTEMAS Y TELECOMUNICACIONES
CARRERA DE ELECTRÓNICA Y TELECOMUNICACIONES
PRÁCTICA DE MICROPROCESADORES
DOCENTE: Msc. Elsy Villamar G.