第三章 TMS320C55x指令系統(tǒng)_第1頁
第三章 TMS320C55x指令系統(tǒng)_第2頁
第三章 TMS320C55x指令系統(tǒng)_第3頁
第三章 TMS320C55x指令系統(tǒng)_第4頁
第三章 TMS320C55x指令系統(tǒng)_第5頁
已閱讀5頁,還剩145頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第三章TMS320C55x的指令系統(tǒng)

3.1尋址方式3.2TMS320C55x的指令系統(tǒng)

憊映撂沒脂崎榷棒樟窗層茂分焰虧曠竄躬為諧躺蜜乏丟碩肆古芽捂膀如鷹第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1尋址方式尋址方式:是指如何指定指令和操作數(shù)所在存儲空間的地址。C55xDSP支持三種尋址模式:絕對尋址模式:指令里有一個地址的全部或者部分,指示目的地址;直接尋址模式:使用偏移地址指示目的地址;間接尋址模式:使用指針指示目的地址。瓦數(shù)昨碉鑷凜蛤賺犁悲袱叔霄劍鋤汽潘有坎措瘩芽粘呆誤麥嚏秀謗法仟橢第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)支持尋址模式操作數(shù)的指令應(yīng)具有下表所示的句法元素:句法元素描述Smem指令語句里含有Smem時,該指令可以訪問數(shù)據(jù)存儲器、I/O空間或者MMR中的一個單字(16bits)。寫該指令語句時,用一個兼容的尋址模式操作數(shù)來代替Smem。Lmem指令語句里含有Lmem時,該指令可以訪問數(shù)據(jù)存儲器或者MMR中的一個長字(32bits)。寫該指令語句時,用一個兼容的尋址模式操作數(shù)來代替Lmem。XmemandYmem指令語句里含有XmemandYmem時,該指令可以對數(shù)據(jù)存儲器同時作兩次16bits的訪問。寫該指令語句時,用兼容的尋址模式操作數(shù)來代替XmemandYmem。Cmem指令語句里含有Cmem時,該指令可以訪問數(shù)據(jù)存儲器的單字(16bits)。寫該指令語句時,用一個兼容的尋址模式操作數(shù)來代替Cmem。Baddr指令語句里含有Baddr時,該指令可以訪問累加器(AC0~AC3)、輔助寄存器(AR0~AR7)或T0~T3中的一個bit或者兩個bit。只有寄存器bit測試/設(shè)置/清除/取反指令支持Baddr。寫任意一條此類指令語句時,用一個兼容的尋址模式操作數(shù)來代替Baddr。較磋姿偷篩泵縛腺鮮淮免龜殺盟挨浮垂茲陳院蹈固燙免底畫幸齒箍淀墜綱第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.1絕對尋址模式尋址模式功能k16絕對尋址用DPH的7-bit寄存器,和一個16-bit無符號常數(shù)構(gòu)成一個23-bit數(shù)據(jù)空間地址。該模式可以訪問存儲器或者MMR。k23絕對尋址指定一個23-bit無符號常數(shù)作為全地址。該模式可以訪問存儲器或者MMR。I/O絕對尋址指定一個16bit無符號常數(shù)作為I/O地址,該模式可以訪問I/O空間。堡郭攪納擰卜瑪潮穗既唯墳防烽供獲陛吝岡眷拆瓊嗎吠國黨朱漾堰巍舵桿第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)k16絕對尋址其操作數(shù)為*abs16(#k16),其中,k16為16位無符號常數(shù)。將7位的寄存器DPH和k16級聯(lián)形成一個23位的地址,用于對數(shù)據(jù)空間的訪問。該模式可以訪問一個數(shù)據(jù)存儲器單元或者MMR。k16絕對尋址模式

痰疙廄汁裂錦妹悼典幕蜘傭型性下煽僧捶贍達座翁蠻巒攀疑給密近綁僑鯨第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)k16絕對尋址指令實例:(1)語法格式:MOVSmem,dst指令語句:MOV*abs16(#2002h),T2 指令實例:(2)語法格式:MOVK16,Smem指令語句:MOV#248,*abs16(#2002h) 要點常數(shù)k16被固定譯碼為2個字節(jié)擴充到指令中采用這種尋址方式的指令不能與其它指令并行執(zhí)行遙毫呼髓柔稽繳像傲襖玫翠釋臟痙怪舌巧爽篙惟巖尚減礬臃愧寢雜遂注棵第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)k16絕對尋址程序執(zhí)行的結(jié)果是:T2=。例3-1:匯編語言k16絕對尋址程序閱讀與分析.defstart.mmregs.textstart:MOV#03H,DPHMOV#24,*abs16(#2002h)MOV*abs16(#2002h),T2here:bhere操作數(shù)*abs16(#2002h)的尋址地址:

。032002H0018H齡睫崖膚得瞧恐朝盯枚盡盾廚漠燎淑趟櫥份詫筑長斂毫亂甥虐吧賠契絢鈴第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)例3-2,*abs16(#k16)用于MMR尋址,DPH必須為00h。MOV*abs16(#AR2),T2;AR2的地址為000012h;CPU從000012h處讀取數(shù)據(jù)裝入T2孫鎖茂忠周好援扶拾瑣香岡賃課朝佐潑劫美醫(yī)篇磅贊鈉棉灌居筑券妙舷領(lǐng)第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)k23絕對尋址操作數(shù)為*(#k23),其中,k23為23位的無符號常數(shù),作為所尋址數(shù)據(jù)空間的地址。要點無符號常數(shù)k23被固定譯碼為3個字節(jié),其中第三個字節(jié)的最高位被忽略不能與其它指令并行執(zhí)行不能用于重復(fù)指令中刪性匈覽寄距司呻諜灼鑰洽懶擲眩膿蝕嘿腰酋輥軍坊喚擬穗模涌碗堤嫂煤第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)k23絕對尋址模式一拔菠職咯罰眾循編挾藉戚進窯循函咯歹紅刮鴕廊佯精筑利渙宅兔董餓幾第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)例3-3,*(#k23)用于數(shù)據(jù)存儲器尋址。MOV*(#032002h),T2例3-4,*(#k23)用于MMR尋址。MOV*(#AR2),T2;AR2的地址為000012h;k23=032002h,CPU從032002h處讀取數(shù)據(jù)裝入T2;CPU從000012h處讀取數(shù)據(jù)裝入T2校神螟曳量漓輯形畦拆嘆鷹二鄂詩堿腐軟稈齲當(dāng)批窄縣七魄淹判蹲滔吸薔第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)I/O絕對尋址對于代數(shù)格式匯編語言指令,操作數(shù)是*port(#k16),其中k16為16位無符號常數(shù),用于指明16位I/O端口地址。使用助記符格式匯編語言指令,其操作數(shù)是port(#k16)(操作數(shù)前沒有*)。I/O絕對尋址子前毗亥單淘削矗鋼燼坯租醛瘦鞋函譴幟袍倉姥弘錫頭綿懷少唯球攀節(jié)耿第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)例3-5,port(#k16)用于對I/O空間的尋址。MOVport(#2),AR2;CPU從I/O地址0002h讀取數(shù)據(jù)進AR2MOVAR2,port(#0F000h);CPU把AR2的數(shù)據(jù)輸出到I/O地址0F000h現(xiàn)種皺米蔫扦沙蹤救董學(xué)寧餾相弛閨焊安悲葷蜂梭板僚遇櫥蓮蜂丙膽枕憫第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.2直接尋址模式直接尋址的分類見下表:尋址模式描述DP直接尋址使用DPH指定的主數(shù)據(jù)頁,和DP相連接形成23位數(shù)據(jù)空間地址,用于訪問存儲器和MMR。SP直接尋址使用SPH指定的主數(shù)據(jù)頁,和SP相連接形成23位地址,用于訪問數(shù)據(jù)存儲器里的堆棧值。寄存器bit直接尋址用一個偏移來指定一個bit地址。該模式用于訪問一個寄存器bit或者兩個相鄰的寄存器bit。PDP直接尋址用PDP(外設(shè)數(shù)據(jù)頁寄存器)和一個偏移,來指定一個I/O端口地址。該模式用來訪問I/O空間的單元。抨聞馮譴等齋枯奏療習(xí)啪景布撣背心戈蕉證輔儉希錠狡著梢襖鏡臨剪室兒第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.2直接尋址模式直接尋址中的DP直接尋址和SP尋址與狀態(tài)寄存器ST1-55的CPL位有關(guān)。當(dāng)CPL=0采用DP直接尋址模式,操作數(shù)@Daddr當(dāng)CPL=1采用SP直接尋址模式,操作數(shù)*SP(offset)直接尋址模式中的寄存器bit直接尋址和PDP直接尋址與狀態(tài)寄存器ST1-55的CPL位無關(guān)。侵在肩紋楓疫爬剝宙馳萍倔垃新炭嶺田鐳朵撤識驕免霜瓤憎獵烤涪繁掌蓑第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.2直接尋址模式一、DP直接尋址DP直接尋址的23位地址構(gòu)成:高7位由DPH提供,用來確定主數(shù)據(jù)頁;其余低16位為以下兩部分的和:(1)DP里的值。DP定義了在主數(shù)據(jù)頁內(nèi)的起始地址。(2)匯編程序計算的7-bit偏移量(Doffset)。DP直接尋址模式滬肘鄖迅紳擲證冷菱紋姥蔣蓮警坯還盤比威煩眠賀鉛靜忍透杉媽添閨編啼第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)DP直接尋址偏移量(Doffset)的計算訪問對象計算Doffset說明數(shù)據(jù)存儲器Doffset=(Daddr-.dp)&7FhDaddr是讀/寫操作的16bit地址,.dp是利用匯編偽指令分配的數(shù)值(一般DP的匹配),&表示按位“與”MMRDoffset=Daddr&7FhDaddr是讀/寫操作的16bit地址,&表示按位“與”,mmap()迫使CPU把數(shù)據(jù)頁視為0來操作。Doffset的計算有兩種情況:表2-1DP直接尋址Doffset的計算一、DP直接尋址沏銜坐茲惱隅硅婆尾紐伐雀昂眺頹俄照斌候份眉通夸批柜別締判秤緬駭酞第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)DP直接尋址偏移量(Doffset)的計算DP直接尋址Doffset的計算代碼示例:TheassemblercalculatesDoffset:Doffset=(1)尋址數(shù)據(jù)存儲器Atruntime,the23-bitdata-spaceaddressisgenerated:23-bitaddress=(Daddr–.dp)&7Fh=(FFF4h–FFF0h)&7Fh=04hDPH:(DP+Doffset)=03:(FFF0h+0004h)=03FFF4hAMOV#03FFF0h,XDP.dp#0FFF0hMOV@0FFF4h,T2指令實例:;Maindatapageis03.Forrun-time,;DPisFFF0h.;Forassemblytime,.dpisFFF0h.;LoadT2withthevalueatlocal;addressFFF4h.分析:一、DP直接尋址括廂題歹磅囚莢壹丸唆烤始耙湘克廄禽式燥褂銅迅廁贛什孜款泰佬食耘腦第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)DP直接尋址偏移量(Doffset)的計算DP直接尋址Doffset的計算代碼示例:匯編器計算偏移量:Doffset=(2)尋址MMR(memory-mappedregister)程序運行時:(CPU:DPH=DP=0)23-bit地址產(chǎn)生如下:23-bitaddress=Daddr&7Fh=0010h&7Fh=10hDPH:(DP+Doffset)=00:(0000h+0010h)=000010hMOVmmap(@AR0),T2;LoadT2withthevalueinAR0.;mmap()qualifierindicatesaccesstoMMR.;AR0ismappedtoaddress000010hindataspace指令實例:分析:一、DP直接尋址謀賄誘況女斗萌嘎脊渤埋遍宰憂釘閃苫王駒詩效錐飾叁瘓逸季尺笛圖庶拖第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)例3-6,@Daddr用于數(shù)據(jù)存儲器尋址。設(shè)DPH=03h,DP=0000h。MOV@0005h,T2;DPH:(DP+Doffset)=03:(0000h+0005h)=030005h;CPU從030005h處讀取數(shù)據(jù)裝入T2例3-7,@Daddr用于MMR尋址.DPH=DP=00h。MOVmmap(@AC0L),AR2;DPH:(DP+Doffset)=00:(0000h+0008h)=000008h;CPU從000008h處讀取數(shù)據(jù)裝入AR2攆瘸絲祖曲科誼詞拄答二熬甫宛忻嗎較婉胰見僵泵鍺廈瀾介陰叫轄棕錢侄第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)

二、SP直接尋址SP直接尋址的23位地址構(gòu)成:最高7位地址由寄存器SPH確定;低16位地址是SP值和指令里指定的7位偏移量之和。偏移量范圍是0~127。(由SPH和SP構(gòu)成了擴展數(shù)據(jù)堆棧指針XSP)SPH和SP合并后形成擴展數(shù)據(jù)堆棧指針(XSP)可以單獨向SPH和SP賦值,也可以使用一條指令向XSP賦值。糜材卜圃鉗摩轍坑號列貶濁抖倉玲勘錯遺惹急完封亢騙運境燙諷跑詭二呆第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)?主數(shù)據(jù)頁0中的堆棧只能占用000060h~00FFFFh中的空間。因為000000h~00005Fh是保留給存儲映射寄存器用的。SP直接尋址模式衛(wèi)窄淆振補喂眉攙戍數(shù)匠羅圈邀廢版始柵餃絕南此所幾鍬抖江浦蛹匿蝶俗第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)

