我在masm中有这段代码来处理FPU,效果很好
在这段代码中,我从 2 个不同的文本框中得到一个数字,然后将它们分开,然后将结果输出到另一个文本框
这是本地的数据
LOCAL variable1 :QWORD
LOCAL variable2 :QWORD
LOCAL variable3 :QWORD
LOCAL string1[20]:BYTE
LOCAL string2[20]:BYTE
LOCAL string3[20]:BYTE
这是代码
invoke GetDlgItemText,hWin,textbox1,addr string1,9
invoke StrToFloat,addr string1,addr variable1
invoke GetDlgItemText,hWin,textbox2,addr string2,9
invoke StrToFloat,addr string2,addr variable2
finit
fld variable1
fld variable2
fdiv
fstp variable3
invoke FloatToStr,variable3,addr string3
invoke SetDlgItemText,hWin,textbox3,addr string3
我正在尝试将代码转换为 fasm
这是我到目前为止所拥有的,但它不起作用 textbox3 只是说 0
这是数据(这不是本地数据,因为我还没有学会如何在 fasm 中做到这一点)
v1 dq ?
v2 dq ?
v3 dd ?
v4 rb 20
这是代码
invoke GetDlgItemTextA,[hWin],textbox1,addr v1,100
invoke GetDlgItemTextA,[hWin],textbox2,addr v2,100
finit
fld qword [v1]
fld qword [v2]
fdivp
fstp qword [v3]
cinvoke wsprintfA,addr v4,"%u",[v3]
invoke SetDlgItemTextA,[hWin],textbox3,addr v4
我知道这段代码不正确,因为我没有在开始时将文本转换为浮动,但我不知道如何
我也尝试了一个更简单的版本,它也不起作用
mov [v1],5.3
mov [v2],7.1
finit
fld [v1]
fld [v2]
fdivp
fstp [v3]
cinvoke wsprintfA,addr v4,"%u",[v3]
invoke SetDlgItemTextA,[hWin],maximumoutputpowertext,addr v4
所以我的问题是有人可以告诉我如何从 2 个不同的文本框中读取一个数字,然后将它们分开,然后使用 fasm 代码将结果返回到另一个文本框
谢谢你