第3章39;C54x的指令系统

上传人:人*** 文档编号:587683832 上传时间:2024-09-06 格式:PPT 页数:156 大小:2.41MB
返回 下载 相关 举报
第3章39;C54x的指令系统_第1页
第1页 / 共156页
第3章39;C54x的指令系统_第2页
第2页 / 共156页
第3章39;C54x的指令系统_第3页
第3页 / 共156页
第3章39;C54x的指令系统_第4页
第4页 / 共156页
第3章39;C54x的指令系统_第5页
第5页 / 共156页
点击查看更多>>
资源描述

《第3章39;C54x的指令系统》由会员分享,可在线阅读,更多相关《第3章39;C54x的指令系统(156页珍藏版)》请在金锄头文库上搜索。

1、第第3章章TMS320C54x的指令系统的指令系统内容提要内容提要内容提要内容提要内容提要内容提要 C54xC54xC54x的指令系统包含助记符指令和代数指令两的指令系统包含助记符指令和代数指令两的指令系统包含助记符指令和代数指令两的指令系统包含助记符指令和代数指令两的指令系统包含助记符指令和代数指令两的指令系统包含助记符指令和代数指令两种形式。种形式。种形式。种形式。种形式。种形式。 助记符指令:是一种采用助记符号表示的类似于助记符指令:是一种采用助记符号表示的类似于助记符指令:是一种采用助记符号表示的类似于助记符指令:是一种采用助记符号表示的类似于助记符指令:是一种采用助记符号表示的类似于

2、助记符指令:是一种采用助记符号表示的类似于汇编语言的指令;汇编语言的指令;汇编语言的指令;汇编语言的指令;汇编语言的指令;汇编语言的指令; 代数指令:是一种比汇编语言更高级,类似于高代数指令:是一种比汇编语言更高级,类似于高代数指令:是一种比汇编语言更高级,类似于高代数指令:是一种比汇编语言更高级,类似于高代数指令:是一种比汇编语言更高级,类似于高代数指令:是一种比汇编语言更高级,类似于高级语言的代数形式指令,具有接近汇编语言的特点。级语言的代数形式指令,具有接近汇编语言的特点。级语言的代数形式指令,具有接近汇编语言的特点。级语言的代数形式指令,具有接近汇编语言的特点。级语言的代数形式指令,具

3、有接近汇编语言的特点。级语言的代数形式指令,具有接近汇编语言的特点。 两种指令具有相同的功能。本章着重介绍助记符两种指令具有相同的功能。本章着重介绍助记符两种指令具有相同的功能。本章着重介绍助记符两种指令具有相同的功能。本章着重介绍助记符两种指令具有相同的功能。本章着重介绍助记符两种指令具有相同的功能。本章着重介绍助记符指令的分类及基本功能。指令的分类及基本功能。指令的分类及基本功能。指令的分类及基本功能。指令的分类及基本功能。指令的分类及基本功能。其内容有:其内容有:其内容有:其内容有:其内容有:其内容有: 寻址方式寻址方式寻址方式寻址方式寻址方式寻址方式 TMS320C54xTMS320C

4、54xTMS320C54x的指令表示方法的指令表示方法的指令表示方法的指令表示方法的指令表示方法的指令表示方法 TMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统第第3章章TMS320C54x的指令系统的指令系统3.1寻址方式寻址方式3.2TMS320C54x的指令表示方法的指令表示方法3.3TMS320C54x的指令系统的指令系统第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系

5、统的指令系统的指令系统的指令系统 3.1 3.1 寻址方式寻址方式 当硬件执行指令时,寻找指令所指定的参与运当硬件执行指令时,寻找指令所指定的参与运当硬件执行指令时,寻找指令所指定的参与运当硬件执行指令时,寻找指令所指定的参与运算的操作数的方法算的操作数的方法算的操作数的方法算的操作数的方法寻址方式。寻址方式。寻址方式。寻址方式。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统 3.1 3.1 寻址方式寻址方式 C

6、54xC54x有有7 7种基本的数据寻址方式:种基本的数据寻址方式: 立即寻址立即寻址 绝对寻址绝对寻址 累加器寻址累加器寻址 直接寻址直接寻址 间接寻址间接寻址 存储器映像存储器映像 寄存器寻址寄存器寻址 堆栈寻址堆栈寻址:由指令提供一个操作数由指令提供一个操作数:由指令提供一个操作数地址由指令提供一个操作数地址 :以累加器的内容为地址访问程序空间某单元以累加器的内容为地址访问程序空间某单元:寻址地址为寻址地址为DPDP或或SPSP的值加上指令提供的偏移量的值加上指令提供的偏移量:利用辅助寄存器访问存储器利用辅助寄存器访问存储器 :用来改变映像寄存器,但不影响用来改变映像寄存器,但不影响DP

7、DP或或SPSP的值的值:用来管理系统堆栈中的操作用来管理系统堆栈中的操作第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统部分寻址缩略语部分寻址缩略语部分寻址缩略语部分寻址缩略语 缩略语缩略语缩略语缩略语 含含含含 义义义义SmemSmem16161616位单寻址操作数位单寻址操作数位单寻址操作数位单寻址操作数XmemXmem16161616位位位位双双双双寻寻寻寻址址址址操操操操作作作作数数数数,用用用用于于于于双

