第第33章章TMS320C54xTMS320C54x的指令系的指令系统统3.1寻址方式3.2TMS320C54x的指令表示方法3.3TMS320C54x的指令系统3.13.1寻址方式寻址方式当硬件执行指令时,寻找指令所指定的当硬件执行指令时,寻找指令所指定的参与运算的操作数的方法——寻址方式。参与运算的操作数的方法——寻址方式。根据程序的要求采用不同的寻址方式,可以根据程序的要求采用不同的寻址方式,可以有效有效地缩短程序的运行时间和提高代码执行效率。地缩短程序的运行时间和提高代码执行效率。3.13.1寻址方式寻址方式’’C54x有7种基本的数据寻址方式:立即寻址绝对寻址累加器寻址直接寻址间接寻址存储器映像寄存器寻址堆栈寻址::由指令提供一个操作数:由指令提供一个操作数地址:以累加器的内容为地址访问程序空间某单元:寻址地址为DP或SP的值加上指令提供的偏移量:利用辅助寄存器访问存储器:用来改变映像寄存器,但不影响DP或SP的值:用来管理系统堆栈中的操作3.1.1立即寻址指令中含有执行指令所需的操作数。操作数紧随操作码存放在程序存储器中。例如:例如:LD#F180HLD#F180H,,AA;;将立即数将立即数F180HF180H加载到加载到AA程序存储器操作码立即数F180立即数的数值形式:立即数的数值形式:①①短立即数。短立即数。33、、55、、88、、99位,单字指位,单字指令;令;②②长立即数。长立即数。1616位,双字指令。位,双字指令。立即数的数值形式:立即数的数值形式:①①短立即数。短立即数。33、、55、、88、、99位,单字指位,单字指令;令;②②长立即数。长立即数。1616位,双字指令。位,双字指令。特点:指令中特点:指令中含有一个固定的立即数含有一个固定的立即数,运行速度,运行速度较快,但需占用程序存储空间,并且数值不能改变。较快,但需占用程序存储空间,并且数值不能改变。用途:用于表示常数或对寄存器初始化。用途:用于表示常数或对寄存器初始化。注意:注意:在立即寻址的指令中在立即寻址的指令中,,应在数值或符号前面加一个应在数值或符号前面加一个““#”,#”,表示是一个立即数表示是一个立即数,,以区别于地址。以区别于地址。3.1.2绝对寻址指令中含有所要寻找的操作数的16位存储单元地址。1616位地址表示形式:位地址表示形式:①①地址标号,如:地址标号,如:TABLETABLE;;②②1616位符号常量,如:位符号常量,如:89AB89AB、、12341234。。1616位地址表示形式:位地址表示形式:①①地址标号,如:地址标号,如:TABLETABLE;;②②1616位符号常量,如:位符号常量,如:89AB89AB、、12341234。。例如:例如:MVKDTABLEMVKDTABLE,,*AR1*AR1;;将数据存储器将数据存储器TABLETABLE为地为地址址的单元数据送入的单元数据送入AR1AR1寄存寄存器器指定的数据存储单元中指定的数据存储单元中LD*(DATA),ALD*(DATA),A;;将将DATADATA指定的数据存储单元指定的数据存储单元中的数据送入累加器中的数据送入累加器AA中中特点:指令中包含一个固定的16位地址,能寻址所有数据存储空间,但运行速度慢,需要较大的存储空间。用途:用于对速度要求较低的场合。用途:用于对速度要求较低的场合。3.1.2绝对寻址绝对寻址是利用16位地址来寻址操作数的存储单元。由于绝对地址代码的位数为16位,所以绝对地址寻址的指令至少应为2个字长。绝对寻址有四种类型:绝对寻址有四种类型:①①数据存储器地址寻址数据存储器地址寻址;;②②程序存储器地址寻址程序存储器地址寻址;;③③端口寻址端口寻址;;④④*(*(lklk))寻址。寻址。绝对寻址有四种类型:绝对寻址有四种类型:①①数据存储器地址寻址数据存储器地址寻址;;②②程序存储器地址寻址程序存储器地址寻址;;③③端口寻址端口寻址;;④④*(*(lklk))寻址。寻址。1.数据存储器地址寻址用于确定操作数存于数据存储单元的地址。例如,将数据存储器例如,将数据存储器EXAM1EXAM1地址单元中的数据复地址单元中的数据复制到制到AR5AR5寄存器所指向的数据存储单元中寄存器所指向的数据存储单元中。。MVKDEXAM1MVKDEXAM1,,*AR5*AR5例如,将数据存储器例如,将数据存储器EXAM1EXAM1地址单元中的数据复地址单元中的数据复制...