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