版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、10/31/20211第四章第四章 dsp汇编语言基础汇编语言基础2、c54x汇编语言指令系统汇编语言指令系统u类型:类型:p 助记符助记符: 例:例:add src, smem;p代数表达式代数表达式: 例:例:src=src+smem;10/31/20212u 指令集符号和简写指令集符号和简写 符号意义符号意义 a 累加器累加器 a; alu 算术逻辑运算单元;算术逻辑运算单元; ar 辅助寄存器辅助寄存器, 通用惯例;通用惯例; arx 指定具体的辅助寄存器指定具体的辅助寄存器 (0 - 7); arp st0中的辅助寄存器指针中的辅助寄存器指针; 这这3位指出了当前使用位指出了当前使用
2、 的辅助寄存器的辅助寄存器 (arx); asm st1 (16 asm 15)中的中的5位移位字段位移位字段; b 累加器累加器b; braf st1中的块重复激活标志;中的块重复激活标志; brc 块重复计数器;块重复计数器; bitc 指定数据存储器中的测试位,指定数据存储器中的测试位,4位数字表示位数字表示 (0 bitc 15) ; c16 st1中的算术精度模式位双中的算术精度模式位双16位位/双精度;双精度;10/31/20213第四章第四章 dsp汇编语言基础汇编语言基础c st0中的进位标志位;中的进位标志位;cc 2位条件代码位条件代码 (0 cc 3);cmpt st1中
3、的比较模式位;中的比较模式位;cpl st1中的编译模式位;中的编译模式位;cond 指令操作执行条件;指令操作执行条件;d 延时操作;延时操作;dab d数据地址总线;数据地址总线;dar dab 地址寄存器;地址寄存器;dmad 16位立即数存储器地址位立即数存储器地址(0 dmad 65535) ;dmem 数据存储器操作数;数据存储器操作数;dp st0中的中的9位数据存储器页指针位数据存储器页指针 (0 dp 511)10/31/20214第四章第四章 dsp汇编语言基础汇编语言基础dst 目的累加器目的累加器 (a or b);dst_ 对应目的累加器对应目的累加器: if dst
4、 = a, then dst_ = b; if dst = b, then dst_ = a。eab e可执行可执行 地址总线;地址总线;ear eab 地址寄存器;地址寄存器;extpmad 23位立即数程序存储器地址;位立即数程序存储器地址;frct st1中的小数模式位;中的小数模式位;hi(a) 累加器累加器a的高位的高位 (3116)hm st1中的保持模式;中的保持模式;ifr 中断屏蔽寄存器;中断屏蔽寄存器;10/31/20215第四章第四章 dsp汇编语言基础汇编语言基础intm st1中的中断模式位;中的中断模式位;k 低于低于9的短立即数;的短立即数;k3 3位表示的立即数
5、位表示的立即数 (0 k3 7);k5 5位表示的立即数位表示的立即数 (16 k5 15);k9 9位表示的立即数位表示的立即数 (0 k9 511);lk 16位长立即数;位长立即数;lmem 32位单周期数据存储器操作数,用长字寻址;位单周期数据存储器操作数,用长字寻址;mmr, mmr 存储器映射寄存器;存储器映射寄存器;mmrx, mmry 存储器映射寄存器存储器映射寄存器ar0ar7 ,spn xc 指令的字数,指令的字数, n = 1 or 2;n 指定指定 rsbx, ssbx, xc 修正的寄存器:修正的寄存器: n = 0 修正修正 st0 n = 1 修正修正 st110
6、/31/20216第四章第四章 dsp汇编语言基础汇编语言基础ova st0中累加器中累加器a的溢出标志;的溢出标志;ovb st0中累加器中累加器b的溢出标志;的溢出标志; ovdst 目的累加器目的累加器 (a or b)的溢出标志;的溢出标志;ovdst_ 对应对应目的累加器目的累加器 (a or b)的溢出标志的溢出标志;ovsrc 源源累加器累加器 (a or b)的溢出标志;的溢出标志;ovm st1中的溢出模式位;中的溢出模式位;pa 16位端口立即数地址位端口立即数地址 (0 pa 65 535);par 程序地址寄存器;程序地址寄存器;pc 程序计数器;程序计数器;pmad
7、16位立即数程序存储器地址位立即数程序存储器地址 (0 pmad 65 535);pmem 程序存储器操作数;程序存储器操作数;pmst 处理器模式状态寄存器;处理器模式状态寄存器;10/31/20217第四章第四章 dsp汇编语言基础汇编语言基础prog 程序存储器操作数;程序存储器操作数;r 循环操作;循环操作;rc 重复计数器;重复计数器;rea 块重复结束地址;块重复结束地址;rnd 循环;循环;rsa 块重复开始地址寄存器;块重复开始地址寄存器;rtn retfd指令中的快速返回寄存器;指令中的快速返回寄存器;sbit 4位数指定在位数指定在 rsbx, ssbx, xc指令中修订的
8、状态状指令中修订的状态状 态寄存器位数态寄存器位数(0 sbit 15) ;shft 4位移位值位移位值 (0 shft 15);shift 5位移位值位移位值 (16 shift 15);sind 间接寻址的单操作数据寄存器操作数;间接寻址的单操作数据寄存器操作数;10/31/20218第四章第四章 dsp汇编语言基础汇编语言基础smem 16位单数据存储器操作数;位单数据存储器操作数;sp 堆栈指针;堆栈指针;src 源累加器源累加器 (a or b);st0, st1 状态寄存器状态寄存器 0, 状态寄存器状态寄存器 1sxm sign-extension mode bit in st1
9、中符号扩展模式位;中符号扩展模式位;t 暂存寄存器;暂存寄存器;tc st0中的测试中的测试/控制位;控制位;tos 堆栈栈顶;堆栈栈顶;trn 转换寄存器;转换寄存器;ts t (16 ts 31)的的50位指定的移位值;位指定的移位值;uns 无符号;无符号;xf st1中的外部符号状态位;中的外部符号状态位;10/31/20219第四章第四章 dsp汇编语言基础汇编语言基础xpc 程序扩展计数器;程序扩展计数器;xmem 用于单操作或双操作存储器指令中的用于单操作或双操作存储器指令中的16位双数据存位双数据存 储操作数;储操作数;ymem 用于双操作存储器指令中的用于双操作存储器指令中的
10、16位双数据存储操作数;位双数据存储操作数; sp 堆栈指针减堆栈指针减1; + + sp 堆栈指针加堆栈指针加 1;+ + pc 程序计数器加程序计数器加 1。u指令集指令集 共有指令共有指令129条,由寻址方式衍生至条,由寻址方式衍生至216条。条。第一类第一类 算数运算指令算数运算指令p加法指令加法指令13条:条: add smem,src ;src=src+smem 10/31/202110第四章第四章 dsp汇编语言基础汇编语言基础不同移位寻址方式衍生:不同移位寻址方式衍生:add smem,ts,src ;src=src+smem tsadd smem,16,src,dst ;ds
11、t=src+smem16add smem,shift,src,dst;dst=src+smemshiftadd xmem,shft,src; src=src+xmemshftadd xmem,ymem,dst; dst=xmem16+ymem16add #lk,shft,src,dst;dst=src+#lkshftadd #lk,16,src,dst ;dst=src+ #lk 16add src,shift,dst;dst=dst+srcshiftadd src,asm,dst;dst=dst+srcasmaddc smem,src; src=src+smem+caddm #lk,smem
12、 ;smem=smem+#lkadds smem,src ; src=src+uns(smem)10/31/202111第四章第四章 dsp汇编语言基础汇编语言基础p 减法指令减法指令13条条: sub smem,src ;src=src-smem 不同移位寻址方式衍生:不同移位寻址方式衍生: sub smem,ts,src ;src=src-smem tc sub smem,16,src,dst ;dst=src-smem16 sub smem,shift,src,dst;dst=src-smemshift sub xmem,shft,src; src=src-xmemshft sub xm
13、em,ymem,dst; dst=xmem16-ymem16 sub #lk,shft,src,dst;dst=src-#lkshft 10/31/202112sub #lk,16,src,dst ;dst=src- #lk 16sub src,shift,dst;dst=dst-srcshiftsub src,asm,dst;dst=dst-srcasmsubb smem,src; src=src-smem -c subc smem,src ; if (src-smem15) 0 ;src=(src-smem15)1+1 ;else src=src1 subs smem,src ; src=
14、src-uns(smem)p乘法指令乘法指令10条条 mpy smem,dst ; dst=t smem mpyr smem,dst ;dst=rnd(t smem) mpy xmem,ymem,dst; dst=xmem ymem,t=xmem第四章第四章 dsp汇编语言基础汇编语言基础10/31/202113第四章第四章 dsp汇编语言基础汇编语言基础mpy smem,#lk,dst ; dst=smem #lk,t=smemmpy #lk,dst ; dst=t #lkmpya dst ;dst=t a(32-16)mpya smem; b=smem a(32-16),t=smemmpy
15、u smem,dst ; dst=uns(t) uns(smem)squr smem,dst ; dst=smem smem,t=smemsqur a,dst ; dst=a(32-16) a(32-16)p多项式加减多项式加减22条条mac smem,src ; src=src+t smemmac xmem,ymem,src,dst ;dst=src+xmem ymem, t=smem10/31/202114第四章第四章 dsp汇编语言基础汇编语言基础mac #lk,src,dst ; dst=src+t #lkmac smem,#lk,src,dst; dst=src+smem #lk ,
16、 t=smemmacr smem,src,dst ; dst=rnd (scr+t smem)macr xmem,ymem,src,dst ; dst=(src +xmem ymem), t=xmemmaca smem,b ; b=b+smem a(32-16),t=smemmaca t,src,dst ; dst=src+t a(32-16)macar smem,b ; b=rnd(b+smem a(32-16),t=smemmacar t,src,dst ; dst=rnd(src+t a(32-16) macd smem,pmad,src ; src=src+smem pmad, ; t
17、=smem, (smem+1)=smem 10/31/202115第四章第四章 dsp汇编语言基础汇编语言基础macp smem,pmad,src ;src=src+smem pmad, t=smemmacsu xmem,ymem,src ; src=src+uns(xmem) ymem, ;t=xmemmas smem,src ; src=src - t smemmasr xmem,ymem,src,dst ; ; dst=rnd (src-xmem ymem),t=xmemmas xmem,ymem,src,dst ; ;dst=src- xmem ymem,t=xmemmasr smem
18、,src ; src=rnd(src - t smem)masa smem,b ; b=b-smem a(32-16),t=smemmasa t,src,dst ; dst=src-t a(32-16)masar t,src,dst ; dst=rnd(src-t a(32-16)10/31/202116第四章第四章 dsp汇编语言基础汇编语言基础squra smem,src ; src=src+smem smem,t=smemsqurs smem,src ; src=src-smem smem,t=smemp双精度指令双精度指令dadd lmem,src,dst ;if c16=0, dst
19、=lmem+src ;if c16=1, ; dst(39-16)=dst(39-16)+src(31-16) ; dst(15-0)=dst(15-0)+src(15-0)dadst lmem,src ; if c16=0, dst=lmem+(t16+t) ;if c16=1, ; dst(39-16)=dst(39-16)+t ; dst(15-0)=dst(15-0)+t 10/31/202117第四章第四章 dsp汇编语言基础汇编语言基础drsub lmem,src ; if c16=0, src=lmem-src ;if c16=1, ; src(39-16)=lmem(31-16
20、)-src(31-16) ; src(15-0)= lmem(15-0)-src(15-0)dsadt lmem,dst ; if c16=0, dst=lmem-(t16+t) ;if c16=1, ; dst(39-16)=lmem(31-16)-t ; dst(15-0)= lmem(15-0)+tdsub lmem,src ; if c16=0, src=src-lmem ;if c16=1, ; src(39-16)= src(31-16) - lmem(31-16) ; src(15-0)= src(15-0) -lmem(15-0)10/31/202118第四章第四章 dsp汇编
21、语言基础汇编语言基础dsubt lmem,dst ; if c16=0, dst=lmem-(t16+t) ;if c16=1, ; dst(39-16)=lmem(31-16)-t ; dst(15-0)= lmem(15-0)-tp特定应用指令特定应用指令abdst xmem,ymem ;b=b+|a(32-16)| ;a=(xmem-ymem)16abs src,dst ;dst=|src|cmpl src,dst ;dst=srcdelay smem ;(smem+1)=smemexp src ;t=(src)的符号位数的符号位数-810/31/202119第四章第四章 dsp汇编语言
22、基础汇编语言基础firs xmem,ymem,pmad ;b=b+a pmad ; a=( xmem +ymem )16lms xmem,ymem ;b=b+ xmem ymem ; a=(a+xmem16)+215max dst ;dst=maxa,bmin dst ;dst=mina,bneg src,dst ;dst=-srcnorm src,dst ;dst=srcts,dst=norm(src,ts)poly smem ;b=smem16rnd src,dst ;dst=src+ 215sat src ;饱和(饱和(src)sqdst xmem,ymem ;b=b+ a(32-16)
23、 a(32-16) ;a=(xmem+ymem)1610/31/202120第四章第四章 dsp汇编语言基础汇编语言基础第第2类类 逻辑操作指令逻辑操作指令pand逻辑逻辑“与与”5条条and smem,src ;src=src & smem and #lk , shft , src , dst ;dst = src & #lk shft and #lk, 16, src , dst ;dst = src & #lk 16 and src , shift , dst ;dst = dst & src shift andm #lk, smem ;smem = sm
24、em & #lkor逻辑逻辑“或或”5条条 or smem, src ;src = src | smem or #lk , shft , src , dst ;dst = src | #lk shft or #lk, 16, src , dst ;dst = src | #lk 1610/31/202121第四章第四章 dsp汇编语言基础汇编语言基础or src , shift , dst ;dst = dst | src shiftorm #lk, smem ;smem = smem | #lkpxor逻辑逻辑“异或异或”5条条xor smem, src ;src = src sme
25、mxor #lk , shft, , src , dst ;dst = src #lk shft xor #lk, 16, src , dst ;dst = src #lk 16xor src , shift , dst ;dst = dst src shift xorm #lk, smem ;smem = smem #lkp移位指令移位指令6条条rol src ;带进位循环左移带进位循环左移roltc src ;带带tc位循环左移位循环左移 ror src ;带进位循环右移带进位循环右移10/31/202122sfta src, shift , dst ;dst = src shift 算术
26、移位算术移位sftc src ;if src(31) = src(30) then src = src 1sftl src, shift , dst ;dst = src shift 逻辑移位逻辑移位p测试指令测试指令5条条bit xmem, bitc ;tc = xmem(15 bitc)bitf smem, #lk ;tc = (smem & #lk)bitt smem ;tc = smem(15 t(30) cmpm smem, #lk ;tc = (smem = #lk) cmpr cc, arx ;比较比较 arx 与与ar0第四章第四章 dsp汇编语言基础汇编语言基础10/
27、31/202123第三类第三类 程序控制指令程序控制指令p分支转移指令分支转移指令6条:条:第四章第四章 dsp汇编语言基础汇编语言基础bd pmad ;pc = pmad(150)baccd src ;pc = src(150)banzd pmad, sind ;if (sind 0) ,then pc = pmad(150)bcd pmad, cond , cond , cond ;if (cond(s) ,then pc = pmad(150)fbd extpmad ;pc = pmad(150), ;xpc = pmad(2216)fbaccd src ;pc = src(150),
28、xpc = src(2216)10/31/202124第四章第四章 dsp汇编语言基础汇编语言基础p 调用指令调用指令5条:条:calad src ; sp, pc + 1 = tos, pc = src(150)calld pmad ; sp, pc + 2 = tos, ;pc = pmad(150)ccd pmad, cond , cond , cond ;if (cond(s) then sp, ;pc + 2 = tos,pc = pmad(150)fcalad src ; sp, pc + 1 = tos, ;pc = src(150), xpc = src(2216)fcalld
29、 extpmad ; sp, pc + 2 = tos, ;pc = pmad(150), xpc = pmad(2216)10/31/202125p中断指令中断指令2条:条:intr k ; sp, + + pc = tos, ;pc = iptr(157) + k 2, ;intm = 1trap k ; sp, + + pc = tos, ;pc = iptr(157) + k 2p返回指令返回指令6条:条:fretd ;xpc = tos, + sp, pc = tos, ;+sp freted ;xpc = tos, + sp, pc = tos, ;+sp, intm = 0第四章
30、第四章 dsp汇编语言基础汇编语言基础10/31/202126rcd cond , cond , cond ; if (cond(s) then pc = tos, +sp retd ;pc = tos, +spreted ;pc = tos, +sp, intm = 0retfd ;pc = rtn, +sp, intm = 0p重复指令重复指令5条:条:rpt smem ;单指令重复单指令重复, rc = smem rpt #k ;单指令重复单指令重复, rc = #krpt #lk ;单指令重复单指令重复, rc = #lk第四章第四章 dsp汇编语言基础汇编语言基础10/31/2021
31、27第四章第四章 dsp汇编语言基础汇编语言基础rptbd pmad ;块重复块重复, rsa = pc + 2, ;rea = pmad, braf = 1rptz dst, #lk ;单指令重复单指令重复, rc = #lk, dst=0p堆栈指令堆栈指令5条:条:frame k ;sp = sp + kpopd smem ;smem = tos, +sppopm mmr ;mmr = tos, +sp pshd smem ; sp, smem = tos pshm mmr ; sp, mmr = tos10/31/202128p miscellaneous程序控制指令:程序控制指令:id
32、le k ; idle(k) mar smem ; if cmpt = 0 , 修正修正 arx ;if cmpt = 1 ,且且 arx ar0, 修正修正arx, arp = x ;if cmpt = 1 ,且且 arx = ar0,修正修正ar(arp)nop ;空操作空操作reset ;软件复位软件复位rsbx n, sbit ;stn (sbit) = 0ssbx n, sbit ;stn (sbit) = 1 xc n , cond , cond , cond ; if (cond(s) ,执行后执行后 n条指令条指令,n = 1 or 2第四章第四章 dsp汇编语言基础汇编语言基
33、础10/31/202129第四章第四章 dsp汇编语言基础汇编语言基础第四类第四类 数据传送指令数据传送指令p装载指令装载指令21条条dld lmem, dst ;dst = lmemld smem, dst ;dst = smemld smem, ts, dst ;dst = smem tsld smem, 16, dst ;dst = smem 16ld smem , shift , dst ;dst = smem shiftld xmem, shft, dst ;dst = xmem shft ld #k, dst ;dst = #kld #lk , shft , dst ;dst =
34、#lk shft10/31/202130第四章第四章 dsp汇编语言基础汇编语言基础ld #lk, 16, dst ;dst = #lk 16ld src, asm , dst ;dst = src asm ld src , shift , dst ;dst = src shiftld smem, t ; t = smem ld smem, dp ;dp = smem(80)ld #k9, dp ;dp = #k9ld #k5, asm ;asm = #k5ld #k3, arp ;arp = #k3 ld smem, asm ;asm = smem(40)ldm mmr, dst ;dst
35、= mmr10/31/202131ldr smem, dst ;dst = rnd(smem) ldu smem, dst ;dst = uns(smem) ltd smem ;t = smem, (smem + 1) = smemp存储指令存储指令14条:条:dst src, lmem ;lmem = src st t, smem ;smem = tst trn, smem ;smem = trnst #lk, smem ;smem = #lksth src, smem ;smem = src 16sth src, asm, smem ;smem = src (asm 16)sth src,
36、 shft, xmem ;xmem = src (shft 16)第四章第四章 dsp汇编语言基础汇编语言基础10/31/202132sth src , shift , smem ;smem = src (shift 16)stl src, smem ;smem = srcstl src, asm, smem ;smem = src asmstl src, shft, xmem ;xmem = src shftstl src , shift , smem ;smem = src src(150) , ;smem = src(3116); ;if src(3116) = src(150) , ;
37、smem = src(150)第四章第四章 dsp汇编语言基础汇编语言基础10/31/202133saccd src, xmem, cond ;if (cond) ;xmem = src (asm 16)srccd xmem, cond ;if (cond) xmem = brcstrcd xmem, cond ;if (cond) ,xmem = tp并行装载和存储指令并行装载和存储指令st src, ymem| ld xmem, dst ;ymem = src (asm 16) ;| dst = xmem 16st src, ymem| ld xmem, t ;ymem = src (as
38、m 16) ;| t = xmem第四章第四章 dsp汇编语言基础汇编语言基础10/31/202134p并行装载和多项式指令并行装载和多项式指令4条条ld xmem, dst| mac ymem, dst_ ;dst = xmem 16 ;| dst_ = dst_ + t ymemld xmem, dst| macr ymem, dst_ ;dst = xmem 16 ;| dst_ = rnd(dst_ + t ymem)ld xmem, dst| mas ymem, dst_ ;dst = xmem 16 ;| dst_ = dst_ t ymemld xmem, dst| masr y
39、mem, dst_ ;dst = xmem 16 ;| dst_ = rnd(dst_ t ymem)第四章第四章 dsp汇编语言基础汇编语言基础10/31/202135p并行存储和加减指令并行存储和加减指令2条:条:st src, ymem| add xmem, dst ;ymem = src (asm 16) ;| dst = dst_ + xmem 16st src, ymem| sub xmem, dst ;ymem = src (asm 16) ;| dst = (xmem 16) dst_p并行存储和多项式并行存储和多项式 6条条st src, ymem| mac xmem, dst ;ymem = src (asm 16) ;| dst = dst + t * xmem第四章第四章 dsp汇编语言基础汇编语言基础10/31/202
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高中秋季开学防踩踏安全教育
- 宜春市上高县2027届数学四上期末监测模拟试题含解析
- 厨房安全考试测试卷及答案
- T-BBIA 002-2020 北京市电动自行车销售门店经营规范
- 2026南非咖啡种植行业气候适应市场需求分析投资评估规划报告
- 2026中国医药制造商行业市场供需分析及投资评估规划分析研究报告
- 2026中国石墨烯导热材料商业化应用与消费电子需求报告
- 2026汽车行业新能源汽车及自动驾驶与行业发展趋势研究报告
- 2026中国智能交通智能化行业市场供需分析及投资评估规划分析研究报告
- 2026中国极限运动安全设备风险控制与责任保险机制研究报告
- 2026年安徽江东文旅康养集团有限公司及子公司公开招聘工作人员16人笔试参考题库及答案详解
- 2026年度全国保密教育线上培训题库(选择+判断)及参考答案
- 2026年比亚迪网申在线测试题及答案
- 乐平市市属国资控股集团有限公司面向社会公开招聘人员【15人】笔试历年常考点试题专练附带答案详解
- TCABEE080-2024零碳建筑测评标准(试行)
- 审计署工作保密制度
- 医疗器械质量意识培训资料
- 2026年中医内科临床诊疗指南-尘肺病
- 氩弧焊焊接管理制度规范
- 会展策划书案例
- 临时起降点管理办法
评论
0/150
提交评论