Articles > Assembleur > Graphismes > Vesa > ClearKeyboard >

ClearKeyboard

description

Cette fonction lit les touches du buffer clavier et s'arrête dés que la touche ECHAP est détectée.

Le drapeau ZF est armé si l'utilisateur a appuyé sur ECHAP.

prototype de la fonction

 
ClearKeyboard PROTO
 

code de la fonction

 
ESC_key = 1 ; scan code
 
ClearKeyboard PROC
  push ax
  L1:
  mov ah,11h ; check keyboard buffer
  int 16h
  jz noKey
  mov ah,10h ; remove scan code from buffer
  int 16h
  cmp ah,ESC_key
  je quit
  jmp L1
  noKey:
  or al,1 ; clear zero flag
  quit:
  pop ax
  ret
ClearKeyboard ENDP 
 

commentaire

La fonction commence par utiliser le service 11h de l'interuption 16h pour savoir si un caractère est disponible.

Int 16h, 11h : Extended Keyboard Status
Checks to see if a character is available in the buffer. This
service is provided to support the extended keyboard (101/102-key
keyboard).
Entry AH = 11h
Return ZF = 0, if character is available
1, if character is not available
AX = If character is available, then set to
character as in Service 10h
 

 

Int 16h, 10h : Extended Keyboard Read
Returns the next character in the keyboard buffer; if no character
is available, this service waits until one is available. This
service is provided to support the enhanced (101/102-key)
keyboard.
Entry AH = 10h
Return AL = ASCII character code
AH = Scan code
 

première page page précédente page suivante dernière page

Navigation rapide :

Page Description Dernière mise à jour
ClearKeyboard lecture du buffer clavier en assembleur x86 24 jan 2008 18:29:40

Articles > Assembleur > Graphismes > Vesa > ClearKeyboard >


Cette page a été générée le 13 mai 2008 15:05:29.
clipart home livre lecture book JEREMYA
WEBSITE
jeremya.ironie.org

s'identifier

Nom d'utilisateur :
Mot de passe :

outils

qui est en ligne ?

6 visiteurs en ligne

sondage qualité

1-mauvais - excellent-5
Design :
1 5
Ergonomie :
1 5
Contenu :
1 5
Structure :
1 5
Ensemble :
1 5
1-mauvais - excellent-5
Commentaire :