Part 5 匯編指令系統(tǒng)_第1頁(yè)
Part 5 匯編指令系統(tǒng)_第2頁(yè)
Part 5 匯編指令系統(tǒng)_第3頁(yè)
Part 5 匯編指令系統(tǒng)_第4頁(yè)
Part 5 匯編指令系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩108頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 在在DSP應(yīng)用中,雖然可以使用應(yīng)用中,雖然可以使用C/C+高級(jí)語(yǔ)言高級(jí)語(yǔ)言編程,降低了對(duì)編程者的要求,但在一些實(shí)時(shí)性編程,降低了對(duì)編程者的要求,但在一些實(shí)時(shí)性要求高的場(chǎng)合仍然需要采用匯編編程,以充分利要求高的場(chǎng)合仍然需要采用匯編編程,以充分利用用DSP豐富的硬件資源,發(fā)揮它的實(shí)時(shí)運(yùn)算能力。豐富的硬件資源,發(fā)揮它的實(shí)時(shí)運(yùn)算能力。 用匯編語(yǔ)言編程,要求編程者對(duì)用匯編語(yǔ)言編程,要求編程者對(duì)DSP的低層有充的低層有充分的了解,包括硬件結(jié)構(gòu)、存儲(chǔ)器空間模型和分的了解,包括硬件結(jié)構(gòu)、存儲(chǔ)器空間模型和I/O口的組織等。同時(shí)又要求編程者對(duì)指令系統(tǒng)口的組織等。同時(shí)又要求編程者對(duì)指令系統(tǒng)有深刻的了解。有深刻的了

2、解。第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 目錄:目錄: 3.1 C54x3.1 C54x匯編語(yǔ)言指令集介紹匯編語(yǔ)言指令集介紹 3.2 3.2 尋址方式尋址方式 3.3 C54x3.3 C54x系列系列DSPDSP的指令系統(tǒng)的指令系統(tǒng)第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) C54x 指令集包括:指令集包括: 本章介紹本章介紹C54x DSP的匯編語(yǔ)言指令系統(tǒng)。與其它的匯編語(yǔ)言指令系統(tǒng)。與其它CPU的指令集相同,匯編語(yǔ)言指令又稱(chēng)為的指令集相同,匯編語(yǔ)言指令又稱(chēng)為硬指令硬指令,它,它們?cè)趥冊(cè)趨R編和連接后匯編和連接后形成可執(zhí)行的形成可執(zhí)行的機(jī)器碼機(jī)器碼,供,供DSP進(jìn)行進(jìn)行運(yùn)算和其它操作

3、。運(yùn)算和其它操作。 匯編語(yǔ)言指令匯編語(yǔ)言指令 匯編偽指令匯編偽指令 宏指令宏指令第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.1 C54x匯編語(yǔ)言指令集介紹匯編語(yǔ)言指令集介紹 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.1.1 指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符 指令系統(tǒng)中采用的符號(hào)和縮寫(xiě)如下列表中所示指令系統(tǒng)中采用的符號(hào)和縮寫(xiě)如下列表中所示序號(hào)序號(hào)符符 號(hào)號(hào)含含 義義1A 累加器累加器A2ALU 算術(shù)邏輯運(yùn)算單元算術(shù)邏輯運(yùn)算單元3AR 泛指通用輔助寄存器泛指通用輔助寄存器4ARx 指定某一輔助寄存器指定某一輔助寄存器AR0AR75ARP ST0中的中的3 3位

4、輔助寄存器指針位輔助寄存器指針6ASM ST1中的中的5 5位累加器移位方式位位累加器移位方式位-16157B 累加器累加器B8BRAF ST1中的塊重復(fù)操作標(biāo)志中的塊重復(fù)操作標(biāo)志9BRC 塊重復(fù)操作寄存器塊重復(fù)操作寄存器10BITC或或bit_code 用于測(cè)試指令用于測(cè)試指令, ,指定數(shù)據(jù)存儲(chǔ)器單元中的哪指定數(shù)據(jù)存儲(chǔ)器單元中的哪 一位被測(cè)試一位被測(cè)試, ,取指范圍取指范圍: :015第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)序號(hào)序號(hào)符符 號(hào)號(hào)含含 義義11C16 ST1中的雙中的雙1616位位/雙精度算術(shù)運(yùn)算方式位雙精度算術(shù)運(yùn)算方式位12C ST0中的進(jìn)位位中的進(jìn)位位13CC 2 2位條

5、件碼位條件碼(0 CC 3)14CMPT ST1中的中的ARP修正方式位修正方式位15CPL ST1中的直接尋址編輯標(biāo)志位中的直接尋址編輯標(biāo)志位16cond 表示一種條件的操作數(shù),用于條件執(zhí)行指令表示一種條件的操作數(shù),用于條件執(zhí)行指令17d, ,D 延時(shí)選項(xiàng)延時(shí)選項(xiàng)18DAB D地址總線(xiàn)地址總線(xiàn)19DAR DAB地址寄存器地址寄存器20dmad 16 16位立即數(shù)數(shù)據(jù)存儲(chǔ)器地址位立即數(shù)數(shù)據(jù)存儲(chǔ)器地址(065535)3.1.1 指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)序號(hào)序號(hào)符符 號(hào)號(hào)含含 義義21Dmem 數(shù)據(jù)存儲(chǔ)器操作數(shù)數(shù)據(jù)存

6、儲(chǔ)器操作數(shù)22DP ST0中的數(shù)據(jù)存儲(chǔ)器頁(yè)指針中的數(shù)據(jù)存儲(chǔ)器頁(yè)指針(0 DP 511)23Dst 目的累加器目的累加器(A和和B)24dst_ 與與dst相反的目的累加器相反的目的累加器25EAB E地址總線(xiàn)地址總線(xiàn)26EAR EAB地址總線(xiàn)地址總線(xiàn)27extpmad 23 23位立即程序存儲(chǔ)器地址位立即程序存儲(chǔ)器地址28FRCT ST1中的小數(shù)方式位中的小數(shù)方式位29hi(A) 累加器的高階位累加器的高階位(AH或或BH)30HM ST1中的保持方式位中的保持方式位3.1.1 指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)序號(hào)序號(hào)符

