Você está na página 1de 11

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE INGENIERA Y ARQUITECTURA


ESCUELA DE INGENIERA ELCTRICA
SISTEMAS DIGITALES PROGRAMABLES I.
Gua de Laboratorio #4:

Impresora y Ratn
Profesor:
Instructor:

Ing. Ricardo E. Corts.

OBJETIVOS:
Introducir al alumno con los conocimientos bsicos sobre control de algunos de los perifricos ms
comunes en una computadora como lo son ratn, impresora, etc.
Reforzar y ampliar los conocimientos sobre interrupciones.
INTRODUCCIN
Hasta ahora nicamente nos habamos limitado al manejo del teclado y la pantalla, dejando a un lado el resto
de perifricos que suelen hallarse en la mayora de computadoras actualmente como lo son el ratn y la
impresora. En este laboratorio abarcaremos ms de cerca el estudio de estos dispositivos.
IMPORTANTE:

Para poder llevar a cabo este laboratorio, se necesitar de una computadora que tenga
instalada los controladores para uso de impresora y ratn desde el DOS (Estos
controladores son diferentes a los de Windows).

1. Impresora.
Comparada con el manejo de la pantalla y discos, la impresin es un proceso fcil. La
impresin se lleva a cabo por medio de la interrupcin 21H del DOS o la interrupcin 17H del BIOS. Los
principales comandos especiales para la impresora son:
Avance de pgina
(0CH)
Avance de lnea(0AH)
Retorno de carro
(0DH)
Tabulacin horizontal (09H)
La impresora debe comprender la seal enviada desde el microprocesador, as como el procesador debe
entender las seales enviadas desde la impresora como no hay papel, ocupada, impresora no lista, etc.
Desafortunadamente, muchos tipos de impresoras responden de manera diferente a las seales enviadas desde
el procesador.
NOTA: El cdigo de la funcin debe ser introducido en el registro AH.
Las principales funciones de la interrupcin 21H del DOS para impresin son:

Laboratorio No. 4: Impresora y Ratn

Pgina 1 de 11

Funcin 05H:

Imprimir un caracter.

Parmetros de entrada:

Contenido:

DL

Caracter a imprimir.

Parmetros de salida:

No tiene

Funcin 40H:

Imprimir Caracteres.

Parmetros de entrada:

Contenido:

BX
CX
DX

manejador de archivo (4 para especificar impresora).


Nmero de caracteres a imprimir
Direccin de inicio de la cadena de caracteres.

Parmetros de salida:

Contenido:

AX

Nmero de caracteres impresos (operacin exitosa) u cdigo de error


(error en la impresin). El cdigo de error puede ser de 5 (acceso
denegado) 6 (manejador no vlido).

Adems, si la impresin tiene xito, la bandera de acarreo se pone en cero (C=0), sino, en uno (C=1).
NOTA: La impresin puede ser interrumpida en cualquiera de estas funciones por medio de la combinacin
de teclas [CONTROL]+[BREAK].
Las principales funciones para impresin de la interrupcin 17H del BIOS son:
Funcin 00H:

Imprimir un carcter.

Parmetros de entrada:

Contenido:

AL
DX

Caracter a imprimir.
Nmero de puerto de la impresora. Este puede ser 0 (LPT1, valor por
defecto), 1 (LPT2) 2 (LPT3).

Parmetros de salida:

Contenido:

AH

Cdigo de estado.

El cdigo de estado de la impresora es el siguiente (vlido para todas las funciones de la interrupcin 17H):
Bit:
8.
3
4
5
6
7

Causa:
Se acab el tiempo.
Error de E/S.
Impresora seleccionada.
No hay papel.
Reconocimiento desde la impresora
Impresora no ocupada.

Laboratorio No. 4: Impresora y Ratn

Pgina 2 de 11

La condicin 10010000B 90H indica que la impresora NO est ocupada, pero est seleccionada (condicin
vlida)
Funcin 01H:

Inicializar puerto de impresora.

Parmetros de entrada:

Contenido:

DX

Puerto de la impresora (0, 1 2).

Parmetros de salida:

Contenido:

AH

Cdigo de estado.

La operacin enva un carcter de avance de pgina, que puede usarse para fijar la impresora al inicio de una
pgina, aunque usualmente esto se hace automticamente.
Funcin 02H:

Obtener estado de la impresora.

Parmetros de entrada:

Contenido:

DX

