Ah mais c'est juste ça qu'on veut faire ? Parce que dans ce cas c'est facile.
Effectivement, le plus simple est d'avoir un
.db "0123456789ABCDEF"
. Ensuite, tout ce qu'on a à faire, c'est prendre notre B58A, prendre son modulo par 16, afficher le caractère qui se trouve dans notre .db offseté du modulo trouvé, puis diviser notre B58A par 16, recommencer à prendre son modulo, etc.
Sinon, si pour économiser un .db, une fois le modulo pris, on fait un CP (un seul), qui dit si le modulo est plus grand ou non que 9. S'il est plus petit ou égal, on fait "0"+M (où M est le modulo dont on parlait et où "0"+M est ce dont on parlait dans la page précédente). Et s'il est plus grand, on fait "A"+M-10 (même opération qu'avec "0" mais avec "A").
Bon, maintenant, pourquoi j'ai eu du mal à comprendre ce que tu voulais
p'Ti rageur a écrit:Alors voilà, le but en lui même est de stocker un nombre hexadécimal inconnu dans une adresse de mémoire mais déjà convertie en code ASCII.
Ici, tu as mis un "e" à "converti". C'est donc l'adresse mémoire où tu veux stocker qui est convertie en "ASCII", pas le nombre que tu veux stocker.
p'Ti rageur a écrit:Petit exemple (parce que ça m'étonnerais que vous ayez compris ^^) :
Je veux stocker "57" dans l'adresse, par exemple, $8265. Cependant, je ne veux pas stocker le code ASCII 57 (ce qui me donnerait W avec un _Puts) mais bien le nombre "57" et donc mettre dans l'adresse mémoire $8265 "35" et dans la suivante "37" (qui me donnerait bien "57" avec un _Puts).
Là, il aurait fallu prendre un exemple avec un nombre qui soit un peu plus hexadécimal que 57, genre A7. Et du coup, ça ne correspond pas à ce que tu disais puisque l'adresse n'est pas « convertie en "ASCII" ».