以x87浮点计算功率

时间:2015-08-29 19:54:41

标签: math assembly floating-point x87

有没有办法在x86 / x87程序集中纯粹计算浮点数的幂?我不是在谈论计算浮点数的整数幂,而是像x ^ y那样x y都是浮点数。

我有一个整体能力的解决方案(NASM语法):

compute_integral_powers:
    fldl [esp+4]              ;load base twice
    fld  st0
    movl ecx, [esp+12]        ;load exponent
.loop:
    decl ecx                  ;decrement exponent
    cmpl ecx, 0               ;are we done yet?
    jz   .done
    fmul st1                  ;multiply by original base
    jmp  .loop                ;keep going
.done:
    fstp st1                  ;store st0 in st1 and pop (for return value)
    ret

使用 x86 / x87汇编指令,是否有类似于使用浮点指数的计算能力?

0 个答案:

没有答案