欢迎来到天天文库
浏览记录
ID:19718205
大小:2.17 MB
页数:74页
时间:2018-10-05
《3 dsp原理与应用教案 指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《DSP原理与应用》教案(3)教学课时:6学时三、TMS320LF240x寻址方式和指令系统3.1寻址方式TMS320LF240x指令集采用3种基本的存储器寻址方式:立即寻址方式、直接寻址方式和间接寻址方式。在立即寻址方式中,指令中所需要的常数作为指令的操作数直接给出。立即寻址方式包括短立即寻址和长立即寻址。在短立即寻址中,指令字包含一个8位、9位或13位的操作数,而长立即寻址采用16位的操作数。当需要访问数据存储器时,用户可采用直接或间接寻址方式。直接寻址方式将指令字的7位与数据存储器页指针(DP)的9位连接起来,形成16
2、位数据存储器地址。间接寻址通过8个16位辅助寄存器访问数据存储器。3.1.1立即寻址方式在立即寻址方式中,指令字中包含指令所需的一个常数。对于短立即寻址,采用短立即寻址的指令将一个8位、9位或13位的常数作为操作数。短立即寻址指令为一个单指令字,并且有一个常数嵌在该指令中。长立即寻址的指令将一个16位常数作为操作数,从而需要两条指令字。该常数作为第2条指令字被发送,该16位值可以是绝对常数或二进制补码。如1:RPT#49;将紧跟RPT指令后的那条指令执行50次。代码是:1011101100110001;前面是RPT指令代码,
3、后面是8位常数=49。如2:ADD#65534,2;将数据65534左移两位后,再将结果加到累加器。代码是:1011111110010010;前面12位是立即寻址的ADD代码,后面是移位数。1111111111111110;是16位常数=65534=FFFEh。3.1.2直接寻址方式在直接寻址方式中,数据存储器地址以128为单位被分成若干块,这些块被称为数据页。64K的数据存储器总共包含512个数据页,标号为0~511,如下表3-1所列。当前数据页由状态寄存器ST0中的9位数据页指针(DP)值决定。除数据页之外,处理器还必须
4、知道该页上被访问的特定单元,这取决于7位偏移量,见表3-1。偏移量由指令寄存器的7位最低有效位提供,指令寄存器中包含将被执行的下一条指令。在直接寻址方式中,指令寄存器的内容为:位15~8用于指示指令类型(例如ADD)和指令所访问的数据值的移位信息。位7直接/间接指示符。0表示直接寻址,1表示间接寻址。位6~0指示该指令所访问的数据存储器地址的偏移量。为了得到一个16位地址,处理器将页指针DP值和指令寄存器中的7位最低有效位连接起来,即页指针DP提供地址的9位高有效位,即页码数;指令寄存器中的7位最低有效位提供地址的7位最低有
5、效位,即偏移量。例如:为访问数据地址0050h,用户须指定DP=000000000和偏移量为1010000,这样将得到16位地址0000000001010000即0050h。因此,用户必须注意,在程序中初始化DP。表3-1数据存储器页DP值偏移量数据存储器0000000000000000
6、1111111第0页:0000h~007Fh0000000010000000
7、1111111第1页:0080h~00FFh0000000100000000
8、1111111第2页:0100h~017Fh
9、
10、
11、1111111110000000
12、
13、1111111第511页:FF80h~FFFFh1、使用直接寻址方式使用直接寻址方式时,处理器用页指针(DP)来寻找数据页,用指令寄存器的低7位有效位来寻址该页上的特定地址。通常做法是:(1)设置数据页将合适的值(0~511)装入DP。DP可由LDP指令装载,也可由向ST0装载的任何指令来装载。LDP指令直接装载DP,并且不影响ST0的其他位。如:LDP#32;设置当前数据页为32(1000h~107Fh)。(2)指明偏移量7位偏移量由指令的操作数提供。例如,如果希望ADD指令取当前数据页的第5个地址处的数据,则应使用如下指
14、令:ADD5h;将当前数据页中偏移量为5h处的数据加到累加器。采用直接寻址时,不必每条指令前都要设置数据页。如果一段代码的所有直接寻址指令都访问同一个数据页,则只需在该段代码的最前面装载一次DP值。总之,必须保证在访问新数据页之前改变DP。2、直接寻址示例例1、采用直接寻址的ADD指令(移位0~15位)LDP#4;数据页设为4(0200h~027Fh)ADD9h,5;将数据地址0209h处的内容左移5位后加到累加器。例2、采用直接寻址的ADDC指令LDP#500;数据页设为500(FA00h~FA7Fh)ADDC8h;数据地
15、址FA08h处的内容和进位值(C)被加到累加器。3.1.3间接寻址方式8个辅助寄存器(AR0~AR7)为处理器提供了强大而灵活的寻址能力,提供间接寻址的16位地址,可以访问64K数据存储器空间的任意单元。1、当前辅助寄存器通过向状态寄存器ST0中的3位辅助寄存器指针(ARP)装入0~7,可
此文档下载收益归作者所有