【求助】c语言程序改写成汇编语言~ 100
一共两个程序,要求是一定要用这两个程序改写成汇编语言的~下面是其中一个程序,这里写不下了,如果有哪位大大愿意帮忙,我会把第二个程序发给他~很急很急,非常感谢!!#incl...
一共两个程序,要求是一定要用这两个程序改写成汇编语言的~下面是其中一个程序,这里写不下了,如果有哪位大大愿意帮忙,我会把第二个程序发给他~很急很急,非常感谢!!
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
#include "f2812a.h"
#include"math.h"
#define IIRNUMBER 2
#define SIGNAL1F 1000
#define SIGNAL2F 4500
#define SAMPLEF 10000
#define PI 3.1415926
float InputWave();
float IIR();
float fBn[IIRNUMBER]={ 0.0,0.7757 };
float fAn[IIRNUMBER]={ 0.1122,0.1122 };
float fXn[IIRNUMBER]={ 0.0 };
float fYn[IIRNUMBER]={ 0.0 };
float fInput,fOutput;
float fSignal1,fSignal2;
float fStepSignal1,fStepSignal2;
float f2PI;
int i;
float fIn[256],fOut[256];
int nIn,nOut;
main(void)
{
nIn=0; nOut=0;
f2PI=2*PI;
fSignal1=0.0;
fSignal2=PI*0.1;
// fStepSignal1=2*PI/30;
// fStepSignal2=2*PI*1.4;
fStepSignal1=2*PI/50;
fStepSignal2=2*PI/2.5;
while ( 1 )
{
fInput=InputWave();
fIn[nIn]=fInput;
nIn++; nIn%=256;
fOutput=IIR();
fOut[nOut]=fOutput;
nOut++;
if ( nOut>=256 )
{
nOut=0; /* 请在此句上设置软件断点 */
}
}
}
float InputWave()
{
for ( i=IIRNUMBER-1;i>0;i-- )
{
fXn[i]=fXn[i-1];
fYn[i]=fYn[i-1];
}
fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;
fYn[0]=0.0;
fSignal1+=fStepSignal1;
if ( fSignal1>=f2PI ) fSignal1-=f2PI;
fSignal2+=fStepSignal2;
if ( fSignal2>=f2PI ) fSignal2-=f2PI;
return(fXn[0]);
}
float IIR()
{
float fSum;
fSum=0.0;
for ( i=0;i<IIRNUMBER;i++ )
{
fSum+=(fXn[i]*fAn[i]);
fSum+=(fYn[i]*fBn[i]);
}
return(fSum);
}
忘了说了,我的邮箱是329174476@qq.com,有意帮忙的用百度消息、邮箱或者QQ联系我都可以,万分感谢!! 展开
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
#include "f2812a.h"
#include"math.h"
#define IIRNUMBER 2
#define SIGNAL1F 1000
#define SIGNAL2F 4500
#define SAMPLEF 10000
#define PI 3.1415926
float InputWave();
float IIR();
float fBn[IIRNUMBER]={ 0.0,0.7757 };
float fAn[IIRNUMBER]={ 0.1122,0.1122 };
float fXn[IIRNUMBER]={ 0.0 };
float fYn[IIRNUMBER]={ 0.0 };
float fInput,fOutput;
float fSignal1,fSignal2;
float fStepSignal1,fStepSignal2;
float f2PI;
int i;
float fIn[256],fOut[256];
int nIn,nOut;
main(void)
{
nIn=0; nOut=0;
f2PI=2*PI;
fSignal1=0.0;
fSignal2=PI*0.1;
// fStepSignal1=2*PI/30;
// fStepSignal2=2*PI*1.4;
fStepSignal1=2*PI/50;
fStepSignal2=2*PI/2.5;
while ( 1 )
{
fInput=InputWave();
fIn[nIn]=fInput;
nIn++; nIn%=256;
fOutput=IIR();
fOut[nOut]=fOutput;
nOut++;
if ( nOut>=256 )
{
nOut=0; /* 请在此句上设置软件断点 */
}
}
}
float InputWave()
{
for ( i=IIRNUMBER-1;i>0;i-- )
{
fXn[i]=fXn[i-1];
fYn[i]=fYn[i-1];
}
fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;
fYn[0]=0.0;
fSignal1+=fStepSignal1;
if ( fSignal1>=f2PI ) fSignal1-=f2PI;
fSignal2+=fStepSignal2;
if ( fSignal2>=f2PI ) fSignal2-=f2PI;
return(fXn[0]);
}
float IIR()
{
float fSum;
fSum=0.0;
for ( i=0;i<IIRNUMBER;i++ )
{
fSum+=(fXn[i]*fAn[i]);
fSum+=(fYn[i]*fBn[i]);
}
return(fSum);
}
忘了说了,我的邮箱是329174476@qq.com,有意帮忙的用百度消息、邮箱或者QQ联系我都可以,万分感谢!! 展开
4个回答
展开全部
DSP的汇编!
这个程序中,涉及了sin、cos等函数运算。
以“计算”为主的问题,用汇编语言,是难以完成的。
汇编语言,比较适合于采用基本的算术、逻辑运算,以“控制”为主的项目。
这个程序中,涉及了sin、cos等函数运算。
以“计算”为主的问题,用汇编语言,是难以完成的。
汇编语言,比较适合于采用基本的算术、逻辑运算,以“控制”为主的项目。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不同的处理器汇编是不一样的
不同的汇编器对汇编语言的格式也不一样
一般c编译器可以产生汇编文件
不同的汇编器对汇编语言的格式也不一样
一般c编译器可以产生汇编文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每种处理器有各自的汇编风格!再说你那里头文件那么多,即使汇编出来我们头发都白了!一百分都没花就死了,悲哀至极!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还没学呢~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询