7、符 號(hào)號(hào)含含 義義31IFR 中斷標(biāo)志寄存器中斷標(biāo)志寄存器32INTM ST1中的中斷屏蔽位中的中斷屏蔽位33K 少于少于9 9位的短立即數(shù)位的短立即數(shù)34k3 3 3位立即數(shù)位立即數(shù)(0 k3 7)35k5 5 5位立即數(shù)位立即數(shù)(-16 k5 15)36k9 9 9位立即數(shù)位立即數(shù)(0 k9 511)37lk 16 16位長(zhǎng)立即數(shù)位長(zhǎng)立即數(shù)38Lmem 利用長(zhǎng)字尋址的利用長(zhǎng)字尋址的3232位單數(shù)據(jù)存儲(chǔ)器操作數(shù)位單數(shù)據(jù)存儲(chǔ)器操作數(shù)39Mmr,MMR 存儲(chǔ)器映像寄存器存儲(chǔ)器映像寄存器40MMRx,MMRy 存儲(chǔ)器映像寄存器存儲(chǔ)器映像寄存器,AR0AR7或或SP3.1.1 指令系統(tǒng)中的符號(hào)、縮寫(xiě)

8、及操作符指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)序號(hào)序號(hào)符符 號(hào)號(hào)含含 義義41n XC指令后面的字?jǐn)?shù)指令后面的字?jǐn)?shù),取取1或或242N 指定狀態(tài)寄存器指定狀態(tài)寄存器,N=0為為ST0,N=1為為ST143OVA ST0中的累加器中的累加器A溢出標(biāo)志溢出標(biāo)志44OVB ST0中的累加器中的累加器B溢出標(biāo)志溢出標(biāo)志45OVdst 指定目的累加器指定目的累加器(A或或B)的溢出標(biāo)志的溢出標(biāo)志46OVdst_ 指定與指定與Ovdst相反的目的累加器的溢出標(biāo)志相反的目的累加器的溢出標(biāo)志47OVsrc 指定源累加器指定源累加器(A或或B)的溢出標(biāo)志的溢出標(biāo)志48OVM

9、 ST1中的溢出方式位中的溢出方式位49PA 16 16位立即端口地址位立即端口地址(0 PA 65535)50PAR 程序存儲(chǔ)器地址寄存器程序存儲(chǔ)器地址寄存器3.1.1 指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)序號(hào)序號(hào)符符 號(hào)號(hào)含含 義義51PC 程序計(jì)數(shù)器程序計(jì)數(shù)器52pmad 16 16位立即程序存儲(chǔ)器地址位立即程序存儲(chǔ)器地址(0 pmad 65535)53pmem 程序存儲(chǔ)器操作數(shù)程序存儲(chǔ)器操作數(shù)54PMST 處理器工作方式狀態(tài)寄存器處理器工作方式狀態(tài)寄存器55prog 程序存儲(chǔ)器操作數(shù)程序存儲(chǔ)器操作數(shù)56R 舍入選項(xiàng)舍

10、入選項(xiàng)57rnd 循環(huán)尋址循環(huán)尋址58RC 重復(fù)計(jì)數(shù)器重復(fù)計(jì)數(shù)器59RTN 快速返回寄存器快速返回寄存器60REA 塊重復(fù)結(jié)束地址寄存器塊重復(fù)結(jié)束地址寄存器3.1.1 指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)序號(hào)序號(hào)符符 號(hào)號(hào)含含 義義61RSA 塊重復(fù)起始地址寄存器塊重復(fù)起始地址寄存器62SBIT 用于指定狀態(tài)寄存器位的用于指定狀態(tài)寄存器位的4 4位地址位地址(015)63SHFT 4 4位移位值位移位值(015)64SHIFT 5 5位移位值位移位值(-1615)65Sind 間接尋址的單數(shù)據(jù)存儲(chǔ)器操作數(shù)間接尋址的單數(shù)據(jù)存儲(chǔ)

11、器操作數(shù)66Smem 16 16位單數(shù)據(jù)存儲(chǔ)器操作數(shù)位單數(shù)據(jù)存儲(chǔ)器操作數(shù)67SP 堆棧指針寄存器堆棧指針寄存器68src 源累加器源累加器(A或或B)69ST0,ST1 狀態(tài)寄存器狀態(tài)寄存器0 0,狀態(tài)寄存器狀態(tài)寄存器1 170SXM ST1中的符號(hào)擴(kuò)展方式位中的符號(hào)擴(kuò)展方式位3.1.1 指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)序號(hào)序號(hào)符符 號(hào)號(hào)含含 義義71T 暫存器暫存器72TC ST0中的測(cè)試中的測(cè)試/控制標(biāo)志控制標(biāo)志73TOS 堆棧頂部堆棧頂部74TRN 狀態(tài)轉(zhuǎn)移寄存器狀態(tài)轉(zhuǎn)移寄存器75TS 由由T寄存器的寄存器的50位

12、所規(guī)定的移位數(shù)位所規(guī)定的移位數(shù)(-1631)76uns 無(wú)符號(hào)數(shù)無(wú)符號(hào)數(shù)77XF ST1中的外部標(biāo)志狀態(tài)位中的外部標(biāo)志狀態(tài)位78XPC 程序計(jì)數(shù)器擴(kuò)展寄存器程序計(jì)數(shù)器擴(kuò)展寄存器79Xmem 16 16位雙數(shù)據(jù)存儲(chǔ)器操作數(shù)位雙數(shù)據(jù)存儲(chǔ)器操作數(shù),用于雙數(shù)據(jù)操作數(shù)指令用于雙數(shù)據(jù)操作數(shù)指令 80Ymem 16 16位雙數(shù)據(jù)存儲(chǔ)器操作數(shù)位雙數(shù)據(jù)存儲(chǔ)器操作數(shù),用于雙數(shù)據(jù)操作數(shù)指用于雙數(shù)據(jù)操作數(shù)指 令和單數(shù)據(jù)操作指令令和單數(shù)據(jù)操作指令3.1.1 指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)序號(hào)序號(hào)符符 號(hào)號(hào)含含 義義81- - SP 堆棧指針值減

13、堆棧指針值減182+ + SP 堆棧指針值加堆棧指針值加183+ + PC 程序計(jì)數(shù)器值加程序計(jì)數(shù)器值加1 13.1.1 指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.1.1 指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符 指令系統(tǒng)中的運(yùn)算符號(hào)及優(yōu)先級(jí)如下列表中所示指令系統(tǒng)中的運(yùn)算符號(hào)及優(yōu)先級(jí)如下列表中所示序號(hào)序號(hào)符符 號(hào)號(hào)運(yùn)算功能運(yùn)算功能求值順序求值順序1+ - ! 取正、取負(fù)、按位求補(bǔ)、邏輯負(fù)取正、取負(fù)、按位求補(bǔ)、邏輯負(fù) 從右至左從右至左2* * / % 乘法、除法、求模乘法、除法、求模從左至右從左至右3+ -

