Idea separate floats and ints numbers to AllFlts and AllInts .
;Data
AllFlts dd 10.0,11.5,4.5
AllInts dd 5,8,4
macro xadd v1,a,v2,b {
if v1 = AllFlts
movss xmm0,[v1+a*4]
end if
if v1 = AllInts
mov eax,[v1+a*4]
end if
if v2 = AllInts
if v1 = AllFlts
cvtsi2ss xmm1,[v2+b*4]
addss xmm0,xmm1
end if
if v1 = AllInts
add eax,[v2+b*4]
end if
end if
if v2 = AllFlts
addss xmm0,[v2+b*4]
end if
}
xadd AllFlts,1,AllInts,1
xadd AllFlts,0,AllFlts,0
xadd AllInts,2,AllInts,2
My question, how macro know is this AllFlts+4 or AllInts+8 ?