flat assembler
Message board for the users of flat assembler.
Index
> Windows > [solved] fpu addition does not work |
Author |
|
patchariadog 14 Jun 2014, 01:27
never mind I figured it out srry.
in case anyone wants a little FPU tutorial here it is Code: ;in data section do float1 dq 222.34 float2 dq 233.38 bufferfloat dd ? ;in idata do library msvcrt,"msvcrt.dll" import msvcrt,\ sprintf,"sprintf" ;then to add fld float1 ; Push float1 value to ST(0) fadd float2 ; Add float2 to ST(0) fstp float1 ; Pop value from ST(0) to float1 ;subtract fld float1 ; Push float1 value to ST(0) fsub float2 ; Subtract float2 to ST(0) fstp float1 ; Pop value from ST(0) to float1 ;multiply fld float1 ; Push float1 value to ST(0) fmul float2 ; Subtract float2 to ST(0) fstp float1 ; Pop value from ST(0) to float1 ;divide fld float1 ; Push float1 value to ST(0) fdiv float2 ; Subtract float2 to ST(0) fstp float1 ; Pop value from ST(0) to float1 ;then to get a readable answer do this cinvoke sprintf, bufferfloat, "%.5lf", dword [float1], dword [float1 + 4] invoke MessageBoxA,[hwnd],bufferfloat,title,MB_OK ;if you need to read the floats from a textbox to the float1 and 22(string to float) do this invoke GetDlgItemTextA, [hwnd], resultlengthxpixelstextbox, bufferbuffer1, 100 cinvoke sscanf, bufferbuffer1, "%f", float1 ;then in idata add sscanf hopefully this simple tutorial helps someone. |
|||
14 Jun 2014, 01:27 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.