组装 x86 x 的 b 次方

assembly x86 x to the power of b

我对执行 x^b 的程序有疑问。它有效,但堆栈不为空。

#include <iostream>
using namespace std;
int main()
{
    float a = 1, b = 4, c = 1, d = 1, x = 2, y;
    __asm {
        fld x;
        fld b;
        fyl2x;
        fld st;
        fprem;
        f2xm1;
        fld1;
        fadd;
        fscale;  
        fstp y;
    }
    cout << y;
}
        fld b;
        fld x;
        fyl2x;
        fld st;
        frndint;
        fsub st(1),st;
        fxch;
        f2xm1;
        fld1;
        fadd;
        fscale;
        fstp st(1);
        fstp y