第4講-第3章TMS320C55x指令系統(tǒng)-尋址方式3.1_第1頁
第4講-第3章TMS320C55x指令系統(tǒng)-尋址方式3.1_第2頁
第4講-第3章TMS320C55x指令系統(tǒng)-尋址方式3.1_第3頁
第4講-第3章TMS320C55x指令系統(tǒng)-尋址方式3.1_第4頁
第4講-第3章TMS320C55x指令系統(tǒng)-尋址方式3.1_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第第3章章 TMS320C55x 的指令系統(tǒng)的指令系統(tǒng)(第第4講講)3.1 尋址方式尋址方式3.1.1 絕對(duì)尋址絕對(duì)尋址3.1.2 直接尋址直接尋址3.1.3 間接尋址間接尋址3.1.8 循環(huán)尋址循環(huán)尋址2表表3-1 指令中用到的語法元素指令中用到的語法元素語法元素語法元素含含 義義Smema single word (16 bits)來自來自數(shù)據(jù)空間數(shù)據(jù)空間、I/O空間空間或或存儲(chǔ)器映射寄存器存儲(chǔ)器映射寄存器的的16位位數(shù)據(jù)數(shù)據(jù)Lmema long word (32 bits)來自來自數(shù)據(jù)空間數(shù)據(jù)空間或或存儲(chǔ)器映射寄存器存儲(chǔ)器映射寄存器的的32位位數(shù)數(shù)據(jù)據(jù)Xmem和和Ymem同時(shí)來自同時(shí)來

2、自數(shù)據(jù)空間數(shù)據(jù)空間的兩個(gè)的兩個(gè)16位位數(shù)據(jù)數(shù)據(jù)Cmem來自內(nèi)部來自內(nèi)部數(shù)據(jù)空間數(shù)據(jù)空間的的16位位數(shù)據(jù)數(shù)據(jù)Baddr累加器累加器AC0AC3、輔助寄存器、輔助寄存器AR0AR7、暫存器暫存器T0T3的的位域位域,對(duì)位域的置,對(duì)位域的置1、清、清0、測(cè)試、求補(bǔ)等位運(yùn)算用到該語法元素測(cè)試、求補(bǔ)等位運(yùn)算用到該語法元素33.1.1 絕對(duì)尋址絕對(duì)尋址絕絕對(duì)對(duì)尋尋址址方方式式 含含 義義 k16 絕絕對(duì)對(duì)尋尋址址方方式式 該該尋尋址址方方式式使使用用 7 位位的的 DPH 和和 16 位位的的無無符符號(hào)號(hào)立立即即數(shù)數(shù)組組成成一一個(gè)個(gè) 23 位位的的數(shù)數(shù)據(jù)據(jù)空空間間地地址址,可可用用于于訪訪問問存存儲(chǔ)儲(chǔ)器器