14、加法、減法加法、減法從左至右從左至右4 指數(shù)指數(shù) 從左到右從左到右 5 左移、右移左移、右移從左至右從左至右6 大于、大于等于大于、大于等于從左至右從左至右8 != 不等于不等于從左至右從左至右第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)序號(hào)序號(hào)符符 號(hào)號(hào)運(yùn)算功能運(yùn)算功能求值順序求值順序8= 等于等于從左至右從左至右9& 按位與運(yùn)算(按位與運(yùn)算(AND)從左至右從左至右10 按位異或運(yùn)算(按位異或運(yùn)算(exclusive OR)從左至右從左至右11| 按位或運(yùn)算(按位或運(yùn)算(OR)從左至右從左至右3.1.1 指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符指令系統(tǒng)中的符號(hào)、縮寫(xiě)及操作符 本節(jié)以本節(jié)以L(fǎng)D

15、裝載指令為例,說(shuō)明指令的格式和其裝載指令為例,說(shuō)明指令的格式和其它一些有用信息。它一些有用信息。 匯編語(yǔ)法匯編語(yǔ)法操作數(shù)操作數(shù)指令代碼指令代碼執(zhí)行執(zhí)行狀態(tài)位狀態(tài)位說(shuō)明說(shuō)明指令字長(zhǎng)指令字長(zhǎng) 周期數(shù)周期數(shù) 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.1.2 匯編語(yǔ)言指令舉例匯編語(yǔ)言指令舉例第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2 尋址方式尋址方式 C54xC54x的尋址方式共有下列的尋址方式共有下列7 7種:種: 立即尋址立即尋址 絕對(duì)尋址絕對(duì)尋址 累加器尋址累加器尋址 直接尋址直接尋址 間接尋址間接尋址 存儲(chǔ)器映像寄存器尋址存儲(chǔ)器映像寄存器尋址 堆棧尋址堆棧尋址 立即尋址是指指令中

16、的操作數(shù)是一個(gè)立即尋址是指指令中的操作數(shù)是一個(gè)立即數(shù)立即數(shù),用用#表示表示??墒褂昧⒓磳ぶ返闹噶罴傲⒓磾?shù)的位數(shù)如下表所示:可使用立即尋址的指令及立即數(shù)的位數(shù)如下表所示:第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.1 立即尋址立即尋址3 3位或位或5 5位位立即數(shù)立即數(shù) 8 8位位立即數(shù)立即數(shù) 9 9位位立即數(shù)立即數(shù) 1616位位立即數(shù)立即數(shù) LD FRAME LD RPT LD ADD BITF OR ST ADDM CMPM ORM STM AND LD RPT SUB ANDM MAC RPTZ XOR XORM LD #4,DP ;4-DP 指令代碼:指令代碼:EA04h第第3章

17、章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.2 絕對(duì)尋址絕對(duì)尋址第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)絕對(duì)尋址是指指令中包含著絕對(duì)尋址是指指令中包含著操作數(shù)的地址操作數(shù)的地址。 絕對(duì)尋址有下列絕對(duì)尋址有下列4種類(lèi)型種類(lèi)型 :數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器(dmad)尋址尋址 程序存儲(chǔ)器程序存儲(chǔ)器(pmad)尋址尋址 I/O端口端口(PA)尋址尋址 *(lk)尋址尋址 相關(guān)指令如下表所示:相關(guān)指令如下表所示:第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.2 絕對(duì)尋址絕對(duì)尋址絕對(duì)尋址方式絕對(duì)尋址方式相關(guān)指令相關(guān)指令數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器(dmad)尋址尋址 MVDK Smem, dmad MVDM

18、 dmad, MMR MVKD dmad, Smem MVMD MMR, dmad 程序存儲(chǔ)器程序存儲(chǔ)器(pmad)尋址尋址 FIRS Xmem, Ymem, pmad MACD Smem, pmad, src絕對(duì)尋址的絕對(duì)尋址的地址,通常地址,通常用一個(gè)在程用一個(gè)在程序的初始化序的初始化中指定的地中指定的地址址標(biāo)號(hào)標(biāo)號(hào)或或符符號(hào)號(hào)來(lái)指明該來(lái)指明該數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器地址地址絕對(duì)尋址的絕對(duì)尋址的地址,通常地址,通常用一個(gè)在程用一個(gè)在程序的初始化序的初始化中指定的地中指定的地址址標(biāo)號(hào)標(biāo)號(hào)或或符符號(hào)號(hào)來(lái)指明該來(lái)指明該程序存儲(chǔ)器程序存儲(chǔ)器地址地址第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)絕對(duì)尋址方

19、式絕對(duì)尋址方式相關(guān)指令相關(guān)指令程序存儲(chǔ)器程序存儲(chǔ)器(pmad)尋址尋址 MACP Smem, pmad, src MVDP Smem, pmad MVPD pmad, SmemI/O端口端口(PA)尋址尋址 PORTR PA, Smem PORTW Smem, PA *(lk)尋址尋址 可用于所有支持單數(shù)據(jù)操作數(shù)(可用于所有支持單數(shù)據(jù)操作數(shù)(Smem) 的指令,通過(guò)的指令,通過(guò)*(lk)可以尋址數(shù)據(jù)空間的任可以尋址數(shù)據(jù)空間的任意地址意地址 3.2.2 絕對(duì)尋址絕對(duì)尋址絕對(duì)尋址的絕對(duì)尋址的地址,通常地址,通常用一個(gè)在程用一個(gè)在程序的初始化序的初始化中指定的地中指定的地址址標(biāo)號(hào)標(biāo)號(hào)或或符符號(hào)號(hào)來(lái)指

20、明該來(lái)指明該IO口地址口地址LD *(BUFFER),B 該指令的功能是指將標(biāo)號(hào)為該指令的功能是指將標(biāo)號(hào)為BUFFER的數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)存儲(chǔ)器單元的單元的內(nèi)容內(nèi)容送入累加器送入累加器B.LD *AR3,A 累加器尋址是將累加器A中的內(nèi)容(低16位)作為程序存儲(chǔ)器的地址,完成程序空間和數(shù)據(jù)空間的數(shù)據(jù)訪(fǎng)問(wèn)的一種方式。 有兩條指令采用這種尋址方式有兩條指令采用這種尋址方式 :第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.3 累加器尋址累加器尋址 累加器尋址指令累加器尋址指令解釋解釋READA Smem A中內(nèi)容為中內(nèi)容為程序存儲(chǔ)器地址程序存儲(chǔ)器地址,將,將 該地址中該地址中 的的數(shù)據(jù)數(shù)據(jù)送入送

21、入Smem指定指定 的數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)存儲(chǔ)器中WRITA Smem 將將Smem指定的數(shù)據(jù)存儲(chǔ)器中的內(nèi)指定的數(shù)據(jù)存儲(chǔ)器中的內(nèi) 容送入容送入A所指出的程序存儲(chǔ)器中所指出的程序存儲(chǔ)器中 直接尋址是指利用指令中的直接尋址是指利用指令中的地址偏移量地址偏移量dma與與數(shù)據(jù)頁(yè)指針數(shù)據(jù)頁(yè)指針DP或堆棧指針或堆棧指針SP組合,找到組合,找到數(shù)據(jù)空間數(shù)據(jù)空間中的一個(gè)中的一個(gè)16位地址位地址的方式。的方式。 直接尋址的表示方法直接尋址的表示方法是在符號(hào)或偏移量前加是在符號(hào)或偏移量前加。如。如LD 60h,A 指令代碼格式如下所示:指令代碼格式如下所示:第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.4 直

