You are on page 1of 18

UNIVERSIDAD NACIONAL DE EL SALVADOR

FACULTAD MULTIDISCIPLINARIA PARACENTRAL


DEPARTAMENTO DE INFORMATICA
INGENIERIA DE SISTEMAS INFORMATICOS.
CICLO ACADEMICO: I
AO: 2011

CATEDRATICO: ING. HERBERT ORLANDO MONGE


PRESENTADO POR:
MEJIA MUOZ, CARLOS OMAR
MIRA, JOSE ANTONIO
RIVAS DURAN, JOSE ROBERTO

SAN VICENTE, EL SALVADOR MAYO DE 2011

Contenido
INTRODUCCIN .................................................................................................................................... i
OBJETIVO GENERAL: ............................................................................................................................ ii
OBJETIVOS ESPECFICOS: ..................................................................................................................... ii
EL TECLADO ......................................................................................................................................... 3
TECLADO PC XT DE 83 TECLAS ......................................................................................................... 4
TECLADO PC AT DE 84 TECLAS ........................................................................................................ 4
TECLADO EXTENDIDO DE 101 TECLAS ............................................................................................. 6
CONECTORES DE TECLADO ................................................................................................................. 7
CONECTOR DE 5 PINES .................................................................................................................... 7
CONECTOR DE 6 PINES PS/2 ............................................................................................................ 7
CONECTOR USB ............................................................................................................................... 8
BFER DEL TECLADO ........................................................................................................................... 8
INTERRUPCIN 16H DEL BIOS PARA ENTRADA/SALIDA DEL TECLADO ............................................... 9
FUNCIN 00H DE LA INT 16H: LEE UN CARCTER .......................................................................... 9
FUNCIN 01H DE LA INT 16H: DETERMINA SI UN CARCTER EST PRESENTE ............................ 10
FUNCIN 02H DE LA INT 16H: REGRESA AL ESTADO ACTUAL DE SHIFT ....................................... 10
FUNCION 05H DE LA INT 16H: ESCRITURA EN EL TECLADO .......................................................... 11
FUNCION 10H DE LA INT 16H: LECTURA DE UN CARCTER DESDE EL TECLADO .......................... 11
FUNCIN 11H DE LA INT 16H: DETERMINA SI EST PRESENTE UN CARCTER ............................ 12
FUNCIN 12H DE LA INT 16H: REGRESA EL ESTADO PRESENTE DE SHIFT .................................... 12
TECLAS DE FUNCION EXTENDIDA Y CODIGOS DE RASTREO .............................................................. 12
CDIGOS DE RASTREO (DECIMAL) .................................................................................................... 12
EJERCICIO .......................................................................................................................................... 13

MICROPROGRAMACION

INTRODUCCIN

El teclado es un perifrico o dispositivo de entrada, que ha sido utilizado para que


el usuario pueda ingresar desde el los datos al ordenador.
En este caso estaremos hablando de los diferentes tipos de teclados que existen y
los tipos de conectores. Pero lo ms importante las diferentes operaciones para el
manejo del teclado, entre las cuales se encuentra la Int 16 del BIOS, la cual
contiene diferentes funciones para su desarrollo.
Tambin se incluyen el estado del shift del teclado y cdigo de rastreo. Esto es
para saber cundo una tecla ha sido presionada.
El cdigo de rastreo que es un numero nico asignado a cada tecla en el teclado
que permite al sistema identificar el origen de una tecla presionada y permite a un
programa verificar las teclas de funcin extendida, como Inicio, AvPg y Flechas, y
el bfer del teclado que ofrece espacio en memoria para que el usuario teclee por
adelantado antes de que un programa solicite en realidad una entrada.

MICROPROGRAMACION

OBJETIVO GENERAL:
Estudiar las operaciones del teclado que son producidas por la interrupcin
16H.

OBJETIVOS ESPECFICOS:
Analizar el funcionamiento de los servicios de la int 16H. s Conocer la utilidad de
los cdigos de rastreo.
Conocer los tres tipos bsicos de teclas.

ii

MICROPROGRAMACION

EL TECLADO

El teclado proporciona tres tipos bsicos de teclas:


1. Las letras desde A hasta la Z, los nmeros desde el 0 al 9 y caracteres
como %, $ y #.
2. Teclas de funcin de programa, que consiste en: Teclas de funcin de
programa (F1, etc., Shift+fl, etc.) Teclas del panel numrico con Blocknum
apagado (inicio, fin, flechas, sup, ins, RavPag y AvPag ) y las teclas
repetidas en el teclado de 101 teclas Alt+letras y Alt+teclas de funcin del
programa.

3. Teclas de control para Alt, Ctrl y Shift, que funcionan en conjuncin con
otras teclas. El BIOS las trata de manera diferente de las otras teclas
actualizando su estado actual en los bytes del estado del Shift en el rea de
datos de BIOS. El BIOS no las enva como caracteres ASCII a su
programa.

