我需要用内联汇编写一个普通的任务:我使用的代码如下。
Vector3 Matrix3x3::objectToInertial(const Vector3 &v)
{
return Vector3(
m11 * v.x + m12 * v.y + m13 * v.z,
m21 * v.x + m22 * v.y + m23 * v.z,
m31 * v.x + m32 * v.y + m33 * v.z
);
}
如何用 asm: m11 * v.x + m12 * v.y
来做这个等式?
最佳答案
如果你真的想通过内联汇编程序计算 m11 * v.x + m12 * v.y 试试这个(我假设你想将结果存储在变量结果中):
__asm
{
fld m11
fmul v.x
fld m12
fmul v.y
faddp st(1), st
fstp result
}
如果您想了解更多有关汇编中浮点运算的信息,可以查看Art of Assembly Language - Chapter 14。 - 您也可以下载 pdf 格式的书。
关于c++ - 如何在 VS 中使用 asm 中的浮点变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5950220/