TMS320C24X寻址方式和指令系统课件.ppt
《TMS320C24X寻址方式和指令系统课件.ppt》由会员分享,可在线阅读,更多相关《TMS320C24X寻址方式和指令系统课件.ppt(69页珍藏版)》请在三一办公上搜索。
1、第3章 TMS320C24X 寻址方式和指令系统,F240X系列DSP芯片采用与TMS320C240相同的核,所以两者的指令系统是相同的。,3.1 寻址方式,F240X指令集采用3种基本的存储器寻址方式:立即寻址方式;直接寻址方式;间接寻址方式。,3.1.1 立即寻址方式,指令中所需的常数作为指令的操作数直接给出。,立即寻址包括:短立即寻址和长立即寻址。,短立即寻址指令:有一个8、9、13位的常数作操作数。短立即寻址指令为一个单指令字,并将常数嵌在该指令中。长立即寻址指令:有一个16位的常数作操作数,所以要求两个指令字。16位常数作为第二条指令发送,常数可以是一个绝对常数也可以是一个二进制补码
2、。,采用短立即寻址的RPT指令,RPT#49;将紧跟RPT指令后的那条指令执行50次。,指令寄存器中的内容:,采用立即寻址的RPT代码 8位常数49,立即操作数作为RPT指令字的一部分。,立即操作数以符号#为前缀。,长立即寻址的 ADD指令,ADD#65534,2;将数据65534左移两位后,再将结果加至累加器。,第一条指令字:,采用长立即寻址的ADD代码 Shift2,第二条指令字:,16位常数65534FFFEh,立即操作数包含在第二条指令字中,指令寄存器顺次接收两个指令字的16位值。,3.1.2 直接寻址方式,在直接寻址方式中,指令寄存器的内容为:,位15-8:用于指示指令类型(例如,A
3、DD)和指令所访问的数据值的移位信息。位7:直接/间接指示符。0表示为直接寻址;1表示为间接寻址。位6-0:指示该指令所访问的数据存储器地址的偏移量。,1.用直接寻址方式产生数据地址,TI公司的TMS320系列芯片将64K的数据存储器分为512页,每页128字称为数据页。,当前数据页由状态寄存器ST0中的9位数据页指针(DP)值决定。,2.使用直接寻址方式,处理器用页指针DP来寻找数据页,用指令寄存器的低7位有效位来寻址该页上的特定地址。,(1)设置数据页:将数据页(0-511)装入DP。,DP可由LDP指令装载,也可由向ST0装载的任何指令来装载DP。LDP指令直接装载DP,并且不影响ST0
4、的其它位。,例:LDP#32;设置当前数据页为32(1000h-107Fh),注意:在任何程序中都要初始化DP。因为上电后不定义DP;复位不初始化DP。,(2)指明偏移量:7位偏移量由指令的操作数提供。,例:如果希望ADD指令取当前数据页的第5个地址处的数据:ADD5H;将当前数据页中偏移量为5h处的数据加至累加器,说明采用直接寻址时,不必每条指令前都要设置数据页。总之,必须保证要访问新的数据页之前改变DP。,3.直接寻址示例,采用直接寻址的ADD指令(移位0至15位),LDP#4;数据页设为4(0200h-027Fh)ADD9H,5;将数据地址0209h处的内容左移5位后加至累加器,采用直接
5、寻址的ADDC指令,LDP#500;数据页设为500(FA00h-FA7Fh)ADDC 8H;数据地址FA08h处内容和进位值(C)被加至累加器,3.1.3 间接寻址方式,8个辅助寄存器(AR0-AR7)为处理器提供间接寻址的16位地址,可以访问64K数据存储器空间的任意单元。,间接寻址操作码格式:指令寄存器的内容,位15-8:指示指令类型(例如,ADD)和指令所访问的数据值的移位信息位7:直接/间接指示符。0表示为直接寻址;1表示为间接寻址。位6-4:辅助寄存器更新代码ARU,决定当前辅助寄存器是否以及如何进行增或减。位3:下一个辅助寄存器指示符N,说明指令是否改变ARP值。N=0,ARP内
6、容保持不变;N=1,下一个辅助寄存器NAR的内容装入ARP。位2-0:下一个辅助寄存器的值,包括下一个辅助寄存器的值。若N=1,则NAR被装入ARP。,2.当前辅助寄存器,通过状态寄存器ST0中的3位辅助寄存器指针(ARP)来指定8个辅助寄存器(AR0AR7)的某一个作为当前辅助寄存器(AR)。,在执行指令的过程中,当前AR的内容作为被访问数据存储器的地址。,ARP可由MAR指令、LST指令或任何支持间接寻址的指令来装载。,3.间接寻址选项,TMS320C24X提供4种间接寻址选项:不增不减;增1或减1;增加或减去索引量;增加或减去索引量且反向进位。,4.修改辅助寄存器内容,用于修改辅助寄存器
7、(AR)内容的特定指令有:LAR、ADRK、SBRK和MAR。LAR指令装载AR;ADRK和SUBRK分别用来从AR中加上或减去一个立即数;MAR指令可使AR值增加/减少1或增加/减少一个索引量。,另外任何支持间接寻址操作数的指令都可修改辅助寄存器。,5.辅助寄存器,除了更新当前辅助寄存器的内容以外,某些指令还可以指明下一个辅助寄存器AR。当本条指令执行完之后,下一个辅助寄存器AR便成为当前辅助寄存器AR。,例:选择新的当前辅助寄存器ARMAR*,AR1;将当前辅助寄存器AR设为AR1LACL*+,AR2;用辅助寄存器AR1所指向的地址中内容装载累加器的低16位,AR1内容加1,使AR2为当前
8、辅助寄存器ARSACL*+;将累加器的低16位存于AR2所指向的地址单元,AR2内容加1。,3.2 指令集,根据指令的功能划分为:,累加器、算数和逻辑指令表;辅助寄存器和数据页指针指令表;TREG、PREG和乘法指令表;转移指令表;控制指令表;I/O和存储器指令表。,指令表符号的意义,ACC累加器。AR当前辅助寄存器。ARX 用于LAR和SAR指令的3位数据值,指定操作的辅助寄存器。BITX4位数值,用于指定数据存储器中的哪一位将被BIT指令所测试。,CM2位数值,CMPR指令执行CM值所声明的比较:若CM=00,测试:(当前AR)=(AR0)?;若CM=01,测试:(当前AR)(AR0)?;
9、若CM=11,测试:(当前AR)(AR0)?。Shift4位移位值。TP用于条件执行指令的2位数值,代表如下4种条件:若BIO引脚为低,则TP=00;若TC位=1,则TP=01;若TC位=0,则TP=10;若无条件,则TP=11。,说明,表中指令按字母顺序排列;表中给出了执行每条指令所需要的周期数;所有指令都假设从内部程序存储器和内部数 据存储器中执行;指令的周期数适用于单指令执行,不适用于重复方式。,3.3 典型指令说明,申明直接寻址时一律认为DP指针已经指向要寻址的数据区,就不用再重新装载DP;而间接寻址时则认为ARP已经指到当前辅助寄存器AR,而也不用再单独声明当前AR的值。,ADD指令
10、,对累加器的加操作指令ADD:将数据存储器单元的数或立即数左移后加至累加器。结果存在累加器中。,移位时,低位填0,高位在SXM1时为符号扩展,在SXM0时填0。,寻址短立即数时,加操作不受SXM的影响,且不能重复执行。,ADD 5,2;(DP=4:20027Fh)将数据存储器单元0205h的内容左移2位之后与ACC相加,结果存在ACCADD*+,2,AR0;(ARP=4,AR4=282)将数据存储器单元282的内容左移2位之后加至ACC,结果存在ACC,指令执行后AR4=283,ARP0ADD#2;短立即数2与ACC相加,结果存在ACCADD#1111h,2;长立即数1111h左移2位后与AC
11、C相加,结果存在ACC,2.AND指令,和累加器逻辑“与”操作指令AND:实现被寻址单元的内容和累加器的逻辑“与”操作,以及长立即数经过移位之后和连接器进行逻辑“与”操作。逻辑“与”操作之后的结果保存在累加器中。,AND 16;(DP4:20027Fh)将数据存储器单元0210h的内容与ACC的内容进行逻辑“与”操作,结果保留在ACC中。AND*;(ARP=0,AR0=301h)将数据存储器单元0301h的内容与ACC的内容进行逻辑“与”操作,结果保留在ACC中。AND#00FFh,4;将立即数0FFh左移4位之后和ACC逻辑“与”,结果保留在ACC中。,3.BANZ指令,辅助寄存器不等于零转
12、移指令BANZ:若当前辅助寄存器内容不为零,则控制转移至指定的程序存储器地址,否则控制转移到下一条指令。当前AR的缺省修改为减1。该指令可用来实现程序的循环执行。,MAR*,AR0;ARP指向AR0。LARAR1,#3;AR1中装入3。LARAR0,#60h;AR0中装入60h。P1 ADD*+,AR1;将AR0所指的数加到ACC,并将AR0的值增1,ARP指向AR1。BANZP1,AR0;若AR10则循环。,BCND指令,条件转移指令BCND:当所规定的条件符合时,控制转移到指定的程序存储器地址。,BCNDP1,LEQ;若ACC的内容小于等于零时,程序转到P1处开始执行。,5.BIT指令,位
13、测试指令BIT:将数据存储器中的指定位的值复制到状态寄存器ST1的TC位。,将该指令和BCND指令结合可判断指定位的状态,并根据该位的状态来控制程序的转移。,BIT0h,15;(DP=6)测试300h处的最低有效位。BCNDP1,TC;若该位为1,则程序转到P1处执行。,BLDD指令,数据存储器至数据存储器间的块传送BLDD:把指定的数据存储器源地址中的字拷贝到指定的数据存储单元目的地址中。,源地址和目的地址可由长立即数地址或数据存储器地址指定。,注意:如果源地址为长立即数,则目的地址只能为直接或间接;如果源地址为直接或间接,则目的地址只能为长立即数。,说明,该指令不能用于存储器映射的寄存器。
14、使用RPT指令重复BLDD操作期间中断被禁止。当BLDD指令重复使用时,由长立即数指定的源(目的)地址保存在PC中,每次重复过程中PC增1,从而可以访问一串源(目的)地址。若使用间接寻址方式来指定目的(源)地址,则在每次重复过程中,可以访问一个新目的(源)地址。若使用直接寻址方式,所指定的源(目的)地址是个常数,在重复过程中不会被修改。,BLDD#300h,20h;(DP=6:300h37Fh)将数据存储器单元300h的内容复制到数据存储器320h。BLDD*+,#321h,AR3;执行前:ARP=2,(AR2)=301h,(301h)=01h,(321h)=0Fh执行后:ARP=3,(AR2
15、)=302h,(301h)=01h,(321h)=01h,CLRC指令,清除控制位指令CLRC:指定的控制位清除为0。,指定的控制位为:C状态寄存器ST1的进位位CNF状态寄存器ST1的RAM配置控制位INTM状态寄存器ST0的中断方式位OVM状态寄存器ST0的溢出方式位SXM状态寄存器ST1的符号扩展方式位TC状态寄存器ST1的测试/控制标志位XF状态寄存器ST1的XF引脚状态位,CLRCTC;将ST1的TC位清零。,注:用LST指令也可装入ST0和ST1寄存器。,IN指令,从端口输入数据指令IN:从一个I/O单元读一个16位值到指定的数据存储器单元。,IN#7,1000h;(DP=6)从端
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TMS320C24X 寻址 方式 指令系统 课件
链接地址:https://www.31ppt.com/p-4009824.html