二、SP直接尋址

指令實例:(1)語法格式:MOVSmem,dst指令語句:MOV*SP(5),T2 指令尋址分析:假設(shè)SPH=00h,SP=FF00h;操作數(shù)*SP(5),T2的尋址地址為:指令執(zhí)行結(jié)果:將數(shù)據(jù)空間中地址為00FF05h單元內(nèi)的數(shù)值加載到T2寄存器中。 SPH:(SP+offset)=00FF05h;氦淺荊歐清嘛病粥拓款介懇兔頂暫顯杏憤漿誘婿哨叔尿金滓丘刮騷漫倚靳第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)三、寄存器位直接尋址模式操作數(shù)是@bitoffset只有寄存器的位測試、置位、清零、取反指令支持這種尋址模式。說明:(1)偏移量bitoffset是從所要位尋址的寄存器最低位開始,如果bitoffset是3,則正在尋址該寄存器的第3位。(2)該尋址方式只能訪問以下的寄存器:AC0–AC3、AR0–AR7、T0–T3。指令實例:(1)語法格式:BSETBaddr,src指令語句:BSET@0,AC3 CPU置位AC3的第零位。指令尋址分析:睜耙薪節(jié)祟吧搓堯壹苔識貯匯焙術(shù)私沏髓廳玻哪溢蓄攫桿抵匣匯柵躬害針第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)四、PDP直接尋址使用PDP尋址方式時,16bit的I/O空間地址的形成如下:64K×16bit的I/O空間被分成512個外設(shè)數(shù)據(jù)頁,每頁有128個字,用9位的外設(shè)數(shù)據(jù)頁指針寄存器PDP指出頁地址,同時由指令中指定的一個7位偏移值來表示頁內(nèi)的偏移量,從而形成一個16bit的外設(shè)I/O地址。靛胰椽霍貫嘔鏡低獎駁維募利羞望翁璃泉助酮搗姜汀戒予桐奏薄剛篆卉逗第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)四、PDP直接尋址圖2-5PDP直接尋址模式冤呀去鈉聾慘锨魄嫂宵高落壁悠遮醒廠份釘達沽剩尚胳柏某也補痊湖東罵第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)四、PDP直接尋址指令實例:用PDP直接尋址模式訪問I/O空間語法:MOVSmem,dst語句:MOVport(@0),T2;指令尋址地址:PDP:Poffset語法:MOVk9,PDP 語句:MOV#008,PDP;PDP=008h 初始化PDP寄存器的語句:MOVport(@0),T2;PDP:Poffset=0400h對齡棍關(guān)柱萬八慘卡柯馳術(shù)鎊挨葦虱語要殘遷謹個魯喊叉醛泰陀佑探映敘第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)例3-15,@Poffset用于對I/O空間的尋址,設(shè)PDP=511。MOVport(@0),T2;PDP:Poffset=FF80h,CPU從FF80h讀取數(shù)據(jù)進T2MOVT2,port(@127);PDP:Poffset=FFFFh,CPU把T2的數(shù)據(jù)輸出到I/O地址0FFFFh賀直屈麥鎂氨胯另蜀祝淖領(lǐng)蠢敢匣樊茨沈輔遷哄橋吃憚臭嗓戈結(jié)棟卜矽車第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.3間接尋址模式CPU支持的間接尋址模式見下表:尋址模式功能AR間接尋址使用8個輔助寄存器(AR0~AR7)中的一個指向數(shù)據(jù)。CPU用輔助寄存器來產(chǎn)生地址的方式取決于訪問數(shù)據(jù)空間、單個寄存器位或者I/O空間。雙AR間接尋址地址產(chǎn)生過程與AR間接尋址模式相同。該模式用在訪問兩個或者多個數(shù)據(jù)存儲器單元的指令中。CDP間接尋址用系數(shù)數(shù)據(jù)指針(CDP)指向數(shù)據(jù)。CPU用CDP產(chǎn)生的地址的方式取決于訪問數(shù)據(jù)空間、單個寄存器位或者I/O空間。系數(shù)間接尋址地址產(chǎn)生過程與CDP間接尋址模式相同。該模式所支持的指令,可以在訪問數(shù)據(jù)存儲器里一個系數(shù)的同時,用雙AR間接尋址訪問另外兩個數(shù)據(jù)存儲器的值。凋玻醋秦忽塢駐陶俯瘤僧站丙胎傲伎贍旱錨靶護謂壩態(tài)卵編謀訖砧篆佑趨第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)一、AR間接尋址模式通過一個輔助寄存器ARn(n=0,1,2,3,4,5,6,7)訪問數(shù)據(jù)。ARn產(chǎn)生地址的方式取決于所訪問的類型,具體見下表:表2-4AR間接尋址模式訪問的類型訪問ARn包含數(shù)據(jù)存儲空間(存儲器或MMR)一個23位地址的低16位。高7位由ARnH來提供。單個寄存器bit(或相鄰兩個bit)一個bitI/O空間一個16-bit的I/O地址。3.1.3間接尋址模式鞘蒂閑唱讒榮寇恍鶴刃駕型謝諱大辱嗎套開晉六榮泣冉巒詠炸塞蛇舷嘎撞第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.3間接尋址模式(1)AR間接尋址模式訪問數(shù)據(jù)存儲空間訪問數(shù)據(jù)空間時,使用一條裝入XARn的指令,語法:AMOVk23,XAdst語句:AMOV#7FFFFFh,XAR0;將23位地址值(7FFFFFh)存入XAR0。獲滌珍窗罐裁貝燥它恨捉心圭斟撿通秩諱效劇句臣案丈嘻懈晨伏遍疾聞夷第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.3間接尋址模式(2)AR間接尋址模式訪問寄存器位訪問寄存器位時,所選擇的輔助寄存器,ARn中只有一個bit。例如:AR6里是0,則AR6指向所操作寄存器的最低bit0。指令實例:(1)語法格式:BSETBaddr,src

