Code: Select all
!mov edi,dword[p.p_fi]
!fld dword[edi+12]; <- get *fi\m
!fsincos
!fstp dword[p.v_Rt]; <- Rt\x=Cos(*fi\m)
!fstp dword[p.v_Rt+4]; <- Rt\y=Sin(*fi\m)
Code: Select all
!mov edi,dword[p.p_fi]
!fld dword[edi+12]; <- get *fi\m
!fsincos
!fstp dword[p.v_Rt]; <- Rt\x=Cos(*fi\m)
!fstp dword[p.v_Rt+4]; <- Rt\y=Sin(*fi\m)
Code: Select all
; fsincos in C Backend
Define rcos.f, rsin.f, angle.f=3.141
! asm volatile("fsincos" : "=%&t" (v_rcos), "=%&u" (v_rsin) : "0" (v_angle));
SetClipboardText(StrF(rsin)+" "+StrF(rcos))
; 0.0005926211 -0.9999998212
This doesn't mean that it was correct (or allowed) in the previous versions.
Code: Select all
!push edi
Hm works just fine here (5.73 x86).Psychophanta wrote: ↑Fri Oct 01, 2021 4:02 pm By the way,not allowed since 5.70Code: Select all
!push edi
Not in the (x64) versionsMijikai wrote: ↑Fri Oct 01, 2021 4:14 pmHm works just fine here (5.73 x86).Psychophanta wrote: ↑Fri Oct 01, 2021 4:02 pm By the way,not allowed since 5.70Code: Select all
!push edi
It still does not work.Mijikai wrote: ↑Fri Oct 01, 2021 4:26 pm Fasm says there is no such thing so i think PB is correct.
fasm:Code: Select all
use64 push edi
The x64 name of the register is rdi instead of edi.Psychophanta wrote: ↑Fri Oct 01, 2021 5:53 pmIt still does not work.
The only thing x64 brings to me is called PROBLEMS.
No improvement at all for the FPU, just problems.