dsp汇编编程及应用举例

dsp汇编编程及应用举例

ID:18828450

大小:85.00 KB

页数:9页

时间:2018-09-21

dsp汇编编程及应用举例_第1页
dsp汇编编程及应用举例_第2页
dsp汇编编程及应用举例_第3页
dsp汇编编程及应用举例_第4页
dsp汇编编程及应用举例_第5页
资源描述:

《dsp汇编编程及应用举例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.DSP汇编语言程序的编写(1)      汇编语言源程序以.asm为其扩展名。(2)      汇编语言源程序的每一行都可以由4个部分组成,句法如下: [标号][:]助记符[操作数][;注释]其中可用空格或TAB键隔开标号——供本程序的其他部分或其他程序调用。标号是任选项,标号后面可以加也可以不加冒号“:”。标号必须从第一列写起,标号最多可达到32个字符(A~Z,a~z,0~9,_,以及$),但第1个字符不能以数字开头。引用标号时,标号的大小写必须一致。标号的值就是SPC(段程序计数器)的值。如果不用标号,则第一个字符必须为空格、分号或星号(*)。助记符

2、——助记符指令、汇编指令、宏指令和宏调用。作为助记符指令,一般用大写;汇编命令和宏指令,以英文句号“.”开始,且为小写。汇编命令可以形成常数和变量,当用它控制汇编和连接过程时,可以不占用存储空间。指令和汇编命令都不能写在第1列。操作数——指令中的操作数或汇编命令中定义的内容。操作数之间必须用逗号“,”分开。有的指令操作无操作数,如NOP、RESET。注释——注释从分号“;”开始,可以放在指令或汇编命令的后面,也可以放在单独的一行或数行。注释是任选项。如果注释从第1列开始,也可以用“*”表示注释。(3)      常用的汇编命令如表所示。汇编命令作用举例.ti

3、tle紧随其后的是汇编语言程序正文.title“example.asm”.end结束汇编命令放在汇编语言程序的最后.text紧随其后的是汇编语言程序正文经汇编后,紧随.text后的是可执行程序代码.data紧随其后的是已初始化数据有两种数据形式:.int和.word.int.int用来设置一个或多个16位无符号整型量常数.word.word用来设置一个或多个16位符号整型量常数table:.word1,2,3,4.word6,8,4,2表示在程序存储器标号为table开始的8个单元中存放初始化数据1,2,3,4,6,8,4,2.bss.bss为未初始化变量保

4、留存储空间.bssx,4表示在数据存储器中空出4个存储单元存放变量x1,x2,x3和x4.sect建立包含代码和数据的自定义段.sect“vectors”定义向量表,紧随其后的是复位向量和中断向量,名为vectors.usect为未初始化变量保留存储空间的自定义段STACK.usect“STACK”,10h在数据存储器中留出16个单元作为堆栈区,名为STACK (4)      汇编语言程序中的数据形式如表所示形式举例二进制1110001b或1111001B八进制226q或572Q十进制1234或+1234或-1234(缺省型)十六进制0A40h或0A40H

5、或0xA40浮点数1.654e-23(仅C语言程序中能用,汇编程序中不能用)字符‘D’字符串“thisisastring” 2.            程序2.1程序一编程目的:了解DSP的输入和输出方法程序功能:求乘积之和y=a1*x1+a2*x2+a3*x3+a4*x4.title"mpy_add.asm".mmregs;将存储映像寄存器导入列表STACK.usect"STACK",10h;给堆栈段分配空间.bssa,4;将9个字空间分配给各个变量.bssx,4.bssy,1PA0.set0;将端口PA0全部置0.defstart;定义标号start.d

6、ata;定义数据代码段table:.word4,4,4,4.word4,4,4,4.text;定义文本代码段start:STM#0,SWWSR;将等待寄存器设为0,表示不等待STM#STACK+10h,SP;设堆栈指针STM#a,AR1;将AR1指向变量a的地址RPT#7;从程序存储空间转移7+1个值到数据储存空间MVPDtable,*AR1+CALLSUM;调用SUM子程序end:Bend;循环等待SUM:STM#a,AR3;将AR3指向变量a的地址STM#x,AR4;将AR4指向变量x的地址RPTZA,#3;将A清0,并重复执行下一条指令3+1次MAC*

7、AR3+,*AR4+,ASTLA,@y;将寄存器A中的低16位存入y地址空间PORTW@y,PA0;将y地址中的值输出到输出口RET;子程序返回.end;程序结束 等待位的设置:C54x片内有一部件——软件可编程等待状态发生器,控制着外部总线的工作。软件可编程等待状态发生器可将外部总线周期延长多达7个周期,这样一来,’C54x就能很方便的与外部慢速器件相接口。如果外部器件要求插入7个以上的等待周期,则可以利用硬件READY先来接口。当所有的外部寻址都配置在0等待状态时,加到等待状态发生器的时钟被关断;来自内部时钟的这些通道被切断后,可以降低处理器的功耗。软件

8、可编程等待状态发生器的工作由16位的软件等待状态寄存

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

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

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