El teclado es el dispositivo fundamental de entrada del ordenador. Su operatoria


no ha sufrido prcticamente cambios desde la aparicin del IBM PC hasta
nuestros das, solo pequeas modificaciones de detalle, que han consolidado 3
tipos de teclado que pueden considerarse estndar.

Teclado PC XT de 83 teclas (en desuso)

Teclado PC AT de 84 teclas (en desuso)

Teclado extendido de 101 teclas

MICROPROGRAMACION

TECLADO PC XT DE 83 TECLAS

Este teclado fue introducido con el IBM PC en 1981. Est dotado de un conector
DIN de 5 patillas. Las teclas estn dispuestas en tres zonas:

Imagen N1 Teclado PC XT

Teclas de funcin: Dispone de 10 teclas de funcin dispuestas en dos


columnas en la zona izquierda.

Teclado mecanogrfico: Situado en el centro, un conjunto de 57 teclas con


disposicin QWERTY similar al de la mquina de escribir.

Teclado numrico: A la derecha tiene un conjunto de 16 teclas ("Numeric


Key Pad") que incluye los caracteres numricos del 0 al 9; los signos +/-;
punto decimal; multiplicacin y teclas de bloqueo numrico y
desplazamiento ("Scroll"). Este conjunto se incluy para las aplicaciones de
gestin que requieren introducir gran cantidad de datos numricos

TECLADO PC AT DE 84 TECLAS

MICROPROGRAMACION

Imagen N2 Teclado de 84 teclas

El IBM PC AT, presentado por IBM en 1983; introdujo un nuevo teclado que
aada una tecla y algo de hardware adicional respecto del XT, de forma que
ambos teclados no eran directamente intercambiables (*). Su disposicin es muy
parecida a la del XT, aunque el teclado numrico independiente est ms
separado, e incluye luces para controlar los estados de bloqueo: De maysculas
("Caps lock"); numrico ("Num lock"), y de desplazamiento ("Scroll").

Sigue utilizando el conector DIN de 5 patillas, pero utiliza un protocolo de


comunicacin bidireccional. Acepta un conjunto de 8 comandos desde la placa
base.

MICROPROGRAMACION

TECLADO EXTENDIDO DE 101 TECLAS

Es introducido por IBM junto con el modelo PS/2 en 1987, y adopta la disposicin
que se ha mantenido prcticamente sin cambios hasta nuestros das, las teclas se
disponen en cuatro bloques, y la tecla Intro est duplicada.

Teclas de funcin: Dispone de una fila superior de 13 teclas, con la tecla


Esc a la izquierda, y 12 teclas de funcin, F0 a F12, dispuestas en tres
grupos de 4 sobre el teclado mecanogrfico.

Teclado mecanogrfico: Situado bajo la fila de teclas de funcin; su


disposicin es similar a los teclados anteriores.

Teclas de control: Un conjunto de 13 teclas situado a la derecha del anterior


que incluye algunas opciones que en los teclados anteriores se haban
utilizado asociados con otras en teclas de doble uso, por ejemplo las cuatro
teclas de desplazamiento de cursor (flechas derecha, izquierda, arriba y
abajo).

Teclado numrico: A la derecha tiene un conjunto de 17 teclas que incluye


un juego de caracteres numricos ("Numeric Key Pad") con los nmeros del
0 al 9, los signos +/-; punto decimal; multiplicacin, divisin, bloqueo
numrico e Intro. Las teclas siguen teniendo doble uso.

El teclado original PS/2 utiliza un conector mini DIN de 6 contactos, que fue
adoptado rpidamente por el resto de fabricantes. La diferencia respecto al DIN
tradicional es meramente mecnica. En caso de tener que conectar un teclado con
conector PS/2 (mini DIN) a un sistema con conector DIN o viceversa, pueden
utilizarse adaptadores. Acepta un conjunto de 17 comandos desde la placa
6

MICROPROGRAMACION

CONECTORES DE TECLADO

Los primeros teclados, XT de 83 teclas; AT de 84, y algunos extendidos de


101/102 teclas, utilizan un conector DIN de 5 patillas con el macho del lado del
teclado y la hembra del lado de la placa-base. Salvo en algunos modelos de IBM
el cable est slidamente unido al teclado.
CONECTOR DE 5 PINES

CONECTOR DE 6 PINES PS/2

MICROPROGRAMACION

CONECTOR USB

BFER DEL TECLADO

Un elemento de inters en el rea de datos del BIOS en 40:1EH es el bfer del


teclado. Esta caracterstica nos permite teclear hasta 15 caracteres antes que el
programa solicite alguna entrada. Cuando presiona una tecla, el procesador del
teclado genera el cdigo de rastreo de la tecla (su nico numero asignado) y de
manera automtica solicita la Int 09H.

La rutina Int 09H del BIOS obtiene el cdigo de rastreo del teclado, lo convierte en
un carcter ASCII y lo enva al rea del bfer del teclado. Luego la Int 16H del
BIOS (la operacin de ms bajo nivel del teclado) lee el carcter del bfer y lo
enva a su programa.

Su programa nunca necesita solicitar la Int 09H, ya que el BIOS lo hace de forma
automtica cuando usted presiona una tecla.

MICROPROGRAMACION

INTERRUPCIN 16H DEL BIOS PARA ENTRADA/SALIDA DEL TECLADO

Para acceder a las funciones del teclado se usa la interrupcin de la BIOS 16h.
Dicha interrupcin permite acceder a varias rutinas distintas asignando al registro
ah el nmero de funcin o subrutina correspondiente. La interrupcin 16h Invoca
los servicios estndar del teclado de la ROM BIOS, ayuda a manejar funciones
avanzadas del teclado, recordemos que el teclado se haya distribuido, por teclas
alfanumricas, de control, extendidas y de funcin.

Funciones de la INT 16H del BIOS


00H
01H
02H
05H
10H
11H
12H

Lee un carcter
Determina si un carcter est presente
Regresa el estado actual del Shift
Escribe en el teclado
Lee un carcter desde el teclado
Determina si un carcter est presente
Regresa el estado actual del Shift
Tabla N1 Funciones de la INT 16H

FUNCIN 00H DE LA INT 16H: LEE UN CARCTER

Esta operacin maneja las teclas del teclado de 83 teclas, pero no acepta entrada
de las teclas adicionales en el teclado ampliado de 101 teclas.
La operacin verifica el bfer del teclado por la entrada de un carcter, si ninguno
est presente la operacin espera que el usuario presione una tecla. Si un
carcter est presente, la operacin lo regresa en AL y su cdigo de rastreo en
AH. Si la tecla presionada es una funcin extendida, como inicio o F1 el carcter
en AL es 00H.
TECLA PRESIONADA
CARCTER ASCCI NORMAL
TECLA EXTENDIDA

AH
COD. DE RASTREO
COD. DE RASTREO

AL
ASCII
00H

Tabla N2 Valores almacenados en AX

MICROPROGRAMACION

Ejemplo: para determinar si el usuario a presionado una tecla.

Mov ah, 00h ; peticin al BIOS de entrada desde el teclado


Int 16
; llama al BIOS
Cmp al, 00h ; es una tecla de funcin extendida?
Je G40
; si

FUNCIN 01H DE LA INT 16H: DETERMINA SI UN CARCTER EST


PRESENTE

Esta funcin es semejante a la funcin 00H, pero con una diferencia importante. Si
un carcter ingresado est presente en el bfer de del teclado, la operacin pone
en cero la bandera (ZF=0) y enva el carcter al AL y su cdigo de rastreo al AH, el
carcter ingresado permanece en el bfer. Si no el flag del cero es el bit 6 del
registro flags (el primer bit es el bit 0!) est presente algn carcter, la operacin
pone en uno la bandera del cero y no espera.

FUNCIN 02H DE LA INT 16H: REGRESA AL ESTADO ACTUAL DE SHIFT

Esta operacin regresa a AL el estado de la tecla Shift desde el rea de datos del
BIOS en la localidad 40:17

10

MICROPROGRAMACION

FUNCION 05H DE LA INT 16H: ESCRITURA EN EL TECLADO

Esta operacin permite que su programa inserte caracteres en el bfer del teclado
como si el usuario hubiera presionado alguna tecla.

FUNCION 10H DE LA INT 16H: LECTURA DE UN CARCTER DESDE EL


TECLADO

La operacin es la misma que la de la funcin 00h, salvo que tambin acepta las
teclas adicional de funcin extendidas (Como F11 y F12). Desde el teclado
ampliado, mientras que la funcin 00H no lo permite.
La operacin verifica el bfer del teclado para un carcter ingresado. Si ninguno
est presente, la operacin espera que el usuario presione una tecla. Si un
carcter est presente, la operacin no regresa en el AL y su cdigo de rastreo en
el AH. Si la tecla presionada es una tecla de funcin extendida, como inicio o F1 el
carcter en el AL=00H. En el teclado ampliado, F11 y F12 tambin regresa 00H en
el AL, pero otras teclas de control (duplicados), como inicio y RePag , regresan
E0H. Aqu estn las 2 posibilidades:
Ejemplo: puede examinar el AL contra 00H o E0H para determinar si el usuario ha
presionado una tecla de funcin extendida.
Mov ah, 10h ; peticin al BIOS para entrada del teclado
Int 16h
; llama al BIOS
Cmp al, 00h ; es una tecla de funcin extendida?
Je G40
;- si
Cmp al,0e0h; es una tecla de funcin extendida?
Je G40
;- si

11

MICROPROGRAMACION

FUNCIN 11H DE LA INT 16H: DETERMINA SI EST PRESENTE UN


CARCTER

Esta operacin es la misma que la funcin 01H, excepto que reconoce las
funciones extendidas del teclado ampliado, mientras que 01H no lo hace.

FUNCIN 12H DE LA INT 16H: REGRESA EL ESTADO PRESENTE DE SHIFT

Esta operacin es semejante a la funcin 02H, que regresa a AL el estado de shift


del teclado desde el rea de datos del BIOS en la localidad 40:17H. La operacin
tambin enva el estado del Shift extendido a AL.

TECLAS DE FUNCION EXTENDIDA Y CODIGOS DE RASTREO

Una tecla de funcin extendida como F1 o inicio solicita una accin en lugar de
enviar un carcter, el programador puede hacer uso de ese cdigo de rastreo para
realizar cualquier evento al presionar cualquier tecla de funcin extendida.
Por ejemplo para la tecla Esc su cdigo de rastreo es 01H guardado en AH.
La operacin responde en una de dos formas, dependiendo de si presiona una
tecla de carcter o una tecla de funcin extendida.
CDIGOS DE RASTREO (DECIMAL)

12

MICROPROGRAMACION

Ejemplo1: La letra A, enva dos elementos:


1. En el registro AL, el carcter ASCII de la A (41H)
2. En el registro AH, el cdigo de rastreo para la letra A (1EH).

AH
1E

AL
41

Ejemplo2: si se presiona una tecla de funcin extendida, como Ins, enva 2


elementos.
1. En el registro AL: cero, o E0h para una nueva tecla de control en teclado
ampliado.
2. En el registro AH: el cdigo de rastreo para Ins, 52H.

AH
52

AL
00

EJERCICIO
.MODEL SMALL
.STACK
.DATA
X1 DB 10
Y1 DB 10
MSJ DB "Tecla invalida",13,10,"$"
DER MACRO VAL ;MACRO PARA MOVER A LA DERECHA
MOV DX,OFFSET VAL
MOV AH,02h
INT 21H
ADD X1,1
gotoxy X1,Y1
CALL COMPARE
ENDM
ASIG MACRO
MOV X1,10
MOV Y1,10

;MACRO PAA REINICIAR X1 Y Y1 A 10,10

13

MICROPROGRAMACION
ENDM
IZQ MACRO VAL ;MACRO PARA MOVER A LA IZQUIERDA
MOV DX,OFFSET VAL
MOV AH,02h
INT 21H
SUB X1,1
gotoxy X1,Y1
CALL COMPARE
ENDM
ARR MACRO VAL ;MACRO PARA MOVER ARRIBA
MOV DX,OFFSET VAL
MOV AH,02h
INT 21H
SUB Y1,1
gotoxy X1,Y1
CALL COMPARE
ENDM
ABA MACRO VAL ;MACRO PARA MOVER ABAJO
MOV DX,OFFSET VAL
MOV AH,02h
INT 21H
ADD Y1,1
gotoxy X1,Y1
CALL COMPARE
ENDM

limpiar MACRO
mov bh,17h
mov ah,06h
mov al,00h
mov cx,0000
mov dx,184fh
int 10h
ENDM
gotoxy MACRO x,y
xor bh,bh
Mov dl,x
mov dh,y
mov ah,02h
int 10h
ENDM
color MACRO x1
14

MICROPROGRAMACION
mov ax,0600h
mov bh,x1
mov cx,0000h
mov dx,184fh
int 10h
ENDM
.CODE
inicio:
mov ax,@data
mov ds,ax
limpiar
gotoxy X1,Y1
COMPARE:
MOV AH,00h
INT 16h
CMP AL,38h
JE ARRIBA

;COMPARAR EL VALOR ASCCI A '8'

CMP AL,32h
;COMPARAR EL VALOR ASCCI A '2'
JE ABAJO
CMP AL,36h
;COMPARAR EL VALOR ASCCI A '6'
JE DERECHA
CMP AL,34h
;COMPARAR EL VALOR ASCCI A '4'
JE IZQUIERDA
CMP AH,0Eh
JE CLEAN
MOV DX,OFFSET MSJ
MOV AH,09H
INT 21H
limpiar
ASIG
gotoxy X1,Y1
call COMPARE
DERECHA:
DER 5Fh
IZQUIERDA:
IZQ 5Fh
ARRIBA:
ARR 7CH
ABAJO:
ABA 7CH
CLEAN:
limpiar
ASIG
15

MICROPROGRAMACION
gotoxy X1,Y1
call COMPARE
END inicio

16

You might also like