将x86系统中的浮点运算更改为armv8系统中的浮点运算

时间:2015-08-10 19:44:50

标签: floating-point x86 stack arm inline-assembly

我读了一些关于浮点运算的内联汇编代码。代码如下。

__asm__ __volatile__ ("fninit);
//There are some other in line assembly here, I omit them because they have nothing to do with my question.
__asm__ __volatile__ ("fcomp %st");

这些代码在x86系统中运行。但是,我想将这些代码更改为可以在armv8系统中运行的代码。

首先,我想知道上述代码的含义。其次,我想知道如何更改上面的代码,使其在armv8系统中运行。

1 个答案:

答案 0 :(得分:0)

http://www.ray.masmcode.com/tutorial/index.html解释了x87 FPU的工作原理,并且在英特尔insn参考手册没有告诉您这些部分如何组合在一起时是一个有用的参考。我将它添加到x86标签wiki。

你自己是ARM asm。

你确定你甚至需要在asm中编写任何东西,而不是让编译器这样做吗?如果您不需要设置舍入模式,或设置有限的精度或任何内容,只需使用C doublefloat