DSP原理及应用第四章.ppt

DSP原理及应用第四章.ppt

ID:51619930

大小:864.05 KB

页数:58页

时间:2020-03-26

DSP原理及应用第四章.ppt_第1页
DSP原理及应用第四章.ppt_第2页
DSP原理及应用第四章.ppt_第3页
DSP原理及应用第四章.ppt_第4页
DSP原理及应用第四章.ppt_第5页
资源描述:

《DSP原理及应用第四章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章DSP软件开发过程第一节汇编语言程序的编写方法第三节COFF的一般概念第四节目标文件的链接1软件开发过程第一节汇编语言程序的编写方法2汇编语言程序的编辑、汇编和链接过程31.汇编语言源程序的句法格式要点以.asm为扩展名每一行由4个部分组成格式[标号][:]空格[助记符]空格[操作数]空格[;注释][]中的内容为可选择部分供本程序的其它部分或其它程序调用。标号是任选项,标号后面可以加也可以不加冒号“:”。4要点1.标号必须从第1列写起。2.标号最多可达32个字符,可以是A~Z,a~z,0~9,_,以及$,但标号的第1个字符不能是数字。3.引用标号时,标号的大小写必须一致

2、。4.标号的值就是段程序计数器SPC的值。5.如果不用标号,则第一个字母必须为空格、分号或星号(*)。5要点建议[标号][:]空格[助记符]空格[操作数]空格[;注释]可以是助记符指令、汇编指令、宏指令和宏调用命令。1.助记符指令,一般用大写;2.汇编命令和宏命令,以句号“.”开始,且通常用小写。6要点[标号][:]空格[助记符]空格[操作数]空格[;注释]1.指令中的操作数或汇编命令中定义的内容2.操作数之间必须用逗号“,”分开。1.从分号“;”开始2.可以放在指令或汇编命令后面,也可以放在单独的一行或数行。要点7汇编语言编写的一般规则为:所有语言必须以标号、空格、星号或分

3、号开始;所有包含汇编伪指令的语句,必须在一行完全指定;可以选择带有标号,若使用标号,则标号必须从第一列开始;每区必须用一个或者多个空格分开,Tab字符键与空格等效;程序中可以有注释,注释开始在第一列时,前面需标上星号或分号,但在其他列开始的注释前面,只能标上分号。82.汇编语言源程序的数据型式二进制:如1110001b或1111001B;八进制:226q或572Q;十进制:1234或+1234或-1234(缺省型)十六进制:0A40h或0A40H或0xA40浮点数:1.623e-23(仅C语言程序中能用,汇编程序不能用)字符:‘D’字符串:“thisisastring”910

4、常用的汇编命令:汇编命令作用举例.title紧跟其后的是用双引号括起的源程序名.title"example.asm".end结束汇编命令,汇编程序将忽略此后的任何源语句,所以它应是程序的最后语句放在汇编语言源程序的最后.text紧跟其后的是汇编语言程序正文.text段是源程序正文。经汇编后,紧随.text后的是可执行程序代码.data紧跟其后的是已初始化数据,通常含有数据表或预先初始化的数值有两种数据形式:.int和.word.int.int用来设置一个或多个16位无符号整型数常数Table:.word1,2,3,4.word8,6,4,2表示在程序存储器标号为table开始

5、的8个单元中存放初始化数据1、2、3、4、8、6、4和2.word.word用来设置一个或多个16位带符号整型数常数.bss.bss为未初始化变量保留的存储空间.bssx,4表示在数据存储器中空出4个存储单元存放变量x1,x2,x3和x4.sect建立包含代码和数据的自定义段.sect"vectors"定义向量表,紧随其后的是复位向量和中断向量,名为vectors.usect为未初始化变量保留存储空间的自定义段STACK.usect"STACK",10H在数据存储器中留出16个单元作为堆栈区,名为STACK.def在此模块中定义,可为别的模块引用.def.mmregs将TMS

6、320C54x各寄存器名定义为全局符号,这样就可以直接引用寄存器(符号)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“STACK”,10h;分配10h个单元的堆栈空间.bssa,4;为系数a分配4个单元的空间.bssx,4

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

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

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

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