程序集x86浮点运算

时间:2013-05-20 21:45:56

标签: assembly floating-point x86

我想了解这些操作是如何运作的......

例如,如果我有一个值为

的堆栈
5.0 , 2.0 , 3.0 , 8.0
ST0 , ST1 , ST2 , ST3

这些操作的结果是什么?

1,fadd 2,fmul 3,fst ST1

我发现fadd和fmul接受ST0和ST1并执行操作......所以结果是

1, 7.0 , 3.0 , 8.0 
2, 10.0 , 3.0 , 8.0
我是对的吗? :)

我也不知道什么是“fst”做什么以及它是如何工作的...所以如果有人能在这个例子中为我解释它会非常有帮助...

非常感谢

2 个答案:

答案 0 :(得分:1)

您应该阅读intel instruction set reference以了解每条指令的作用。另外我推荐Simply FPU,因为它是一个很棒的教程。

此外,你可以在调试器中运行该东西,看看自己发生了什么:

答案 1 :(得分:0)

我不知道无争论fadd或无争论fmul

fst ST1ST0复制到ST1