有没有办法在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汇编指令,是否有类似于使用浮点指数的计算能力?