flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Roman 13 Mar 2023, 12:06
I change if v = xr on if v eq xr
Now work fine. Code: macro copy s,to,xr=xmm0 { irpv v,eq_used_ \{ if v eq xr ;fasm error invalid value if xmm0=xmm0 xr equ xmm7 ;ideal must get next xmm3. xr = xmm3 end if \} movss xr,[s] movss [to],xr } Last edited by Roman on 13 Mar 2023, 12:08; edited 1 time in total |
|||
![]() |
|
Overclick 13 Mar 2023, 12:08
Code: macro copy s,to,xr { if xr eq define xr_used xmm0 else define xr_used xr end if irpv v,eq_used_ \{ if v eq xr_used define xr_used xmm7 end if \} movss xr_used,[s] movss [to],xr_used } |
|||
![]() |
|
Roman 13 Mar 2023, 12:22
When I do used xmm0, all copy using xmm7
Even I do irpv v,eq_used_ { restore eq_used_ } Code: used xmm0 copy c1,c2 ;using xmm7 irpv v,eq_used_ { restore eq_used_ } copy c1,c2 ;i expected xmm0, but get xmm7 I found solution. Code: macro copy s,to,xr=xmm0 { define xr xmm0 irpv v,eq_used_ \{ if v eq xr define xr xmm7 end if \} movss xr,[s] movss [to],xr } |
|||
![]() |
|
Roman 13 Mar 2023, 14:21
Strange if used xmm3,xmm2
Macro copy set xr as xmm7, but not xmm0 How I understood if eq_used_ have any value in macro copy do irpv and set anyways xr as xmm7. I wanted xr set as xmm7 if only v(=xmm0) If v = xmm2 or xmm5 , xr must be as xmm0 |
|||
![]() |
|
revolution 14 Mar 2023, 00:44
If you need to compare non-numeric values use eq
Code: if ax eq ax |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.