tabaldi
(usa BackTrack)
Enviado em 17/11/2016 - 11:45h
Por gentileza alguém sabe como verificar se as teclas estão ativas.
Exemplo: preciso verificar se a tecla NUM LOCK está ativa ou não, e para isso fiz um programa em assembly com o emu 8086, e quando tento fazer essa verificação não verifica.
OBS: essa é uma macro apenas, e os valores binarios não estão corretos conforme a tecla, mas já deveria verificar.
segue o programa:
;============================
teclado MACRO
menuteclasatv:
limpar
mov ah, 09h
mov dx, offset mnteclasativ
int 21h
ler
cmp al, 31h
jz capsverificar
cmp al, 32h
jz numverificar
cmp al, 33h
jz scrolverificar
cmp al, 34h
jz insertverificar
cmp al, 35h
jz menu
jmp menuteclasatv
limpar
;=================================================
insertverificar:
limpar
mov al, 02h
int 16h
mov al, 00100000b
jz ativa
jmp desativa
;=================================================
capsverificar:
limpar
mov al, 02h
int 16h
mov al, 01000000b
jz ativa
jmp desativa
;=================================================
numverificar:
limpar
mov al, 02h
int 16h
cmp al, 00000001b
jz ativa
jmp desativa
;=================================================
scrolverificar:
limpar
mov al, 02h
int 16h
mov dx, 00000001b
jz ativa
jmp desativa
;=================================================
ativa:
limpar
mov ah, 09h
mov dx, offset mncapsativa
int 21h
;=================================================
mncapsativa db "ATIVA $"
ler
jmp menu
endm
;=================================================
desativa:
limpar
mov ah, 09h
mov dx, offset mncapsdesativa
int 21h
;=================================================
mncapsdesativa db "DESATIVA $"
ler
jmp menu
endm
;=================================================
mnteclasativ db "QUAL TECLA DESEJA VERIFICAR"
db 0ah, 0dh, "1 - CAPS LOCK"
db 0ah, 0dh, "2 - NUM LOCK"
db 0ah, 0dh, "3 - SCROL LOCK"
db 0ah, 0dh, "4 - INSERT LOCK"
db 0ah, 0dh, "5 - VOLTAR"
db 0ah, 0dh, "OPCAO $"
endm