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

Autres architectures Assembleur Discussion :

Caractères Hexa en assembleur


Sujet :

Autres architectures Assembleur

  1. #41
    Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Novembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    je te remercie sincerement pour tout ton temps accordé.

    je regarde ca et je te tiens au courant.
    Mais je demande plus rien promis

  2. #42
    Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Novembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    Félicitations ! Et merci d'avoir joint le code à chaque fois.
    Sache toutefois que c'est de la bidouille qui s'ajoute et de la bidouille et que cela risquera de te mener tôt ou tard ans une impass


    C'était à prévoir, malheureusement. Pour cela, il faut déjà que tu détermines si c'est ton clavier qui gère cette répétition ou si c'est le système d'exploitation du PC qui l'émule tant qu'il n'a pas reçu le code de libération.

    Ensuite, dans les deux cas, il faudra provoquer la libération de la touche. Pour cela, il faut que tu voies déjà si ton logiciel détecte les relachements de touche à son niveau, et de quelle manière. En principe, tu dois avoir une table dans laquelle tu mets les points d'entrée de toutes les routines que tu as écrites et que tu m'as présentées ici. Cette table est exploitée par une procédure qui les appelle et qui, en principe, doit ou non conserver l'état de chaque touche (en mettant un flag à 1 ou à0)

    Une dernière petite question après je passe en résolu. Parce que j'ai réussi à rien aujourd'hui. Si je passe le flag a 0 après lenvoi des scancodes je devrait éviter ce problème?

    Merci pour tout encore

  3. #43
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Si tu parles du flag du modificateur (Shift), tu peux essayer, dans la mesure où tu n'envoies pas d'autre scan code immédiatement après. Le problème est que, en principe, ta routine envoie immédiatement tout ce qui se trouve dans le buffer dès qu'un modificateur est enfoncé ou relaché parce le buffer qui contient les scan codes des touches ordinaires ne fait pas la différence entre les touches qui ont été enfoncées avec et sans modificateur associé.

    Mais c'est sûr qu'à ce stade, ce ne sera pas pire qu'appeler la procédure d'envoi artificiellement et au milieu de la boucle.

  4. #44
    Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Novembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    Lol c'est sur. Tu dois me prendre pour un bricoleur ! Maintenant il ne me reste qua trouver le flag de shift. Merci encore

  5. #45
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Citation Envoyé par darkofmadness Voir le message
    Lol c'est sur. Tu dois me prendre pour un bricoleur !
    Pas spécialement parce que je sais dans quelle situation tu te trouves, je sais ce qu'est une deadline, tu as ouvert la discussion en précisant d'emblée quel était ton niveau et ta mission, et que tu reprends un code écrit par un tiers, qui a probablement eu les mêmes ennuis.

    Mais le fait est que l'on fait ce que l'on peut avec ce que l'on a.

    Maintenant il ne me reste qua trouver le flag de shift. Merci encore
    Ça, je te l'ai donné au dessus : c'est dans « ksc_mod0 ». Tu charges LEFT_SHIFT_BIT dans A, tu trouves le complément avec « cpl » et tu fais un « AND » de ksc_mod0 avec.

  6. #46
    Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Novembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    ah c'est nickel merci beaucoup !
    Donc ca donnerait un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	POP	A
    	MOV	A,AT101KB_LEFTSHIFT
    	call	usbkey_putkey
    	MOV	A,AT101KB_RIGHTANGLE
    	call	usbkey_putkey
    	PUSH	A
    	MOv	A,LEFT_SHIFT_BIT
    	CPL
    	AND	ksc_mod0,A
    	POP	A
    	jmp	.tx_down_key_fonction
    C'est bien ca, j'ai bien compris?
    (ou faut-il que je fasse un AND avec la valeur de ksc_mod0 ?)

    j'essaies demain alors
    Si ca marche je ne saurais pas comment te remercier !

  7. #47
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Il faudra peut-être mettre des crochets « [ ] » autour de ksc_mod0, mais l'idée est là.

  8. #48
    Candidat au Club
    Homme Profil pro
    Responsable des études
    Inscrit en
    Novembre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 26
    Points : 4
    Points
    4
    Par défaut
    je te remercie, j'ai l'impression d'etre dans la bonne voie !
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    	PUSH	X
    	PUSH	A
    	MOV	X,ksc_mod0
    	MOV	A,LEFT_SHIFT_BIT
    	OR	[X+0],A
    	SETC
        	mov     A,[ksc_mod0]
        	mov     [usb_last_mod],A
    	POP	A
    	POP	X
     
    	MOV	A,AT101KB_RIGHTANGLE
     
    	PUSH	X
    	PUSH	A
    	MOV	X,ksc_mod0
    	MOV	A,LEFT_SHIFT_BIT
    	CPL	A
    	AND	[X+0],A
    	SETC
       	mov     A,[ksc_mod0]
      	mov     [usb_last_mod],A
    	POP	A
    	POP	X
     
    	jmp	.tx_down_key_Fonction
    Avec ca il ne fait pas SHIFT,
    mais si je met que la partie ou je met le bit a 1, on voit bien que le shift est appuyé. je dois donc trouver un moyen de prendre en compte les deux.
    (la il s'active et s'annule mais ne passe pas par la boucle d'envoi de touches donc il ne passe rien)
    je vais creuser la dessus.

    Je te remercie encore (faudrait peut etre que j'arrete ) !!!

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/02/2015, 15h34
  2. [Xerces] omettre les caractère hexa
    Par virgul dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 18/01/2007, 10h32
  3. récupérer caractères hexa
    Par RobinNono dans le forum ASP
    Réponses: 1
    Dernier message: 12/12/2006, 17h44
  4. [Système] Conversion d'une chaine de caractère en hexa
    Par Florent08800 dans le forum Langage
    Réponses: 5
    Dernier message: 10/07/2006, 15h32
  5. Réponses: 4
    Dernier message: 28/01/2006, 20h03

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