版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、27.06.2020,A,1,第四章 DSP汇编语言基础,2、C54x汇编语言指令系统 类型: 助记符: 例:ADD src, Smem; 代数表达式: 例:src=src+Smem;,27.06.2020,A,2,指令集符号和简写 符号意义 A 累加器 A; ALU 算术逻辑运算单元; AR 辅助寄存器, 通用惯例; ARx 指定具体的辅助寄存器 (0 - 7); ARP ST0中的辅助寄存器指针; 这3位指出了当前使用 的辅助寄存器 (ARx); ASM ST1 (16 ASM 15)中的5位移位字段; B 累加器B; BRAF ST1中的块重复激活标志; BRC 块重复计数器; BITC
2、 指定数据存储器中的测试位,4位数字表示 (0BITC 15) ; C16 ST1中的算术精度模式位双16位/双精度;,27.06.2020,A,3,第四章 DSP汇编语言基础,C ST0中的进位标志位; CC 2位条件代码 (0 CC 3); CMPT ST1中的比较模式位; CPL ST1中的编译模式位; cond 指令操作执行条件; D 延时操作; DAB D数据地址总线; DAR DAB 地址寄存器; dmad 16位立即数存储器地址(0 dmad 65535) ; Dmem 数据存储器操作数; DP ST0中的9位数据存储器页指针 (0 DP 511),27.06.2020,A,4,
3、第四章 DSP汇编语言基础,dst 目的累加器 (A or B); dst_ 对应目的累加器: If dst = 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 中断屏蔽寄存器;,27.06.2020,A,5,第四章 DSP汇编语言基础,INTM ST1中的中断模式位; K 低于9的短立即数; k3 3位表示的立即数 (0 k3 7);
4、k5 5位表示的立即数 (16 k5 15); k9 9位表示的立即数 (0 k9 511); lk 16位长立即数; Lmem 32位单周期数据存储器操作数,用长字寻址; mmr, MMR 存储器映射寄存器; MMRx, MMRy 存储器映射寄存器AR0AR7 ,SP n XC 指令的字数, n = 1 or 2; N 指定 RSBX, SSBX, XC 修正的寄存器: N = 0 修正 ST0 N = 1 修正 ST1,27.06.2020,A,6,第四章 DSP汇编语言基础,OVA ST0中累加器A的溢出标志; OVB ST0中累加器B的溢出标志; OVdst 目的累加器 (A or B
5、)的溢出标志; OVdst_ 对应目的累加器 (A or B)的溢出标志; OVsrc 源累加器 (A or B)的溢出标志; OVM ST1中的溢出模式位; PA 16位端口立即数地址 (0 PA 65 535); PAR 程序地址寄存器; PC 程序计数器; pmad 16位立即数程序存储器地址 (0 pmad 65 535); Pmem 程序存储器操作数; PMST 处理器模式状态寄存器;,27.06.2020,A,7,第四章 DSP汇编语言基础,prog 程序存储器操作数; R 循环操作; RC 重复计数器; REA 块重复结束地址; rnd 循环; RSA 块重复开始地址寄存器; R
6、TN RETFD指令中的快速返回寄存器; SBIT 4位数指定在 RSBX, SSBX, XC指令中修订的状态状 态寄存器位数(0 SBIT 15) ; SHFT 4位移位值 (0 SHFT 15); SHIFT 5位移位值 (16 SHIFT 15); Sind 间接寻址的单操作数据寄存器操作数;,27.06.2020,A,8,第四章 DSP汇编语言基础,Smem 16位单数据存储器操作数; SP 堆栈指针; src 源累加器 (A or B); ST0, ST1 状态寄存器 0, 状态寄存器 1 SXM Sign-extension mode bit in ST1中符号扩展模式位; T 暂
7、存寄存器; TC ST0中的测试/控制位; TOS 堆栈栈顶; TRN 转换寄存器; TS T (16TS 31)的50位指定的移位值; uns 无符号; XF ST1中的外部符号状态位;,27.06.2020,A,9,第四章 DSP汇编语言基础,XPC 程序扩展计数器; Xmem 用于单操作或双操作存储器指令中的16位双数据存 储操作数; Ymem 用于双操作存储器指令中的16位双数据存储操作数; SP 堆栈指针减1; + + SP 堆栈指针加 1; + + PC 程序计数器加 1。 指令集 共有指令129条,由寻址方式衍生至216条。 第一类 算数运算指令 加法指令13条: ADD Sme
8、m,src ;src=src+Smem,27.06.2020,A,10,第四章 DSP汇编语言基础,不同移位寻址方式衍生: ADD Smem,TS,src ;src=src+Smem TS ADD Smem,16,src,dst ;dst=src+Smem16 ADD Smem,SHIFT,src,dst;dst=src+SmemSHIFT ADD Xmem,SHFT,src; src=src+XmemSHFT ADD Xmem,Ymem,dst; dst=Xmem16+Ymem16 ADD #lk,SHFT,src,dst;dst=src+#lkSHFT ADD #lk,16,src,dst
9、 ;dst=src+ #lk 16 ADD src,SHIFT,dst;dst=dst+srcSHIFT ADD src,ASM,dst;dst=dst+srcASM ADDC Smem,src; src=src+Smem+C ADDM #lk,Smem ;Smem=Smem+#lk ADDS Smem,src ; src=src+uns(Smem),27.06.2020,A,11,第四章 DSP汇编语言基础,减法指令13条: SUB Smem,src ;src=src-Smem 不同移位寻址方式衍生: SUB Smem,TS,src ;src=src-Smem TC SUB Smem,16,
10、src,dst ;dst=src-Smem16 SUB Smem,SHIFT,src,dst;dst=src-SmemSHIFT SUB Xmem,SHFT,src; src=src-XmemSHFT SUB Xmem,Ymem,dst; dst=Xmem16-Ymem16 SUB #lk,SHFT,src,dst;dst=src-#lkSHFT,27.06.2020,A,12,SUB #lk,16,src,dst ;dst=src- #lk 16 SUB src,SHIFT,dst;dst=dst-srcSHIFT SUB src,ASM,dst;dst=dst-srcASM SUBB Sm
11、em,src; src=src-Smem -C SUBC Smem,src ; if (src-Smem15) 0 ;src=(src-Smem15)1+1 ;else src=src1 SUBS Smem,src ; src=src-uns(Smem) 乘法指令10条 MPY Smem,dst ; dst=TSmem MPYR Smem,dst ;dst=rnd(TSmem) MPY Xmem,Ymem,dst; dst=Xmem Ymem,T=Xmem,第四章 DSP汇编语言基础,27.06.2020,A,13,第四章 DSP汇编语言基础,MPY Smem,#lk,dst ; dst=Sm
12、em #lk,T=Smem MPY #lk,dst ; dst=T #lk MPYA dst ;dst=T A(32-16) MPYA Smem; B=Smem A(32-16),T=Smem MPYU Smem,dst ; dst=uns(T) uns(Smem) SQUR Smem,dst ; dst=Smem Smem,T=Smem SQUR A,dst ; dst=A(32-16) A(32-16) 多项式加减22条 MAC Smem,src ; src=src+T Smem MAC Xmem,Ymem,src,dst ;dst=src+Xmem Ymem, T=Smem,27.06.
13、2020,A,14,第四章 DSP汇编语言基础,MAC #lk,src,dst ; dst=src+T #lk MAC Smem,#lk,src,dst; dst=src+Smem #lk , T=Smem MACR Smem,src,dst ; dst=rnd (scr+T Smem) MACR Xmem,Ymem,src,dst ; dst=(src +Xmem Ymem), T=Xmem MACA Smem,B ; B=B+Smem A(32-16),T=Smem MACA T,src,dst ; dst=src+T A(32-16) MACAR Smem,B ; B=rnd(B+Sme
14、m A(32-16),T=Smem MACAR T,src,dst ; dst=rnd(src+T A(32-16) MACD Smem,pmad,src ; src=src+Smem pmad, ; T=Smem, (Smem+1)=Smem,27.06.2020,A,15,第四章 DSP汇编语言基础,MACP Smem,pmad,src ;src=src+Smempmad, T=Smem MACSU Xmem,Ymem,src ; src=src+uns(Xmem) Ymem, ;T=Xmem MAS Smem,src ; src=src - T Smem MASR Xmem,Ymem,s
15、rc,dst ; ; dst=rnd (src-Xmem Ymem),T=Xmem MAS Xmem,Ymem,src,dst ; ;dst=src- Xmem Ymem,T=Xmem MASR Smem,src ; src=rnd(src - T Smem) MASA Smem,B ; B=B-Smem A(32-16),T=Smem MASA T,src,dst ; dst=src-T A(32-16) MASAR T,src,dst ; dst=rnd(src-T A(32-16),27.06.2020,A,16,第四章 DSP汇编语言基础,SQURA Smem,src ; src=sr
16、c+Smem Smem,T=Smem SQURS Smem,src ; src=src-Smem Smem,T=Smem 双精度指令 DADD Lmem,src,dst ;if C16=0, dst=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,27.06.20
17、20,A,17,第四章 DSP汇编语言基础,DRSUB Lmem,src ; if C16=0, src=Lmem-src ;if C16=1, ; src(39-16)=Lmem(31-16)-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)+T DSUB Lmem,src ; if C16=0, src=src-Lmem ;if C16=1,
18、 ; src(39-16)= src(31-16) - Lmem(31-16) ; src(15-0)= src(15-0) -Lmem(15-0),27.06.2020,A,18,第四章 DSP汇编语言基础,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)-T 特定应用指令 ABDST Xmem,Ymem ;B=B+|A(32-16)| ;A=(Xmem-Ymem)16 ABS src,dst ;dst=|src| CMPL src
19、,dst ;dst=src DELAY Smem ;(Smem+1)=Smem EXP src ;T=(src)的符号位数-8,27.06.2020,A,19,第四章 DSP汇编语言基础,FIRS Xmem,Ymem,pmad ;B=B+A pmad ; A=( Xmem +Ymem )16 LMS Xmem,Ymem ;B=B+ Xmem Ymem ; A=(A+Xmem16)+215 MAX dst ;dst=maxA,B MIN dst ;dst=minA,B NEG src,dst ;dst=-src NORM src,dst ;dst=srcTS,dst=norm(src,TS) P
20、OLY Smem ;B=Smem16 RND src,dst ;dst=src+ 215 SAT src ;饱和(src) SQDST Xmem,Ymem ;B=B+ A(32-16) A(32-16) ;A=(Xmem+Ymem)16,27.06.2020,A,20,第四章 DSP汇编语言基础,第2类 逻辑操作指令 AND逻辑“与”5条 AND Smem,src ;src=src dst = src | #lk 16,27.06.2020,A,21,第四章 DSP汇编语言基础,OR src , SHIFT , dst ;dst = dst | src SHIFT ORM #lk, Smem
21、;Smem = Smem | #lk XOR逻辑“异或”5条 XOR Smem, src ;src = src Smem XOR #lk , SHFT, , src , dst ;dst = src #lk SHFT XOR #lk, 16, src , dst ;dst = src #lk 16 XOR src , SHIFT , dst ;dst = dst src SHIFT XORM #lk, Smem ;Smem = Smem #lk 移位指令6条 ROL src ;带进位循环左移 ROLTC src ;带TC位循环左移 ROR src ;带进位循环右移,27.06.2020,A,2
22、2,SFTA src, SHIFT , dst ;dst = src SHIFT 算术移位 SFTC src ;if src(31) = src(30) then src = src 1 SFTL src, SHIFT , dst ;dst = src SHIFT 逻辑移位 测试指令5条 BIT Xmem, BITC ;TC = Xmem(15 BITC) BITF Smem, #lk ;TC = (Smem 比较 ARx 与AR0,第四章 DSP汇编语言基础,27.06.2020,A,23,第三类 程序控制指令 分支转移指令6条:,第四章 DSP汇编语言基础,BD pmad ;PC = pm
23、ad(150) BACCD src ;PC = src(150) BANZD pmad, Sind ;if (Sind0) ,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), XPC = src(2216),27.06.2020,A,24,第四章 DSP汇编语言基础,调用指令5条: CALAD src ; SP, PC + 1 = T
24、OS, 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 extpmad ; SP, PC + 2 = TOS, ;PC = pmad(150), XPC = pmad(2216),27.06.2020,A,25,中断指令2条:
25、 INTR K ; SP, + + PC = TOS, ;PC = IPTR(157) + K 2, ;INTM = 1 TRAP K ; SP, + + PC = TOS, ;PC = IPTR(157) + K 2 返回指令6条: FRETD ;XPC = TOS, + SP, PC = TOS, ;+SP FRETED ;XPC = TOS, + SP, PC = TOS, ;+SP, INTM = 0,第四章 DSP汇编语言基础,27.06.2020,A,26,RCD cond , cond , cond ; if (cond(s) then PC = TOS, +SP RETD ;P
26、C = TOS, +SP RETED ;PC = TOS, +SP, INTM = 0 RETFD ;PC = RTN, +SP, INTM = 0 重复指令5条: RPT Smem ;单指令重复, RC = Smem RPT #K ;单指令重复, RC = #K RPT #lk ;单指令重复, RC = #lk,第四章 DSP汇编语言基础,27.06.2020,A,27,第四章 DSP汇编语言基础,RPTBD pmad ;块重复, RSA = PC + 2, ;REA = pmad, BRAF = 1 RPTZ dst, #lk ;单指令重复, RC = #lk, dst=0 堆栈指令5条:
27、 FRAME K ;SP = SP + K POPD Smem ;Smem = TOS, +SP POPM MMR ;MMR = TOS, +SP PSHD Smem ; SP, Smem = TOS PSHM MMR ; SP, MMR = TOS,27.06.2020,A,28,Miscellaneous程序控制指令: IDLE K ; idle(K) MAR Smem ; If CMPT = 0 , 修正 ARx ;If CMPT = 1 ,且 ARxAR0, 修正ARx, ARP = x ;If CMPT = 1 ,且 ARx = AR0,修正AR(ARP) NOP ;空操作 RESE
28、T ;软件复位 RSBX N, SBIT ;STN (SBIT) = 0 SSBX N, SBIT ;STN (SBIT) = 1 XC n , cond , cond , cond ; If (cond(s) ,执行后 n条指令,n = 1 or 2,第四章 DSP汇编语言基础,27.06.2020,A,29,第四章 DSP汇编语言基础,第四类 数据传送指令 装载指令21条 DLD Lmem, dst ;dst = Lmem LD Smem, dst ;dst = Smem LD Smem, TS, dst ;dst = Smem TS LD Smem, 16, dst ;dst = Sme
29、m 16 LD Smem , SHIFT , dst ;dst = Smem SHIFT LD Xmem, SHFT, dst ;dst = Xmem SHFT LD #K, dst ;dst = #K LD #lk , SHFT , dst ;dst = #lk SHFT,27.06.2020,A,30,第四章 DSP汇编语言基础,LD #lk, 16, dst ;dst = #lk 16 LD src, ASM , dst ;dst = src ASM LD src , SHIFT , dst ;dst = src SHIFT LD Smem, T ; T = Smem LD Smem,
30、DP ;DP = Smem(80) LD #k9, DP ;DP = #k9 LD #k5, ASM ;ASM = #k5 LD #k3, ARP ;ARP = #k3 LD Smem, ASM ;ASM = Smem(40) LDM MMR, dst ;dst = MMR,27.06.2020,A,31,LDR Smem, dst ;dst = rnd(Smem) LDU Smem, dst ;dst = uns(Smem) LTD Smem ;T = Smem, (Smem + 1) = Smem 存储指令14条: DST src, Lmem ;Lmem = src ST T, Smem
31、;Smem = T ST TRN, Smem ;Smem = TRN ST #lk, Smem ;Smem = #lk STH src, Smem ;Smem = src 16 STH src, ASM, Smem ;Smem = src (ASM 16) STH src, SHFT, Xmem ;Xmem = src (SHFT 16),第四章 DSP汇编语言基础,27.06.2020,A,32,STH src , SHIFT , Smem ;Smem = src src(150) , ;Smem = src(3116); ;If src(3116) = src(150) , ;Smem =
32、 src(150),第四章 DSP汇编语言基础,27.06.2020,A,33,SACCD src, Xmem, cond ;If (cond) ;Xmem = src (ASM 16) SRCCD Xmem, cond ;If (cond) Xmem = BRC STRCD Xmem, cond ;If (cond) ,Xmem = T 并行装载和存储指令 ST src, Ymem | LD Xmem, dst ;Ymem = src (ASM 16) ;| dst = Xmem 16 ST src, Ymem | LD Xmem, T ;Ymem = src (ASM 16) ;| T =
33、 Xmem,第四章 DSP汇编语言基础,27.06.2020,A,34,并行装载和多项式指令4条 LD Xmem, dst | MAC Ymem, dst_ ;dst = Xmem 16 ;| dst_ = dst_ + T Ymem LD 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 Ymem LD Xmem, dst | MASR Ymem, dst_ ;dst = Xmem 16 ;| dst_ = rnd(dst_ T Ymem),第四章 DSP汇编语言基础,27.06.2020,A,35,并行存储和加减指令2条: ST src, Ymem | ADD Xmem, dst ;Ymem = src (ASM 16) ;| dst = dst_ + Xmem 16 ST src, Ymem | SUB Xmem, dst ;Ymem = src (ASM 16) ;| dst = (Xmem 16) dst_ 并行存储和多项式 6条 ST src, Ymem | MAC Xmem, dst ;Ymem = src (ASM 16)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026云南玉溪市人民医院第一批招聘编外工作人员8人备考题库及答案详解一套
- 2026贵州黔西南州安龙栖凤街道养老服务中心招聘护理员2名备考题库及答案详解1套
- 2026年安徽省政府机关幼儿园食堂工勤人员招聘备考题库及参考答案详解
- 2026江苏淮安市清江浦区柳树湾街道公益性岗位 (第二批)招聘4人备考题库及参考答案详解一套
- 2026浙江舟山群岛新区浙东国有资产投资发展有限公司招聘4人备考题库参考答案详解
- 2026江西农业大学招就处劳动聘用制人员招聘2人备考题库参考答案详解
- 2026云南昆明盘龙区教育发展投资有限公司就业见习岗位招录3人备考题库及参考答案详解
- 2026广东汕头市濠江区中医医院招聘2人备考题库及参考答案详解1套
- 2026山东淄博市市属卫生健康系统事业单位高层次人才招聘85人备考题库及答案详解一套
- 2026年陕西师范大学附属小学教师招聘备考题库(5人)含答案详解
- 宠物食品制作技师试卷及答案
- (2025)医疗器械生产质量管理规范培训试卷带答案
- 老年患者营养支持的伦理决策
- 2025年东北大学强基笔试试题及答案
- 2026年台州市黄岩经开投资集团有限公司下属公司公开招聘工作人员备考题库及一套完整答案详解
- 2025年中保协保险原理知识测试题库及答案
- 2026年国家电网招聘之人力资源类考试题库300道及参考答案(模拟题)
- 三年(2023-2025)内蒙古中考物理真题分类汇编专题02 声现象、光现象、透镜及其应用(原卷版)
- 国开2025年秋《数学思想与方法》大作业答案
- 少先队安全教育知识测试题及答案集
- 保险公司客户重大理赔事件应急预案
评论
0/150
提交评论