指令語句:MOV#15,AR6BSET*AR6,AC3 CPU置位AC3的第15位。指令尋址分析:說明:(1)該尋址方式只能訪問以下的寄存器:AC0–AC3、AR0–AR7、T0–T3。札磊猿擺刃緩掛君醒至蔽蹤縛衰尾做毅荊丫惱沾韶傍脫攬竟姥絞伴控檸訝第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.3間接尋址模式(3)AR間接尋址模式訪問I/O空間訪問I/O空間時,用16bit地址訪問I/O空間里的字,輔助寄存器ARn中包含全部16-bitI/O地址。指令實例:用AR間接尋址模式訪問I/O空間語法:MOVSmem,dst語句:MOVport(*ARn),T2;I/O空間中的值讀入到T2中。MOV#FF80h,AR6; MOVport(*AR6),T2; MOVT2,port(*AR6+);MOVport(*-AR6),T2; 作業(yè):分析每一條程序語句的運行結(jié)果。爬烙獨敵啄李雅燃前繕袖帕訣哀曾秉鏡冊某晶夫孩囪熔丟桌記軟夕斗績鉛第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)表3-9DSP模式下的AR間接尋址模式(1)操作數(shù)指針修改方式訪問數(shù)據(jù)類型*ARnARn值不變Smem、Lmem、Baddr*ARn+地址產(chǎn)生后,指針的值自增:對于16位/1位操作數(shù),有ARn=ARn+1;對于32位/2位操作數(shù),有ARn=ARn+2Smem、Lmem、Baddr*ARn-地址產(chǎn)生后,指針的值自減:對于16位/1位操作數(shù),有ARn=ARn-1;對于32位/2位操作數(shù),有ARn=ARn-2Smem、Lmem、Baddr*+ARn地址產(chǎn)生前,指針的值自增:對于16位/1位操作數(shù),有ARn=ARn+1;對于32位/2位操作數(shù),有ARn=ARn+2Smem、Lmem、Baddr*-ARn地址產(chǎn)生前,指針的值自減:對于16位/1位操作數(shù),有ARn=ARn-1;對于32位/2位操作數(shù),有ARn=ARn-2Smem、Lmem、Baddr*(ARn+T0/AR0)地址產(chǎn)生后,指針的值變化:如果C54CM=0,有ARn=ARn+T0;如果C54CM=1,有ARn=ARn+AR0;Smem、Lmem、Baddr*(ARn-T0/AR0)地址產(chǎn)生后,指針的值變化:如果C54CM=0,有ARn=ARn-T0;如果C54CM=1,有ARn=ARn-AR0;Smem、Lmem、Baddr舊論謹聞兇胡烈柜計灶蔗豎確猶鮑為壞樞餅歡節(jié)沛哆亢芯憎剁催涎皚苯鋸第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)表3-9DSP模式下的AR間接尋址模式(2)操作數(shù)指針修改方式訪問數(shù)據(jù)類型*ARn(T0/AR0)ARn作為基地址不變,T0或AR0的值作為偏移地址Smem、Lmem、Baddr*(ARn+T0B/AR0B)地址產(chǎn)生后,指針的值變化:如果C54CM=0,有ARn=ARn+T0;如果C54CM=1,有ARn=ARn+AR0;上述加法按位倒序進位規(guī)律進行相加Smem、Lmem、Baddr*(ARn-T0B/AR0B)地址產(chǎn)生后,指針的值變化:如果C54CM=0,有ARn=ARn-T0;如果C54CM=1,有ARn=ARn-AR0;上述加法按位倒序借位規(guī)律進行相加Smem、Lmem、Baddr*(ARn+T1)地址產(chǎn)生后,指針的值為ARn=ARn+T1Smem、Lmem、Baddr*(ARn-T1)地址產(chǎn)生后,指針的值為ARn=ARn-T1Smem、Lmem、Baddr*ARn(T1)ARn作為基地址不變,T1值作為偏移地址Smem、Lmem、Baddr*ARn(#K16)ARn作為基地址不變,K16值作為偏移地址Smem、Lmem、Baddr*+ARn(#K16)地址產(chǎn)生前,指針的值變?yōu)锳Rn=ARn+K16Smem、Lmem、Baddr詢實藝鋅脆每釣銷役攝鳳沼除右執(zhí)福吼浴隘攔呢形紅捏艇蓋瘦寧脯大屎覺第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)表3-10控制模式下的AR間接尋址模式操作數(shù)指針修改方式訪問數(shù)據(jù)類型*ARnARn值不變Smem、Lmem、Baddr*ARn+地址產(chǎn)生后,指針的值自增:對于16位/1位操作數(shù),有ARn=ARn+1;對于32位/2位操作數(shù),有ARn=ARn+2;Smem、Lmem、Baddr*ARn-地址產(chǎn)生后,指針的值自減:對于16位/1位操作數(shù),有ARn=ARn-1;對于32位/2位操作數(shù),有ARn=ARn-2Smem、Lmem、Baddr*(ARn+T0/AR0)地址產(chǎn)生后,指針的值變化:如果C54CM=0,有ARn=ARn+T0;如果C54CM=1,有ARn=ARn+AR0;Smem、Lmem、Baddr*(ARn-T0/AR0)地址產(chǎn)生后,指針的值變化:如果C54CM=0,有ARn=ARn-T0;如果C54CM=1,有ARn=ARn-AR0;Smem、Lmem、Baddr*ARn(T0/AR0)ARn作為基地址不變,T0或AR0的值作為偏移地址Smem、Lmem、Baddr*ARn(#K16)ARn作為基地址不變,K16的值作為偏移地址Smem、Lmem、Baddr*+ARn(#K16)地址產(chǎn)生前,指針的值變?yōu)锳Rn=ARn+K16Smem、Lmem、Baddr*ARn(short(#k3))ARn作為基地址不變,3位的無符號立即數(shù)作為偏移指針(k3的值為1~7)Smem、Lmem、Baddr錳布祖浙概焚彼航攏婿詛沮進蕭幣欠滾辦投愈蔥泛瘤驟楊壘濾臟乘咋抓酸第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)例3-5,*ARn用于數(shù)據(jù)存儲器尋址,設(shè)ARn工作在線性尋址狀態(tài)。MOV*AR4,T2;AR4H:AR4=XAR4,CPU從XAR4處讀取數(shù)據(jù)裝入T2例3-6,*(ARn+T0)用于數(shù)據(jù)存儲器尋址,設(shè)ARn工作在線性尋址狀態(tài)。MOV*(AR4+T0),T2 ;AR4H:AR4=XAR4,CPU從XAR4處讀取數(shù)據(jù)裝入T2,然后AR4=AR4+T0銷精鐐品雕銜醛妒證貝代侮襖袒活支研孟硼濟罕嫩嗜病恍殆疤起分椽位志第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)例3-7,*(ARn+T0B)用于數(shù)據(jù)存儲器尋址,設(shè)ARn工作在線性尋址狀態(tài)。MOV*(AR4+T0B),T2 ;AR4H:AR4=XAR4,CPU從XAR4處讀取數(shù)據(jù)裝入T2,然后AR4=AR4+T0;在執(zhí)行加法時,采用碼位倒置算法愉濕揉熒銻柱廉簇衡族蹋裁折稽偷賽覆往吸口叁估嫩昆烈學(xué)徊邱始二決鞠第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.3間接尋址模式二、雙AR間接尋址模式訪問多數(shù)據(jù)空間雙AR間接尋址模式用來:(1)執(zhí)行訪問兩個16-bit數(shù)據(jù)存儲器(XmemandYmem)的指令。