22、接尋址直接尋址 15 8 7 6 0 操操 作作 碼碼 I = 0 數(shù)據(jù)存儲(chǔ)器地址數(shù)據(jù)存儲(chǔ)器地址(dmad) 7位位直接尋址有兩種產(chǎn)生地址的方法,由直接尋址有兩種產(chǎn)生地址的方法,由ST1中的位中的位CPL來(lái)控制來(lái)控制CPL=0時(shí)時(shí) 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.4 直接尋址直接尋址 直接尋址直接尋址指指 令令158760操作碼操作碼I=0dmad頁(yè)指針頁(yè)指針DP( (位于位于ST0中中) )9位數(shù)據(jù)頁(yè)指針位數(shù)據(jù)頁(yè)指針DP高高9位位低低7位位16位數(shù)據(jù)位數(shù)據(jù)存儲(chǔ)器地址存儲(chǔ)器地址9位數(shù)據(jù)頁(yè)指針位數(shù)據(jù)頁(yè)指針DPdmad05110127可以訪(fǎng)問(wèn)可以訪(fǎng)問(wèn)64K的數(shù)據(jù)空間的數(shù)據(jù)空間C

23、PL=1時(shí)時(shí) 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.4 直接尋址直接尋址 低低7位位1616位數(shù)據(jù)位數(shù)據(jù)存儲(chǔ)器地址存儲(chǔ)器地址16位堆棧指針位堆棧指針SP堆棧指針堆棧指針SPSP+dmad直接尋址直接尋址指指 令令158760操作碼操作碼I=0dmad 間接尋址是指通過(guò)兩個(gè)輔助算術(shù)邏輯單元間接尋址是指通過(guò)兩個(gè)輔助算術(shù)邏輯單元ARAU0、ARAU1及及8個(gè)輔助寄存器個(gè)輔助寄存器AR0AR7,間接間接獲得獲得數(shù)據(jù)存儲(chǔ)器地址數(shù)據(jù)存儲(chǔ)器地址的方式。在這種方式下,的方式。在這種方式下,輔助寄存器的內(nèi)容輔助寄存器的內(nèi)容就是數(shù)據(jù)空間操作數(shù)的就是數(shù)據(jù)空間操作數(shù)的地址地址。 按照尋址目的可將間接尋址

24、分為: 單操作數(shù)尋址單操作數(shù)尋址 雙操作數(shù)尋址雙操作數(shù)尋址第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址 單操作數(shù)尋址單操作數(shù)尋址 單操作數(shù)間接尋址可以使用所有單操作數(shù)間接尋址可以使用所有8個(gè)輔助個(gè)輔助寄存器寄存器AR0AR7存放數(shù)據(jù)空間的存放數(shù)據(jù)空間的Smem地址地址,并具有,并具有16種不同的地址調(diào)整功能。種不同的地址調(diào)整功能。第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址單操作數(shù)尋址結(jié)構(gòu)圖如下所示:?jiǎn)尾僮鲾?shù)尋址結(jié)構(gòu)圖如下所示:第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址CAB、DAB、EAB負(fù)責(zé)傳送負(fù)責(zé)傳送數(shù)

25、據(jù)存儲(chǔ)器地址數(shù)據(jù)存儲(chǔ)器地址CB、DB、EB負(fù)責(zé)傳送負(fù)責(zé)傳送讀讀/寫(xiě)數(shù)據(jù)寫(xiě)數(shù)據(jù)循環(huán)緩循環(huán)緩沖區(qū)長(zhǎng)沖區(qū)長(zhǎng)度寄存度寄存器器相對(duì)位置相對(duì)位置輔助寄輔助寄存器指存器指針針輔助算術(shù)邏輔助算術(shù)邏輯運(yùn)算單元輯運(yùn)算單元第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址 單操作數(shù)尋址單操作數(shù)尋址 地址存放情況及地址調(diào)整功能共地址存放情況及地址調(diào)整功能共16種:種: 操作句法操作句法功功 能能說(shuō)說(shuō) 明明 * * ARx 地址地址=ARxARx ARx的內(nèi)容為數(shù)據(jù)存儲(chǔ)器地址的內(nèi)容為數(shù)據(jù)存儲(chǔ)器地址 * * + +ARx ARxARx=ARx+1ARx+1 地址地址=ARxARx ARx中的地址加中

26、的地址加1后,再尋址后,再尋址 * * ARx- - 地址地址=ARxARx ARx ARx=ARx-1ARx-1 尋址結(jié)束后,尋址結(jié)束后,ARx地址減地址減1 * * ARx+ 地址地址=ARxARx ARx ARx=ARx+1ARx+1 尋址結(jié)束后,尋址結(jié)束后,ARx地址加地址加1 * * ARx- -0 地址地址=ARxARx ARx ARx=ARx-AR0ARx-AR0 尋址結(jié)束后尋址結(jié)束后, ,從從ARx中減去中減去AR0的值的值第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址 單操作數(shù)尋址單操作數(shù)尋址操作句法操作句法功功 能能說(shuō)說(shuō) 明明 * * ARx+0

