Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
AYUDA!!!: PROGRAMA QUE GENERE CODIGOS DEL TECLADO
Enviado por Principiante el día 17 de octubre de 2004
Soy sumamente principiante, y en una materia del primer semestre de mi carrera me piden sin conocimientos previos que haga un programa en NASM que genere los codigos del teclado, los muestre en pantalla y se detenga cuando se preione X.
No debe ser muy dificil para los que ya saben assembler.
POR FAVOR AYYUDENME!!!!!!
Re: AYUDA!!!: PROGRAMA QUE GENERE CODIGOS DEL TECLADO
Enviado por Bibrion el día 19 de octubre de 2004
Hola buenas! No hace mucho que me estoy iniciando en esto del ensamblador por mi propia cuenta. Si no me equivoco, con la interrupcion 16h de la BIOS se recoge una letra por teclado. El servicio es también el 16h. Vamos, que para recoger una letra seria algo así:
mov ah, 16h
int 16h
Tenía algo similar hecho, pero no sé ahora mismo donte lo tendré, estoy hablando de memoria, así que disculpar errores.
El resultado de la tecla pulsada (si no me equivoco) se almacena en DX. A partir de ahí sería comparar:
leer:
mov ah,16h
int 16h
cmp dx,'x'
je salir
;aqui se mostraria el codigo
;del teclado, que ahora mismo
;no recuerdo como era, sorry!
jmp salir
Re: AYUDA!!!: PROGRAMA QUE GENERE CODIGOS DEL TECLADO
Enviado por Pablo123 el día 21 de noviembre de 2004
; AQUI ESTA UN CODIGO, lo probe en mi favorito: Turbo Editasm, bajalo aqui:
; http://www.geocities.com/pabloccortez/Editasm.zip
; buena suerte.....
otra_vez:
mov ah,0
INT 16h
CMP AL,27 ; ESC sirve para salir, porsiaca su codigo es 27
JE fin
mov bl,10
mov ah,0
div bl
mov a3,ah
mov ah,0
div bl
mov a2,ah
mov a1,al
add a1,30h
add a2,30h
add a3,30h
mov dx,offset mensaje
mov ah,9
int 21h
jmp otra_vez
fin:
mov dx,offset exit
mov ah,9
int 21h
mov ah,1
int 21h
MOV AH,4ch
INT 21h
mensaje db "El codigo de la tecla pulsada es: "
a1 db 0
a2 db 0
a3 db 0
db " (en decimal)",10,13,"$"
exit db 10,13,"Pulse una tecla para finalizar...$"