[MASM32] La fpu et la compréhension du résultat
JB
Je suis sûr que c'est un truc de boeuff ; bon , comme moi quoi ."oui mais , sans l'anneau dans le nez !."
J'ai fait une dll en asm , avec envoi d'un paramètre en double
L'appelant de la dll, c'est mon langage évolué .
Pour tester ma compétence en asm et fpu "c'est un euphémisme de parler de compétence" j'ai pris le cos.
Et puis j'ai fait "par déduction, je me suis dit : la fpu calcule en radian ?."
donc le double en radian "pour faire simple ! et pour tester ."
Le langage évolué -> Declare Function cosr lib "cos" alias "cosx" ( radian as double) as long
l'appelant -> result = cosr (2.0)
normalement -> result = - 0.416146836547142
l'asm ; -> là , le vrai sujet
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| .data
stok real4 0.0
cosx PROC rad:real8 ; ->le double -> rad = 2.0
;LOCAL bcd :tbyte
fninit
fld rad -> là , la fpu s'adapte au real8 ! ? s'adapte ?....."faut voire !"
fcos
fwait ; -> bofff
;sahf -> cpu
fstp stok ; là , je passe de double en single "pas sûr hein ?"
mov eax,stok ; là je balance du real4
ret
cosx ENDP |
BEN ? ; result est égal à -1.09333274E9 "c'est pas un prob de conversion ? .. le tbyte ???.."
le truc de boeuff c'est quoi ?
svp , la solus ! .
merci
papi
Une bibliotheque FPU est livré avec masm32
Salut,
C:\masm32\fpulib\FpuCos.asm
ToutEnMasm