浮点数乘法

先编译运行下面代码,然后用ce或od可以发现浮点数乘法的实现

fld dword ptr [esp+1C]
fld dword ptr [00488018]
fmulp st(1),st(0)
fstp dword ptr [esp+1C]

步骤为:

先将第一个浮点数存入浮点寄存器st0

再将第二个浮点数存入浮点寄存器st1

相乘,结果存入了st0

把结果赋值给[esp+1C]

#include<iostream>

using namespace std;

int main()
{
    float a;
    a=2;
    for(int i=0;i!=3;i++)   
    {
        a=a*3;
    }
    printf("hello\n");
    printf("%f\n",a);
    system("pause");
    return 0;
}
文章目录