第3章 TMS320C54x的指令系统x.ppt
《第3章 TMS320C54x的指令系统x.ppt》由会员分享,可在线阅读,更多相关《第3章 TMS320C54x的指令系统x.ppt(100页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 TMS320C54x的指令系统的指令系统x 3.1 3.1 寻寻址方式址方式 当硬件执行指令时,寻找指令所指定的参与运当硬件执行指令时,寻找指令所指定的参与运当硬件执行指令时,寻找指令所指定的参与运当硬件执行指令时,寻找指令所指定的参与运算的操作数的方法算的操作数的方法算的操作数的方法算的操作数的方法寻址方式。寻址方式。寻址方式。寻址方式。根据程序的要求采用不同的根据程序的要求采用不同的根据程序的要求采用不同的根据程序的要求采用不同的寻寻寻寻址方式,可以址方式,可以址方式,可以址方式,可以有有有有效地缩短程序的运行时间和提高代码执行效率。效地缩短程序的运行时间和提高代码执行效率。效
2、地缩短程序的运行时间和提高代码执行效率。效地缩短程序的运行时间和提高代码执行效率。3.1 3.1 寻寻址方式址方式 C54xC54x有有7 7种基本的数据种基本的数据寻寻址方式:址方式:立即寻址立即寻址 绝对寻址绝对寻址 累加器寻址累加器寻址 直接寻址直接寻址 间接寻址间接寻址 存储器映像存储器映像 寄存器寻址寄存器寻址 堆栈寻址堆栈寻址:由指令提供一个操作数由指令提供一个操作数:由指令提供一个操作数地址由指令提供一个操作数地址 :以累加器的内容为地址访问程序空间某单元以累加器的内容为地址访问程序空间某单元:寻址地址为寻址地址为DPDP或或SPSP的值加上指令提供的偏移量的值加上指令提供的偏移
3、量:利用辅助寄存器访问存储器利用辅助寄存器访问存储器 :用来改变映像寄存器,但不影响用来改变映像寄存器,但不影响DPDP或或SPSP的值的值:用来管理系统堆栈中的操作用来管理系统堆栈中的操作3.1.13.1.1立即寻址立即寻址 指令中含有执行指令所需的操作数。操作数紧随指令中含有执行指令所需的操作数。操作数紧随操作码存放在程序存储器中。操作码存放在程序存储器中。例如:例如:例如:例如:LD#F180HLD#F180H,AA;将立即数将立即数将立即数将立即数F180HF180H加载到加载到加载到加载到A A程序存储器程序存储器操作码操作码立即数立即数F180 立即数的数值形式:立即数的数值形式:
4、立即数的数值形式:立即数的数值形式:立即数的数值形式:立即数的数值形式:短立即数。短立即数。短立即数。短立即数。短立即数。短立即数。3 3 3 3 3 3、5 5 5 5 5 5、8 8 8 8 8 8、9 9 9 9 9 9位,单字指令;位,单字指令;位,单字指令;位,单字指令;位,单字指令;位,单字指令;长立即数。长立即数。长立即数。长立即数。长立即数。长立即数。161616161616位,双字指令。位,双字指令。位,双字指令。位,双字指令。位,双字指令。位,双字指令。特点:指令中特点:指令中特点:指令中特点:指令中含有一个固定的立即数含有一个固定的立即数含有一个固定的立即数含有一个固定的
5、立即数,运行速度,运行速度,运行速度,运行速度较快,但需占用程序存储空间,并且数值不能改变。较快,但需占用程序存储空间,并且数值不能改变。较快,但需占用程序存储空间,并且数值不能改变。较快,但需占用程序存储空间,并且数值不能改变。用途:用于表示常数或对寄存器初始化。用途:用于表示常数或对寄存器初始化。用途:用于表示常数或对寄存器初始化。用途:用于表示常数或对寄存器初始化。注意:注意:注意:注意:在立即寻址的指令中在立即寻址的指令中在立即寻址的指令中在立即寻址的指令中,应在数值或符号前面加一个应在数值或符号前面加一个应在数值或符号前面加一个应在数值或符号前面加一个“#”,“#”,表示是一个立即数
6、表示是一个立即数表示是一个立即数表示是一个立即数,以区别于地址。以区别于地址。以区别于地址。以区别于地址。3.1.23.1.2绝对寻址绝对寻址 指令中含有所要寻找的操作数的指令中含有所要寻找的操作数的1616位存储单元位存储单元地址。地址。161616161616位地址表示形式:位地址表示形式:位地址表示形式:位地址表示形式:位地址表示形式:位地址表示形式:地址标号,如:地址标号,如:地址标号,如:地址标号,如:地址标号,如:地址标号,如:TABLETABLETABLE;16 16 16 16 16 16位符号常量,如:位符号常量,如:位符号常量,如:位符号常量,如:位符号常量,如:位符号常量
7、,如:89AB89AB89AB89AB89AB89AB、123412341234123412341234。例如:例如:例如:例如:MVKD TABLEMVKD TABLEMVKD TABLEMVKD TABLE,*AR1*AR1*AR1*AR1;将数据存储器将数据存储器将数据存储器将数据存储器TABLETABLETABLETABLE为地址为地址为地址为地址 的单元数据送入的单元数据送入的单元数据送入的单元数据送入AR1AR1AR1AR1寄存器寄存器寄存器寄存器 指定的数据存储单元中指定的数据存储单元中指定的数据存储单元中指定的数据存储单元中 LD*(DATA),A LD*(DATA),A LD
8、*(DATA),A LD*(DATA),A ;将将将将DATADATADATADATA指定的数据存储单元指定的数据存储单元指定的数据存储单元指定的数据存储单元 中的数据送入累加器中的数据送入累加器中的数据送入累加器中的数据送入累加器A A A A中中中中 特点:指令中包含一个固定的特点:指令中包含一个固定的1616位地址,能寻位地址,能寻 址所有数据存储空间,但运行速度慢,址所有数据存储空间,但运行速度慢,需要较大的存储空间。需要较大的存储空间。用途:用于对速度要求较低的场合。用途:用于对速度要求较低的场合。用途:用于对速度要求较低的场合。用途:用于对速度要求较低的场合。3.1.23.1.2绝
9、对寻址绝对寻址 绝对寻绝对寻址是利用址是利用1616位地址位地址来寻址操作数的存储单来寻址操作数的存储单元。由于绝对地址代码的位数为元。由于绝对地址代码的位数为1616位,所以绝对地位,所以绝对地址寻址的指令至少应为址寻址的指令至少应为2 2个字长。个字长。绝对寻绝对寻绝对寻绝对寻绝对寻绝对寻址有四种址有四种址有四种址有四种址有四种址有四种类类类类类类型型型型型型 :数据存储器地址寻址数据存储器地址寻址数据存储器地址寻址数据存储器地址寻址数据存储器地址寻址数据存储器地址寻址;程序存储器地址寻址程序存储器地址寻址程序存储器地址寻址程序存储器地址寻址程序存储器地址寻址程序存储器地址寻址;端口寻址端
10、口寻址端口寻址端口寻址端口寻址端口寻址;*(*(*(*(*(*(lklklk)寻址。寻址。寻址。寻址。寻址。寻址。1.1.数据存储器地址寻址数据存储器地址寻址 用于确定操作数存于数据存用于确定操作数存于数据存储单储单元的地址。元的地址。例如,将数据存例如,将数据存例如,将数据存例如,将数据存例如,将数据存例如,将数据存储储储储储储器器器器器器EXAM1EXAM1EXAM1EXAM1EXAM1EXAM1地址地址地址地址地址地址单单单单单单元中的数据复元中的数据复元中的数据复元中的数据复元中的数据复元中的数据复制到制到制到制到制到制到AR5AR5AR5AR5AR5AR5寄存器所指向的数据存寄存器所
11、指向的数据存寄存器所指向的数据存寄存器所指向的数据存寄存器所指向的数据存寄存器所指向的数据存储单储单储单储单储单储单元中元中元中元中元中元中。MVKD EXAM1MVKD EXAM1MVKD EXAM1MVKD EXAM1MVKD EXAM1MVKD EXAM1,*AR5*AR5*AR5*AR5*AR5*AR5 语语语语法:法:法:法:使用一个程序使用一个程序使用一个程序使用一个程序标标标标号或一个数字来指定数号或一个数字来指定数号或一个数字来指定数号或一个数字来指定数 据空据空据空据空间间间间的一个地址。的一个地址。的一个地址。的一个地址。数据存储器的数据存储器的数据存储器的数据存储器的16
12、16位地址位地址位地址位地址2.2.程序存储器地址寻址程序存储器地址寻址 用于确定程序存用于确定程序存储储器中的一个地址。器中的一个地址。例如,将程序存例如,将程序存例如,将程序存例如,将程序存例如,将程序存例如,将程序存储储储储储储器器器器器器TABLETABLETABLETABLETABLETABLE地址地址地址地址地址地址单单单单单单元中的内容复元中的内容复元中的内容复元中的内容复元中的内容复元中的内容复制到制到制到制到制到制到AR2AR2AR2AR2AR2AR2寄存器所指向的数据存寄存器所指向的数据存寄存器所指向的数据存寄存器所指向的数据存寄存器所指向的数据存寄存器所指向的数据存储单储
13、单储单储单储单储单元中元中元中元中元中元中。MVPD TABLEMVPD TABLEMVPD TABLEMVPD TABLEMVPD TABLEMVPD TABLE,*AR2 AR2 AR2 AR2 AR2 AR2 语语语语法:法:法:法:使用一个符号或具体的数字来指定程序使用一个符号或具体的数字来指定程序使用一个符号或具体的数字来指定程序使用一个符号或具体的数字来指定程序 空空空空间间间间的一个地址。的一个地址。的一个地址。的一个地址。程序存储器的程序存储器的程序存储器的程序存储器的1616位地址位地址位地址位地址3.3.端口(端口(PAPA)寻址)寻址 用一个符号或一个数字来确定外部用一个
14、符号或一个数字来确定外部I/O端口的端口的地址。地址。例如,把一个数从端口例如,把一个数从端口例如,把一个数从端口例如,把一个数从端口例如,把一个数从端口例如,把一个数从端口为为为为为为FIFOFIFOFIFO的的的的的的I/OI/OI/O口复制到口复制到口复制到口复制到口复制到口复制到AR5AR5AR5寄存器所指向的数据存储单元中。寄存器所指向的数据存储单元中。寄存器所指向的数据存储单元中。寄存器所指向的数据存储单元中。寄存器所指向的数据存储单元中。寄存器所指向的数据存储单元中。PORTR FIFOPORTR FIFOPORTR FIFOPORTR FIFOPORTR FIFOPORTR F
15、IFO,*AR5 AR5 AR5 AR5 AR5 AR5 I/OI/O端口地址端口地址端口地址端口地址 4.4.*(1k)(1k)寻址寻址 使用一个符号或者一个常数来确定数据存使用一个符号或者一个常数来确定数据存储储器器中的一个地址。中的一个地址。例如,把地址例如,把地址例如,把地址例如,把地址例如,把地址例如,把地址为为为为为为2000H2000H2000H2000H2000H2000H的数据的数据的数据的数据的数据的数据单单单单单单元中的数据装到元中的数据装到元中的数据装到元中的数据装到元中的数据装到元中的数据装到累加器累加器累加器累加器累加器累加器A A A A A A中。中。中。中。中
16、。中。LDLDLDLDLDLD *(*(*(*(*(*(2000H2000H2000H2000H2000H2000H),A A A A A A 注意:注意:*(*(1k)1k)寻址的指令不能与循环指令寻址的指令不能与循环指令(RPT(RPT,RPTZ)RPTZ)一起使用。一起使用。3.1.33.1.3累加器寻址累加器寻址 将累加器的内容作为地址去访问程序存储单元,将累加器的内容作为地址去访问程序存储单元,将累加器的内容作为地址去访问程序存储单元,将累加器的内容作为地址去访问程序存储单元,即将累加器中的内容作为地址,用来对存放数据的程即将累加器中的内容作为地址,用来对存放数据的程即将累加器中的内
17、容作为地址,用来对存放数据的程即将累加器中的内容作为地址,用来对存放数据的程序存储器寻址。序存储器寻址。序存储器寻址。序存储器寻址。例如:例如:例如:例如:READA SmemREADA SmemREADA SmemREADA Smem ;将将将将A A A A中的数据作为地址寻址程序中的数据作为地址寻址程序中的数据作为地址寻址程序中的数据作为地址寻址程序 存储器中的数据,并将数据送存储器中的数据,并将数据送存储器中的数据,并将数据送存储器中的数据,并将数据送 入入入入SmemSmemSmemSmem指定的数据存储单元。指定的数据存储单元。指定的数据存储单元。指定的数据存储单元。WRITA S
18、memWRITA SmemWRITA SmemWRITA Smem ;将将将将SmemSmemSmemSmem指定的数据存储单元中的指定的数据存储单元中的指定的数据存储单元中的指定的数据存储单元中的 数据,写入数据,写入数据,写入数据,写入A A A A所指定的程序存储所指定的程序存储所指定的程序存储所指定的程序存储 单元。单元。单元。单元。用途:用途:用途:用途:用于完成程序存储空间与数据存储空间之用于完成程序存储空间与数据存储空间之用于完成程序存储空间与数据存储空间之用于完成程序存储空间与数据存储空间之间的数据传输。间的数据传输。间的数据传输。间的数据传输。注意:注意:注意:注意:大大大大
19、多多多多数数数数C C C C5454x x x x用用用用A A A A的的的的低低低低1616位位位位作作作作为为为为程程程程序序序序存存存存储储储储器器器器的的的的地地地地址址址址,而而而而 C C C C548548和和和和 C C C C549549是是是是以以以以A A A A的的的的低低低低2323位位位位作作作作为为为为程程程程序序序序存存存存储储储储器器器器地地地地址址址址,C C C C54025402是是是是以以以以A A A A的的的的低低低低2020位位位位作作作作为为为为程程程程序序序序存存存存储储储储器地址;器地址;器地址;器地址;只能使用累加器只能使用累加器只能
20、使用累加器只能使用累加器A A A A寻址程序空间。寻址程序空间。寻址程序空间。寻址程序空间。累累累累加加加加器器器器A A A A用用用用来来来来寻寻寻寻址址址址程程程程序序序序空空空空间间间间。SmemSmemSmemSmem用用用用来来来来寻寻寻寻址址址址数据空间。数据空间。数据空间。数据空间。3.1.43.1.4直接寻址直接寻址 利用数据指利用数据指利用数据指利用数据指针针针针DPDP和堆和堆和堆和堆栈栈栈栈指指指指针针针针SPSP寻寻寻寻址。址。址。址。16 16 16 16位数据存储器地址由基地址位数据存储器地址由基地址位数据存储器地址由基地址位数据存储器地址由基地址(数据数据数据
21、数据 页指针页指针页指针页指针DPDP或堆栈指针或堆栈指针或堆栈指针或堆栈指针SPSP)和偏移地址和偏移地址和偏移地址和偏移地址 (dmaddmad)共同构成。共同构成。共同构成。共同构成。第第第第第第3 3 3 33 3章章章章章章 TMS320C54x TMS320C54x TMS320C54x TMS320C54x TMS320C54x TMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统 指令格式:指令格式:指令格式:指令格式:15 8 7 6 0 操操 作作 码码 I=0 数据存储器地址数据存储器地址(dmad)指令的指令的指令的指令的8 8 8 8位操作
22、码位操作码位操作码位操作码指令的标识符指令的标识符指令的标识符指令的标识符表示指令表示指令表示指令表示指令为为为为直接直接直接直接寻寻寻寻址址址址 数据存数据存数据存数据存储储储储器地址器地址器地址器地址 包含了数据存包含了数据存包含了数据存包含了数据存储储储储器偏移地址器偏移地址器偏移地址器偏移地址 特点:特点:指令中只含有数据存储器的低指令中只含有数据存储器的低指令中只含有数据存储器的低指令中只含有数据存储器的低7 7 7 7位地位地位地位地 址址址址(偏移地址偏移地址偏移地址偏移地址dmaddmad);3.1.43.1.4直接寻址直接寻址 所要寻址的数据存储器所要寻址的数据存储器所要寻址
23、的数据存储器所要寻址的数据存储器16161616位地址是由基地址和偏位地址是由基地址和偏位地址是由基地址和偏位地址是由基地址和偏移地址构成。移地址构成。移地址构成。移地址构成。基地址:基地址:基地址:基地址:数据页指针数据页指针数据页指针数据页指针DP(9DP(9位位);堆栈指针堆栈指针堆栈指针堆栈指针SPSP。当当CPL=0时时,数数据据存存储储器器1616位位地地址址由由DP和和偏偏移移地址地址dmad构成;构成;当当CPL=1时时,数数据据存存储储器器1616位位地地址址由由SP加加偏偏移移地地址址dmad构成。构成。第第第第第第3 3 3 33 3章章章章章章 TMS320C54x T
24、MS320C54x TMS320C54x TMS320C54x TMS320C54x TMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统 地址形成过程:地址形成过程:地址形成过程:地址形成过程:当当CPL=0时,时,直接寻址直接寻址指指 令令158760操作码操作码I=0dmad页指针页指针DP(位于位于ST0中中)9位数据页指针位数据页指针DP9 9位数据页指针位数据页指针位数据页指针位数据页指针DPDP高高9位位dmaddmad低低7位位16161616位数据位数据位数据位数据存储器地址存储器地址存储器地址存储器地址第第第第第第3 3 3 33 3章章章章章章
25、 TMS320C54x TMS320C54x TMS320C54x TMS320C54x TMS320C54x TMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统 地址形成过程:地址形成过程:地址形成过程:地址形成过程:当当CPL=1时,时,直接寻址直接寻址指指 令令158760操作码操作码I=0dmad高高9位位dmaddmad低低7位位16161616位数据位数据位数据位数据存储器地址存储器地址存储器地址存储器地址1616位堆栈指针位堆栈指针位堆栈指针位堆栈指针SPSP堆栈指针堆栈指针堆栈指针堆栈指针SPSPSP+dmadSP+dmad1616位位位位SP+d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 TMS320C54x的指令系统x TMS320C54x 指令系统
限制150内