begin process at 2010 03 19 06:59:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Applications ms-dos

 > LECTURE TOUCHE CLAVIER[MASM]

LECTURE TOUCHE CLAVIER[MASM]


 Information sur la source

Note :
Aucune note
Catégorie :Applications ms-dos Classé sous :MASM, ASM, CLAVIER Niveau :Débutant Date de création :02/04/2009 Date de mise à jour :08/04/2009 20:59:16 Vu :3 494

Auteur : w4kfu

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bonjour , je débute en ASM et je viens d'écrire ce petit programme qui demande à l'utilisateur d'appuyer sur une touche du clavier et lui affiche la touche sur la quelle il a appuyé.Tant qu'il n'a pas appuyé sur ECHAP le programme boucle.

J'utilise MASM32v10 et pour la compilation et édition de liens , j'utilise la séquence de commande suivante se trouvant dans le /BIN de masm32 ::
- ml /c mon_fichier.asm
- link16 mon_fichier

Il ne restera plus qu'à executer.

Source

  • .MODEL SMALL
  • ;Creation d'une pile de 256 octets
  • .STACK 100h
  • ;Les donnees du programme
  • .DATA
  • message db "Hello!",10,13,"$"
  • message2 db 10,13,"Appuyez sur une touche :$"
  • message3 db 10,13,"Vous avez appuyez sur :$"
  • quitter db 10,13,"Fermeture du programme , By3 bYe$"
  • .CODE
  • .8086
  • debut: ;inclusion des donnees necesaire au programme
  • MOV AX,@data
  • MOV DS,AX
  • ;Affichage message debut
  • MOV DX,OFFSET message
  • MOV AH,09h
  • INT 21h
  • Demande:
  • ;;Affichage message demande frappe
  • MOV DX,OFFSET message2
  • MOV AH,09h
  • INT 21h
  • ;Attente frappe touche
  • MOV AH,01h
  • INT 21h
  • ;on range le caractere dans bl
  • mov bl, al ;
  • ;Affichage message vous avez appuyez
  • MOV DX,OFFSET message3
  • MOV AH,09h
  • INT 21h
  • ;on copie notre caractere dans dl
  • MOV DL,BL
  • ;On affiche le caractere present dans dl
  • MOV AH,2h
  • INT 21h
  • ;;On compare bl a la touche ECHAP
  • CMP bl,1Bh
  • JNZ Demande
  • JMP Quit
  • Quit:
  • ;;Affichage du message de fin
  • MOV DX,OFFSET quitter
  • MOV AH,09h
  • INT 21h
  • ;;fin du programme et retour au dos
  • MOV AH,4Ch
  • INT 21h
  • END debut
.MODEL SMALL
;Creation d'une pile de 256 octets
.STACK 100h

;Les donnees du programme
.DATA
message db "Hello!",10,13,"$"
message2 db 10,13,"Appuyez sur une touche :$"
message3 db 10,13,"Vous avez appuyez sur :$"
quitter db 10,13,"Fermeture du programme , By3 bYe$"

.CODE
.8086

debut:  ;inclusion des donnees necesaire au programme
		MOV AX,@data
		MOV DS,AX
		
		;Affichage message debut
		MOV DX,OFFSET message
		MOV AH,09h
		INT 21h

Demande:		
		;;Affichage message demande frappe
		MOV DX,OFFSET message2
		MOV AH,09h
		INT 21h
		;Attente frappe touche
		MOV AH,01h
		INT 21h
		;on range le caractere dans bl
		mov bl, al ;
		;Affichage message vous avez appuyez
		MOV DX,OFFSET message3
		MOV AH,09h
		INT 21h
		;on copie notre caractere dans dl
		MOV DL,BL
		;On affiche le caractere present dans dl
		MOV AH,2h
		INT 21h
		;;On compare bl a la touche ECHAP
		CMP bl,1Bh
		JNZ Demande
		JMP Quit

Quit:
	    ;;Affichage du message de fin
		MOV DX,OFFSET quitter
		MOV AH,09h
		INT 21h
		;;fin du programme et retour au dos
		MOV AH,4Ch
		INT 21h
		
END debut

 Conclusion

Je suis ouvert à toutes remarques , critiques , et optimisation de codes.


 Historique

08 avril 2009 20:57:03 :
La sub-routine QUIT n'avait pas de RETURN donc le CALL a été modifié en JUMP
08 avril 2009 20:59:16 :
La sub-routine QUIT n'ayant pas de RETURN , l'appel CALL été mal choisi , il a donc été remplacé par un JUMP.

 Sources du même auteur

Source avec une capture LECTURE CHAINE ET COMPARAISON[MASM]

 Sources de la même categorie

