将寄存器值加载到FPU堆栈

时间:2015-07-31 12:29:30

标签: assembly x86 cpu fpu

我目前正致力于使用CPU和FPU寄存器的汇编程序。我的问题是如何将寄存器值加载到FPU堆栈(即ecx)。

mov    ecx, 10d    ; Load 10 into ECX
fldpi              ; Load Pi
fild   ecx         ; This does not work, it does however for .data variables
fmul               ; Multiply

非常感谢任何帮助。我正在使用Visual Studio 2015 / MASM进行开发,使用.386和.model flat,STDCALL。

祝你好运, ž

1 个答案:

答案 0 :(得分:4)

你可以这样做:

mov [temp_mem],ecx
fild dword ptr [temp_mem]

push ecx
fild dword ptr [esp]
pop ecx

或者您可以在数据部分中保持常量10:

.data
ten dd 10
.code
fild dword ptr [ten]