《[信息与通信]2DSP第二指令系统.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]2DSP第二指令系统.ppt(33页珍藏版)》请在三一办公上搜索。
1、1,第二章TMS320C54X的指令系统,光电学院 乐燕芬Le_,2,内容提要,本章着重介绍助记符指令的分类及基本功能。TMS320C54x的指令表示方法寻址方式 TMS320C54x的指令系统,3,2-1 TMS320C54x的指令表示方法,C54x的助记符指令是由操作码和操作数两部分组成。在进行汇编以前,操作码和操作数都是用助记符表示。,例:LD#0FFh,A;将立即数0FF传送至A,操作码,源操作数,目的操作数,注释,4,2-1 TMS320C54x的指令表示方法,指令系统中的符号和缩略语参见书P98表21LD Smem,SHIFT,dst;单数据存储器操作数,移位后加载累加 器;双字指
2、令,操作码:,A:Smem的存储地址,D:目的累加器位 D=0 dst为累加器A D=1 dst为累加器B,SHIFT:移位数区移位范围:-1615,5,2-2 寻址方式,当硬件执行指令时,寻找指令所指定的参与运算的操作数的方法寻址方式两类寻址方式:数据寻址程序寻址,6,2-2 寻址方式,数据寻址立即寻址:由指令提供一个操作数绝对寻址:由指令提供一个操作数地址累加器寻址:以累加器的内容为地址访问程序空间 某单元直接寻址:寻址地址为DP或SP的值加上指令提供的偏移量间接寻址:利用辅助寄存器访问存储器存储器映像寄存器寻址:用来改变映像寄存器,但不影响DP 或SP的值堆栈寻址;用来管理系统堆栈中的操
3、作,7,数据寻址,2-2 寻址方式,8,2-2 寻址方式,部分寻址缩略语,9,2-2 寻址方式,立即寻址:指令中含有执行指令所需的操作数。操作数紧随操作码存放在程序存储器中例:LD#F180,A;将立即数F180加载到A立即数的数值形式:短立即数-3、5、8、9位,单字指令;长立即数-16位,双字指令。特点:指令中含有一个固定的立即数,运行速度较快,但需占用程序存储空间,并且数值不能改变 用途:表示常数或对寄存器初始化。,10,2-2 寻址方式,绝对寻址指令中含有所要寻找的操作数的16位存储单元地址。16位地址的表示形式:地址标号,如:TABLE 16位符号常量,如:89ABH、1234H特点
4、:指令中包含一个固定的16位地址,能寻址所有数据存储空间,但运行速度慢,需要较大的存储空间用途:用于对速度要求较低的场合,11,2-2 寻址方式,绝对寻址的4种类型:数据存储器地址(dmad)寻址 MVKD EXAM1,*AR5将数据存储器EXAM1地址单元中的数据复制到AR5寄存器所指向的数据存储单元中;EXAM1是一个符号常数,程序存储器地址(pmad)寻址 MVPD TABLE,*AR2 将程序存储器TABLE地址单元中的内容复制到AR2寄存器所指向的数据存储单元中;TABLE是一个地址标号,12,2-2 寻址方式,端口(PA)寻址 PORTR FIFO,*AR5把一个数从端口为FIFO
5、的I/O口复制到AR5寄存器所指向的数据存储单元中;FIFO是I/O端口地址的标号*(1k)寻址 LD*(PN),A把地址为PN的数据单元中的数据装到累加器A中;PN是一个16位无符号常数 注意:*(1k)寻址的指令不能与循环指令(RPT,RPTZ)一起使用,13,2-2 寻址方式,累加器寻址将累加器的内容作为地址去访问程序存储单元(其内容为数据)。READA Smem 将A中的数据作为地址寻址程序存储器中的数据,并将数据送入Smem指定的数据存储单元WRITA Smem 将Smem指定的数据存储单元中的数据,写入A所指定的程序存储单元用途:用于完成程序存储空间与数据存储空间之间的数据传输,1
6、4,2-2 寻址方式,直接寻址利用数据指针DP和堆栈指针SP寻址例:LD x,A特点:指令中只含有数据存储器的低7位地址(偏移地址dma)16位数据存储器地址由基地址(数据页指针DP或堆栈指针SP)和偏移地址(dma)共同构成,15,2-2 寻址方式,ST1中的CPL位决定基址为DP或SPCPL=0 高9位DP+低7位dmaCPL=1 高9位SP+低7位dma特点:允许访问存储器任意基地址中的连续的128个单元主要用于要求运算速度较快的场合采用DP寻址时,要注意数据所在的页面指针。标识变量前加,如 x;在偏移量前加,如 5,16,2-2 寻址方式,例:数据存储器存储数据如图所示,采用数据页指针
7、DP直接寻址,完成x,y单元的两个数据求和,17,2-2 寻址方式,例:数据存储器存储数据如图所示,利用堆栈指针SP直接寻址,求堆栈中距栈顶两个数x,y的和,18,2-2 寻址方式,19,2-2 寻址方式,间接寻址根据辅助寄存器(AR0AR7)给出的16位地址进行寻址单操作数间接寻址方式,20,2-2 寻址方式,21,2-2 寻址方式,22,2-2 寻址方式,23,2-2 寻址方式,分析下面的程序段1.bss a,4.bss x,4.bss y,1 STM#a,AR3 STM#x,AR4 RPTZ A,#3 MAC*AR3+,*AR4+,A STL A,y,课后题:自学循环寻址,并找一段程序分
8、析之;,分析下面的程序段2.bss a,4 table:.word 1,2,3,4.word 8,6,4,2 STM#a,AR1 RPT#7 MVPD table,*AR1+,24,2-2 寻址方式,双操作数寻址完成执行2次读操作或者1次读和1次的并行存储操作(用表示)。这些指令代码都是1个字长,而且只能以间接寻址方式进行操作。例:LD Xmen,dst MAC Ymen,dst,25,2-2 寻址方式,26,2-2 寻址方式,存储器映像寄存器寻址特点:寻址速度快,对MMR执行写操作开销小;可直接利用MMR的名称快速访问数据存储空间的0页资源;只能寻址数据空间的0页单元用途主要用于不改变DP、
9、SP的情况下,修改MMR中的内容,27,2-2 寻址方式,28,2-2 寻址方式,堆栈寻址当发生中断或子程序调用时,用来自动保存PC内容以及保护现场或传送参数C54x的堆栈是向低地址生长,并由16位堆栈指针SP管理。SP总是指向栈顶利用SP指针,按照先进后出的原则进行寻址当进栈操作时,SP先减小,然后数据进入堆栈当出栈操作时,数据先出栈,然后SP增加,29,2-2 寻址方式,30,2-2 寻址方式,31,2-3 指令系统,C54x的指令系统共有129条基本指令,由于操作数的寻址方式不同,由它们可以派生多至205条指令。按功能分数据传送 MVPD pamd,Smen MVPD table,*AR1+算术运算 ADD Smen,src ADD X,A逻辑运算 BITF Smen,#lk BITF y,#0400h 程序控制 BC pman,cond BC next,NTC并行操作 重复操作,32,2-3 指令系统,其他指令参看书附录6 或者参看 TMS320C54x DSP Reference Set Volume 2 Mnemonic Instruction Set Literature Number:SPRU172C,33,Thank you,