數(shù)據(jù)的尋址方式_第1頁
數(shù)據(jù)的尋址方式_第2頁
數(shù)據(jù)的尋址方式_第3頁
數(shù)據(jù)的尋址方式_第4頁
數(shù)據(jù)的尋址方式_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、乘法指令1.輸入來源數(shù)據(jù)存儲器數(shù)據(jù)、A(16-32)、T2.輸出:累加器;3. A作為輸入時(shí),使用MPYA4.其他乘法指令,累加器A用來存儲結(jié)果的5. 缺省乘數(shù)為T中的數(shù)據(jù)6. T不參與運(yùn)算,將第一操作數(shù)T7.乘法結(jié)果受小數(shù)方式位FRCT影響,當(dāng)FRCT=1時(shí),乘法 結(jié)果左移一位,否則不做處理。MPY DATA3, AMPYA DATA3,B 例:12數(shù)據(jù)尋址方式 C54x DSP提供了7種數(shù)據(jù)尋址方式: 立即數(shù)尋址: 操作數(shù)是一個(gè)立即數(shù),包含在指令中; 立即數(shù)表示方法:應(yīng)在數(shù)值或符號前面加一個(gè)“”號 例如:LD 80H, A 絕對尋址: 指令中有一個(gè)16位的有效地址; C54x DSP提供了

2、四種類型的絕對尋址。 數(shù)據(jù)存儲器地址(dmad)尋址: 指令中16位的有效地址為數(shù)據(jù)存儲空間的地址。3 程序存儲器地址(pmad)尋址:指令中16位的有效地址為程序存儲空間的地址。 端口地址(PA)尋址:指令中16位的有效地址為外部的端口地址。PORTRPA,SmemPORTW Smem,PA 長立即數(shù) *(Ik)尋址指令中16位的有效地址為數(shù)據(jù)存儲空間地址。41. MVDK DAT10,8000H 例: MVDP DAT0,0FE00H 3. PORTR 05,INDAT;INDAT .equ 60H 5 累加器尋址: 把累加器內(nèi)的內(nèi)容作為地址去訪問程序存儲器的一個(gè)單元;(A) PmemRE

3、ADA Smem WRITA Smem 直接尋址 指令中的7 bit是一個(gè)數(shù)據(jù)頁內(nèi)的偏移地址,Dmem的 實(shí)際地址由基地址DP/SP和偏移地址共同決定的。 Dmem實(shí)際地址 = DP(9)偏移地址(7) SP(16) + 偏移地址(7)6 CPL=0: DP(9)偏移地址(7) CPL=1: SP(16) + 偏移地址(7) 采用哪種方式來產(chǎn)生實(shí)際地址位于ST1中的編譯方式位(CPL)決定。圖4.1 以DP為基地址的直接尋址7圖4.2 以SP為基地址的直接尋址8 間接尋址按照輔助寄存器中的地址訪問存儲器; 數(shù)據(jù)存儲空間的地址 (ARx) Dmem * (ARx)增量、減量、偏移或變址的修改,還

4、可以提 供循環(huán)和位反轉(zhuǎn)尋址9表4.8 單操作數(shù)間接尋址類型10 (2) 雙操作數(shù)間接尋址雙數(shù)據(jù)存儲器操作數(shù)間接尋址類型:*ARx、*ARx-、*ARx+、*ARx+0%。所用輔助寄存器只能是AR2、AR3、AR4、AR5。其特點(diǎn)是:占用程序空間小,運(yùn)行速度快,在一個(gè)機(jī)器周期內(nèi)通過兩個(gè)16位數(shù)據(jù)總線(C和D)讀兩個(gè)操作數(shù)。指令中Xmem表示從DB總線上讀出的16位操作數(shù),Ymem表示從CB總線上讀出的16位操作數(shù)。 11 存儲器映射寄存器尋址 這種尋址方式用來修改存儲器映射寄存器的內(nèi)容 存儲器映射寄存器尋址可以在直接尋址和間接尋 址中使用。 MMR的地址產(chǎn)生方法為: 將16位的有效地址高9位清0

5、。 例如: AR1 .set FF25H STLM src,*AR112* LDM MMR,dst* MVDM dmad,MMR* MVMD MMR,dmad* MVMM MMRx,MMRy* POPM MMR* PSHM MMR* STLM src,MMR* STM #1k,MMRC54x DSP只有8條指令能使用存儲器映射寄存器的尋址方式13 堆棧尋址 PSHD:將數(shù)據(jù)存儲器的一個(gè)值壓入堆棧; PSHM:將存儲器映射寄存器的一個(gè)值壓入堆棧; POPD:將數(shù)據(jù)存儲器的一個(gè)值彈出堆棧; POPM:將存儲器映射寄存器的一個(gè)值彈出堆棧。4條指令采用了堆棧尋址的方式來訪問堆棧14ST #0 x014

6、4, DATA10STM #0 x0421, TSTM A,*AR1+執(zhí)行指令之前(AR1)=0321H,執(zhí)行指令ST T,*AR1-后,(AR1)= 。直接尋址中,基地址可由 或SP來確定。15計(jì)算 。 .title“sum.asm” .mmregs (1).bssy,1STM#x,AR2STM#9,AR3LD#0, Aloop:(2)BANZloop, *AR3-(3)ADD*AR1+,A STLA, y.bss x,1016對數(shù)組z8=11,14,55,66,54,34,73,70進(jìn)行初始化。.title “Initialization.asm”.mmregsSTACK:.usect“S

7、TACK”,10H.bssz,8(1)table:.word11,14,55,66,54,34,73,70.def.textstart:STM#z,AR1 (2)(3)end: B end (4) RPT #7MVPD table, *AR1+.data .end17計(jì)算y=mx+n。.title“y= mx+n.asm”.mmregsSTACK:.usect“STACK”,10H.bssm,1.bssx,1.bssn,1.bssy,1.defstart.datatable:.word2,33,78(1)18start:STM#0,SWWSR(2)STM#m,AR2RPT#2MVPDtable

8、,*AR2+CALLSCend:BendSC:STM#m,AR3STM#x,AR5 (3) ADDn, A STLA, y RET .endSTM #stack+10H,SPMPY *AR3 ,*AR5,A19計(jì)算y=a1x1+a4x4 .title example5.asm .mmregs stack .usect STACK, 10H .bss a, 4 (1) .bss y,1 .def start .data table: .word 3,15,20 .text start: STM #0,SWWSR ;插入0個(gè)等待狀態(tài) STM #stack+10H,SP ;設(shè)置堆棧指針 STM #a,AR1 ;AR1指向a20 (2) MVPD table,*AR1+ (3) end: B end SU: LD #a ,AR3 MPY #x ,AR4 RPTZ A,#3 (4) STL A,y

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論