27、地址地址 = ARx ARx=ARx+AR0 尋址結(jié)束后,把尋址結(jié)束后,把AR0加到加到ARx 中中 * * ARx- -0B 地址地址=ARxARx ARx ARx=B(ARx-AR0)B(ARx-AR0) 尋址結(jié)束后,用位倒序進(jìn)位的尋址結(jié)束后,用位倒序進(jìn)位的 方法從方法從ARx中減去中減去AR0的值的值 * * ARx+0B 地址地址=ARxARx ARx ARx=B(ARx+AR0)B(ARx+AR0) 尋址結(jié)束后,用位倒序進(jìn)位的尋址結(jié)束后,用位倒序進(jìn)位的 方法將方法將 AR0加到加到ARx中中 * * ARx- -% 地址地址=ARxARx ARx ARx=Circ(ARx-1)Cir

28、c(ARx-1) 尋址結(jié)束后,尋址結(jié)束后,ARx中的地址值中的地址值 按循環(huán)減的方法減按循環(huán)減的方法減1 * * ARx+% 地址地址=ARxARx ARx ARx=Circ(ARx+1)Circ(ARx+1) 尋址結(jié)束后,尋址結(jié)束后,ARx中的地址值中的地址值 按循環(huán)加的方法加按循環(huán)加的方法加1第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址 單操作數(shù)尋址單操作數(shù)尋址操作句法操作句法功功 能能說(shuō)說(shuō) 明明 * * ARx- -0% 地址地址=ARxARx ARx ARx=Circ(ARx-AR0)Circ(ARx-AR0) 尋址結(jié)束后,按循環(huán)減的方法從尋址結(jié)束后,按循環(huán)

29、減的方法從 ARx中減去中減去AR0中的值中的值 * * ARx+0% 地址地址=ARx=ARx ARx ARx=Circ(ARx+AR0)=Circ(ARx+AR0) 尋址結(jié)束后,按循環(huán)加的方法尋址結(jié)束后,按循環(huán)加的方法 將將AR0中的值加到中的值加到ARx * * ARx( (lk) 地址地址=ARx+lk=ARx+lk ARx ARx=ARx=ARx 以以ARx與與16位數(shù)之和作為地址,位數(shù)之和作為地址, 尋址結(jié)束后,尋址結(jié)束后,ARx中的值不變中的值不變 * * +ARx( (lk) 地址地址=ARx+lkARx+lk ARxARx=ARx+lkARx+lk 將一個(gè)將一個(gè)16位帶符號(hào)數(shù)

30、加到位帶符號(hào)數(shù)加到ARx, 然后尋址然后尋址 * * ARx( (lk) )% 地址地址=Circ(ARx+lkCirc(ARx+lk) ) ARxARx=Circ(ARx+lkCirc(ARx+lk) ) 將一個(gè)將一個(gè)16位帶符號(hào)數(shù)按循環(huán)加的位帶符號(hào)數(shù)按循環(huán)加的 方法加至方法加至ARx,然后再尋址,然后再尋址 * * ( (lk) ) 地址地址=(lk(lk) ) 利用利用16位無(wú)符號(hào)數(shù)作為地址位無(wú)符號(hào)數(shù)作為地址, ,尋尋 址數(shù)據(jù)存儲(chǔ)器址數(shù)據(jù)存儲(chǔ)器位反向?qū)ぶ肺环聪驅(qū)ぶ?位反向?qū)ぶ肥菍?zhuān)門(mén)為快速傅立葉變換位反向?qū)ぶ肥菍?zhuān)門(mén)為快速傅立葉變換FFT而而設(shè)計(jì)的設(shè)計(jì)的。4位二進(jìn)制數(shù)的原始地址與位反向地址位

31、二進(jìn)制數(shù)的原始地址與位反向地址的對(duì)應(yīng)關(guān)系如下表所示:的對(duì)應(yīng)關(guān)系如下表所示:第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址正常順序正常順序原始地址原始地址位反向地址位反向地址位反向順序位反向順序00000000001000110008200100100430011110012401000010250101101010601100110670111111014位反向?qū)ぶ肺环聪驅(qū)ぶ?第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址正常順序正常順序原始地址原始地址位反向地址位反向地

32、址位反向順序位反向順序81000000119100110019101010010151110111101131211000011313110110111114111001117151111111115位反向?qū)ぶ肺环聪驅(qū)ぶ?第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址循環(huán)尋址循環(huán)尋址 目的:提高運(yùn)算速度目的:提高運(yùn)算速度 算法如下:算法如下: If 0 偏移量偏移量+步長(zhǎng)步長(zhǎng) BK; 偏移量偏移量= =偏移量偏移量+ +步長(zhǎng);步長(zhǎng);Else if 偏移量偏移量+步長(zhǎng)步長(zhǎng) BK; 偏移量偏移量= =偏移量偏移量+ +步長(zhǎng)步長(zhǎng)- -BK;Else if 偏移量偏移量+步長(zhǎng)

33、步長(zhǎng) 0; 偏移量偏移量= =偏移量偏移量+ +步長(zhǎng)步長(zhǎng)+ +BK。地址指針可由地址指針可由低向高增值變低向高增值變化,當(dāng)增至最化,當(dāng)增至最高地址時(shí),能高地址時(shí),能夠自動(dòng)返回最夠自動(dòng)返回最低地址;或由低地址;或由高減量變化,高減量變化,當(dāng)減至最低地當(dāng)減至最低地址時(shí),可自動(dòng)址時(shí),可自動(dòng)返回最高地址。返回最高地址。第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址循環(huán)尋址循環(huán)尋址 循環(huán)尋址示意圖如下所示:循環(huán)尋址示意圖如下所示: 循環(huán)緩沖區(qū)長(zhǎng)循環(huán)緩沖區(qū)長(zhǎng)度寄存器度寄存器雙操作數(shù)尋址雙操作數(shù)尋址 雙操作數(shù)尋址結(jié)構(gòu)圖如下所示:雙操作數(shù)尋址結(jié)構(gòu)圖如下所示: 第第3章章 匯編語(yǔ)言指令

