我目前正致力于使用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。
祝你好运, ž
答案 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]