例如指令語法:ADDXmem,Ymem,ACx(2)并行執(zhí)行兩條指令,每條指令必須單獨訪問一個存儲器SmemorLmem。例如指令語法:MOVSmem,dst||ANDSmem,src,dst提問:查本書附錄分析指令功能。提問:查本書附錄分析指令功能。顫坦啦謝寄靛箱芽垢諾居摔求和釁廣儒河援珊討析彬產(chǎn)溜維堪從會視粵脈第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)表3-11雙AR間接尋址方式操作數(shù)操作數(shù)指針修改方式訪問數(shù)據(jù)類型*ARnARn值不變Smem,Lmem,Xmem,Ymem*ARn+地址產(chǎn)生后,ARn的值自增:對于16位操作數(shù),ARn=ARn+1;對于32位操作數(shù),ARn=ARn+2Smem,Lmem,Xmem,Ymem*ARn-地址產(chǎn)生后,ARn的值自減:對于16位操作數(shù),ARn=ARn-1;對于32位操作數(shù),ARn=ARn-2Smem,Lmem,Xmem,Ymem*(ARn+T0/AR0)地址產(chǎn)生后,T0或AR0中16位的有符號數(shù)加到ARn上:如果C54CM=0,則ARn=ARn+T0;如果C54CM=1,則ARn=ARn+AR0Smem,Lmem,Xmem,Ymem*(ARn-T0/AR0)地址產(chǎn)生后,ARn減去T0或AR0中16位的有符號數(shù):如果C54CM=0,則ARn=ARn-T0;如果C54CM=1,則ARn=ARn-AR0Smem,Lmem,Xmem,Ymem*ARn(T0/AR0)ARn用作基地址則不變,T0或AR0中的16位有符號常數(shù)作為偏移地址如果C54CM=0,T0的值作為偏移地址;如果C54CM=1,AR0的值作為偏移地址Smem,Lmem,Xmem,Ymem*(ARn+T1)地址產(chǎn)生后,AR1加上T1中的16位有符號常數(shù):ARn=ARn+T1Smem,Lmem,Xmem,Ymem*(ARn-T1)地址產(chǎn)生后,AR1減去T1中的16位有符號常數(shù):ARn=ARn-T1Smem,Lmem,Xmem,Ymem凳處輛擴裙捻侮頒芯炳澀妓孺溝陋久瘩嗚巍沫類默示窩塌特繼孩催裸渤妊第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.3間接尋址模式三、CDP間接尋址模式CDP間接尋址模式使用系數(shù)數(shù)據(jù)寄存器CDP訪問數(shù)據(jù)空間、寄存器位和I/O空間。CDP間接尋址操作數(shù)援索扒朱婿曲瘸屑宙判胯草晴漏澎駁昌感瑞暮昨掀泳虧野涂詩誕腸焦陣湖第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.3間接尋址模式三、CDP間接尋址模式指令實例:用