8、双双双操操操操作作作作数数数数或或或或部部部部分分分分单单单单操操操操作作作作数数数数指指指指令,从令,从令,从令,从DBDB数据总线上读取数据总线上读取数据总线上读取数据总线上读取YmemYmem16161616位双寻址操作数,用于双操作数指令,从位双寻址操作数,用于双操作数指令,从位双寻址操作数,用于双操作数指令,从位双寻址操作数,用于双操作数指令,从CBCB数据总数据总数据总数据总线上读取线上读取线上读取线上读取dmaddmad16161616位立即数:数据存储器地址(位立即数:数据存储器地址(位立即数:数据存储器地址(位立即数:数据存储器地址(0 0 0 065 53565 53565

9、 53565 535)pmadpmad16161616位立即数:程序存储器地址(位立即数:程序存储器地址(位立即数:程序存储器地址(位立即数:程序存储器地址(0 0 0 065 53565 53565 53565 535)PAPA16161616位立即数:位立即数:位立即数:位立即数:I/OI/O口地址(口地址(口地址(口地址(0 0 0 065 53565 53565 53565 535)srcsrc源累加器(源累加器(源累加器(源累加器(A A或或或或B B)dstdst目的累加器(目的累加器(目的累加器(目的累加器(A A或或或或B B)1k1k16161616位长立即数位长立即数位长立

10、即数位长立即数第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.13.1.1立即寻址立即寻址 指令中含有执行指令所需的操作数。操作数紧随指令中含有执行指令所需的操作数。操作数紧随操作码存放在程序存储器中。操作码存放在程序存储器中。 例如:例如:例如:例如: LD#0F180HLD#0F180H,AA;将立即数将立即数将立即数将立即数F180HF180H加载到加载到加载到加载到A A程序存储程序存储程序存储程序存

11、储器器器器操作码操作码操作码操作码立即数立即数立即数立即数F180F180 立即数的数值形式:立即数的数值形式:立即数的数值形式:立即数的数值形式:立即数的数值形式:立即数的数值形式: 短立即数。短立即数。短立即数。短立即数。短立即数。短立即数。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位,双字指令。位,双字指令。位,双字指令。位,双字指令。位,双字指令。位,双字指令。 特点

12、:指令中特点:指令中特点:指令中特点:指令中含有一个固定的立即数含有一个固定的立即数含有一个固定的立即数含有一个固定的立即数,运行速度,运行速度,运行速度,运行速度较快,但需占用程序存储空间,并且数值不能改变。较快,但需占用程序存储空间,并且数值不能改变。较快,但需占用程序存储空间,并且数值不能改变。较快,但需占用程序存储空间,并且数值不能改变。 用途:用于表示常数或对寄存器初始化。用途:用于表示常数或对寄存器初始化。用途:用于表示常数或对寄存器初始化。用途:用于表示常数或对寄存器初始化。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54

13、xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.23.1.2绝对寻址绝对寻址 指令中含有所要寻找的操作数的指令中含有所要寻找的操作数的1616位存储单元位存储单元地址。地址。 161616161616位地址表示形式:位地址表示形式:位地址表示形式:位地址表示形式:位地址表示形式:位地址表示形式: 地址标号,如:地址标号,如:地址标号,如:地址标号,如:地址标号,如:地址标号,如:TABLETABLETABLE; 16 16 16 16 16 16位符号常量,如:位符号常量,如:位符号常量,如:位符号常量,如:位符

14、号常量,如:位符号常量,如:898989898989ABABABABABAB、123412341234123412341234。 例如:例如:例如:例如: MVKD TABLEMVKD TABLEMVKD TABLEMVKD TABLE,*AR1*AR1*AR1*AR1; ;将数据存储器将数据存储器将数据存储器将数据存储器TABLETABLETABLETABLE为地址为地址为地址为地址 的单元数据送入的单元数据送入的单元数据送入的单元数据送入AR1AR1AR1AR1寄存器寄存器寄存器寄存器 指定的数据存储单元中指定的数据存储单元中指定的数据存储单元中指定的数据存储单元中 LD *(DATA),

15、A LD *(DATA),A LD *(DATA),A LD *(DATA),A ; ; ; ;将将将将DATADATADATADATA指定的数据存储单元指定的数据存储单元指定的数据存储单元指定的数据存储单元 中的数据送入累加器中的数据送入累加器中的数据送入累加器中的数据送入累加器A A A A中中中中 特点:指令中包含一个固定的特点:指令中包含一个固定的1616位地址,能寻位地址,能寻 址所有数据存储空间,但运行速度慢,址所有数据存储空间,但运行速度慢, 需要较大的存储空间。需要较大的存储空间。 用途:用于对速度要求较低的场合。用途:用于对速度要求较低的场合。用途:用于对速度要求较低的场合。

16、用途:用于对速度要求较低的场合。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.23.1.2绝对寻址绝对寻址 绝对寻址是利用绝对寻址是利用1616位地址来寻址操作数的存储位地址来寻址操作数的存储单元。由于绝对地址代码的位数为单元。由于绝对地址代码的位数为1616位,所以绝对位,所以绝对地址寻址的指令至少应为地址寻址的指令至少应为2 2个字长。个字长。 绝对寻址有四种类型绝对寻址有四种类型绝对寻址有四种类型绝对

17、寻址有四种类型绝对寻址有四种类型绝对寻址有四种类型 : 数据存储器地址数据存储器地址数据存储器地址数据存储器地址数据存储器地址数据存储器地址( ( ( ( ( (dmaddmaddmaddmaddmaddmad) ) ) ) ) )寻址寻址寻址寻址寻址寻址; 程序存储器地址程序存储器地址程序存储器地址程序存储器地址程序存储器地址程序存储器地址( ( ( ( ( (pmadpmadpmadpmadpmadpmad) ) ) ) ) )寻址寻址寻址寻址寻址寻址; 端口端口端口端口端口端口( ( ( ( ( (PA)PA)PA)寻址寻址寻址寻址寻址寻址; *( *( *( *( *( *(1 1 1

18、k k k) ) ) ) ) )寻址。寻址。寻址。寻址。寻址。寻址。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.数据存储器地址寻址数据存储器地址寻址 用于确定操作数存于数据存储单元的地址。用于确定操作数存于数据存储单元的地址。 例如,将数据存储器例如,将数据存储器例如,将数据存储器例如,将数据存储器例如,将数据存储器例如,将数据存储器EXAM1EXAM1EXAM1EXAM1EXAM1EXAM1地址单元中

19、的数据复地址单元中的数据复地址单元中的数据复地址单元中的数据复地址单元中的数据复地址单元中的数据复制到制到制到制到制到制到AR5AR5AR5AR5AR5AR5寄存器所指向的数据存储单元中寄存器所指向的数据存储单元中寄存器所指向的数据存储单元中寄存器所指向的数据存储单元中寄存器所指向的数据存储单元中寄存器所指向的数据存储单元中。 MVKD EXAM1MVKD EXAM1MVKD EXAM1MVKD EXAM1MVKD EXAM1MVKD EXAM1, * AR5 * AR5 * AR5 * AR5 * AR5 * AR5 语法:语法:语法:语法:使用一个程序标号或一个数字来指定数使用一个程序标号

20、或一个数字来指定数使用一个程序标号或一个数字来指定数使用一个程序标号或一个数字来指定数 据空间的一个地址。据空间的一个地址。据空间的一个地址。据空间的一个地址。数据存储器的数据存储器的数据存储器的数据存储器的1616位地址位地址位地址位地址dmaddmad值值值值 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统2.2.程序存储器地址寻址程序存储器地址寻址 用于确定程序存储器中的一个地址。用于确定程序存储器中的一个地

21、址。 例如,将程序存储器例如,将程序存储器例如,将程序存储器例如,将程序存储器例如,将程序存储器例如,将程序存储器TABLETABLETABLETABLETABLETABLE地址单元中的内容复地址单元中的内容复地址单元中的内容复地址单元中的内容复地址单元中的内容复地址单元中的内容复制到制到制到制到制到制到AR2AR2AR2AR2AR2AR2寄存器所指向的数据存储单元中寄存器所指向的数据存储单元中寄存器所指向的数据存储单元中寄存器所指向的数据存储单元中寄存器所指向的数据存储单元中寄存器所指向的数据存储单元中。 MVPD TABLEMVPD TABLEMVPD TABLEMVPD TABLEMVP

22、D TABLEMVPD TABLE, * * * * * * AR2 AR2 AR2 AR2 AR2 AR2 语法:语法:语法:语法:使用一个符号或具体的数字来指定程序使用一个符号或具体的数字来指定程序使用一个符号或具体的数字来指定程序使用一个符号或具体的数字来指定程序 空间的一个地址。空间的一个地址。空间的一个地址。空间的一个地址。 程序存储器的程序存储器的程序存储器的程序存储器的1616位地址位地址位地址位地址pmadpmad值值值值 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS3

23、20C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.端口(端口(PAPA)寻址寻址 用一个符号或一个数字来确定外部用一个符号或一个数字来确定外部I/O端口的端口的地址。地址。 例如,把一个数从端口为例如,把一个数从端口为例如,把一个数从端口为例如,把一个数从端口为例如,把一个数从端口为例如,把一个数从端口为FIFOFIFOFIFO的的的的的的I/OI/OI/O口复制到口复制到口复制到口复制到口复制到口复制到AR5AR5AR5寄存器所指向的数据存储单元中。寄存器所指向的数据存储单元中。寄存器所指向的数据存储单元中。寄存器所指向的数据存储单元中。寄存器所指向的数据存储单

24、元中。寄存器所指向的数据存储单元中。 PORTR FIFOPORTR FIFOPORTR FIFOPORTR FIFOPORTR FIFOPORTR FIFO, * * * * * * AR5 AR5 AR5 AR5 AR5 AR5 I/OI/O端口地址端口地址端口地址端口地址PAPA第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统4. 4. * *(1k)(1k)寻址寻址 使用一个指定数据空间的地址来确定数据存储使

25、用一个指定数据空间的地址来确定数据存储器中的一个地址。器中的一个地址。 例如,把地址为例如,把地址为例如,把地址为例如,把地址为例如,把地址为例如,把地址为PNPNPNPNPNPN的数据单元中的数据装到累加的数据单元中的数据装到累加的数据单元中的数据装到累加的数据单元中的数据装到累加的数据单元中的数据装到累加的数据单元中的数据装到累加器器器器器器A A A A A A中。中。中。中。中。中。 LDLDLDLDLDLD *( *( *( *( *( *(PNPNPNPNPNPN) ) ) ) ) ), A A A A A A 语法:语法:语法:语法:允许所有使用单数据存储器允许所有使用单数据存储

26、器( (SmemSmem) )寻址寻址 的指令去访问数据空间的任意单元,而的指令去访问数据空间的任意单元,而 不改变不改变DPDP的值,也不用对的值,也不用对ARXARX进行初始化。进行初始化。 这种寻址可用于支持单数据存储器操作数的指令。这种寻址可用于支持单数据存储器操作数的指令。 注意:注意:*(*(1 1k)k)寻址的指令不能与循环指令寻址的指令不能与循环指令( (RPTRPT,RPTZ)RPTZ)一起使用。一起使用。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的

27、指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.33.1.3累加器寻址累加器寻址 将累加器的内容作为地址去访问程序存储单元,将累加器的内容作为地址去访问程序存储单元,将累加器的内容作为地址去访问程序存储单元,将累加器的内容作为地址去访问程序存储单元,即将累加器中的内容作为地址,用来对存放数据的程即将累加器中的内容作为地址,用来对存放数据的程即将累加器中的内容作为地址,用来对存放数据的程即将累加器中的内容作为地址,用来对存放数据的程序存储器寻址。序存储器寻址。序存储器寻址。序存储器寻址。 例如:例如:例如:例如: READA READA READA READA SmemSmem

28、SmemSmem ; ;将将将将A A A A中的数据作为地址寻址程序中的数据作为地址寻址程序中的数据作为地址寻址程序中的数据作为地址寻址程序 存储器中的数据,并将数据送存储器中的数据,并将数据送存储器中的数据,并将数据送存储器中的数据,并将数据送 入入入入SmemSmemSmemSmem指定的数据存储单元。指定的数据存储单元。指定的数据存储单元。指定的数据存储单元。 WRITA WRITA WRITA WRITA SmemSmemSmemSmem ; ;将将将将SmemSmemSmemSmem指定的数据存储单元中的指定的数据存储单元中的指定的数据存储单元中的指定的数据存储单元中的 数据,写入

29、数据,写入数据,写入数据,写入A A A A所指定的程序存储所指定的程序存储所指定的程序存储所指定的程序存储 单元。单元。单元。单元。 用途:用途:用途:用途:用于完成程序存储空间与数据存储空间之用于完成程序存储空间与数据存储空间之用于完成程序存储空间与数据存储空间之用于完成程序存储空间与数据存储空间之间的数据传输。间的数据传输。间的数据传输。间的数据传输。 注意:注意:注意:注意: 大大大大多多多多数数数数 C C C C5454x x x x用用用用A A A A的的的的低低低低1616位位位位作作作作为为为为程程程程序序序序存存存存储储储储器器器器的的的的地地地地址址址址,而而而而 C

30、C C C548548和和和和 C C C C549549是是是是以以以以A A A A的的的的低低低低2323位位位位作作作作为为为为程程程程序序序序存存存存储储储储器器器器地地地地址址址址, C C C C54025402是是是是以以以以A A A A的的的的低低低低2020位位位位作作作作为为为为程程程程序序序序存存存存储器地址;储器地址;储器地址;储器地址; 上上上上述述述述两两两两条条条条指指指指令令令令重重重重复复复复使使使使用用用用时时时时,累累累累加加加加器器器器A A A A自自自自动动动动增增增增减;减;减;减; 只能使用累加器只能使用累加器只能使用累加器只能使用累加器A

31、A A A寻址程序空间。寻址程序空间。寻址程序空间。寻址程序空间。 累累累累加加加加器器器器A A A A用用用用来来来来寻寻寻寻址址址址程程程程序序序序空空空空间间间间。SmemSmemSmemSmem用用用用来来来来寻寻寻寻址址址址数据空间。数据空间。数据空间。数据空间。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.43.1.4直接寻址直接寻址 利用数据指针利用数据指针利用数据指针利用数据指针DPDP和

32、堆栈指针和堆栈指针和堆栈指针和堆栈指针SPSP寻址。寻址。寻址。寻址。 指令格式:指令格式:指令格式:指令格式:15 15 8 8 7 7 6 6 0 0 操操操操 作作作作 码码码码 I = 0I = 0 数据存储器地址数据存储器地址数据存储器地址数据存储器地址( (dmaddmad) ) 指令的指令的指令的指令的8 8 8 8位操作码位操作码位操作码位操作码指令的标识符指令的标识符指令的标识符指令的标识符表示指令为直接寻址表示指令为直接寻址表示指令为直接寻址表示指令为直接寻址 数据存储器地址数据存储器地址数据存储器地址数据存储器地址 包含了数据存储器偏移地址包含了数据存储器偏移地址包含了数

33、据存储器偏移地址包含了数据存储器偏移地址 特点:特点: 指令中只含有数据存储器的低指令中只含有数据存储器的低指令中只含有数据存储器的低指令中只含有数据存储器的低7 7 7 7位地位地位地位地 址址址址( ( ( (偏移地址偏移地址偏移地址偏移地址dmaddmad) ) ) ); 16 16 16 16位数据存储器地址由基地址位数据存储器地址由基地址位数据存储器地址由基地址位数据存储器地址由基地址( ( ( (数据数据数据数据 页指针页指针页指针页指针DPDP或堆栈指针或堆栈指针或堆栈指针或堆栈指针SPSP) )和偏移地址和偏移地址和偏移地址和偏移地址 ( ( ( (dmaddmad) ) )

34、)共同构成。共同构成。共同构成。共同构成。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.43.1.4直接寻址直接寻址 所要寻址的数据存储器所要寻址的数据存储器所要寻址的数据存储器所要寻址的数据存储器16161616位地址是由基地址和偏位地址是由基地址和偏位地址是由基地址和偏位地址是由基地址和偏移地址构成。移地址构成。移地址构成。移地址构成。 基地址:基地址:基地址:基地址: 数据页指针数据页指针数据页指针

35、数据页指针DP(9DP(9位位) ); 堆栈指针堆栈指针堆栈指针堆栈指针SPSP。 当当CPL=0时时,数数据据存存储储器器1616位位地地址址由由DP和和偏偏移地址移地址dmad构成;构成; 当当CPL=1时时,数数据据存存储储器器1616位位地地址址由由SP加加偏偏移移地址地址dmad构成。构成。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统 地址形成过程:地址形成过程:地址形成过程:地址形成过程:当当CPL=

36、0时,时,直接寻址直接寻址直接寻址直接寻址指指指指 令令令令1581587 76060操作码操作码操作码操作码I=0I=0dmaddmad页指针页指针页指针页指针DPDP( ( ( (位于位于位于位于ST0ST0中中中中) ) ) )9 9位数据页指针位数据页指针位数据页指针位数据页指针DPDP9 9位数据页指针位数据页指针位数据页指针位数据页指针DPDP高高9位位dmaddmad低低7位位16161616位数据位数据位数据位数据存储器地址存储器地址存储器地址存储器地址第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54

37、xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统 地址形成过程:地址形成过程:地址形成过程:地址形成过程:当当CPL=1时,时,直接寻址直接寻址直接寻址直接寻址指指指指 令令令令1581587 76060操作码操作码操作码操作码I=0I=0dmaddmad高高9位位dmaddmad低低7位位16161616位数据位数据位数据位数据存储器地址存储器地址存储器地址存储器地址1616位堆栈指针位堆栈指针位堆栈指针位堆栈指针SPSP堆栈指针堆栈指针堆栈指针堆栈指针SPSPSP+dmadSP+dmad1616位位位位SP+dmadSP+dmad第第第

38、第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.43.1.4直接寻址直接寻址 DPDPDPDP地地地地址址址址的的的的范范范范围围围围是是是是从从从从0 0 0 0 511(2511(2511(2511(29 9 9 9-1)-1)-1)-1),将将将将存存存存储储储储器器器器分分分分成成成成512512512512页。页。页。页。 以以以以DPDP为为为为基基基基准准准准的的的的直直直直接接接接寻寻寻寻址址址址是

39、是是是由由由由DPDPDPDP值值值值确确确确定定定定是是是是512512512512页页页页中中中中的哪一页,由的哪一页,由的哪一页,由的哪一页,由dmaddmaddmaddmad确定是该页中的哪一个单元。确定是该页中的哪一个单元。确定是该页中的哪一个单元。确定是该页中的哪一个单元。 7 7 7 7位位位位dmaddmaddmaddmad范范范范围围围围是是是是从从从从0 0 0 0 127127127127,每每每每页页页页有有有有128128128128个个个个可可可可以以以以访访访访问问问问的单元。的单元。的单元。的单元。 SPSPSPSP可可可可以以以以指指指指向向向向存存存存储储储

40、储器器器器中中中中的的的的任任任任意意意意一一一一个个个个地地地地址址址址。dmaddmaddmaddmad可可可可以以以以指指指指向向向向当当当当前前前前页页页页中中中中具具具具体体体体的的的的单单单单元元元元,从从从从而而而而允允允允许许许许访访访访问问问问存存存存储储储储器器器器任意基地址中的连续的任意基地址中的连续的任意基地址中的连续的任意基地址中的连续的128128128128个单元个单元个单元个单元 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令

41、系统的指令系统的指令系统的指令系统的指令系统3.1.43.1.4直接寻址直接寻址直接寻址标识:直接寻址标识:直接寻址标识:直接寻址标识: 变量前加变量前加变量前加变量前加,如,如,如,如x x; 在偏移量前加在偏移量前加在偏移量前加在偏移量前加,如,如,如,如5 5。 利利利利用用用用直直直直接接接接寻寻寻寻址址址址可可可可以以以以在在在在不不不不改改改改变变变变DPDP或或或或SPSP的的的的情情情情况况况况下下下下,随机寻址随机寻址随机寻址随机寻址128128个存储单元中的任何一个单元。个存储单元中的任何一个单元。个存储单元中的任何一个单元。个存储单元中的任何一个单元。 直接寻址的优点:每

42、条指令只需要一个字。直接寻址的优点:每条指令只需要一个字。直接寻址的优点:每条指令只需要一个字。直接寻址的优点:每条指令只需要一个字。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.43.1.4直接寻址直接寻址 例例例例1 1 1 1:数数数数据据据据存存存存储储储储器器器器存存存存储储储储数数数数据据据据如如如如图图图图所所所所示示示示,采采采采用用用用数数数数据据据据页页页页指指指指针针针针DPDP直接寻

43、址,完成直接寻址,完成直接寻址,完成直接寻址,完成x x,y y单元的两个数据求和。单元的两个数据求和。单元的两个数据求和。单元的两个数据求和。RSBX CPLRSBX CPLRSBX CPLRSBX CPL数据存储器数据存储器数据存储器数据存储器地址地址地址地址数据数据数据数据01800180 00010001. . . . . . .X X X X: :0101FFFF 10001000y y y y: :02000200 05000500. . . . . . .第第第第3 3页页页页第第第第4 4页页页页LD #3,DPLD #3,DPLD #3,DPLD #3,DPLD LD LD

44、LD x,Ax,Ax,Ax,AADD ADD ADD ADD y,Ay,Ay,Ay,A; ; ; ;CPLCPL复位复位; ; ; ;立即数立即数3 3赋给赋给DPDP; ; ; ;x x单元的数据送入单元的数据送入A A; ; ; ;完成完成x x和和y y单元的数单元的数 据相加据相加DPDPdmadmaLD #3,DPLD #3,DPLD #3,DPLD #3,DPLD #3,DPLD #3,DPLD #3,DPLD #3,DP000000011LD LD LD LD x,Ax,Ax,Ax,ALD LD LD LD x,Ax,Ax,Ax,A1111111操作码操作码01111111机器码

45、机器码x 00000001111111110 1 F Fx0101FFFF 10001000A00 0000 10000101FFFF 10001000ADD ADD ADD ADD y,Ay,Ay,Ay,A操作码操作码00000000机器码机器码0000000y 00000001100000001 8 0 0y01800180 000100010180H0001+100101800180 00010001100100 0000ADD ADD ADD ADD y,Ay,Ay,Ay,A00 0000 1001A结果结果结果结果ADD ADD ADD ADD y,Ay,Ay,Ay,ALD LD L

46、D LD x,Ax,Ax,Ax,ALD #3,DPLD #3,DPLD #3,DPLD #3,DPRSBX CPLRSBX CPLRSBX CPLRSBX CPLADD ADD ADD ADD y,Ay,Ay,Ay,ALD #4,DPLD #4,DPLD #4,DPLD #4,DPLD #4,DPLD #4,DPLD #4,DPLD #4,DPRSBX CPLRSBX CPLRSBX CPLRSBX CPLLD #3,DPLD #3,DPLD #3,DPLD #3,DPDPDP000000011LD LD LD LD x,Ax,Ax,Ax,Admadma11111110 1 F FxA00 0

47、000 1000LD #4,DPLD #4,DPLD #4,DPLD #4,DPDPDP000000100ADD ADD ADD ADD y,Ay,Ay,Ay,Admadma00000000 2 0 0y05000200H05000200H+005100 0000 00 0000 150000 0000 1500A结果结果第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.43.1.4直接寻址直接寻址 例例例例2

48、 2 2 2:数数数数据据据据存存存存储储储储器器器器存存存存储储储储数数数数据据据据如如如如图图图图所所所所示示示示,利利利利用用用用堆堆堆堆栈栈栈栈指指指指针针针针S S S SP P直直直直接寻址,求堆栈中距栈顶两个数接寻址,求堆栈中距栈顶两个数接寻址,求堆栈中距栈顶两个数接寻址,求堆栈中距栈顶两个数x x x x,y y y y的和。的和。的和。的和。SSBX CPLSSBX CPLSSBX CPLSSBX CPL数据存储器数据存储器数据存储器数据存储器002000200100010000500050A000A000. . . .LD 1,ALD 1,ALD 1,ALD 1,AADD

49、2,AADD 2,AADD 2,AADD 2,A; ; ; ;CPLCPL置位置位; ; ; ;x x单元的数据送入单元的数据送入A A; ; ; ;完成完成x x和和y y单元的数单元的数 据相加据相加12SPSPx x:y y:SPSPx x:y y:0000001000000000SPSP0000001dmaxdmax0000010dmaydmay0 2 0 1X X地址地址地址地址0 2 0 2y y地址地址地址地址SSBX CPLSSBX CPLSSBX CPLSSBX CPLLD 1,ALD 1,ALD 1,ALD 1,Ax x:02000200HH1=02011=0201HH01

50、000100A00 0000 010000 0000 010001000100x x:ADD 2,AADD 2,AADD 2,AADD 2,A2=02022=0202HHy y:005000500202H0202H005000500 000 000000 00005 51 10 0+y y:0050005000 0000 015000 0000 015000 0000 0150A执行结果执行结果第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指

51、令系统的指令系统的指令系统3.1.43.1.4直接寻址直接寻址直接寻址特点:直接寻址特点:直接寻址特点:直接寻址特点: 所寻址数据存储器的所寻址数据存储器的所寻址数据存储器的所寻址数据存储器的16161616位地址是由位地址是由位地址是由位地址是由DPDP或或或或SPSP 与与与与7 7位偏移地址位偏移地址位偏移地址位偏移地址dmaddmad构成;构成;构成;构成; 可在单周期寻址可在单周期寻址可在单周期寻址可在单周期寻址128128128128个单元;个单元;个单元;个单元; 寻址速度快,能进行流水线并行操作。寻址速度快,能进行流水线并行操作。寻址速度快,能进行流水线并行操作。寻址速度快,能

52、进行流水线并行操作。用途:用途:用途:用途:主要用于要求运算速度较快的场合。主要用于要求运算速度较快的场合。主要用于要求运算速度较快的场合。主要用于要求运算速度较快的场合。注意:注意:注意:注意: 上述两种上述两种直接寻址方式是相互排斥的;直接寻址方式是相互排斥的; 采用采用DP寻址时,要注意数据所在的页面寻址时,要注意数据所在的页面 指针。指针。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.53.1.5间

53、接寻址间接寻址 是根据辅助寄存器是根据辅助寄存器是根据辅助寄存器是根据辅助寄存器( ( ( (AR0AR0AR0AR0 AR7AR7AR7AR7) ) ) )给出的给出的给出的给出的16161616位地址进位地址进位地址进位地址进行寻址。行寻址。行寻址。行寻址。 每一个辅助寄存器都可以用来寻址每一个辅助寄存器都可以用来寻址每一个辅助寄存器都可以用来寻址每一个辅助寄存器都可以用来寻址64646464K K K K字数据存字数据存字数据存字数据存储空间中任何一个单元。储空间中任何一个单元。储空间中任何一个单元。储空间中任何一个单元。 两个辅助寄存器算术运算单元两个辅助寄存器算术运算单元两个辅助寄存

54、器算术运算单元两个辅助寄存器算术运算单元( ( ( (ARAU0ARAU0ARAU0ARAU0和和和和ARAU1ARAU1ARAU1ARAU1) ) ) ) 可以根据辅助寄存器的内容进行操作,完成可以根据辅助寄存器的内容进行操作,完成可以根据辅助寄存器的内容进行操作,完成可以根据辅助寄存器的内容进行操作,完成16161616位无符位无符位无符位无符号数算术运算。号数算术运算。号数算术运算。号数算术运算。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指

55、令系统的指令系统的指令系统的指令系统3.1.53.1.5间接寻址间接寻址1. 1. 1. 1. 单操作数寻址单操作数寻址单操作数寻址单操作数寻址 用来完成存储单元中用来完成存储单元中用来完成存储单元中用来完成存储单元中16161616位单数据的读写操作。位单数据的读写操作。位单数据的读写操作。位单数据的读写操作。 指令格式:指令格式:指令格式:指令格式:15 15 8 8 7 7 6 6 3 3 2 2 0 0 操作码操作码操作码操作码 I I 1 1 MODMOD ARFARF 指令的指令的指令的指令的8 8 8 8位操作码位操作码位操作码位操作码指令的标识符指令的标识符指令的标识符指令的标

56、识符表示指令为间接寻址表示指令为间接寻址表示指令为间接寻址表示指令为间接寻址4 4 4 4位的方式域位的方式域位的方式域位的方式域 用来定义间接寻址的类型用来定义间接寻址的类型用来定义间接寻址的类型用来定义间接寻址的类型3 3 3 3位辅助寄存器域位辅助寄存器域位辅助寄存器域位辅助寄存器域 用来定义所使用的辅助寄存器用来定义所使用的辅助寄存器用来定义所使用的辅助寄存器用来定义所使用的辅助寄存器第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令

57、系统的指令系统的指令系统单操作数间接寻址形式单操作数间接寻址形式单操作数间接寻址形式单操作数间接寻址形式MODMOD域域域域 操作句法操作句法操作句法操作句法功功功功 能能能能说说说说 明明明明00000000 * * * * ARxARx 地址地址地址地址= =ARxARxARxARx ARxARx的内容为数据存储器地址的内容为数据存储器地址的内容为数据存储器地址的内容为数据存储器地址00010001 * * * * ARxARx- - - - 地址地址地址地址= =ARxARxARxARx ARxARxARxARx= =ARx-1ARx-1ARx-1ARx-1 寻址结束后,寻址结束后,寻址

58、结束后,寻址结束后,ARxARx地址减地址减地址减地址减1 1 。 注注注注22 00100010 * * * * ARxARx+ + 地址地址地址地址= =ARxARxARxARx ARxARxARxARx= =ARx+1ARx+1ARx+1ARx+1 寻址结束后,寻址结束后,寻址结束后,寻址结束后,ARxARx地址加地址加地址加地址加1 1。 注注注注11 00110011 * * * * + + + +ARxARx ARxARxARxARx= =ARx+1ARx+1ARx+1ARx+1 地址地址地址地址= =ARxARxARxARx ARxARx中的地址加中的地址加中的地址加中的地址加1

59、 1后,再寻址。后,再寻址。后,再寻址。后,再寻址。 注注注注11、 注注注注22、 注注注注33 01000100 * * * * ARxARx- - - -0 0B B 地址地址地址地址= =ARxARxARxARx ARxARxARxARx= =B(ARx-AR0)B(ARx-AR0)B(ARx-AR0)B(ARx-AR0) 寻址结束后,用位倒序进位的方法从寻址结束后,用位倒序进位的方法从寻址结束后,用位倒序进位的方法从寻址结束后,用位倒序进位的方法从 ARxARx中减去中减去中减去中减去AR0AR0的值。的值。的值。的值。 注注11:寻址:寻址1616位字时增位字时增/ /减量为减量为

60、1 1,3232位字时增位字时增/ /减量为减量为2 2。 注注22:这种方式只能用写操作指令。:这种方式只能用写操作指令。 注注33:这种方式不允许对存储器映像寄存器寻址。:这种方式不允许对存储器映像寄存器寻址。 (AR2)=0100H(0100H)=0030HLD*AR2,A(A)=0030H(AR2)=0100H(AR2)=0100H(0100H)=0030H(0FFH)=200LD*AR2-,ALD*AR2,B(A)=0030H(AR2)=00FFH(B)=200第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C5

61、4xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统单操作数间接寻址形式单操作数间接寻址形式单操作数间接寻址形式单操作数间接寻址形式MODMOD域域域域 操作句法操作句法操作句法操作句法功功功功 能能能能说说说说 明明明明01010101 * * * * ARxARx- - - -0 0 地址地址地址地址= =ARxARxARxARx ARxARxARxARx= =ARx-AR0ARx-AR0ARx-AR0ARx-AR0 寻址结束后寻址结束后寻址结束后寻址结束后, , , ,从从从从ARxARx中减去中减去中减去中减去AR0AR0的值。的值。

62、的值。的值。01100110 * * * * ARxARx+0+0 地址地址地址地址=ARxARx ARxARx= =ARxARx+ +AR0AR0 寻址结束后,把寻址结束后,把寻址结束后,把寻址结束后,把AR0AR0加到加到加到加到ARxARx中。中。中。中。01110111 * * * * ARxARx+0+0B B 地址地址地址地址= =ARxARxARxARx ARxARxARxARx= =B(ARx+AR0)B(ARx+AR0)B(ARx+AR0)B(ARx+AR0) 寻址结束后,用位倒序进位的寻址结束后,用位倒序进位的寻址结束后,用位倒序进位的寻址结束后,用位倒序进位的方法将方法将

63、方法将方法将 AR0AR0加到加到加到加到ARxARx中中中中10001000 * * * * ARxARx- - - -% 地址地址地址地址= =ARxARxARxARx ARxARxARxARx= =Circ(ARx-1)Circ(ARx-1)Circ(ARx-1)Circ(ARx-1)寻址结束后,寻址结束后,寻址结束后,寻址结束后,ARxARx中的地址值中的地址值中的地址值中的地址值按循环减的方法减按循环减的方法减按循环减的方法减按循环减的方法减1 1。 注注注注11 10011001 * * * * ARxARx- - - -0%0% 地址地址地址地址= =ARxARxARxARx A

64、RxARxARxARx= =Circ(ARx-AR0)Circ(ARx-AR0)Circ(ARx-AR0)Circ(ARx-AR0) 寻址结束后,按循环减的方法寻址结束后,按循环减的方法寻址结束后,按循环减的方法寻址结束后,按循环减的方法从从从从ARxARx中减去中减去中减去中减去AR0AR0中的值中的值中的值中的值 注注11:寻址:寻址1616位字时增位字时增/ /减量为减量为1 1,3232位字时增位字时增/ /减量为减量为2 2。(AR2)=0100H(AR0)=0002H(0100H)=0030H(0101H)=100(0102H)=200LD*AR2+0,ALD*AR2,B(A)=0

65、030H(AR2)=0102H(B)=200第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统单操作数间接寻址形式单操作数间接寻址形式单操作数间接寻址形式单操作数间接寻址形式 MODMOD域域域域 操作句法操作句法操作句法操作句法功功功功 能能能能说说说说 明明明明10101010 * * * * ARxARx+%+% 地址地址地址地址= =ARxARxARxARx ARxARxARxARx= =Circ(ARx+1)

66、Circ(ARx+1)Circ(ARx+1)Circ(ARx+1)寻址结束后,寻址结束后,寻址结束后,寻址结束后,ARxARx中的地址值按中的地址值按中的地址值按中的地址值按循环加的方法加循环加的方法加循环加的方法加循环加的方法加1 1。 注注注注11 10111011 * * * * ARxARx+0%+0% 地址地址地址地址= = = =ARxARxARxARx ARxARxARxARx=Circ(ARx+AR0)=Circ(ARx+AR0)=Circ(ARx+AR0)=Circ(ARx+AR0) 寻址结束后,按循环加的方法将寻址结束后,按循环加的方法将寻址结束后,按循环加的方法将寻址结束

67、后,按循环加的方法将AR0AR0中的值加到中的值加到中的值加到中的值加到ARxARx。 11001100 * * * * ARxARx( ( ( (lklk) ) 地址地址地址地址= = = =ARx+lkARx+lkARx+lkARx+lk ARxARxARxARx= = = =ARxARxARxARx以以以以ARxARx与与与与1616位数之和作为地址,位数之和作为地址,位数之和作为地址,位数之和作为地址,寻址结束后,寻址结束后,寻址结束后,寻址结束后,ARxARx中的值不变。中的值不变。中的值不变。中的值不变。 11011101 * * * *+ARxARx( ( ( (lklk) )

68、地址地址地址地址= =ARx+lkARx+lkARx+lkARx+lk ARxARxARxARx= =ARx+lkARx+lkARx+lkARx+lk将一个将一个将一个将一个1616位带符号数加到位带符号数加到位带符号数加到位带符号数加到ARxARx,然后寻址。然后寻址。然后寻址。然后寻址。 注注注注3311101110 * * * * ARxARx( ( ( (lklk) ) ) )% 地址地址地址地址= =Circ(ARx+lkCirc(ARx+lkCirc(ARx+lkCirc(ARx+lk) ) ) ) ARxARxARxARx= =Circ(ARx+lkCirc(ARx+lkCirc

69、(ARx+lkCirc(ARx+lk) ) ) ) 将一个将一个将一个将一个1616位带符号数按循环加的位带符号数按循环加的位带符号数按循环加的位带符号数按循环加的方法加至方法加至方法加至方法加至ARxARx,然后再寻址然后再寻址然后再寻址然后再寻址11111111 * * * * ( ( ( (lklk) ) ) ) 地址地址地址地址= =( ( ( (lklklklk) ) ) )利用利用利用利用1616位无符号数作为地址位无符号数作为地址位无符号数作为地址位无符号数作为地址, , , ,寻寻寻寻址数据存储器址数据存储器址数据存储器址数据存储器 注注33:这种方式不允许对存储器映像寄存器寻

70、址。:这种方式不允许对存储器映像寄存器寻址。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统特殊的间接寻址功能:特殊的间接寻址功能:特殊的间接寻址功能:特殊的间接寻址功能: 在存储器中设置一个缓冲区作为滑动窗,来保在存储器中设置一个缓冲区作为滑动窗,来保在存储器中设置一个缓冲区作为滑动窗,来保在存储器中设置一个缓冲区作为滑动窗,来保存最新的一批数据,并用新的数据覆盖旧的数据,存最新的一批数据,并用新的数据覆盖旧的数

71、据,存最新的一批数据,并用新的数据覆盖旧的数据,存最新的一批数据,并用新的数据覆盖旧的数据,实现循环寻址。实现循环寻址。实现循环寻址。实现循环寻址。 循环缓冲区的长度循环缓冲区的长度R R,由循环缓冲区长度寄存器由循环缓冲区长度寄存器BKBK确定,可通过指令设定。确定,可通过指令设定。1. 1. 1. 1. 单操作数寻址单操作数寻址单操作数寻址单操作数寻址 (1) (1) (1) (1) 循环寻址循环寻址循环寻址循环寻址 其指令:其指令:其指令:其指令: STM #1KSTM #1KSTM #1KSTM #1K,BKBKBKBK ;将立即数将立即数将立即数将立即数1 1 1 1K K K K存

72、放存放存放存放BKBKBKBK中中中中第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统 长度为长度为长度为长度为R R R R的缓冲区必须从的缓冲区必须从的缓冲区必须从的缓冲区必须从N N N N位地址的边界开始,位地址的边界开始,位地址的边界开始,位地址的边界开始,即循环缓冲区基地址的即循环缓冲区基地址的即循环缓冲区基地址的即循环缓冲区基地址的N N N N个最低有效位必须为个最低有效位必须为个最低有效位必须为个最

73、低有效位必须为0 0 0 0。 N N N N应满足:应满足:应满足:应满足:(1) (1) (1) (1) 循环寻址循环寻址循环寻址循环寻址 2 2NNRR的最小整数的最小整数的最小整数的最小整数 例如:缓冲区长度例如:缓冲区长度例如:缓冲区长度例如:缓冲区长度R=32R=32R=32R=32, ,若若若若2 2 2 2N N N N32323232, ,则则则则N=6N=6N=6N=6。 缓冲区开始的地址:缓冲区开始的地址:缓冲区开始的地址:缓冲区开始的地址:xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx xx00 0000 xx00 0000 xx00 0000 xx

74、00 0000B B B B 缓冲区长度缓冲区长度缓冲区长度缓冲区长度R=32R=32R=32R=32装入装入装入装入循环缓冲长度寄存器循环缓冲长度寄存器循环缓冲长度寄存器循环缓冲长度寄存器BKBKBKBK中。中。中。中。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(1) (1) (1) (1) 循环寻址循环寻址循环寻址循环寻址 循循循循环环环环寻寻寻寻址址址址通通通通常常常常是是是是指指指指定定定定一一一一个

75、个个个辅辅辅辅助助助助寄寄寄寄存存存存器器器器ARxARxARxARx指指指指向向向向循循循循环缓冲区;环缓冲区;环缓冲区;环缓冲区; 循循循循环环环环缓缓缓缓冲冲冲冲区区区区的的的的有有有有效效效效基基基基地地地地址址址址( ( ( (EFB)EFB)EFB)EFB)就就就就是是是是用用用用户户户户指指指指定定定定的的的的辅助寄存器辅助寄存器辅助寄存器辅助寄存器( ( ( (ARxARxARxARx) )的低的低的低的低N N N N位置位置位置位置0 0 0 0后所得到的值;后所得到的值;后所得到的值;后所得到的值; 循循循循环环环环缓缓缓缓冲冲冲冲区区区区的的的的尾尾尾尾基基基基地地地地

76、址址址址( ( ( (EOBEOBEOBEOB) ) ) )是是是是通通通通过过过过用用用用BKBKBKBK的的的的低低低低N N N N代替代替代替代替ARxARxARxARx的低的低的低的低N N N N位得到;位得到;位得到;位得到; 循循循循环环环环寻寻寻寻址址址址的的的的步步步步长长长长( ( ( (stepstepstepstep) ) ) )就就就就是是是是加加加加到到到到辅辅辅辅助助助助寄寄寄寄存存存存器器器器ARxARxARxARx或从辅助寄存器或从辅助寄存器或从辅助寄存器或从辅助寄存器ARxARxARxARx中减去的值。中减去的值。中减去的值。中减去的值。第第第第第第3 3

77、 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(1) (1) (1) (1) 循环寻址循环寻址循环寻址循环寻址循环寻址的算法:循环寻址的算法:循环寻址的算法:循环寻址的算法:If 0 If 0 偏移量偏移量偏移量偏移量+步长步长步长步长 BKBK; 偏移量偏移量偏移量偏移量= = = =偏移量偏移量偏移量偏移量+ + + +步长;步长;步长;步长;ElseElse if if 偏移量偏移量偏移量偏移量+步长步长步长步长 BKBK;

78、偏移量偏移量偏移量偏移量= = = =偏移量偏移量偏移量偏移量+ + + +步长步长步长步长- - - -BKBK;ElseElse if if 偏移量偏移量偏移量偏移量+步长步长步长步长 0 0; 偏移量偏移量偏移量偏移量= = = =偏移量偏移量偏移量偏移量+ + + +步长步长步长步长+ + + +BKBK;注意:注意:注意:注意: 步长小于步长小于步长小于步长小于BKBK,其大小与所用指令有关其大小与所用指令有关其大小与所用指令有关其大小与所用指令有关; 若若若若步步步步长长长长为为为为正正正正,进进进进行行行行循循循循环环环环加加加加寻寻寻寻址址址址;否否否否则则则则进行循环减寻址;

79、进行循环减寻址;进行循环减寻址;进行循环减寻址; 若若若若BKBKBKBK=0=0=0=0,则则则则为为为为不不不不作作作作修修修修正正正正的的的的辅辅辅辅助助助助寄寄寄寄存存存存器器器器间间间间接寻址。接寻址。接寻址。接寻址。 例:例:例:例:STM #007H,BKSTM #007H,BK STM #03FDH,AR1 STM #03FDH,AR1 LD LD*AR1+%,A *AR1+%,A 起始地址:起始地址:起始地址:起始地址:循环末地址:循环末地址:循环末地址:循环末地址:循环寻址过程:循环寻址过程:循环寻址过程:循环寻址过程: 03F8H03F8H 0303FEHFEH1 1)1

80、 1、2 2、3 3、4 4、5 5、6 6、7 72 2)2 2、3 3、4 4、5 5、6 6、7 7、1 103F8H03F8H03F9H03F9H2 203FAH03FAH3 303FBH03FBH4 403FCH03FCH5 503FDH03FDH6 603FEH03FEH7 781第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1. 1. 1. 1. 单操作数寻址单操作数寻址单操作数寻址单操作数寻址 (2

81、 2 2 2)位倒序寻址)位倒序寻址)位倒序寻址)位倒序寻址 用于快速傅氏变换算法用于快速傅氏变换算法用于快速傅氏变换算法用于快速傅氏变换算法FFTFFT。 位位位位码码码码顺顺顺顺序序序序寻寻寻寻址址址址:按按按按照照照照二二二二进进进进制制制制递递递递增增增增规规规规律律律律寻寻寻寻址址址址。如:如:如:如:0000000000000000,0001000100010001,0010001000100010,0011001100110011,1111111111111111。如:如:如:如:0000000000000000,1000100010001000,0100010001000100

82、,1100110011001100,1111111111111111。 位位位位码码码码倒倒倒倒序序序序寻寻寻寻址址址址:根根根根据据据据二二二二进进进进制制制制递递递递增增增增码码码码,按按按按其其其其位位位位码倒序的规律进行寻址。码倒序的规律进行寻址。码倒序的规律进行寻址。码倒序的规律进行寻址。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(2 2 2 2)位倒序寻址)位倒序寻址)位倒序寻址)位倒序寻址 位码顺

83、序和倒序对照表位码顺序和倒序对照表位码顺序和倒序对照表位码顺序和倒序对照表序号序号序号序号位码顺序位码顺序位码顺序位码顺序寻寻寻寻 址址址址位码倒序位码倒序位码倒序位码倒序寻寻寻寻 址址址址序号序号序号序号位码顺序位码顺序位码顺序位码顺序寻寻寻寻 址址址址位码倒序位码倒序位码倒序位码倒序寻寻寻寻 址址址址0 000000000000000008 810001000000100011 100010001100010009 910011001100110012 20010001001000100101010101010010101013 300110011110011001111101110111

84、10111014 40100010000100010121211001100001100115 50101010110101010131311011101101110116 60110011001100110141411101110011101117 7011101111110111015151111111111111111第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统位码倒序寻址位码倒序寻址位码倒序寻址位码倒序寻

85、址存储单元地址存储单元地址存储单元地址存储单元地址变换结果变换结果变换结果变换结果位码倒序寻址位码倒序寻址位码倒序寻址位码倒序寻址位码倒序寻址结果位码倒序寻址结果位码倒序寻址结果位码倒序寻址结果00000000X(0)X(0)00000000X(0)X(0)00010001X(8)X(8)10001000X(1)X(1)00100010X(4)X(4)01000100X(2)X(2)00110011X(12)X(12)11001100X(3)X(3)01000100X(2)X(2)00100010X(4)X(4)01010101X(10)X(10)10101010X(5)X(5)0110011

86、0X(6)X(6)01100110X(6)X(6)01110111X(14)X(14)11101110X(7)X(7)10001000X(1)X(1)00010001X(8)X(8)10011001X(9)X(9)10011001X(9)X(9)10101010X(5)X(5)01010101X(10)X(10)10111011X(13)X(13)11011101X(11)X(11)11001100X(3)X(3)00110011X(12)X(12)11011101X(11)X(11)10111011X(13)X(13)11101110X(7)X(7)01110111X(14)X(14)111

87、11111X(15)X(15)11111111X(15)X(15)第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(2 2 2 2)位倒序寻址)位倒序寻址)位倒序寻址)位倒序寻址 实现过程实现过程实现过程实现过程: : : : 根据根据根据根据FFTFFT算法进行转换,按转换顺序将算法进行转换,按转换顺序将算法进行转换,按转换顺序将算法进行转换,按转换顺序将 X(0)X(0)、X(8) X(8) 、X(4)X(4)、

88、 X(15) X(15)的转换的转换的转换的转换 结果存入数据存储器。结果存入数据存储器。结果存入数据存储器。结果存入数据存储器。 按照位码倒序的方法寻址,可将乱序按照位码倒序的方法寻址,可将乱序按照位码倒序的方法寻址,可将乱序按照位码倒序的方法寻址,可将乱序 的转换结果进行整序输出。的转换结果进行整序输出。的转换结果进行整序输出。的转换结果进行整序输出。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(2 2 2

89、2)位倒序寻址)位倒序寻址)位倒序寻址)位倒序寻址 实现方法:实现方法:实现方法:实现方法: 设设设设AR2AR2AR2AR2=01100000=01100000=01100000=01100000,作为基地址,指向作为基地址,指向作为基地址,指向作为基地址,指向X(0)X(0)X(0)X(0) 的存储单元的存储单元的存储单元的存储单元。 设设设设AR0AR0AR0AR0=00001000=00001000=00001000=00001000,取取取取FFTFFT长度的一半。长度的一半。长度的一半。长度的一半。 程序:程序:程序:程序: RPTRPTRPTRPT #15 #15 #15 #15

90、 ; ; ; ;重复执行下条指令重复执行下条指令重复执行下条指令重复执行下条指令16161616次次次次 PORTWPORTWPORTWPORTW * * * *ARARARAR2+02+02+02+0B B B B,PAPAPAPA ; ; ; ;采用位码倒序的间接寻采用位码倒序的间接寻采用位码倒序的间接寻采用位码倒序的间接寻 址址址址, , , ,向向向向PAPAPAPA口输出数据口输出数据口输出数据口输出数据 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的

91、指令系统的指令系统的指令系统的指令系统的指令系统3.1.53.1.5间接寻址间接寻址2. 2. 2. 2. 双操作数寻址双操作数寻址双操作数寻址双操作数寻址 用用用用于于于于完完完完成成成成执执执执行行行行2 2 2 2次次次次读读读读操操操操作作作作或或或或者者者者1 1 1 1次次次次读读读读和和和和1 1 1 1次次次次的的的的并并并并行行行行存存存存储储储储操操操操作作作作(用用用用表表表表示示示示)。这这这这些些些些指指指指令令令令代代代代码码码码都都都都是是是是1 1 1 1个个个个字字字字长长长长,而且只能以间接寻址方式进行操作。而且只能以间接寻址方式进行操作。而且只能以间接寻址

92、方式进行操作。而且只能以间接寻址方式进行操作。 两个数据存储器操作数由两个数据存储器操作数由两个数据存储器操作数由两个数据存储器操作数由XmemXmemXmemXmem和和和和YmemYmemYmemYmem表示表示表示表示。 XmemXmemXmemXmem:读操作数;读操作数;读操作数;读操作数; YmemYmemYmemYmem: 在两次读操作的指令中在两次读操作的指令中在两次读操作的指令中在两次读操作的指令中, , , ,表示一个读操作数;表示一个读操作数;表示一个读操作数;表示一个读操作数; 在一次读和一次写的指令中,表示写操作数。在一次读和一次写的指令中,表示写操作数。在一次读和一

93、次写的指令中,表示写操作数。在一次读和一次写的指令中,表示写操作数。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统2. 2. 2. 2. 双操作数寻址双操作数寻址双操作数寻址双操作数寻址 用用用用于于于于完完完完成成成成执执执执行行行行2 2 2 2次次次次读读读读操操操操作作作作或或或或者者者者1 1 1 1次次次次读读读读和和和和1 1 1 1次次次次的的的的并并并并行行行行存存存存储储储储操操操操作作作作。

94、这这这这些些些些指指指指令令令令代代代代码码码码都都都都是是是是1 1 1 1个个个个字字字字长长长长,而而而而且且且且只只只只能能能能以以以以间接寻址方式进行操作。间接寻址方式进行操作。间接寻址方式进行操作。间接寻址方式进行操作。 指令格式:指令格式:指令格式:指令格式:15 15 8 8 7 67 6 5 45 4 3 23 2 1 01 0 操操操操 作作作作 码码码码 XmodXmod XarXar YmodYmod YarYar 指令的指令的指令的指令的8 8 8 8位操作码位操作码位操作码位操作码用来定义用来定义用来定义用来定义XmemXmemXmemXmem操作数操作数操作数操作

95、数间接寻址方式的类型间接寻址方式的类型间接寻址方式的类型间接寻址方式的类型用来定义存储用来定义存储用来定义存储用来定义存储XmemXmemXmemXmem地址的辅助寄存器地址的辅助寄存器地址的辅助寄存器地址的辅助寄存器用来定义用来定义用来定义用来定义YmemYmemYmemYmem操作数操作数操作数操作数间接寻址方式的类型间接寻址方式的类型间接寻址方式的类型间接寻址方式的类型用来定义存储用来定义存储用来定义存储用来定义存储YmemYmemYmemYmem地址的辅助寄存器地址的辅助寄存器地址的辅助寄存器地址的辅助寄存器第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS32

96、0C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统2. 2. 2. 2. 双操作数寻址双操作数寻址双操作数寻址双操作数寻址 双操作数间接寻址的类型双操作数间接寻址的类型双操作数间接寻址的类型双操作数间接寻址的类型 XmodXmod、YmodYmod操作码语法操作码语法操作码语法操作码语法功功功功 能能能能 说说说说 明明明明 0 00 0* * * * ARxARx地址地址地址地址= =ARxARxARxARx中的内容是中的内容是中的内容是中的内容是数据存储器地址数据存储器地址数据存储器地址数据

97、存储器地址 0 10 1* * * * ARxARx- -地址地址地址地址= =ARxARxARxARx=ARx-1=ARx-1寻址后,寻址后,寻址后,寻址后,ARxARx的的的的地址减地址减地址减地址减1 1 1 1 1 01 0* * * * ARxARx+地址地址地址地址= =ARxARxARxARx=ARx+1=ARx+1寻址后,寻址后,寻址后,寻址后,ARxARx的的的的地址加地址加地址加地址加1 1 1 1 1 11 1* * * * ARx+0%ARx+0%地址地址地址地址= =ARxARxARxARx=circ(ARx+AR0=circ(ARx+AR0) )寻址后,寻址后,寻址

98、后,寻址后,AR0AR0以以以以循环寻址方式加循环寻址方式加循环寻址方式加循环寻址方式加到到到到ARxARx中去中去中去中去 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统2. 2. 2. 2. 双操作数寻址双操作数寻址双操作数寻址双操作数寻址 在在在在指指指指令令令令中中中中,由由由由于于于于只只只只有有有有2 2位位位位可可可可以以以以用用用用于于于于选选选选择择择择辅辅辅辅助助助助寄寄寄寄存存存存器,所以根据

99、器,所以根据器,所以根据器,所以根据XarXar或或或或YarYar的值可以选择的值可以选择的值可以选择的值可以选择4 4 4 4个寄存器个寄存器个寄存器个寄存器。XarXar和和和和YarYar域选择的辅助寄存器域选择的辅助寄存器域选择的辅助寄存器域选择的辅助寄存器XarXar、YarYar辅助寄存器辅助寄存器辅助寄存器辅助寄存器0 00 00 10 11 01 01 11 1AR2AR2AR3AR3AR4AR4AR5AR5第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的

100、指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.63.1.63.1.63.1.6 存储器映像寄存器寻址存储器映像寄存器寻址存储器映像寄存器寻址存储器映像寄存器寻址 是一种不考虑是一种不考虑是一种不考虑是一种不考虑DPDPDPDP和和和和SPSPSPSP为何值,以为何值,以为何值,以为何值,以0 0 0 0为基地址来访为基地址来访为基地址来访为基地址来访问问问问MMRMMRMMRMMR的寻址方式。的寻址方式。的寻址方式。的寻址方式。 主要主要主要主要用于修改存储器映像寄存器的用于修改存储器映像寄存器的用于修改存储器映像寄存器的用于修改存储器映像寄存器的内容。内容。内容。内容。

101、1.1.采用直接寻址方式采用直接寻址方式2.2.采用间接寻址方式采用间接寻址方式 高高高高9 9 9 9位位位位数数数数据据据据存存存存储储储储器器器器地地地地址址址址置置置置0 0 0 0,利利利利用用用用指指指指令令令令中中中中的的的的低低低低7 7 7 7位地址直接访问位地址直接访问位地址直接访问位地址直接访问MMRMMRMMRMMR。 高高高高9 9 9 9位位位位数数数数据据据据存存存存储储储储器器器器地地地地址址址址置置置置0 0 0 0,按按按按照照照照当当当当前前前前辅辅辅辅助助助助寄寄寄寄存存存存器器器器ARxARxARxARx的低的低的低的低7 7 7 7位地址访问位地址访

102、问位地址访问位地址访问MMRMMRMMRMMR。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.63.1.63.1.63.1.6 存储器映像寄存器寻址存储器映像寄存器寻址存储器映像寄存器寻址存储器映像寄存器寻址 C54xC54xC54xC54x共有共有共有共有8 8 8 8条指令可以进行条指令可以进行条指令可以进行条指令可以进行MMRMMRMMRMMR寻址。寻址。寻址。寻址。 LDM LDM LDM LDM

103、 MMRMMRMMRMMR,dstdstdstdst ; ; ; ;将将将将MMRMMRMMRMMR加载到累加器加载到累加器加载到累加器加载到累加器 MVDM MVDM MVDM MVDM dmaddmaddmaddmad,MMRMMRMMRMMR ; ; ; ;数据存储器向数据存储器向数据存储器向数据存储器向MMRMMRMMRMMR传送数据传送数据传送数据传送数据 MVMD MVMD MVMD MVMD MMRMMRMMRMMR,dmaddmaddmaddmad ; ; ; ;MMRMMRMMRMMR向指定地址传送数据向指定地址传送数据向指定地址传送数据向指定地址传送数据 MVMM MVMM

104、 MVMM MVMM MMRxMMRxMMRxMMRx,MMRyMMRyMMRyMMRy ; ; ; ;MMRxMMRxMMRxMMRx向向向向MMRyMMRyMMRyMMRy传送数据传送数据传送数据传送数据 POPM MMRPOPM MMRPOPM MMRPOPM MMR ; ; ; ;将数据从栈顶弹至将数据从栈顶弹至将数据从栈顶弹至将数据从栈顶弹至MMRMMRMMRMMR PSHM MMRPSHM MMRPSHM MMRPSHM MMR ; ; ; ;将将将将MMRMMRMMRMMR数据压入堆栈数据压入堆栈数据压入堆栈数据压入堆栈 STLM STLM STLM STLM srcsrcsrc

105、src,MMRMMRMMRMMR ; ; ; ;累加器低位存入累加器低位存入累加器低位存入累加器低位存入MMRMMRMMRMMR STM #STM #STM #STM #lklklklk,MMRMMRMMRMMR ; ; ; ;长立即数长立即数长立即数长立即数lklklklk存入存入存入存入MMRMMRMMRMMR第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.63.1.63.1.63.1.6 存储器映像寄存

106、器寻址存储器映像寄存器寻址存储器映像寄存器寻址存储器映像寄存器寻址 MMRMMR寻址特点:寻址特点:寻址特点:寻址特点: 寻址速度快,对寻址速度快,对寻址速度快,对寻址速度快,对MMRMMR执行写操作开销小;执行写操作开销小;执行写操作开销小;执行写操作开销小; 可可可可直直直直接接接接利利利利用用用用MMRMMR的的的的名名名名称称称称快快快快速速速速访访访访问问问问数数数数据据据据存存存存储储储储空间的空间的空间的空间的0 0 0 0页资源;页资源;页资源;页资源; 只能寻址数据空间的只能寻址数据空间的只能寻址数据空间的只能寻址数据空间的0 0 0 0页单元。页单元。页单元。页单元。 用用

107、用用途途途途:主主主主要要要要用用用用于于于于不不不不改改改改变变变变DPDP、SPSP的的的的情情情情况况况况下下下下,修修修修改改改改MMRMMR中的内容。中的内容。中的内容。中的内容。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.73.1.73.1.73.1.7 堆栈寻址堆栈寻址堆栈寻址堆栈寻址 堆堆堆堆栈栈栈栈:当当当当发发发发生生生生中中中中断断断断或或或或子子子子程程程程序序序序调调调调用用用

108、用时时时时,用用用用来来来来自自自自动动动动保存保存保存保存PCPCPCPC内容内容内容内容以及保护现场或传送参数。以及保护现场或传送参数。以及保护现场或传送参数。以及保护现场或传送参数。 C54xC54xC54xC54x的的的的堆堆堆堆栈栈栈栈是是是是向向向向低低低低地地地地址址址址生生生生长长长长,并并并并由由由由16161616位位位位堆堆堆堆栈栈栈栈指针指针指针指针SPSPSPSP管理。管理。管理。管理。SPSPSPSP总是指向栈顶。总是指向栈顶。总是指向栈顶。总是指向栈顶。 堆栈寻址:堆栈寻址:堆栈寻址:堆栈寻址:利用利用利用利用SPSPSPSP指针,按照先进后出的原则进指针,按照先

109、进后出的原则进指针,按照先进后出的原则进指针,按照先进后出的原则进 行行行行寻址。寻址。寻址。寻址。 当进栈操作时,当进栈操作时,SPSP先减小,然后数据进入堆栈;先减小,然后数据进入堆栈; 当出栈操作时,数据先出栈,然后当出栈操作时,数据先出栈,然后SPSP增加。增加。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.1.73.1.73.1.73.1.7 堆栈寻址堆栈寻址堆栈寻址堆栈寻址 进栈操作时,进栈操作时

110、,进栈操作时,进栈操作时,SPSPSPSP先减小,然后数据进入堆栈;先减小,然后数据进入堆栈;先减小,然后数据进入堆栈;先减小,然后数据进入堆栈; 数据存储器数据存储器数据存储器数据存储器0303FFHFFH12341234SPSP567856781313FFFFsmem SPSPSPSPSP-1SP-1SP-1SP-1,使使使使SPSPSPSP指向指向指向指向03030303FEHFEHFEHFEH;SPSP0303FEHFEH 数据进栈,数据进栈,数据进栈,数据进栈,SP=03FEHSP=03FEHSP=03FEHSP=03FEH。1313FFFFSPSP 出栈操作时,数据先出栈,然后出栈

111、操作时,数据先出栈,然后出栈操作时,数据先出栈,然后出栈操作时,数据先出栈,然后SPSPSPSP增加。增加。增加。增加。 XXXXXXXXsmem SP=03FEHSP=03FEHSP=03FEHSP=03FEH,数据出栈;数据出栈;数据出栈;数据出栈;SPSP1313FFFF SPSPSPSPSP+1SP+1SP+1SP+1,使使使使SPSPSPSP指向指向指向指向03030303FFHFFHFFHFFH。SPSP第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的

112、指令系统的指令系统的指令系统的指令系统的指令系统3.1.73.1.73.1.73.1.7 堆栈寻址堆栈寻址堆栈寻址堆栈寻址 采用堆栈寻址的指令:采用堆栈寻址的指令:采用堆栈寻址的指令:采用堆栈寻址的指令: PSHD PSHD PSHD PSHD SmemSmemSmemSmem ; ; ; ;将将将将SmemSmemSmemSmem中的数据压入堆栈中的数据压入堆栈中的数据压入堆栈中的数据压入堆栈 PSHM MMRPSHM MMRPSHM MMRPSHM MMR ; ; ; ;将将将将MMRMMRMMRMMR中的数据压入堆栈中的数据压入堆栈中的数据压入堆栈中的数据压入堆栈 POPD POPD P

113、OPD POPD SmemSmemSmemSmem ; ; ; ;将数据从栈顶弹至将数据从栈顶弹至将数据从栈顶弹至将数据从栈顶弹至SmemSmemSmemSmem中中中中 POPM MMRPOPM MMRPOPM MMRPOPM MMR ; ; ; ;将数据从栈顶弹至将数据从栈顶弹至将数据从栈顶弹至将数据从栈顶弹至MMRMMRMMRMMR中中中中第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统 3.1 3.1 寻址方

114、式寻址方式 寻址方式寻址方式寻址方式寻址方式用用用用 途途途途举举举举 例例例例指令含义指令含义指令含义指令含义立即寻址立即寻址立即寻址立即寻址主要用于初始化主要用于初始化主要用于初始化主要用于初始化LD #10LD #10,A A立即数立即数立即数立即数10 10 A A绝对寻址绝对寻址绝对寻址绝对寻址利用利用利用利用1616位地址寻址存储单位地址寻址存储单位地址寻址存储单位地址寻址存储单元元元元STL ASTL A,* *(y y)将将将将ALAL内容存入内容存入内容存入内容存入y y所在的存储单所在的存储单所在的存储单所在的存储单元元元元累加器寻址累加器寻址累加器寻址累加器寻址将累加器中

115、的内容作为地将累加器中的内容作为地将累加器中的内容作为地将累加器中的内容作为地址址址址READA xREADA x将将将将A A的内容作为地址读程序存的内容作为地址读程序存的内容作为地址读程序存的内容作为地址读程序存储器,并存入储器,并存入储器,并存入储器,并存入x x存储单元存储单元存储单元存储单元直接寻址直接寻址直接寻址直接寻址利用数据页指针和堆栈指利用数据页指针和堆栈指利用数据页指针和堆栈指利用数据页指针和堆栈指针寻址针寻址针寻址针寻址LD LD x x,A A( (DP+xDP+x的低的低的低的低7 7位地址位地址位地址位地址) ) A A间接寻址间接寻址间接寻址间接寻址利用辅助寄存器

116、作为地址利用辅助寄存器作为地址利用辅助寄存器作为地址利用辅助寄存器作为地址指针指针指针指针LD *AR1LD *AR1,A A(AR1) AR1) A A存储器映像存储器映像存储器映像存储器映像寄存器寻址寄存器寻址寄存器寻址寄存器寻址快速寻址存储器映象寄存快速寻址存储器映象寄存快速寻址存储器映象寄存快速寻址存储器映象寄存器器器器LDM ST1LDM ST1,B B( (ST1) ST1) B B堆栈寻址堆栈寻址堆栈寻址堆栈寻址压入压入压入压入/ /弹出数据存储器和存弹出数据存储器和存弹出数据存储器和存弹出数据存储器和存储器映像寄存器储器映像寄存器储器映像寄存器储器映像寄存器MMRMMRPSHM

117、 AGPSHM AG( (SP)-1 SP)-1 SP,(AG) SP,(AG) (SP) (SP)第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统 3.2 3.2 TMS320C54xTMS320C54x的指令表示方法的指令表示方法 C54xC54xC54xC54x的助记符指令是由操作码和操作数两部的助记符指令是由操作码和操作数两部的助记符指令是由操作码和操作数两部的助记符指令是由操作码和操作数两部分组成。在进行汇

118、编以前,操作码和操作数都是用分组成。在进行汇编以前,操作码和操作数都是用分组成。在进行汇编以前,操作码和操作数都是用分组成。在进行汇编以前,操作码和操作数都是用助记符表示。助记符表示。助记符表示。助记符表示。 例如:例如:例如:例如: LDLDLDLD #0FFh#0FFh#0FFh#0FFh, A A A A ; ; ; ;将立即数将立即数将立即数将立即数0 0 0 0FFFFFFFF传送至传送至传送至传送至A A A A 操作码操作码 源操作数源操作数目的操作数目的操作数注释注释注释注释第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C5

119、4xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.2.13.2.1 指令系统中的符号指令系统中的符号 1.1.1.1.指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语序号序号序号序号符符符符 号号号号含含含含 义义义义1 1A A累加器累加器累加器累加器A A2 2ALUALU算术逻辑运算单元算术逻辑运算单元算术逻辑运算单元算术逻辑运算单元3 3ARAR泛指通用辅助寄存器泛指通用辅助寄存器泛指通用辅助寄存器泛指通用辅助寄存器4 4ARxARx指定某一辅助寄存器指定某一辅

120、助寄存器指定某一辅助寄存器指定某一辅助寄存器AR0AR7AR0AR75 5ARPARPST0ST0中的中的中的中的3 3 3 3位辅助寄存器指针位辅助寄存器指针位辅助寄存器指针位辅助寄存器指针6 6ASMASMST1ST1中的中的中的中的5 5 5 5位累加器移位方式位位累加器移位方式位位累加器移位方式位位累加器移位方式位-1615-16157 7B B累加器累加器累加器累加器B B8 8BRAFBRAFST1ST1中的块重复操作标志中的块重复操作标志中的块重复操作标志中的块重复操作标志9 9BRCBRC块重复操作寄存器块重复操作寄存器块重复操作寄存器块重复操作寄存器1010BITCBITC或

121、或或或bit_codebit_code用于测试指令用于测试指令用于测试指令用于测试指令, , , ,指定数据存储器单元中的哪指定数据存储器单元中的哪指定数据存储器单元中的哪指定数据存储器单元中的哪一位被测试一位被测试一位被测试一位被测试, , , ,取指范围取指范围取指范围取指范围: : : :015015第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.指令系统中的符号和缩略语指令系统中的符号和缩略语

122、指令系统中的符号和缩略语指令系统中的符号和缩略语序号序号序号序号符符符符 号号号号含含含含 义义义义1111C16C16ST1ST1中的双中的双中的双中的双16161616位位位位/ /双精度算术运算方式位双精度算术运算方式位双精度算术运算方式位双精度算术运算方式位1212C CST0ST0中的进位位中的进位位中的进位位中的进位位1313CCCC2 2 2 2位条件码位条件码位条件码位条件码(0(0 CCCC 3)3)1414CMPTCMPTST1ST1中的中的中的中的ARPARP修正方式位修正方式位修正方式位修正方式位1515CPLCPLST1ST1中的直接寻址编辑标志位中的直接寻址编辑标志

123、位中的直接寻址编辑标志位中的直接寻址编辑标志位1616condcond表示一种条件的操作数,用于条件执行指令表示一种条件的操作数,用于条件执行指令表示一种条件的操作数,用于条件执行指令表示一种条件的操作数,用于条件执行指令1717 dd, , , ,DD 延时选项延时选项延时选项延时选项1818DABDABDD地址总线地址总线地址总线地址总线1919DARDARDABDAB地址寄存器地址寄存器地址寄存器地址寄存器2020dmaddmad16161616位立即数数据存储器地址位立即数数据存储器地址位立即数数据存储器地址位立即数数据存储器地址(0(065535)65535)第第第第第第3 3 3

124、3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语序号序号序号序号符符符符 号号号号含含含含 义义义义2121DmemDmem数据存储器操作数数据存储器操作数数据存储器操作数数据存储器操作数2222DPDPST0ST0中的数据存储器页指针中的数据存储器页指针中的数据存储器页指针中的数据存储器页指针(0(0 DPDP 511)511)

125、2323dstdst目的累加器目的累加器目的累加器目的累加器( (A A和和和和B)B)2424dstdst_ _与与与与dstdst相反的目的累加器相反的目的累加器相反的目的累加器相反的目的累加器2525EABEABE E地址总线地址总线地址总线地址总线2626EAREAREABEAB地址总线地址总线地址总线地址总线2727extpmadextpmad23232323位立即程序存储器地址位立即程序存储器地址位立即程序存储器地址位立即程序存储器地址2828FRCTFRCTST1ST1中的小数方式位中的小数方式位中的小数方式位中的小数方式位2929hi(Ahi(A) )累加器的高阶位累加器的高阶

126、位累加器的高阶位累加器的高阶位( (AHAH或或或或BH)BH)3030HMHMST1ST1中的保持方式位中的保持方式位中的保持方式位中的保持方式位第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语序号序号序号序号符符符符 号号号号含含含含 义义义义3131IFRIFR中断标志寄存器中断标志寄存器中断标志寄存

127、器中断标志寄存器3232INTMINTMST1ST1中的中断屏蔽位中的中断屏蔽位中的中断屏蔽位中的中断屏蔽位3333K K少于少于少于少于9 9 9 9位的短立即数位的短立即数位的短立即数位的短立即数3434k3k33 3 3 3位立即数位立即数位立即数位立即数(0(0 k3k3 7)7)3535k5k55 5 5 5位立即数位立即数位立即数位立即数(-16(-16 k5k5 15)15)3636k9k99 9 9 9位立即数位立即数位立即数位立即数(0(0 k9k9 511)511)3737lklk16161616位长立即数位长立即数位长立即数位长立即数3838LmemLmem利用长字寻址的

128、利用长字寻址的利用长字寻址的利用长字寻址的32323232位单数据存储器操作数位单数据存储器操作数位单数据存储器操作数位单数据存储器操作数3939MmrMmr,MMRMMR存储器映像寄存器存储器映像寄存器存储器映像寄存器存储器映像寄存器4040MMRxMMRx,MMRyMMRy 存储器映像寄存器存储器映像寄存器存储器映像寄存器存储器映像寄存器,AR0AR7AR0AR7或或或或SPSP第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令

129、系统的指令系统1.1.1.1.指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语序号序号序号序号符符符符 号号号号含含含含 义义义义4141n nXCXC指令后面的字数指令后面的字数指令后面的字数指令后面的字数,取取取取1 1或或或或2 24242NN指定状态寄存器指定状态寄存器指定状态寄存器指定状态寄存器,N=0N=0为为为为ST0ST0,N=1N=1为为为为ST1ST14343OVAOVAST0ST0中的累加器中的累加器中的累加器中的累加器A A溢出标志溢出标志溢出标志溢出标志4444OVBOVBST0ST0中的累加器中的累加器中的累加器中的累

130、加器B B溢出标志溢出标志溢出标志溢出标志4545OVdstOVdst指定目的累加器指定目的累加器指定目的累加器指定目的累加器( (A A或或或或B)B)的溢出标志的溢出标志的溢出标志的溢出标志4646OVdstOVdst_ _指定与指定与指定与指定与OvdstOvdst相反的目的累加器的溢出标志相反的目的累加器的溢出标志相反的目的累加器的溢出标志相反的目的累加器的溢出标志4747OVsrcOVsrc指定源累加器指定源累加器指定源累加器指定源累加器( (A A或或或或B)B)的溢出标志的溢出标志的溢出标志的溢出标志4848OVMOVMST1ST1中的溢出方式位中的溢出方式位中的溢出方式位中的溢

131、出方式位4949PAPA16161616位立即端口地址位立即端口地址位立即端口地址位立即端口地址(0(0 PAPA 6553565535) )5050PARPAR程序存储器地址寄存器程序存储器地址寄存器程序存储器地址寄存器程序存储器地址寄存器第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语序号序号序号序号符

132、符符符 号号号号含含含含 义义义义5151PCPC程序计数器程序计数器程序计数器程序计数器5252pmadpmad16161616位立即程序存储器地址位立即程序存储器地址位立即程序存储器地址位立即程序存储器地址(0(0 pmadpmad 65535)65535)5353pmempmem程序存储器操作数程序存储器操作数程序存储器操作数程序存储器操作数5454PMSTPMST处理器工作方式状态寄存器处理器工作方式状态寄存器处理器工作方式状态寄存器处理器工作方式状态寄存器5555progprog程序存储器操作数程序存储器操作数程序存储器操作数程序存储器操作数5656 RR舍入选项舍入选项舍入选项舍入

133、选项5757rndrnd循环寻址循环寻址循环寻址循环寻址5858RCRC重复计数器重复计数器重复计数器重复计数器5959RTNRTN快速返回寄存器快速返回寄存器快速返回寄存器快速返回寄存器6060REAREA块重复结束地址寄存器块重复结束地址寄存器块重复结束地址寄存器块重复结束地址寄存器第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩

134、略语指令系统中的符号和缩略语序号序号序号序号符符符符 号号号号含含含含 义义义义6161RSARSA块重复起始地址寄存器块重复起始地址寄存器块重复起始地址寄存器块重复起始地址寄存器6262SBITSBIT用于指定状态寄存器位的用于指定状态寄存器位的用于指定状态寄存器位的用于指定状态寄存器位的4 4 4 4位地址位地址位地址位地址(015)(015)6363SHFTSHFT4 4 4 4位移位值位移位值位移位值位移位值(015)(015)6464SHIFTSHIFT5 5 5 5位移位值位移位值位移位值位移位值(-1615)(-1615)6565SindSind间接寻址的单数据存储器操作数间接寻

135、址的单数据存储器操作数间接寻址的单数据存储器操作数间接寻址的单数据存储器操作数6666SmemSmem16161616位单数据存储器操作数位单数据存储器操作数位单数据存储器操作数位单数据存储器操作数6767SPSP堆栈指针寄存器堆栈指针寄存器堆栈指针寄存器堆栈指针寄存器6868srcsrc源累加器源累加器源累加器源累加器( (A A或或或或B)B)6969ST0ST0,ST1ST1状态寄存器状态寄存器状态寄存器状态寄存器0 0 0 0,状态寄存器状态寄存器状态寄存器状态寄存器1 1 1 17070SXMSXMST1ST1中的符号扩展方式位中的符号扩展方式位中的符号扩展方式位中的符号扩展方式位第

136、第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语指令系统中的符号和缩略语序号序号序号序号符符符符 号号号号含含含含 义义义义7171T T暂存器暂存器暂存器暂存器7272TCTCST0ST0中的测试中的测试中的测试中的测试/ /控制标志控制标志控制标志控制标志7373TOSTOS堆栈顶部堆栈顶部堆栈顶部堆栈顶部7474TRNTRN状

137、态转移寄存器状态转移寄存器状态转移寄存器状态转移寄存器7575TSTS由由由由T T寄存器的寄存器的寄存器的寄存器的5050位所规定的移位数位所规定的移位数位所规定的移位数位所规定的移位数(-1631)(-1631)7676unsuns无符号数无符号数无符号数无符号数7777XFXFST1ST1中的外部标志状态位中的外部标志状态位中的外部标志状态位中的外部标志状态位7878XPCXPC程序计数器扩展寄存器程序计数器扩展寄存器程序计数器扩展寄存器程序计数器扩展寄存器7979XmemXmem16161616位双数据存储器操作数位双数据存储器操作数位双数据存储器操作数位双数据存储器操作数,用于双数据

138、操作数指令用于双数据操作数指令用于双数据操作数指令用于双数据操作数指令8080YmemYmem16161616位双数据存储器操作数位双数据存储器操作数位双数据存储器操作数位双数据存储器操作数,用于双数据操作数指令用于双数据操作数指令用于双数据操作数指令用于双数据操作数指令和单数据操作指令和单数据操作指令和单数据操作指令和单数据操作指令第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.2.13.2.1 指令系统中的符

139、号指令系统中的符号 2.2.指令操作码符号和缩略语指令操作码符号和缩略语序号序号序号序号符符符符 号号号号含含含含 义义义义1 1A A数据存储器的地址位数据存储器的地址位数据存储器的地址位数据存储器的地址位2 2ARxARx指定辅助寄存器的指定辅助寄存器的指定辅助寄存器的指定辅助寄存器的3 3 3 3位数区位数区位数区位数区3 3BITCBITC4 4 4 4位码区位码区位码区位码区4 4CCCC2 2 2 2位条件码区位条件码区位条件码区位条件码区5 5CCCC CCCC CCCCCCCC8 8 8 8位条件码区位条件码区位条件码区位条件码区6 6CONDCOND4 4 4 4位条件码区位

140、条件码区位条件码区位条件码区7 7DD目的累加器位目的累加器位目的累加器位目的累加器位。D=0D=0为累加器为累加器为累加器为累加器A A,D=1D=1为累加器为累加器为累加器为累加器B B8 8I I寻址方式位寻址方式位寻址方式位寻址方式位。 I=0I=0直接寻址直接寻址直接寻址直接寻址,I=1I=1间接寻址间接寻址间接寻址间接寻址9 9K K少于少于少于少于9 9 9 9位的短立即数区位的短立即数区位的短立即数区位的短立即数区1010MMRxMMRx, , , ,MMRyMMRy指定映像寄存器中的指定映像寄存器中的指定映像寄存器中的指定映像寄存器中的4 4 4 4位数位数位数位数(08)(

141、08)第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统2.2.指令操作码符号和缩略语指令操作码符号和缩略语序号序号序号序号符符符符 号号号号含含含含 义义义义1111NN单独一位数单独一位数单独一位数单独一位数1212NNNN决定中断形式的决定中断形式的决定中断形式的决定中断形式的2 2 2 2位数位数位数位数1313R R舍入选项位。舍入选项位。舍入选项位。舍入选项位。R=0R=0不带舍入指令不带舍入指令不带舍入指

142、令不带舍入指令,R=1R=1对结果舍入处理对结果舍入处理对结果舍入处理对结果舍入处理1414S S源累加器位。源累加器位。源累加器位。源累加器位。S=0S=0为累加器为累加器为累加器为累加器A A,S=1S=1为累加器为累加器为累加器为累加器B B1515SBITSBIT状态寄存器的状态寄存器的状态寄存器的状态寄存器的4 4 4 4位位号数位位号数位位号数位位号数1616SHFTSHFT4 4 4 4位移位数区位移位数区位移位数区位移位数区(015)(015)1717SHIFTSHIFT5 5 5 5位移位数区位移位数区位移位数区位移位数区(-1615)(-1615)1818X X数据存储器位

143、数据存储器位数据存储器位数据存储器位1919Y Y数据存储器位数据存储器位数据存储器位数据存储器位2020Z Z延迟指令位。延迟指令位。延迟指令位。延迟指令位。Z=0Z=0无延迟操作无延迟操作无延迟操作无延迟操作,Z=1Z=1带延迟操作带延迟操作带延迟操作带延迟操作第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.2.23.2.2 指令系统中的运算符指令系统中的运算符 1.1.指令系统中使用的记号指令系统中使用的记

144、号序号序号序号序号记记记记 号号号号含含含含 义义义义1 1黑体字符黑体字符黑体字符黑体字符 表示指令中的操作码表示指令中的操作码表示指令中的操作码表示指令中的操作码2 2斜体字符斜体字符斜体字符斜体字符 表示指令中的变量表示指令中的变量表示指令中的变量表示指令中的变量3 3XX 表示操作数在指令中为任选项表示操作数在指令中为任选项表示操作数在指令中为任选项表示操作数在指令中为任选项4 4# 用来表示指令中的立即数用来表示指令中的立即数用来表示指令中的立即数用来表示指令中的立即数5 5( (abcabc) ) 小括号表示一个寄存器或存储单元的内容小括号表示一个寄存器或存储单元的内容小括号表示一

145、个寄存器或存储单元的内容小括号表示一个寄存器或存储单元的内容6 6x xy y x x值被传送到值被传送到值被传送到值被传送到y y中中中中7 7r(nr(n- - - -mm) ) 表示寄存器或存储器表示寄存器或存储器表示寄存器或存储器表示寄存器或存储器r r的第的第的第的第nmnm位位位位8 8nnnn 移位移位移位移位nnnn位位位位,nnnn为正时左移为正时左移为正时左移为正时左移,为负时右移。为负时右移。为负时右移。为负时右移。9 9| 表示两指令并行操作表示两指令并行操作表示两指令并行操作表示两指令并行操作1010 循环左移循环左移循环左移循环左移1111/ 循环右移循环右移循环右

146、移循环右移1212X X X X取反(取反(取反(取反(1 1的补码)的补码)的补码)的补码)1313|X|X| X X取绝对值取绝对值取绝对值取绝对值1414AAhAAh AA AA代表一个十六进制数代表一个十六进制数代表一个十六进制数代表一个十六进制数第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统2.2.指令系统的运算符号指令系统的运算符号序号序号序号序号符符符符 号号号号运算功能运算功能运算功能运算功能求值顺

147、序求值顺序求值顺序求值顺序1 1+ - + - !取正、取负、按位求补、逻辑负取正、取负、按位求补、逻辑负取正、取负、按位求补、逻辑负取正、取负、按位求补、逻辑负 从右至左从右至左从右至左从右至左2 2* * * * / %/ %乘法、除法、求模乘法、除法、求模乘法、除法、求模乘法、除法、求模从左至右从左至右从左至右从左至右3 3+ -+ -加法、减法加法、减法加法、减法加法、减法从左至右从左至右从左至右从左至右4 4指数指数指数指数 从左到右从左到右从左到右从左到右 5 5左移、右移左移、右移左移、右移左移、右移从左至右从左至右从左至右从左至右6 6 大于、大于等于大于、大于等于大于、大于等

148、于大于、大于等于从左至右从左至右从左至右从左至右8 8 != !=不等于不等于不等于不等于从左至右从左至右从左至右从左至右9 9&按位与运算按位与运算按位与运算按位与运算从左至右从左至右从左至右从左至右1010 按位异或运算按位异或运算按位异或运算按位异或运算从左至右从左至右从左至右从左至右1111| |按位或运算按位或运算按位或运算按位或运算从左至右从左至右从左至右从左至右第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指

149、令系统3.3 3.3 TMS320C54xTMS320C54x的指令系统的指令系统 C54xC54xC54xC54x的指令系统共有的指令系统共有的指令系统共有的指令系统共有129129129129条基本指令,由于条基本指令,由于条基本指令,由于条基本指令,由于操作数的寻址方式不同,由它们可以派生多至操作数的寻址方式不同,由它们可以派生多至操作数的寻址方式不同,由它们可以派生多至操作数的寻址方式不同,由它们可以派生多至205205205205条指令。条指令。条指令。条指令。 按指令的功能可分成六大类:按指令的功能可分成六大类:按指令的功能可分成六大类:按指令的功能可分成六大类: 数据传送指令数据

150、传送指令数据传送指令数据传送指令 算术运算指令算术运算指令算术运算指令算术运算指令 逻辑运算指令逻辑运算指令逻辑运算指令逻辑运算指令 程序控制指令程序控制指令程序控制指令程序控制指令 并行操作指令并行操作指令并行操作指令并行操作指令 重复操作指令重复操作指令重复操作指令重复操作指令 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.13.3.1 数据传送指令数据传送指令 是从存储器中将源操作数传送到目的操作数所

151、是从存储器中将源操作数传送到目的操作数所指定的存储器中。指定的存储器中。 包括:包括:包括:包括: 装载指令装载指令装载指令装载指令存储指令存储指令存储指令存储指令条件存储指令条件存储指令条件存储指令条件存储指令混合装载和存储指令混合装载和存储指令混合装载和存储指令混合装载和存储指令第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.装载指令装载指令装载指令装载指令 即取数或赋值指令,用于将存储器内容或立

152、即即取数或赋值指令,用于将存储器内容或立即数赋给目的寄存器,共计数赋给目的寄存器,共计2121条。条。格式格式格式格式: : : : 操作码操作码操作码操作码 源操作数源操作数源操作数源操作数 , ,移位数移位数移位数移位数 , ,目的操作数目的操作数目的操作数目的操作数 功能功能功能功能: : : : 源操作数按移位数进行移位源操作数按移位数进行移位源操作数按移位数进行移位源操作数按移位数进行移位, , , ,将移位结果送入将移位结果送入将移位结果送入将移位结果送入 目的操作数指定的寄存器。目的操作数指定的寄存器。目的操作数指定的寄存器。目的操作数指定的寄存器。DLDDLDDLDDLDLDL

153、DLDLDLDMLDMLDMLDMLDRLDRLDRLDRLDULDULDULDULTDLTDLTDLTDLmemLmemLmemLmem SARAM SARAM SARAM SARAM中的中的中的中的32323232位数据位数据位数据位数据SmemSmemSmemSmem SARAM SARAM SARAM SARAM中的中的中的中的16161616位数据位数据位数据位数据XmemXmemXmemXmem DARAM DARAM DARAM DARAM中的中的中的中的16161616位数据位数据位数据位数据# # # #K K K K 小于小于小于小于9 9 9 9位的短立即数位的短立即数位

154、的短立即数位的短立即数# # # #lKlKlKlK 16 16 16 16位长立即数位长立即数位长立即数位长立即数# # # #k9 9k9 9k9 9k9 9位立即数位立即数位立即数位立即数# # # #k5 5k5 5k5 5k5 5位立即数位立即数位立即数位立即数# # # #k3 3k3 3k3 3k3 3位立即数位立即数位立即数位立即数srcsrcsrcsrc 源累加器源累加器源累加器源累加器A A A A或或或或B B B BMMR MMR MMR MMR 存储器映像寄存器存储器映像寄存器存储器映像寄存器存储器映像寄存器TS 6TS 6TS 6TS 6位移位数位移位数位移位数位移

155、位数 -16 -16 -16 -16 TSTSTSTS 3131313116 1616 1616 1616 16位移位数位移位数位移位数位移位数SHIFT 5SHIFT 5SHIFT 5SHIFT 5位移位数位移位数位移位数位移位数 - - - -16161616 SHIFTSHIFTSHIFTSHIFT 15151515SHFT 4SHFT 4SHFT 4SHFT 4位移位数位移位数位移位数位移位数 0 0 0 0 SHFTSHFTSHFTSHFT 15151515ASM 5ASM 5ASM 5ASM 5位移位数位移位数位移位数位移位数 -16 -16 -16 -16 ASMASMASMAS

156、M 15151515dstdstdstdst 累加器累加器累加器累加器A A A A或或或或B B B BT T T T 暂存器暂存器暂存器暂存器DP RAMDP RAMDP RAMDP RAM页指针页指针页指针页指针ASM ASM ASM ASM 累加器移累加器移累加器移累加器移 位方式位位方式位位方式位位方式位ARP ARP ARP ARP 辅助寄存器辅助寄存器辅助寄存器辅助寄存器 指针指针指针指针第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令

157、系统的指令系统的指令系统的指令系统1.1.1.1.装载指令装载指令装载指令装载指令 (1) (1) (1) (1) DLD DLD LmemLmem,dstdst 功能功能功能功能: : : : dstdstdstdst = = = = LmemLmemLmemLmem 将将将将LmemLmemLmemLmem所指定的单数据存所指定的单数据存所指定的单数据存所指定的单数据存储器中的储器中的储器中的储器中的32323232位数据送入累加器位数据送入累加器位数据送入累加器位数据送入累加器A A A A或或或或B B B B中。中。中。中。 (2) (2) (2) (2) LD LD LD LD S

158、memSmemSmemSmem,dstdstdstdst dstdstdstdst = = = = SmemSmemSmemSmem 将将将将SmemSmemSmemSmem所指定的单数据存所指定的单数据存所指定的单数据存所指定的单数据存 储器中的储器中的储器中的储器中的16161616位数据送入累加器位数据送入累加器位数据送入累加器位数据送入累加器A A A A或或或或B B B B中。中。中。中。 功能功能功能功能: : : : (3) (3) (3) (3) LD LD LD LD SmemSmemSmemSmem,TSTSTSTS,dstdstdstdst dstdstdstdst =

159、 = = = SmemSmemSmemSmemTSTSTSTS 将将将将SmemSmemSmemSmem所指定的单数据所指定的单数据所指定的单数据所指定的单数据存储器中的数据,按存储器中的数据,按存储器中的数据,按存储器中的数据,按TSTSTSTS所给定的移位数所给定的移位数所给定的移位数所给定的移位数(-16(-16(-16(-16 TSTSTSTS 31)31)31)31)移位,然后送入移位,然后送入移位,然后送入移位,然后送入A A A A或或或或B B B B。 功能功能功能功能: : : :第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS

160、320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.装载指令装载指令装载指令装载指令(4) (4) (4) (4) LD LD LD LD SmemSmemSmemSmem,16161616,dstdstdstdst 功能功能功能功能: : : : dstdstdstdst= = = =SmemSmemSmemSmem16 16 16 16 将将将将SmemSmemSmemSmem所指定的单数据存所指定的单数据存所指定的单数据存所指定的单数据存 储器的数据左移储器的数据左移储器的数据左移储器的数据

161、左移16161616位后送入位后送入位后送入位后送入A A A A或或或或B B B B。 (5) (5) (5) (5) LD LD LD LD SmemSmemSmemSmem ,SHIFTSHIFTSHIFTSHIFT ,dstdstdstdst dstdstdstdst= = = =SmemSmemSmemSmemSHIFTSHIFTSHIFTSHIFT 将将将将SmemSmemSmemSmem所指定的单数据所指定的单数据所指定的单数据所指定的单数据 存储器的数据,按存储器的数据,按存储器的数据,按存储器的数据,按SHIFTSHIFTSHIFTSHIFT所给定的移位数移所给定的移位数移

162、所给定的移位数移所给定的移位数移 位,然后送入位,然后送入位,然后送入位,然后送入A A A A或或或或B B B B。 功能功能功能功能: : : :(6) (6) (6) (6) LD LD LD LD XmemXmemXmemXmem,SHFTSHFTSHFTSHFT,dstdstdstdst dstdstdstdst= = = =XmemXmemXmemXmemSHFTSHFTSHFTSHFT 将将将将XmemXmemXmemXmem所指定的双数据所指定的双数据所指定的双数据所指定的双数据 存储器的数据,按存储器的数据,按存储器的数据,按存储器的数据,按SHFTSHFTSHFTSHFT

163、所给定的移位数移所给定的移位数移所给定的移位数移所给定的移位数移 位,然后送入位,然后送入位,然后送入位,然后送入A A A A或或或或B B B B。 功能功能功能功能: : : :第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.装载指令装载指令装载指令装载指令 功能功能功能功能: : : : dstdstdstdst = = = = #K#K#K#K 将短立即数将短立即数将短立即数将短立即数K K

164、 K K送入累加器送入累加器送入累加器送入累加器A A A A或或或或B B B B。(8) (8) (8) (8) LD #LD #LD #LD #lklklklk ,SHFTSHFTSHFTSHFT ,dstdstdstdst dstdstdstdst = = = = # # # #lklklklkSHFTSHFTSHFTSHFT 将长立即数将长立即数将长立即数将长立即数lklklklk移位后,移位后,移位后,移位后, 送入累加器送入累加器送入累加器送入累加器A A A A或或或或B B B B。 功能功能功能功能: : : :(9) (9) (9) (9) LD #LD #LD #LD

165、#lklklklk,16161616,dstdstdstdst dstdstdstdst = = = = # # # #lklklklk16 16 16 16 将长立即数将长立即数将长立即数将长立即数lklklklk左移左移左移左移16161616位位位位 后,送入累加器后,送入累加器后,送入累加器后,送入累加器A A A A或或或或B B B B。 功能功能功能功能: : : :(7) (7) (7) (7) LD #LD #LD #LD #K K K K,dstdstdstdst 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xT

166、MS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.装载指令装载指令装载指令装载指令(10) (10) (10) (10) LD LD LD LD srcsrcsrcsrc,ASMASMASMASM ,dstdstdstdst 功能功能功能功能: : : : dstdstdstdst=srcsrcsrcsrcASMASMASMASM 将源累加器将源累加器将源累加器将源累加器srcsrcsrcsrc中的数中的数中的数中的数 据,按据,按据,按据,按ASMASMASMASM(-16(-16(-16(-16 SAMSA

167、MSAMSAM 15)15)15)15)所给定的移位所给定的移位所给定的移位所给定的移位 数移位后,送入目的累加器数移位后,送入目的累加器数移位后,送入目的累加器数移位后,送入目的累加器dstdstdstdst。 (11) (11) (11) (11) LD LD LD LD srcsrcsrcsrc ,SHIFTSHIFTSHIFTSHIFT ,dstdstdstdst 功能功能功能功能: : : : dstdstdstdst=srcsrcsrcsrcSHIFTSHIFTSHIFTSHIFT 将源累加器将源累加器将源累加器将源累加器srcsrcsrcsrc中的中的中的中的 数据,按数据,按数

168、据,按数据,按SHIFTSHIFTSHIFTSHIFT所给定的移位数移位后,所给定的移位数移位后,所给定的移位数移位后,所给定的移位数移位后, 送入目的累加器送入目的累加器送入目的累加器送入目的累加器dstdstdstdst。 (12) (12) (12) (12) LD LD LD LD SmemSmemSmemSmem,T T T T T T T T=SmemSmemSmemSmem 将将将将SmemSmemSmemSmem所指定的单数据器的所指定的单数据器的所指定的单数据器的所指定的单数据器的 数据送入暂存器数据送入暂存器数据送入暂存器数据送入暂存器T T T T。 功能功能功能功能:

169、: : :第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.装载指令装载指令装载指令装载指令(13) (13) (13) (13) LD LD LD LD SmemSmemSmemSmem,DPDPDPDP DPDPDPDP=SmemSmemSmemSmem(8-0) (8-0) (8-0) (8-0) 将将将将SmemSmemSmemSmem所指定的单数所指定的单数所指定的单数所指定的单数 据存储器的

170、低据存储器的低据存储器的低据存储器的低9 9 9 9位数据,送入数据存储位数据,送入数据存储位数据,送入数据存储位数据,送入数据存储 器页指针器页指针器页指针器页指针DPDPDPDP。 功能功能功能功能: : : :(14) (14) (14) (14) LD #LD #LD #LD # k k k k9 9 9 9,DPDPDPDP 功能功能功能功能: : : : DPDPDPDP=#k9#k9#k9#k9 将将将将9 9 9 9位立即数送入位立即数送入位立即数送入位立即数送入DPDPDPDP。 (15) (15) (15) (15) LD #LD #LD #LD #k k k k5 5 5

171、 5,ASMASMASMASM ASMASMASMASM=#k5#k5#k5#k5 将将将将5 5 5 5位立即数送入累加器移位立即数送入累加器移位立即数送入累加器移位立即数送入累加器移 位方式位位方式位位方式位位方式位ASMASMASMASM。 功能功能功能功能: : : :第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.装载指令装载指令装载指令装载指令(16) (16) (16) (16) LD

172、#LD #LD #LD #k k k k3 3 3 3,ARPARPARPARP ARPARPARPARP=#k3#k3#k3#k3 将将将将3 3 3 3位立即数送入位立即数送入位立即数送入位立即数送入ARPARPARPARP(3(3(3(3位辅位辅位辅位辅 助寄存器指针位助寄存器指针位助寄存器指针位助寄存器指针位) ) ) )。 功能功能功能功能: : : :(17) (17) (17) (17) LD LD LD LD SmemSmemSmemSmem,ASMASMASMASM 功能功能功能功能: : : : ASMASMASMASM=SmemSmemSmemSmem(4-0) (4-0

173、) (4-0) (4-0) 将将将将SmemSmemSmemSmem所指定的单数所指定的单数所指定的单数所指定的单数 据存储器的低据存储器的低据存储器的低据存储器的低5 5 5 5位数据送入位数据送入位数据送入位数据送入ASMASMASMASM。 (18) (18) (18) (18) LDM LDM LDM LDM MMRMMRMMRMMR,dstdstdstdst 功能功能功能功能: : : : dstdstdstdst=MMRMMRMMRMMR 将将将将MMRMMRMMRMMR寄存器中的数据,送寄存器中的数据,送寄存器中的数据,送寄存器中的数据,送 入累加器入累加器入累加器入累加器dst

174、dstdstdst。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.装载指令装载指令装载指令装载指令(19) (19) (19) (19) LDR LDR LDR LDR SmemSmemSmemSmem,dstdstdstdst 功能功能功能功能: : : : dstdstdstdst(31-16)=(31-16)=(31-16)=(31-16)=rndrndrndrnd( ( ( (SmemSm

175、emSmemSmem) ) ) ) 将将将将SmemSmemSmemSmem所指定的所指定的所指定的所指定的 单单单单数据存储器的数据舍入后送入累加器。数据存储器的数据舍入后送入累加器。数据存储器的数据舍入后送入累加器。数据存储器的数据舍入后送入累加器。 (20) (20) (20) (20) LDU LDU LDU LDU SmemSmemSmemSmem,dstdstdstdst 功能功能功能功能: : : : dstdstdstdst=unsunsunsuns( ( ( (SmemSmemSmemSmem) ) ) ) 将将将将SmemSmemSmemSmem所指定的单数所指定的单数所指

176、定的单数所指定的单数 据存储器的无符号数据,送入累加器。据存储器的无符号数据,送入累加器。据存储器的无符号数据,送入累加器。据存储器的无符号数据,送入累加器。 (21) (21) (21) (21) LTD LTD LTD LTD SmemSmemSmemSmem 功能功能功能功能: : : : T=SmemT=SmemT=SmemT=Smem,( ( ( (Smem+1Smem+1Smem+1Smem+1) ) ) )=SmemSmemSmemSmem 将单数据存将单数据存将单数据存将单数据存 储器储器储器储器SmemSmemSmemSmem的数据的数据的数据的数据, ,送入寄存器送入寄存器

177、送入寄存器送入寄存器T T T T, , , ,并延时。并延时。并延时。并延时。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统2.2.2.2.存储指令存储指令存储指令存储指令 是将源操作数或立即数存入指定存储器或寄存是将源操作数或立即数存入指定存储器或寄存是将源操作数或立即数存入指定存储器或寄存是将源操作数或立即数存入指定存储器或寄存器,共计器,共计器,共计器,共计14141414条。条。条。条。格式格式格式格式:

178、 : : : 操作码操作码操作码操作码 源操作数源操作数源操作数源操作数 , ,移位数移位数移位数移位数 , ,目的操作数目的操作数目的操作数目的操作数 功能功能功能功能: : : : 源操作数按移位数进行移位源操作数按移位数进行移位源操作数按移位数进行移位源操作数按移位数进行移位, , , ,将移位结果存入将移位结果存入将移位结果存入将移位结果存入 目的存储器或寄存器。目的存储器或寄存器。目的存储器或寄存器。目的存储器或寄存器。DSTDSTDSTDSTSTSTSTSTSTHSTHSTHSTHSTLSTLSTLSTLSTLMSTLMSTLMSTLMSTMSTMSTMSTMsrcsrcsrcsr

179、c 源累加器源累加器源累加器源累加器A A A A或或或或B B B BT T T T 暂存器暂存器暂存器暂存器TRN TRN TRN TRN 状态寄存器状态寄存器状态寄存器状态寄存器# # # #lKlKlKlK 16 16 16 16位长立即数位长立即数位长立即数位长立即数SHIFT 5SHIFT 5SHIFT 5SHIFT 5位移位数位移位数位移位数位移位数 -16 -16 -16 -16 SHIFTSHIFTSHIFTSHIFT 15151515SHFT 4SHFT 4SHFT 4SHFT 4位移位数位移位数位移位数位移位数 0 0 0 0 SHFTSHFTSHFTSHFT 15151

180、515ASM 5ASM 5ASM 5ASM 5位移位数位移位数位移位数位移位数 -16 -16 -16 -16 ASMASMASMASM 15151515SmemSmemSmemSmem 16 16 16 16位单数据位单数据位单数据位单数据存储器操作数存储器操作数存储器操作数存储器操作数XmemXmemXmemXmem 16 16 16 16位双数据位双数据位双数据位双数据存储器操作数存储器操作数存储器操作数存储器操作数MMR MMR MMR MMR 存储器映像寄存储器映像寄存储器映像寄存储器映像寄存器存器存器存器第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS32

181、0C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统存储指令存储指令存储指令存储指令序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1DST DST DST DST srcsrcsrcsrc , , , , LmemLmemLmemLmemLmemLmemLmemLmem =srcsrcsrcsrc累加器值存入长字存储单元累加器值存入长字存储单元累加器值存入长字存储单元累加器值存入长字存储单元2 2ST ST ST ST T T T T , , , , SmemSmemS

182、memSmemSmemSmemSmemSmem =T T T T暂存器值存入存储单元暂存器值存入存储单元暂存器值存入存储单元暂存器值存入存储单元3 3ST ST ST ST TRN TRN TRN TRN , , , , SmemSmemSmemSmemSmemSmemSmemSmem =TRNTRNTRNTRN状态寄存器值存入存储单元状态寄存器值存入存储单元状态寄存器值存入存储单元状态寄存器值存入存储单元4 4ST ST ST ST # # # #l l l lk k k k , , , , SmemSmemSmemSmemSmemSmemSmemSmem =# # # #l l l lk

183、k k k 长立即数存入存储单元长立即数存入存储单元长立即数存入存储单元长立即数存入存储单元5 5STH STH STH STH srcsrcsrcsrc , , , , SmemSmemSmemSmemSmemSmemSmemSmem =srcsrcsrcsrc(31-16)(31-16)(31-16)(31-16)累加器高阶位存入存储单元累加器高阶位存入存储单元累加器高阶位存入存储单元累加器高阶位存入存储单元6 6STH STH STH STH srcsrcsrcsrc ,ASM ,ASM ,ASM ,ASM ,SmemSmemSmemSmemSmemSmemSmemSmem =srcsr

184、csrcsrc(31-16)(31-16)(31-16)(31-16)ASMASMASMASM累加器高阶位移位后存入存储单元累加器高阶位移位后存入存储单元累加器高阶位移位后存入存储单元累加器高阶位移位后存入存储单元7 7STH STH STH STH srcsrcsrcsrc ,SHFT ,SHFT ,SHFT ,SHFT ,XmemXmemXmemXmemXmemXmemXmemXmem =srcsrcsrcsrc(31-16)(31-16)(31-16)(31-16)SHFTSHFTSHFTSHFT累加器高阶移位后存入存储单元累加器高阶移位后存入存储单元累加器高阶移位后存入存储单元累加器高

185、阶移位后存入存储单元8 8STH STH STH STH srcsrcsrcsrc ,SHIFT,SHIFT,SHIFT,SHIFT,SmemSmemSmemSmemSmemSmemSmemSmem =srcsrcsrcsrc(31-16)(31-16)(31-16)(31-16)SHIFTSHIFTSHIFTSHIFT累加器高阶位移位后存入存储单元累加器高阶位移位后存入存储单元累加器高阶位移位后存入存储单元累加器高阶位移位后存入存储单元9 9STL STL STL STL srcsrcsrcsrc , , , , SmemSmemSmemSmemSmemSmemSmemSmem =srcsr

186、csrcsrc(15-0)(15-0)(15-0)(15-0)累加器低阶位存入存储单元累加器低阶位存入存储单元累加器低阶位存入存储单元累加器低阶位存入存储单元1010STL STL STL STL srcsrcsrcsrc ,ASM ,ASM ,ASM ,ASM ,SmemSmemSmemSmemSmemSmemSmemSmem =srcsrcsrcsrc(15-0)(15-0)(15-0)(15-0)ASMASMASMASM累加器低阶位移位后存入存储单元累加器低阶位移位后存入存储单元累加器低阶位移位后存入存储单元累加器低阶位移位后存入存储单元1111STL STL STL STL srcsr

187、csrcsrc ,SHFT ,SHFT ,SHFT ,SHFT ,XmemXmemXmemXmemXmemXmemXmemXmem =srcsrcsrcsrc(15-0)(15-0)(15-0)(15-0)SHFTSHFTSHFTSHFT累加器低阶位移位后存入存储单元累加器低阶位移位后存入存储单元累加器低阶位移位后存入存储单元累加器低阶位移位后存入存储单元1212STL STL STL STL srcsrcsrcsrc ,SHIFT,SHIFT,SHIFT,SHIFT,SmemSmemSmemSmemSmemSmemSmemSmem =srcsrcsrcsrc(15-0)(15-0)(15-0

188、)(15-0)src(15src(15src(15src(1500),),),),则则则则SmemSmemSmemSmem=src(31=src(31=src(31=src(31 16)16)16)16); 若若若若src(31src(31src(31src(31 16)16)16)16) src(15src(15src(15src(1500),),),),则则则则SmemSmemSmemSmem=src(15=src(15=src(15=src(15 0)0)0)0)。 即比较累加器的高、低位,并存储最大值。即比较累加器的高、低位,并存储最大值。即比较累加器的高、低位,并存储最大值。即比较累

189、加器的高、低位,并存储最大值。(2) (2) (2) (2) SACCDSACCDSACCDSACCD srcsrcsrcsrc,XmemXmemXmemXmem,condcondcondcond (3) (3) (3) (3) SRCCD SRCCD SRCCD SRCCD XmemXmemXmemXmem ,condcondcondcond(4) (4) (4) (4) STRCDSTRCDSTRCDSTRCD XmemXmemXmemXmem,condcondcondcond 若满足若满足若满足若满足condcondcondcond条件,则累加器值按条件,则累加器值按条件,则累加器值按条

190、件,则累加器值按ASM-16ASM-16ASM-16ASM-16的差值的差值的差值的差值 移位,并存入移位,并存入移位,并存入移位,并存入XmemXmemXmemXmem中。中。中。中。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统4.4.4.4.混合装载和存储指令混合装载和存储指令混合装载和存储指令混合装载和存储指令 用于完成数据存储器、程序存储器以及用于完成数据存储器、程序存储器以及I/OI/O口口之间的数据

191、传输,共计之间的数据传输,共计1212条。条。(1) (1) (1) (1) MVDD MVDD MVDD MVDD XmemXmemXmemXmem,YmemYmemYmemYmem 功能功能功能功能: : : : YmemYmemYmemYmem = = = = XmemXmemXmemXmem 将数据存储器将数据存储器将数据存储器将数据存储器XmemXmemXmemXmem中的数据传送中的数据传送中的数据传送中的数据传送 到数据存储器到数据存储器到数据存储器到数据存储器YmemYmemYmemYmem中。中。中。中。 (2) (2) (2) (2) MVDK MVDK MVDK MVDK

192、 SmemSmemSmemSmem,dmaddmaddmaddmad dmaddmaddmaddmad = = = = SmemSmemSmemSmem 将数据存储器将数据存储器将数据存储器将数据存储器SmemSmemSmemSmem中的数据传送中的数据传送中的数据传送中的数据传送 到以到以到以到以dmaddmaddmaddmad为地址的数据存储器中。为地址的数据存储器中。为地址的数据存储器中。为地址的数据存储器中。 功能功能功能功能: : : :(3) (3) (3) (3) MVDM MVDM MVDM MVDM dmaddmaddmaddmad,MMRMMRMMRMMR 功能功能功能功能

193、: : : : MMR = MMR = MMR = MMR = dmaddmaddmaddmad 将以将以将以将以dmaddmaddmaddmad为地址的数据存储器中的为地址的数据存储器中的为地址的数据存储器中的为地址的数据存储器中的 数据传送到数据传送到数据传送到数据传送到MMRMMRMMRMMR中。中。中。中。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统4.4.4.4.混合装载和存储指令混合装载和存储指令混

194、合装载和存储指令混合装载和存储指令 (4) (4) (4) (4) MVDP MVDP MVDP MVDP SmemSmemSmemSmem,pmadpmadpmadpmad (5) (5) (5) (5) MVKD MVKD MVKD MVKD dmaddmaddmaddmad,SmemSmemSmemSmem (6) (6) (6) (6) MVMD MVMD MVMD MVMD MMRMMRMMRMMR,dmaddmaddmaddmad (10) (10) (10) (10) PORTW PORTW PORTW PORTW SmemSmemSmemSmem,PAPAPAPA (11) (

195、11) (11) (11) READA READA READA READA SmemSmemSmemSmem (12) (12) (12) (12) WRITA WRITA WRITA WRITA SmemSmemSmemSmem (7) (7) (7) (7) MVMM MVMM MVMM MVMM MMRxMMRxMMRxMMRx,MMRyMMRyMMRyMMRy (8) (8) (8) (8) MVPD MVPD MVPD MVPD pmadpmadpmadpmad,SmemSmemSmemSmem (9) (9) (9) (9) PORTR PORTR PORTR PORTR PAPA

196、PAPA,SmemSmemSmemSmem 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.23.3.2 算术运算指令算术运算指令 算术算术算术算术运算指令运算指令运算指令运算指令是实现数学计算的重要指令集合。是实现数学计算的重要指令集合。是实现数学计算的重要指令集合。是实现数学计算的重要指令集合。 C54xC54x的算术指令具有运算功能强、指令丰富等特点。的算术指令具有运算功能强、指令丰富等特点。的算术指令

197、具有运算功能强、指令丰富等特点。的算术指令具有运算功能强、指令丰富等特点。 包括:包括: 加法指令加法指令加法指令加法指令( ( ( (ADDADD) ) ) ) 减法指令减法指令减法指令减法指令( ( ( (SUBSUB) ) ) ) 乘法指令乘法指令乘法指令乘法指令( ( ( (MPYMPY) ) ) ) 乘法乘法乘法乘法- - - -累加累加累加累加/ / / /减指令减指令减指令减指令( ( ( (MAC/MASMAC/MAS) ) ) )双字运算指令双字运算指令双字运算指令双字运算指令( ( ( (DADDDADD) ) ) ) 特殊用途指令特殊用途指令特殊用途指令特殊用途指令第第第

198、第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(1)(1)(1)(1)加法指令加法指令加法指令加法指令 ADDADD SmemSmemSmemSmemXmemXmemXmemXmem# # # #lklklklksrcsrcADD ADD ADD ADD Smem,srcSmem,srcSmem,srcSmem,srcADD ADD ADD ADD Smem,TS,srcSmem,TS,srcSmem,TS,srcSme

199、m,TS,srcADD Smem,16,src,dstADD Smem,16,src,dstADD Smem,16,src,dstADD Smem,16,src,dstADD ADD ADD ADD Smem,SHIFT,src,dstSmem,SHIFT,src,dstSmem,SHIFT,src,dstSmem,SHIFT,src,dst 操作码操作码操作码操作码 源操作数源操作数源操作数源操作数 指令格式指令格式指令格式指令格式ADD ADD ADD ADD Xmem,SHIFT,srcXmem,SHIFT,srcXmem,SHIFT,srcXmem,SHIFT,srcADD ADD A

200、DD ADD Xmem,Ymem,dstXmem,Ymem,dstXmem,Ymem,dstXmem,Ymem,dstADD #ADD #ADD #ADD #lk,SHFT,src,dstlk,SHFT,src,dstlk,SHFT,src,dstlk,SHFT,src,dst ADD #lk,16,src,dstADD #lk,16,src,dstADD #lk,16,src,dstADD #lk,16,src,dstADD ADD ADD ADD src,SHIFT,dstsrc,SHIFT,dstsrc,SHIFT,dstsrc,SHIFT,dst ADD ADD ADD ADD src

201、,ASM,dstsrc,ASM,dstsrc,ASM,dstsrc,ASM,dst 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(1)(1)(1)(1)加法指令加法指令加法指令加法指令 ADDCADDC 操作码操作码操作码操作码 源操作数源操作数源操作数源操作数 指令格式指令格式指令格式指令格式 SmemSmem ADDCADDC SmemSmem,srcsrc ADDMADDM #lklk ADDCADDC #

202、lklk, , , ,SmemSmem ADDSADDS SmemSmem ADDCADDC SmemSmem, , , ,srcsrc 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统加法指令功能加法指令功能 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1ADD ADD ADD ADD SmemSmemSmemSmem , , , , srcsrcsrcsrcsrcsrcsrcsrc=

203、 =srcsrcsrcsrc+ +SmemSmemSmemSmem操作数加至累加器操作数加至累加器操作数加至累加器操作数加至累加器2 2ADD ADD ADD ADD SmemSmemSmemSmem , , , , TS,TS,TS,TS,srcsrcsrcsrcsrcsrcsrcsrc= =srcsrcsrcsrc+ +SmemSmemSmemSmemTSTSTSTS操作数移位后加至累加器操作数移位后加至累加器操作数移位后加至累加器操作数移位后加至累加器3 3ADD ADD ADD ADD SmemSmemSmemSmem ,16,16,16,16 , , , ,srcsrcsrcsrc,

204、dstdstdstdst dstdstdstdst= =srcsrcsrcsrc+ +SmemSmemSmemSmem16161616操作数左移操作数左移操作数左移操作数左移16161616位加至累加器位加至累加器位加至累加器位加至累加器4 4ADD ADD ADD ADD SmemSmemSmemSmem,SHIFT,SHIFT,SHIFT,SHIFT,srcsrcsrcsrc,dstdstdstdst dstdstdstdst= =srcsrcsrcsrc+ +SmemSmemSmemSmem SHIFTSHIFTSHIFTSHIFT操作数移位后加至累加器操作数移位后加至累加器操作数移位后

205、加至累加器操作数移位后加至累加器5 5ADD ADD ADD ADD XmemXmemXmemXmem ,SHFT,SHFT,SHFT,SHFT , , , ,srcsrcsrcsrc srcsrcsrcsrc= =srcsrcsrcsrc+ +XmemXmemXmemXmem SHFTSHFTSHFTSHFT操作数移位后加至累加器操作数移位后加至累加器操作数移位后加至累加器操作数移位后加至累加器6 6ADD ADD ADD ADD XmemXmemXmemXmem , , , ,YmemYmemYmemYmem , , , ,dstdstdstdstdstdstdstdst= =XmemXm

206、emXmemXmem16161616+ +YmemYmemYmemYmem16161616两操作数分别左移两操作数分别左移两操作数分别左移两操作数分别左移16161616位后相加送位后相加送位后相加送位后相加送至累加器至累加器至累加器至累加器7 7ADD ADD ADD ADD # # # #l lk k k k,SHFT,SHFT,SHFT,SHFT,srcsrcsrcsrc,dstdstdstdst dstdstdstdst= =srcsrcsrcsrc+#+#lklk SHFTSHFTSHFTSHFT长立即数移位后加至累加器长立即数移位后加至累加器长立即数移位后加至累加器长立即数移位后加

207、至累加器8 8ADD ADD ADD ADD # # # #l lk k k k,16,16,16,16,srcsrcsrcsrc,dstdstdstdst dstdstdstdst= =srcsrcsrcsrc+#+#lklk 16161616长立即数左移长立即数左移长立即数左移长立即数左移16161616位加至累加器位加至累加器位加至累加器位加至累加器9 9ADD ADD ADD ADD srcsrcsrcsrc,SHIFT,SHIFT,SHIFT,SHIFT,dstdstdstdst dstdstdstdst= =d dstststst+ +srcsrcsrcsrc SHIFTSHIFT

208、SHIFTSHIFT累加器移位后相加累加器移位后相加累加器移位后相加累加器移位后相加1010ADD ADD ADD ADD srcsrcsrcsrc,ASM,ASM,ASM,ASM,dstdstdstdst dstdstdstdst= =d dstststst+ +srcsrcsrcsrc A A A ASMSMSMSM累加器按累加器按累加器按累加器按ASMASMASMASM移位后相加移位后相加移位后相加移位后相加1111ADDC ADDC ADDC ADDC SmemSmemSmemSmem , , , , srcsrcsrcsrcsrcsrcsrcsrc= =srcsrcsrcsrc+ +

209、SmemSmemSmemSmem+C+C+C+C操作数带进位加至累加器操作数带进位加至累加器操作数带进位加至累加器操作数带进位加至累加器1212ADDM #ADDM #ADDM #ADDM #l lk k k k, , , , SmemSmemSmemSmemSmemSmemSmemSmem= =SmemSmemSmemSmem+#+#lklk长立即数加至存储器长立即数加至存储器长立即数加至存储器长立即数加至存储器1313ADDS ADDS ADDS ADDS SmemSmemSmemSmem , , , , srcsrcsrcsrcsrcsrcsrcsrc= =srcsrcsrcsrc+un

210、s(+uns(SmemSmemSmemSmem) ) ) )操作数符号位不扩展加至累加器操作数符号位不扩展加至累加器操作数符号位不扩展加至累加器操作数符号位不扩展加至累加器 例例例例1 1、LDLD#1200H,A#1200H,ASTMSTM #0100H,AR3#0100H,AR3ST ST #1500H,0100H #1500H,0100HADDADD *AR3+,14,A *AR3+,14,A LDLD#1800H,B#1800H,BADDADD A,-8,B A,-8,BLDLD#1800H,B#1800H,BADD #4568H,8,A,BADD #4568H,8,A,BST #13

211、00H,00FFHST #1300H,00FFHSTST#1400H,0100H#1400H,0100HSTST#1500H,0101H#1500H,0101HSTMSTM #0100H,AR2#0100H,AR2ADDADD * AR2,* AR3+,A * AR2,* AR3+,AA=00002700HB=00002718H 练习:练习:将从将从0100H单元开始单元开始10个数据进行累个数据进行累加。加。STM #0100H,AR2LD#0,ARPT #9ADD *AR2+,A第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTM

212、S320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.23.3.2 算术运算指令算术运算指令(2)(2)减法指令减法指令 C54xC54x的减法指令共有的减法指令共有的减法指令共有的减法指令共有13131313条,可完成两个操作数条,可完成两个操作数条,可完成两个操作数条,可完成两个操作数的减法运算、移位后的减法运算、带借位的减法运算、的减法运算、移位后的减法运算、带借位的减法运算、的减法运算、移位后的减法运算、带借位的减法运算、的减法运算、移位后的减法运算、带借位的减法运算、条件减法运算和不带符号位扩展的减法运算。条件减法

213、运算和不带符号位扩展的减法运算。条件减法运算和不带符号位扩展的减法运算。条件减法运算和不带符号位扩展的减法运算。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统减法指令功能减法指令功能 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1SUB SUB SUB SUB SmemSmemSmemSmem , , , , srcsrcsrcsrcsrcsrcsrcsrc= =srcsrcsrcsr

214、c- -SmemSmemSmemSmem从累加器中减去操作数从累加器中减去操作数从累加器中减去操作数从累加器中减去操作数2 2SUB SUB SUB SUB SmemSmemSmemSmem , , , , TS,TS,TS,TS,srcsrcsrcsrcsrcsrcsrcsrc= =src-Smemsrc-Smemsrc-Smemsrc-SmemTSTSTSTS从累加器中减去移位后的操作数从累加器中减去移位后的操作数从累加器中减去移位后的操作数从累加器中减去移位后的操作数3 3SUB SUB SUB SUB SmemSmemSmemSmem ,16,16,16,16 , , , ,srcsr

215、csrcsrc,dstdstdstdst dstdstdstdst= =srcsrcsrcsrc- - - -SmemSmemSmemSmem16161616累加器减去左移累加器减去左移累加器减去左移累加器减去左移16161616位的操作数位的操作数位的操作数位的操作数4 4SUB SUB SUB SUB SmemSmemSmemSmem,SHIFT,SHIFT,SHIFT,SHIFT,srcsrcsrcsrc,dstdstdstdst dstdstdstdst= =srcsrcsrcsrc- - - -SmemSmemSmemSmem SHIFTSHIFTSHIFTSHIFT操作数移位后与累

216、加器相减操作数移位后与累加器相减操作数移位后与累加器相减操作数移位后与累加器相减5 5SUB SUB SUB SUB XmemXmemXmemXmem ,SHFT,SHFT,SHFT,SHFT , , , ,srcsrcsrcsrc srcsrcsrcsrc= =srcsrcsrcsrc- - - -XmemXmemXmemXmem SHFTSHFTSHFTSHFT操作数移位后与累加器相减操作数移位后与累加器相减操作数移位后与累加器相减操作数移位后与累加器相减6 6SUB SUB SUB SUB XmemXmemXmemXmem , , , ,YmemYmemYmemYmem , , , ,d

217、stdstdstdstdstdstdstdst= =XmemXmemXmemXmem16-16-16-16-YmemYmemYmemYmem16161616两操作数分别左移两操作数分别左移两操作数分别左移两操作数分别左移16161616位后相减送至位后相减送至位后相减送至位后相减送至累加器累加器累加器累加器7 7SUB SUB SUB SUB # # # #l lk k k k,SHFT,SHFT,SHFT,SHFT,srcsrcsrcsrc,dstdstdstdst dstdstdstdst= =src-src-src-src-# #lklk SHFTSHFTSHFTSHFT长立即数移位后与

218、累加器相减长立即数移位后与累加器相减长立即数移位后与累加器相减长立即数移位后与累加器相减8 8SUB SUB SUB SUB # # # #l lk k k k,16,16,16,16,srcsrcsrcsrc,dstdstdstdst dstdstdstdst= =src-src-src-src-# #lklk 16161616长立即数左移长立即数左移长立即数左移长立即数左移16161616位与累加器相减位与累加器相减位与累加器相减位与累加器相减9 9SUB SUB SUB SUB srcsrcsrcsrc,SHIFT,SHIFT,SHIFT,SHIFT,dstdstdstdst dstds

219、tdstdst= =d dst-srcst-srcst-srcst-src SHIFTSHIFTSHIFTSHIFT目标累加器减去移位后的源累加器目标累加器减去移位后的源累加器目标累加器减去移位后的源累加器目标累加器减去移位后的源累加器1010SUB SUB SUB SUB srcsrcsrcsrc,ASM,ASM,ASM,ASM,dstdstdstdst dstdstdstdst= =d dst-srcst-srcst-srcst-src A A A ASMSMSMSM源累加器按源累加器按源累加器按源累加器按ASMASMASMASM移位与目标累加器移位与目标累加器移位与目标累加器移位与目标累

220、加器相减相减相减相减1111SUBB SUBB SUBB SUBB SmemSmemSmemSmem , , , , srcsrcsrcsrcsrcsrcsrcsrc= =src-Smemsrc-Smemsrc-Smemsrc-Smem-C-C-C-C累加器与操作数带借位减操作累加器与操作数带借位减操作累加器与操作数带借位减操作累加器与操作数带借位减操作1212SUBC SUBC SUBC SUBC SmemSmemSmemSmem , , , , srcsrcsrcsrcIf(If(If(If(src-Smemsrc-Smemsrc-Smemsrc-Smem0,0,srcsrcsrcsrc=

221、(=(src-Smemsrc-Smemsrc-Smemsrc-Smem15)15)15)15)1+11+11+11+1Else Else Else Else srcsrcsrcsrc= =srcsrcsrcsrc1 1 1 1条件减法操作条件减法操作条件减法操作条件减法操作1313SUBS SUBS SUBS SUBS SmemSmemSmemSmem , , , , srcsrcsrcsrcsrcsrcsrcsrc= =src-src-src-src-uns(uns(SmemSmemSmemSmem) ) ) )累加器与符号位不扩展的操作数减累加器与符号位不扩展的操作数减累加器与符号位不扩展

222、的操作数减累加器与符号位不扩展的操作数减操作操作操作操作第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(3)(3)乘法指令乘法指令 C54xC54x的指令系统提供了的指令系统提供了的指令系统提供了的指令系统提供了10101010条乘法运算指令,其条乘法运算指令,其条乘法运算指令,其条乘法运算指令,其运算结果都是运算结果都是运算结果都是运算结果都是32323232位的,存放在累加器位的,存放在累加器位的,存放在累加器

223、位的,存放在累加器A A A A和和和和B B B B中中中中。而参与而参与而参与而参与运算的乘数可以是运算的乘数可以是运算的乘数可以是运算的乘数可以是T T T T寄存器、立即数、存储单元和累加寄存器、立即数、存储单元和累加寄存器、立即数、存储单元和累加寄存器、立即数、存储单元和累加器器器器A A A A或或或或B B B B的高的高的高的高16161616位。位。位。位。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指

224、令系统乘法指令功能乘法指令功能 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1MPY MPY MPY MPY SmemSmemSmemSmem , , , , dstdstdstdstdstdstdstdst= =T T T T* * * *SmemSmemSmemSmemT T寄存器与操作数相乘寄存器与操作数相乘寄存器与操作数相乘寄存器与操作数相乘2 2MPYR MPYR MPYR MPYR SmemSmemSmemSmem , , , , dstdstdstdstdstdstdstdst= =rnd(rnd(T T T T* * * *SmemSmemSmem

225、Smem) ) ) )T T寄存器与操作数带舍入相乘寄存器与操作数带舍入相乘寄存器与操作数带舍入相乘寄存器与操作数带舍入相乘3 3MPY MPY MPY MPY XmemXmemXmemXmem , , , ,YmemYmemYmemYmem , , , ,dstdstdstdst dstdstdstdst=XmemXmemXmemXmem * * * *Ymem,TYmem,TYmem,TYmem,T= = = =XmemXmemXmemXmem两操作数相乘两操作数相乘两操作数相乘两操作数相乘4 4MPY MPY MPY MPY SmemSmemSmemSmem ,#,#,#,#lklk ,

226、 , , ,dstdstdstdstdstdstdstdst=SmemSmemSmemSmem * * * *# #lklk ,T=,T=,T=,T=SmemSmemSmemSmem长立即数与操作数相乘长立即数与操作数相乘长立即数与操作数相乘长立即数与操作数相乘5 5MPY #MPY #MPY #MPY #lklk , , , ,dstdstdstdstdstdstdstdst=T T T T* * * *# #lklk长立即数与长立即数与长立即数与长立即数与T T寄存器相乘寄存器相乘寄存器相乘寄存器相乘6 6MPYAMPYAMPYAMPYA dstdstdstdstdstdstdstdst=

227、 =T T T T* * * *A A A A(32-16)(32-16)(32-16)(32-16)T T寄存器与累加器寄存器与累加器寄存器与累加器寄存器与累加器A A高位相乘高位相乘高位相乘高位相乘7 7MPYA MPYA MPYA MPYA SmemSmemSmemSmemB B B B=SmemSmemSmemSmem* * * *A A A A(32-16)(32-16)(32-16)(32-16),T=,T=,T=,T=SmemSmemSmemSmem操作数与累加器操作数与累加器操作数与累加器操作数与累加器A A高位相乘高位相乘高位相乘高位相乘8 8MPYU MPYU MPYU M

228、PYU SmemSmemSmemSmem , , , , dstdstdstdstdstdstdstdst= =uns(uns(T T T T) ) ) )* * * *uns(uns(uns(uns(SmemSmemSmemSmem) ) ) )无符号数相乘无符号数相乘无符号数相乘无符号数相乘9 9SQUR SQUR SQUR SQUR SmemSmemSmemSmem , , , , dstdstdstdstdstdstdstdst=SmemSmemSmemSmem * * * *SmemSmemSmemSmem ,T= ,T= ,T= ,T=SmemSmemSmemSmem操作数的平方操

229、作数的平方操作数的平方操作数的平方1010SQUR SQUR SQUR SQUR A A A A , , , , dstdstdstdstdstdstdstdst= =A A A A(32-16)(32-16)(32-16)(32-16)* * * *A A A A(32-16)(32-16)(32-16)(32-16)累加器累加器累加器累加器A A高位的平方高位的平方高位的平方高位的平方第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统

230、的指令系统的指令系统(4)(4)乘法乘法- -累加和乘法累加和乘法- -减法指令减法指令 这类指令共计这类指令共计这类指令共计这类指令共计22222222条,除了完成乘法运算外,还具条,除了完成乘法运算外,还具条,除了完成乘法运算外,还具条,除了完成乘法运算外,还具有加法或减法运算。因此,在一些复杂的算法中,可有加法或减法运算。因此,在一些复杂的算法中,可有加法或减法运算。因此,在一些复杂的算法中,可有加法或减法运算。因此,在一些复杂的算法中,可以大大提高运算速度。以大大提高运算速度。以大大提高运算速度。以大大提高运算速度。 参与运算的乘数可以是参与运算的乘数可以是参与运算的乘数可以是参与运算

231、的乘数可以是T T T T寄存器、立即数、存储单寄存器、立即数、存储单寄存器、立即数、存储单寄存器、立即数、存储单元和累加器元和累加器元和累加器元和累加器A A A A或或或或B B B B的高的高的高的高16161616位。位。位。位。 乘法运算结束后,再将乘积与目的操作数进行加乘法运算结束后,再将乘积与目的操作数进行加乘法运算结束后,再将乘积与目的操作数进行加乘法运算结束后,再将乘积与目的操作数进行加法或减法运算。法或减法运算。法或减法运算。法或减法运算。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS3

232、20C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统乘法乘法- -累加和乘法累加和乘法- -减法指令功能减法指令功能 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1MACMACMACMAC SmemSmemSmemSmem , , , , srcsrcsrcsrcsrcsrcsrcsrc= =srcsrcsrcsrc+ +T T T T* * * *SmemSmemSmemSmem操作数与操作数与操作数与操作数与T T相乘加到累加器相乘加到累加器相乘加到累加器相乘加到累加器2 2MAC MAC MAC MAC XmemXme

233、mXmemXmem , , , ,YmemYmemYmemYmem , , , ,srcsrcsrcsrc,dstdstdstdst dstdstdstdst=srcsrcsrcsrc+XmemXmemXmemXmem * * * *YmemYmemYmemYmem, , , , T=T=T=T=XmemXmemXmemXmem两操作数相乘加到累加器两操作数相乘加到累加器两操作数相乘加到累加器两操作数相乘加到累加器3 3MAC #MAC #MAC #MAC #lklk , , , ,srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst=srcsrcsrcs

234、rc+ +T T T T* * * *# # # #lklk长立即数与长立即数与长立即数与长立即数与T T相乘加到累加器相乘加到累加器相乘加到累加器相乘加到累加器4 4MACMACMACMAC SmemSmemSmemSmem ,#,#,#,#lklk , , , ,srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst=srcsrcsrcsrc+SmemSmemSmemSmem* * * *# #lklk , , , ,T=T=T=T=SmemSmemSmemSmem长立即数与操作数相乘加到累长立即数与操作数相乘加到累长立即数与操作数相乘加到累长立即数与操

235、作数相乘加到累加器加器加器加器5 5MACR MACR MACR MACR SmemSmemSmemSmem , , , , srcsrcsrcsrcsrcsrcsrcsrc= =rndrndrndrnd( (srcsrcsrcsrc+ +T T T T* * * *SmemSmemSmemSmem) )操作数与操作数与操作数与操作数与T T相乘加到累加器相乘加到累加器相乘加到累加器相乘加到累加器( (带舍入带舍入带舍入带舍入) )6 6MACR MACR MACR MACR XmemXmemXmemXmem , , , ,YmemYmemYmemYmem , , , ,srcsrcsrcsr

236、c,dstdstdstdst dstdstdstdst= =rndrndrndrnd( (srcsrcsrcsrc+ +XmemXmemXmemXmem * * * *YmemYmemYmemYmem), ),T=T=T=T=XmemXmemXmemXmem两操作数相乘加到累加器两操作数相乘加到累加器两操作数相乘加到累加器两操作数相乘加到累加器( (带舍带舍带舍带舍入入入入) )7 7MACA MACA MACA MACA SmemSmemSmemSmem,B,B,B,B B B B B=B B B B+ +SmemSmemSmemSmem* * * *A A A A(32-16)(32-16

237、)(32-16)(32-16), , , ,T=T=T=T=SmemSmemSmemSmem操作数与累加器操作数与累加器操作数与累加器操作数与累加器A A高位相乘加到高位相乘加到高位相乘加到高位相乘加到累加器累加器累加器累加器B B8 8MACA MACA MACA MACA T,T,T,T,srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst=srcsrcsrcsrc+ +T T T T* * * *A A A A(32-16)(32-16)(32-16)(32-16)T T与与与与A A的高位相乘加到累加器的高位相乘加到累加器的高位相乘加到累加器的高位

238、相乘加到累加器第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统乘法乘法- -累加和乘法累加和乘法- -减法指令功能减法指令功能 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明9 9MACAR MACAR MACAR MACAR SmemSmemSmemSmem,B,B,B,B B B B B= =rndrndrndrnd( (B B B B+ +SmemSmemSmemSmem* * * *A

239、 A A A(32-16)(32-16)(32-16)(32-16), , , ,T=T=T=T=SmemSmemSmemSmem操作数与累加器操作数与累加器操作数与累加器操作数与累加器A A高位相乘高位相乘高位相乘高位相乘加到累加器加到累加器加到累加器加到累加器B(B(带舍入带舍入带舍入带舍入) )1010MACAR MACAR MACAR MACAR T,T,T,T,srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst= =rndrndrndrnd( (srcsrcsrcsrc+ +T T T T* * * *A A A A(32-16)(32-16)

240、(32-16)(32-16)T T与与与与A A高位相乘加到累加器高位相乘加到累加器高位相乘加到累加器高位相乘加到累加器( (带舍入带舍入带舍入带舍入) )1111MACD MACD MACD MACD SmemSmemSmemSmem , , , ,PmadPmadPmadPmad , , , ,srcsrcsrcsrcsrcsrcsrcsrc= =srcsrcsrcsrc+ + + +SmemSmemSmemSmem* * * *PmadPmadPmadPmad, , , ,T=T=T=T=SmemSmemSmemSmem, , , , ( ( ( (SmemSmemSmemSmem+1)

241、=+1)=+1)=+1)=SmemSmemSmemSmem操作数与程序存储器内容相操作数与程序存储器内容相操作数与程序存储器内容相操作数与程序存储器内容相乘后加到累加器并延迟乘后加到累加器并延迟乘后加到累加器并延迟乘后加到累加器并延迟1212MACP MACP MACP MACP SmemSmemSmemSmem , , , ,PmadPmadPmadPmad , , , ,srcsrcsrcsrcsrcsrcsrcsrc= =srcsrcsrcsrc+ + + +SmemSmemSmemSmem* * * *PmadPmadPmadPmad, , , ,T=T=T=T=SmemSmemSme

242、mSmem操作数与程序存储器内容相操作数与程序存储器内容相操作数与程序存储器内容相操作数与程序存储器内容相乘后加到累加器乘后加到累加器乘后加到累加器乘后加到累加器1313MACSU MACSU MACSU MACSU XmemXmemXmemXmem , , , ,YmemYmemYmemYmem , , , ,srcsrcsrcsrcsrcsrcsrcsrc=srcsrcsrcsrc+uns(+uns(+uns(+uns(XmemXmemXmemXmem) ) ) )* * * *YmemYmemYmemYmem, , , ,T=T=T=T=XmemXmemXmemXmem无符号操作数与有符

243、号操作无符号操作数与有符号操作无符号操作数与有符号操作无符号操作数与有符号操作数相乘后加到累加器数相乘后加到累加器数相乘后加到累加器数相乘后加到累加器1414MASMASMASMAS SmemSmemSmemSmem , , , ,srcsrcsrcsrcsrcsrcsrcsrc= =srcsrcsrcsrc- - - -T T T T* * * *SmemSmemSmemSmem累加器减去累加器减去累加器减去累加器减去T T与操作数的乘与操作数的乘与操作数的乘与操作数的乘积积积积1515MAS MAS MAS MAS XmemXmemXmemXmem , , , ,YmemYmemYmemY

244、mem , , , ,srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst=srcsrcsrcsrc- - - - XmemXmemXmemXmem * * * *YmemYmemYmemYmem, , , , T=T=T=T=XmemXmemXmemXmem累加器减去两操作数的乘积累加器减去两操作数的乘积累加器减去两操作数的乘积累加器减去两操作数的乘积第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系

245、统的指令系统的指令系统乘法乘法- -累加和乘法累加和乘法- -减法指令功能减法指令功能 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1616MASR MASR MASR MASR XmemXmemXmemXmem , , , ,YmemYmemYmemYmem , , , ,srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst= =rndrndrndrnd( (src-src-src-src-XmemXmemXmemXmem * * * *YmemYmemYmemYmem), ),T=T=T=T=XmemXmemXmemXmem累

246、加器减去两操作数的乘积累加器减去两操作数的乘积累加器减去两操作数的乘积累加器减去两操作数的乘积( (带舍入带舍入带舍入带舍入) )1717MASR MASR MASR MASR SmemSmemSmemSmem , , , ,srcsrcsrcsrcsrcsrcsrcsrc= =rndrndrndrnd( (srcsrcsrcsrc- - - -T T T T* * * *SmemSmemSmemSmem) )累加器减去累加器减去累加器减去累加器减去T T与操作数的乘与操作数的乘与操作数的乘与操作数的乘积积积积( (带舍入带舍入带舍入带舍入) )1818MASA MASA MASA MASA

247、SmemSmemSmemSmem , , , ,B B B B B B B B=B-B-B-B-SmemSmemSmemSmem* * * *A A A A(32-16)(32-16)(32-16)(32-16), , , ,T=T=T=T=SmemSmemSmemSmem累加器累加器累加器累加器B B减去操作数与累加减去操作数与累加减去操作数与累加减去操作数与累加器器器器A A高位的乘积高位的乘积高位的乘积高位的乘积1919MASA MASA MASA MASA T,T,T,T,srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst=srcsrcsrcsr

248、c- - - -T T T T* * * *A A A A(32-16)(32-16)(32-16)(32-16)累加器减去累加器减去累加器减去累加器减去T T与与与与A A高位的乘积高位的乘积高位的乘积高位的乘积2020MASAR MASAR MASAR MASAR T,T,T,T,srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst= =rndrndrndrnd( (srcsrcsrcsrc- - - -T T T T* * * *A A A A(32-(32-(32-(32-16)16)16)16)累加器减去累加器减去累加器减去累加器减去T T与与与

249、与A A高位的乘积高位的乘积高位的乘积高位的乘积( (带舍入带舍入带舍入带舍入) )2121SQURA SQURA SQURA SQURA Smem,srcSmem,srcSmem,srcSmem,srcsrcsrcsrcsrc= =srcsrcsrcsrc+ + + +SmemSmemSmemSmem* * * *SmemSmemSmemSmem, , , ,T T T T= =SmemSmemSmemSmem操作数的平方与累加器相加操作数的平方与累加器相加操作数的平方与累加器相加操作数的平方与累加器相加2222SQURS SQURS SQURS SQURS Smem,srcSmem,src

250、Smem,srcSmem,srcsrcsrcsrcsrc= =src-Smemsrc-Smemsrc-Smemsrc-Smem* * * *SmemSmemSmemSmem, , , ,T T T T= =SmemSmemSmemSmem操作数的平方与累加器相减操作数的平方与累加器相减操作数的平方与累加器相减操作数的平方与累加器相减第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(5)(5)双字算术运算指令双字算术运

251、算指令 双字算术运算指令共计双字算术运算指令共计双字算术运算指令共计双字算术运算指令共计6 6 6 6条,完成双条,完成双条,完成双条,完成双16161616位数的加减位数的加减位数的加减位数的加减运算。运算。运算。运算。 DADD DADD DADD DADD LmemLmemLmemLmem, , , ,srcsrcsrcsrc,dstdstdstdst 功能功能功能功能: : : : 若若若若C16C16C16C16=0 0 0 0,则完成双精度加法则完成双精度加法则完成双精度加法则完成双精度加法 dstdstdstdst =LmemLmemLmemLmem + + + +srcsrcs

252、rcsrc ; 若若若若C16C16C16C16=1 1 1 1,则双则双则双则双16161616位数加法位数加法位数加法位数加法 dstdstdstdst(39-16)(39-16)(39-16)(39-16)=LmemLmemLmemLmem(31-16)(31-16)(31-16)(31-16)+ + + +srcsrcsrcsrc(31-16)(31-16)(31-16)(31-16) dst dst dst dst(15-0)(15-0)(15-0)(15-0)=LmemLmemLmemLmem(15-0)(15-0)(15-0)(15-0)+ + + +srcsrcsrcsrc(1

253、5-0)(15-0)(15-0)(15-0)第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(5)(5)双字算术运算指令双字算术运算指令 DADST DADST DADST DADST DADST DADST LmemLmemLmemLmemLmemLmem, , , , , , dstdstdstdstdstdst DRSUB DRSUB DRSUB DRSUB DRSUB DRSUB LmemLmemLmemLm

254、emLmemLmem, , , , , ,srcsrcsrcsrcsrcsrc DSADT DSADT DSADT DSADT DSADT DSADT LmemLmemLmemLmemLmemLmem, , , , , , dstdstdstdstdstdst DSUB DSUB DSUB DSUB DSUB DSUB LmemLmemLmemLmemLmemLmem, , , , , ,srcsrcsrcsrcsrcsrc DSUBT DSUBT DSUBT DSUBT DSUBT DSUBT LmemLmemLmemLmemLmemLmem, , , , , , dstdstdstdstd

255、stdst第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(6)(6)特殊运算指令特殊运算指令 特殊运算指令共特殊运算指令共特殊运算指令共特殊运算指令共15151515条。条。条。条。 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1ABDST ABDST ABDST ABDST XmemXmemXmemXmem , , , , YmemYmemYmemYmemB B B B =B B B

256、 B +| | | |A A A A(32-16)|(32-16)|(32-16)|(32-16)|, , , ,A A A A=( ( ( (Xmem-YmemXmem-YmemXmem-YmemXmem-Ymem) ) ) )16161616绝对距离绝对距离绝对距离绝对距离2 2ABS ABS ABS ABS srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst =| | | |srcsrcsrcsrc | | | |累加器求绝对值累加器求绝对值累加器求绝对值累加器求绝对值3 3CMPL CMPL CMPL CMPL srcsrcsrcsrc , ,

257、, ,dstdstdstdst dstdstdstdst =srcsrcsrcsrc累加器求反累加器求反累加器求反累加器求反4 4DELAY DELAY DELAY DELAY SmemSmemSmemSmem( ( ( (SmemSmemSmemSmem +1)+1)+1)+1)=SmemSmemSmemSmem存储单元延迟存储单元延迟存储单元延迟存储单元延迟5 5EXP EXP EXP EXP srcsrcsrcsrcT T T T=带符号数带符号数带符号数带符号数( ( ( (srcsrcsrcsrc)-8)-8)-8)-8求累加器的指数求累加器的指数求累加器的指数求累加器的指数6 6F

258、IRS FIRS FIRS FIRS XmemXmemXmemXmem , , , ,YmemYmemYmemYmem , , , , PmadPmadPmadPmadB B B B=B B B B A*A*A*A*PmadPmadPmadPmad, , , ,A A A A=( ( ( (XmemXmemXmemXmem+ + + +YmemYmemYmemYmem) ) ) )16161616对称对称对称对称FIRFIR滤波滤波滤波滤波7 7LMS LMS LMS LMS XmemXmemXmemXmem , , , ,YmemYmemYmemYmemB B B B=B B B B + +

259、 XmemXmemXmemXmem * * * *YmemYmemYmemYmem, , , ,A A A A=( ( ( (A A A A + + + +XmemXmemXmemXmem16161616)+2)+2)+2)+215151515求最小均方值求最小均方值求最小均方值求最小均方值第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(6)(6)特殊运算指令特殊运算指令 序号序号序号序号指指指指 令令令令功功功功

260、 能能能能说说说说 明明明明8 8MAX MAX MAX MAX dstdstdstdstdstdstdstdst =max(A,Bmax(A,Bmax(A,Bmax(A,B) ) ) )求求求求A A和和和和B B的最大值的最大值的最大值的最大值9 9MIN MIN MIN MIN dstdstdstdstdstdstdstdst =min(A,Bmin(A,Bmin(A,Bmin(A,B) ) ) )求求求求A A和和和和B B的最小值的最小值的最小值的最小值1010NEG NEG NEG NEG srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst

261、=- - - -srcsrcsrcsrc累加器变负累加器变负累加器变负累加器变负1111NORM NORM NORM NORM srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst =srcsrcsrcsrcTS,TS,TS,TS,dstdstdstdst =normnormnormnorm( (src,src,src,src,T T T T) )归一化归一化归一化归一化1212POLY POLY POLY POLY SmemSmemSmemSmem B B B B=S S S Smemmemmemmem16161616, , , ,A A A A=rnd

262、rndrndrnd( ( ( (A A A A *T*T*T*T +B B B B ) ) ) )求多项式的值求多项式的值求多项式的值求多项式的值1313RND RND RND RND srcsrcsrcsrc , , , ,dstdstdstdst dstdstdstdst =srcsrcsrcsrc +2+2+2+215151515累加器舍入运算累加器舍入运算累加器舍入运算累加器舍入运算1414SAT SAT SAT SAT srcsrcsrcsrc Saturate(Saturate(Saturate(Saturate(srcsrcsrcsrc) ) ) )累加器饱和运算累加器饱和运算累

263、加器饱和运算累加器饱和运算1515SQDST SQDST SQDST SQDST XmemXmemXmemXmem , , , ,YmemYmemYmemYmem B B B B=B B B B + + A A A A(32-16)*(32-16)*(32-16)*(32-16)*A A A A(32-16)(32-16)(32-16)(32-16)A A A A=( ( ( (XmemXmemXmemXmem- - - -YmemYmemYmemYmem) ) ) )16161616求距离的平方求距离的平方求距离的平方求距离的平方第第第第第第3 3 3 3 3 3章章章章章章 TMS320C

264、54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.3 3.3.3 逻辑运算指令逻辑运算指令 C54xC54x的指令系统具有丰富的逻辑运算指令。的指令系统具有丰富的逻辑运算指令。的指令系统具有丰富的逻辑运算指令。的指令系统具有丰富的逻辑运算指令。 包括:包括: 与运算指令与运算指令与运算指令与运算指令( ( ( (ANDAND) ) ) ) 或运算指令或运算指令或运算指令或运算指令( ( ( (OROR) ) ) ) 异或运算指令异或运算指令异或运算指令异或运算指令( (

265、( (XORXOR) ) ) ) 移位操作指令移位操作指令移位操作指令移位操作指令( ( ( (SHIFTSHIFT) ) ) )测试操作指令测试操作指令测试操作指令测试操作指令( ( ( (TESTTEST) ) ) )第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(1)(1)(1)(1)(1)(1)与运算指令与运算指令与运算指令与运算指令与运算指令与运算指令 与逻辑运算指令共有与逻辑运算指令共有与逻辑运算指令共

266、有与逻辑运算指令共有5 5 5 5条。条。条。条。 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1AND AND AND AND SmemSmemSmemSmem , , , , srcsrcsrcsrcsrcsrcsrcsrc =srcsrcsrcsrc&SmemSmemSmemSmem源操作数与累加器与源操作数与累加器与源操作数与累加器与源操作数与累加器与运算运算运算运算2 2AND #AND #AND #AND #lklk,SHFT,SHFT,SHFT,SHFT,srcsrcsrcsrc,dstdstdstdst dstdstdstdst =srcsrcsr

267、csrc&#&#lklkSHFTSHFTSHFTSHFT长立即数移位后与累长立即数移位后与累长立即数移位后与累长立即数移位后与累加器与运算加器与运算加器与运算加器与运算3 3AND #AND #AND #AND #lklk,16,16,16,16,srcsrcsrcsrc,dstdstdstdst dstdstdstdst =srcsrcsrcsrc&#&#lklk16161616长立即数左移长立即数左移长立即数左移长立即数左移1616位与位与位与位与累加器与运算累加器与运算累加器与运算累加器与运算4 4AND AND AND AND srcsrcsrcsrc,SHIFT,SHIFT,SHIF

268、T,SHIFT,dstdstdstdst dstdstdstdst= =dstdstdstdst&srcsrcsrcsrcSHIFTSHIFTSHIFTSHIFT源累加器移位后与目源累加器移位后与目源累加器移位后与目源累加器移位后与目标累加器与运算标累加器与运算标累加器与运算标累加器与运算5 5ANDM #ANDM #ANDM #ANDM #lklk, , , , SmemSmemSmemSmemSmemSmemSmemSmem =SmemSmemSmemSmem&#&#lklk目标操作数与长立即目标操作数与长立即目标操作数与长立即目标操作数与长立即数与运算数与运算数与运算数与运算第第第第第第

269、3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(2)(2)(2)(2)(2)(2)或运算指令或运算指令或运算指令或运算指令或运算指令或运算指令 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1OR OR OR OR SmemSmemSmemSmem , , , , srcsrcsrcsrcsrcsrcsrcsrc =srcsrcsrcsrc | |SmemSmemSmemSmem源操作数与累加器或运

270、源操作数与累加器或运源操作数与累加器或运源操作数与累加器或运算算算算2 2OR OR OR OR # # # #lklk,SHFT,SHFT,SHFT,SHFT,srcsrcsrcsrc,dstdstdstdst dstdstdstdst =srcsrcsrcsrc | |# #lklkSHFTSHFTSHFTSHFT长立即数移位后与累加长立即数移位后与累加长立即数移位后与累加长立即数移位后与累加器或运算器或运算器或运算器或运算3 3OR #OR #OR #OR #lklk,16,16,16,16,srcsrcsrcsrc,dstdstdstdst dstdstdstdst =srcsrcsr

271、csrc |#|#lklk16161616长立即数左移长立即数左移长立即数左移长立即数左移1616位与累位与累位与累位与累加器或运算加器或运算加器或运算加器或运算4 4OR OR OR OR srcsrcsrcsrc,SHIFT,SHIFT,SHIFT,SHIFT,dstdstdstdst dstdstdstdst= =dstdstdstdst| |srcsrcsrcsrcSHIFTSHIFTSHIFTSHIFT源累加器移位后与目标源累加器移位后与目标源累加器移位后与目标源累加器移位后与目标累加器或运算累加器或运算累加器或运算累加器或运算5 5ORM #ORM #ORM #ORM #lklk,

272、 , , , SmemSmemSmemSmemSmemSmemSmemSmem =SmemSmemSmemSmem |#|#lklk目标操作数与长立即数目标操作数与长立即数目标操作数与长立即数目标操作数与长立即数或运算或运算或运算或运算第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(3)(3)(3)(3)(3)(3)异或运算指令异或运算指令异或运算指令异或运算指令异或运算指令异或运算指令 序号序号序号序号指指指指

273、令令令令功功功功 能能能能说说说说 明明明明1 1XOR XOR XOR XOR SmemSmemSmemSmem , , , , srcsrcsrcsrcsrcsrcsrcsrc =srcsrcsrcsrc SmemSmemSmemSmem源操作数与累加器异源操作数与累加器异源操作数与累加器异源操作数与累加器异或运算或运算或运算或运算2 2XOR XOR XOR XOR # # # #lklk,SHFT,SHFT,SHFT,SHFT,srcsrcsrcsrc,dstdstdstdst dstdstdstdst =srcsrcsrcsrc # #lklkSHFTSHFTSHFTSHFT长立即数

274、移位后与累长立即数移位后与累长立即数移位后与累长立即数移位后与累加器异或运算加器异或运算加器异或运算加器异或运算3 3XOR #XOR #XOR #XOR #lklk,16,16,16,16,srcsrcsrcsrc,dstdstdstdst dstdstdstdst =srcsrcsrcsrc # #lklk16161616长立即数左移长立即数左移长立即数左移长立即数左移1616位与位与位与位与累加器异或运算累加器异或运算累加器异或运算累加器异或运算4 4XOR XOR XOR XOR srcsrcsrcsrc,SHIFT,SHIFT,SHIFT,SHIFT,dstdstdstdst dst

275、dstdstdst= =dstdstdstdst srcsrcsrcsrcSHIFTSHIFTSHIFTSHIFT源累加器移位后与目源累加器移位后与目源累加器移位后与目源累加器移位后与目标累加器异或运算标累加器异或运算标累加器异或运算标累加器异或运算5 5XORM #XORM #XORM #XORM #lklk, , , , SmemSmemSmemSmemSmemSmemSmemSmem =SmemSmemSmemSmem # #lklk目标操作数与长立即目标操作数与长立即目标操作数与长立即目标操作数与长立即数异或运算数异或运算数异或运算数异或运算例:n n将0100H单元中的高8位数据屏蔽

276、(变为0),程序如何实现?第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.3 3.3.3 逻辑运算指令逻辑运算指令 (4)(4)(4)(4)(4)(4)移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令 C54xC54xC54xC54xC54xC54x共有共有共有共有共有共有6 6 6 6 6 6条移位指令,可实现带进位位循环移条移位指令,可实现带进位位循环移条移位指令,可实现带进位位循

277、环移条移位指令,可实现带进位位循环移条移位指令,可实现带进位位循环移条移位指令,可实现带进位位循环移位、带位、带位、带位、带位、带位、带TCTCTCTCTCTC位循环左移、算术移位、条件移位和逻辑移位循环左移、算术移位、条件移位和逻辑移位循环左移、算术移位、条件移位和逻辑移位循环左移、算术移位、条件移位和逻辑移位循环左移、算术移位、条件移位和逻辑移位循环左移、算术移位、条件移位和逻辑移位等操作位等操作位等操作位等操作位等操作位等操作。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320

278、C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(4)(4)(4)(4)(4)(4)移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令 带进位位循环右移带进位位循环右移 操作数操作数src:累加器累加器A或或B 指令功能指令功能: 累加器累加器src与进位位与进位位C循环右移一位。循环右移一位。 执行过程:执行过程: 指令格式:指令格式:指令格式:指令格式: ROR ROR srcsrc C的值移入的值移入src的的3131位位 累加器累加器src右移一位右移一位 src的最低位的最低位移入移入C src的保护位清的保护位清039 3231 0累加器累

279、加器累加器累加器srcsrc保护位保护位保护位保护位C C0 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(4)(4)(4)(4)(4)(4)移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令 带进位位循环左移带进位位循环左移 指令格式:指令格式:指令格式:指令格式: ROL ROL srcsrc 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS

280、320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(4)(4)(4)(4)(4)(4)移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令 带测试位循环左移带测试位循环左移 操作数操作数src:累加器累加器A或或B 指令功能指令功能: 累加器累加器src与测试位与测试位TC循环左移一位。循环左移一位。 执行过程:执行过程: 指令格式:指令格式:指令格式:指令格式: ROLTC ROLTC srcsrc 39 3231 0累加器累加器累加器累加器srcsrc保护位保护位保护位保护位TCTC T

281、C的值移入的值移入src的最低位的最低位 累加器累加器src左移一位左移一位src的最高位的最高位移入移入TCsrc的保护位清的保护位清00 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统算术移位算术移位 操作数操作数src:累加器累加器A或或B 指令功能指令功能: 根据根据SHIFT,src的内容算术移位。的内容算术移位。 指令格式:指令格式:指令格式:指令格式: SFTA SFTA srcsrc, , SHIF

282、T SHIFT , ,dstdst 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统算术移位算术移位执行过程:执行过程:当当SHIFT0时,进行算术左移时,进行算术左移 1)src的第的第(39-SHIET)位复制到进位位位复制到进位位C; 2)40位位src左移左移SHIFT位,结果存入位,结果存入src或或dst; 3)将将0置入置入dst的低的低SHIFT的各位的各位0写入写入dst(SHIFT-1)0)第第第

283、第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(4)(4)(4)(4)(4)(4)移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令 条件移位条件移位 操作数操作数src:累加器累加器A或或B 指令格式:指令格式:指令格式:指令格式: SFTC SFTC srcsrc 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTM

284、S320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统条件移位条件移位 执行过程:执行过程: 当当srcsrc=0 0时时,将将1 1写入测试位写入测试位TCTC; 当当srcsrc0 0时,时,进行条件移位。进行条件移位。 若若srcsrc有两个有效符号位有两个有效符号位,则移位。则移位。 3232位位srcsrc左移一位左移一位; 保护位保护位src(39src(3932)32)不变不变; 0 0写入测试位写入测试位TCTC。 若若srcsrc只有一个符号位只有一个符号位,则不移位。则不移位。 1 1写入测试位写入测试位TCTC。第第第第第第3 3

285、 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(4)(4)(4)(4)(4)(4)移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令移位操作指令 逻辑移位逻辑移位 操作数操作数src:累加器累加器A或或B 指令格式:指令格式:指令格式:指令格式: SFTL SFTL srcsrc,SHIFTSHIFT ,dstdst 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54

286、xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统 逻辑移位逻辑移位执行过程:执行过程: 若若SHIFTSHIFT0 0,则进行逻辑左移。则进行逻辑左移。 srcsrc的第的第( (3131-(-(SHIFTSHIFT- -1 1)位复制到进位位位复制到进位位C C; src( src(31-31-SHIFTSHIFT) )0 0) )左移左移SHIFTSHIFT位存入位存入dstdst; 0 0写入写入dstdst的低的低SHIFTSHIFT位位, ,即即0 0dstdst(SHIFTSHIFT-1)-1)0 0) );

287、 0 0写入写入dstdst的高的高8 8位位, ,即即0 0dstdst(39(393232) )。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.3 3.3.3 逻辑运算指令逻辑运算指令 (5)(5)(5)(5)(5)(5)测试操作指令测试操作指令测试操作指令测试操作指令测试操作指令测试操作指令 C54xC54xC54xC54xC54xC54x共有共有共有共有共有共有5 5 5 5 5 5条测试操作指令条

288、测试操作指令条测试操作指令条测试操作指令条测试操作指令条测试操作指令。 BIT 指令格式:指令格式: BIT Xmem,BITC 指令功能:指令功能: ( (Xmem( (1515- -BITC)TC功能说明:功能说明: 将将Xmem的指定位复制到的指定位复制到TC位。位。 操操 作作 数:数: Xmem双数据存储操作数双数据存储操作数 BITC测试位的位代码测试位的位代码,取值:取值:0 01515 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令

289、系统的指令系统的指令系统的指令系统(5)(5)(5)(5)(5)(5)测试操作指令测试操作指令测试操作指令测试操作指令测试操作指令测试操作指令 BITF 指令格式:指令格式: BITF Smem,#lk 指令功能:指令功能: If(Smem) )ANDAND lk)=)=0 Then 0TC Else 1TC功能说明功能说明: 测试测试SmemSmem中由中由1 1k k指定的某些位指定的某些位。 若指定的测试位为若指定的测试位为0,0,TC=0,TC=0,否则否则,TC=1,TC=1。 lklk在测试指定位中起屏蔽作用。在测试指定位中起屏蔽作用。操操 作作 数:数: Smem单数据存储操作数

290、单数据存储操作数 #lk1616位长立即数位长立即数,取值:取值:0 06 65 5535535 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(5)(5)(5)(5)(5)(5)测试操作指令测试操作指令测试操作指令测试操作指令测试操作指令测试操作指令 BITT 指令格式:指令格式: BITT Smem 指令功能:指令功能: ( (Smem(15-(15-T(3(30 0)TC功能说明功能说明: 将将SmemSme

291、m的的指定位复制到指定位复制到TCTC中中。 T T寄存器的低寄存器的低4 4位位T(3T(30)0)用于确定测试位用于确定测试位 的位代码的位代码,位地址对应于位地址对应于15-15-T(3T(30)0)。操操 作作 数:数: Smem单数据存储操作数单数据存储操作数第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(5)(5)(5)(5)(5)(5)测试操作指令测试操作指令测试操作指令测试操作指令测试操作指令测试操

292、作指令 CMPM 指令格式:指令格式: CMPM Smem,#lk 操操 作作 数:数: Smem单数据存储操作数单数据存储操作数 #lk长立即数长立即数,取值:取值:-32-327687683232768768指令功能:指令功能: If ( (Smem) )=lk Then 1TC Else 0TC功能说明功能说明: 比较比较SmemSmem中的操作数与常量中的操作数与常量1 1k k是否相等是否相等。 若若( (SmemSmem) )=1k,1k,则则TCTC=1,1,否则否则,TC,TC=0 0。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTM

293、S320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(5)(5)(5)(5)(5)(5)测试操作指令测试操作指令测试操作指令测试操作指令测试操作指令测试操作指令 CMPR 指令格式:指令格式: CMPR CC,ARx 操操 作作 数:数: CC条件代码,取值:条件代码,取值:0000b b11b11b ARx辅助寄存器辅助寄存器AR0 0AR7 7指令功能:指令功能: If ( (condcond) ) Then 1TC Else 0TC功能说明功能说明: 根据条件代码根据条件代码CCCC,将指定的将指定的AR

294、xARx与与AR0AR0比较。比较。 若满足条件若满足条件, ,则则TCTC=1,1,否则否则,TC,TC=0 0。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统(5)(5)(5)(5)(5)(5)测试操作指令测试操作指令测试操作指令测试操作指令测试操作指令测试操作指令 测试条件与代码测试条件与代码条件条件条件条件条件代码条件代码条件代码条件代码CCCC说明说明说明说明EQEQLTLTGTGTNEQNEQ0 00

295、00 10 11 01 01 11 1 测试测试测试测试ARxARx是否等于是否等于是否等于是否等于AR0AR0 测试测试测试测试ARxARx是否小于是否小于是否小于是否小于AR0AR0 测试测试测试测试ARxARx是否大于是否大于是否大于是否大于AR0AR0 测试测试测试测试ARxARx是否不等于是否不等于是否不等于是否不等于AR0AR0注意:注意:所有的条件都以无符号操作数的形式参与运算。所有的条件都以无符号操作数的形式参与运算。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C

296、54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.4 3.3.4 程序控制指令程序控制指令 C54xC54x的程序控制指令共有的程序控制指令共有的程序控制指令共有的程序控制指令共有31313131条,可分为条,可分为条,可分为条,可分为6 6 6 6类:类:类:类: 包括:包括: 分支转移指令分支转移指令分支转移指令分支转移指令子程序调用指令子程序调用指令子程序调用指令子程序调用指令中断指令中断指令中断指令中断指令返回指令返回指令返回指令返回指令堆栈操作指令堆栈操作指令堆栈操作指令堆栈操作指令其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令第第第第第第3

297、 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.4 3.3.4 程序控制指令程序控制指令 1.1.1.1.1.1.分支转移指令分支转移指令分支转移指令分支转移指令分支转移指令分支转移指令 分支转移指令共有分支转移指令共有分支转移指令共有分支转移指令共有6 6 6 6条,可实现无条件转移、有条,可实现无条件转移、有条,可实现无条件转移、有条,可实现无条件转移、有条件转移和远程转移等。条件转移和远程转移等。条件转移和远程转移等

298、。条件转移和远程转移等。 操操 作作 数数: pmad立即数表示的程序存储器立即数表示的程序存储器 地址。取值:地址。取值:0 06565535535 指令格式:指令格式: BD pmad 指令功能:指令功能: pmad PC BD 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.1.1.分支转移指令分支转移指令分支转移指令分支转移指令分支转移指令分支转移指令 指令格式:指令格式: BD pmad 功

299、能说明功能说明: 将将pmadpmad指定的程序存储器地址赋给指定的程序存储器地址赋给PCPC, 实现分支转移。实现分支转移。BD 注注 意:意: 若指令带后缀若指令带后缀D D,则为延迟方式,紧随则为延迟方式,紧随 该指令的两条单字指令或一条双字指令该指令的两条单字指令或一条双字指令 先被取出执行,然后程序再转移。先被取出执行,然后程序再转移。 该指令不能被循环执行。该指令不能被循环执行。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令

300、系统的指令系统的指令系统1.1.1.1.1.1.分支转移指令分支转移指令分支转移指令分支转移指令分支转移指令分支转移指令 指令格式:指令格式: BACCD src BACCD 操操 作作 数:数: src累加器累加器A或或B 指令功能:指令功能: src(150) PC 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.1.1.分支转移指令分支转移指令分支转移指令分支转移指令分支转移指令分支转移指令 指

301、令格式:指令格式: BANZD pmad,Sind BANZD 操操 作作 数:数: Sind单间接寻址操作数单间接寻址操作数 pmad程序存储器地址程序存储器地址 指令功能:指令功能: If (ARx) 0) Then pmadPC Else (PC)+2PC 功能说明功能说明: 若当前若当前ARxARx0 0,则则pmadpmad的值赋给的值赋给PCPC, 否则,否则,PCPC值加值加2 2。 例:在累加器中连加例:在累加器中连加(连加多少次?连加多少次?)STM#0004H,AR2ST#0007H,*AR2LD#0050H,ALOOP:ADD#40H,ABANZLOOP,*AR2-STL

302、A,0030H第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统1.1.1.1.1.1.分支转移指令分支转移指令分支转移指令分支转移指令分支转移指令分支转移指令 指令格式:指令格式: BCD pmad,cond,cond,cond BCD 功能说明功能说明: 若满足特定条件若满足特定条件,则则pmadpmad的值赋给的值赋给PCPC, 否则,否则,PCPC值加值加2 2。指令格式:指令格式: FBD extpmad F

303、BD 指令格式:指令格式: FBACCD src FBACCD 功能说明功能说明: 将将srcsrc的高的高7 7位位(22221616)赋给赋给X XPCPC,srcsrc的的 低低1616位位(15150 0)赋给赋给PCPC。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.4 3.3.4 程序控制指令程序控制指令 2.2.2.2.2.2.子程序调用指令子程序调用指令子程序调用指令子程序调用指令子程序调用

304、指令子程序调用指令 子程序调用指令共有子程序调用指令共有子程序调用指令共有子程序调用指令共有5 5 5 5条条条条, , , ,可实现子程序的无条件可实现子程序的无条件可实现子程序的无条件可实现子程序的无条件调用调用调用调用、有条件调用和远程调用等,并具有延时操作。有条件调用和远程调用等,并具有延时操作。有条件调用和远程调用等,并具有延时操作。有条件调用和远程调用等,并具有延时操作。 操操 作作 数数: src累加器累加器A或或B 指令格式:指令格式: CALAD src 指令功能:指令功能: 若非延时,若非延时,( (SP)-1SP)-1SPSP ( (PC)+1PC)+1TOSTOS (

305、(src(15src(150)0)PCPC 若延时,若延时,( (SP)-1SP)-1SPSP ( (PC)+3PC)+3TOSTOS ( (src(15src(150)0)PCPC CALAD 功能说明功能说明: 首先将返回的地址压入栈顶保存首先将返回的地址压入栈顶保存,然后然后 将将src的低的低1616位赋给位赋给PCPC,实现子程序调用。实现子程序调用。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统2.2.

306、2.2.2.2.子程序调用指令子程序调用指令子程序调用指令子程序调用指令子程序调用指令子程序调用指令 指令格式:指令格式: CALLD pmad CALLD FCALLD 指令格式:指令格式: FCALLD extpmad 指令格式:指令格式: CCD pmad,cond,cond,cond CCD FCALAD 指令格式:指令格式: FCALAD src 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.4

307、3.3.4 程序控制指令程序控制指令 3.3.3.3.3.3.中断指令中断指令中断指令中断指令中断指令中断指令 操操 作作 数数: K小于小于9 9位的短立即数位的短立即数 指令格式:指令格式: INTR K TRAP K 指令功能:指令功能: ( (SP)-1SP)-1SPSP ( (PC)+1PC)+1TOSTOSINTR功能说明功能说明: 首先将首先将PCPC值压入栈顶值压入栈顶,然后将然后将K K所确定的所确定的 中断向量赋给中断向量赋给PCPC,执行中断服务子程序。执行中断服务子程序。 中断标志寄存器中断标志寄存器IFRIFR对应位清对应位清0 0且且INTM=1INTM=1。TRA

308、P第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.4 3.3.4 程序控制指令程序控制指令 4.4.4.4.4.4.返回指令返回指令返回指令返回指令返回指令返回指令 返回指令共有返回指令共有返回指令共有返回指令共有5 5 5 5条条条条, , , ,可实现无条件返回可实现无条件返回可实现无条件返回可实现无条件返回、有条件返回有条件返回有条件返回有条件返回和远程返回等,并具有延时操作。和远程返回等,并具有延时操

309、作。和远程返回等,并具有延时操作。和远程返回等,并具有延时操作。 指令格式:指令格式: FRETD 指令功能:指令功能: ( (TOSTOS) )XPCXPC ( (SP)+1SP)+1SPSP ( (TOSTOS) )PCPC ( (SP)+1SP)+1SPSP FRETD 功能说明功能说明: 长返回指令长返回指令。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统4.4.4.4.4.4.返回指令返回指令返回指令返回

310、指令返回指令返回指令 指令格式:指令格式: FRETED 指令功能:指令功能: ( (TOSTOS) )XPCXPC ( (SP)+1SP)+1SPSP ( (TOSTOS) )PCPC ( (SP)+1SP)+1SP 0SP 0INTMINTM FRETED 功能说明功能说明: 长中断返回指令。长中断返回指令。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统4.4.4.4.4.4.返回指令返回指令返回指令返回指令返

311、回指令返回指令 指令功能:指令功能: IfIf ( (cond(scond(s) ) Then Then (TOS(TOS) )PCPC ( (S SP)+1P)+1SPSP Else Else ( (PC)+1PC)+1PCPC RCD 功能说明功能说明: 若满足条件,栈顶数据弹出到若满足条件,栈顶数据弹出到PCPC,SPSP加加1 1, 若不满足条件,执行若不满足条件,执行PCPC加加1 1。指令格式:指令格式: RCD cond,cond,cond 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320

312、C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统4.4.4.4.4.4.返回指令返回指令返回指令返回指令返回指令返回指令 指令功能:指令功能: (TOS(TOS) )PCPC ( (S SP)+1P)+1SPSPRETD 功能说明功能说明: 栈顶栈顶1616位数据弹出到位数据弹出到PCPC,SPSP加加1 1。指令格式:指令格式: RETD 指令功能:指令功能: (TOS(TOS) )PCPC ( (S SP)+1P)+1SP 0SP 0INTMINTM RETED 功能说明功能说明: 栈顶栈顶1616位数据弹出到位数据弹出到PC,SPPC,SP加加1,

313、1,INTMINTM清清0 0。指令格式:指令格式: RETED 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统4.4.4.4.4.4.返回指令返回指令返回指令返回指令返回指令返回指令 指令功能:指令功能: (RTN(RTN) )PCPC ( (S SP)+1P)+1SP 0SP 0INTMINTM RETFD 功能说明功能说明: 将快速返回寄存器将快速返回寄存器RTNRTN中的内容赋给中的内容赋给PCPC, 然后

314、然后SPSP加加1 1,INTMINTM清清0 0。指令格式:指令格式: RETFD 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.4 3.3.4 程序控制指令程序控制指令 5.5.5.5.5.5.堆栈操作指令堆栈操作指令堆栈操作指令堆栈操作指令堆栈操作指令堆栈操作指令 堆栈操作指令共有堆栈操作指令共有堆栈操作指令共有堆栈操作指令共有5 5 5 5条条条条, , , ,可对系统堆栈进行管理,可对系统堆栈进行

315、管理,可对系统堆栈进行管理,可对系统堆栈进行管理,实现数据的进栈和出栈。实现数据的进栈和出栈。实现数据的进栈和出栈。实现数据的进栈和出栈。 指令格式:指令格式: FRAME K 指令功能:指令功能: ( (SPSP)+K)+KSPSP FRAME 功能说明功能说明: 将短立即数偏移将短立即数偏移K K加到加到SPSP中。中。操操 作作 数数: K9 9位短立即数,取值:位短立即数,取值:-128-128127127 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的

316、指令系统的指令系统的指令系统的指令系统的指令系统5.5.5.5.5.5.堆栈操作指令堆栈操作指令堆栈操作指令堆栈操作指令堆栈操作指令堆栈操作指令 指令格式:指令格式: POPD Smem 指令功能:指令功能: ( (TOSTOS) )SmemSmem (SP)+1 (SP)+1SPSP POPD 功能说明功能说明: 由由SPSP寻址的数据存储器单元中的内容复寻址的数据存储器单元中的内容复 制到由制到由SmemSmem确定的数据存储器单元中确定的数据存储器单元中。 然后然后SPSP加加1 1。POPM 指令格式:指令格式: POPM MMR 第第第第第第3 3 3 3 3 3章章章章章章 TMS

317、320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统PSHD 指令格式:指令格式: PSHD Smem 指令功能:指令功能: ( (SPSP)-1)-1SPSP SmemSmemTOSTOS 功能说明功能说明: SPSP减减1 1操作后,将存储单元操作后,将存储单元SmemSmem的内容的内容 压入压入SPSP指向的数据存储单元指向的数据存储单元。PSHM 指令格式:指令格式: PSHM MMR 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS32

318、0C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.4 3.3.4 程序控制指令程序控制指令 6.6.6.6.6.6.其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令 指令格式:指令格式: IDLE K IDLE 功能说明功能说明: 强迫程序执行等待操作直到产生非屏蔽强迫程序执行等待操作直到产生非屏蔽 中断或复位操作。中断或复位操作。PCPC值加值加1 1,芯片保持空,芯片保持空 闲状态直至中断产生。闲状态直至中断产生。指令格式:指令格式:

319、MAR Smem MAR 功能说明功能说明: 修改由修改由SmemSmem所确定的辅助寄存器的内容。所确定的辅助寄存器的内容。指令格式:指令格式: MAR Smem MAR 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统6.6.6.6.6.6.其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令 指令格式:指令格式: NOP NOP 功能说明功能说明:该指令除了执行该指令

320、除了执行PCPC加加1 1外外,不执行任何操作。不执行任何操作。RESET 指令格式:指令格式: RESET 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统6.6.6.6.6.6.其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令 指令格式:指令格式: RSBX N,SBIT RSBX 功能说明功能说明:对状态寄存器对状态寄存器ST0ST0和和ST1ST1的特定位清的特

321、定位清0。操操 作作 数数:N N指明被修改的指明被修改的状态寄存器状态寄存器, N=0N=0时,为时,为ST0ST0;N=1N=1时,为时,为ST1ST1 SBITSBIT表示表示状态寄存器被修改的位数,状态寄存器被修改的位数, 取值:取值:0 01515指令功能:指令功能: 0 0STN(SBIT)STN(SBIT) 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统6.6.6.6.6.6.其他程序控制指令其他程序

322、控制指令其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令 指令格式:指令格式: SSBX N,SBIT SSBX 功能说明功能说明:对状态寄存器对状态寄存器ST0ST0和和ST1ST1的特定位置的特定位置1 1。操操 作作 数数:N N指明被修改的指明被修改的状态寄存器状态寄存器, N=0N=0时,为时,为ST0ST0;N=1N=1时,为时,为ST1ST1 SBITSBIT表示表示状态寄存器被修改的位数,状态寄存器被修改的位数, 取值:取值:0 01515指令功能:指令功能: 1 1STN(SBIT)STN(SBIT) 第第第第第第3 3 3 3 3 3章章章章章章 TMS32

323、0C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统6.6.6.6.6.6.其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令其他程序控制指令 XC 操操 作作 数数:n表示紧接着执行的指令条数表示紧接着执行的指令条数,n=1=1或或2 2。指令格式:指令格式: XC n,cond,cond,cond 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x

324、TMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.5 3.3.5 并行操作指令并行操作指令 并并并并并并行操作是利用流水线和并行操作的硬件电路,行操作是利用流水线和并行操作的硬件电路,行操作是利用流水线和并行操作的硬件电路,行操作是利用流水线和并行操作的硬件电路,行操作是利用流水线和并行操作的硬件电路,行操作是利用流水线和并行操作的硬件电路,将单指令的数据传送将单指令的数据传送将单指令的数据传送将单指令的数据传送将单指令的数据传送将单指令的数据传送和存储与和存储与和存储与和存储与和存储与和存储与各种运算同时进行操各种运算同时进行操各种运算同时进行操各种运算

325、同时进行操各种运算同时进行操各种运算同时进行操作。作。作。作。作。作。可充分利用了可充分利用了可充分利用了可充分利用了可充分利用了可充分利用了 C54xC54xC54x的流水线特性,提高了代的流水线特性,提高了代的流水线特性,提高了代的流水线特性,提高了代的流水线特性,提高了代的流水线特性,提高了代码和时间效率。码和时间效率。码和时间效率。码和时间效率。码和时间效率。码和时间效率。 两条单指令进行并行操作时,应根据指令的前两条单指令进行并行操作时,应根据指令的前两条单指令进行并行操作时,应根据指令的前两条单指令进行并行操作时,应根据指令的前两条单指令进行并行操作时,应根据指令的前两条单指令进行

326、并行操作时,应根据指令的前后注意流水线冲突。后注意流水线冲突。后注意流水线冲突。后注意流水线冲突。后注意流水线冲突。后注意流水线冲突。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.5 3.3.5 并行操作指令并行操作指令 并行操作指令可分为:并行操作指令可分为:并行操作指令可分为:并行操作指令可分为:并行操作指令可分为:并行操作指令可分为: 并行装载和存储指令并行装载和存储指令并行装载和存储指令并行装载和

327、存储指令并行装载和存储指令并行装载和存储指令 并行存储和加并行存储和加并行存储和加并行存储和加并行存储和加并行存储和加/ / / / / /减指令减指令减指令减指令减指令减指令 并行装载和乘法指令并行装载和乘法指令并行装载和乘法指令并行装载和乘法指令并行装载和乘法指令并行装载和乘法指令 并行存储和乘法指令并行存储和乘法指令并行存储和乘法指令并行存储和乘法指令并行存储和乘法指令并行存储和乘法指令 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指

328、令系统的指令系统的指令系统1.1.1.1.1.1.并行装载和存储指令并行装载和存储指令并行装载和存储指令并行装载和存储指令并行装载和存储指令并行装载和存储指令序序序序号号号号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1ST ST ST ST src,Ymemsrc,Ymemsrc,Ymemsrc,Ymem| LD LD LD LD XmemXmemXmemXmem, , , ,dstdstdstdstYmemYmemYmemYmem=srcsrcsrcsrc(ASM-(ASM-(ASM-(ASM-16)16)16)16)|dstdstdstdst =XmemXmemXmemXm

329、em16161616累加器移位存储累加器移位存储累加器移位存储累加器移位存储并行移位加载累并行移位加载累并行移位加载累并行移位加载累加器加器加器加器2 2ST ST ST ST src,Ymemsrc,Ymemsrc,Ymemsrc,Ymem| LD LD LD LD XmemXmemXmemXmem,T,T,T,TYmemYmemYmemYmem=srcsrcsrcsrc(ASM-(ASM-(ASM-(ASM-16)16)16)16)|T T T T=XmemXmemXmemXmem 累加器移位存储累加器移位存储累加器移位存储累加器移位存储并行加载并行加载并行加载并行加载T T寄存寄存寄存寄

330、存器器器器 并行装载和存储指令共并行装载和存储指令共并行装载和存储指令共并行装载和存储指令共并行装载和存储指令共并行装载和存储指令共2 2 2 2 2 2条。条。条。条。条。条。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统2.2.2.2.2.2.并行存储和加并行存储和加并行存储和加并行存储和加并行存储和加并行存储和加/ / / / / /减法指令减法指令减法指令减法指令减法指令减法指令 并行存储和加并行存储和加

331、并行存储和加并行存储和加并行存储和加并行存储和加/ / / / / /减法指令只有减法指令只有减法指令只有减法指令只有减法指令只有减法指令只有2 2 2 2 2 2条。条。条。条。条。条。 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1ST ST ST ST src,Ymemsrc,Ymemsrc,Ymemsrc,Ymem| ADD ADD ADD ADD XmemXmemXmemXmem, , , ,dstdstdstdstYmemYmemYmemYmem=srcsrcsrcsrc(ASM-16)(ASM-16)(ASM-16)(ASM-16)|dstdstds

332、tdst =dstdstdstdst_ _ _ _+ + + + XmemXmemXmemXmem16161616累加器移位存储并累加器移位存储并累加器移位存储并累加器移位存储并行移位加法运算行移位加法运算行移位加法运算行移位加法运算2 2ST ST ST ST src,Ymemsrc,Ymemsrc,Ymemsrc,Ymem| SUB SUB SUB SUB XmemXmemXmemXmem, , , ,dstdstdstdstYmemYmemYmemYmem=srcsrcsrcsrc(ASM-16)(ASM-16)(ASM-16)(ASM-16)|dstdstdstdst =(=(Xmem

333、XmemXmemXmem16)-16)-16)-16)-dst_dst_dst_dst_累加器移位存储并累加器移位存储并累加器移位存储并累加器移位存储并行移位减法运算行移位减法运算行移位减法运算行移位减法运算第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.3.3.3.3.并行装载和乘法指令并行装载和乘法指令并行装载和乘法指令并行装载和乘法指令并行装载和乘法指令并行装载和乘法指令 并行装载和乘法指令共并行装载和

334、乘法指令共并行装载和乘法指令共并行装载和乘法指令共并行装载和乘法指令共并行装载和乘法指令共4 4 4 4 4 4条条条条条条。 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1LD LD LD LD Xmem,dstXmem,dstXmem,dstXmem,dst| MAC MAC MAC MAC YmemYmemYmemYmem, , , ,dstdstdstdst_ _ _ _dstdstdstdst=XmemXmemXmemXmem16161616|dstdstdstdst_ _ _ _ =dstdstdstdst_ _ _ _ + +T*T*T*T*Ymem

335、YmemYmemYmem操作数移位加载累加操作数移位加载累加操作数移位加载累加操作数移位加载累加器并行乘法累加运算器并行乘法累加运算器并行乘法累加运算器并行乘法累加运算2 2LD LD LD LD Xmem,dstXmem,dstXmem,dstXmem,dst| MACR MACR MACR MACR YmemYmemYmemYmem, , , , dstdstdstdst_ _ _ _dstdstdstdst=XmemXmemXmemXmem16161616|dstdstdstdst_ _ _ _ =rndrndrndrnd( (dstdstdstdst_ _ _ _ + +T*T*T*T

336、*YmemYmemYmemYmem) ) ) )操作数移位加载累加操作数移位加载累加操作数移位加载累加操作数移位加载累加器并行带舍入乘法累器并行带舍入乘法累器并行带舍入乘法累器并行带舍入乘法累加运算加运算加运算加运算3 3LD LD LD LD Xmem,dstXmem,dstXmem,dstXmem,dst| MAS MAS MAS MAS YmemYmemYmemYmem, , , ,dstdstdstdst_ _ _ _dstdstdstdst=XmemXmemXmemXmem16161616|dstdstdstdst_ _ _ _ =dstdstdstdst_ _ _ _ -T*-T*

337、-T*-T*YmemYmemYmemYmem操作数移位加载累加操作数移位加载累加操作数移位加载累加操作数移位加载累加器并行乘法减法运算器并行乘法减法运算器并行乘法减法运算器并行乘法减法运算4 4LD LD LD LD Xmem,dstXmem,dstXmem,dstXmem,dst| MASR MASR MASR MASR YmemYmemYmemYmem, , , , dstdstdstdst_ _ _ _dstdstdstdst=XmemXmemXmemXmem16161616|dstdstdstdst_ _ _ _ =rndrndrndrnd( (dstdstdstdst_ _ _ _

338、- - - -T*T*T*T*YmemYmemYmemYmem) ) ) )操作数移位加载累加操作数移位加载累加操作数移位加载累加操作数移位加载累加器并行带舍入乘法减器并行带舍入乘法减器并行带舍入乘法减器并行带舍入乘法减法运算法运算法运算法运算第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统4.4.4.4.4.4.并行存储和乘法指令并行存储和乘法指令并行存储和乘法指令并行存储和乘法指令并行存储和乘法指令并行存储和乘法

339、指令 并行存储和乘法指令共并行存储和乘法指令共并行存储和乘法指令共并行存储和乘法指令共并行存储和乘法指令共并行存储和乘法指令共5 5 5 5 5 5条条条条条条。 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1ST ST ST ST src,Ymemsrc,Ymemsrc,Ymemsrc,Ymem| MAC MAC MAC MAC XmemXmemXmemXmem, , , ,dstdstdstdstYmemYmemYmemYmem = = srcsrcsrcsrc(ASM(ASM(ASM(ASM - - - - 16)16)16)16)|dstdstdstdst

340、 =dstdstdstdst + +T*T*T*T*XmemXmemXmemXmem累加器移位存储并累加器移位存储并累加器移位存储并累加器移位存储并行乘法累加运算行乘法累加运算行乘法累加运算行乘法累加运算2 2ST ST ST ST src,Ymemsrc,Ymemsrc,Ymemsrc,Ymem| MACR MACR MACR MACR XmemXmemXmemXmem, , , , dstdstdstdstYmemYmemYmemYmem = = srcsrcsrcsrc(ASM(ASM(ASM(ASM - - - - 16)16)16)16)|dstdstdstdst =rndrndrn

341、drnd( (dstdstdstdst + +T*T*T*T*XmemXmemXmemXmem) ) ) )累加器移位存储并累加器移位存储并累加器移位存储并累加器移位存储并行乘法累加运算行乘法累加运算行乘法累加运算行乘法累加运算3 3ST ST ST ST src,Ymemsrc,Ymemsrc,Ymemsrc,Ymem| MAS MAS MAS MAS XmemXmemXmemXmem, , , ,dstdstdstdstYmemYmemYmemYmem = = srcsrcsrcsrc(ASM(ASM(ASM(ASM - - - - 16)16)16)16)|dstdstdstdst =d

342、stdstdstdst -T*-T*-T*-T*XmemXmemXmemXmem累加器移位存储并累加器移位存储并累加器移位存储并累加器移位存储并行乘法减法运算行乘法减法运算行乘法减法运算行乘法减法运算4 4ST ST ST ST src,Ymemsrc,Ymemsrc,Ymemsrc,Ymem| MASR MASR MASR MASR XmemXmemXmemXmem, , , , dstdstdstdstYmemYmemYmemYmem = = srcsrcsrcsrc(ASM(ASM(ASM(ASM - - - - 16)16)16)16)|dstdstdstdst =rndrndrndr

343、nd( (dstdstdstdst - - - -T*T*T*T*XmemXmemXmemXmem) ) ) )累加器移位存储并累加器移位存储并累加器移位存储并累加器移位存储并行乘法减法运算行乘法减法运算行乘法减法运算行乘法减法运算5 5ST ST ST ST src,Ymemsrc,Ymemsrc,Ymemsrc,Ymem| MAY MAY MAY MAY XmemXmemXmemXmem, , , ,dstdstdstdstYmemYmemYmemYmem = = srcsrcsrcsrc(ASM(ASM(ASM(ASM - - - - 16)16)16)16)|dstdstdstdst

344、=T*T*T*T*XmemXmemXmemXmem累加器移位存储并累加器移位存储并累加器移位存储并累加器移位存储并行乘法运算行乘法运算行乘法运算行乘法运算第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.6 3.3.6 重复操作指令重复操作指令 重复操作指令可以使紧随其后的一条指令或程重复操作指令可以使紧随其后的一条指令或程重复操作指令可以使紧随其后的一条指令或程重复操作指令可以使紧随其后的一条指令或程重复操作

345、指令可以使紧随其后的一条指令或程重复操作指令可以使紧随其后的一条指令或程序块重复执行,序块重复执行,序块重复执行,序块重复执行,序块重复执行,序块重复执行,分为单指令重复和程序块重复。分为单指令重复和程序块重复。分为单指令重复和程序块重复。分为单指令重复和程序块重复。分为单指令重复和程序块重复。分为单指令重复和程序块重复。 单指令重复操作是指通过单指令重复操作是指通过单指令重复操作是指通过单指令重复操作是指通过单指令重复操作是指通过单指令重复操作是指通过RPTRPTRPT或或或或或或RPTZRPTZRPTZ指令使指令使指令使指令使指令使指令使其下一条指令被重复执行,重复执行的次数由指令其下一条

346、指令被重复执行,重复执行的次数由指令其下一条指令被重复执行,重复执行的次数由指令其下一条指令被重复执行,重复执行的次数由指令其下一条指令被重复执行,重复执行的次数由指令其下一条指令被重复执行,重复执行的次数由指令操作数给出,其值等于操作数加操作数给出,其值等于操作数加操作数给出,其值等于操作数加操作数给出,其值等于操作数加操作数给出,其值等于操作数加操作数给出,其值等于操作数加1 1 1 1 1 1,最大重复次数,最大重复次数,最大重复次数,最大重复次数,最大重复次数,最大重复次数为为为为为为656565656565 536536536536536536。第第第第第第3 3 3 3 3 3章章

347、章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.6 3.3.6 重复操作指令重复操作指令 序号序号序号序号指指指指 令令令令功功功功 能能能能说说说说 明明明明1 1FPTFPTFPTFPT SmemSmemSmemSmem重复单次重复单次重复单次重复单次, , , ,RCRCRCRC=SmemSmemSmemSmem重复执行下条指令重复执行下条指令重复执行下条指令重复执行下条指令( (Smem)+1Smem)+1次次次次2 2FPT #FPT

348、#FPT #FPT #K K K K 重复单次重复单次重复单次重复单次, , , ,RCRCRCRC=# # # #K K K K重复执行下条指令重复执行下条指令重复执行下条指令重复执行下条指令#K+1K+1次次次次3 3RPT #RPT #RPT #RPT #lklk重复单次重复单次重复单次重复单次, , , ,RCRCRCRC=# # # #lklk重复执行下条指令重复执行下条指令重复执行下条指令重复执行下条指令 # # # #lklk +1+1次次次次4 4RPTBD RPTBD RPTBD RPTBD pmadpmadpmadpmad块重复块重复块重复块重复, , , ,RSARSAR

349、SARSA=PC+24,PC+24,PC+24,PC+24,REAREAREAREA=pmadpmadpmadpmad - - - - 1 1 1 1重复执行以下程序块重复执行以下程序块重复执行以下程序块重复执行以下程序块pmadpmadpmadpmad 1 1 1 1次次次次5 5RPTZ RPTZ RPTZ RPTZ dstdstdstdst,#,#,#,#lklk重复单次重复单次重复单次重复单次, , , , RCRCRCRC=# # # #lklk, , , ,dstdstdstdst=0 0 0 0重复执行下条指令重复执行下条指令重复执行下条指令重复执行下条指令# # # #lklk

350、 +1+1次次次次, , , ,累加器清累加器清累加器清累加器清零零零零 重复操作指令共重复操作指令共重复操作指令共重复操作指令共5 5 5 5条。条。条。条。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.6 3.3.6 重复操作指令重复操作指令 程序块重复操作可以使紧随程序块重复操作可以使紧随程序块重复操作可以使紧随程序块重复操作可以使紧随程序块重复操作可以使紧随程序块重复操作可以使紧随RPTBRPTBR

351、PTBRPTBRPTBRPTB指令之后的程指令之后的程指令之后的程指令之后的程指令之后的程指令之后的程序块重复执行。序块重复执行。序块重复执行。序块重复执行。序块重复执行。序块重复执行。 块起始地址块起始地址块起始地址块起始地址块起始地址块起始地址( ( ( ( ( (RSA)RSA)RSA)RSA)RSA)RSA):RPTBRPTBRPTBRPTBRPTBRPTB指令的下一行。指令的下一行。指令的下一行。指令的下一行。指令的下一行。指令的下一行。 块结束地址块结束地址块结束地址块结束地址块结束地址块结束地址( ( ( ( ( (REA)REA)REA)REA)REA)REA):由由由由由由R

352、PTBRPTBRPTBRPTBRPTBRPTB指令的操作数给出。指令的操作数给出。指令的操作数给出。指令的操作数给出。指令的操作数给出。指令的操作数给出。 块重复执行次数:块重复执行次数:块重复执行次数:块重复执行次数:块重复执行次数:块重复执行次数:由块重复计数器由块重复计数器由块重复计数器由块重复计数器由块重复计数器由块重复计数器BRCBRCBRCBRCBRCBRC的内容的内容的内容的内容的内容的内容 来确定。来确定。来确定。来确定。来确定。来确定。第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C

353、54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统3.3.6 3.3.6 重复操作指令重复操作指令 单指令重复功能可以用于乘法累加、块移动单指令重复功能可以用于乘法累加、块移动单指令重复功能可以用于乘法累加、块移动单指令重复功能可以用于乘法累加、块移动等指令,以增加指令的执行速度。在重复指令第一等指令,以增加指令的执行速度。在重复指令第一等指令,以增加指令的执行速度。在重复指令第一等指令,以增加指令的执行速度。在重复指令第一次重复之后,那些多周期指令就会有效地成为单周次重复之后,那些多周期指令就会有效地成为单周次重复之后,那些多周期指令就会有效地成为单周次重

354、复之后,那些多周期指令就会有效地成为单周期指令。期指令。期指令。期指令。 可以通过重复指令由多周期变为单周期的指令可以通过重复指令由多周期变为单周期的指令可以通过重复指令由多周期变为单周期的指令可以通过重复指令由多周期变为单周期的指令共有共有共有共有11111111条。条。条。条。 第第第第第第3 3 3 3 3 3章章章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统由重复指令变为单周期的指令由重复指令变为单周期的指令由重复指令变为单周期的指令由重复指令

355、变为单周期的指令序号序号序号序号指指指指 令令令令功能说明功能说明功能说明功能说明周期数周期数周期数周期数1 1FIRSFIRS对称对称对称对称FIRFIR滤波滤波滤波滤波3 32 2MACDMACD带延迟的乘法,并将乘积加到累加器带延迟的乘法,并将乘积加到累加器带延迟的乘法,并将乘积加到累加器带延迟的乘法,并将乘积加到累加器3 33 3MACPMACP乘法,并将乘积加到累加器乘法,并将乘积加到累加器乘法,并将乘积加到累加器乘法,并将乘积加到累加器3 34 4MVDKMVDK在数据存储器之间传送数据在数据存储器之间传送数据在数据存储器之间传送数据在数据存储器之间传送数据2 25 5MVDMMV

356、DM数据存储器中的数据传送至数据存储器中的数据传送至数据存储器中的数据传送至数据存储器中的数据传送至MMRMMR2 26 6MVDPMVDP数据存储器中的数据传送至程序存储器数据存储器中的数据传送至程序存储器数据存储器中的数据传送至程序存储器数据存储器中的数据传送至程序存储器4 47 7MVKDMVKD在数据存储器之间传送数据在数据存储器之间传送数据在数据存储器之间传送数据在数据存储器之间传送数据2 28 8MVMDMVMDMMRMMR中的数据传送至数据存储器中的数据传送至数据存储器中的数据传送至数据存储器中的数据传送至数据存储器2 29 9MVPDMVPD程序存储器中的数据传送至数据存储器程

357、序存储器中的数据传送至数据存储器程序存储器中的数据传送至数据存储器程序存储器中的数据传送至数据存储器3 31010READAREADA以以以以A A的内容为地址读程序存储器,并传的内容为地址读程序存储器,并传的内容为地址读程序存储器,并传的内容为地址读程序存储器,并传送至数据存储器送至数据存储器送至数据存储器送至数据存储器5 51111WRITAWRITA将数据存储器中的数据传送至以将数据存储器中的数据传送至以将数据存储器中的数据传送至以将数据存储器中的数据传送至以A A为地为地为地为地址的程序存储器中址的程序存储器中址的程序存储器中址的程序存储器中5 5第第第第第第3 3 3 3 3 3章章

358、章章章章 TMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54xTMS320C54x的指令系统的指令系统的指令系统的指令系统的指令系统的指令系统指指指指 令令令令指指指指 令令令令指指指指 令令令令指指指指 令令令令ADDMADDMADDMADDMCMPRCMPRCMPRCMPRLD ARPLD ARPLD ARPLD ARPRNDRNDRNDRNDANDMANDMANDMANDMDSTDSTDSTDSTLD DPLD DPLD DPLD DPRPTRPTRPTRPTBDBDBDBDFBDFBDFBDFBDMVMMMVMMMVMMMVMMRPTBD

359、RPTBDRPTBDRPTBDBACCDBACCDBACCDBACCDFBACCDFBACCDFBACCDFBACCDORMORMORMORMRPTZRPTZRPTZRPTZBANZDBANZDBANZDBANZDFCALADFCALADFCALADFCALADRCDRCDRCDRCDRSBXRSBXRSBXRSBXBCDBCDBCDBCDFCALLDFCALLDFCALLDFCALLDRESETRESETRESETRESETSSBXSSBXSSBXSSBXCALADCALADCALADCALADFRETEDFRETEDFRETEDFRETEDRETDRETDRETDRETDTRAPTRAPT

360、RAPTRAPCALLDCALLDCALLDCALLDIDELIDELIDELIDELRETEDRETEDRETEDRETEDXCXCXCXCCCDCCDCCDCCDINTRINTRINTRINTRRETFDRETFDRETFDRETFDXORMXORMXORMXORM 利用长偏移修正或绝对寻址的指令都不能使用利用长偏移修正或绝对寻址的指令都不能使用利用长偏移修正或绝对寻址的指令都不能使用利用长偏移修正或绝对寻址的指令都不能使用利用长偏移修正或绝对寻址的指令都不能使用利用长偏移修正或绝对寻址的指令都不能使用单指令重复,统称为不可重复指令。单指令重复,统称为不可重复指令。单指令重复,统称为不可重

361、复指令。单指令重复,统称为不可重复指令。单指令重复,统称为不可重复指令。单指令重复,统称为不可重复指令。 例例例例6 6、编制计算、编制计算、编制计算、编制计算y=0.1*0.8-0.2*0.6-0.3*0.9y=0.1*0.8-0.2*0.6-0.3*0.9的程序段。的程序段。的程序段。的程序段。Tablexay0.10.1-0.2-0.2-0.3-0.30.80.80.60.60.90.90.10.1-0.2-0.2-0.3-0.30.80.80.60.60.90.9MVPD .bssx,3.bssa,3.bssy,1Table: .word 1*32768/10 -2*32768/10

362、Table: .word 1*32768/10 -2*32768/10 3*32768/103*32768/10 .word 8*32768/10 6*32768/10 - .word 8*32768/10 6*32768/10 -9*32768/109*32768/10Start: STM#table,AR1 STM #x,AR2 STM #5,AR0 LD #0,A Loop:Loop:MVPD Table,*AR2+MVPD Table,*AR2+BANZBANZ loop,*AR0- loop,*AR0-SSBXSSBXFRCTFRCTCALLCALLSUMSUMend:end:B B

363、endendSUM:SUM:STMSTM #a,AR3#a,AR3STMSTM #x,AR4#x,AR4RPTZRPTZ A,#2 A,#2MACMAC *AR3+,*AR4+,A *AR3+,*AR4+,ASTHSTH A,YA,YRETRET.end.end n n例:试编程序,在两组数据列表中的各例:试编程序,在两组数据列表中的各4个数据分别相乘个数据分别相乘aixi,并,并4项找出乘积项找出乘积aixi(i=1,2,3,4) 最大值保存到存储器最大值保存到存储器单元中。单元中。 n n作业1、写出从外部端口输入的两个数相加的程序。2、编写程序将数组中的5个数据进行由大到小排序。3、用直接寻址方式实现乘加运算 。4、编制计算y=0.1*0.8-0.2*0.6+0.3*(-0.9)的程序段(用乘加指令实现)。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号