首页 DSP指令大全(最全)

DSP指令大全(最全)

举报
开通vip

DSP指令大全(最全) 附录6 TMS320C54x 指令系统一览表(按指令功能排列) 一、算术运算指令 1. 加法指令 句 法 表 达 式 说 明 字数 周期 ADD Smem,src src=src+Smem 操作数加至累加器 1 1 ADD Smem,TS,src src=src+Smem<

DSP指令大全(最全)
附录6 TMS320C54x 指令系统一览 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf (按指令功能排列) 一、算术运算指令 1. 加法指令 句 法 表 达 式 说 明 字数 周期 ADD Smem,src src=src+Smem 操作数加至累加器 1 1 ADD Smem,TS,src src=src+Smem<src(15—0) then Smem=src(31—16) If src(31—16)≤src(15—0) then Smem=src(15—0) 比较选择并存储最大值 1 1 SACCD src,Xmem,cond If(cond) Xmem=src<<(ASM—16) 有条件存储累加器值 1 1 SRCCD Xmem,cond If(cond) Xmem=BRC 有条件存储块重复计数器 1 1 STRCD Xmem,cond If(cond) Xmem=T 有条件存储T寄存器值 1 1 4. 并行加载和存储指令 句 法 表 达 式 说 明 字数 周期 ST src,Ymem Ymem=src<<(ASM—16) 存储累加器并行加载累加器 1 1 ||LD Xmem,dst ||dst=Xmem<<16 ST src,Ymem Ymem=src<<(ASM—16) 存储累加器并行加载T寄存器 1 1 ||LD Xmem,T ||T=Xmem 5. 并行加载和乘法指令 句 法 表 达 式 说 明 字数 周期 LD Xmem,dst dst=Xmem<<16 加载累加器并行乘法累加运算 1 1 ||MAC Ymem,dst_ ||dst_=dst_+T*Ymem LD Xmem,dst dst=Xmem<<16 加载累加器并行乘法累加运算(带舍入) 1 1 ||MACR Ymem,dst_ ||dst_=rnd(dst_+T*Ymem) LD Xmem,dst dst=Xmem<<16 加载累加器并行乘法减法运算 1 1 ||MAS Ymem,dst_ ||dst_=dst_—T*Ymem LD Xmem,dst dst=Xmem<<16 加载累加器并行乘法减法运算(带舍入) 1 1 ||MASR Ymem,dst_ ||dst_=rnd(dst_—T*Ymem) 6. 并行存储和加 / 减法指令 句 法 表 达 式 说 明 字数 周期 ST src,Ymem ||ADD Xmem,dst Ymem=src<<(ASM—16) ||dst=dst_+Xmem<<16 存储累加器值并行加法运算 1 1 ST src,Ymem ||SUB Xmem,dst Ymem=src<<(ASM—16) ||dst=(Xmem<<16)—dst_ 存储累加器值并行减法运算 1 1 7. 并行存储和乘法指令 句 法 表 达 式 说 明 字数 周期 ST src,Ymem Ymem=src<<(ASM—16) 存储累加器并行乘法累加运算 1 1 ||MAC Xmem,dst ||dst=dst+T*Xmem ST src,Ymem ||MACR Xmem,dst Ymem=src<<(ASM—16) ||dst=rnd(dst+T*Xmem) 存储累加器并行乘法累加运算(带舍入) 1 1 ST src,Ymem Ymem=src<<(ASM—16) 存储累加器并行乘法减法运算 1 1 ||MAS Xmem,dst ||dst=dst—T*Xmem ST src,Ymem Ymem=src<<(ASM—16) 存储累加器并行乘法减法运算(带舍入) 1 1 ||MASR Xmem,dst ||dst=rnd(dst—T*Xmem) ST src,Ymem Ymem=src<<(ASM—16) 存储累加器并行乘法运算 1 1 ||MPY Xmem,dst ||dst=T*Xmem 8. 其他加载和存储指令 句 法 表 达 式 说 明 字数 周期 MVDD Xmem,Ymem Ymem=Xmem 数据存储器内部传送数据 1 1 MVDK Smem,dmad dmad=Smem 数据存储器内部指定地址传送数据 2 2 MVDM dmad,MMR MMR=dmad 数据存储器向MMR传送数据 2 2 MVDP Smem,pmad pmad=Smem 数据存储器向程序存储器传送数据 2 4 MVKD dmad,Smem Smem=dmad 数据存储器内部指定地址传送数据 2 2 MVMD MMR,dmad dmad=MMR MMR向指定地址传送数据 2 2 MVMM MMRx,MMRy MMRy=MMRx MMRx向MMRy传送数据 1 1 MVPD pmad,Smem Smem=pmad 程序存储器向数据存储器传送数据 2 3 PORTR PA,Smem Smem=PA 从PA口读入数据 2 2 PORTW Smem,PA PA=Smem 向PA口输出数据 2 2 READA Smem Smem=Pmem(A) 按累加器A寻址读程序存储器并存入数据存储器 1 5 WRITA Smem Pmem(A)=Smem 将数据按累加器A寻址写入程序存储器 1 5 五.伪指令 1.定义段的伪指令 助记符和语法 说 明 .asect"section name",address 汇编至绝对命名(初始化)段(此段已过时) .bss symbol, size in words [, blocking flag] 在.bss段(未被初始化数据段)保留size个字 .data 汇编至数据(初始化数据)段 .sect ”section name” 汇编至一个命名(已初始化)段 .text 汇编至.text可执行代码)段 symbol .usect “section name”, size in words,[blocking flag] 在1个命名段(未被初始化)保留.size个字 2.初始化常数(数据和存储器)的伪指令 助记符号和语法 说明 .bes size in bits 在当前段保留size位;标号指向保留间的末尾 .bfloat value 初始化一个32位,IEEE单精度浮点常数;不允许目标跨越业界. .blong value1 [, ... , valuen ] 初始化一个或多个32位的整数;不允许目标跨越页边界 .byte value1 [, ... , valuen ] 在当前段初始化一个或多个连续字节 .field value [, size in bits] 初始化可变长度域 .float value 初始化一个32位,IEEE单精度浮点数 .int value1 [, ... , valuen ] 初始化1个或多个16位整数 .long value1 [, ... , valuen ] 初始化个或多个32位整数 .space size in bits 在半前段保留.size位;标号指向保留空间的末尾 .string ”string1” [, ... , ”stringn”] 初始化—个或多个.text串 .word value1 [, ... , valuen ] 初始化一个或多个16位整数 3.调整段程序计数器伪指令(SPC) .align 把SPC调整到页边界 .even 把SPC调整到偶数字边界 4.控制输出列表格式化伪指令 .drlist 允许所有伪指令行的列出(默认) .drnolist 禁止特定的伪指令行的列出 .fclist 允许列出度假条件代码块(默认) .fcnolist 禁止列出虚假条件代码块 .length page length 设置源列表的页长度 .list 重启源列表 .mlist 允许列出宏列表和循环块(默认) .mnolist 禁止列出宏列表和循环块 .nolist 停止源列表 .option {B|D|F|L|M|T|X} 选择输出列表选项 .page 在源列表中弹出页 .sslist 允许扩展替代符号列表 .ssnolist 禁止扩展替代符号列表(默认) .tab size 设置列表符大小 .title ”string” 在列表页头部打印标题 .width page width 设置源列表的页宽度 .copy [”]filename[”] 从其他文件包含源语句 .def symbol1 [, ... , symboln ] 确认在当前模块定义并在其他模块中使用的一个或多个符号 .global symbol1 [, ... , symboln ] 标识一个或多个全局(外部)符号 .include [”]filename[”] 从其他文件包括源语句 .mlib [”]filename[”] 定义宏库 .ref symbol1 [, ... , symboln ] 确认一个或多个在当前模块中使用但在其他模块中定义的符号 5.条件汇编伪指令 .break [well-defined expression] 如果条件真结束.loop汇编,.break结构是可选项 .else 如果.if条件为假,汇编代码块.else结构是可选项 .elseif well-defined expression——如果if条件为假且.elseif条件为真,汇编代码块.else结构是可选项 .endif 结束.if代码块 .endloop 结束.1oop代码块 .if well-defined expression 如果条件为真则汇编代码块 .loop [well-defined expression] 开始代码块的重复汇编 6. 汇编符号 .asg [”] character string [”],substitution symbol—— 把字符串赋予替代的符号. .endstruct 结束结构定义 .equ 使值和符号相等 .eval well-defined expression,substitution symbol 根据数字替代符号完成运算 .newblock 取消局部标号 .set 使数值和符号相等 .struct 开始结构定义 .tag 把结构属性赋予标号 7.宏指令 宏定义:Macname .macro[参数1],[…],[参数n] 宏调用:[标号][:] macname [参数1],[…],[参数n] 8.编译软件指令 ①汇编器: asm500.exe asm500 [input file[object file [listing file] [-options]] -c—使汇编语言文件中大小没有区别。缺损为区分大小写。 -i—为汇编源文件中引用的其他文件(例.copy, .include等引入的文件)指明路径。格式-i path name。 -q—抑制汇编的标题及所有的进程信息。 -s—把所有定义的符号放进目标文件的符号表中,一般汇编器只将全局符号放进符号表中,选用-s选项,所定义的标号以及汇编时定义的常数也都放进符号表内。 -x—产生一个交叉引用表,并将它附加到列表文件的最后,还在目标文件上加上交叉引用信息。 ②链接器 lnk500.exe lnk500 file1.obj… file.cmd –m file.map –o file.out –e global-symbol -o –m –e—都是属于链接器选项,用来控制链接操作;链接器常用项选项包括:(选项都是加短划“-”) -a—生成一个绝对地址的可执行输出模块,它不包含重新定位信息,如果缺省,链接器就像有-a那样处理; -m—生成一个.map映象文件,filename是映象文件的文件名,.map文件中说明了存储器配置、输入、输出段的布局以及外部符号重定位之后的地址等; -o—对可执行输出模块命名,如果缺省,则此文件名为a.out; -e—定义一个全局符号,它是可执行文件中程序开始执行时的入口地址。当加载器把一个程序加载到目的存储器时,程序记数器(SPC)被初始化到入口地址,然后从这个地址开始执行程序; -r—生成一个可重新定位的输出模块。当利用-r选项且不用-a选项时,链接器生成一个不可执行的文件,但这一文件可以与其他目标文件重新链 接,或者在加载时重新定位; -ar—生成一个重新定位,可执行的目标模块,与-a选项相比,-ar选项还在输出文件中保留有重新定位信息。-ar也可以分开写成-a和-r。 9.其他伪指令 .emsg string 把用户定义的错误信息送到输出器件 .end 结束程序 .label symbol 在段中定义装载时可重定位标号 .mmregs 把存储器映射寄存器输入到符号表中 .mmsg string 把用户定义信息送到输出设备 .port 打开汇编器移植开关 .sblock ”section name” [,”section name”, . . . ] 为块指定段 .version generation #number 为块指定段 .wmsg string 将用户定义的警告信息送到输出设备 10.cmd文件 ****************开始********************* a.obj b.obj /*输入被链接的二个目标文件*/ -o prog.out /*用-o选项列出名为prog的输出文件*/ -m prog.map /*用-m选项生成名为prog的map文件*/ -e start /用-e要求程序的入口为start */ MEMORY {PAGE 0 ROM: origin=1000h, length=0100h PAGE 1 RAM: origin=0080h, length=0100h } SECTIONS { .text: >ROM .data: >ROM .bss : >RAM } *************结束*************** MEMORY伪指令的一般语法: MEMORY { PAGE 0: name 1[(attr)]: origin=常数,length=常数 PAGE n: name n[(attr)]: origin=常数,length=常数 } SECTIONS伪指令的一般语法: SECTIONS { name: [property, property, property, …] name: [property, property, property, …] }
本文档为【DSP指令大全(最全)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_532828
暂无简介~
格式:doc
大小:425KB
软件:Word
页数:16
分类:互联网
上传时间:2012-07-07
浏览量:80