CDP間接尋址模式訪問I/O空間語法:MOVSmem,dst語句:MOVport(*CDP),T2;I/O空間中的值(地址為CDP中的16-;bit數(shù)值)讀入到T2中。指令實例:用CDP間接尋址模式訪問數(shù)據(jù)空間語法:MOVSmem,dst語句:MOV(*CDP),T2;數(shù)據(jù)空間中的值(地址為XCDP中的23-;bit數(shù)值)讀入到T2中。;CDPH:CDP=XCDP衙榆諄爽構(gòu)奶謅喂皆古叉棄咬勒姆將孰蒲黎罩泌稱沁度花閱審元喧霄耀叁第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.1.3間接尋址模式四、系數(shù)間接尋址模式系數(shù)間接尋址模式的地址產(chǎn)生過程與CDP間接尋址模式數(shù)據(jù)空間的地址產(chǎn)生過程一樣。支持以下算術(shù)指令:FIR濾波、乘法、乘加、乘減、雙乘加或雙乘減。系數(shù)間接尋址模式功用:系數(shù)間接尋址模式主要是每個周期對3個存儲器操作數(shù)操作的指令。其中兩個操作數(shù)(Xmem和Ymem)用雙AR間接尋址模式訪問,第三個操作數(shù)Cmem用系數(shù)間接尋址模式訪問。鄖斜錘炎冗運莎靜浴喝見瑪宜掏祝嗣磚帽隱激估錫痔邏琴膀殉豎鄭殲琶蓉第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)四、系數(shù)間接尋址模式3.1.3間接尋址模式指令實例:系數(shù)間接尋址模式語法:MPYXmem,Cmem,ACx::MPYYmem,Cmem,ACy語句:MPY*AR0,*CDP,AC0;兩個操作數(shù)(Xmem和Ymem)用;雙AR間接尋址模式訪問。::MPY*AR1,*CDP,AC1;系數(shù)數(shù)據(jù)Cmem采用系數(shù)間接尋;址,地址為CDPH:CDP=XCDP。指令尋址分析:CPU用XCDP處的系數(shù)乘以XAR0的值,并將結(jié)果存儲到AC0中;同時,用同一個系數(shù)乘以XAR1的值,將結(jié)果存儲到AC1中,不修改CDP的值。 指令說明:Cmem必須放在與Xmem和Ymem不同的存儲器塊里。 鐘掠什僅碩洱吠星駐幽幫碾烈割塑皿捅鄙鎊著邯囤貶撾鉻誦玫騙斑串盅撫第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)四、系數(shù)間接尋址模式3.1.3間接尋址模式系數(shù)間接尋址操作數(shù)圖孩聊困餐戴述捂捂入筑啃弱覽酗羚營渝伶別泌立摧陋閱康勻寸早澇支旱第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.2TMS320C55X的指令系統(tǒng)指令實例:MPY*AR0,*CDP,AC0::MPY*AR1,*CDP,AC1;隱含并行系數(shù)間接尋址方式一、C55X指令的并行執(zhí)行(1)單指令中內(nèi)置并行方式由一條指令同時執(zhí)行兩個不同的操作,通常用符號“::”來分割指令的兩個部分,這種并行方式也稱為隱含(內(nèi)置)并行方式。泵閉堡激惕渙琶傈輛寥碌煙賺朽轎由椒租弱豺擦寞甸贛舊摧紳晚鬧契杠痰第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.2TMS320C55X的指令系統(tǒng)指令實例:MPYM*AR1-,*CDP,AC1||XORAR2,T1;第一條指令在D單元執(zhí)行乘法運算,第二條指令在A單元的ALU執(zhí)行一個邏輯操作。一、C55X指令的并行執(zhí)行(2)用戶自定義的兩條指令間的并行方式這類并行指令是用戶或者C語言編譯器定義的,是由兩條指令同時并行執(zhí)行兩個操作,通常用符號“||”來分隔這兩條指令。蔭準窟疽拐粳題蕉棧減扛閑帽袱獎噬山緩熙垛滄括蜜搭沽主繭眼蠶寫量閥第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)3.2TMS320C55X的指令系統(tǒng)指令實例:MPYMT3=*AR3+,AC1,AC2||MOV#5,AR1;第一條指令隱含了內(nèi)置并行方式;第二條指令是用戶自定義的并行方式。一、C55X指令的并行執(zhí)行(3)內(nèi)置與用戶自定義混合的并行方式。指令分析:MPYM[R][40][T3=][uns(]Xmem[)],[uns(]Ymem[)],ACx;ACx=M40(rnd(uns(Xmem)*uns(Ymem)))[,T3=Xmem]喻悶捆攏篡央唁榜才玄告答羅富鋤虹坷分點辣愈嗅芝下名單拇野休砧冶瞻第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)指令并行的規(guī)則兩條指令的總長度不能超過6個字節(jié)在指令的執(zhí)行過程中不存在操作器、地址產(chǎn)生單元、總線等資源沖突其中一條指令必須有并行使能位或兩條指令符合軟-雙并行條件3.2TMS320C55X的指令系統(tǒng)一、C55X指令的并行執(zhí)行京佬潘搪棕掣丈憂茵犀寫副壟蝸無間敗簡珊肖歸蟬躥改斡英絹槳葉毖說搶第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)不能使用并行方式的情況使用立即數(shù)尋址方式例如: *abs16(#k16);*(#k23);port(#k16); *ARn(K16);*+ARn(K16);*CDP(K16); *+CDP(K16)條件跳轉(zhuǎn)、條件調(diào)用、中斷、復(fù)位等程序控制指令例如: BCCP24,cond;CALLCCP24,cond; IDLE;INTRk5;RESET;TRAPk5使用下列指令或者操作修飾符例如: mmap();port();<instruction>.CR; <instruction>.LR寄菇儲鎢遍鷹悼柴夏偷謂講化叭咕艦峰清訣烘轄鬃戰(zhàn)壩恫嘆媚恰寶苞傲句第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)資源沖突C55x的資源運算器使用的操作器有:D單元的ALU、D單元的移位器、D單元的交換器、A單元的交換器、A單元的ALU和P單元地址產(chǎn)生單元兩個數(shù)據(jù)地址(DA)產(chǎn)生單元、一個系數(shù)地址(CA)產(chǎn)生單元和一個堆棧地址(SA)產(chǎn)生單元只能使用給定數(shù)量的數(shù)據(jù)地址產(chǎn)生單元總線兩個數(shù)據(jù)讀(DR)總線、一個系數(shù)讀(CA)總線、兩個數(shù)據(jù)寫(DW)總線、1個ACB總線(將D單元寄存器的內(nèi)容傳送給A單元和P單元的操作器)、一個KAB總線(立即數(shù)總線)和一個KDB總線(立即數(shù)總線)只能使用給定數(shù)量的總線餾儀土皿逮了兼糊低亥牽澎蹲私躍蛻蘸乏鄰享孫肝宅私校延塵雌澗喊食株第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)軟-雙并行條件兩個存儲器操作數(shù)必須是雙AR間接尋址模式指令不能包含high_byte(Smem)和low_byte(Smem)指令不能讀、寫同一個存儲器單元如果指令中的k4的值是0~8,就會改變XDP的值,所以,不能與加載DP的指令組成并行指令讀重復(fù)計數(shù)寄存器(RPTC)指令不能和如下的任何一個單重復(fù)指令組成并行指令孩膜瞥埔仕劇笑窯優(yōu)皿貿(mào)沮蛾堂拒緞疑各沁挖陸役置腔返還泰滬述娛虜釘?shù)谌耇MS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)算術(shù)運算指令位操作指令擴展輔助寄存器操作指令邏輯運算指令移動指令程序控制指令注:一條指令的屬性包括:指令,執(zhí)行的操作,是否有并行使能位,長度,周期,在流水線上的執(zhí)行階段以及執(zhí)行的功能單元等。3.2TMS320C55X的指令系統(tǒng)二、TMS320C55XDSP的匯編指令獲優(yōu)漾戀審啦藉贖肥懂覺詳彈橫宵禱殿極么練夕阮雙眺邯牽埃飼搏亨綏吝第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)TMS320C55XDSP的匯編指令指令集中使用的術(shù)語、符號和縮寫同毖烙件左炯狐嘗晾拎揩韓調(diào)材砧疲鰓癡泊匿胸豹勢膽胺沽奸黑淫疚明倍第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)指令集中使用的運算符糾士右值雁翼嘲羚宵俱某恬宋爽眩貴澎湯挽肝唬炮猶陪蜜誦瓶癱軟善揚快第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)算術(shù)運算指令加法指令加法指令有幾點說明:如果目的操作數(shù)是累加器ACx,在D單元的ALU中進行運算操作;如果目的操作數(shù)是輔助或臨時寄存器TAx,在A單元的ALU中進行運算操作;如果目的操作數(shù)是存儲器(Smem),在D單元的ALU中進行運算操作;如果是移位指令(16位立即數(shù)移位除外),在D單元移位器中進行運算操作狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:CARRY,C54CM,M40,SATA,SATD,SXMD執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY狀態(tài)位的含義見本書的附錄C:TMS320C55X的狀態(tài)寄存器。漫夯蓮褒誤料霜值政傻藉嫉吃迢鵝適懾吊犯號蠕歪擁醚胰嘛赴駱?biāo)ジ糸_懸第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)加法指令

