DSP的指令系统.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP的指令系统

第三章 TMS320C55X的指令系统 TMS320的汇编程序包含 汇编伪指令(assembler directives)、 汇编语言指令(assembly language instructions) 宏指令(macro directives) 注释(comments) 汇编语言源文件格式 [标号] [:] 助记符 [操作数] [; 注释] TMS320C55X的指令系统 3.1 寻址方式 3.1.1 绝对寻址模式 3.1.2 直接寻址模式 3.1.3 间接寻址模式 3.2 C55X的指令系统 3.1.1 绝对寻址 1. k16绝对寻址 3.1.1 绝对寻址 2. k23绝对寻址 3.1.1 绝对寻址 3. I/O绝对寻址 3.1.2 直接寻址 1. DP寻址 CPU连接DPH和DP成为一个扩展数据页指针XDP 可以使用两条指令独立地装入DPH和DP 也可以使用一条指令装入XDP 计算偏移地址的方法: 1. DP直接寻址 例1:访问数据存储空间 例2:访问存储器映射寄存器 MOV mmap(@AC0L),AR2 ;CPU从00 0008h处读取数据装入AR2 2. SP寻址 2. SP寻址 3. 寄存器位直接寻址 9位的外设数据页寄存器(PDP) 选取512个外设数据页(0~511)中的一页,每页有128个字,由指令中的7 位偏移指定 使用时必须用port( )限定词 指定要访问的是I/O空间,而不是数据存储单元 port()限定词的括号内是7 位的偏移(Poffset) 3.1.3 间接寻址 1. AR间接寻址 使用辅助寄存器ARn(n=0~7)指向数据 CPU使用ARn产生地址的方式取决于访问的数据类型 表3-9 DSP模式下的AR间接寻址模式(2) 寻址方式--间接寻址 寻址方式--间接寻址 正向进位与反向进位 AR0 = 100, AR1 = 000 按AR1寻址后,将AR0加给AR1,反向进位 3.CDP间接寻址 2. 双AR间接寻址方式 MAC *AR1+,*CDP,AC0 ::MAC *AR2+,*CDP,AC1 一、算术运算指令 用于完成加减乘除等运算,按照功能可分成以下几类: 加法指令 减法指令:减法,条件减法,条件加/减 乘法指令:乘法,乘加,乘减,双乘加/减 双16比特算术指令 比较运算指令:比较并求极值,最大/最小值,存储单元比较,寄存器比较 移位指令:条件移位、带符号的移位。 寄存器修改:辅助寄存器修改、堆栈指针SP修改 隐含的并行指令 专用指令:绝对值、归一化、有限冲激响应滤波FIR、最小均方LMS等 1、加法指令 Test ADD instruction BSET CARRY AMOV #010000h,XAR3 MOV #0001h,AR3 MOV #00E2h,* AR3 MOV #0005h,AC1 ADD uns(*AR3),CARRY,AC1,AC0 ;AC0=(*AR3)+CARRY+AC18h ADD *(#010001h)16,AC1,AC0 ; AC0=(00E216)+AC1=0000E20005h 2、减法指令 常规减法:在D单元或A单元执行减法操作。 条件减法:在D单元中执行,先执行减法,然后根据结果进行移位。 条件加/减:在D单元根据TC1或TC2的状态执行加/减运算。 (1)语法;(2)操作数;(3)状态位 例1(常规减法): BCLR CARRY ;BORROW=1 AMOV #010000h,XAR1 MOV #0300h,AR1 MOV #0200h,* AR1 MOV #0300h,AC0 SUB *AR1,BORROW,AC0,AC1 ; AC1=AC0-(*AR1)-BORROW=00FFh 例2(条件减法) 3、乘法指令 常规乘法(MPY):在D单元的一个MAC中执行乘法运算。 乘加和乘减运算(MAC/MAS):在D单元的一个MAC中执行乘法,然后执行加法或减法运算。 双乘加/减(Dual-MAC/S): 利用D单元的两个MAC同时执行两个乘法或乘加/乘减运算。 例1(常规乘法) MPY AC0,AC1 说明:AC1= AC0(32~16)×AC1(32~16) 例2(乘加运算) AMOV #0100

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档