У меня есть этот код в MASM, чтобы иметь дело с FPU и он прекрасно работаетMASM FPU в ФАПО 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
Я пытаюсь преобразовать код в ФАПО
это то, что я до сих пор, но она не работает ли 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 код
спасибо
Я не знаком ни с ОС Windows или ФАПО, но переход на DWord для переменной 3 выглядит не так, и не '% u' в вашей конверсии , Начните с этого и посмотрите, помогает ли это ... –
Я не думаю, что это потому, что я использовал эти 2 строки кода для преобразования необработанных чисел в читаемые тексты в другие проекты. –
Подойдите сами. Как это «не работает»? Я уверен, что Fasm хочет «rq 1» для неинициализированной двойной точности float (одно из отличий от синтаксиса Nasm) и '% f' для scanf, printf и друзей. Printf определенно всегда требует двойной точности, хотя мы говорим '% f'. Я менее уверен в scanf. –