La Souris Et Sa Programmation

 
I- Initialisation

Tout d'abord il faut verifier la présence de la souris, autrement dit vérifier qu'un driver souris est installé. Dans le cas où un driver est installé, la fonction 00h de l'interruption 33h doit renvoyer 0FFFFh dans AX. Il suffirait donc de tester AX après l'appel de cette fonction. Cependant, si aucun driver n'est installé, il se peut que l'interruption pointe sur 0000:0000 et dans ce cas il ne faut pas appeler l'interruption.On s'assure donc dans le vecteur d'interruption que ce n'est pas le cas, puis on peut lancer l'interruption et comparer AX avec 0FFFFh
 
 

          public MouseEnable 
 ;Out  CF 1=>Erreur  
 ;               0=>OK  
 MouseEnable:  
          pusha  
          push es  
          xor ax,ax  
          mov es,ax  
          mov bx,33h*4  
          mov eax,dword ptr es:[bx]  
          pop es  
          cmp eax,0  
          je ME_PasDispo   
          xor ax,ax  
          int 33h  
          cmp ax,0ffffh  
          jne ME_PasDispo  
          clc  
          jmp MouseEnableFin 
          ME_PasDispo:  
          stc  
 MouseEnableFin:  
          popa  
          ret