j'ai pas cherché les optimisations possibles mais ça marche.
C'est la stricte application de ton post, thx

lea tab,a0 ; tableau dans A0
lea dec_val,a1 ; resultat dans A1
move.l #9,d5 ; D5 = 10 positions
move.l hex_val,d0 ; D0 = nbre … convertir
position
move.l #0,d1 ; D1 = nbre de soustractions
move.l d5,d2 ; D2 = index dans tab*4(deplacement en long)
mulu.w #4,d2 ; D2 = index dans tab*4(deplacement en long)
move.l 0(a0,d2.w),d3 ; D3 = valeur dans tab
soustractions
cmp.l d0,d3
bgt plusgrand
add.w #1,d1 ; incremente d1(nbre de soustractions)
sub.l d3,d0 ; soustractions
bpl soustractions ; boucle si positif
plusgrand
add.b #"0",d1 ; Ajout du code de "0"
move.b d1,(a1)+ ; sauvegarde le resultat
dbra d5,position ; boucle tant que d5 > 0
SECTION DATA
hex_val dc.l $CC68F
dec_val dc.b "4294967295",0
tab dc.l 1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000
Amélioration possible: mettre des " " au lieu de "0" au début du résultat.
thx
EDIT :
@GT, je n'ai pas encore de livre mais je vais m'équiper de suite.
Cependant j'aime bien appliquer des théories, j'apprends mieux comme ça.
Par contre c'est sûr que le coup de l'ajout du code de '0' ou encore des décalage au lieu des divisions, ou encore utiliser les flags, ça s'invente pas.