34、系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.5 間接尋址間接尋址雙操作數(shù)尋址雙操作數(shù)尋址 雙操作數(shù)尋址有雙操作數(shù)尋址有4種地址存放情況和地址調(diào)整功能種地址存放情況和地址調(diào)整功能 :操作碼語(yǔ)法操作碼語(yǔ)法功功 能能 說(shuō)說(shuō) 明明 * * ARx地址地址=ARxARx中的內(nèi)容是數(shù)據(jù)存儲(chǔ)中的內(nèi)容是數(shù)據(jù)存儲(chǔ)器地址器地址 * * ARx-地址地址=ARxARx=ARx-1尋址后,尋址后,ARx的地址減的地址減1 1 * * ARx+地址地址=ARxARx=ARx+1尋址后,尋址后,ARx的地址加的地址加1 1 * * ARx+0%地址地址=ARxARx

35、=circ(ARx+AR0)尋址后,尋址后,AR0以循環(huán)尋址以循環(huán)尋址方式加到方式加到ARx中去中去 存儲(chǔ)器映像寄存器尋址是一種直接訪(fǎng)問(wèn)存儲(chǔ)器存儲(chǔ)器映像寄存器尋址是一種直接訪(fǎng)問(wèn)存儲(chǔ)器映像寄存器映像寄存器MMR的方式,可以用來(lái)修改的方式,可以用來(lái)修改MMR的的值。值。 有有8條指令可以使用存儲(chǔ)器映像寄存器尋址:條指令可以使用存儲(chǔ)器映像寄存器尋址: 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.6 存儲(chǔ)器映像寄存器尋址存儲(chǔ)器映像寄存器尋址第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.6 存儲(chǔ)器映像寄存器尋址存儲(chǔ)器映像寄存器尋址存儲(chǔ)器存儲(chǔ)器映像映像寄存器寄存器尋址尋址 堆棧尋址用于進(jìn)行數(shù)

36、據(jù)或者堆棧尋址用于進(jìn)行數(shù)據(jù)或者M(jìn)MR的入棧和出棧的入棧和出棧操作。操作。 C54X堆棧是下拉式堆棧,即入棧時(shí)地址堆棧是下拉式堆棧,即入棧時(shí)地址值減小,而出棧時(shí)地址值增加。堆棧指針是值減小,而出棧時(shí)地址值增加。堆棧指針是16位位的存儲(chǔ)器映像寄存器的存儲(chǔ)器映像寄存器SP,它,它總是指向棧頂位置總是指向棧頂位置。 下列下列4條指令使用堆棧尋址:條指令使用堆棧尋址: 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.2.7 堆棧尋址堆棧尋址堆堆棧棧尋尋址址 PSHD Smem PSHM MMR POPD Smem POPM MMR C54x的匯編語(yǔ)言指令集共有的匯編語(yǔ)言指令集共有129條基本指令,條基本

37、指令, 按完成的功能可以分為按完成的功能可以分為6類(lèi):類(lèi):第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.3 C54x系列系列DSP的指令系統(tǒng)的指令系統(tǒng) 數(shù)據(jù)存取指令數(shù)據(jù)存取指令 算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令 邏輯運(yùn)算指令邏輯運(yùn)算指令 控制程序控制程序轉(zhuǎn)移轉(zhuǎn)移指令指令 重復(fù)操作指令重復(fù)操作指令 并行操作指令并行操作指令 本節(jié)只介紹非并行的數(shù)據(jù)存取指令,包括本節(jié)只介紹非并行的數(shù)據(jù)存取指令,包括 :第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.3.1 數(shù)據(jù)存取指令數(shù)據(jù)存取指令 加載指令加載指令 存儲(chǔ)指令存儲(chǔ)指令 32位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令 混合加載和存儲(chǔ)混合加載和存儲(chǔ)指

38、令指令以累加器以累加器A或或B為目標(biāo)操作數(shù)的為目標(biāo)操作數(shù)的LD指令指令 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 加載指令加載指令 以累加器以累加器A或或B為為目標(biāo)操作數(shù)目標(biāo)操作數(shù)的的LD指令指令 例例3.11 LD *AR3, A 1)當(dāng))當(dāng)SXM=0時(shí),進(jìn)行無(wú)符號(hào)數(shù)的加載時(shí),進(jìn)行無(wú)符號(hào)數(shù)的加載 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 加載指令加載指令 指令執(zhí)行前指令執(zhí)行前 A 00 0000 0000 SXM 0 AR3 0200數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0200H 95A6 指令執(zhí)行后指令執(zhí)行后 A 00 0000 95A6 SXM 0 AR3 0200數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 020

39、0H 95A6例例3.11 LD *AR3, A 2)當(dāng))當(dāng)SXM=1時(shí),進(jìn)行有符號(hào)數(shù)的加載時(shí),進(jìn)行有符號(hào)數(shù)的加載 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 加載指令加載指令 指令執(zhí)行前指令執(zhí)行前 A 00 0000 0000 SXM 1 AR3 0200數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0200H 95A6 指令執(zhí)行后指令執(zhí)行后 A FF FFFF 95A6 SXM 1 AR3 0200數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0200H 95A6例例3.11 LD A, 4, B 1)當(dāng))當(dāng)OVM=0時(shí),對(duì)溢出不進(jìn)行處理,僅通過(guò)時(shí),對(duì)溢出不進(jìn)行處理,僅通過(guò)OVB=1反映溢出反映溢出 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)

40、言指令系統(tǒng) 加載指令加載指令 指令執(zhí)行前指令執(zhí)行前 A 00 7FFF 8000 B 00 0000 FFFF OVB 0 OVM 0 指令執(zhí)行后指令執(zhí)行后 A 00 7FFF 8000 B 07 FFF8 0000 OVB 1 OVM 0例例3.11 LD A, 4, B 2)當(dāng))當(dāng)OVM=1時(shí),對(duì)溢出進(jìn)行處理時(shí),對(duì)溢出進(jìn)行處理第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 加載指令加載指令 指令執(zhí)行前指令執(zhí)行前 A 00 7FFF 8000 B 00 0000 FFFF OVB 0 OVM 0 指令執(zhí)行后指令執(zhí)行后 A 00 7FFF 8000 B 00 7FFF FFFF OVB 1 OV

41、M 1以暫存器以暫存器T或或ST0、ST1的的DP、ASM及及ARP字字段為目標(biāo)操作數(shù)的段為目標(biāo)操作數(shù)的LD指令指令 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 加載指令加載指令 以暫存器以暫存器T或或ST0、ST1的的DP、ASM及及ARP字段為目標(biāo)字段為目標(biāo)操作數(shù)的操作數(shù)的LD指令指令 例例3.13 LD 0,ASM第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 加載指令加載指令 ASM 00 DP 0 數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0180H 1234 指令執(zhí)行前指令執(zhí)行前 指令執(zhí)行后指令執(zhí)行后 ASM 14 DP 003 數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0180H 1234 為為MMR賦值的指令賦值的指

