Interrupcioj 16h
La interrupción 16h ayuda a manejar funciones avanzadas del teclado, recordemos que
las teclado se hallan distribuido, por teclas alfanuméricas, de control, extendidas y de
función.Leer un carácter
Para realizar esta operación se utilizan los servicios 00 y 10.
El servicio 00 utiliza se utiliza para el manejo de sólo 83 teclas.
Registro
Valor
Servicio:00
AH
RetornaRegistro Valor
Código de
AH
rastreo
Carácter ascii
AL
Código de
AH
rastreo
00
AL
Tipo de tecla
Ascii normal
Función
extendida
El servicio 10 utiliza se utiliza para el manejo de sólo101 teclas, acepta teclas de
función extendida, teclado ampliado, teclas de control duplicadas.
Registro
Valor
Servicio:00
AH
Retorna
Registro Valor
Código de
AH
rastreo
Carácter ascii
ALCódigo de
AH
rastreo
00 o E0
AL
Tipo de tecla
Ascii normal
Función
extendida
Para determinar si un usuario ha presionado una tecla de función extendida utilizar:
MOV AH,00
INT 16H
CMPAL, 00
JE COMPARA_RASTREO
...
MOV AH,10H
INT 16H
CMP AL, 00
JE COMPARA_RASTREO
CMP AL, E0H
JE COMPARA_RASTREO
...
Algunos códigos de rastreo:
Tecla
Supr
Insert
End
Flech
abajoFlecha
Arrib
Flecha
Izq
Flecha
Der
Inicio
PgDn
PgUp
Rastreo
53
52
4f
50
Ascii
00
00
00
00
48
00
4B
00
4D
00
47
51
49
00
00
00;--------------------------------------------------------------------------------;rastreo de la tecla INICIO, USANDO INT 16H, SERVICIO 10
;---------------------------------------------------------------------------------;Definici¢n del Stack
STACKSG SEGMENT PARA STACK 'STACK'
DB 20 DUP (0)
STACKSG ENDS
;Definici¢n de reas de trabajo
;µrea de Datos
DATASG SEGMENT PARA 'DATA'
MEN DB 'Hola ........$'
DATASGENDS
;Area de c¢digo
CODESG SEGMENT PARA 'CODE'
PRINCI PROC FAR
ASSUME SS:STACKSG, DS:DATASG, CS:CODESG
;Protocolo
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,SEG DATASG
MOV DS,AX
;Inicia programa...
Regístrate para leer el documento completo.