Hi Hse.
Tks....close. But it´s not there yet. It will create 2 Real 8 (a copy of them). I needed to know how to get the extra word of the Real10 and use it on xmm0 as a reminder, for example.
Something like this:
calculate some fpatan value. Save the result to FP10, and generates 2 complementary Real8 to be used in xmm0. Remember the thread about the Atan2 ? I´m trying to recreate the tangent table on a way that i can save it in a pair of Real8 and also shows the complete data in xmm register. The original code is this:
Proc CreateTangetTable:
Local @Counter, @Value, @InternalCounter, @DecreaseRate
Uses esi
mov D@Counter TAN_TBL_SIZE
mov D@InternalCounter 0
fld1 | fstp F@DecreaseRate
mov esi MyTangTBl
add esi (TAN_TBL_SIZE*2*8) | sub esi (8*2)
fld R$Float_PI | fstp R$esi
dec D@Counter
sub esi (8*2)
mov D@Value 33 | fild D@Value | fstp F@Value
.Do
fld D@Value | fsub F@DecreaseRate | fst F@Value | fld1 | fpatan | fstp R$esi
If D@InternalCounter = 16
fld F@DecreaseRate | fmul F$Float_half | fstp F@DecreaseRate
mov D@InternalCounter 0
End_If
inc D@InternalCounter
sub esi (8*2)
dec D@Counter
.Loop_Until D@Counter = 0
L1:
EndP
Inside the loop, if i change it to something like:
[Mydata2: R$ 0, 0]
fld D@Value | fsub F@DecreaseRate | fst F@Value | fld1 | fpatan | fst R$esi
fst R$Mydata2 | fstp R$Mydata2+8 | movupd XMM0 X$Mydata2 ; <---- it will result in nan, infinite etc.
or
fstp T$Mydata2 | movupd XMM0 X$Mydata2 ; <---- it will result in nan, infinite etc.
And not something like this:
MyValue: R$ 1.570796326794897, 6.123233995736766e-17