我正在尝试在AT& T程序集中实现函数,它将返回1除以X的结果,其中X是double类型的param,从C传递给函数(完整程序用于计算1的积分)特定范围的/ x函数[基于矩形的积分])我对cosinus函数没有任何问题。 对于这种情况,问题是当我想要将此函数与大于6的矩形的数量集成时,积分的结果总是为-nan,当我使用低于或等于6时,结果是合理的但不够准确。 参数类似于范围开始和范围结束,矩形计数(积分精度)从命令行 - argv表传递。这是函数的汇编代码(AT& T语法)。
.data
result:
.double 0.0
.globl onebyx
.type onebyx, @function
onebyx:
pushl %ebp
movl %esp, %ebp
FLDL 8(%ebp) # loading function arg
FLD1 # loading constant 1
# should be: ST0 - 1; ST1 - function arg
FDIVP %ST(1) # dividing 1 by function arg
fstl result
movl %ebp, %esp
popl %ebp
ret