版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章TMS320C20X的指令系统及汇编语言第一节寻址方式第二节指令系统第三节汇编语言第四章TMS320C20X的指令系统及汇编语言第一节1第一节TMS320C200的寻址方式1.寻址方式:就是寻找参加指令运行的操作数的方法。2.操作数主要包括:寄存器地址、常数、I/O口、指针、偏移量、数据存储器地址等第一节TMS320C200的寻址方式1.寻址方式:就是寻21.立即数寻址2.直接寻址3.间接寻址寻址分类1.立即数寻址寻址分类3
1.立即数寻址
在操作数前面需要加#字号来说明该操作数为立即数。否则会把该操作数误认为是一个地址,从而把立即数寻址变成直接地址寻址。
特点指令中包含有执行指令所需要的操作数。短立即寻址:立即数为8、9位或13位的短立即数;长立即寻址:16位的长立即数短立即数可包含在单字或双字指令中,长立即数在双字指令中。
注意举例ADD#55HADD#1111,11.立即数寻址在操作数前面需要加#字号来说明该操作数4可以在不改变DP的情况下,随机地寻址128个存储单元中的任何一个单元。
用一个符号或一个常数来确定7位偏移值,与DP共同形成16位的数据存储器实际地址。2.直接寻址方法LDP#14HADD5H举例特点可以在不改变DP的情况下,随机地寻址128个存储单元中的任何500000000000000000000000011111111000000010000000000000001111111110000001000000000000000101111111111111111000000001111111111111111DP值偏移量第0页:0000~007FH第1页:0080~00FFH第2页:0100~017FH第511页:FF80~FFFFH数据存储器00000000000000000000000067位dma域与9位的DP相结合形成16位的数据存储器地址。8MSBs07LSBS7MSBs9LSBsDP指令寄存器IR状态寄存器ST0页9LSBs偏移量7LSBs16位数据存储器地址DP值是从0~511(29-1),以DP为基准的直接寻址把存储器分成512页,7位的dma范围从0~127,每页有128个可访问的单元。7位dma域与9位的DP相结合形成16位的数据存储器地址。7使用直接寻址方式设置数据页指明偏移量LDP#32ADD1H使用直接寻址方式设置数据页指明偏移量LDP#32AD83.间接寻址
方法特点(AR0~AR7)→ARAU→16位无符号算术运算→寻址范围为64K
灵活多变且功能强大,提供7种间接寻址方式3.间接寻址方法特点(AR0~AR7)→灵活多变且功能强大9不增量或不减量方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容保持不变。LT*执行指令前:ARP=0,(AR0)=100H执行操作:用AR0所指的数据存储器100H内容装载暂时寄存器;执行指令后:ARP=0,(AR0)=100H不增量或不减量方法举例指令使用AR内容作为数据存储器地址,10增1方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容自动加1。LT*+执行指令前:ARP=0,(AR0)=100H执行操作:用AR0所指的数据存储器100H内容装载暂时寄存器;执行指令后:ARP=0,(AR0)=101H增1方法举例指令使用AR内容作为数据存储器地址,执行指令后11减1方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容自动减1。LT*-执行指令前:ARP=0,(AR0)=100H执行操作:用AR0所指的数据存储器100H内容装载暂时寄存器;执行指令后:ARP=0,(AR0)=FFH减1方法举例指令使用AR内容作为数据存储器地址,执行指令后A12加上索引量方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容加上AR0的内容。LT*0+执行指令前:ARP=1,(AR1)=100H,(AR0)=3执行操作:用AR1所指的数据存储器100H内容装载暂时寄存器;执行指令后:ARP=1,(AR1)=103H加上索引量方法举例指令使用AR内容作为数据存储器地址,执行指13减去索引量方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容自动减去ARO的内容。LT*0-执行指令前:ARP=1,(AR1)=100H,(AR0)=3执行操作:用AR0所指的数据存储器100H内容装载暂时寄存器;执行指令后:ARP=1,(AR1)=FEH减去索引量方法举例指令使用AR内容作为数据存储器地址,执行指14加上索引量,反向进位方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容自动加上AR0的内容,该加法采用反向进位方法。注:主要用于FFT算法LT*BR0+加上索引量,反向进位方法举例指令使用AR内容作为数据存储器地15把AR0加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右,而不是从右向左进位。例如:01101000+0000100001100100以8位辅助寄存器为例,AR1表示了在存储器中数据的基地址(01100000)2,AR0的值为(00001000)2。把AR0加到辅助寄存器中时,地址以位倒序的方式产生,即进位是16AR1修改循环值存储单元地址整序前FFT变换结果位倒序AR1更新的地址值AR0=000010002整序后PA输出的FFT变换结果00000X(0)000001100000X(0)10001X(8)100001101000X(1)20010X(4)010001100100X(2)30011X(12)110001101100X(3)40100X(2)001001100010X(4)50101X(10)101001101010X(5)60110X(6)011001100110X(6)70111X(14)111001101110X(7)81000X(1)000101100001X(8)91001X(9)100101101001X(9)101010X(5)010101100101X(10)111011X(13)110101101101X(11)121100X(3)001101100011X(12)131101X(11)101101101011X(13)141110X(7)011101100111X(14)151111X(15)111101101111X(15)位倒序对FFT变换结果的序号调整
AR1修改循环值存储单整序前FFT变换结果位倒序AR1更17减去上索引量,反向借位方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容自动加上AR0的内容,该加法采用反向进位方法。LT*BR0-减去上索引量,反向借位方法举例指令使用AR内容作为数据存储器18下一当前辅助寄存器的制定方法举例指令使用AR内容作为数据存储器地址,执行指令后,下一辅助寄存器被指定为当前辅助寄存器MAR*,AR1LT*+,AR2下一当前辅助寄存器的制定方法举例指令使用AR内容作为数据存储19第二节TMS320C2000的汇编指令C2000指令按照功能划分为6类:累加器、算术和逻辑指令辅助寄存器指令TREG、PREG和乘法指令转移指令控制指令输入/输出指令和存储器指令第二节TMS320C2000的汇编指令C2000指令按照功202.1汇编指令集说明1、指令的基本格式操作码操作数或操作数地址指令助记符含义:dma:数据存储器地址的低7位偏移量Pma:16位程序存储器地址Shift:左移位数:0~15Shift2:左移位数:0~7n:指示下一位辅助寄存器的值:0~7k:8位短立即数lk:16位长立即数ind:间接寻址方式中的一种2.1汇编指令集说明1、指令的基本格式操作码操作数或操作数地212、汇编指令名称助记符指令指令说明寻址方式ADDADDdma[,shift](ACC)+((数存地址)x2shift)ACC直接寻址ADD#k(ACC)+kACC短立即寻址ADD#lk[,shift](ACC)+lkx2shift)ACC长立即寻址ADDind[,shift][,ARn]间接寻址举例:ADD*+,1,AR0执行指令前执行指令后ARPAR4数据存储器302HACC
加法指令:ADDC、ADDS、ADDT减法指令:SUB、SUBB、SUBS、SUBT逻辑指令:AND、OR、XOR、CMPL、NEG累加器指令:LACC、LACL、LACH、SACH、SACL、ROL、ROR、SFL、SFR表2.1累加器、算术和逻辑指令450302H0303H4440CH2、汇编指令名称助记符指令22名称助记符指令指令说明寻址方式ADRkADRk#k(AR)+8位整数kAR短立即数寻址BANZBANZPma[,ind][,ARn]AR0不为零转移至Pma间接寻址CMPRCMPRCMAR与AR0进行比较LARLARARx,dma直接寻址LARARx,ind[,ARn]间接寻址LARARx,#k短立即寻址LARARx,#lk长立即寻址MARMARdma修改AR值直接寻址MARind[,ARn]间接寻址SBRKSBRK#k(AR)-kAR短立即寻址SARSARARx,dma直接寻址SARARx,ind[,ARn]间接寻址表2.2辅助寄存器指令名称助记符指令23举例:LARAR4,#01H指令执行前指令执行后AR4LARAR6,#3FFFHAR60FF09H0FF09H0H3FFFH举例:0FF09H0FF09H0H3FFFH24表2.3TREG、PREG和乘法指令名称助记符指令指令说明寻址方式APACAPAC(ACC)+移位后(PREG)ACCLPHLPHdma装载PREG直接寻址LPHind[,ARn]间接寻址LTLTdma装载TREG直接寻址LTind[,ARn]间接寻址LTALTAdma装载TREG并累加前次乘积直接寻址LTAind[,ARn]间接寻址LTDLTDdma装载TREG,累加前次乘积,寻址数据移动LTDind[,ARn]LTPLTPdma装载TRGE,并将PREG存至ACCLTPind[,ARn]MACMACpma,dma乘且累加MACpma,ind[,ARn]MACDMACDpma,dma乘且累加,并将被寻址数据移至下一单元MACDpma,ind[,ARn]MPYMPYdmaMPYind[,ARn]MPYA/MPYS累加前次乘积,再将TREG与被寻址数相乘PACPACPREG转入累加器ACCSPH存储PREG高16位,直接或间接寻址SPL存储PREG低16位,直接或间接寻址表2.3TREG、PREG和乘法指令名称助记符指25例1:MAC0FF00H,02H;DP=6,地址300H~37FH,PM=0,CNF=1指令执行前指令执行后数据存储器数据存储器302H302H程序存储器程序存储器FF00HFF00HTREGTREGPREGPREGACCACC23h23h4h4h45h458972h723EC41h23h8Ch76975B3h例1:MAC0FF00H,02H;DP=6,地址326例2:MACD0FF00H,08H;DP=6,地址300H~37FH,PM=0,CNF=1指令执行前指令执行后数据存储器数据存储器308H308H数据存储器数据存储器309H309H程序存储器程序存储器FF00HFF00HTREGTREGPREGPREGACCACC23h23h4h4h45h458972h723EC41h23h8Ch76975B3h18h23h例2:MACD0FF00H,08H;DP=6,地址3027表2.3转移指令名称助记符指令指令说明寻址方式BBpma[,ind[,ARn]]无条件转移间接寻址BACCBACC转移至累加器低16位指定地址BANZBANZpma[,ind[,ARn]]当前AR非零则转移间接寻址BCNDBCNDpma,cond1[,cond2]条件转移CALACALA调用ACC低16位指定地址处子程序CALLCALLpma[,ind[,ARn]]调用子程序间接寻址CCCCpma,cond1[,cond2]条件调用子程序INTRINTR软中断NMINMI非屏蔽中断RETRET从子程序返回RETCRETC条件返回表2.3转移指令名称助记符指令28例1:BCNDGetMax,LEQ,C如果ACC内容小于等于零且进位位被置1,则程序地址GetMax被装入程序计数器,程序从该地址继续执行;例2:CCGetMin,LEQ,C如果ACC内容小于等于零且进位位被置1,则程序地址GetMin被装入程序计数器,程序从该地址继续执行;例1:BCNDGetMax,LEQ,C29条件转移和调用中的判断条件Cond条件EQACC=0NEQACC<>0LTACC<0LEQACC<=0GTACC>0GEQACC>=0NCC=0CC=1NOVOV=0OVOV=1NTCTC=0TCTC=1条件转移和调用中的判断条件Cond30表2.4控制指令名称助记符指令指令说明寻址方式BITBITdma,bit对数据地址中数据指定位测试直接寻址BITind,bit[,ARn]间接寻址CLRCCLRCcontrolbit清零控制位和状态位SETCSETCcontrolbit置1控制位和状态为LDPLDPdma初始化数据页直接寻址LDPind[,ARn]间接寻址LDP#k立即寻址LSTLST#m,dma初始化状态寄存器ST0、ST1直接寻址LST#m,ind[,ARn]间接寻址NOPNOP空操作POPPOP(堆栈)ACC(0..15)POPDPOPDdma(堆栈)数存地址直接寻址POPDind[,ARn]间接寻址PSHDPSHDdma(数存地址)堆栈直接寻址PSHDind[,ARn]间接寻址PUSH表2.4控制指令名称助记符指令31表2.6输入/输出和存储器指令名称助记符指令指令说明寻址方式BLDDBLDD#lk,dma数据存储器间的块传送直接寻址BLDD#lk,ind[,ARn]间接寻址BLDDdma,#lk长立即数寻址BLDDind,#lk,[ARn]BLPDBPLD#pma,dma程序存储器到数据存储器直接寻址BPLD#pma,ind[,ARn]间的块移动间接寻址DMOVDMOVdma(数据单元)数存单元+1直接寻址DMOVind[,ARn]间接寻址ININdma,PA读入PA端口的内容INind,PA[,ARn]OUTOUTdma,PA写内容至端口PAOUTind,PA[,ARn]SPLKTBLRTBLRdma读表,表首地址放在ACC中TBLRind[,ARn]TBLWTBLWdma写表,TBLWind[,ARn]表2.6输入/输出和存储器指令名称32例1:BLDD#300H,20H;DP=6执行前执行后数据存储器数据存储器300H300H320H320H例2:BLDD*+,#321H,AR3执行指令前执行指令后ARPARPAR2AR3数据存储器数据存储器301H301H321H321H01h2h23h23h0Fh0Fh302h01h23h01h301h3h例1:BLDD#300H,20H;DP=601h33
例3:BLPD#800H,00H;DP=6指令执行前指令执行后程序存储器程序存储器300H300H数据存储器 数据存储器320H320H例4:BLPD#800H,*,AR7执行指令前执行指令后ARPARPAR2AR3存储器存储器800H800H310H310H
1111h0h0Fh0Fh00h0100h310h1111h0Fh1111h310h7h例3:BLPD#800H,00H;DP=634
例5:TBLRDAT6;DP=6,地址200H~27FH指令执行前指令执行后ACCACC程序存储器程序存储器23H23H数据存储器 数据存储器206H206H例6:BLPD*,AR7执行指令前执行指令后ARPARPAR0AR0ACCACC存储器存储器24H24H300H300H307h0h306h306h75h75h300h75h306h307h300h7h23h23h24h24h例5:TBLRDAT6;DP=6,地址235第3节DSP的汇编语言及编程TMS320系列DSP的目标文件采用公共目标文件COFF格式,将指令和数据按照段的概念进行组织和存储,增强程序的可读性,便于程序的移植和模块化设计段的定义:段是目标文件中的最小单位,所谓段就是通过汇编和连接最终在dsp的存储映像中占据连续空间的一块代码或数据,并且每个段都是独立的,COFF目标文件的段分为两大类:已初始化段和未初始化段。第3节DSP的汇编语言及编程TMS320系36COFF的段的定义COFF目标文件的段:.text段,该段内含可执行代码;定义.data段,该段内容已初始化数据;.bss段,该段是为初始化的数据保留空间;.sect,建立一个自定义的并自定义初始化的段;.usect,建立一个自定义但没有初始化的段;COFF的段的定义COFF目标文件的段:37
1..text段
特点建立一个独立的段,其段名为.text,该段通常包含可执行的代码;举例.textLDP#06HclrcSXM.text语法1..text段特建立一个独立的段,其段名为.text382.Data段
特点.data段,建立一个独立的段,其段名为.data,它包含初始化了的数据或常数。举例.dataCoeff.word11H,22H,33H.data语法2.Data段特.data段,建立一个独立的段,其段名393.bss段特点.bss段,建立一个独立的段,其段名为.bss,它包含未初始化了的数据或常数。举例.bssvar1,1.bssbuffer,10.bss符号,字数[,块标记]其中,符号指由.bss指令保留的第一个字,他对应为变量保留空间的变量名,字数表示空间的大小。语法3.bss段特.bss段,建立一个独立的段,其段名为.404.sect段
特点.sect段,建立一个自定义并且初始化的段,它包含代码或数据。举例.sect“var-def”.word17H,18H.sect“段名”语法4.sect段特.sect段,建立一个自定义并且初始化415.usect段
特点.usect段,建立一个自定义段但是没有被初始化的段;举例Usysm.usect“xy”,20标号.usect“段名”,字数标号指由.bss指令保留的第一个字,他对应为变量保留空间的变量名,字数表示空间的大小。语法5.usect段特.usect段,建立一个自定义段但是42汇编程序和连接程序对段的处理汇编程序对段的处理
在汇编时,汇编程序确定源程序中的各部分属于哪个特定的段;当遇到已初始化段定义指令.text,.data,.sect时,立即停止把随后的代码和数据汇编到当前段中,而是将他们汇编到指令所指定的新的段中;但当汇编程序遇到未初始化的段.bss,.usect时,只是暂时离开当前的段去未初始化段保留空间,而不结束当前段去开始一个新的段,随后的汇编仍然在当前段中进行,直至遇到另一个已初始化段定义指令。汇编程序和连接程序对段的处理汇编程序对段的处理43.dataCoeff.word11H,22h,33H.bssvar1,1.bssbuffer,10.word0123H.text.word1,2,3.dataval2.Word0AAHVar3.Usect“newvars”,7.text.word4,511H22H33H01H23HAAh没有数据保留11个字01H02H03H04H05H没有数据保留7个字.data段.bss段.text段newvar段汇编程序对段处理示列.data11H01HAAh没有数据01H04H没有数据保留44连接程序对段的处理连接程序对段的处理主要完成两个功能:把1个或多个目标文件连接起来产生可执行的COFF输出文件(文件名.out);定位输出文件的存储器地址;连接程序对段的处理连接程序对段的处理主要完成两个功能:45存储器映像定位存储器映像定位:就是把.text,.data,.bss等段定位到编程者想要定位的地方,即和硬件设计的RAM、ROM和I/O口一致;存储器映像包括:(1)目标系统的存储器的定义;(2)分配段在存储器中的位置存储器映像定位存储器映像定位:46目标存储器的定义MEMORY{
PAGE0:名字1:orgin=常数,length=常数;PAGEn:名字n:orgin=常数,length=常数;}在memory命令中,PAGE定义一个存储器空间0~255,通常PAGE0指向程序存储器;PAGE1指向数据存储器;目标存储器的定义MEMORY47段在存储器中的定位SECTIONS{段名:{}>存储器名PAGEn}段在存储器中的定位SECTIONS48存储器的映像定位例.cmdMEMORY{PAGE0:EX1-PM:ORGIN=0H,LENGTH=0FEFFHB0-PM:ORGIN=0FF00H,LENGTH=100HPAGE1:REGS:ORGIN=0H,LENGTH=60HBLK-B2:ORGIN=60H,LENGTH=20HBLK-B0:ORGIN=200H,LENGTH=100HBLK-B1:ORGIN=300H,LENGTH=100HEX1-DM:ORGIN=800H,LENGTH=7800HGM-DM:ORGIN=8000H,LENGTH=800H}存储器的映像定位例.cmdMEMORY49SECTIONS{vectors:{}>EX1-PMPAGE0.text:{}>EX1-PMPAGE0.bss:{}>EX1-DMPAGE1sum:{}>BLK-B2PAGE1.data:{}>0x0370PAGE1}SECTIONS50第四章TMS320C20X的指令系统及汇编语言第一节寻址方式第二节指令系统第三节汇编语言第四章TMS320C20X的指令系统及汇编语言第一节51第一节TMS320C200的寻址方式1.寻址方式:就是寻找参加指令运行的操作数的方法。2.操作数主要包括:寄存器地址、常数、I/O口、指针、偏移量、数据存储器地址等第一节TMS320C200的寻址方式1.寻址方式:就是寻521.立即数寻址2.直接寻址3.间接寻址寻址分类1.立即数寻址寻址分类53
1.立即数寻址
在操作数前面需要加#字号来说明该操作数为立即数。否则会把该操作数误认为是一个地址,从而把立即数寻址变成直接地址寻址。
特点指令中包含有执行指令所需要的操作数。短立即寻址:立即数为8、9位或13位的短立即数;长立即寻址:16位的长立即数短立即数可包含在单字或双字指令中,长立即数在双字指令中。
注意举例ADD#55HADD#1111,11.立即数寻址在操作数前面需要加#字号来说明该操作数54可以在不改变DP的情况下,随机地寻址128个存储单元中的任何一个单元。
用一个符号或一个常数来确定7位偏移值,与DP共同形成16位的数据存储器实际地址。2.直接寻址方法LDP#14HADD5H举例特点可以在不改变DP的情况下,随机地寻址128个存储单元中的任何5500000000000000000000000011111111000000010000000000000001111111110000001000000000000000101111111111111111000000001111111111111111DP值偏移量第0页:0000~007FH第1页:0080~00FFH第2页:0100~017FH第511页:FF80~FFFFH数据存储器000000000000000000000000567位dma域与9位的DP相结合形成16位的数据存储器地址。8MSBs07LSBS7MSBs9LSBsDP指令寄存器IR状态寄存器ST0页9LSBs偏移量7LSBs16位数据存储器地址DP值是从0~511(29-1),以DP为基准的直接寻址把存储器分成512页,7位的dma范围从0~127,每页有128个可访问的单元。7位dma域与9位的DP相结合形成16位的数据存储器地址。57使用直接寻址方式设置数据页指明偏移量LDP#32ADD1H使用直接寻址方式设置数据页指明偏移量LDP#32AD583.间接寻址
方法特点(AR0~AR7)→ARAU→16位无符号算术运算→寻址范围为64K
灵活多变且功能强大,提供7种间接寻址方式3.间接寻址方法特点(AR0~AR7)→灵活多变且功能强大59不增量或不减量方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容保持不变。LT*执行指令前:ARP=0,(AR0)=100H执行操作:用AR0所指的数据存储器100H内容装载暂时寄存器;执行指令后:ARP=0,(AR0)=100H不增量或不减量方法举例指令使用AR内容作为数据存储器地址,60增1方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容自动加1。LT*+执行指令前:ARP=0,(AR0)=100H执行操作:用AR0所指的数据存储器100H内容装载暂时寄存器;执行指令后:ARP=0,(AR0)=101H增1方法举例指令使用AR内容作为数据存储器地址,执行指令后61减1方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容自动减1。LT*-执行指令前:ARP=0,(AR0)=100H执行操作:用AR0所指的数据存储器100H内容装载暂时寄存器;执行指令后:ARP=0,(AR0)=FFH减1方法举例指令使用AR内容作为数据存储器地址,执行指令后A62加上索引量方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容加上AR0的内容。LT*0+执行指令前:ARP=1,(AR1)=100H,(AR0)=3执行操作:用AR1所指的数据存储器100H内容装载暂时寄存器;执行指令后:ARP=1,(AR1)=103H加上索引量方法举例指令使用AR内容作为数据存储器地址,执行指63减去索引量方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容自动减去ARO的内容。LT*0-执行指令前:ARP=1,(AR1)=100H,(AR0)=3执行操作:用AR0所指的数据存储器100H内容装载暂时寄存器;执行指令后:ARP=1,(AR1)=FEH减去索引量方法举例指令使用AR内容作为数据存储器地址,执行指64加上索引量,反向进位方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容自动加上AR0的内容,该加法采用反向进位方法。注:主要用于FFT算法LT*BR0+加上索引量,反向进位方法举例指令使用AR内容作为数据存储器地65把AR0加到辅助寄存器中时,地址以位倒序的方式产生,即进位是从左向右,而不是从右向左进位。例如:01101000+0000100001100100以8位辅助寄存器为例,AR1表示了在存储器中数据的基地址(01100000)2,AR0的值为(00001000)2。把AR0加到辅助寄存器中时,地址以位倒序的方式产生,即进位是66AR1修改循环值存储单元地址整序前FFT变换结果位倒序AR1更新的地址值AR0=000010002整序后PA输出的FFT变换结果00000X(0)000001100000X(0)10001X(8)100001101000X(1)20010X(4)010001100100X(2)30011X(12)110001101100X(3)40100X(2)001001100010X(4)50101X(10)101001101010X(5)60110X(6)011001100110X(6)70111X(14)111001101110X(7)81000X(1)000101100001X(8)91001X(9)100101101001X(9)101010X(5)010101100101X(10)111011X(13)110101101101X(11)121100X(3)001101100011X(12)131101X(11)101101101011X(13)141110X(7)011101100111X(14)151111X(15)111101101111X(15)位倒序对FFT变换结果的序号调整
AR1修改循环值存储单整序前FFT变换结果位倒序AR1更67减去上索引量,反向借位方法举例指令使用AR内容作为数据存储器地址,执行指令后AR内容自动加上AR0的内容,该加法采用反向进位方法。LT*BR0-减去上索引量,反向借位方法举例指令使用AR内容作为数据存储器68下一当前辅助寄存器的制定方法举例指令使用AR内容作为数据存储器地址,执行指令后,下一辅助寄存器被指定为当前辅助寄存器MAR*,AR1LT*+,AR2下一当前辅助寄存器的制定方法举例指令使用AR内容作为数据存储69第二节TMS320C2000的汇编指令C2000指令按照功能划分为6类:累加器、算术和逻辑指令辅助寄存器指令TREG、PREG和乘法指令转移指令控制指令输入/输出指令和存储器指令第二节TMS320C2000的汇编指令C2000指令按照功702.1汇编指令集说明1、指令的基本格式操作码操作数或操作数地址指令助记符含义:dma:数据存储器地址的低7位偏移量Pma:16位程序存储器地址Shift:左移位数:0~15Shift2:左移位数:0~7n:指示下一位辅助寄存器的值:0~7k:8位短立即数lk:16位长立即数ind:间接寻址方式中的一种2.1汇编指令集说明1、指令的基本格式操作码操作数或操作数地712、汇编指令名称助记符指令指令说明寻址方式ADDADDdma[,shift](ACC)+((数存地址)x2shift)ACC直接寻址ADD#k(ACC)+kACC短立即寻址ADD#lk[,shift](ACC)+lkx2shift)ACC长立即寻址ADDind[,shift][,ARn]间接寻址举例:ADD*+,1,AR0执行指令前执行指令后ARPAR4数据存储器302HACC
加法指令:ADDC、ADDS、ADDT减法指令:SUB、SUBB、SUBS、SUBT逻辑指令:AND、OR、XOR、CMPL、NEG累加器指令:LACC、LACL、LACH、SACH、SACL、ROL、ROR、SFL、SFR表2.1累加器、算术和逻辑指令450302H0303H4440CH2、汇编指令名称助记符指令72名称助记符指令指令说明寻址方式ADRkADRk#k(AR)+8位整数kAR短立即数寻址BANZBANZPma[,ind][,ARn]AR0不为零转移至Pma间接寻址CMPRCMPRCMAR与AR0进行比较LARLARARx,dma直接寻址LARARx,ind[,ARn]间接寻址LARARx,#k短立即寻址LARARx,#lk长立即寻址MARMARdma修改AR值直接寻址MARind[,ARn]间接寻址SBRKSBRK#k(AR)-kAR短立即寻址SARSARARx,dma直接寻址SARARx,ind[,ARn]间接寻址表2.2辅助寄存器指令名称助记符指令73举例:LARAR4,#01H指令执行前指令执行后AR4LARAR6,#3FFFHAR60FF09H0FF09H0H3FFFH举例:0FF09H0FF09H0H3FFFH74表2.3TREG、PREG和乘法指令名称助记符指令指令说明寻址方式APACAPAC(ACC)+移位后(PREG)ACCLPHLPHdma装载PREG直接寻址LPHind[,ARn]间接寻址LTLTdma装载TREG直接寻址LTind[,ARn]间接寻址LTALTAdma装载TREG并累加前次乘积直接寻址LTAind[,ARn]间接寻址LTDLTDdma装载TREG,累加前次乘积,寻址数据移动LTDind[,ARn]LTPLTPdma装载TRGE,并将PREG存至ACCLTPind[,ARn]MACMACpma,dma乘且累加MACpma,ind[,ARn]MACDMACDpma,dma乘且累加,并将被寻址数据移至下一单元MACDpma,ind[,ARn]MPYMPYdmaMPYind[,ARn]MPYA/MPYS累加前次乘积,再将TREG与被寻址数相乘PACPACPREG转入累加器ACCSPH存储PREG高16位,直接或间接寻址SPL存储PREG低16位,直接或间接寻址表2.3TREG、PREG和乘法指令名称助记符指75例1:MAC0FF00H,02H;DP=6,地址300H~37FH,PM=0,CNF=1指令执行前指令执行后数据存储器数据存储器302H302H程序存储器程序存储器FF00HFF00HTREGTREGPREGPREGACCACC23h23h4h4h45h458972h723EC41h23h8Ch76975B3h例1:MAC0FF00H,02H;DP=6,地址376例2:MACD0FF00H,08H;DP=6,地址300H~37FH,PM=0,CNF=1指令执行前指令执行后数据存储器数据存储器308H308H数据存储器数据存储器309H309H程序存储器程序存储器FF00HFF00HTREGTREGPREGPREGACC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨境电商物流保险合同
- 新疆阿克苏地区沙雅县二中2027届高二上物理期中调研试题含解析
- 湖北省黄石二中等三校2027届高二上物理期中学业质量监测试题含解析
- 2025-2026年陕西省部编版初中英语下册阅读理解专项训练习题
- 2025-2026年考研政治思修理论框架及习题
- 2025-2026年健身教练体能与技能测试试卷
- 2025-2026年中药鉴定学知识巩固习题
- 2025-2026年浙江省人教版小学四年级道德与法治第2课同步练习题
- 上海市五爱中学2027届高二上物理期中质量检测试题含解析
- 漂浮式水上光伏电站工程施工组织设计
- 2026年高级考评员职业技能等级认定考试题附答案
- 2026年河南省洛阳市公安招聘辅警考试试卷含答案
- 儿童耳科疾病的护理
- 2026中国土地整治与指标交易市场发展报告
- 5.14玉米历险记《探寻新航路》课件-历史九年级上册
- CSCO胰腺癌诊疗指南(2026版)
- 1.4《闪亮的坐标劳模王进喜》课件 中职语文高教版职业模块
- 3.放射性核素示踪技术与图像采集方式
- JJG 1011-2018角膜曲率计
- 水岸山居调研课件
- 经济犯罪侦查课件
评论
0/150
提交评论