[求助]用汇编实现辛普森积分

acai516518   2007-5-11 18:00 楼主
怎样用汇编语言实现辛普森数字积分?

下面是C程序,哪位能帮忙搞个汇编版本的?只要有辛普森函数那部分就可以
/*-------复化辛普森求积公式---------*/

#include
#include
#include
#define N 100
/*-------将要被求积的函数------*/
double f(double x)
{
return 1.0/x;  /* 根据你需要,自定义函数*/
}
/*---------辛普森函数---------*/
double simpson(double low,double high)
{
double h; /*定义小区间*/
double odds=0.0,evens=0.0;   /*分为奇区间和偶区间*/
double x;
double area=0.0;    /*最终结果保存在area中*/
int k;
h=(high-low)/N;
for(k=1;k     x=low+k*h;
    odds+=f(x);
   }
for(k=2;k     x=low+k*h;
    evens+=f(x);
   }
area=(high-low)/(N*3)*(f(low)+f(high)+4*odds+2*evens);
return area;
}

main()
{double lower,upper;   /*定义积分上下限*/
double swap;          /*用于交换上下限,当上限小于下限时*/
double area=0;
int ture=1;
do{printf("\n-----Interation by Simpson's method.-----\n ");
    printf("Enter the lower and upper for interation:\n ");
    scanf("%lf%lf",&lower,&upper);
    if(upper < lower)
        {swap=lower;lower=upper;upper=swap;}
    printf("\nIntergrating f(x) for %lg to %lg\n",lower,upper);
    area=simpson(lower,upper);
    printf("Area=%lg\n",area);
    printf("pass 1 to continue 0 to exit:");
    scanf("%d",&ture);
    }while(ture);


}

回复评论 (4)

用VS编译后反汇编,直接拷出来!!


呵呵
点赞  2007-5-11 18:14
大哥啊,别忽悠我了,这怎么可能?不可行
点赞  2007-5-11 20:47
为啥不行?

嘿嘿,本来想给你写的,但我看了看,我不会那些浮点操作指令

在单片机下被惯坏了

郁闷,以后多向你学习!

LZ帅哥,不是忽悠你,反汇编绝对可以,我的VS2005卸了,不然我给你弄一下

呵呵
点赞  2007-5-12 10:36
哎呀,大哥,帮忙啊!你就整一个吧,我急着用呢,就是浮点数这东西没有接触过。反汇编好像很长的
点赞  2007-5-15 13:25
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复