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

change floating-point operation in x86 system to the one in armv8 system

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

__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系统中运行

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

A​​RM asm 靠你自己了。

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