Puerto de la impresora (0, 1 2).

Parmetros de salida:

Contenido:

AH

Cdigo de estado.

Se recomienda que siempre, antes de ejecutar cualquiera de las funciones de impresin del BIOS, verifique el
estado del puerto con esta funcin.
NOTA: Siempre que termine de imprimir, utilice los caracteres de avance de lnea o avance de pgina para
limpiar el buffer de impresin.

2. Ratn.
El ratn es un dispositivo usado para apuntar, bsicamente gobernado por un controlador. Que
generalmente es instalado por una entrada en el archivo CONFIG.SYS o AUTOEXEC.BAT.
Todas las operaciones del ratn dentro de un programa son realizadas por las funciones estndar de la
interrupcin 33H. El cdigo de las funciones correspondientes a esta interrupcin se cargarn en el registro
AX y no en AH como generalmente se hace.
Algunas de las funciones bsicas de la interrupcin 33H son:
Funcin 00H:

Inicializar el ratn.

Este es el primer comando para el manejo de ratn que debe emitirse y slo necesita ser usado una vez.
Parmetros de entrada:

No tiene.

Parmetros de entrada:

Contenido:

Laboratorio No. 4: Impresora y Ratn

Pgina 3 de 11

AX
BX

0000H si el ratn no est disponible o 0FFFH si est disponible.


Nmero de botones del ratn.

Si un ratn al que se le da soporte est disponible, esta funcin hace lo siguiente:

Establece el apuntador en el centro de la pantalla.


Si el apuntador est visible, lo oculta.
Fija la pgina de despliegue del apuntador en cero.
Establece el apuntador como un cuadrado de color inverso (modo texto) o una flecha (modo grfico).
Establece la razn mickey/ pixel como 8/8 (horizontal) y 16/8 (vertical). Un mickey es la unidad de
medida del movimiento del ratn y equivale a 1/200 pulg.
Establece los lmites horizontal y vertical para el apuntador al mnimo y mximo.
Habilita el modo de emulacin de pluma ptica.
Establece el umbral de velocidad a 64 mickey/seg. (La velocidad mnima a la que el ratn debe moverse
para duplicar la velocidad del apuntador en pantalla).

Funcin 01H:

Desplegar el apuntador de ratn.

Parmetros de entrada:

No tiene.

Parmetros de salida:

No tiene.

Funcin 02H:

Ocultar el apuntador de ratn.

Parmetros de entrada:

No tiene.

Parmetros de salida:

No tiene.

La prctica estndar es emitir esta funcin al final de un programa para ocultar el apuntador.
Funcin 03H:

Obtener el estado del botn y posicin del apuntador.

Parmetros de entrada:

No tiene.

Parmetros de salida:

Contenido:

BX

CX
DX

Estado de los botones, donde: Bit 0 = botn izquierdo.


Bit 1 = botn derecho.
Bit 2 = botn central.
Si alguno de estos bits est en uno (1) indicar que el botn respectivo
est presionado; si est en cero (0), el botn est arriba.
Coordenada horizontal. (x) en pixeles.
Coordenada vertical (y) en pixeles.

Funcin 04H:

Establecer posicin del apuntador.

Parmetros de entrada:

Contenido:

CX
DX

Coordenada horizontal.
Coordenada vertical

Laboratorio No. 4: Impresora y Ratn

Pgina 4 de 11

Parmetros de salida:

No tiene.

Las coordenadas sern ajustadas si se hallan fuera de los lmites mnimo y mximo establecidos.
Funcin 05H:

Obtener informacin sobre la pulsacin del ratn.

Parmetros de entrada:

Contenido:

BX

Cdigo del botn (0 = derecho, 1= izquierdo, 2 = central).

Parmetros de salida:

Contenido:

AX

Estado de los botones, donde: Bit 0 = botn izquierdo.


Bit 1 = botn derecho.
Bit 2 = botn central.
Si alguno de estos bits est en uno (1) indicar que el botn respectivo
est presionado; si est en cero (0), el botn est arriba.
Contador del nmero de pulsaciones del botn especificado.
Coordenada horizontal. (x) de la ltima pulsacin del ratn.
Coordenada vertical (y) de la ltima pulsacin del ratn.

BX
CX
DX

Esta operacin restablece a cero el nmero de pulsaciones del ratn.


Funcin 06H:

Obtener informacin sobre la liberacin del ratn.

Parmetros de entrada:

Contenido:

BX