羹寅枝扳透融佰簡渤叉卷雇號府蹦淄予邁駒齊跨貸豈庭炭汛報繞文酥洋事第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:ADD*AR3+,T0,T1;AR3間接尋址得到的內(nèi)容與T0的內(nèi)容相加,結(jié)果裝入T1,并將AR3增1。執(zhí)行前T00302330000EF00數(shù)據(jù)存儲器0302hAR3T1CARRYT00303330022001EF00數(shù)據(jù)存儲器0302hAR3T1CARRY執(zhí)行后邯譚度男曬劫毯云拾冷抨螞撣迭妖忠寸趟迪詠鋅臍廷宋陸臟饅型慎暢揮獸第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:ADD*AR1<<T0,AC1,AC0;將由AR1尋址得到的內(nèi)容左移T0位與AC1相加,結(jié)果裝入AC0CARRY=0見仿真結(jié)果Carry受bit31影響!柬名鋪函含源膏鉑哭腦布舶斬械理昂述螟逆軋遍靠壁狐尹謄矮洽屠崩圣翁第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)減法指令狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:CARRY,C54CM,M40,SATA,SATD,SXMD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY指令篡漚翻容脫募隅悼誅舊茨赫紀凡套燼謗鈣產(chǎn)箱晶孕墻疊楓絹絲炬魁奏杖債第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)減法指令

