Comment attraper une presse à onglet dans l'assemblage x86?
Question
Je travaille sur un projet dans l'assemblage x86 sous Windows (MASM), et je dois attraper en quelque sorte des presses à onglet, mais je ne sais pas comment faire dans l'assemblage (je suis nouveau pour elle).
Je peux obtenir obtenir les commentaires de l'utilisateur avec 21H, mais pour autant que je peux dire qui ne fonctionne que si les utilisateurs types les données, puis appuie sur Entrée.
Ce que je dois est une façon de sorte que si l'utilisateur appuie sur la touche de tabulation, il exécutera un proc, puis de ce proc je peux gérer ce qui doit arriver. Est-il possible de le faire?
La solution
Si je comprends correctement, vous pouvez utiliser:
mov ah,1 ; get char from keyboard
int 21h
cmp al, 9 ; 9 is ascii of tab
jnz Dont_Call
Call Proc_Name
Dont_Call:
(REST OF CODE)
Autres conseils
http://spike.scu.edu.au/~barry /interrupts.html#ah01
DOS 21H - DOS Codes de fonction
AH = 01h - CARACTERE DE LIRE ENTRÉE STANDARD, AVEC ECHO
Retour: AL = caractère lu
Notes:
^ C / ^ Pause sont vérifiés
^ P permet de basculer l'écho à l'imprimante drapeau DOS interne
^ Z ne soit pas interprétée, donc ne provoquant pas un EOF si l'entrée est redirigée caractère est repris à la sortie standard
Voir aussi: AH = 06h, AH = 07h, AH = 08h, AH = 0Ah