Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 给寄存器赋值_Assembly - Fatal编程技术网

Assembly 给寄存器赋值

Assembly 给寄存器赋值,assembly,Assembly,我在重写一些ASM代码时遇到一些问题。 请输入以下代码 FLD DWORD PTR SS:[ESP+20] FDIV DWORD PTR SS:[ESP+28] FSTP QWORD PTR SS:[ESP] 其中[ESP+20]包含一个从1到10的值,[ESP+28]是30 现在,我试图重写这段代码,跳过除法,只分配一个静态值,但由于某种原因,它似乎不起作用,它只输出“0”。我正在做以下工作: MOV DWORD PTR SS:[ESP+28], 0A FSTP QWORD PTR SS:[

我在重写一些ASM代码时遇到一些问题。 请输入以下代码

FLD DWORD PTR SS:[ESP+20]
FDIV DWORD PTR SS:[ESP+28]
FSTP QWORD PTR SS:[ESP]
其中[ESP+20]包含一个从1到10的值,[ESP+28]是30

现在,我试图重写这段代码,跳过除法,只分配一个静态值,但由于某种原因,它似乎不起作用,它只输出“0”。我正在做以下工作:

MOV DWORD PTR SS:[ESP+28], 0A
FSTP QWORD PTR SS:[ESP]
我在组装方面还是个新手,所以我可能做错了什么。 这里有人能给我指出正确的方向吗?我真的很感激

提前谢谢

让我们看看

FSTP QWORD PTR SS:[ESP]
将FP堆栈顶部的浮点值存储到指定的地址中,然后将其弹出

因此,要使其工作,必须首先将常量加载到FP堆栈中

因此,您首先需要执行以下操作:

MOV DWORD PTR SS:[ESP+28], 0A
FLD DWORD PTR SS:[ESP+28]

谢谢,有道理。然而,“MOV DWORD PTR SS:[ESP+28],0A”似乎不起作用,因为它只输出1。是否有其他方法可以将常量加载到FP堆栈中,这可能会起作用?再次感谢你-我没有密切关注你在这里真正想要完成的事情。要将整数值作为浮点值加载到FP堆栈,需要使用
FILD
指令,而不是
FLD
FLD
假设源已经是一个FP值。啊,好的,谢谢,我们会记住这一点,直到下次。有人帮我绕了一个DLL,重写了这个DLL的整个方法:-)