dsp软件开发过程

dsp软件开发过程

ID:39963802

大小:1.09 MB

页数:67页

时间:2019-07-16

dsp软件开发过程_第1页
dsp软件开发过程_第2页
dsp软件开发过程_第3页
dsp软件开发过程_第4页
dsp软件开发过程_第5页
资源描述:

《dsp软件开发过程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、电子与信息工程学院电气工程及其自动化DSP技术及应用DigitalSignalProcessor数字信号处理器樊松讲师1第四章DSP软件开发过程第一节汇编语言程序的编写方法第二节汇编语言程序的汇编第三节COFF的一般概念第四节目标文件的链接2软件开发过程第一节汇编语言程序的编写方法3汇编语言程序的编辑、汇编和链接过程41.汇编语言源程序的句法格式要点以.asm为扩展名每一行由4个部分组成格式[标号][:]空格[助记符]空格[操作数]空格[;注释][]中的内容为可选择部分供本程序的其它部分或其它程序调用。标号是任选项,标号后面可以加也可以不加冒号“:”。5要点1.标号必须从第1列写起

2、,2.标号最多可达32个字符,可以是A~Z,a~z,0~9,_,以及$,但标号的第1个字符不能是数字。3.引用标号时,标号的大小写必须一致。4.标号的值就是段程序计数器SPC的值。5.如果不用标号,则第一个字母必须为空格、分号或星号(*)。6要点建议[标号][:]空格[助记符]空格[操作数]空格[;注释]可以是助记符指令、汇编指令、宏指令和宏调用命令。1.助记符指令,一般用大写;2.汇编命令和宏命令,以句号“.”开始,且为通常用小写。7要点[标号][:]空格[助记符]空格[操作数]空格[;注释]1.指令中的操作数或汇编命令中定义的内容2.操作数之间必须用逗号“,”分开。1.从分号“

3、;”开始2.可以放在指令或汇编命令后面,也可以放在单独的一行或数行。要点82.汇编语言源程序的数据型式二进制:如1110001b或1111001B;八进制:226q或572Q;十进制:1234或+1234或-1234(缺省型)十六进制:0A40h或0A40H或0xA40浮点数:1.623e-23(仅C语言程序中能用,汇编程序不能用)字符:‘D’字符串:“thisisastring”93.汇编命令汇编命令是用来为程序提供数据和控制汇编进程的。C54x汇编器共有64条汇编命令,根据它们的功能,可以将汇编命令分成8类:(1)对各种段进行定义的命令。(2)对常数(数据和存储器)进行初始化的

4、命令。(3)调整SPC(段寄存器)的指令。(4)对输出列表文件格式化的命令。(5)引用其它文件的命令。(6)控制条件汇编的命令。(7)在汇编时定义符号的命令。(8)执行其它功能的命令。10例4-1编写计算y=a1*x1+a2*x2+a3*x3+a4*x4的汇编源程序**********************************example.asmy=a1*x1+a2*x2+a3*x3+a4*x4**********************************.title“example.asm”;为汇编源程序取名.mmregs;定义存储器映象寄存器STACK.usect

5、“STACK”,10h;分配10个单元的堆栈空间.bssa,4;为系数a分配4个单元的空间.bssx,4;为变量x分配4个单元的空间.bssy,1;为结果y分配1个单元的空间.def_c_int00;定义标号_c_int00.data;定义数据代码段table:.word1,2,3,4;在标号table开始的8个单元中.word8,6,4,2;为这8个单元赋初值11.text;定义文本代码段_c_int00:STM#0,SWWSR;软件等待状态寄存器置0,不设等待STM#STACK+10h,SP;设置堆栈指针初值STM#a,AR1;AR1指向a的地址RPT#7;从程序存储器向数据存

6、储器MVPDtable,*AR1+;重复传送8个数据CALLSUM;调用SUM实现乘法累加和的子程序end:Bend;循环等待SUM:STM#a,AR3;将系数a的地址赋给AR3STM#x,AR4;将变量x的地址赋给AR3RPTZA,#3;将A清0,并重复执行下条指令4次MAC*AR3+,*AR4+,A;执行乘法并累加,结果放在A中STLA,@y;将A的低字内容送结果单元yRET;结束子程序.end;结束全部程序124.宏定义和宏调用(1)两者都可以被多次调用,但是把子程序汇编成目标代码的过程只进行一次,而在用到宏指令的每个地方都要对宏指令中的语句逐条地进行汇编。(2)在调用前,由

7、于子程序不使用参数,故子程序所需要的寄存器等都必须事先设置好;而对于宏指令来说,由于可以使用参数,调用时只要直接代入参数就行了。(3)宏指令可以在源程序的任何位置上定义,但必须在用到它之前先定义好。宏定义可以嵌套。宏指令与子程序的异同13macname.macro[parameter1][,…,parametern]助记符指令与宏指令[.mexit].endm宏定义的格式宏调用的格式[label][:]macname[parameter1][,…,parametern

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。