[信息与通信]第3章 TMS320C54x指令系统

上传人:豆浆 文档编号:55100224 上传时间:2018-09-24 格式:PPT 页数:147 大小:2.21MB
返回 下载 相关 举报
[信息与通信]第3章 TMS320C54x指令系统_第1页
第1页 / 共147页
[信息与通信]第3章 TMS320C54x指令系统_第2页
第2页 / 共147页
[信息与通信]第3章 TMS320C54x指令系统_第3页
第3页 / 共147页
[信息与通信]第3章 TMS320C54x指令系统_第4页
第4页 / 共147页
[信息与通信]第3章 TMS320C54x指令系统_第5页
第5页 / 共147页
点击查看更多>>
资源描述

《[信息与通信]第3章 TMS320C54x指令系统》由会员分享,可在线阅读,更多相关《[信息与通信]第3章 TMS320C54x指令系统(147页珍藏版)》请在金锄头文库上搜索。

1、2018年9月24日,DSP技术及应用,1,第3章 TMS320C54x指令系统,内容提要 汇编源程序格式 指令集符号与意义 寻址方式 指令系统,2018年9月24日,DSP技术及应用,2,第3章 TMS320C54x指令系统,3.1 汇编源程序格式,标号: 指令 操作数列表;注释,如:begin:LD #40,AR1;将立即数40传送给辅助寄存器AR1,2018年9月24日,DSP技术及应用,3,1.标号域,使用标号时,必须从源语句的第一列开始;一个标号最多有32个字符:AZ、az、09、_和,第一个字符不能是数字;标号区分大小写;如果不用标号,则在第一列上必须是空格、分号或星号,2018年

2、9月24日,DSP技术及应用,4,2.指令域,指令域不能从第一列开始,从第一列开始,它将被认作标号 (1)助记符指令(如STM,MAC,MPVD,STL); (2)汇编伪指令(.data,.list,.set); (3)宏指令(如.macro,.var,.mexit); (4)宏调用,助记符指令,一般用大写;汇编伪指令和宏指令,以句点“.”开始,且为小写。,2018年9月24日,DSP技术及应用,5,3.操作数域,(1)前缀#表示其后的操作数位立即数。 如:Lable: ADD #123,A 伪指令:.byte 10 (2)前缀*表示其后的操作数位间接地址Lable: LD *AR4,A (3

3、)前缀表示其后的操作数是采用直接寻址或绝对寻址的地址ADD #10,XYZ,2018年9月24日,DSP技术及应用,6,4.注释域,注释可以从一行的任一列开始直到行尾。 注释可以用“;”或“*”开始,如果注释从第一列开始就用“;”或“*”,否则用“;”开头。,2018年9月24日,DSP技术及应用,7,第3章 TMS320C54x指令系统,3.2 指令集符号与意义,2018年9月24日,DSP技术及应用,8,第3章 TMS320C54x的指令系统,2018年9月24日,DSP技术及应用,9,第3章 TMS320C54x的指令系统,2018年9月24日,DSP技术及应用,10,第3章 TMS32

4、0C54x的指令系统,2018年9月24日,DSP技术及应用,11,第3章 TMS320C54x的指令系统,2018年9月24日,DSP技术及应用,12,第3章 TMS320C54x的指令系统,2018年9月24日,DSP技术及应用,13,第3章 TMS320C54x的指令系统,2018年9月24日,DSP技术及应用,14,第3章 TMS320C54x的指令系统,2018年9月24日,DSP技术及应用,15,第3章 TMS320C54x的指令系统,3.3 寻址方式,寻址方式硬件寻找指令指定的参与运算的操作数的方法。 C54x芯片的寻址方式可以分为两类: 数据寻址 程序寻址,2018年9月24日

