我目前正在大学从事一个小型汇编程序项目。现在我的问题是,是否有可能从我的 EAX/RAX 寄存器到我的 FPU 寄存器之一(如 st0)获得用户给出的乘法(int)的标量?我正在使用 NASM 语法。
谢谢
最佳答案
没有办法直接将整数寄存器的内容传输到x87浮点寄存器,必须通过内存。典型的代码如下所示:
PUSH RAX ; push RAX on the stack
FILD QWORD [RSP] ; load eight byte integer onto FP stack
ADD RSP,8 ; release storage from stack
您通常可以通过在函数开头的堆栈帧中为此类传输分配一些存储空间来避免摆弄堆栈指针。
关于assembly - 我可以从 EAX/RAX 获取 int 到 FPU 的寄存器(如 st0)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50240985/