What you want is FILD
and FISTP
:
fild dword [num] ; load a dword integer and convert it to floating point
fsqrt
fistp dword [var] ; convert to dword integer and store in var
Alternatively you could do it like this:
num: dd 100.0 ; note the .0, which makes this a floating point value
fld dword [num] ; load single-precision floating point value
fsqrt
fistp dword [var] ; convert to dword integer and store in var