5、,DSP技术及应用,16,第3章 TMS320C54x的指令系统,3.3 寻址方式,C54x有7种基本的数据寻址方式:,立即寻址 绝对寻址累加器寻址 直接寻址间接寻址 存储器映像寄存器寻址 堆栈寻址,2018年9月24日,DSP技术及应用,17,第3章 TMS320C54x的指令系统,3.3 寻址方式,2018年9月24日,DSP技术及应用,18,第3章 TMS320C54x的指令系统,部分寻址缩略语,2018年9月24日,DSP技术及应用,19,第3章 TMS320C54x的指令系统,3.3.1 立即寻址,指令中含有执行指令所需的操作数。操作数紧随操作码存放在程序存储器中。主要用于寄存器或存

6、储器的初始化。,LD #F180H,A ;将立即数F180加载到A,立即数的数值形式: 短立即数。3、5、8、9位,单字指令; 长立即数。16位,双字指令。,例如: LD #80H,A ;将80H数装入累加器A;,ADD #0FFh,A ;将0FFh加给ACCA;,2018年9月24日,DSP技术及应用,20,第3章 TMS320C54x的指令系统,3.3.1 立即寻址,支持立即数的指令,注意:在立即寻址的指令中,应在数值或符号前面加一个“#”,表示是一个立即数,以区别于地址。,2018年9月24日,DSP技术及应用,21,第3章 TMS320C54x的指令系统,3.3.2 绝对寻址,指令中含

7、有所要寻找的操作数的16位存储单元地址。,16位地址表示形式: 地址标号,如:TABLE; 16位符号常量,如:89AB、1234。,例如:,MVKD TABLE,*AR1 ;将数据存储器TABLE为地址的单元数据送入AR1寄存器指定的数据存储单元中,LD *(DATA),A ;将DATA指定的数据存储单元中的数据送入累加器A中,2018年9月24日,DSP技术及应用,22,第3章 TMS320C54x的指令系统,3.3.2 绝对寻址,绝对寻址利用16位地址来寻址操作数的存储单元。,绝对寻址有四种类型 : 数据存储器地址(dmad)寻址; 程序存储器地址(pmad)寻址; I/O端口(PA)寻

8、址; *(1k)寻址。,2018年9月24日,DSP技术及应用,23,第3章 TMS320C54x的指令系统,1.数据存储器地址寻址,用于确定操作数存于数据存储单元的地址。,例如,MVKD DATA, * AR5,语法:使用一个程序标号或一个数字来指定数据空间的一个地址。,2018年9月24日,DSP技术及应用,24,第3章 TMS320C54x的指令系统,2.程序存储器地址寻址,用于确定程序存储器中的一个地址。,例如MVPD TABLE, * AR7-,语法:使用一个符号或具体的数字来指定程序空间的一个地址。,程序存储器的 16位地址pmad值,2018年9月24日,DSP技术及应用,25,

9、第3章 TMS320C54x的指令系统,3.端口(PA)寻址,语法:用一个符号或一个数字来确定外部I/O端口的地址,实现对I/O设备的读和写。,例如PORTR FIFO, * AR5,I/O端口地址PA,PORTW * AR2 , BOFO,2018年9月24日,DSP技术及应用,26,第3章 TMS320C54x的指令系统,4. *(1k)寻址,使用一个指定数据空间的地址来确定数据存储器中的一个地址。,例如 LD *(BUFFER), A,注意:*(1k)寻址的指令不能与循环指令(RPT,RPTZ)一起使用。,2018年9月24日,DSP技术及应用,27,第3章 TMS320C54x的指令系

10、统,3.3.3 累加器寻址,累加器中的内容作为地址,用来对存放数据的程序存储器寻址。,例如:READA Smem ;将A中的数据作为地址寻址程序存储器中的数据,并将数据送入Smem指定的数据存储单元。,WRITA Smem ;将Smem指定的数据存储单元中的数据,写入A所指定的程序存储单元。,用途:用于完成程序存储空间与数据存储空间之间的数据传输。,2018年9月24日,DSP技术及应用,28,第3章 TMS320C54x的指令系统,3.3.4 直接寻址,利用数据指针DP和堆栈指针SP寻址。,指令格式:,特点: 指令中只含有数据存储器的低7位地址(偏移地址dmad);, 16位数据存储器地址由

