汇编程序-如何在FPU堆栈上加载变量?

我需要编写一个使用汇编器(NASM)计算二次方程式根的程序。我以前从未使用过汇编器,因此甚至很难启动。您能告诉我如何将所有变量都放在FPU堆栈上,即将它们写入st0,st1,st2等,以便我可以开始对它们进行计算吗?在此先感谢:)这是我的下面的代码。我现在已经知道如何使用FPU开始对此变量执行操作

            [bits 32]


    sub esp, 2*4

    call getaddr

    format db "delta = %lf", 0xA, 0
    offset equ $ - format
    a      dq 10.0 ;
    b      dq -10.0
    c      dq 16.0

    getaddr:

    finit

    mov eax, [esp]
    lea eax,[eax+offset]

    fld qword[eax]
    fmul st0, st0

    lea eax, [esp+4]

    fstp qword[eax]


    call[ebx+3*4]
    add esp, 3*4



    push 0
    call[ebx+0*4]
评论