Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : besoin d'aide pour une conversion ascii/hexa en assembleur [ Archives / Les PIC ] (MTHOMAS)

dimanche 9 janvier 2005 à 02:03:08 | besoin d'aide pour une conversion ascii/hexa en assembleur

MTHOMAS

Salut,

Je voudrais faire une conversion Ascii vers hexa en assembleur (pic 16F630):
 le paramètre d'entrée (déposé dans w) est un nombre hexadecimal codé
en ascii, le parametre de sortie (w egalement) est ce même nombre codé
en hexadecimal.

Ascii:  $30  -  $31  -  $32 ....... $45  - $46
hexa:   0      -    1     -    2 ........   E    -   F


Je n'ai pas d'idée pour ce programme, un coup de main ne serait pas de refus.

merci d'avance


dimanche 9 janvier 2005 à 12:35:57 | Re : besoin d'aide pour une conversion ascii/hexa en assembleur

rylryl

Salut Mr MTHOMAS

si <=9   (0..9)
addlw   0x30            = $30 = "0"
movwf   tonASCII    pour 0...9

et si >9 (A..F)
addlw   0x41            = $41 = "A"
movwf   tonASCII    pour A..F

a+
ryl...

dimanche 9 janvier 2005 à 23:21:59 | Re : besoin d'aide pour une conversion ascii/hexa en assembleur

MTHOMAS

Salut,

Merci pour le prog, mais comment faire un "si" en assembleur ?
Tu utilises Btsfcs sur chaques bits?

A+

lundi 10 janvier 2005 à 00:23:11 | Re : besoin d'aide pour une conversion ascii/hexa en assembleur

redwings



n'hesitez pas à me mailer red.wings@voila.fr
salut, j'ai depose un programme complet, où on peut afficher la table ascii complete et en code hexadecimal
clique sur mon profil puis xx sources sur tout cs et tu trouvera

lundi 10 janvier 2005 à 05:38:02 | Re : besoin d'aide pour une conversion ascii/hexa en assembleur

rylryl

Je ne sais pas si j'ai bien compris mais bon.!.!
et comme ça:

;;Attention ! sans tester si ascii entrant compris
entre h30..h39=0..9 , h41..h46=A..F.!
 
 
    movfw MonASCII        ; ton w entrant ASCII
    sublw   0x39                 ; test si > h39(9)
    btfss   STATUS,C        ; alors forcement tranche (h41..h46=A..F)
    goto    conv_AF           ; aller vers tranche (h41..h46=A..F)
conv_09     
    movfw   MonASCII     ; si ok ressort la val de ton w entrant ASCII 
    xorlw   0x30                 ; soustraire h30 pour correspond.. 
                                      ;(h30=0 ,h31=1 ...h39=9)
    movwf   MonHEX        ; et le placer dans ton w sortant
    goto    fini
    
conv_AF    
    movfw   MonASCII     ; ressort la val de ton w entrant ASCII 
    xorlw   0x41                  ; soustraire h41 pour correspond..
                                        ;(h41=A ,h42=B ...h46=F)
    movwf   MonHEX        ; et le placer dans ton w sortant
    ;goto    fini                     ;
fini        

scuse si je suis a cotés!
ryl...


mardi 11 janvier 2005 à 05:00:06 | Re : besoin d'aide pour une conversion ascii/hexa en assembleur

phenojeff

Si jai bien compris un ascii en hex
;*****************************************************************************
;                        CONVERSION ASCII VERS HEXA                          *
;*****************************************************************************
;-----------------------------------------------------------------------------
; tranforme les digits contenu dans car1 et car2 en 1 nombre hexa
; réponse contenu dans car2      EXEMPLE    envoi de  41 en ascii -> 0x41 
;-----------------------------------------------------------------------------
ashex
   ; convertir premier digit
   ; -----------------------
 movlw -0x07  ; écart entre lettre et chiffre
 btfsc car1,6 ; tester si code ASCII = 4x
 addwf car1,f ; oui, soustraire 7 du code ASCII
 movlw -0x30  ; 30 à soustraire
 addwf car1,f ; obtenir valeur

   ; convertir second digit
   ; ----------------------
 movlw -0x07  ; écart entre lettre et chiffre
 btfsc car2,6 ; tester si code ASCII = 4x
 addwf car2,f ; oui, soustraire 7 du code ASCII
 movlw -0x30  ; 30 à soustraire
 addwf car2,f ; obtenir valeur

   ; concaténation
   ; -------------
 swapf car1,w ; charger digit fort swappé
 iorwf car2,f ; ajouter au digit faible
 RETURN  ; et fin
a++


mardi 11 janvier 2005 à 19:28:57 | Re : besoin d'aide pour une conversion ascii/hexa en assembleur

MTHOMAS

En regardant tout le monde, j'ai fait ca:
Ca peut marcher ?

HEXA   EQU   $21
ASCII   EQU   $20

MOVWF ASCII ; w dans ascii
BTFSC ASCII,6  ; test le bit 6
CALL CONVAàF  ;  si le bit 6 = 1
CALL CONV0à9  ; si bit 6 = 0

______________________________________
CONV0à9

SUBW 0x30  ;  (w) - 0x30 dans w
MOVWF HEXA   ;  w dans hexa
RETURN
_______________________________________
CONVAàF

ANDLW 0x0F  ;    (w) ET 0x0F dans W
ADDLW 0x09 ;  (W)  +  0x09   dans W
MOVWF HEXA  ;   W dans hexa
RETURN


A+


mardi 11 janvier 2005 à 20:13:07 | Re : besoin d'aide pour une conversion ascii/hexa en assembleur

rylryl

slu.
Non, pas bon deja  a cause des "call" et pour d'autres raisons.
le coup du test bit6 lui par contre est valable.
La methode de Mr phenojeff est plus courte (mieux) mais il a groupé deux ascii ,sert toi de l'une de ses routines de conversion.
a+
ryl...

mardi 11 janvier 2005 à 21:15:42 | Re : besoin d'aide pour une conversion ascii/hexa en assembleur


Cette discussion est classé dans : aide, conversion, ascii, assembleur, hexa


Répondre à ce message

Sujets en rapport avec ce message

besoin d'aide pour de l'assembleur sous simulateur [ par critchou ] Bonjour, j'ai un programme à faire pour mercredi et je ne sais pas trop comment faire.Je dois écrire un texte (jusque là, ça va) et compter le nombre assembleur 8086: Affichage de table ASCII [ par redwings ] je cherche le code source d'un prog en asm : comment on peut afficher toute la table des caractere + le code ascii en héxadecimal exemple : Resultat s Un peu d'aide sa fais du bien ! [ par DedeSurf ] Quel est le logiciel le plus utiliser par les développeur en assembleur ?Et le language assembleur agit'il directement sub le µP comme pour les µC ?Me Aide en Assembleur [ par vzz ] Bonjour j'aimerai debuter l'assembleur mais je ne sait pas du tout quoi prendre pour le programmer parce que d'apres ce que j'ai compris il y a plusie remote controle [ par youssef_sympas ] je félécite ce forum et je le souhaite la bonne continut. Je suis très stréssé car il ne me réste que 3 jours pour valider mon projet assembleur. Je c Licence d'assembleur [ par LandTech ] Bonjour,Je voulais savoir si Fasm été sous licence LGPL.Merci pour commencer [ par didoux95 ] Bonjour a tous.j'ai des connaissance en Java et j'aimerais apprendre l'Assembleur. je me suis déjà un peu rensseigné sur le net et j'ai trouver quelqu


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.