42、令 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 存儲(chǔ)指令存儲(chǔ)指令 為為MMR賦值的指令賦值的指令 MMR = src(15-0),將累加器的,將累加器的 低低16位送入位送入MMR,是,是1字字1周期周期 指令。指令。STM #lk, MMR; MMR = #lk,將長(zhǎng)立即數(shù)送入,將長(zhǎng)立即數(shù)送入 MMR,是,是2字字2周期指令。周期指令。例例 3.14 STLM A, *AR2 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 存儲(chǔ)指令存儲(chǔ)指令 指令執(zhí)行前指令執(zhí)行前 A 00 1234 5678 AR2 73F5 AR5(15h) 3F69 指令執(zhí)行后指令執(zhí)行后 A 00 1234 5678 A

43、R2 0075 AR5 5678 例例 3.15 STM #1357H, *AR4+ 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 存儲(chǔ)指令存儲(chǔ)指令 指令執(zhí)行前指令執(zhí)行前 AR0 0000 AR4 8010 指令執(zhí)行后指令執(zhí)行后 AR0 1357 AR4 0011 例例 3.16 STM #2468H, 60H 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 存儲(chǔ)指令存儲(chǔ)指令 指令執(zhí)行前指令執(zhí)行前 0060H 0000 指令執(zhí)行后指令執(zhí)行后 0060H 2468 STH和和STL指令指令 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 存儲(chǔ)指令存儲(chǔ)指令 STH和和 STL指令指令 STH src,

44、 Smem將將AH或或BH內(nèi)容送入內(nèi)容送入Smem STH src, ASM, Smem STH src, SHFT, Xmem STH src , SHIFT , Smem STL src, Smem STL src, ASM, Smem STL src, SHFT, Xmem STL src , SHIFT, Smem 例例 3.17 設(shè)累加器設(shè)累加器(A)=FF 9876 5432H STL A,8,da 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 存儲(chǔ)指令存儲(chǔ)指令 (da)=3200H STL A,-8,da STH A,8,da STH A,-16,da STH A,-8,da (

45、da)=7654H (da)=7654H (da)=FF98H (da)=00FFH (SXM=0) STH A,-16,da (da)=FFFFH (SXM=1) 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 32位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令及數(shù)據(jù)存放格式位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令及數(shù)據(jù)存放格式 32位位 長(zhǎng)操作數(shù)長(zhǎng)操作數(shù) 的加載、的加載、 存儲(chǔ)指令存儲(chǔ)指令 及數(shù)據(jù)及數(shù)據(jù) 存放格式存放格式DLD Lmem, dst 在單周期內(nèi)同時(shí)利用在單周期內(nèi)同時(shí)利用CAB、CB和和DAB、DB總線(xiàn)將總線(xiàn)將32位位Lmem 讀入累加器。是讀入累加器。是1字字1周期指令。周期指令。DST src, Lmem 兩

46、次使用兩次使用EAB、EB總線(xiàn)將累加器的內(nèi)容總線(xiàn)將累加器的內(nèi)容分別寫(xiě)入高分別寫(xiě)入高16位和低位和低16 位數(shù)據(jù)存儲(chǔ)器。是位數(shù)據(jù)存儲(chǔ)器。是1字字2周期指令。周期指令。 例例3-18 存放格式對(duì)數(shù)據(jù)存儲(chǔ)的影響存放格式對(duì)數(shù)據(jù)存儲(chǔ)的影響 DST B, *AR3+1)偶地址存放)偶地址存放第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 32位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令及數(shù)據(jù)存放格式位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令及數(shù)據(jù)存放格式 指令執(zhí)行前指令執(zhí)行前 B FF 8421 1234 AR3 0100數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0100H 0000 0101H 0000 指令執(zhí)行后指令執(zhí)行后 B 00 6CAC BD90 A

47、R3 0102數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0100H 6CAC 0101H BD90第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 32位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令及數(shù)據(jù)存放格式位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令及數(shù)據(jù)存放格式 2)奇地址存放)奇地址存放 指令執(zhí)行前指令執(zhí)行前 B 00 6CAC BD90 AR3 0101數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0100H 0000 0101H 0000 指令執(zhí)行后指令執(zhí)行后 B 00 6CAC BD90 AR3 0102數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0100H BD90 0101H 6CAC例例3-19 存放格式對(duì)數(shù)據(jù)存儲(chǔ)的影響存放格式對(duì)數(shù)據(jù)存儲(chǔ)的影響 DLD *AR3+, B1)偶地

48、址存放)偶地址存放第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 32位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令及數(shù)據(jù)存放格式位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令及數(shù)據(jù)存放格式 指令執(zhí)行前指令執(zhí)行前 B 00 6CAC BD90 AR3 0102數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0100H 6CAC 0101H BD90 指令執(zhí)行后指令執(zhí)行后 B 00 0000 0000 AR3 0100數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0100H 6CAC 0101H BD90第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 32位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令及數(shù)據(jù)存放格式位長(zhǎng)操作數(shù)的加載、存儲(chǔ)指令及數(shù)據(jù)存放格式 2)奇地址存放)奇地址存放 指令執(zhí)行前指令執(zhí)行前 B

49、 00 0000 0000 AR3 0101數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0100H 6CAC 0101H BD90 指令執(zhí)行后指令執(zhí)行后 B 00 BD90 6CAC AR3 0103數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器 0100H 6CAC 0101H BD90 C54x的算術(shù)運(yùn)算指令包括:的算術(shù)運(yùn)算指令包括:第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)3.3.2 算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令基本算術(shù)運(yùn)算指令基本算術(shù)運(yùn)算指令 特殊運(yùn)算指令特殊運(yùn)算指令 雙字雙字(32位位)算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令 乘累加和乘累減指令乘累加和乘累減指令 第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 基本算術(shù)運(yùn)算指令基本算術(shù)運(yùn)算指令加法指

50、令加法指令操作操作字?jǐn)?shù)字?jǐn)?shù)周期數(shù)周期數(shù) ADD ADD SmemSmem , , srcsrc src src=srcsrc+SmemSmem 1 1 ADD ADD SmemSmem , TS, TS,srcsrc src src=srcsrc+SmemSmemTSTS 1 1 ADD ADD SmemSmem ,16,16 , ,srcsrc,dstdst dst dst=srcsrc+SmemSmem1616 1 1 ADD ADD SmemSmem,SHIFT,SHIFT,srcsrc,dstdst dst dst=srcsrc+SmemSmem SHIFTSHIFT 2 2 ADD

