- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 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
我知道这段代码不对,因为我一开始没有将文本转换为 float ,但我不知道该怎么做
我也尝试了一个更简单的版本,它也没有用
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 代码
谢谢
最佳答案
演示代码中存在几个问题。
一开始不太清楚StrToFloat
程序是什么?它是从某个 DLL 导入的,还是代码或其他库的一部分?
如果导入此程序,则也必须将其导入到 FASM 程序中。否则它可以从头开始编写或从 MASM 程序以源代码形式移植。
此处的直接显示停止器是 mov [v1], FLOAT_CONSTANT
指令。原因是 v1
是 qword 变量,但是 mov
只能移动 dword 立即值(即使在 64 位环境中)。
mov dword [v1], 5.0
工作正常,但当然这不是 OP 所需要的。 float qword 常量也可以在编译时立即定义:v1 dq 3.2
如果我们真的想在运行时设置一些 qword float 常量,我们必须用以下两条指令来实现:
a = 5.3
mov dword [var], (a and $ffffffff)
mov dword [var+4], (a shr 32)
var dq ?
FASM 语法中的原始 FPU 代码将是:
finit
fld [variable1]
fdiv [variable2]
fstp [variable3]
关于windows - masm FPU 到 fasm FPU 无法转换并且不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18618591/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!