begin process at 2010 02 09 23:59:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Les PIC

 > 

besoin d'aide pour une conversion ascii/hexa en assembleur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

besoin d'aide pour une conversion ascii/hexa en assembleur

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ée 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 somme de 2 nbr a l'aide de l'assembleur [ par unluky0girl ] salut tout le monde je chui une debutante en langage assembleur 8086 .est ce que vous peuvez m'aider a realiser un petit programme qui fait une somme 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


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,359 sec (4)

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