Source avec une capture LECTURE CHAINE ET COMPARAISON[MASM] par w4kfu
Source avec Zip UN RESOLVEUR SUDUKO AVEC ASSEMBLEUR NASM par msavyo1
Source avec Zip TESTEUR DE COMPATIBILITTÉ VESA (SUPER VGA) par bofur
Source avec Zip COMMUNICATION SÉRIE RS232 AVEC INTERRUPTIONS par bouffa
Source avec Zip GÉNÉRATEUR DE MICKEY par BasilYercin

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture SYSTÈME D'EXPLOITATION COS 2000 V1.3.2 FR (UN OS AVEC DES DL... par MrNOP
Source avec Zip OBTENIR LA VERSION DU SYSTEME,SON ENVIRONNEMENT,LE SERVICE P... par ToutEnMasm
Source avec Zip [LINUX] LIRE CLAVIER ET ECRIRE CONSOLE par sheorogath
Source avec Zip CLAVIER 16F84 par pic16f
Source avec Zip AIDE ASSEMBLEUR AVEC EXEMPLES, SUJETS ABORDÉS: PROCESSEUR, M... par BABASSE

Commentaires et avis

Commentaire de Renfield le 03/04/2009 05:49:18 administrateur CS

c'est BruNews qui va être content de te voir jouer avec les interruptions materiel...

Commentaire de ghuysmans99 le 03/04/2009 19:43:44

Cette source est mise à juste titre dans "Applications MS-DOS" donc pas de problème ...
Tant que c'est pour DOS t'as pas trop le choix !

Commentaire de 42wawa42 le 06/04/2009 16:30:25

Hello w4kfu

La ligne 46 avec "CALL Quit" n'est pas très juste car un CALL et un appelle de sub-routine avec à la fin "RET", personnellement j'utiliserai "JMP Quit" inconditionnellement. Les Lignes 48-50 sont de trop.

Mais votre programme traite que une touche et pour Shift ou Alt. plus une touche ? Ou par exemple la valeur décimale ou hexadécimal d'une touche.  

A plus
42wawa42

Commentaire de w4kfu le 08/04/2009 20:54:19

Bonjour 42wawa42,

Le traitement d'appui sur une touche avec <SHIFT> ou <ALT> enfoncé fonctionne très bien.
J'ai édité la source suite à ta remarque,merci.

Commentaire de Bkawita le 22/11/2009 16:10:15

héééy !!
j'ai un problème vek le masm!
je l'est télécharger vek le winzip et ché pluus comment le faire pr l'executer àfin de compliler mé programmes!! :(
aidez moi SVP

Commentaire de sarah2mai le 14/03/2010 09:49:00

bjrrr stttttttttttttp plzzzzzzz aidez je veux du cours de debuteur en programmation assemleur je comprend riennn ds lassembleur

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Utiliser une fonction ASM compilée (sous MASM) sous Dev-C++ ? [ par skirby ] Bonjour, j'essaye d&#233;sesp&#233;r&#233;ment d'int&#233;grer une fonction assembleur (compil&#233;e sous MASM) dans Dev-C++ (v4.9.9.2) Voici m Radasm [ par Le cancre ] Bonjour à tous, je débute en asm, j'utilise Masm ...Affichage de messagebox,et tout le tralala c'est sympa mais il me manque une interface alors j'ai ou se branche mon clavier ? [ par binhex ] salut a tous. est ce que quelqun ( plus a son aise que moi dans l'asm ) peut dire comment connecter un clavier xy 3x4 sur un pic 16f877. d'apres son Boucle en ASM [ par vita01 ] Bonjour, je suis un jeune debutant en assembler et j'aimerais savoir à koi sert la BOUCLE dans un programme Assembler merci de bien vouloir m'aider comande en hyperterminal [ par jmb7523 ] Bonjour, je dois envoyer une commande par l'hyperterminal. Cette commande est la suivante: CHAN1 cette commande permet de changer la frequence d'em equivalence c asm [ par mechwalid ] bonjour, chui en train de prograammer un pic et puisque je ne maitrise pas bien la langage c embarqué pour les pics je voudrais un document qui me don Traduction MASM > FASM [ par ianis24 ] Bonjour, J'ai commencer l'assembleur depuis un petit moment ( j'apprends lentement). J'utilise le compilateur FASM. Malheureusement pour moi beaucoup erreur de compilation [ par ggmomo ] Bonjour   Voila je débute en asm et j'ai donc esayer de realiser une horloge en m'inspirant d'une deja existante mais lors de la compilation j'ai des Débutant cherche info [ par Luong ] Bonjour tout le monde,Voilà, je cherche à débuter en ASM (j'en ai fait un peu mais il y a tres tres longtemps de cela) et c'est vraiment la galère. 1) MASM EXE2BIB Windows XP [ par aerotech ] Un gentil correspondant aurait-il un EXE2BIN.EXE pouvant fonctionner sous windows XP.En effet, MASM fonctionne très bien, ainsi que LINK, mais le exe2


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales