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
BEN ? ; result est égal à -1.09333274E9 "c'est pas un prob de conversion ? .. le tbyte ???.."
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
le truc de boeuff c'est quoi ?
svp , la solus ! .
merci
papi
Partager