Accueil > > > LECTURE TOUCHE CLAVIER[MASM]
LECTURE TOUCHE CLAVIER[MASM]
Information sur la source
Description
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 de la même categorie
Commentaires et avis
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ésespérément d'intégrer une fonction assembleur (compilé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
asm [ par cool1er ]
veuillez s-il vous plait me guider dans la résolution de ce problème: écrire un programma en assembleur permettant d'afficher un drapeau avec les coul
touche clavier [ par nanouwa ]
Salut tout le monde est ce quelqu'un peut me dire comment je peux remplacer le clic de souris sur un bouton ok par la touche entrée de clavier.merci
déboguer un fichier .asm [ par tahsgh ]
Salam; comment déboguer un programme assembleur? (sous Linux) est ce que ça peut être fait sans utiliser la commande gcc? Merci
|
Derniers Blogs
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|