Cdigo del botn (0 = derecho, 1= izquierdo, 2 = central).

Parmetros de salida:

Contenido:

AX

Estado de los botones, donde: Bit 0 = botn izquierdo.


Bit 1 = botn derecho.
Bit 2 = botn central.
Si alguno de estos bits est en uno (1) indicar que el botn respectivo
est presionado; si est en cero (0), el botn est arriba.
Contador del nmero de liberaciones del botn especificado.
Coordenada horizontal. (x) de la ltima liberacin del ratn.
Coordenada vertical (y) de la ltima liberacin del ratn.

BX
CX
DX

Esta operacin restablece a cero el nmero de liberaciones del ratn.


Funcin 07H:

Fijar lmites horizontales para el ratn.

Parmetros de entrada:

Contenido:

CX
DX

Lmite inferior.
Lmite superior.

Parmetros de salida:

No tiene.

Laboratorio No. 4: Impresora y Ratn

Pgina 5 de 11

Si el mnimo es mayor que el mximo, los nmeros se intercambian. De ser necesario, el apuntador es
movido automticamente.
Funcin 08H:

Fijar lmites verticales para el ratn.

Parmetros de entrada:

Contenido:

CX
DX

Lmite inferior.
Lmite superior.

Parmetros de salida:

No tiene.

Si el mnimo es mayor que el mximo, los nmeros se intercambian. De ser necesario, el apuntador es
movido automticamente.
Funcin 0BH:

Leer contadores de movimiento del ratn.

Esta funcin regresa el conteo de mickeys horizontales y verticales, desde la ltima llamada a la funcin
(dentro del intervalo 32,768 y 32,767).
Parmetros de entrada:

No tiene

Parmetros de salida:

Contenido:

CX
DX

Conteo horizontal. (positivo: derecha, negativo: izquierda).


Conteo vertical. (positivo: abajo, negativo: arriba).

Funcin 10H:

Fijar rea de exclusin del ratn.

Esta operacin define un rea de la pantalla en la que el apuntador no es mostrado. Para reemplazar el rea de
exclusin, llame de nuevo a esta funcin con otros parmetros o emita la funcin 00H 01H.
Parmetros de entrada:

Contenido:

CX
DX
SI
DI

Coordenada X, esquina superior izquierda.


Coordenada Y, esquina superior izquierda.
Coordenada X, esquina inferior derecha.
Coordenada Y, esquina inferior derecha.

Funcin 24H:

Obtener informacin del ratn.

Esta operacin regresa informacin acerca de la versin y tipo de ratn.


Parmetros de entrada:

No tiene.

Parmetros de salida:

Contenido:

BH

Nmero principal de versin.

Laboratorio No. 4: Impresora y Ratn

Pgina 6 de 11

BL
CH

Nmero secundario de versin.


Tipo de ratn, donde:
1 = Ratn de bus.
2 = Ratn serial.
3 = Ratn InPort.
4 = Ratn PS/2.
5 = Ratn HP.

Laboratorio No. 4: Impresora y Ratn

Pgina 7 de 11

Universidad de El Salvador

Sistemas Digitales Programables I

Desarrollo de la Prctica
1. Digite, ensamble y enlace el programa del anexo A. Verifique el funcionamiento del programa.
2. Investigue si su computadora tiene instalado un controlador de ratn mediante un programa como el
procedimiento CHKM en las copias adjuntas. Si no tiene controlador, es parte de la prctica conseguirlo e
instalarlo.
3. Repita el procedimiento del paso anterior para el programa del anexo B.
4. Describa qu sucede al ejecutar el programa controlador del ratn desde una ventana de WINDOWS y
desde el MS-DOS. Hay alguna diferencia?
5. Ensamble y ejecute el programa del ejemplo 7-26 en el libro de Brey 5 ed.. Haga correcciones si hay
errores de codificacin.

Reporte
El reporte deber incluir:
-

Programa que sea capaz de obtener toda la informacin posible de su ratn(como el ejemplo 7-26 ) y
que adems pueda desplegarla en pantalla al oprimir alguno de sus botones, as como permita la salida
del programa al presionar otro botn del ratn.

Programa que imprima la portada de su reporte. Deber desplegar en pantalla cul es el puerto al que se
encuentra conectado su impresor.

Copia impresa de los programas .LST de TODOS los programas comprendidos en esta prctica.

Para el caso de los programas que manejan impresora, incluir la impresin generada de la ejecucin de
dichos programas.