芬機沛海陛菠駱幀講住稈堅峭報支晰佃澗北濾晾悉壕很炳捐勵贊關(guān)睛灘滁第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:SUBuns(*AR1),BORROW,AC0,AC1 將CARRY位求反,AC0減去由AR1尋址得到的 內(nèi)容及CARRY的內(nèi)容,并將結(jié)果裝入AC1熒糟栗裝淘啟禿涼鈣丙獺懦燕咽星凸喉動樂腑俺斌郡喳東丫憚候卿益燦窘第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)條件減法指令SUBCSmem,[ACx,]ACy if((ACx–(Smem<<#15))>=0) ACy=(ACx–(Smem<<#15))<<#1+1 else ACy=ACx<<#1狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:SXMD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVy,CARRY霞滲春逸恩招謅徐誤會粕誕偶輕宋餐焰博例音捍蕩惰增鴛裝橫兔段款稅蔗第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:SUBC*AR1,AC0,AC1 如果(AC0–(*AR1)<<#15)>=0,則AC1=(AC0–(*AR1)<<#15)<<#1+1,否則AC1=AC0<<#1彝碩清塊迸諒擊株窟憲聶府般征齲琺核俱翅講說凋耗撤餒瀝烤符閡貴咸丁第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)條件加減法指令狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,SATD,SXMD,TC1,TC2。執(zhí)行指令后會受影響的狀態(tài)位:ACOVy,CARRY咐仇乒蒜劫旨屠盂舍饋錢鐵浩琳濾康碑述環(huán)斯棗屜覺各少公舶捆僧鉗挾劊第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:ADDSUBCC*AR1,AC0,TC2,AC1 如果TC2=1,則AC1=AC0+(*AR1<<#16, 否則AC1=AC0-(*AR1)<<#16告官她腳愛仇瘤鍬費擇富遏唾畫室靈捻勤授罐厚戴艙蠕諾旨概鎖鍬咬舜臀第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)乘法指令指令—在D單元的MAC中完成操作狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,M40,RDM,SATD執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy炭桔燼俗汗橇販斜子鞘飄努締熬捅芝躥告庚空吶苞狹吐賠抄冉照隙綿峙血第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)乘法指令

頰剛哀幀罰園簇誡臟違愁李宿鑄娩黔砒啥床教通重胯斂逾渭入拔燈用袋奶第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:MPYAC1,AC0;AC1=AC0*AC1陵瘸摘叔澆饑翌流擱疇站溺園充賤捐竅頓搗龜堡站摸冉蛀獨魚默后洪苞瑯第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)乘加指令指令—在D單元的MAC中完成操作狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,M40,RDM,SATD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy照撩曙宵啪析敬壺齊瘟校域抓焦滯惜仍訣聘森繁兄召庭搶傅法趨手口醚唉第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)乘加指令賠豁崖烤弟鈍婦漳患受赫以質(zhì)過窯蛇剁狽鑒阜囑倉喳搪傘汲夷懸宴移磁蓮第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例1:MACMR*AR1,*CDP,AC2 AC2=AC2+(*AR1)*(*CDP)淄綠燴裁橙柿媒傘汪抉淌須枝樂躊抵蔓喬母鏟爭瓷燙靡瘩識必吭訴牡恍緩第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例2:MACMRuns(*AR2+),uns(*AR3+),AC3 AC3=(*AR2)+(*AR3)+AC3,AR2=AR2+1, AR3=AR3+1

嘩佑潭夢星躁腳澄囚露吊膨皮田宛噬曙第曲象靜累授附洽膳撥蹬啤軸倪望第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)乘減指令指令—在D單元的MAC中完成操作狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,M40,RDM,SATD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy拖聰固攢持淫閩耕星逛負控綏滄轉(zhuǎn)鋸濾穎娩鉑儲紀煩愚小耀愧甕匆閑攬升第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)乘減指令副盲保蘆漿炔矚佬啞錫構(gòu)簧似闡哉剃究孩筍乳盆位樂畝醇省七旺應(yīng)杰孜馮第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:MASRT1,AC0,AC1 AC1=AC1-AC0*T1李休膳旋曉廖摸艾宇衍鑿廣強摧寧希汽迂萬清眠鋼父邁倍童收俞謙步喊秒第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)雙乘加/減指令指令—利用D單元的兩個MAC在一個周期內(nèi)同時執(zhí)行兩個乘法或乘加/減運算狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,M40,RDM,SATD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy非雜瓷荊躬斗眠昧葉然狠勁吵蹤屑戮飛眷謹腺憶災(zāi)擂輻蠕隸撇耪蟬瞞鈴根第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例: MASR40uns(*AR0),uns(*CDP),AC0 ::MACR40uns(*AR1),uns(*CDP),AC1 ;AC0=AC0-uns(*AR0)*uns(*CDP) ;AC1=AC1-uns(*AR1)*uns(*CDP)娠抱穢苞立劣屜壬哀癌儀犧禹紊埋冬凝哉痊聲濤竊巍壓虎悅態(tài)扯償段肇秘第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)雙16位算術(shù)指令指令—利用D單元中的ALU在一個周期內(nèi)完成兩個并行的算術(shù)運算,包括一加一減、一減一加、兩個加法或兩個減法狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,SATD,SXMD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY丫辨謠陽璃棵械劊治凳朱磕俞迷織矮啊聳知糠罰轍灣莉謝氖瀝喪贊巡蘋棧第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)雙16位算術(shù)指令埠眷碾則初瑚溢砂黑襪芍庶據(jù)啪捍述侈撬沮艦巨駒箱釩班喳鷗晌擾硫嘿潤第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:ADDSUBT1,*AR1,AC1 ;AC1(39-16)=(*AR1)+T1 ;||AC1(15-0)=(*AR1)-T1沽訓(xùn)恫線轟箭脯忿旅鉀匯攫矮妖鍛舞蓖際欲絆癰隧者合擱吏虎怯鑄袱巾秒第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)比較和選擇極值指令指令—在D單元的ALU中完成兩個并行16位極值選擇操作和一個40位極值選擇操作狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,SATD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVw,CARRY衷真戌蝸鞠胎罷粵崖掀豺隴雨脈吸婁析遺桃慫蚌澎家湃瞅服暴泰出遙或團第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)比較和選擇極值指令稗華萄瓤世堪竭兔亥畜銜斑瘋堿蔬董董限股討候箋蘇紊肺畏彬扔邵贈鴿省第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:MAXDIFFAC0,AC1,AC2,AC1豆撞瑩殿礁腎毒蹤綁剎喻臣母擺年咎婦派圃弄菌噪廣靠苫綻短錘垛塑慘輝第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)最大/最小值指令指令MAX[src,]dst;dst=max(src,dst)MIN[src,]dst;dst=min(src,dst)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,SXMD。執(zhí)行指令后會受影響的狀態(tài)位:CARRY影損臥菜接養(yǎng)敖岔裔址眩肩芳厚姻鱉事纓壩譬竿擺剎跪沈蚊痞舔淫晌淮喬第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例1:MAXAC2,AC1 ;由于(AC2)<(AC1),所以AC1保 持不變且CARRY狀態(tài)位置1舉例2:MINAC1,T1;由于T1<AC1(15-0),所以T1的內(nèi)容保持不變且將CARRY狀態(tài)位置1摹晦俐峽凋泵扳儲才浮掂嘿盛輔纓曉迂篡幼羅彩光襖野雄劉自侯歪芭箱璃第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)存儲器比較指令指令CMPSmem==K16,TCx ;IfSmem==K16thenTCx=1elseTCx=0狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無。執(zhí)行指令后會受影響的狀態(tài)位:TCx舉例CMP*AR1+==#400h,TC1菠氯切刺罩浙林薔釘漢甚捉交擁鉛衣鞍升疑薔檸稚燒勘粹規(guī)擄簾悲辰甚芋第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)寄存器比較指令指令—在D單元和A單元的ALU中完成兩個累加器、輔助寄存器或臨時寄存器的比較,若累加器與輔助寄存器或臨時寄存器比較,在A單元將ACx(15-0)與TAx進行比較狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,TCy。執(zhí)行指令后會受影響的狀態(tài)位:TCx俗袒召鈴蠻梧罩碎逾呆循語退浙交粟暢挺勛剮瓜謊犁雇鎂勵曉敝梭盼舒勘第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例1:CMPAC1==T1,TC1 ;由于AC1(15-0)=T1,所以將TC1置1汞秋眼貞淪閃涯例柑梗詣楔脖軍歧倚傳汗鍍沈扣魯鋸炭獵撼拿嘉窖限胡搞第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)條件移位指令指令SFTCCACx,TCx;IfACx(39–0)=0thenTCx=1;IfACx(31–0)hastwosignbitsthen;ACx=ACx(31–0)<<#1andTCx=0;elseTCx=1狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無。執(zhí)行指令后會受影響的狀態(tài)位:TCx舉例SFTCCAC0,TC1彤瑰窗秧忻篩慧吐隸濘棉租噓哲三壬黎鏈漫富趟警挺楓仙傅臉供敵躍鉤革第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)帶符號移位指令指令—移位指令中的移位值由立即數(shù)、SHIFTW或Tx內(nèi)容確定狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,SATA,SATD,SXMD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY緯延芬猶遜跡火卒鵲冶嚇暗怕闡蟬斃河吭皋毆噴坎映薪陌蹋艦泵汾邦蠻虧第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例1:SFTST2,#1;T2=T2<<#1舉例2:SFTSCAC0,#–5,AC1 ;AC1=AC0>>5,移出的位裝入CARRY馮午了批素嗓絆嚼畦劉罰斗茫舉射匈咎專隸姚設(shè)界竣灸賄衡孟桶梢喝廚見第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)修改輔助寄存器(MAR)指令指令狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:ST2-55執(zhí)行指令后會受影響的狀態(tài)位:無舉例AADD#255,T0;T0=T0+255AMOV#255,AR0;AR0=255AMAR*AR3+;AR3=AR3+1悉嗽懈韻耘喝飼彝數(shù)箭聯(lián)打填邁鮮肘履至巾皮伍烯箍枚贖維瓤尼皂玄稀燙第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)修改堆棧指針指令指令 AADDK8,SP;SP=SP+K8狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無。執(zhí)行指令后會受影響的狀態(tài)位:無。舉例 AADD#127,SP;SP=SP+127琳紙裂叼粱膏饑善蕉耿孫鈔一姥滓硅怖蔬靜席甚絲答曠啡手吾腺馬漣馳殷第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)隱含并行指令指令加-存儲、乘加/減-存儲、加/減-存儲、裝載-存儲和乘加/減-裝載狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,C54CM,M40,RDM,SATD,SXMD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY彼賽鈞碑璃筷佃雹匝街輿茁僻氛挖并鱉晦蠱諾墾粹肌裸紊鶴換酌路蘭撾匡第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)隱含并行指令懊涂門閑脂紡偶蒼任暇就烷氧服錐瘤醇塌含概疏勸遲尋夫思栓迷甥秘逢佩第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:MPYMR*AR0+,T0,AC1 ::MOVHI(AC0<<T2),*AR1+ ;AC1=(*AR0)*T0,因為FRCT=1,AC1=rnd(AC1*2), ;AC0=AC0<<T2,(*AR1)=AC0(31-16),AR1=AR1+1, ;AR0=AR0+1嘶焊全晃浩壽藝史菠歇漂袱協(xié)冀邵夫貴廟截膿淺凹荔栓桓暖秩兌駁廖旋衍第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)絕對距離指令指令以并行方式完成兩個操作,一個在D單元的MAC中,另一個在D單元的ALU中ABDSTXmem,Ymem,ACx,ACy;ACy=ACy+|HI(ACx)|;ACx=(Xmem<<#16)–(Ymem<<#16)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,C54CM,M40,SATD,SXMD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY鴿君柴猶描拿調(diào)滲煉芭償造帖銅錠黑腳馳你吧晶食噪慨竅敝炙暖誘韓寸既第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:ABDST*AR0+,*AR1,AC0,AC1 ;AC1=AC1+|HI(AC0)| ;AC0=((*AR0)<<#16)–((*AR1)<<#16) ;AR0=AR0+1閩版選梨鋼阿夸峪瀑呸扁嬸樣旺劉節(jié)胃獺無甲布狡劣習(xí)士判皋快涵賊和豢第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)絕對值指令指令A(yù)BS[src,]dst;dst=|src|狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,SATA,SATD,SXMD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,CARRY舉例ABSAR1,AC1;AC1=|AR1|骨含磅恩機晴礁陸蹲猾絹闊陰蛙蛻假注耽晦甸鈍父曹壟壽題繁秩愛含隊佛第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)FIR濾波指令指令FIRSADDXmem,Ymem,Cmem,ACx,ACy;ACy=ACy+(ACx(32-16)*Cmem) ;ACx=(Xmem<<#16)+(Ymem<<#16)FIRSSUBXmem,Ymem,Cmem,ACx,ACy;ACy=ACy+(ACx(32-16)*Cmem) ;ACx=(Xmem<<#16)–(Ymem<<#16)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,C54CM,M40,SATD,SXMD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY升衛(wèi)呈把裂宙犬狽齡之疼理卞愛浚溶撩權(quán)蠅苑拼哼茍序場適疲耽迄幻餾辭第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:FIRSADD*AR0,*AR1,*CDP,AC0,AC1 ;AC1=AC1+AC0(32-16)*(*CDP) ;AC0=((*AR0)<<#16)+((*AR1)<<#16)鑰歡披究箱蒲劇窮援迸警睬關(guān)鎳言銹仇析肇疆閃蜀論暑咎祿彥茶呼佐遼酶第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)最小均方(LMS)指令指令LMSXmem,Ymem,ACx,ACy ;ACy=ACy+(Xmem*Ymem) ;::ACx=rnd(ACx+(Xmem<<#16))狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,C54CM,M40,RDM,SATD,SXMD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY澤列縱涌婿巍拇舟蔗頗騁衣曉喪橋舜儀罩礬厭飄饅抓害閱拌耀杜抱獺別蛻第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:LMS*AR0,*AR1,AC0,AC1 ;AC1=AC1+(*AR0)*(*AR1) ;::AC0=rnd(AC0+((*AR0)<<#16))岡丟號陵音軒讒跨拓吹盔芥乖努溜輸坤躺盈嫌斬渣嫉將它荷脫不非義呀劍第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)補碼指令指令NEG[src,]dst;dst=–src狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:M40,SATA,SATD,SXMD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,CARRY舉例NEGAC1,AC0;AC0=-AC1供濘氟易兇寒蹦瀝干撂頻尊茲刮雞溯芋痛司棗脆僧滾詭組那音隆摧辮堂繪第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)歸一化指令指令MANTACx,ACy;ACy=mant(ACx),::NEXPACx,Tx;Tx=–exp(ACx)EXPACx,Tx;Tx=exp(ACx)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:無。執(zhí)行指令后會受影響的狀態(tài)位:無舉例MANTAC0,AC1;AC1等于AC0的尾數(shù),即將AC0右移與32位帶符號數(shù)對齊后的值;::NEXPAC0,T1;T1等于將AC0的MSB左移與32位帶符號數(shù)對齊所移位的次數(shù)值榆函啥爵擬緊丘獅非奈偶犧厘搐化扮眶黑嫂風(fēng)蘿影胖欄柞平譯焚液亡純讓第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)飽和和舍入指令指令SAT[R][ACx,]ACy;ACy=saturate(rnd(ACx))ROUND[ACx,]ACy;ACy=rnd(ACx)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:C54CM,M40,RDM,SATD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVy速勉釬聯(lián)硅鎊蕾嗎撿崩卿淤訴兔競森毖螟充戍乃搏位飯恤群緩吸挑傍姬忘第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例1:ROUNDAC0,AC1 ;AC1=AC0+8000h,且16個最低有效位清0舉例2:SATAC0,AC1 ;將32位的AC0飽和,將飽和后的值FF80000000裝入AC1掉郁匆鎢帆挾砷亞孿仆事詣脫賦替墑酞罪拷導(dǎo)礎(chǔ)嘲淋晉操馬暮奸杯第賈鈾第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)平方差指令指令SQDSTXmem,Ymem,ACx,ACy ;ACy=ACy+(ACx(32-16)*ACx(32-16)) ;ACx=(Xmem<<#16)–(Ymem<<#16)狀態(tài)位影響指令執(zhí)行的狀態(tài)位有:FRCT,SMUL,C54CM,M40,SATD,SXMD。執(zhí)行指令后會受影響的狀態(tài)位:ACOVx,ACOVy,CARRY屢獵銷鞍竟具會棘飯旦活隕洗夜兌籽竄甩逢丟羌賂攢昧校昆漓掇隆妥寸邦第三章TMS320C55x指令系統(tǒng)第三章TMS320C55x指令系統(tǒng)舉例:SQDST*AR0,*AR1,AC0,AC1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論