flat assembler
Message board for the users of flat assembler.
  
|  Index
      > Macroinstructions > macro irpv if error | 
| 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 | |||
|  13 Mar 2023, 12:06 | 
 | 
| 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 } | |||
|  13 Mar 2023, 12:08 | 
 | 
| 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 } | |||
|  13 Mar 2023, 12:22 | 
 | 
| 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 | |||
|  13 Mar 2023, 14:21 | 
 | 
| revolution 14 Mar 2023, 00:44 If you need to compare non-numeric values use eq     Code: if ax eq ax | |||
|  14 Mar 2023, 00:44 | 
 | 
| < Last Thread | Next Thread > | 
| Forum Rules: 
 | 
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.