Bibliografa

Lenguaje Ensamblador para IBM PC y Compatibles. Peter Abel.

Laboratorio No. 4: Impresora y Ratn

Pgina 8 de 11

Universidad de El Salvador

Sistemas Digitales Programables I

ANEXO A
; Programa que prueba las capacidades del impresora.
;---------------- Segmento de datos ---------------DATOS SEGMENT PARA PUBLIC 'DATA'
TEXTO DB
DB
DB
DB
FIN
DB

'Este mensaje debe aparecer en la impresora.',0DH,0AH,0AH


'Adems, este otro mensaje debe aparecer en el siguiente rengln'
0DH,0AH,0AH,0AH
9,'Fin',9,'del',9,'texto',0CH
0

DATOS ENDS
;---------------- Segmento de pila -----------------PILA

SEGMENT PARA STACK 'STACK'


DB

PILA

256 DUP (0)

ENDS

;---------------- Segmento de cdigo ----------------COD

SEGMENT PARA PUBLIC 'CODE'


ASSUME
CS:COD,DS:DATOS,SS:PILA

CODIGO

PROC

FAR

MOV
MOV

AX,DATOS
DS,AX

MOV
MOV
MOV
SUB
LEA
INT

AH,40H
BX,4
CX,OFFSET FIN
CX,OFFSET TEXTO
DX,TEXTO
21H

MOV
INT

AX,4C00H
21H

CODIGO

ENDP

COD

ENDS

END

CODIGO

Laboratorio No. 4: Impresora y Ratn

Pgina 9 de 11

Universidad de El Salvador

Sistemas Digitales Programables I

ANEXO B
; Programa que prueba las capacidades del ratn.
IZ
DER

EQU
EQU

0
1

;---------------- Segmento de datos ---------------DATOS SEGMENT PARA PUBLIC 'DATA'


MENSAJE
VISIBLE

DB
DB

'ERROR: El ratn no est disponible.',0AH,0DH,'$'


0

DATOS ENDS
;---------------- Segmento de pila -----------------PILA

SEGMENT PARA STACK 'STACK'


DB

PILA

256 DUP (0)

ENDS

;---------------- Segmento de cdigo ----------------COD

SEGMENT
ASSUME

CODIGO
MOV
MOV
MOV
INT
CMP
JNE

PARA PUBLIC 'CODE'


CS:COD,DS:DATOS,SS:PILA

PROC FAR
AX,DATOS
DS,AX
AX,0
33H

; Inicializar el ratn.

AX,0 ; No se inicializ el ratn exitosamente?


SALTO ; Si hubo xito, saltar.
MOV
LEA
INT

AH,9
DX,MENSAJE
21H
; Desplegar mensaje de error.

JMP

SALIR ; Saltar al fin del programa.

SALTO:MOV
INT
INC

AX,1 ; hacer visible el apuntador.


33H
VISIBLE

LAZO: MOV
MOV
INT

AX,5 ; Obtener informacin sobre pulsacin del ratn.


BX,IZ ; Botn a detectar: izquierdo.
33H

CMP

BL,1
JNZ

; Se presion el botn izquierdo ?


PRUEBA2
; Si no es as, saltar a la otra prueba.

AND

VISIBLE,1

; Borrar lodos los bits de la variable

Laboratorio No. 4: Impresora y Ratn

Pgina 10 de 11

Universidad de El Salvador

JZ

MOSTRAR

MOV
JMP

AX,2
SALTO2

MOSTRAR:MOV AX,1
SALTO2:INT
INC

Sistemas Digitales Programables I

; VISIBLE menos el primero.


; Si el puntero es invisible, mostrarlo.
; Funcin para ocultar el ratn.
; Funcin para mostrar el ratn.

33H
VISIBLE

PRUEBA2:MOV AX,6 ; Obtener informacin sobre liberacin de botn.


MOV
BX,DER
; Botn a detectar: derecho.
INT
33H
CMP

BL,1
JZ

OCULTAR

JMP

LAZO

OCULTAR:MOV
INT
SALIR:
INT

AX,2
33H
MOV
21H

CODIGO

ENDP

COD

ENDS

END

CODIGO

; Se liber el botn derecho?


; Si es as, salir del programa.

; Oculta el ratn.
AX,4C00H

Laboratorio No. 4: Impresora y Ratn

Pgina 11 de 11

Você também pode gostar