Pour afficher des petites valeurs tu dois d'abord combien de décimales afficher par exemple pour 3 decimales tu fais:
mille dd 1000.0 ... fmul dword ptr [mille] frndint ; Pour arrondir
|
Ensuite stocker sous forme d'entier par:
val dd 0 ... fistp dword ptr [val]
|
Ensuite tu n'as plus qu'à convertir un entier en ascii en mettant la virgule décimale au bon endroit.
Pour les plus grands nombre il faudra d'abord obtenir l'exposant en faisant:
st(1)=exposant biaisé
st=mantisse
Tu pourras ensuite convertir l'exposant et la mantisse.
fscale est l'équivalant de l'instruction sar si st(1)<0 et équivalent à l'instruction shl ou sal si st(1)>0.
fscale effectue:
mais attention st(1) garde sa valeur il faut effectuer un fpop de la manière suivante:
fxch st(1) ffree st fincstp
|
Core Breaker 
-------------------------------
Réponse au message :
-------------------------------
> Bonjours, voilà je voudrais savoir comment afficher un nombre à vigule flottante lorsqu'il est en mémoire. Plus simplement comment convertir un nombre à virgule flottante en chaine ASCII.
>
> Si quelqu'un pouvait également m'expliquer le fotionnement de l'instruction "fscale"
>
> MERCI