11、基地址(数据页指针DP或堆栈指针SP)和偏移地址(dmad)共同构成。,2018年9月24日,DSP技术及应用,29,第3章 TMS320C54x的指令系统,3.3.4 直接寻址,所要寻址的数据存储器16位地址是由基地址和偏移地址构成。,基地址:, 数据页指针DP(9位); 堆栈指针SP。,当CPL=0时,数据存储器16位地址由DP和偏移地址dmad构成;,当CPL=1时,数据存储器16位地址由SP加偏移地址dmad构成。,2018年9月24日,DSP技术及应用,30,第3章 TMS320C54x的指令系统,地址形成过程:,当CPL=0时,,高9位,低7位,16位数据 存储器地址,2018年9

12、月24日,DSP技术及应用,31,第3章 TMS320C54x的指令系统,地址形成过程:,当CPL=1时,,高9位,低7位,16位数据 存储器地址,SP+dmad,2018年9月24日,DSP技术及应用,32,第3章 TMS320C54x的指令系统,3.3.4 直接寻址,DP地址的范围是从0511(29-1),将存储器分成512页。,直接寻址是由DP值或SP值确定是512页中的哪一页,由dmad确定是该页中的哪一个单元。,7位dmad范围是从0127,每页有128个可以访问的单元。,2018年9月24日,DSP技术及应用,33,第3章 TMS320C54x的指令系统,2018年9月24日,DS

13、P技术及应用,34,第3章 TMS320C54x的指令系统,3.3.4 直接寻址,直接寻址标识: 变量前加,如x; 在偏移量前加,如5。,利用直接寻址可以在不改变DP或SP的情况下,随机寻址128个存储单元中的任何一个单元。,2018年9月24日,DSP技术及应用,35,第3章 TMS320C54x的指令系统,3.3.4 直接寻址,例1:数据存储器存储数据如图所示,采用数据页指针DP直接寻址,完成x,y单元的两个数据求和。,RSBX CPL,LD #3,DP,LD x,A,ADD y,A,;CPL复位 ;立即数3赋给DP ;x单元的数据送入A ;完成x和y单元的数据相加,LD #3,DP,LD

14、 #3,DP,0 0000 0011,LD x,A,LD x,A,111 1111,0 0000 0011,111 1111,01FF,1000,00 0000 1000,01FF,1000,ADD y,A,000 0000,0 0000 0011,000 0000,0180,0001,0001,+,1001,0180,0001,1001,00 0000,ADD y,A,ADD y,A,LD #4,DP,LD #4,DP,RSBX CPL,LD #3,DP,0 0000 0011,LD x,A,111 1111,00 0000 1000,LD #4,DP,0 0000 0100,ADD y,A

15、,000 0000,+,0,0,5,1,00 0000,00 0000 1500,2018年9月24日,DSP技术及应用,36,第3章 TMS320C54x的指令系统,3.1.4 直接寻址,例2:数据存储器存储数据如图所示,利用堆栈指针SP直接寻址,求堆栈中距栈顶两个数x,y的和。,SSBX CPL,LD 1,A,ADD 2,A,;CPL置位 ;x单元的数据送入A ;完成x和y单元的数据相加,SP,x:,y:,SP,x:,y:,SSBX CPL,LD 1,A,x:,0200H,1=0201H,0100,00 0000 0100,0100,x:,ADD 2,A,2=0202H,y:,0050,0,00 0000,5,1,0,+,y:,0050,00 0000 0150,2018年9月24日,DSP技术及应用,37,第3章 TMS320C54x的指令系统,3.3.5 间接寻址,是根据辅助寄存器(AR0AR7)给出的16位地址进行寻址。,每一个辅助寄存器都可以用来寻址64K字数据存储空间中任何一个单元。,两个辅助寄存器算术运算单元(ARAU0和ARAU1) 可以根据辅助寄存器的内容进行操作,完成16位无符号数算术运算。,2018年9月24日,DSP技术及应用,38,第3章 TMS320C54x的指令系统,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号