- Int 16h
-
INT 16h es la forma abreviada de la interrupción 0x16. Esta interrupción se encarga de controlar el teclado del PC.
Contenido
Características
Esta interrupcion se encarga de obtener funcionalidades básicas del teclado, es decir, se encarga de recoger las pulsaciones del teclado, obtener el estado del buffer del teclado, etc. La codificación estándar del teclado que ofrece la INT 16h es de un teclado Estadounidense. Para adaptar la codificación de la INT 16h a otro tipo de teclado (por ejemplo, un teclado español) hay que atender al scan-code de la tecla pulsada y realizar las operaciones convenientes para interpretar la tecla que se desea.
En los teclados de 101 letras o más, existen unas teclas que la INT 16h las interpreta como teclas expandidas, que tienen un scan-code distinto al de las teclas normales (por ejemplo, la tecla pausa).
Lista de servicios de la INT 16h
AH = 00h Teclado Leer pulsación de tecla AH = 01h Teclado Obtener el estado del buffer del teclado AH = 02h Teclado Obtener el estado del teclado AH = 03h Teclado Establecer factor de repetición AH = 05h Teclado Simular la pulsación de una tecla AH = 0Ah Teclado Obtener el ID del teclado AH = 10h Teclado expandido Leer carácter del teclado expandido AH = 11h Teclado expandido Obtener estado del buffer del teclado expandido AH = 12h Teclado expandido Obtener estado del teclado expandido INT 16h AH=00h - Leer pulsación de tecla
Parámetros:
AH = 00h Leer pulsación de tecla Retorna:
AH = ?? Scan-code de la tecla pulsada AL = ?? Carácter ASCII de la tecla pulsada Ejemplo:
;Este ejemplo lee una tecla del teclado y si la tecla pulsada es la de la tecla "ñ" hace las modificaciones para ;que el contenido en AL sea la ñ. inicio: CALL leertecla ;Llamamos a la funcion de leer una tecla MOV AH,0Eh ;Funcion teletype INT 10h ;Mostramos la tecla en pantalla JMP inicio ;Hacemos un bucle eterno leertecla: XOR AX,AX ;Funcion 0 INT 16h ;Llamamos al teclado CMP AH,27h ;¿El scancode corresponde con el scancode de la tecla "ñ"? JE cambiarletra ;Sí, así que cambiamos el contenido de AL RET ;No, así que no realizamos otra operación cambiarletra: MOV AL,0A4h ;Ponemos la letra "ñ" en AL RET ;Volvemos de la rutina
Véase también
Enlaces externos
Categoría:- Interrupciones
Wikimedia foundation. 2010.