IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

x86 16-bits Assembleur Discussion :

[Débutant] Programme COM qui efface le curseur de souris


Sujet :

x86 16-bits Assembleur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Par défaut [Débutant] Programme COM qui efface le curseur de souris
    Salut à tous, je suis débutant en Assembleur ;) depuis 4 jours déjà. Il faut dire qu'il n'est pas mal comme programme mais beaucoup trop compliqué pour moi car je suis débutant encore. :D

    Voici mon problème.
    Je suis now au stade des interruptions et j essaie de m'amuser avec quelques unes. J'ai donc écrit un fichier com qui efface le curseur de la souris de l'écran à l'aide de l'interuption 33h et la fonction numéro 2 avec ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    .386
     
    code segment use16
     
    assume cs:code,ds:code,ss:code
    org 100h
     
    debut:
    mov ah,02h
     
    int 33h
     
     
    code ends
     
    end debut
    Mais quand je clique sur mon fihier COM , il n y a qu'une fenêtre de commande (noire) qui apparaît puis disparaît mais mon curseur, lui, reste intact; rien ne disparaît. Pourquoi ? C'est quoi le blem ? :cry:

    J'utilise une souris Genius (infrarouge) et un Pentium 3. Merci.
    Actu je suis :evilred:

  2. #2
    Membre chevronné Avatar de dapounet
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 469
    Par défaut
    Je viens d'essayer avec DOSbox et ça ne fonctionne pas non plus (le curseur s'affiche toujours en survolant la fenêtre). Il faut bien se rendre compte que ces interruptions sont juste émulées sous Windows pour avoir un maximum de compatibilité avec les vieux programmes DOS mais ça ne marche pas toujours, d'ailleurs on ne doit pas perdre grand-chose à lancer un programme DOS sans qu'il cache son curseur.
    Si tu veux avoir plus de possibilités il faut utiliser l'API Win32 : http://msdn.microsoft.com/en-us/library/aa929734.aspx
    Ça peut se faire en assembleur mais c'est pas très intéressant et c'est beaucoup plus facile à apprendre en C.

    Et apparemment c'est le registre AX complet qu'il faut mettre la valeur 2 : http://www.ctyme.com/intr/rb-5958.htm
    Tu peux toujours essayer ça.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Par défaut
    Il me semble (je me trompe peut-être) que cette interruption 33h ne fonctionne que si MOUSE.COM est chargé.

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 051
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Pour effacer le curseur de souris, il faut au moins... qu'il soit affiché.
    Si la console est fenêtrée, c'est le curseur de souris de Windows qui est visible et il n'a rien à voir avec ton programme. Si la console est en plein écran, il n'y a pas de curseur de souris qui s'affiche sauf si tu as initialisé le pilote de souris préalablement (ce qui n'est pas le cas dans ton programme).

    Si c'est le curseur de texte clignotant que tu veux effacer, la technique est totalement différente.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    Citation Envoyé par CP / M Voir le message
    Il me semble (je me trompe peut-être) que cette interruption 33h ne fonctionne que si MOUSE.COM est chargé.
    J'imagine que MOUSE.COM, c'était du temps du DOS authentique. Windows doit probablement proposer ce point d'entrée sans avoir recours à un fichier COM.

Discussions similaires

  1. Unité qui permet au programme de s'effacer lui-même
    Par DelphiCool dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 09/02/2013, 12h08
  2. Problème de débutant, programme qui ne lance pas
    Par benjani13 dans le forum x86 32-bits / 64-bits
    Réponses: 6
    Dernier message: 15/02/2011, 19h17
  3. [Débutant] Programme qui affiche des chaînes de caractère
    Par funy16 dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 04/11/2009, 09h44
  4. Réponses: 6
    Dernier message: 07/04/2009, 11h52
  5. [LG]un programme pascal qui traduit des chiffes en lettres
    Par hartmann n'goran dans le forum Langage
    Réponses: 6
    Dernier message: 26/04/2004, 18h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo