RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Conversion hexa-BCD en assembleur pour i

Forum : ASSEMBLEUR
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ ASSEMBLEUR

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM ASSEMBLEUR

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
stgi022
Nouveau membre
Inscrit : 26/07/2006
Messages : 1
Message
#106015
Posté le 26/07/06 à 11:09
Bonjour,

je programme en assembleur sur un micro intel 8085

Je recherche un programme que me permettrait de convertir un nombre Hexadécimal en un nombre BCD

Exemple :

0A = 10
09 = 09
0F = 15

Merci pour votre aide

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

moby
Modérateur :
- Fortran
- Assembleur
Avatar de moby
Inscrit : 25/01/2004
Messages : 655
Message
#111077
Posté le 25/09/06 à 15:34
L'algo n'est pourtant pas difficile
En hexa, le chiffre sont sur 4 bits.
En Bcd, ils sont sur 8 bits, le 4 de poids forts sont à zéro.

exemple nombre hexa source 89ABCDEF sur 4 octets.
Il faudra donc 8 octets pour le BCD correspondant.
Le nombre cible obtenu (en hexa) sera 08090A0B0C0D0E0F.

Il suffit de faire une boucle qui traite alternativement le quatrain de gauche, puis le quatrin de droite:
celui de gauche est obtenu par SAR
celui de droite avec un AND Fh

les résultats sont envoyés par movb dans la zone mémoire cible.

Ceci dit , je ne vois pas l'intérêt d'utiliser le BCD qui n'est plus utilisé par personne depuis 30 ans.
L'UC permet de travailler sur des entiers de longueur quelconque ou d'utiliser l'arithmétique flottante pour obtenir une précision de 15 à 18 digits.
__________________________
Si tu n'a pas trouvé la réponse sur MoteurProg...
mais que tu l'as trouvé ailleurs...
Merci de la donner sur MoteurProg.
Moby

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 


    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.