Affiche le code ascii d'une touche

Soyez le premier à donner votre avis sur cette source.

Vue 19 620 fois - Téléchargée 347 fois

Description

Ce prog utilise l'int 16h
entrée ax=0
sorie al=code ascii de la touche.
affiche la registre al

Source / Exemple :


;Turbo Assembler  Version 3.2 
;Turbo Link  Version 5.1
;tasm fichier.asm
;tlink /t fichier.obj

Code Segment
assume cs:code,ds:code,es:code   ;.com
ORG 0100h          ;.com

Start:
;fonction 0 de l'int 16h du bios
;entrée ah = 0
;sortie AL = code ASCII de la touche		
      xor ah,ah ; ah = 00
      int 16h   ;appelle int
      
      ;al == le code ascii
      ;la valeur du registre al (8 bits) peut sécrire sur 2 chiffres en base 16
      ;chaque chiffre en base 16 (héxadécimale) étant codé sur 4 bits
      
      mov bl,al   
      shr al,4    
;sauve bl dans al (bl = al)
;décale de 4 bits vers la droite
;revient a diviser par 16 (car 2^4 = 16)
;exemple: al = 12h   -shr al , 4->  al = 01h

      call  R_AfficheAsciiAL
      
      shl bx,4 
;idem sauf que l'on décale dans l'autre sens
;exemple: bx = 0012h   -shl bl,4-> bx = 0120h

      xor bh, bh   ; bh  = 00
      shl bx,4     
;exemple bx = 0020h  ->  bx = 0200h , bh = 02h

      mov al, bh
      call  R_AfficheAsciiAL
      
Fin:
      int 20h    ;fin du programme (.com)

R_AfficheAsciiAL proc near
      cmp al,10    ;al ?? 10
      jb Chiffre   ;si al < 10 alors saute -> Chiffre

      ;aussi non
      add al,55 
;al peut valoire (0ah, 0bh ,0ch ,0dh ,0eh ,0fh)
;donc il faut afficher une lettre a partire de a
;exemple: al = 0ah alors on met le code ascii "a" dans al
;al = 0ah  -> al + 55h = 5fh = code ascii de "a"

Aff_et_ret:
      mov ah,0eh   
;fonction qui  affiche le caractère représenter dans le code ascii de al
      int 10h
      
      ret

Chiffre:
      add al,30h  ;car "0" = 30h, "1" = 31h, 2 = 32h, ...
                  ;exemple al = 5    al + 30h  =  35h

      jmp Aff_et_ret ; pour ne pas écrir 2x el même code.
      
R_AfficheAsciiAL endp

code ends
end start

Conclusion :


Petit prog prarique :-)
Visite http://www.passionpc.net

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
jeudi 8 mai 2003
Statut
Membre
Dernière intervention
12 mai 2003

c'est programme utile j'éspère que tu m'envoi l'éditeur
Messages postés
368
Date d'inscription
vendredi 20 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013

affletre est vraiment trops long, essaye :

AFFLETTRE proc near
cmp ah,$09
jg afl
ret
Afl:
add ah,55
call affichage
ret
AFFLETTRE endp

bon codage

ManChesTer
Messages postés
17
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
13 juillet 2003

ben c'est un prog pratique c sûr, mais y'a beaucoup plus simple :-) tu t un peu pris la tête là ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (Supden2000)