51、ADD XmemXmem ,SHFT,SHFT , ,srcsrc src src=srcsrc+XmemXmem SHFTSHFT 1 1 ADD ADD XmemXmem , ,YmemYmem , ,dstdst dst dst=XmemXmem1616+YmemYmem1616 1 1 ADD ADD # #lk k,SHFT,SHFT,srcsrc,dstdst dst dst=srcsrc+#lk SHFTSHFT 2 2 ADD ADD # #lk k,16,16,srcsrc,dstdst dst dst=srcsrc+#lk 1616 2 2 ADD ADD srcsrc,S

52、HIFT,SHIFT,dstdst dst dst=dstst+srcsrc SHIFTSHIFT 1 2 ADD ADD srcsrc,ASM,ASM,dstdst dst dst=dstst+srcsrc A ASMSM 1 1 ADDC ADDC SmemSmem , , srcsrc src src=srcsrc+SmemSmem+C+C 1 1 ADDM # ADDM #lk k, , SmemSmem Smem Smem=SmemSmem+#lk 2 2 ADDS ADDS SmemSmem , , srcsrc src src=srcsrc+uns(SmemSmem) ) 1 1

53、第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)減法指令減法指令操作操作字?jǐn)?shù)字?jǐn)?shù)周期數(shù)周期數(shù) SUB SUB SmemSmem , , srcsrc src src=srcsrc-SmemSmem 1 1 SUB SUB SmemSmem , TS, TS,srcsrc src src=src-Smemsrc-SmemTSTS 1 1 SUB SUB SmemSmem ,16,16 , ,srcsrc,dstdst dst dst=srcsrc- -SmemSmem1616 1 1 SUB SUB SmemSmem,SHIFT,SHIFT,srcsrc,dstdst dst dst=srcsrc-

54、 -SmemSmem SHIFTSHIFT 2 2 SUB SUB XmemXmem ,SHFT,SHFT , ,srcsrc src src=srcsrc- -XmemXmem SHFTSHFT 1 1 SUB SUB XmemXmem , ,YmemYmem , ,dstdst dst dst=XmemXmem16-16-YmemYmem1616 1 1 SUB SUB # #lk k,SHFT,SHFT,srcsrc,dstdst dst dst=src-src-#lk SHFTSHFT 2 2 SUB SUB # #lk k,16,16,srcsrc,dstdst dst dst=sr

55、c-src-#lk 1616 2 2 SUB SUB srcsrc,SHIFT,SHIFT,dstdst dst dst=dst-srcst-src SHIFTSHIFT 1 1 SUB SUB srcsrc,ASM,ASM,dstdst dst dst=dst-srcst-src A ASMSM 1 1 SUBB SUBB SmemSmem , , srcsrc src src=src-Smemsrc-Smem-C-C 1 1 SUBC SUBC SmemSmem , , srcsrc If( If(src-Smemsrc-Smem0, src src=(src-Smemsrc-Smem15

56、)15)1+11+1 Else Else srcsrc=srcsrc1 1 1 1 SUBS SUBS SmemSmem , , srcsrc src src=src-src-uns(SmemSmem) ) 1 1 基本算術(shù)運(yùn)算指令基本算術(shù)運(yùn)算指令第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng)乘法指令乘法指令操作操作字?jǐn)?shù)字?jǐn)?shù)周期數(shù)周期數(shù) MPY MPY SmemSmem , , dstdst dst dst=T T* *SmemSmem 1 1 MPYR MPYR SmemSmem , , dstdst dst dst=rnd(T T* *SmemSmem) ) 1 1 MPY MPY Xmem

57、Xmem , ,YmemYmem , ,dstdst dst dst= XmemXmem * *Ymem,TYmem,T=Xmem=Xmem 1 1 MPY MPY SmemSmem ,#,#lk , ,dstdst dst dst= SmemSmem * *#lk ,T=Smem,T=Smem 2 2 MPY # MPY #lk , ,dstdst dst dst= T T* *#lk 2 2 MPYA MPYA dstdst dst dst=T T* *A A(32-16)(32-16) 1 1 MPYA MPYA SmemSmem B B= SmemSmem* *A A(32-16)(3

58、2-16),T=Smem,T=Smem 1 1 MPYU MPYU SmemSmem , , dstdst dst dst=uns(T T) )* *uns(uns(SmemSmem) ) 1 1 SQUR SQUR SmemSmem , , dstdst dst dst= SmemSmem * *SmemSmem ,T=Smem ,T=Smem 1 1 SQUR SQUR A A , , dstdst dst dst=A A(32-16)(32-16)* *A A(32-16)(32-16) 1 1 基本算術(shù)運(yùn)算指令基本算術(shù)運(yùn)算指令第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 特殊運(yùn)算指令特

59、殊運(yùn)算指令特殊運(yùn)算指令特殊運(yùn)算指令操作操作字?jǐn)?shù)字?jǐn)?shù)周期數(shù)周期數(shù) ABDST ABDST XmemXmem , , YmemYmem B B = B B + | |A A(32-16)|(32-16)|, , A A = ( (Xmem-YmemXmem-Ymem) )1616 1 1 ABS ABS srcsrc , ,dstdst dst dst = | |srcsrc | | 1 1 CMPL CMPL srcsrc , ,dstdst dst dst = srcsrc 1 1 DELAY DELAY SmemSmem ( (SmemSmem +1)+1)= SmemSmem 1 1 EX

60、P EXP srcsrc T T = 帶符號(hào)數(shù)帶符號(hào)數(shù)( (srcsrc)-8)-8 1 1 FIRS FIRS XmemXmem , ,YmemYmem , , PmadPmad B B = B B A A* *PmadPmad, , A A = ( (XmemXmem+ +YmemYmem) )1616 2 3 LMS LMS XmemXmem , ,YmemYmem B B = B B + XmemXmem * *YmemYmem, , A A = ( (A A + +XmemXmem1616)+2)+21515 1 1第第3章章 匯編語(yǔ)言指令系統(tǒng)匯編語(yǔ)言指令系統(tǒng) 特殊運(yùn)算指令特殊運(yùn)算指令特殊運(yùn)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論