3、空空間間和和存存儲(chǔ)儲(chǔ)器器映映射射寄寄存存器器 k23 絕絕對(duì)對(duì)尋尋址址方方式式 該該尋尋址址方方式式使使用用 23 位位的的無無符符號(hào)號(hào)立立即即數(shù)數(shù)作作為為數(shù)數(shù)據(jù)據(jù)空空間間地地址址,可可用用于于訪訪問問存存儲(chǔ)儲(chǔ)器器空空間間和和存存儲(chǔ)儲(chǔ)器器映映射射寄寄存存器器 I/O 絕絕對(duì)對(duì)尋尋址址方方式式 該該尋尋址址方方式式使使用用 16 位位無無符符號(hào)號(hào)立立即即數(shù)數(shù)作作為為 I/O 空空間間地地址址,可可用用于于尋尋址址 I/O 空空間間 表表3-2 3-2 絕對(duì)尋址方式絕對(duì)尋址方式4(1) k16絕對(duì)尋址絕對(duì)尋址 格式格式 *abs16(#k16) 其中:其中:k16是一個(gè)是一個(gè)16位位無符號(hào)無符號(hào)常

4、數(shù)常數(shù) 要點(diǎn)要點(diǎn) 常數(shù)常數(shù)k16被固定譯碼為被固定譯碼為2個(gè)字節(jié)擴(kuò)充到指令中個(gè)字節(jié)擴(kuò)充到指令中 采用這種尋址方式的指令采用這種尋址方式的指令不能不能與其它指令與其它指令并行執(zhí)行并行執(zhí)行5圖圖3-1 k16絕對(duì)尋址方式絕對(duì)尋址方式 6 例例3-1:數(shù)據(jù)存儲(chǔ)器尋址,設(shè):數(shù)據(jù)存儲(chǔ)器尋址,設(shè)DPH=03h(1) MOV *abs16(#2002h),T2 ;#k16=2002h ;CPU從從03 2002h處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T2(2) MOV dbl(*abs16(#2002h), pair(T2);#k16=2002h, #k16+1=2003h ;CPU從從03 2002h和和03 20

5、03h處讀取數(shù)據(jù)處讀取數(shù)據(jù),裝入裝入T2和和T37 例例3-8,*abs16(#k16) 用于用于MMR尋址尋址 MOV *abs16(#AR2), T2;DPH:k16=00 0012h(AR2的地址為的地址為00 0012h);CPU從從00 0012h處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T28(2) k23絕對(duì)尋址絕對(duì)尋址 格式格式 *(#k23) 其中:其中:k23是一個(gè)是一個(gè)無符號(hào)無符號(hào)的的23位位常數(shù)常數(shù) 要點(diǎn)要點(diǎn) 無符號(hào)常數(shù)無符號(hào)常數(shù)k23被固定譯碼為被固定譯碼為3個(gè)字節(jié)個(gè)字節(jié) 其中第三個(gè)字節(jié)的最高位被忽略其中第三個(gè)字節(jié)的最高位被忽略 不能與其它指令并行執(zhí)行不能與其它指令并行執(zhí)行 不能用

6、于重復(fù)指令中不能用于重復(fù)指令中9圖圖3-2 k23絕對(duì)尋址方式絕對(duì)尋址方式10 例例3-2,*(#k23) 用于數(shù)據(jù)存儲(chǔ)器尋址用于數(shù)據(jù)存儲(chǔ)器尋址(1) MOV *(#032002h),T2 ;k23=03 2002h;CPU從從03 2002h處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T2(2) MOV dbl(*(#032002h),pair(T2);k23=03 2002h,k23+1=03 2003h;CPU從從03 2002h和和03 2003h處讀取數(shù)據(jù)處讀取數(shù)據(jù),裝入裝入T2和和T311 例例3-9,* (#k23) 用于用于MMR尋址尋址MOV * (#AR2), T2;k23=00 0012

7、h(AR2的地址為的地址為00 0012h);CPU從從00 0012h處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T212(3) I/O絕對(duì)尋址絕對(duì)尋址 操作數(shù)格式操作數(shù)格式 port(#k16) 其中,其中,k16是一個(gè)是一個(gè)16位位無符號(hào)無符號(hào)立即數(shù)立即數(shù)圖圖3-3 I/O3-3 I/O絕對(duì)尋址方式絕對(duì)尋址方式13 例例3-14, port(#k16) 用于對(duì)用于對(duì)I/O空間的尋址空間的尋址(1) MOV port(#2),AR2 ;CPU從從I/O 地址地址0002h讀取數(shù)據(jù)進(jìn)讀取數(shù)據(jù)進(jìn)AR2(2) MOV AR2,port(#0F000h) ;CPU把把AR2的數(shù)據(jù)輸出到的數(shù)據(jù)輸出到I/O 地址地址

8、0F000h143.1.2 直接尋址直接尋址15 DP直接尋址方式和直接尋址方式和SP直接尋址方式直接尋址方式 相互排斥相互排斥的,只能有一種方式存在的,只能有一種方式存在 通過設(shè)置通過設(shè)置ST1_55的的CPL位位選擇選擇(見課本(見課本P43) 寄存器位直接尋址和寄存器位直接尋址和PDP直接尋址直接尋址不受不受CPL位的影響位的影響16(1) DP直接尋址直接尋址17 例例3-3,Daddr用于數(shù)據(jù)存儲(chǔ)器尋址,用于數(shù)據(jù)存儲(chǔ)器尋址, 設(shè)設(shè)DPH=03h,DP=0000h(1) MOV 0005h,T2 ;DPH:(DP+Doffset)=03:(0000h+0005h)=03 0005h;C

9、PU從從03 0005h處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T2(2) MOV dbl(0005h),pair(T2) ;DPH:(DP+Doffset)=03 0005h;DPH:(DP+Doffset1)=03 0004h;CPU從從03 0005h和和03 0004h處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T2和和T318 例例3-10,Daddr用于用于MMR尋址尋址 DPH=DP=00h,CPL=0MOV mmap(AC0L), AR2 ;DPH:(DP+Doffset)= 00:(0000h+0008h)=00 0008h;CPU從從00 0008h處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入AR219每個(gè)每個(gè) “s

10、ub-page” 有有 128 wordsDP 是每個(gè)是每個(gè)“sub-page”里的基地指針里的基地指針20表表3-5 計(jì)算偏移地址的方法計(jì)算偏移地址的方法21(2) SP直接尋址直接尋址注意:注意:主數(shù)據(jù)頁中的堆棧只能占用主數(shù)據(jù)頁中的堆棧只能占用00 0060h00 0060h00 FFFFh00 FFFFh中中的空間。因?yàn)榈目臻g。因?yàn)?0 0000h00 0000h00 005Fh00 005Fh是是保留給存儲(chǔ)映保留給存儲(chǔ)映射寄存器射寄存器用的。用的。22 例例3-4,*SP(offset)用于數(shù)據(jù)存儲(chǔ)器尋址用于數(shù)據(jù)存儲(chǔ)器尋址 設(shè)設(shè)SPH = 0,SP = FF00h(1) MOV *SP

11、(5),T2;SPH:(SP+offset)=00 FF05h;CPU從從00 FF05h 處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T2(2) MOV dbl(*SP(5), pair(T2);SPH:(SP+offset)=00 FF05h;SPH:(SP+offset1)=00 FF04h;CPU從從00 FF05h和和00 FF04h處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T2和和T323(3) 寄存器寄存器位位直接尋址直接尋址 操作數(shù)中的偏移操作數(shù)中的偏移bitoffset是是相對(duì)相對(duì)于寄存器于寄存器最低位最低位來說的來說的 僅能訪問下列寄存器的各位僅能訪問下列寄存器的各位 AC0AC3,AR0AR7,T0T

12、3 相關(guān)指令僅有相關(guān)指令僅有 寄存器位測(cè)試寄存器位測(cè)試/設(shè)置設(shè)置/清零清零/求補(bǔ)等求補(bǔ)等24 例例3-12,bitoffset用于對(duì)寄存器用于對(duì)寄存器位位的尋址的尋址(1) BSET 0,AC3 ;CPU 將將AC3的位的位0置為置為1(2) BTSTP 30,AC3;CPU把把AC3的位的位30和位和位31分別復(fù)制到分別復(fù)制到;狀態(tài)寄存器狀態(tài)寄存器ST0_55的位的位TC1和和TC225(4) PDP直接尋址直接尋址26 外設(shè)數(shù)據(jù)頁寄存器(外設(shè)數(shù)據(jù)頁寄存器(PDP), 9位位 選取選取512個(gè)個(gè)外設(shè)外設(shè)數(shù)據(jù)頁(數(shù)據(jù)頁(0511)中的一頁)中的一頁 每頁有每頁有128個(gè)字(個(gè)字(0127)指令

13、中指定的一個(gè)指令中指定的一個(gè)7 位的偏移(位的偏移(Poffset) 使用時(shí)必須用使用時(shí)必須用port( )限定詞限定詞 指定要訪問的指定要訪問的是是I/O空間空間,而,而不是不是數(shù)據(jù)存儲(chǔ)單元數(shù)據(jù)存儲(chǔ)單元 port()限定詞的括號(hào)內(nèi)是要讀或?qū)懙牟僮鲾?shù)限定詞的括號(hào)內(nèi)是要讀或?qū)懙牟僮鲾?shù)27 例例3-15,Poffset用于對(duì)用于對(duì)I/O空間的尋址空間的尋址設(shè)設(shè)PDP=511(1) MOV port(0),T2 ;PDP:Poffset=FF80h;CPU從從FF80h讀取數(shù)據(jù)進(jìn)讀取數(shù)據(jù)進(jìn)T2(2) MOV T2,port(127);PDP:Poffset=FFFFh;CPU把把T2的的數(shù)據(jù)輸出到數(shù)

14、據(jù)輸出到I/O地址地址0FFFFh283.1.3 間接尋址間接尋址291. AR間接尋址間接尋址表表3-7 AR間接尋址方式時(shí)間接尋址方式時(shí)AR的內(nèi)容的內(nèi)容30(1) AR間接尋址數(shù)據(jù)空間間接尋址數(shù)據(jù)空間ARnH不能不能單獨(dú)裝入單獨(dú)裝入31ST2_55 的的 AR7LC AR0LC(見課本(見課本P46)0 線性尋址,線性尋址,1 循環(huán)尋址循環(huán)尋址例例3-5,*ARn用于數(shù)據(jù)存儲(chǔ)器尋址用于數(shù)據(jù)存儲(chǔ)器尋址 設(shè)設(shè)ARn工作在工作在線性線性尋址狀態(tài)尋址狀態(tài)(1) MOV *AR4, T2; AR4H:AR4 = XAR4;CPU從從XAR4處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T2(2) MOV dbl(*A

15、R4), pair(T2) ;第一個(gè)地址為第一個(gè)地址為XAR4;如果如果XAR4為偶數(shù)為偶數(shù),則第二個(gè)地址則第二個(gè)地址XAR4+1;如果如果XAR4為奇數(shù)為奇數(shù),則第二個(gè)地址為則第二個(gè)地址為XAR4-1;CPU從從XAR4和和XAR4+1(或或XAR4-1)處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T2和和T332(2) AR間接尋址寄存器位間接尋址寄存器位ARn為為0,則訪問寄存器的最低位,則訪問寄存器的最低位33ST0_55 的的 TC1和和TC2(見課本)(見課本)測(cè)試測(cè)試/控制控制位位保存一些特殊指令的測(cè)試結(jié)果保存一些特殊指令的測(cè)試結(jié)果 例例3-13,*ARn用于對(duì)寄存器位的尋址用于對(duì)寄存器位的尋址

16、設(shè)設(shè)AR0=0,AR5=30(1) BSET *AR0,AC3 ;CPU 將將AC3的位的位0置為置為1(2) BTSTP *AR5,AC3;CPU把把AC3的位的位30和位和位31分別復(fù)制到分別復(fù)制到;狀態(tài)寄存器狀態(tài)寄存器ST0_55的位的位TC1和和TC234(3) AR間接尋址間接尋址I/O空間空間 訪問訪問I/O空間空間 16位的地址位的地址 ARn:完整的:完整的I/O空間地址空間地址35 例例3-16,*ARn 用于對(duì)用于對(duì)I/O空間的尋址空間的尋址 設(shè)設(shè)AR4= FF80h, AR5= FFFFh(1) MOV port(*AR4), T2 ;CPU從從FF80h讀取數(shù)據(jù)進(jìn)讀取數(shù)

17、據(jù)進(jìn)T2(2) MOV T2,port(*AR5) ;CPU把把T2的數(shù)據(jù)輸出到的數(shù)據(jù)輸出到I/O 地址地址0FFFFh36(4) AR間接尋址操作數(shù)間接尋址操作數(shù) AR間接尋址方式的尋址間接尋址方式的尋址操作數(shù)類型操作數(shù)類型受受ST2_55狀狀態(tài)寄存器中態(tài)寄存器中ARMS位(見課本位(見課本P47)的影響的影響表表3-8 DSP3-8 DSP模式和控制模式選擇模式和控制模式選擇37 注意:注意: 指針修改和地址產(chǎn)生可以是線性的或循環(huán)的指針修改和地址產(chǎn)生可以是線性的或循環(huán)的 根據(jù)根據(jù)ST2_55寄存器的指針配置而定寄存器的指針配置而定AR7LC AR0LC:0 線性尋址,線性尋址,1 循環(huán)尋址

18、循環(huán)尋址 見課本見課本P46 循環(huán)尋址時(shí),循環(huán)尋址時(shí),16位的緩沖區(qū)起始地址寄存器位的緩沖區(qū)起始地址寄存器(BSA01、BSA23、BSA45、BSA67)的內(nèi)容被)的內(nèi)容被加到相應(yīng)的指針上加到相應(yīng)的指針上 指針間的加法和減法以指針間的加法和減法以64K為模,為模,38 例例3-6,*(ARn+T0)用于數(shù)據(jù)存儲(chǔ)器尋址用于數(shù)據(jù)存儲(chǔ)器尋址 設(shè)設(shè)ARn工作在工作在線性線性尋址狀態(tài)尋址狀態(tài)(1) MOV *(AR4+T0),T2;AR4H:AR4=XAR4;CPU從從XAR4處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T2,然后然后AR4=AR4+T0(2) MOV dbl(*(AR4+T0),pair(T2);第

19、一個(gè)地址為第一個(gè)地址為XAR4;如果如果XAR4為為偶數(shù)偶數(shù),則第二個(gè)地址,則第二個(gè)地址XAR4+1;如果如果XAR4為為奇數(shù)奇數(shù),則第二個(gè)地址為,則第二個(gè)地址為XAR4-1;CPU從從XAR4和和XAR4+1(或或XAR4-1)處讀取數(shù)據(jù)裝入處讀取數(shù)據(jù)裝入T2和和T3;然后然后AR4=AR4+T0392. 雙雙AR間接尋址間接尋址 通過通過8個(gè)個(gè)ARn中的中的兩個(gè)兩個(gè)寄存器訪問寄存器訪問兩個(gè)兩個(gè)數(shù)據(jù)存儲(chǔ)器地址數(shù)據(jù)存儲(chǔ)器地址 使用情況使用情況 執(zhí)行執(zhí)行一個(gè)一個(gè)指令,同時(shí)訪問兩個(gè)指令,同時(shí)訪問兩個(gè)16位數(shù)據(jù)存儲(chǔ)器位數(shù)據(jù)存儲(chǔ)器 ADD Xmem,Ymem,ACx 并行并行執(zhí)行執(zhí)行兩個(gè)兩個(gè)指令,每個(gè)

20、指令訪問一個(gè)數(shù)據(jù)存儲(chǔ)器指令,每個(gè)指令訪問一個(gè)數(shù)據(jù)存儲(chǔ)器 MOV Smem,dstAND Smem,src,dst 注意事項(xiàng):同注意事項(xiàng):同AR間接尋址方式間接尋址方式403. CDP間接尋址間接尋址表表3-12 訪問空間與訪問空間與CDP的關(guān)系的關(guān)系41(1) CDP間接尋址數(shù)據(jù)空間間接尋址數(shù)據(jù)空間42(2) CDP間接尋址寄存器位間接尋址寄存器位 寄存器寄存器僅限于僅限于 累加器(累加器(AC0AC3) 輔助寄存器(輔助寄存器(AR0AR7) 暫存器(暫存器(T0T3)圖圖3-12 CDP間接尋址寄存器位間接尋址寄存器位43(3) CDP間接尋址間接尋址I/O空間空間 訪問訪問I/O空間時(shí)空

21、間時(shí) 16位的位的CDP包含了完整的包含了完整的I/O空間地址空間地址44(4) CDP間接尋址操作數(shù)間接尋址操作數(shù) 注意:注意: 指針修改或地址產(chǎn)生可以是指針修改或地址產(chǎn)生可以是線性的線性的,也可以,也可以是是循環(huán)循環(huán)的,的,取決于取決于ST2_55中的指針配置中的指針配置 CDPLC:0 線性尋址,線性尋址,1 循環(huán)尋址循環(huán)尋址 見課本見課本P47 使用循環(huán)尋址時(shí),使用循環(huán)尋址時(shí),16位緩沖區(qū)起始地址寄存器位緩沖區(qū)起始地址寄存器(BSAC)的內(nèi)容被加到相應(yīng)指針上)的內(nèi)容被加到相應(yīng)指針上 CDP指針的修改以指針的修改以64K取模,取模,只有修改只有修改CDPH才能跨主才能跨主數(shù)據(jù)頁尋址數(shù)據(jù)頁

22、尋址45表表3-13 CDP間接操作數(shù)間接操作數(shù) 464. 系數(shù)間接尋址系數(shù)間接尋址 與與CDP間接尋址方式相同的地址產(chǎn)生方式間接尋址方式相同的地址產(chǎn)生方式 存儲(chǔ)空間數(shù)據(jù)移動(dòng)存儲(chǔ)空間數(shù)據(jù)移動(dòng)/初始化以及算術(shù)指令初始化以及算術(shù)指令支持支持系數(shù)間接尋系數(shù)間接尋址方式址方式u有限沖擊響應(yīng)濾波器有限沖擊響應(yīng)濾波器u乘法運(yùn)算乘法運(yùn)算u乘加運(yùn)算乘加運(yùn)算u乘減運(yùn)算乘減運(yùn)算u雙乘加運(yùn)算和雙乘減運(yùn)算雙乘加運(yùn)算和雙乘減運(yùn)算47 主要用于主要用于 一個(gè)周期內(nèi)對(duì)一個(gè)周期內(nèi)對(duì)三個(gè)三個(gè)存儲(chǔ)器操作數(shù)存儲(chǔ)器操作數(shù)進(jìn)行操作的指令進(jìn)行操作的指令 Xmem和和Ymem雙雙AR間接尋址間接尋址 Cmem系數(shù)間接尋址方式系數(shù)間接尋址方式 例如:例如: MPY Xmem,Cmem,ACx :MPY Ymem,Cmem,ACy 其中,其中,Cmem位于與

溫馨提示

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

評(píng)論

0/150

提交評(píng)論