You are on page 1of 4

Guía

9 1

Manejo del Vídeo Facultad: Ingeniería.


Escuela: Electrónica
Objetivos Generales Asignatura: Microprocesadores

Aplicar las opciones básicas de la INT 10h en el manejo del video.

Objetivos específicos

• Aplicar las opciones 02 y 06 de la INT 10h a los programas escritos en lenguaje


ensamblador.
• Aplicar los conocimientos adquiridos en el período anterior al utilizar una nueva
situación.

Materiales y equipos

• Guía de laboratorio
• Computadora PC con los archivos MASM.EXE y LINK.EXE.

Procedimiento

1) Acceda a la carpeta MASM50

2) Usando el comando EDIT escriba el PRIMER PROGRAMA.

3) Analice su estructura observando el llamado que se hace a los procedimientos y


a las interrupciones.

4) Compile y enlace el programa.

5) Limpie la pantalla con el comando CLS.

6) Ejecute el programa y a continuación escriba lo que se imprimió en pantalla.

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

7) Compile y enlace nuevamente el programa.

8) Ahora ejecute el programa sin limpiar previamente la pantalla.


¿Dónde se imprimen los textos ahora?
Guía
9 2

PRIMER PROGRAMA
.model small ;--------------------------
.code ;PROCEDIMIENTOS
;--------------------------
INICIO:
prinstr PROC NEAR
mov ax, @data
mov ah, 09
mov ds, ax
int 21h
;******************* ret
;BLOQUE DE TEXTO prinstr ENDP

mov dx, 0000h postxy PROC NEAR


call postxy mov ah, 02h
lea dx, text_1 int 10h
call prinstr
ret
postxy ENDP
mov dx, 0210h
call postxy
lea dx, fra_a .data
call prinstr char DB ?
text_1 DB 10,13,'De cual de las siguientes frases es autor Rene
mov dx, 0310h Descartes?$'
call postxy fra_a DB 'A)Saber para prever, a fin de poder.$'
lea dx, fra_b fra_b DB 'B)El fin justifica los medios.$'
call prinstr
fra_c DB 'C)Pienso luego existo.$'
fra_d DB 'D)Solo se que nada se.$'
mov dx, 0410h
call postxy resp DB 10,13,'Responda ahora: $'
lea dx, fra_c bien DB 'MUY BIEN$'
call prinstr mal DB 'ERROR$'
fin DB 10,13,'Presione cualquier tecla para terminar el programa.$'
mov dx, 0510h
call postxy .stack
lea dx, fra_d end
call prinstr

lea dx, resp


call prinstr
;*******************
;--------------------------
;1ª MODIFICACION
;--------------------------
;--------------------------
;2ª MODIFICACION
;--------------------------
mov ax, 4C00h
int 21h

9) Sustituya el comentario etiquetado 1ª MODIFICACION por las siguientes líneas:

call readchar
mov char, al
Guía
9 3

10) Incluya el siguiente procedimiento en su programa, puede colocarlo debajo de


postxy:

readchar PROC NEAR


mov ah, 01
int 21h
ret
readchar ENDP

11) Compile y enlace el nuevo programa.


12) Ejecute el programa.
¿Qué diferencias nota respecto al anterior?

_____________________________________________________________________

_____________________________________________________________________

13) Sustituya el comentario etiquetado 2ª MODIFICACION por las siguientes líneas:

cmp al, 'C'


jz ETIQ
mov dx, 0C24h
call postxy

lea dx, mal


call prinstr
jmp INICIO
ETIQ: mov bh, 00010111b
mov ax, 0600h
mov cx, 0000h
mov dx, 184Fh
int 10h

mov dx, 0C24h


call postxy
lea dx, bien
call prinstr

mov dx, 1800h


call postxy
lea dx, fin
call prinstr
call readchar

14) Según la modificación ¿cuál opción que se verifica en el proceso? __________


15) Use el comando CLS
16) Ejecute el programa y describa como lo utiliza el usuario
NOTA: si desea ejecutar el programa nuevamente, primero debe limpiar la
pantalla.

_____________________________________________________________________

_____________________________________________________________________
Guía
9 4

17) En el bloque 2ª MODIFICACION cambien el dato en BH por 01110000b y


verifique su efecto en el programa.

18) Ahora coloque 00101110b

19) Modifique el programa para lograr fondo rojo con letras blancas.

Análisis de resultados

a) Primer programa.

¿Qué dato debe almacenar en el registro dx para que el último texto se imprima el
centro de la pantalla?
Al comparar los pasos 6 y 8 ¿por qué los textos se imprimen de esa forma?

b) 1ª MODIFICACION.

¿Por qué es necesario presionar cualquier tecla para terminar el programa ya


modificado?

c) 3ª MODIFICACION.

¿Cómo logra el programa distinguir entre mayúsculas y minúsculas?


¿Cuáles son las coordenadas de las cuatro esquinas del monitor?
¿Cuáles son los bits concretos que definen el color del texto y el fondo?
¿Qué ocurriría se almacenará en BH 00h ó FFh?

Investigación complementaria

Investigue otras combinaciones de bits para cambiar el color del texto y el fondo.

Bibliografía
Abel, P. Lenguaje Ensamblador y Programación para PC IBM y Compatibles, Prentice
Hall, México DF, 19953
Biblioteca UDB: 005.136 A139 1999

You might also like