Vous êtes sur la page 1sur 3

INSTITUTO TECNOLGICO DE

COLIMA ING. EN SISTEMAS


COMPUTACIONALES
MATERIA:
Lenguaje Ensamblador

NOMBRE DE LA PRACTICA:

UNIDAD:
1

PRCTI
CA: 2

Manejo de la pantalla y del teclado

OBJETIVO: Conocer y aplicar las operaciones fundamentales de manejo de la


pantalla mediante el despliegue de datos y la captura desde el teclado.
MATERIAL Y EQUIPO NECESARIO:
HARDWARE: IBM PC o compatible .
SOFTWARE: S.O MS-DOS y DEBUG

Actividades de aprendizaje:

Haga un programa en DEBUG que realice lo


siguiente:
1 1) Limpiar la pantalla
2
Para limpiar la pantalla es necesario invocar el servicio 06h de la
interrupcin 10h (video) con los siguientes parmetros:
AH = funcin 06h
AL = 00h para la pantalla completa.
BH = atributo de los caracteres (colocar 07h por default).
CH, CL = rengln: columna de la esquina superior izquierda de la
pantalla (hexadecimal).
DH, DL = rengln: columna de la esquina inferior derecha de la
pantalla (hexadecimal).
Ejemplo:
Codificacin

Resultados

MOV AX, 0600


MOV BH,07
MOV CX,0000
MOV DX, 184F
INT 10

Limpia la pantalla completa

1
2
3
4 2) Colocar el cursor en la pantalla
5
Para colocar el cursor en la pantalla es necesario invocar el servicio
02h de la interrupcin 10h, colocando en DH la coordenada del
rengln y en DL la coordenada de la columna (en hexadecimal)
Codificacin

Resultados(Hexadecimal)

MOV AH,02
MOV BH,00
MOV DH,05
MOV DL,12
INT 10

Coloca el cursor en el rengln 05 y en la columna 12

1 3) Capturar un carcter desde el teclado


2
Esto se puede lograr de dos formas: con echo o sin echo; es decir,
si se desea que el carcter capturado se despliegue en la pantalla
(con echo) se invoca el servicio 01, pero si se desea que el carcter
capturado no se muestre en la pantalla (sin echo) se utiliza el
servicio 08 de la interrupcin 21h. Se coloca el servicio deseado en
AH y se invoca la interrupcin 21h.
Codificacin

Resultados(Hexadecimal)

MOV AH, 08
INT 21

Capturar un carcter desde el teclado con echo.


En el registro AL se almacena el cdigo ASCII en
hexadecimal del carcter capturado.

4) Desplegar un carcter en la pantalla


El despliegue de un carcter en la pantalla se logra invocando el
servicio 02h de la interrupcin 21h. Se coloca en el registro DL el
cdigo ASCII (hexadecimal) del carcter que se desea imprimir en
la pantalla.
Codificacin

Resultados(Hexadecimal)

MOV DL,33
MOV AH,02
INT 21

Muestra en la pantalla el carcter 3 cuyo cdigo


ASCII en hexadecimal es 33h

1 5) Desplegar un carcter en la pantalla con un atributo especial.


2
El atributo de un carcter se refiere a la combinacin del color del
fondo conjuntamente con el color del carcter.

Esto se logra invocando el servicio 09h de la interrupcin 10h


(video) con los siguientes parmetros:
AH = 09h (servicio)
BH = 0 (pgina)
CX = nmero de caracteres a imprimir
AL = cdigo ASCII hexadecimal del carcter que se desea imprimir
BL = cdigo hexadecimal del atributo deseado
Codificacin

Resultados(Hexadecimal)

MOV AH,09
MOV BH,00
MOV CX,0001
MOV AL,A4
MOV BL,10
INT 10

Muestra el carcter A4h ( minscula) en la pantalla


con el atributo 10h (negro sobre azul)

1 6) Desplegar un mensaje en la pantalla.


2
Para lograrlo, se debe ensamblar una cadena de caracteres dentro
del cdigo del programa en una localidad de memoria e invocar el
servicio 09h de la interrupcin 21h con los siguientes parmetros:
DX = Direccin de memoria donde inicia la cadena (mensaje) que
se desea desplegar.
AH = 09 (servicio de despliegue de cadenas)
Ensamble de la cadena:
La cadena debe ensamblarse mediante la definicin DB (Define
Byte) en una localidad de memoria del segmento de cdigo del
programa y debe colocarse entre comillas y terminar con el smbolo
$ que indica el fin de la cadena.
P. ejem.
109: DB Este es un mensaje $
En este caso se ensambl la cadena en la direccin 109h.

Codificacin

Resultados(Hexadecimal)

100: MOV DX, 109


103: MOV AH,09
105: INT 21
107:INT 20
109:DB Hola$

Despliega el mensaje Hola en la pantalla

Vous aimerez peut-être aussi