第04.2章C54xDSP指令系统.ppt

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

主要内容 汇编语言程序的编写方法 汇编指令 寻址方式 公共目标文件格式 汇编语言程序设计 混合编程 TMS320C54x的汇编指令系统 4.1 指令系统中的指令集符号和缩写 4.2 指令系统 指令系统中的符号和缩写 TMS320C54x的汇编指令系统 4.1 指令系统中的指令集符号和缩写 4.2 指令系统 汇编指令介绍 算数运算指令 逻辑运算指令 程序控制指令 装载和存储(数据传送)指令 算术运算指令 加法指令 减法指令 乘法指令 乘累加指令 乘减指令 双字/双精度指令 特殊操作指令 逻辑运算指令 与指令 或指令 异或指令 移位指令 测试指令 程序控制指令 分支转移指令 子程序调用指令 中断指令 返回指令 重复指令 堆栈处理指令 混合程序控制指令 装载和存储(数据传送)指令 一般的装载和存储指令 条件存储指令 并行装载和存储指令 并行装载和乘法指令 并行存储和加、减法指令 并行存储和乘法指令 混合装载和存储指令 ST A,*AR4- || MAC *AR5+,B TMS320C54x的寻址方式 4.3.1 概念 4.3.2 数据寻址 4.3.3 程序寻址 用一个符号或数字来指定外部I/O端口的地址。 PORTR PA, Smem PORTW Smem, PA 利用数据指针和堆栈指针寻址,其特点是数据存储器地址由 高9位的基地址(数据页指针DP或堆栈指针SP)和低7位的偏 移地址共同构成,共16位。 状态寄存器ST1中的编译方式位CPL决定选择采用哪种方 式来产生实际地址。 用户可随机寻址128个存储单元中的任何一个单元,而不改变DP和SP内容。 通过8个16位的辅助寄存器AR0 ~ AR7中定义的任意寄存器(由辅助寄存器指针ARP 3-bit来指定)给出的16位地址值进行寻址,可访问64k字数据空间的任何一个地址。 辅助寄存器和地址可采用增1、减1、加偏移量和索引的办法来修改。有的特殊方式可提供循环寻址和位反转寻址。 MMR寻址用来修改存储器映射寄存器而不影响当前数据页指针DP或堆栈指针SP的值。可以工作在直接寻址和间接寻址中使用。 有2种产生MMR的地址的方法: 表4-6-4 并行加载和存储指令 并行加载和存储指令 表4-6-5 并行加载和乘法指令 并行加载和乘法指令 表4-6-6 并行存储和加/减法指令 并行存储和加/减法指令 表4-6-7 并行存储和乘法指令 并行存储和乘法指令 表4-6-8 混合加载和存储指令(数据块传送指令) 混合加载和存储指令 累加器A中的高位数按原定的位数移动后,存入AR4指定的存储器单元,AR4中的地址减1; AR5指定的存储器单元中的数与T寄存器中的数相乘,其积加到累加器B 中, AR5中的地址加1。 共12条:MVDD、MVDK、MVDM、MVDP、MVKD、MVMD、MVMM、MVPD、PORTR、PORTW、READA、WRITA TMS320C54x的寻址方式 指令的寻址方式:当硬件执行指令时,寻找指令 所指定的参与运算的操作数的方法。 根据程序的要求采用不同的寻址方式,可以缩短程序 运行时间和提高代码执行效率。 TMS320C54x的寻址方式分类:数据寻址和程序寻址 立即数寻址 绝对地址寻址 累加器寻址 直接寻址 间接寻址 存储器映射寄存器寻址 堆栈寻址 数据寻址 立即数寻址: 指令中嵌有一个固定的数 绝对地址寻址: 指令中有一个固定的地址 累加器寻址: 按累加器内的地址去访问程序存储器中的一个单元 直接寻址: 指令中的7bits是一个数据页内的偏移地址,而所在的数据页由数据页指针DP或SP决定。该偏移加上DP和SP的值决定了在数据存储器中的实际地址。 间接寻址: 按照辅助寄存器中的地址访问存储器。 存储器映射寄存器寻址: 修改存储器映射寄存器中的值,而不影响当前DP或SP的值。 堆栈寻址: 把数据压入和弹出系统堆栈。 数据寻址 在立即寻址中,数字前加#表示一个立即数 立即数寻址主要用于初始化,其特点是指令中包含一个固定的数。 指令语法可使用2种类型的立即数: 短立即数:长度为3、5、8或9位,指令编码为1个 字长(单字指令) 长立即数:长度为16位,指令编码为2个字长(双 字指令) 立即数长度由所使用指令类型决定 1.立即数寻址 表4-7-1 支持立即数的指令 RPT #99 ;将下一条指令循环100次 LD #80H,A ;将80H装入累加器A LD #50,DP ;将50装入数据页指针

文档评论(0)

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

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

1亿VIP精品文档

相关文档